vi src/backend/executor/execTuples.c +942
Overview §
Line Ref §
- L945-L954: 만약 TTS_FLAG_SHOULDFREE라면, 인자로 받아 결과물을 담아 caller 에게 전달해줄slot을 비우는 작업을 한다.
- L949-L950: slot의 buffer 는 unpin 되어 있어야 한다. 지금은 안쓰는 buffer 이기 때문.
- L952-L953: Tuple 을 free 해주고 TTS_FLAG_SHOULDFREEflag 를 꺼준다.
 
- L956-L960: 인자로 받은 값들을 이용해 slot의 값들을 채워준다.
- L962-L990: slot의 buffer 와 새로 읽어온 buffer 가 같은지 다른지 확인해 그에 맞는 처리를 해준다.
- L975-L976: 만약 다른데 slot의 buffer 가 valid 하다면, 그놈을 unpin 해준다.
- L978: 그리고 slot의 buffer 를 새로 읽어온 buffer 로 해준 뒤
- L980-L981: Pinning 을 해준다.
- L989: 만약 같다면, caller 가 다시 pinning 해주는게 더 좋다고 한다. 그래서 일단 여기서는 unpinning 한다.