92 tlistvarno = scanrelid;
147 (
errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
148 errmsg(
"custom scan \"%s\" does not support MarkPos",
158 (
errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
159 errmsg(
"custom scan \"%s\" does not support MarkPos",
#define IsA(nodeptr, _type_)
void ExecInitScanTupleSlot(EState *estate, ScanState *scanstate)
#define RelationGetDescr(relation)
void ExecCustomScanInitializeWorker(CustomScanState *node, shm_toc *toc)
shm_toc_estimator estimator
TupleTableSlot * ExecClearTuple(TupleTableSlot *slot)
Node *(* CreateCustomScanState)(CustomScan *cscan)
int errcode(int sqlerrcode)
TupleTableSlot * ss_ScanTupleSlot
void(* ReScanCustomScan)(CustomScanState *node)
Relation ss_currentRelation
#define shm_toc_estimate_chunk(e, sz)
Size(* EstimateDSMCustomScan)(CustomScanState *node, ParallelContext *pcxt)
void ExecFreeExprContext(PlanState *planstate)
void ExecAssignResultTypeFromTL(PlanState *planstate)
const struct CustomExecMethods * methods
void ExecAssignScanProjectionInfoWithVarno(ScanState *node, Index varno)
TupleTableSlot * ExecCustomScan(CustomScanState *node)
void ExecCustomRestrPos(CustomScanState *node)
TupleTableSlot * ps_ResultTupleSlot
ExprState * ExecInitExpr(Expr *node, PlanState *parent)
void ExecInitResultTupleSlot(EState *estate, PlanState *planstate)
Relation ExecOpenScanRelation(EState *estate, Index scanrelid, int eflags)
void(* MarkPosCustomScan)(CustomScanState *node)
CustomScanState * ExecInitCustomScan(CustomScan *cscan, EState *estate, int eflags)
void(* EndCustomScan)(CustomScanState *node)
void * shm_toc_lookup(shm_toc *toc, uint64 key)
void(* BeginCustomScan)(CustomScanState *node, EState *estate, int eflags)
const struct CustomScanMethods * methods
#define ereport(elevel, rest)
TupleDesc ExecTypeFromTL(List *targetList, bool hasoid)
void ExecEndCustomScan(CustomScanState *node)
void ExecCustomMarkPos(CustomScanState *node)
TupleTableSlot *(* ExecCustomScan)(CustomScanState *node)
void ExecCustomScanInitializeDSM(CustomScanState *node, ParallelContext *pcxt)
#define Assert(condition)
void ExecAssignExprContext(EState *estate, PlanState *planstate)
#define shm_toc_estimate_keys(e, cnt)
void ExecCloseScanRelation(Relation scanrel)
void * shm_toc_allocate(shm_toc *toc, Size nbytes)
void(* InitializeDSMCustomScan)(CustomScanState *node, ParallelContext *pcxt, void *coordinate)
void(* RestrPosCustomScan)(CustomScanState *node)
void shm_toc_insert(shm_toc *toc, uint64 key, void *address)
int errmsg(const char *fmt,...)
void ExecAssignScanType(ScanState *scanstate, TupleDesc tupDesc)
void ExecCustomScanEstimate(CustomScanState *node, ParallelContext *pcxt)
void ExecReScanCustomScan(CustomScanState *node)
void(* InitializeWorkerCustomScan)(CustomScanState *node, shm_toc *toc, void *coordinate)