|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "executor/executor.h"#include "executor/nodeTableFuncscan.h"#include "executor/tablefunc.h"#include "miscadmin.h"#include "nodes/execnodes.h"#include "utils/builtins.h"#include "utils/jsonpath.h"#include "utils/lsyscache.h"#include "utils/memutils.h"#include "utils/xml.h"
Go to the source code of this file.
Functions | |
| static TupleTableSlot * | TableFuncNext (TableFuncScanState *node) |
| static bool | TableFuncRecheck (TableFuncScanState *node, TupleTableSlot *slot) |
| static void | tfuncFetchRows (TableFuncScanState *tstate, ExprContext *econtext) |
| static void | tfuncInitialize (TableFuncScanState *tstate, ExprContext *econtext, Datum doc) |
| static void | tfuncLoadRows (TableFuncScanState *tstate, ExprContext *econtext) |
| static TupleTableSlot * | ExecTableFuncScan (PlanState *pstate) |
| TableFuncScanState * | ExecInitTableFuncScan (TableFuncScan *node, EState *estate, int eflags) |
| void | ExecEndTableFuncScan (TableFuncScanState *node) |
| void | ExecReScanTableFuncScan (TableFuncScanState *node) |
| void ExecEndTableFuncScan | ( | TableFuncScanState * | node | ) |
Definition at line 220 of file nodeTableFuncscan.c.
References fb(), tuplestore_end(), and TableFuncScanState::tupstore.
Referenced by ExecEndNode().
| TableFuncScanState * ExecInitTableFuncScan | ( | TableFuncScan * | node, |
| EState * | estate, | ||
| int | eflags | ||
| ) |
Definition at line 111 of file nodeTableFuncscan.c.
References ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, Assert, BuildDescFromLists(), TableFunc::colexprs, CurrentMemoryContext, TableFunc::docexpr, EXEC_FLAG_MARK, ExecAssignExprContext(), ExecAssignScanProjectionInfo(), ExecInitExpr(), ExecInitExprList(), ExecInitQual(), ExecInitResultTypeTL(), ExecInitScanTupleSlot(), ExecTableFuncScan(), fb(), fmgr_info(), TableFunc::functype, getTypeInputInfo(), i, innerPlan, JsonbTableRoutine, makeNode, TupleDescData::natts, outerPlan, palloc_array, TableFunc::rowexpr, TableFuncScan::scan, TableFuncScan::tablefunc, TFT_XMLTABLE, TTSOpsMinimalTuple, TupleDescAttr(), and XmlTableRoutine.
Referenced by ExecInitNode().
| void ExecReScanTableFuncScan | ( | TableFuncScanState * | node | ) |
Definition at line 237 of file nodeTableFuncscan.c.
References PlanState::chgParam, ExecClearTuple(), ExecScanReScan(), fb(), ScanState::ps, PlanState::ps_ResultTupleSlot, TableFuncScanState::ss, tuplestore_end(), tuplestore_rescan(), and TableFuncScanState::tupstore.
Referenced by ExecReScan().
|
static |
Definition at line 97 of file nodeTableFuncscan.c.
References castNode, ExecScan(), TableFuncScanState::ss, TableFuncNext(), and TableFuncRecheck().
Referenced by ExecInitTableFuncScan().
|
static |
Definition at line 54 of file nodeTableFuncscan.c.
References fb(), ScanState::ps, PlanState::ps_ExprContext, TableFuncScanState::ss, ScanState::ss_ScanTupleSlot, tfuncFetchRows(), tuplestore_gettupleslot(), and TableFuncScanState::tupstore.
Referenced by ExecTableFuncScan().
|
static |
Definition at line 81 of file nodeTableFuncscan.c.
Referenced by ExecTableFuncScan().
|
static |
Definition at line 268 of file nodeTableFuncscan.c.
References Assert, TableFuncRoutine::DestroyOpaque, ExprContext::ecxt_per_query_memory, ExecEvalExpr(), fb(), TableFuncRoutine::InitOpaque, MemoryContextReset(), MemoryContextSwitchTo(), PG_CATCH, PG_END_TRY, PG_RE_THROW, PG_TRY, tfuncInitialize(), tfuncLoadRows(), tuplestore_begin_heap(), value, and work_mem.
Referenced by TableFuncNext().
|
static |
Definition at line 340 of file nodeTableFuncscan.c.
References ereport, errcode(), errdetail(), errmsg(), ERROR, ExecEvalExpr(), fb(), forboth, lfirst, lfirst_node, NameStr, TableFuncRoutine::SetColumnFilter, TableFuncRoutine::SetDocument, TableFuncRoutine::SetNamespace, TableFuncRoutine::SetRowFilter, strVal, TextDatumGetCString, TupleDescAttr(), and value.
Referenced by tfuncFetchRows().
|
static |
Definition at line 435 of file nodeTableFuncscan.c.
References bms_is_member(), CHECK_FOR_INTERRUPTS, ExprContext::ecxt_per_tuple_memory, ereport, errcode(), errmsg(), ERROR, ExecClearTuple(), ExecEvalExpr(), fb(), TableFuncRoutine::FetchRow, TableFuncRoutine::GetValue, Int32GetDatum(), lfirst, list_head(), lnext(), MemoryContextReset(), MemoryContextSwitchTo(), NameStr, TupleDescData::natts, TupleTableSlot::tts_isnull, TupleTableSlot::tts_tupleDescriptor, TupleTableSlot::tts_values, TupleDescAttr(), tuplestore_putvalues(), and values.
Referenced by tfuncFetchRows().