PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "catalog/pg_type.h"
#include "executor/nodeFunctionscan.h"
#include "funcapi.h"
#include "nodes/nodeFuncs.h"
#include "utils/memutils.h"
Go to the source code of this file.
Data Structures | |
struct | FunctionScanPerFuncState |
Typedefs | |
typedef struct FunctionScanPerFuncState | FunctionScanPerFuncState |
Functions | |
static TupleTableSlot * | FunctionNext (FunctionScanState *node) |
static bool | FunctionRecheck (FunctionScanState *node, TupleTableSlot *slot) |
static TupleTableSlot * | ExecFunctionScan (PlanState *pstate) |
FunctionScanState * | ExecInitFunctionScan (FunctionScan *node, EState *estate, int eflags) |
void | ExecEndFunctionScan (FunctionScanState *node) |
void | ExecReScanFunctionScan (FunctionScanState *node) |
typedef struct FunctionScanPerFuncState FunctionScanPerFuncState |
void ExecEndFunctionScan | ( | FunctionScanState * | node | ) |
Definition at line 530 of file nodeFunctionscan.c.
References FunctionScanState::funcstates, i, FunctionScanState::nfuncs, FunctionScanPerFuncState::tstore, and tuplestore_end().
Referenced by ExecEndNode().
|
static |
Definition at line 265 of file nodeFunctionscan.c.
References castNode, ExecScan(), FunctionNext(), FunctionRecheck(), and FunctionScanState::ss.
Referenced by ExecInitFunctionScan().
FunctionScanState* ExecInitFunctionScan | ( | FunctionScan * | node, |
EState * | estate, | ||
int | eflags | ||
) |
Definition at line 279 of file nodeFunctionscan.c.
References ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, FunctionScanState::argcontext, Assert, BlessTupleDesc(), BuildDescFromLists(), FunctionScanPerFuncState::colcount, CreateTemplateTupleDesc(), CreateTupleDescCopy(), CurrentMemoryContext, FunctionScanState::eflags, elog, ERROR, EXEC_FLAG_MARK, ExecAssignExprContext(), ExecAssignScanProjectionInfo(), ExecFunctionScan(), ExecInitExtraTupleSlot(), ExecInitQual(), ExecInitResultTypeTL(), ExecInitScanTupleSlot(), ExecInitTableFunctionResult(), PlanState::ExecProcNode, exprCollation(), FunctionScanPerFuncState::func_slot, RangeTblFunction::funcexpr, FunctionScan::funcordinality, FunctionScanState::funcstates, FunctionScan::functions, get_expr_result_type(), i, innerPlan, j, lfirst, list_length(), makeNode, FunctionScanState::nfuncs, NIL, FunctionScanState::ordinal, FunctionScanState::ordinality, outerPlan, palloc(), PlanState::plan, ScanState::ps, PlanState::ps_ExprContext, PlanState::qual, FunctionScanPerFuncState::rowcount, FunctionScan::scan, FunctionScanPerFuncState::setexpr, FunctionScanState::simple, FunctionScanState::ss, PlanState::state, TupleDescData::tdtypeid, TupleDescData::tdtypmod, FunctionScanPerFuncState::tstore, TTSOpsMinimalTuple, FunctionScanPerFuncState::tupdesc, TupleDescCopyEntry(), TupleDescInitEntry(), TupleDescInitEntryCollation(), TYPEFUNC_COMPOSITE, TYPEFUNC_COMPOSITE_DOMAIN, and TYPEFUNC_SCALAR.
Referenced by ExecInitNode().
void ExecReScanFunctionScan | ( | FunctionScanState * | node | ) |
Definition at line 556 of file nodeFunctionscan.c.
References bms_overlap(), PlanState::chgParam, ExecClearTuple(), ExecScanReScan(), FunctionScanPerFuncState::func_slot, FunctionScanState::funcstates, FunctionScan::functions, i, if(), lfirst, FunctionScanState::nfuncs, FunctionScanState::ordinal, PlanState::plan, ScanState::ps, PlanState::ps_ResultTupleSlot, FunctionScanPerFuncState::rowcount, FunctionScanState::ss, FunctionScanPerFuncState::tstore, tuplestore_end(), and tuplestore_rescan().
Referenced by ExecReScan().
|
static |
Definition at line 59 of file nodeFunctionscan.c.
References FunctionScanState::argcontext, FunctionScanPerFuncState::colcount, FunctionScanState::eflags, EState::es_direction, EXEC_FLAG_BACKWARD, ExecClearTuple(), ExecMakeTableFunctionResult(), ExecStoreVirtualTuple(), FunctionScanPerFuncState::func_slot, FunctionScanState::funcstates, i, Int64GetDatumFast, FunctionScanState::nfuncs, FunctionScanState::ordinal, FunctionScanState::ordinality, ScanState::ps, PlanState::ps_ExprContext, FunctionScanPerFuncState::rowcount, ScanDirectionIsForward, FunctionScanPerFuncState::setexpr, FunctionScanState::simple, slot_getallattrs(), FunctionScanState::ss, ScanState::ss_ScanTupleSlot, PlanState::state, FunctionScanPerFuncState::tstore, TupleTableSlot::tts_isnull, TupleTableSlot::tts_values, FunctionScanPerFuncState::tupdesc, TupIsNull, tuplestore_gettupleslot(), and tuplestore_rescan().
Referenced by ExecFunctionScan().
|
static |
Definition at line 249 of file nodeFunctionscan.c.
Referenced by ExecFunctionScan().