PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "executor/executor.h"
#include "executor/nodeForeignscan.h"
#include "foreign/fdwapi.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 | ExecAsyncForeignScanRequest (AsyncRequest *areq) |
void | ExecAsyncForeignScanConfigureWait (AsyncRequest *areq) |
void | ExecAsyncForeignScanNotify (AsyncRequest *areq) |
void ExecAsyncForeignScanConfigureWait | ( | AsyncRequest * | areq | ) |
Definition at line 472 of file nodeForeignscan.c.
References Assert, ForeignScanState::fdwroutine, and AsyncRequest::requestee.
Referenced by ExecAsyncConfigureWait().
void ExecAsyncForeignScanNotify | ( | AsyncRequest * | areq | ) |
Definition at line 488 of file nodeForeignscan.c.
References Assert, ForeignScanState::fdwroutine, and AsyncRequest::requestee.
Referenced by ExecAsyncNotify().
void ExecAsyncForeignScanRequest | ( | AsyncRequest * | areq | ) |
Definition at line 456 of file nodeForeignscan.c.
References Assert, ForeignScanState::fdwroutine, and AsyncRequest::requestee.
Referenced by ExecAsyncRequest().
void ExecEndForeignScan | ( | ForeignScanState * | node | ) |
Definition at line 297 of file nodeForeignscan.c.
References CMD_SELECT, FdwRoutine::EndDirectModify, FdwRoutine::EndForeignScan, ExecEndNode(), ForeignScanState::fdwroutine, if(), outerPlanState, PlanState::plan, plan, ScanState::ps, ForeignScanState::ss, and PlanState::state.
Referenced by ExecEndNode().
|
static |
Definition at line 118 of file nodeForeignscan.c.
References castNode, CMD_SELECT, ExecScan(), ForeignNext(), ForeignRecheck(), if(), PlanState::plan, plan, ScanState::ps, ForeignScanState::ss, and PlanState::state.
Referenced by ExecInitForeignScan().
void ExecForeignScanEstimate | ( | ForeignScanState * | node, |
ParallelContext * | pcxt | ||
) |
Definition at line 356 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 375 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 418 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 397 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 142 of file nodeForeignscan.c.
References Assert, PlanState::async_capable, FdwRoutine::BeginDirectModify, FdwRoutine::BeginForeignScan, CMD_SELECT, CreateTupleDescCopy(), elog, ERROR, EState::es_epq_active, EState::es_result_relations, EXEC_FLAG_BACKWARD, EXEC_FLAG_MARK, ExecAssignExprContext(), ExecAssignScanProjectionInfoWithVarno(), ExecForeignScan(), ExecInitNode(), ExecInitQual(), ExecInitResultTypeTL(), ExecInitScanTupleSlot(), ExecOpenScanRelation(), PlanState::ExecProcNode, ExecTypeFromTL(), ForeignScanState::fdw_recheck_quals, ForeignScan::fdw_recheck_quals, ForeignScan::fdw_scan_tlist, ForeignScanState::fdw_state, ForeignScanState::fdwroutine, ForeignScan::fs_server, GetFdwRoutineByServerId(), GetFdwRoutineForRelation(), INDEX_VAR, makeNode, NIL, ForeignScan::operation, outerPlan, outerPlanState, PlanState::plan, ScanState::ps, PlanState::qual, RelationGetDescr, ForeignScan::resultRelation, ForeignScanState::resultRelInfo, 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 323 of file nodeForeignscan.c.
References CMD_SELECT, ExecReScan(), ExecScanReScan(), ForeignScanState::fdwroutine, outerPlan, outerPlanState, PlanState::plan, plan, ScanState::ps, FdwRoutine::ReScanForeignScan, ForeignScanState::ss, and PlanState::state.
Referenced by ExecReScan().
void ExecShutdownForeignScan | ( | ForeignScanState * | node | ) |
Definition at line 441 of file nodeForeignscan.c.
References ForeignScanState::fdwroutine, and FdwRoutine::ShutdownForeignScan.
Referenced by ExecShutdownNode_walker().
|
static |
Definition at line 41 of file nodeForeignscan.c.
References Assert, CMD_SELECT, EState::es_epq_active, ForeignScanState::fdwroutine, FdwRoutine::IterateDirectModify, FdwRoutine::IterateForeignScan, MemoryContextSwitchTo(), PlanState::plan, plan, ScanState::ps, PlanState::ps_ExprContext, RelationGetRelid, ForeignScanState::ss, ScanState::ss_currentRelation, PlanState::state, TupleTableSlot::tts_tableOid, and TupIsNull.
Referenced by ExecForeignScan().
|
static |
Definition at line 78 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().