PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "executor/executor.h"
#include "executor/nodeForeignscan.h"
#include "foreign/fdwapi.h"
#include "utils/memutils.h"
#include "utils/rel.h"
Go to the source code of this file.
Functions | |
static TupleTableSlot * | ForeignNext (ForeignScanState *node) |
static bool | ForeignRecheck (ForeignScanState *node, TupleTableSlot *slot) |
static TupleTableSlot * | ExecForeignScan (PlanState *pstate) |
ForeignScanState * | ExecInitForeignScan (ForeignScan *node, EState *estate, int eflags) |
void | ExecEndForeignScan (ForeignScanState *node) |
void | ExecReScanForeignScan (ForeignScanState *node) |
void | ExecForeignScanEstimate (ForeignScanState *node, ParallelContext *pcxt) |
void | ExecForeignScanInitializeDSM (ForeignScanState *node, ParallelContext *pcxt) |
void | ExecForeignScanReInitializeDSM (ForeignScanState *node, ParallelContext *pcxt) |
void | ExecForeignScanInitializeWorker (ForeignScanState *node, ParallelWorkerContext *pwcxt) |
void | ExecShutdownForeignScan (ForeignScanState *node) |
void ExecEndForeignScan | ( | ForeignScanState * | node | ) |
Definition at line 248 of file nodeForeignscan.c.
References CMD_SELECT, FdwRoutine::EndDirectModify, FdwRoutine::EndForeignScan, ExecClearTuple(), ExecEndNode(), ExecFreeExprContext(), ForeignScanState::fdwroutine, ForeignScan::operation, outerPlanState, PlanState::plan, ScanState::ps, PlanState::ps_ResultTupleSlot, ForeignScanState::ss, and ScanState::ss_ScanTupleSlot.
Referenced by ExecEndNode().
|
static |
Definition at line 111 of file nodeForeignscan.c.
References castNode, ExecScan(), ForeignNext(), ForeignRecheck(), and ForeignScanState::ss.
Referenced by ExecInitForeignScan().
void ExecForeignScanEstimate | ( | ForeignScanState * | node, |
ParallelContext * | pcxt | ||
) |
Definition at line 302 of file nodeForeignscan.c.
References FdwRoutine::EstimateDSMForeignScan, ParallelContext::estimator, ForeignScanState::fdwroutine, ForeignScanState::pscan_len, shm_toc_estimate_chunk, and shm_toc_estimate_keys.
Referenced by ExecParallelEstimate().
void ExecForeignScanInitializeDSM | ( | ForeignScanState * | node, |
ParallelContext * | pcxt | ||
) |
Definition at line 321 of file nodeForeignscan.c.
References ForeignScanState::fdwroutine, FdwRoutine::InitializeDSMForeignScan, PlanState::plan, Plan::plan_node_id, ScanState::ps, ForeignScanState::pscan_len, shm_toc_allocate(), shm_toc_insert(), ForeignScanState::ss, and ParallelContext::toc.
Referenced by ExecParallelInitializeDSM().
void ExecForeignScanInitializeWorker | ( | ForeignScanState * | node, |
ParallelWorkerContext * | pwcxt | ||
) |
Definition at line 364 of file nodeForeignscan.c.
References ForeignScanState::fdwroutine, FdwRoutine::InitializeWorkerForeignScan, PlanState::plan, Plan::plan_node_id, ScanState::ps, shm_toc_lookup(), ForeignScanState::ss, and ParallelWorkerContext::toc.
Referenced by ExecParallelInitializeWorker().
void ExecForeignScanReInitializeDSM | ( | ForeignScanState * | node, |
ParallelContext * | pcxt | ||
) |
Definition at line 343 of file nodeForeignscan.c.
References ForeignScanState::fdwroutine, PlanState::plan, Plan::plan_node_id, ScanState::ps, FdwRoutine::ReInitializeDSMForeignScan, shm_toc_lookup(), ForeignScanState::ss, and ParallelContext::toc.
Referenced by ExecParallelReInitializeDSM().
ForeignScanState* ExecInitForeignScan | ( | ForeignScan * | node, |
EState * | estate, | ||
int | eflags | ||
) |
Definition at line 126 of file nodeForeignscan.c.
References Assert, FdwRoutine::BeginDirectModify, FdwRoutine::BeginForeignScan, CMD_SELECT, CreateTupleDescCopy(), EState::es_result_relations, EXEC_FLAG_BACKWARD, EXEC_FLAG_MARK, ExecAssignExprContext(), ExecAssignScanProjectionInfoWithVarno(), ExecForeignScan(), ExecInitNode(), ExecInitQual(), ExecInitResultTypeTL(), ExecInitScanTupleSlot(), ExecOpenScanRelation(), PlanState::ExecProcNode, ExecTypeFromTL(), ForeignScan::fdw_recheck_quals, ForeignScan::fdw_scan_tlist, ForeignScan::fs_server, GetFdwRoutineByServerId(), GetFdwRoutineForRelation(), INDEX_VAR, makeNode, NIL, ForeignScan::operation, outerPlan, outerPlanState, Scan::plan, PlanState::plan, ScanState::ps, Plan::qual, PlanState::qual, RelationGetDescr, ForeignScan::resultRelation, ForeignScan::scan, PlanState::scanopsfixed, PlanState::scanopsset, Scan::scanrelid, ForeignScanState::ss, ScanState::ss_currentRelation, PlanState::state, and TTSOpsHeapTuple.
Referenced by ExecInitNode().
void ExecReScanForeignScan | ( | ForeignScanState * | node | ) |
Definition at line 278 of file nodeForeignscan.c.
References PlanState::chgParam, ExecReScan(), ExecScanReScan(), ForeignScanState::fdwroutine, outerPlan, outerPlanState, FdwRoutine::ReScanForeignScan, and ForeignScanState::ss.
Referenced by ExecReScan().
void ExecShutdownForeignScan | ( | ForeignScanState * | node | ) |
Definition at line 387 of file nodeForeignscan.c.
References ForeignScanState::fdwroutine, and FdwRoutine::ShutdownForeignScan.
Referenced by ExecShutdownNode().
|
static |
Definition at line 42 of file nodeForeignscan.c.
References CMD_SELECT, ForeignScanState::fdwroutine, ForeignScan::fsSystemCol, FdwRoutine::IterateDirectModify, FdwRoutine::IterateForeignScan, MemoryContextSwitchTo(), ForeignScan::operation, PlanState::plan, ScanState::ps, PlanState::ps_ExprContext, RelationGetRelid, ForeignScanState::ss, ScanState::ss_currentRelation, TupleTableSlot::tts_tableOid, and TupIsNull.
Referenced by ExecForeignScan().
|
static |
Definition at line 71 of file nodeForeignscan.c.
References ExprContext::ecxt_scantuple, ExecQual(), ForeignScanState::fdw_recheck_quals, ForeignScanState::fdwroutine, ScanState::ps, PlanState::ps_ExprContext, FdwRoutine::RecheckForeignScan, ResetExprContext, and ForeignScanState::ss.
Referenced by ExecForeignScan().