젠 토토 : 문서 : 9.6 : 젠 토토 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.6 : 사용자 지정 토토 핫 계획 만들기 | PostgreSQL : 문서 : 9.6 : 사용자 정의 토토 캔 제공자 작성 | 57 장. 사용자 정의 젠 토토 제공자 작성 | PostgreSQL : 문서 : 9.6 : 유전자 사설 토토 옵티마이저 |
aCustomScan실행되고, 실행 상태는 A로 표시됩니다.CustomScanstate, 다음과 같이 선언됩니다.
typedef struct customscanstate ScanState SS; UINT32 플래그; Const CustomeXecMethods *메소드; customscanstate;
SS젠 토토이 기본 관계가 아닌 조인을위한 경우를 제외하고 다른 젠 토토 상태와 같이 초기화됩니다.ss.ss_currentrelation가 남은 상태입니다.플래그|CustomPathandCustomScan. Methods필요한 사용자 정의 젠 토토 상태 메소드를 구현하는 (일반적으로 정적으로 할당 된) 객체를 가리켜야합니다. 일반적으로 aCustomScanstate, 지원할 필요가없는CopyObject
, 실제로 위의 첫 번째 멤버로 위의 더 큰 구조가 될 것입니다.
void ( *begincustomscan) (CustomsCanstate *노드, 부동산 *부동산, int eflags);
제공된 초기화 완료CustomScanstate. 표준 필드는에 의해 초기화되었습니다.execinitCustomScan
, 그러나 모든 개인 필드는 여기에서 초기화되어야합니다.
tupletablesLot *( *execcustomScan) (CustomCscanState *노드);
다음 젠 토토 튜플 가져 오기. 튜플이 남아 있으면 채워야PS_RESULTTUPLESLOT현재 젠 토토 방향의 다음 튜플을 사용한 다음 튜플 슬롯을 반환합니다. 그렇지 않다면null또는 빈 슬롯을 반환해야합니다.
void ( *endCustomScan) (CustomCscanState *노드);
|CustomScanstate. 이 방법이 필요하지만 관련 데이터가 없거나 자동으로 정리 될 경우 아무것도 할 필요는 없습니다..
void ( *rescancustomScan) (CustomCscanState *노드);
현재 젠 토토을 시작으로 되 돌리고 관계를 구제 할 준비를합니다.
void ( *markposcustomScan) (CustomCsCanstate *노드);
다음에 의해 복원 될 수 있도록 현재 젠 토토 위치를 저장SectoscustomScan
콜백. 이 콜백은 선택 사항이며 인 경우에만 제공해야합니다.custompath_support_mark_restore플래그가 설정되었습니다.
void ( *sectoscustomScan) (customscanstate *node);
이전 젠 토토 위치를 복원하여MarkposcustomScan
콜백. 이 콜백은 선택 사항이며 인 경우에만 제공해야합니다.custompath_support_mark_restore플래그가 설정되었습니다.
size ( *prosedsmcustomScan) (CustomCscanstate *노드, ParallelContext *pcxt);
병렬 작업에 필요한 동적 공유 메모리의 양을 추정하십시오. 이것은 실제로 사용될 금액보다 높을 수 있지만 더 낮아서는 안됩니다. 반환 값은 바이트입니다. 이 콜백은 선택 사항 이며이 사용자 지정 젠 토토 제공자가 병렬 실행을 지원하는 경우에만 제공해야합니다.
void ( *InitializedSmcustomScan) (CustomCscanstate *노드, ParallelContext *pcxt, 무효 *좌표);
병렬 작동에 필요한 동적 공유 메모리 초기화;좌표ret추정 된 SMCUSTOMSCAN
. 이 콜백은 선택 사항 이며이 사용자 지정 젠 토토 제공자가 병렬 실행을 지원하는 경우에만 제공해야합니다.
void ( *initializeworkercustomScan) (CustomInScanstate *노드, shm_toc *toc, 무효 *좌표);
|초기화 된 SMCUSTOMSCAN. 이 콜백은 선택 사항 이며이 사용자 지정 경로가 병렬 실행을 지원하는 경우에만 제공됩니다.
void ( *expliccustomScan) (customscanstate *노드, 목록 *조상, 설명 *es);
추가 정보 출력설명사용자 정의 젠 토토 계획 노드. 이 콜백은 선택 사항입니다. 에 저장된 공통 데이터ScanState, 예를 들어 대상 목록 및 젠 토토 관계와 같은이 콜백 없이도 표시되지만 콜백은 추가 개인 상태를 표시 할 수 있습니다..
PostgreSQL : 문서 : 9.6 : 사용자 지정 토토 핫 계획 만들기 | 젠 토토 : 문서 : 9.6 : 젠 토토 9.6.24 문서화 | PostgreSQL : 문서 : 9.6 : 유전자 사설 토토 옵티마이저 |
사용자 정의 젠 토토 계획 만들기 | PostgreSQL : 문서 : 9.6 : 사용자 정의 토토 캔 제공자 작성 | Genetic Query Optimizer |