91 tlistvarno = scanrelid;
143 (
errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
144 errmsg(
"custom scan \"%s\" does not support MarkPos",
154 (
errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
155 errmsg(
"custom scan \"%s\" does not support MarkPos",
#define Assert(condition)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
ExprState * ExecInitQual(List *qual, PlanState *parent)
void ExecAssignScanProjectionInfoWithVarno(ScanState *node, int varno)
const TupleTableSlotOps TTSOpsVirtual
void ExecInitScanTupleSlot(EState *estate, ScanState *scanstate, TupleDesc tupledesc, const TupleTableSlotOps *tts_ops)
void ExecInitResultTupleSlotTL(PlanState *planstate, const TupleTableSlotOps *tts_ops)
TupleDesc ExecTypeFromTL(List *targetList)
void ExecAssignExprContext(EState *estate, PlanState *planstate)
Relation ExecOpenScanRelation(EState *estate, Index scanrelid, int eflags)
#define CHECK_FOR_INTERRUPTS()
void ExecCustomScanInitializeDSM(CustomScanState *node, ParallelContext *pcxt)
void ExecShutdownCustomScan(CustomScanState *node)
void ExecCustomScanEstimate(CustomScanState *node, ParallelContext *pcxt)
CustomScanState * ExecInitCustomScan(CustomScan *cscan, EState *estate, int eflags)
void ExecCustomRestrPos(CustomScanState *node)
void ExecReScanCustomScan(CustomScanState *node)
void ExecCustomScanReInitializeDSM(CustomScanState *node, ParallelContext *pcxt)
void ExecEndCustomScan(CustomScanState *node)
void ExecCustomScanInitializeWorker(CustomScanState *node, ParallelWorkerContext *pwcxt)
void ExecCustomMarkPos(CustomScanState *node)
static TupleTableSlot * ExecCustomScan(PlanState *pstate)
#define castNode(_type_, nodeptr)
#define RelationGetDescr(relation)
void shm_toc_insert(shm_toc *toc, uint64 key, void *address)
void * shm_toc_allocate(shm_toc *toc, Size nbytes)
void * shm_toc_lookup(shm_toc *toc, uint64 key, bool noError)
#define shm_toc_estimate_chunk(e, sz)
#define shm_toc_estimate_keys(e, cnt)
void(* BeginCustomScan)(CustomScanState *node, EState *estate, int eflags)
TupleTableSlot *(* ExecCustomScan)(CustomScanState *node)
void(* EndCustomScan)(CustomScanState *node)
void(* ShutdownCustomScan)(CustomScanState *node)
void(* ReInitializeDSMCustomScan)(CustomScanState *node, ParallelContext *pcxt, void *coordinate)
void(* InitializeDSMCustomScan)(CustomScanState *node, ParallelContext *pcxt, void *coordinate)
void(* RestrPosCustomScan)(CustomScanState *node)
Size(* EstimateDSMCustomScan)(CustomScanState *node, ParallelContext *pcxt)
void(* MarkPosCustomScan)(CustomScanState *node)
void(* InitializeWorkerCustomScan)(CustomScanState *node, shm_toc *toc, void *coordinate)
void(* ReScanCustomScan)(CustomScanState *node)
Node *(* CreateCustomScanState)(CustomScan *cscan)
const struct TupleTableSlotOps * slotOps
const struct CustomExecMethods * methods
const struct CustomScanMethods * methods
shm_toc_estimator estimator
ExecProcNodeMtd ExecProcNode
Relation ss_currentRelation