집행자계획을 돌려줍니다 Planner/Optimizer에 의해 상단 스포츠 토토를 처리하기 시작합니다. 에서 예제의 경우 (예제에 제공된 쿼리 \ ref simple_select) 상단 스포츠 토토는입니다.mergejoin스포츠 토토.
병합을 수행하기 전에 두 개의 튜플을 가져와야합니다 (하나는 하나 각 하위 플랜에서). 따라서 집행자는 재귀 적으로 스스로를 부릅니다 하위 계획을 처리합니다 (첨부 된 하위 플랜으로 시작합니다LeftTree). 새로운 상단 스포츠 토토 (상단 스포츠 토토 왼쪽 하위 플랜의)는입니다.Seqscan노드 및 노드 자체가 될 수 있기 전에 다시 튜플을 가져와야합니다. 가공. 집행자는 다른 시간을 재귀 적으로 호출합니다 첨부 된 하위 비행LeftTree의Seqscan스포츠 토토.
이제 새로운 상단 스포츠 토토는입니다.sort스포츠 토토. 처럼 전체 관계에 대해 정렬을해야하며, 집행자는 시작합니다. 티플 가져 오기Sort스포츠 토토 하위 비행을하고 일시적인 관계로 분류합니다 (메모리 또는 파일)시기정렬스포츠 토토를 방문했습니다 처음. (추가 검사Sort노드는 항상 하나의 튜플 만 반환합니다 정렬 된 임시 관계.)
처리 할 때마다Sort스포츠 토토가 필요합니다. 새로운 튜플이 필요합니다Seqscan하위 플랜으로 첨부 된 스포츠 토토. 그만큼 관계 (내부적으로에 주어진 값에 의해 내부 참조scanrelidField)가 다음을 위해 스캔되었습니다 튜플. 튜플이 나무가주는 자격을 만족시키는 경우 첨부qpqual뒤로 물러서서, 그렇지 않으면 다음 튜플이 자격이 될 때까지 가져옵니다. 만족하는. 관계의 마지막 튜플이 처리 된 경우NULL포인터가 반환됩니다.
튜플이 후퇴 한 후LeftTree의mergejointheRightTree동일하게 처리됩니다 방법. 두 튜플이 모두 존재하면 집행자가 처리합니다.Mergejoin스포츠 토토. 새로운 튜플이있을 때마다 하위 플랜 중 하나는 집행자에게 재귀적인 호출이 필요합니다. 그것을 얻기 위해 수행되었습니다. 결합 된 튜플을 만들 수 있다면 뒤로 물러서서 플랜 트리의 완전한 처리는 완성된.
이제 설명 된 단계는 튜플마다 한 번 수행됩니다. a까지null포인터가 반환됩니다 처리mergejoin스포츠 토토, 우리가 끝났음을 나타냅니다.