PostgreSQL Source Code git master
|
#include "postgres.h"
#include "access/relscan.h"
#include "access/tableam.h"
#include "executor/execScan.h"
#include "executor/executor.h"
#include "executor/nodeSeqscan.h"
#include "utils/rel.h"
Go to the source code of this file.
Functions | |
static TupleTableSlot * | SeqNext (SeqScanState *node) |
static bool | SeqRecheck (SeqScanState *node, TupleTableSlot *slot) |
static TupleTableSlot * | ExecSeqScan (PlanState *pstate) |
static TupleTableSlot * | ExecSeqScanWithQual (PlanState *pstate) |
static TupleTableSlot * | ExecSeqScanWithProject (PlanState *pstate) |
static TupleTableSlot * | ExecSeqScanWithQualProject (PlanState *pstate) |
static TupleTableSlot * | ExecSeqScanEPQ (PlanState *pstate) |
SeqScanState * | ExecInitSeqScan (SeqScan *node, EState *estate, int eflags) |
void | ExecEndSeqScan (SeqScanState *node) |
void | ExecReScanSeqScan (SeqScanState *node) |
void | ExecSeqScanEstimate (SeqScanState *node, ParallelContext *pcxt) |
void | ExecSeqScanInitializeDSM (SeqScanState *node, ParallelContext *pcxt) |
void | ExecSeqScanReInitializeDSM (SeqScanState *node, ParallelContext *pcxt) |
void | ExecSeqScanInitializeWorker (SeqScanState *node, ParallelWorkerContext *pwcxt) |
void ExecEndSeqScan | ( | SeqScanState * | node | ) |
Definition at line 289 of file nodeSeqscan.c.
References SeqScanState::ss, ScanState::ss_currentScanDesc, and table_endscan().
Referenced by ExecEndNode().
SeqScanState * ExecInitSeqScan | ( | SeqScan * | node, |
EState * | estate, | ||
int | eflags | ||
) |
Definition at line 207 of file nodeSeqscan.c.
References Assert, EState::es_epq_active, ExecAssignExprContext(), ExecAssignScanProjectionInfo(), ExecInitQual(), ExecInitResultTypeTL(), ExecInitScanTupleSlot(), ExecOpenScanRelation(), PlanState::ExecProcNode, ExecSeqScan(), ExecSeqScanEPQ(), ExecSeqScanWithProject(), ExecSeqScanWithQual(), ExecSeqScanWithQualProject(), innerPlan, makeNode, outerPlan, PlanState::plan, ScanState::ps, PlanState::ps_ProjInfo, PlanState::qual, RelationGetDescr, SeqScan::scan, Scan::scanrelid, SeqScanState::ss, ScanState::ss_currentRelation, PlanState::state, and table_slot_callbacks().
Referenced by ExecInitNode().
void ExecReScanSeqScan | ( | SeqScanState * | node | ) |
Definition at line 317 of file nodeSeqscan.c.
References ExecScanReScan(), SeqScanState::ss, ScanState::ss_currentScanDesc, and table_rescan().
Referenced by ExecReScan().
|
static |
Definition at line 110 of file nodeSeqscan.c.
References Assert, castNode, EState::es_epq_active, ExecScanExtended(), PlanState::ps_ProjInfo, PlanState::qual, SeqNext(), SeqRecheck(), SeqScanState::ss, and PlanState::state.
Referenced by ExecInitSeqScan().
|
static |
Definition at line 193 of file nodeSeqscan.c.
References castNode, ExecScan(), SeqNext(), SeqRecheck(), and SeqScanState::ss.
Referenced by ExecInitSeqScan().
void ExecSeqScanEstimate | ( | SeqScanState * | node, |
ParallelContext * | pcxt | ||
) |
Definition at line 343 of file nodeSeqscan.c.
References EState::es_snapshot, ParallelContext::estimator, ScanState::ps, SeqScanState::pscan_len, shm_toc_estimate_chunk, shm_toc_estimate_keys, SeqScanState::ss, ScanState::ss_currentRelation, PlanState::state, and table_parallelscan_estimate().
Referenced by ExecParallelEstimate().
void ExecSeqScanInitializeDSM | ( | SeqScanState * | node, |
ParallelContext * | pcxt | ||
) |
Definition at line 361 of file nodeSeqscan.c.
References EState::es_snapshot, PlanState::plan, Plan::plan_node_id, ScanState::ps, SeqScanState::pscan_len, shm_toc_allocate(), shm_toc_insert(), SeqScanState::ss, ScanState::ss_currentRelation, ScanState::ss_currentScanDesc, PlanState::state, table_beginscan_parallel(), table_parallelscan_initialize(), and ParallelContext::toc.
Referenced by ExecParallelInitializeDSM().
void ExecSeqScanInitializeWorker | ( | SeqScanState * | node, |
ParallelWorkerContext * | pwcxt | ||
) |
Definition at line 399 of file nodeSeqscan.c.
References PlanState::plan, Plan::plan_node_id, ScanState::ps, shm_toc_lookup(), SeqScanState::ss, ScanState::ss_currentRelation, ScanState::ss_currentScanDesc, table_beginscan_parallel(), and ParallelWorkerContext::toc.
Referenced by ExecParallelInitializeWorker().
void ExecSeqScanReInitializeDSM | ( | SeqScanState * | node, |
ParallelContext * | pcxt | ||
) |
Definition at line 383 of file nodeSeqscan.c.
References TableScanDescData::rs_parallel, SeqScanState::ss, ScanState::ss_currentRelation, ScanState::ss_currentScanDesc, and table_parallelscan_reinitialize().
Referenced by ExecParallelReInitializeDSM().
|
static |
Definition at line 150 of file nodeSeqscan.c.
References Assert, castNode, EState::es_epq_active, ExecScanExtended(), PlanState::ps_ProjInfo, PlanState::qual, SeqNext(), SeqRecheck(), SeqScanState::ss, and PlanState::state.
Referenced by ExecInitSeqScan().
|
static |
Definition at line 130 of file nodeSeqscan.c.
References Assert, castNode, EState::es_epq_active, ExecScanExtended(), PlanState::ps_ProjInfo, PlanState::qual, SeqNext(), SeqRecheck(), SeqScanState::ss, and PlanState::state.
Referenced by ExecInitSeqScan().
|
static |
Definition at line 171 of file nodeSeqscan.c.
References Assert, castNode, EState::es_epq_active, ExecScanExtended(), PlanState::ps_ProjInfo, PlanState::qual, SeqNext(), SeqRecheck(), SeqScanState::ss, and PlanState::state.
Referenced by ExecInitSeqScan().
|
static |
Definition at line 51 of file nodeSeqscan.c.
References EState::es_direction, EState::es_snapshot, ScanState::ps, SeqScanState::ss, ScanState::ss_currentRelation, ScanState::ss_currentScanDesc, ScanState::ss_ScanTupleSlot, PlanState::state, table_beginscan(), and table_scan_getnextslot().
Referenced by ExecSeqScan(), ExecSeqScanEPQ(), ExecSeqScanWithProject(), ExecSeqScanWithQual(), and ExecSeqScanWithQualProject().
|
static |
Definition at line 90 of file nodeSeqscan.c.
Referenced by ExecSeqScan(), ExecSeqScanEPQ(), ExecSeqScanWithProject(), ExecSeqScanWithQual(), and ExecSeqScanWithQualProject().