Overview

  • Slot 하나를 읽어온 후, qualification condition 과 projection 을 처리해 반환한다.

Line Ref

  • L160-L169: Qualification condition 혹은 projection 등에 대한 expression 정보를 query plan tree node (SeqScanState) 에서 가져온다.
  • L173-L181: Qualification condition 와 projection 이 모두 없다면, #define ResetExprContext() macro 를 호출해 이전의 context data 를 전부 지운 후 ExecScanFetch 을 호출해 다음 Slot 을 받아 반환한다.
  • L183-L254: Slot 을 하나 받아 qualification condition 과 projection 을 처리한다.
    • L183-L187: 마찬가지로 #define ResetExprContext() macro 를 호출해 이전의 context data 를 전부 지운다.
    • L189-L253: Slot 을 받은 뒤 qualification condition 과 projection 을 처리하는 for loop 이다.
      • L195-L197: ExecScanFetch 를 호출해 slot 을 받는다.
      • L199-L211: 받은 slot 이 NULL 이라면, 이때는 더 이상 slot 이 없다는 소리이다.
      • L213-L216: Context 에 slot 정보를 추가한다.
      • L218-L245: Qualification condition 을 검사한 후, 부합한다면 아래의 과정을 거친다.
        • L227-L237: Projection 이 필요하다면, ExecProject 을 호출해 projection 을 처리한다.
        • L238-L244: Projection 이 필요 없다면 바로 slot 을 반환한다.
      • L246-L252: Qualification condition 이 부합하지 않는다면, 다시 context data 를 비워준 후 for loop 으로 다시 처음으로 돌아갈 수 있게 한다.