그집행자인도된 계획을 돌려받음 플래너/옵티마이저에 의해 최상위 배트맨 토토 처리를 시작합니다. 에서 우리 예의 경우(예에 주어진 쿼리 \refsimple_select) 최상위 배트맨 토토는 aMergeJoin배트맨 토토.
병합이 완료되기 전에 두 개의 튜플을 가져와야 합니다(하나는 각 하위 계획에서). 따라서 실행자는 재귀적으로 자신을 호출합니다. 하위 계획을 처리합니다(하위 계획이 첨부된 것으로 시작됩니다).왼쪽나무). 새로운 최상위 배트맨 토토(최상위 배트맨 토토 왼쪽 하위 계획의)는 aSeqScan노드 및 다시 한번 노드 자체를 가져오기 전에 튜플을 가져와야 합니다. 처리됨. 실행자는 자신을 재귀적으로 다른 시간에 호출합니다. 다음에 첨부된 하위 계획왼쪽나무의SeqScan배트맨 토토.
이제 새로운 최상위 배트맨 토토는 a정렬배트맨 토토. 다음과 같이 전체 관계에 대해 정렬이 수행되어야 하며 실행자가 시작됩니다. 에서 튜플을 가져오는 중입니다.정렬배트맨 토토의 하위 계획을 세우고 이를 임시 관계(메모리 또는 파일) 때정렬노드를 다음 동안 방문했습니다. 처음으로. (추가 조사)정렬노드는 항상 다음 중 하나의 튜플만 반환합니다. 임시 관계를 정렬했습니다.)
다음을 처리할 때마다정렬배트맨 토토에는 실행자가 재귀적으로 호출되는 새로운 튜플이 필요합니다.SeqScan배트맨 토토가 하위 계획으로 연결되었습니다. 는 관계(내부적으로 주어진 값으로 참조됨)스캔렐리드필드)는 다음 필드를 스캔합니다. 튜플. 튜플이 트리에서 부여한 자격을 충족하는 경우 첨부됨qpqual그것은 돌려받았고, 그렇지 않으면 자격이 충족될 때까지 다음 튜플을 가져옵니다. 만족합니다. 관계의 마지막 튜플이 처리된 경우 aNULL포인터가 반환되었습니다.
튜플이 다음에 의해 반환된 후왼쪽나무의MergeJoin그오른쪽나무동일하게 처리됩니다. 방법. 두 튜플이 모두 존재하는 경우 실행자는 다음을 처리합니다.MergeJoin배트맨 토토. 새로운 튜플이 나올 때마다 하위 계획 중 하나가 필요합니다. 실행자에 대한 재귀 호출은 다음과 같습니다. 그것을 얻기 위해 수행되었습니다. 조인된 튜플을 생성할 수 있는 경우 다시 전달되고 계획 트리의 한 번의 완전한 처리가 완료되었습니다. 끝났습니다.
이제 설명된 단계는 모든 튜플에 대해 한 번씩 수행됩니다. a까지NULL포인터가 다음에 대해 반환됩니다. 처리 중MergeJoin배트맨 토토, 끝났음을 나타냅니다.