/src/postgres/src/include/executor/executor.h
Line | Count | Source (jump to first uncovered line) |
1 | | /*------------------------------------------------------------------------- |
2 | | * |
3 | | * executor.h |
4 | | * support for the POSTGRES executor module |
5 | | * |
6 | | * |
7 | | * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group |
8 | | * Portions Copyright (c) 1994, Regents of the University of California |
9 | | * |
10 | | * src/include/executor/executor.h |
11 | | * |
12 | | *------------------------------------------------------------------------- |
13 | | */ |
14 | | #ifndef EXECUTOR_H |
15 | | #define EXECUTOR_H |
16 | | |
17 | | #include "executor/execdesc.h" |
18 | | #include "fmgr.h" |
19 | | #include "nodes/lockoptions.h" |
20 | | #include "nodes/parsenodes.h" |
21 | | #include "utils/memutils.h" |
22 | | |
23 | | |
24 | | /* |
25 | | * The "eflags" argument to ExecutorStart and the various ExecInitNode |
26 | | * routines is a bitwise OR of the following flag bits, which tell the |
27 | | * called plan node what to expect. Note that the flags will get modified |
28 | | * as they are passed down the plan tree, since an upper node may require |
29 | | * functionality in its subnode not demanded of the plan as a whole |
30 | | * (example: MergeJoin requires mark/restore capability in its inner input), |
31 | | * or an upper node may shield its input from some functionality requirement |
32 | | * (example: Materialize shields its input from needing to do backward scan). |
33 | | * |
34 | | * EXPLAIN_ONLY indicates that the plan tree is being initialized just so |
35 | | * EXPLAIN can print it out; it will not be run. Hence, no side-effects |
36 | | * of startup should occur. However, error checks (such as permission checks) |
37 | | * should be performed. |
38 | | * |
39 | | * EXPLAIN_GENERIC can only be used together with EXPLAIN_ONLY. It indicates |
40 | | * that a generic plan is being shown using EXPLAIN (GENERIC_PLAN), which |
41 | | * means that missing parameter values must be tolerated. Currently, the only |
42 | | * effect is to suppress execution-time partition pruning. |
43 | | * |
44 | | * REWIND indicates that the plan node should try to efficiently support |
45 | | * rescans without parameter changes. (Nodes must support ExecReScan calls |
46 | | * in any case, but if this flag was not given, they are at liberty to do it |
47 | | * through complete recalculation. Note that a parameter change forces a |
48 | | * full recalculation in any case.) |
49 | | * |
50 | | * BACKWARD indicates that the plan node must respect the es_direction flag. |
51 | | * When this is not passed, the plan node will only be run forwards. |
52 | | * |
53 | | * MARK indicates that the plan node must support Mark/Restore calls. |
54 | | * When this is not passed, no Mark/Restore will occur. |
55 | | * |
56 | | * SKIP_TRIGGERS tells ExecutorStart/ExecutorFinish to skip calling |
57 | | * AfterTriggerBeginQuery/AfterTriggerEndQuery. This does not necessarily |
58 | | * mean that the plan can't queue any AFTER triggers; just that the caller |
59 | | * is responsible for there being a trigger context for them to be queued in. |
60 | | * |
61 | | * WITH_NO_DATA indicates that we are performing REFRESH MATERIALIZED VIEW |
62 | | * ... WITH NO DATA. Currently, the only effect is to suppress errors about |
63 | | * scanning unpopulated materialized views. |
64 | | */ |
65 | 0 | #define EXEC_FLAG_EXPLAIN_ONLY 0x0001 /* EXPLAIN, no ANALYZE */ |
66 | 0 | #define EXEC_FLAG_EXPLAIN_GENERIC 0x0002 /* EXPLAIN (GENERIC_PLAN) */ |
67 | 0 | #define EXEC_FLAG_REWIND 0x0004 /* need efficient rescan */ |
68 | 0 | #define EXEC_FLAG_BACKWARD 0x0008 /* need backward scan */ |
69 | 0 | #define EXEC_FLAG_MARK 0x0010 /* need mark/restore */ |
70 | 0 | #define EXEC_FLAG_SKIP_TRIGGERS 0x0020 /* skip AfterTrigger setup */ |
71 | 0 | #define EXEC_FLAG_WITH_NO_DATA 0x0040 /* REFRESH ... WITH NO DATA */ |
72 | | |
73 | | |
74 | | /* Hook for plugins to get control in ExecutorStart() */ |
75 | | typedef void (*ExecutorStart_hook_type) (QueryDesc *queryDesc, int eflags); |
76 | | extern PGDLLIMPORT ExecutorStart_hook_type ExecutorStart_hook; |
77 | | |
78 | | /* Hook for plugins to get control in ExecutorRun() */ |
79 | | typedef void (*ExecutorRun_hook_type) (QueryDesc *queryDesc, |
80 | | ScanDirection direction, |
81 | | uint64 count); |
82 | | extern PGDLLIMPORT ExecutorRun_hook_type ExecutorRun_hook; |
83 | | |
84 | | /* Hook for plugins to get control in ExecutorFinish() */ |
85 | | typedef void (*ExecutorFinish_hook_type) (QueryDesc *queryDesc); |
86 | | extern PGDLLIMPORT ExecutorFinish_hook_type ExecutorFinish_hook; |
87 | | |
88 | | /* Hook for plugins to get control in ExecutorEnd() */ |
89 | | typedef void (*ExecutorEnd_hook_type) (QueryDesc *queryDesc); |
90 | | extern PGDLLIMPORT ExecutorEnd_hook_type ExecutorEnd_hook; |
91 | | |
92 | | /* Hook for plugins to get control in ExecCheckPermissions() */ |
93 | | typedef bool (*ExecutorCheckPerms_hook_type) (List *rangeTable, |
94 | | List *rtePermInfos, |
95 | | bool ereport_on_violation); |
96 | | extern PGDLLIMPORT ExecutorCheckPerms_hook_type ExecutorCheckPerms_hook; |
97 | | |
98 | | |
99 | | /* |
100 | | * prototypes from functions in execAmi.c |
101 | | */ |
102 | | struct Path; /* avoid including pathnodes.h here */ |
103 | | |
104 | | extern void ExecReScan(PlanState *node); |
105 | | extern void ExecMarkPos(PlanState *node); |
106 | | extern void ExecRestrPos(PlanState *node); |
107 | | extern bool ExecSupportsMarkRestore(struct Path *pathnode); |
108 | | extern bool ExecSupportsBackwardScan(Plan *node); |
109 | | extern bool ExecMaterializesOutput(NodeTag plantype); |
110 | | |
111 | | /* |
112 | | * prototypes from functions in execCurrent.c |
113 | | */ |
114 | | extern bool execCurrentOf(CurrentOfExpr *cexpr, |
115 | | ExprContext *econtext, |
116 | | Oid table_oid, |
117 | | ItemPointer current_tid); |
118 | | |
119 | | /* |
120 | | * prototypes from functions in execGrouping.c |
121 | | */ |
122 | | extern ExprState *execTuplesMatchPrepare(TupleDesc desc, |
123 | | int numCols, |
124 | | const AttrNumber *keyColIdx, |
125 | | const Oid *eqOperators, |
126 | | const Oid *collations, |
127 | | PlanState *parent); |
128 | | extern void execTuplesHashPrepare(int numCols, |
129 | | const Oid *eqOperators, |
130 | | Oid **eqFuncOids, |
131 | | FmgrInfo **hashFunctions); |
132 | | extern TupleHashTable BuildTupleHashTable(PlanState *parent, |
133 | | TupleDesc inputDesc, |
134 | | const TupleTableSlotOps *inputOps, |
135 | | int numCols, |
136 | | AttrNumber *keyColIdx, |
137 | | const Oid *eqfuncoids, |
138 | | FmgrInfo *hashfunctions, |
139 | | Oid *collations, |
140 | | long nbuckets, |
141 | | Size additionalsize, |
142 | | MemoryContext metacxt, |
143 | | MemoryContext tablecxt, |
144 | | MemoryContext tempcxt, |
145 | | bool use_variable_hash_iv); |
146 | | extern TupleHashEntry LookupTupleHashEntry(TupleHashTable hashtable, |
147 | | TupleTableSlot *slot, |
148 | | bool *isnew, uint32 *hash); |
149 | | extern uint32 TupleHashTableHash(TupleHashTable hashtable, |
150 | | TupleTableSlot *slot); |
151 | | extern TupleHashEntry LookupTupleHashEntryHash(TupleHashTable hashtable, |
152 | | TupleTableSlot *slot, |
153 | | bool *isnew, uint32 hash); |
154 | | extern TupleHashEntry FindTupleHashEntry(TupleHashTable hashtable, |
155 | | TupleTableSlot *slot, |
156 | | ExprState *eqcomp, |
157 | | ExprState *hashexpr); |
158 | | extern void ResetTupleHashTable(TupleHashTable hashtable); |
159 | | |
160 | | #ifndef FRONTEND |
161 | | /* |
162 | | * Return size of the hash bucket. Useful for estimating memory usage. |
163 | | */ |
164 | | static inline size_t |
165 | | TupleHashEntrySize(void) |
166 | 0 | { |
167 | 0 | return sizeof(TupleHashEntryData); |
168 | 0 | } Unexecuted instantiation: heapam_handler.c:TupleHashEntrySize Unexecuted instantiation: commit_ts.c:TupleHashEntrySize Unexecuted instantiation: multixact.c:TupleHashEntrySize Unexecuted instantiation: rmgr.c:TupleHashEntrySize Unexecuted instantiation: twophase.c:TupleHashEntrySize Unexecuted instantiation: xlogfuncs.c:TupleHashEntrySize Unexecuted instantiation: xlogprefetcher.c:TupleHashEntrySize Unexecuted instantiation: dependency.c:TupleHashEntrySize Unexecuted instantiation: index.c:TupleHashEntrySize Unexecuted instantiation: indexing.c:TupleHashEntrySize Unexecuted instantiation: namespace.c:TupleHashEntrySize Unexecuted instantiation: objectaddress.c:TupleHashEntrySize Unexecuted instantiation: pg_proc.c:TupleHashEntrySize Unexecuted instantiation: pg_publication.c:TupleHashEntrySize Unexecuted instantiation: parse_func.c:TupleHashEntrySize Unexecuted instantiation: parse_relation.c:TupleHashEntrySize Unexecuted instantiation: parse_target.c:TupleHashEntrySize Unexecuted instantiation: analyze.c:TupleHashEntrySize Unexecuted instantiation: async.c:TupleHashEntrySize Unexecuted instantiation: constraint.c:TupleHashEntrySize Unexecuted instantiation: copy.c:TupleHashEntrySize Unexecuted instantiation: copyfrom.c:TupleHashEntrySize Unexecuted instantiation: copyfromparse.c:TupleHashEntrySize Unexecuted instantiation: copyto.c:TupleHashEntrySize Unexecuted instantiation: createas.c:TupleHashEntrySize Unexecuted instantiation: event_trigger.c:TupleHashEntrySize Unexecuted instantiation: explain.c:TupleHashEntrySize Unexecuted instantiation: explain_dr.c:TupleHashEntrySize Unexecuted instantiation: explain_format.c:TupleHashEntrySize Unexecuted instantiation: explain_state.c:TupleHashEntrySize Unexecuted instantiation: extension.c:TupleHashEntrySize Unexecuted instantiation: functioncmds.c:TupleHashEntrySize Unexecuted instantiation: matview.c:TupleHashEntrySize Unexecuted instantiation: portalcmds.c:TupleHashEntrySize Unexecuted instantiation: prepare.c:TupleHashEntrySize Unexecuted instantiation: sequence.c:TupleHashEntrySize Unexecuted instantiation: subscriptioncmds.c:TupleHashEntrySize Unexecuted instantiation: tablecmds.c:TupleHashEntrySize Unexecuted instantiation: trigger.c:TupleHashEntrySize Unexecuted instantiation: typecmds.c:TupleHashEntrySize Unexecuted instantiation: execAmi.c:TupleHashEntrySize Unexecuted instantiation: execAsync.c:TupleHashEntrySize Unexecuted instantiation: execCurrent.c:TupleHashEntrySize Unexecuted instantiation: execExpr.c:TupleHashEntrySize Unexecuted instantiation: execExprInterp.c:TupleHashEntrySize Unexecuted instantiation: execGrouping.c:TupleHashEntrySize Unexecuted instantiation: execIndexing.c:TupleHashEntrySize Unexecuted instantiation: execJunk.c:TupleHashEntrySize Unexecuted instantiation: execMain.c:TupleHashEntrySize Unexecuted instantiation: execParallel.c:TupleHashEntrySize Unexecuted instantiation: execPartition.c:TupleHashEntrySize Unexecuted instantiation: execProcnode.c:TupleHashEntrySize Unexecuted instantiation: execReplication.c:TupleHashEntrySize Unexecuted instantiation: execSRF.c:TupleHashEntrySize Unexecuted instantiation: execScan.c:TupleHashEntrySize Unexecuted instantiation: execTuples.c:TupleHashEntrySize Unexecuted instantiation: execUtils.c:TupleHashEntrySize Unexecuted instantiation: functions.c:TupleHashEntrySize Unexecuted instantiation: nodeAgg.c:TupleHashEntrySize Unexecuted instantiation: nodeAppend.c:TupleHashEntrySize Unexecuted instantiation: nodeBitmapAnd.c:TupleHashEntrySize Unexecuted instantiation: nodeBitmapHeapscan.c:TupleHashEntrySize Unexecuted instantiation: nodeBitmapIndexscan.c:TupleHashEntrySize Unexecuted instantiation: nodeBitmapOr.c:TupleHashEntrySize Unexecuted instantiation: nodeCtescan.c:TupleHashEntrySize Unexecuted instantiation: nodeCustom.c:TupleHashEntrySize Unexecuted instantiation: nodeForeignscan.c:TupleHashEntrySize Unexecuted instantiation: nodeFunctionscan.c:TupleHashEntrySize Unexecuted instantiation: nodeGather.c:TupleHashEntrySize Unexecuted instantiation: nodeGatherMerge.c:TupleHashEntrySize Unexecuted instantiation: nodeGroup.c:TupleHashEntrySize Unexecuted instantiation: nodeHash.c:TupleHashEntrySize Unexecuted instantiation: nodeHashjoin.c:TupleHashEntrySize Unexecuted instantiation: nodeIncrementalSort.c:TupleHashEntrySize Unexecuted instantiation: nodeIndexonlyscan.c:TupleHashEntrySize Unexecuted instantiation: nodeIndexscan.c:TupleHashEntrySize Unexecuted instantiation: nodeLimit.c:TupleHashEntrySize Unexecuted instantiation: nodeLockRows.c:TupleHashEntrySize Unexecuted instantiation: nodeMaterial.c:TupleHashEntrySize Unexecuted instantiation: nodeMemoize.c:TupleHashEntrySize Unexecuted instantiation: nodeMergeAppend.c:TupleHashEntrySize Unexecuted instantiation: nodeMergejoin.c:TupleHashEntrySize Unexecuted instantiation: nodeModifyTable.c:TupleHashEntrySize Unexecuted instantiation: nodeNamedtuplestorescan.c:TupleHashEntrySize Unexecuted instantiation: nodeNestloop.c:TupleHashEntrySize Unexecuted instantiation: nodeProjectSet.c:TupleHashEntrySize Unexecuted instantiation: nodeRecursiveunion.c:TupleHashEntrySize Unexecuted instantiation: nodeResult.c:TupleHashEntrySize Unexecuted instantiation: nodeSamplescan.c:TupleHashEntrySize Unexecuted instantiation: nodeSeqscan.c:TupleHashEntrySize Unexecuted instantiation: nodeSetOp.c:TupleHashEntrySize Unexecuted instantiation: nodeSort.c:TupleHashEntrySize Unexecuted instantiation: nodeSubplan.c:TupleHashEntrySize Unexecuted instantiation: nodeSubqueryscan.c:TupleHashEntrySize Unexecuted instantiation: nodeTableFuncscan.c:TupleHashEntrySize Unexecuted instantiation: nodeTidrangescan.c:TupleHashEntrySize Unexecuted instantiation: nodeTidscan.c:TupleHashEntrySize Unexecuted instantiation: nodeUnique.c:TupleHashEntrySize Unexecuted instantiation: nodeValuesscan.c:TupleHashEntrySize Unexecuted instantiation: nodeWindowAgg.c:TupleHashEntrySize Unexecuted instantiation: nodeWorktablescan.c:TupleHashEntrySize Unexecuted instantiation: spi.c:TupleHashEntrySize Unexecuted instantiation: foreign.c:TupleHashEntrySize Unexecuted instantiation: costsize.c:TupleHashEntrySize Unexecuted instantiation: joinpath.c:TupleHashEntrySize Unexecuted instantiation: planner.c:TupleHashEntrySize Unexecuted instantiation: subselect.c:TupleHashEntrySize Unexecuted instantiation: prepjointree.c:TupleHashEntrySize Unexecuted instantiation: clauses.c:TupleHashEntrySize Unexecuted instantiation: predtest.c:TupleHashEntrySize Unexecuted instantiation: partbounds.c:TupleHashEntrySize Unexecuted instantiation: partprune.c:TupleHashEntrySize Unexecuted instantiation: conflict.c:TupleHashEntrySize Unexecuted instantiation: launcher.c:TupleHashEntrySize Unexecuted instantiation: logicalfuncs.c:TupleHashEntrySize Unexecuted instantiation: origin.c:TupleHashEntrySize Unexecuted instantiation: relation.c:TupleHashEntrySize Unexecuted instantiation: worker.c:TupleHashEntrySize Unexecuted instantiation: slotfuncs.c:TupleHashEntrySize Unexecuted instantiation: walreceiver.c:TupleHashEntrySize Unexecuted instantiation: walsender.c:TupleHashEntrySize Unexecuted instantiation: rewriteHandler.c:TupleHashEntrySize Unexecuted instantiation: basebackup_copy.c:TupleHashEntrySize Unexecuted instantiation: walsummaryfuncs.c:TupleHashEntrySize Unexecuted instantiation: extended_stats.c:TupleHashEntrySize Unexecuted instantiation: mcv.c:TupleHashEntrySize Unexecuted instantiation: stat_utils.c:TupleHashEntrySize Unexecuted instantiation: aio_funcs.c:TupleHashEntrySize Unexecuted instantiation: shmem.c:TupleHashEntrySize Unexecuted instantiation: pquery.c:TupleHashEntrySize Unexecuted instantiation: utility.c:TupleHashEntrySize Unexecuted instantiation: wparser.c:TupleHashEntrySize Unexecuted instantiation: wait_event_funcs.c:TupleHashEntrySize Unexecuted instantiation: acl.c:TupleHashEntrySize Unexecuted instantiation: arrayfuncs.c:TupleHashEntrySize Unexecuted instantiation: datetime.c:TupleHashEntrySize Unexecuted instantiation: domains.c:TupleHashEntrySize Unexecuted instantiation: genfile.c:TupleHashEntrySize Unexecuted instantiation: hbafuncs.c:TupleHashEntrySize Unexecuted instantiation: int.c:TupleHashEntrySize Unexecuted instantiation: int8.c:TupleHashEntrySize Unexecuted instantiation: json.c:TupleHashEntrySize Unexecuted instantiation: jsonb.c:TupleHashEntrySize Unexecuted instantiation: jsonfuncs.c:TupleHashEntrySize Unexecuted instantiation: jsonpath_exec.c:TupleHashEntrySize Unexecuted instantiation: lockfuncs.c:TupleHashEntrySize Unexecuted instantiation: mcxtfuncs.c:TupleHashEntrySize Unexecuted instantiation: misc.c:TupleHashEntrySize Unexecuted instantiation: multirangetypes.c:TupleHashEntrySize Unexecuted instantiation: numeric.c:TupleHashEntrySize Unexecuted instantiation: orderedsetaggs.c:TupleHashEntrySize Unexecuted instantiation: partitionfuncs.c:TupleHashEntrySize Unexecuted instantiation: pgstatfuncs.c:TupleHashEntrySize Unexecuted instantiation: regexp.c:TupleHashEntrySize Unexecuted instantiation: ri_triggers.c:TupleHashEntrySize Unexecuted instantiation: rowtypes.c:TupleHashEntrySize Unexecuted instantiation: ruleutils.c:TupleHashEntrySize Unexecuted instantiation: timestamp.c:TupleHashEntrySize Unexecuted instantiation: tsvector_op.c:TupleHashEntrySize Unexecuted instantiation: varlena.c:TupleHashEntrySize Unexecuted instantiation: xid8funcs.c:TupleHashEntrySize Unexecuted instantiation: funccache.c:TupleHashEntrySize Unexecuted instantiation: plancache.c:TupleHashEntrySize Unexecuted instantiation: typcache.c:TupleHashEntrySize Unexecuted instantiation: funcapi.c:TupleHashEntrySize Unexecuted instantiation: guc_funcs.c:TupleHashEntrySize Unexecuted instantiation: pg_config.c:TupleHashEntrySize Unexecuted instantiation: pg_controldata.c:TupleHashEntrySize Unexecuted instantiation: portalmem.c:TupleHashEntrySize Unexecuted instantiation: tuplesortvariants.c:TupleHashEntrySize Unexecuted instantiation: tuplestore.c:TupleHashEntrySize |
169 | | |
170 | | /* |
171 | | * Return tuple from hash entry. |
172 | | */ |
173 | | static inline MinimalTuple |
174 | | TupleHashEntryGetTuple(TupleHashEntry entry) |
175 | 0 | { |
176 | 0 | return entry->firstTuple; |
177 | 0 | } Unexecuted instantiation: heapam_handler.c:TupleHashEntryGetTuple Unexecuted instantiation: commit_ts.c:TupleHashEntryGetTuple Unexecuted instantiation: multixact.c:TupleHashEntryGetTuple Unexecuted instantiation: rmgr.c:TupleHashEntryGetTuple Unexecuted instantiation: twophase.c:TupleHashEntryGetTuple Unexecuted instantiation: xlogfuncs.c:TupleHashEntryGetTuple Unexecuted instantiation: xlogprefetcher.c:TupleHashEntryGetTuple Unexecuted instantiation: dependency.c:TupleHashEntryGetTuple Unexecuted instantiation: index.c:TupleHashEntryGetTuple Unexecuted instantiation: indexing.c:TupleHashEntryGetTuple Unexecuted instantiation: namespace.c:TupleHashEntryGetTuple Unexecuted instantiation: objectaddress.c:TupleHashEntryGetTuple Unexecuted instantiation: pg_proc.c:TupleHashEntryGetTuple Unexecuted instantiation: pg_publication.c:TupleHashEntryGetTuple Unexecuted instantiation: parse_func.c:TupleHashEntryGetTuple Unexecuted instantiation: parse_relation.c:TupleHashEntryGetTuple Unexecuted instantiation: parse_target.c:TupleHashEntryGetTuple Unexecuted instantiation: analyze.c:TupleHashEntryGetTuple Unexecuted instantiation: async.c:TupleHashEntryGetTuple Unexecuted instantiation: constraint.c:TupleHashEntryGetTuple Unexecuted instantiation: copy.c:TupleHashEntryGetTuple Unexecuted instantiation: copyfrom.c:TupleHashEntryGetTuple Unexecuted instantiation: copyfromparse.c:TupleHashEntryGetTuple Unexecuted instantiation: copyto.c:TupleHashEntryGetTuple Unexecuted instantiation: createas.c:TupleHashEntryGetTuple Unexecuted instantiation: event_trigger.c:TupleHashEntryGetTuple Unexecuted instantiation: explain.c:TupleHashEntryGetTuple Unexecuted instantiation: explain_dr.c:TupleHashEntryGetTuple Unexecuted instantiation: explain_format.c:TupleHashEntryGetTuple Unexecuted instantiation: explain_state.c:TupleHashEntryGetTuple Unexecuted instantiation: extension.c:TupleHashEntryGetTuple Unexecuted instantiation: functioncmds.c:TupleHashEntryGetTuple Unexecuted instantiation: matview.c:TupleHashEntryGetTuple Unexecuted instantiation: portalcmds.c:TupleHashEntryGetTuple Unexecuted instantiation: prepare.c:TupleHashEntryGetTuple Unexecuted instantiation: sequence.c:TupleHashEntryGetTuple Unexecuted instantiation: subscriptioncmds.c:TupleHashEntryGetTuple Unexecuted instantiation: tablecmds.c:TupleHashEntryGetTuple Unexecuted instantiation: trigger.c:TupleHashEntryGetTuple Unexecuted instantiation: typecmds.c:TupleHashEntryGetTuple Unexecuted instantiation: execAmi.c:TupleHashEntryGetTuple Unexecuted instantiation: execAsync.c:TupleHashEntryGetTuple Unexecuted instantiation: execCurrent.c:TupleHashEntryGetTuple Unexecuted instantiation: execExpr.c:TupleHashEntryGetTuple Unexecuted instantiation: execExprInterp.c:TupleHashEntryGetTuple Unexecuted instantiation: execGrouping.c:TupleHashEntryGetTuple Unexecuted instantiation: execIndexing.c:TupleHashEntryGetTuple Unexecuted instantiation: execJunk.c:TupleHashEntryGetTuple Unexecuted instantiation: execMain.c:TupleHashEntryGetTuple Unexecuted instantiation: execParallel.c:TupleHashEntryGetTuple Unexecuted instantiation: execPartition.c:TupleHashEntryGetTuple Unexecuted instantiation: execProcnode.c:TupleHashEntryGetTuple Unexecuted instantiation: execReplication.c:TupleHashEntryGetTuple Unexecuted instantiation: execSRF.c:TupleHashEntryGetTuple Unexecuted instantiation: execScan.c:TupleHashEntryGetTuple Unexecuted instantiation: execTuples.c:TupleHashEntryGetTuple Unexecuted instantiation: execUtils.c:TupleHashEntryGetTuple Unexecuted instantiation: functions.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeAgg.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeAppend.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeBitmapAnd.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeBitmapHeapscan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeBitmapIndexscan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeBitmapOr.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeCtescan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeCustom.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeForeignscan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeFunctionscan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeGather.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeGatherMerge.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeGroup.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeHash.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeHashjoin.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeIncrementalSort.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeIndexonlyscan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeIndexscan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeLimit.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeLockRows.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeMaterial.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeMemoize.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeMergeAppend.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeMergejoin.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeModifyTable.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeNamedtuplestorescan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeNestloop.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeProjectSet.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeRecursiveunion.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeResult.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeSamplescan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeSeqscan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeSetOp.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeSort.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeSubplan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeSubqueryscan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeTableFuncscan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeTidrangescan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeTidscan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeUnique.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeValuesscan.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeWindowAgg.c:TupleHashEntryGetTuple Unexecuted instantiation: nodeWorktablescan.c:TupleHashEntryGetTuple Unexecuted instantiation: spi.c:TupleHashEntryGetTuple Unexecuted instantiation: foreign.c:TupleHashEntryGetTuple Unexecuted instantiation: costsize.c:TupleHashEntryGetTuple Unexecuted instantiation: joinpath.c:TupleHashEntryGetTuple Unexecuted instantiation: planner.c:TupleHashEntryGetTuple Unexecuted instantiation: subselect.c:TupleHashEntryGetTuple Unexecuted instantiation: prepjointree.c:TupleHashEntryGetTuple Unexecuted instantiation: clauses.c:TupleHashEntryGetTuple Unexecuted instantiation: predtest.c:TupleHashEntryGetTuple Unexecuted instantiation: partbounds.c:TupleHashEntryGetTuple Unexecuted instantiation: partprune.c:TupleHashEntryGetTuple Unexecuted instantiation: conflict.c:TupleHashEntryGetTuple Unexecuted instantiation: launcher.c:TupleHashEntryGetTuple Unexecuted instantiation: logicalfuncs.c:TupleHashEntryGetTuple Unexecuted instantiation: origin.c:TupleHashEntryGetTuple Unexecuted instantiation: relation.c:TupleHashEntryGetTuple Unexecuted instantiation: worker.c:TupleHashEntryGetTuple Unexecuted instantiation: slotfuncs.c:TupleHashEntryGetTuple Unexecuted instantiation: walreceiver.c:TupleHashEntryGetTuple Unexecuted instantiation: walsender.c:TupleHashEntryGetTuple Unexecuted instantiation: rewriteHandler.c:TupleHashEntryGetTuple Unexecuted instantiation: basebackup_copy.c:TupleHashEntryGetTuple Unexecuted instantiation: walsummaryfuncs.c:TupleHashEntryGetTuple Unexecuted instantiation: extended_stats.c:TupleHashEntryGetTuple Unexecuted instantiation: mcv.c:TupleHashEntryGetTuple Unexecuted instantiation: stat_utils.c:TupleHashEntryGetTuple Unexecuted instantiation: aio_funcs.c:TupleHashEntryGetTuple Unexecuted instantiation: shmem.c:TupleHashEntryGetTuple Unexecuted instantiation: pquery.c:TupleHashEntryGetTuple Unexecuted instantiation: utility.c:TupleHashEntryGetTuple Unexecuted instantiation: wparser.c:TupleHashEntryGetTuple Unexecuted instantiation: wait_event_funcs.c:TupleHashEntryGetTuple Unexecuted instantiation: acl.c:TupleHashEntryGetTuple Unexecuted instantiation: arrayfuncs.c:TupleHashEntryGetTuple Unexecuted instantiation: datetime.c:TupleHashEntryGetTuple Unexecuted instantiation: domains.c:TupleHashEntryGetTuple Unexecuted instantiation: genfile.c:TupleHashEntryGetTuple Unexecuted instantiation: hbafuncs.c:TupleHashEntryGetTuple Unexecuted instantiation: int.c:TupleHashEntryGetTuple Unexecuted instantiation: int8.c:TupleHashEntryGetTuple Unexecuted instantiation: json.c:TupleHashEntryGetTuple Unexecuted instantiation: jsonb.c:TupleHashEntryGetTuple Unexecuted instantiation: jsonfuncs.c:TupleHashEntryGetTuple Unexecuted instantiation: jsonpath_exec.c:TupleHashEntryGetTuple Unexecuted instantiation: lockfuncs.c:TupleHashEntryGetTuple Unexecuted instantiation: mcxtfuncs.c:TupleHashEntryGetTuple Unexecuted instantiation: misc.c:TupleHashEntryGetTuple Unexecuted instantiation: multirangetypes.c:TupleHashEntryGetTuple Unexecuted instantiation: numeric.c:TupleHashEntryGetTuple Unexecuted instantiation: orderedsetaggs.c:TupleHashEntryGetTuple Unexecuted instantiation: partitionfuncs.c:TupleHashEntryGetTuple Unexecuted instantiation: pgstatfuncs.c:TupleHashEntryGetTuple Unexecuted instantiation: regexp.c:TupleHashEntryGetTuple Unexecuted instantiation: ri_triggers.c:TupleHashEntryGetTuple Unexecuted instantiation: rowtypes.c:TupleHashEntryGetTuple Unexecuted instantiation: ruleutils.c:TupleHashEntryGetTuple Unexecuted instantiation: timestamp.c:TupleHashEntryGetTuple Unexecuted instantiation: tsvector_op.c:TupleHashEntryGetTuple Unexecuted instantiation: varlena.c:TupleHashEntryGetTuple Unexecuted instantiation: xid8funcs.c:TupleHashEntryGetTuple Unexecuted instantiation: funccache.c:TupleHashEntryGetTuple Unexecuted instantiation: plancache.c:TupleHashEntryGetTuple Unexecuted instantiation: typcache.c:TupleHashEntryGetTuple Unexecuted instantiation: funcapi.c:TupleHashEntryGetTuple Unexecuted instantiation: guc_funcs.c:TupleHashEntryGetTuple Unexecuted instantiation: pg_config.c:TupleHashEntryGetTuple Unexecuted instantiation: pg_controldata.c:TupleHashEntryGetTuple Unexecuted instantiation: portalmem.c:TupleHashEntryGetTuple Unexecuted instantiation: tuplesortvariants.c:TupleHashEntryGetTuple Unexecuted instantiation: tuplestore.c:TupleHashEntryGetTuple |
178 | | |
179 | | /* |
180 | | * Get a pointer into the additional space allocated for this entry. The |
181 | | * memory will be maxaligned and zeroed. |
182 | | * |
183 | | * The amount of space available is the additionalsize requested in the call |
184 | | * to BuildTupleHashTable(). If additionalsize was specified as zero, return |
185 | | * NULL. |
186 | | */ |
187 | | static inline void * |
188 | | TupleHashEntryGetAdditional(TupleHashTable hashtable, TupleHashEntry entry) |
189 | 0 | { |
190 | 0 | if (hashtable->additionalsize > 0) |
191 | 0 | return (char *) entry->firstTuple - hashtable->additionalsize; |
192 | 0 | else |
193 | 0 | return NULL; |
194 | 0 | } Unexecuted instantiation: heapam_handler.c:TupleHashEntryGetAdditional Unexecuted instantiation: commit_ts.c:TupleHashEntryGetAdditional Unexecuted instantiation: multixact.c:TupleHashEntryGetAdditional Unexecuted instantiation: rmgr.c:TupleHashEntryGetAdditional Unexecuted instantiation: twophase.c:TupleHashEntryGetAdditional Unexecuted instantiation: xlogfuncs.c:TupleHashEntryGetAdditional Unexecuted instantiation: xlogprefetcher.c:TupleHashEntryGetAdditional Unexecuted instantiation: dependency.c:TupleHashEntryGetAdditional Unexecuted instantiation: index.c:TupleHashEntryGetAdditional Unexecuted instantiation: indexing.c:TupleHashEntryGetAdditional Unexecuted instantiation: namespace.c:TupleHashEntryGetAdditional Unexecuted instantiation: objectaddress.c:TupleHashEntryGetAdditional Unexecuted instantiation: pg_proc.c:TupleHashEntryGetAdditional Unexecuted instantiation: pg_publication.c:TupleHashEntryGetAdditional Unexecuted instantiation: parse_func.c:TupleHashEntryGetAdditional Unexecuted instantiation: parse_relation.c:TupleHashEntryGetAdditional Unexecuted instantiation: parse_target.c:TupleHashEntryGetAdditional Unexecuted instantiation: analyze.c:TupleHashEntryGetAdditional Unexecuted instantiation: async.c:TupleHashEntryGetAdditional Unexecuted instantiation: constraint.c:TupleHashEntryGetAdditional Unexecuted instantiation: copy.c:TupleHashEntryGetAdditional Unexecuted instantiation: copyfrom.c:TupleHashEntryGetAdditional Unexecuted instantiation: copyfromparse.c:TupleHashEntryGetAdditional Unexecuted instantiation: copyto.c:TupleHashEntryGetAdditional Unexecuted instantiation: createas.c:TupleHashEntryGetAdditional Unexecuted instantiation: event_trigger.c:TupleHashEntryGetAdditional Unexecuted instantiation: explain.c:TupleHashEntryGetAdditional Unexecuted instantiation: explain_dr.c:TupleHashEntryGetAdditional Unexecuted instantiation: explain_format.c:TupleHashEntryGetAdditional Unexecuted instantiation: explain_state.c:TupleHashEntryGetAdditional Unexecuted instantiation: extension.c:TupleHashEntryGetAdditional Unexecuted instantiation: functioncmds.c:TupleHashEntryGetAdditional Unexecuted instantiation: matview.c:TupleHashEntryGetAdditional Unexecuted instantiation: portalcmds.c:TupleHashEntryGetAdditional Unexecuted instantiation: prepare.c:TupleHashEntryGetAdditional Unexecuted instantiation: sequence.c:TupleHashEntryGetAdditional Unexecuted instantiation: subscriptioncmds.c:TupleHashEntryGetAdditional Unexecuted instantiation: tablecmds.c:TupleHashEntryGetAdditional Unexecuted instantiation: trigger.c:TupleHashEntryGetAdditional Unexecuted instantiation: typecmds.c:TupleHashEntryGetAdditional Unexecuted instantiation: execAmi.c:TupleHashEntryGetAdditional Unexecuted instantiation: execAsync.c:TupleHashEntryGetAdditional Unexecuted instantiation: execCurrent.c:TupleHashEntryGetAdditional Unexecuted instantiation: execExpr.c:TupleHashEntryGetAdditional Unexecuted instantiation: execExprInterp.c:TupleHashEntryGetAdditional Unexecuted instantiation: execGrouping.c:TupleHashEntryGetAdditional Unexecuted instantiation: execIndexing.c:TupleHashEntryGetAdditional Unexecuted instantiation: execJunk.c:TupleHashEntryGetAdditional Unexecuted instantiation: execMain.c:TupleHashEntryGetAdditional Unexecuted instantiation: execParallel.c:TupleHashEntryGetAdditional Unexecuted instantiation: execPartition.c:TupleHashEntryGetAdditional Unexecuted instantiation: execProcnode.c:TupleHashEntryGetAdditional Unexecuted instantiation: execReplication.c:TupleHashEntryGetAdditional Unexecuted instantiation: execSRF.c:TupleHashEntryGetAdditional Unexecuted instantiation: execScan.c:TupleHashEntryGetAdditional Unexecuted instantiation: execTuples.c:TupleHashEntryGetAdditional Unexecuted instantiation: execUtils.c:TupleHashEntryGetAdditional Unexecuted instantiation: functions.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeAgg.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeAppend.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeBitmapAnd.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeBitmapHeapscan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeBitmapIndexscan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeBitmapOr.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeCtescan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeCustom.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeForeignscan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeFunctionscan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeGather.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeGatherMerge.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeGroup.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeHash.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeHashjoin.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeIncrementalSort.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeIndexonlyscan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeIndexscan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeLimit.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeLockRows.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeMaterial.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeMemoize.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeMergeAppend.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeMergejoin.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeModifyTable.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeNamedtuplestorescan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeNestloop.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeProjectSet.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeRecursiveunion.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeResult.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeSamplescan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeSeqscan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeSetOp.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeSort.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeSubplan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeSubqueryscan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeTableFuncscan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeTidrangescan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeTidscan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeUnique.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeValuesscan.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeWindowAgg.c:TupleHashEntryGetAdditional Unexecuted instantiation: nodeWorktablescan.c:TupleHashEntryGetAdditional Unexecuted instantiation: spi.c:TupleHashEntryGetAdditional Unexecuted instantiation: foreign.c:TupleHashEntryGetAdditional Unexecuted instantiation: costsize.c:TupleHashEntryGetAdditional Unexecuted instantiation: joinpath.c:TupleHashEntryGetAdditional Unexecuted instantiation: planner.c:TupleHashEntryGetAdditional Unexecuted instantiation: subselect.c:TupleHashEntryGetAdditional Unexecuted instantiation: prepjointree.c:TupleHashEntryGetAdditional Unexecuted instantiation: clauses.c:TupleHashEntryGetAdditional Unexecuted instantiation: predtest.c:TupleHashEntryGetAdditional Unexecuted instantiation: partbounds.c:TupleHashEntryGetAdditional Unexecuted instantiation: partprune.c:TupleHashEntryGetAdditional Unexecuted instantiation: conflict.c:TupleHashEntryGetAdditional Unexecuted instantiation: launcher.c:TupleHashEntryGetAdditional Unexecuted instantiation: logicalfuncs.c:TupleHashEntryGetAdditional Unexecuted instantiation: origin.c:TupleHashEntryGetAdditional Unexecuted instantiation: relation.c:TupleHashEntryGetAdditional Unexecuted instantiation: worker.c:TupleHashEntryGetAdditional Unexecuted instantiation: slotfuncs.c:TupleHashEntryGetAdditional Unexecuted instantiation: walreceiver.c:TupleHashEntryGetAdditional Unexecuted instantiation: walsender.c:TupleHashEntryGetAdditional Unexecuted instantiation: rewriteHandler.c:TupleHashEntryGetAdditional Unexecuted instantiation: basebackup_copy.c:TupleHashEntryGetAdditional Unexecuted instantiation: walsummaryfuncs.c:TupleHashEntryGetAdditional Unexecuted instantiation: extended_stats.c:TupleHashEntryGetAdditional Unexecuted instantiation: mcv.c:TupleHashEntryGetAdditional Unexecuted instantiation: stat_utils.c:TupleHashEntryGetAdditional Unexecuted instantiation: aio_funcs.c:TupleHashEntryGetAdditional Unexecuted instantiation: shmem.c:TupleHashEntryGetAdditional Unexecuted instantiation: pquery.c:TupleHashEntryGetAdditional Unexecuted instantiation: utility.c:TupleHashEntryGetAdditional Unexecuted instantiation: wparser.c:TupleHashEntryGetAdditional Unexecuted instantiation: wait_event_funcs.c:TupleHashEntryGetAdditional Unexecuted instantiation: acl.c:TupleHashEntryGetAdditional Unexecuted instantiation: arrayfuncs.c:TupleHashEntryGetAdditional Unexecuted instantiation: datetime.c:TupleHashEntryGetAdditional Unexecuted instantiation: domains.c:TupleHashEntryGetAdditional Unexecuted instantiation: genfile.c:TupleHashEntryGetAdditional Unexecuted instantiation: hbafuncs.c:TupleHashEntryGetAdditional Unexecuted instantiation: int.c:TupleHashEntryGetAdditional Unexecuted instantiation: int8.c:TupleHashEntryGetAdditional Unexecuted instantiation: json.c:TupleHashEntryGetAdditional Unexecuted instantiation: jsonb.c:TupleHashEntryGetAdditional Unexecuted instantiation: jsonfuncs.c:TupleHashEntryGetAdditional Unexecuted instantiation: jsonpath_exec.c:TupleHashEntryGetAdditional Unexecuted instantiation: lockfuncs.c:TupleHashEntryGetAdditional Unexecuted instantiation: mcxtfuncs.c:TupleHashEntryGetAdditional Unexecuted instantiation: misc.c:TupleHashEntryGetAdditional Unexecuted instantiation: multirangetypes.c:TupleHashEntryGetAdditional Unexecuted instantiation: numeric.c:TupleHashEntryGetAdditional Unexecuted instantiation: orderedsetaggs.c:TupleHashEntryGetAdditional Unexecuted instantiation: partitionfuncs.c:TupleHashEntryGetAdditional Unexecuted instantiation: pgstatfuncs.c:TupleHashEntryGetAdditional Unexecuted instantiation: regexp.c:TupleHashEntryGetAdditional Unexecuted instantiation: ri_triggers.c:TupleHashEntryGetAdditional Unexecuted instantiation: rowtypes.c:TupleHashEntryGetAdditional Unexecuted instantiation: ruleutils.c:TupleHashEntryGetAdditional Unexecuted instantiation: timestamp.c:TupleHashEntryGetAdditional Unexecuted instantiation: tsvector_op.c:TupleHashEntryGetAdditional Unexecuted instantiation: varlena.c:TupleHashEntryGetAdditional Unexecuted instantiation: xid8funcs.c:TupleHashEntryGetAdditional Unexecuted instantiation: funccache.c:TupleHashEntryGetAdditional Unexecuted instantiation: plancache.c:TupleHashEntryGetAdditional Unexecuted instantiation: typcache.c:TupleHashEntryGetAdditional Unexecuted instantiation: funcapi.c:TupleHashEntryGetAdditional Unexecuted instantiation: guc_funcs.c:TupleHashEntryGetAdditional Unexecuted instantiation: pg_config.c:TupleHashEntryGetAdditional Unexecuted instantiation: pg_controldata.c:TupleHashEntryGetAdditional Unexecuted instantiation: portalmem.c:TupleHashEntryGetAdditional Unexecuted instantiation: tuplesortvariants.c:TupleHashEntryGetAdditional Unexecuted instantiation: tuplestore.c:TupleHashEntryGetAdditional |
195 | | #endif |
196 | | |
197 | | /* |
198 | | * prototypes from functions in execJunk.c |
199 | | */ |
200 | | extern JunkFilter *ExecInitJunkFilter(List *targetList, |
201 | | TupleTableSlot *slot); |
202 | | extern JunkFilter *ExecInitJunkFilterConversion(List *targetList, |
203 | | TupleDesc cleanTupType, |
204 | | TupleTableSlot *slot); |
205 | | extern AttrNumber ExecFindJunkAttribute(JunkFilter *junkfilter, |
206 | | const char *attrName); |
207 | | extern AttrNumber ExecFindJunkAttributeInTlist(List *targetlist, |
208 | | const char *attrName); |
209 | | extern TupleTableSlot *ExecFilterJunk(JunkFilter *junkfilter, |
210 | | TupleTableSlot *slot); |
211 | | |
212 | | /* |
213 | | * ExecGetJunkAttribute |
214 | | * |
215 | | * Given a junk filter's input tuple (slot) and a junk attribute's number |
216 | | * previously found by ExecFindJunkAttribute, extract & return the value and |
217 | | * isNull flag of the attribute. |
218 | | */ |
219 | | #ifndef FRONTEND |
220 | | static inline Datum |
221 | | ExecGetJunkAttribute(TupleTableSlot *slot, AttrNumber attno, bool *isNull) |
222 | 0 | { |
223 | 0 | Assert(attno > 0); |
224 | 0 | return slot_getattr(slot, attno, isNull); |
225 | 0 | } Unexecuted instantiation: heapam_handler.c:ExecGetJunkAttribute Unexecuted instantiation: commit_ts.c:ExecGetJunkAttribute Unexecuted instantiation: multixact.c:ExecGetJunkAttribute Unexecuted instantiation: rmgr.c:ExecGetJunkAttribute Unexecuted instantiation: twophase.c:ExecGetJunkAttribute Unexecuted instantiation: xlogfuncs.c:ExecGetJunkAttribute Unexecuted instantiation: xlogprefetcher.c:ExecGetJunkAttribute Unexecuted instantiation: dependency.c:ExecGetJunkAttribute Unexecuted instantiation: index.c:ExecGetJunkAttribute Unexecuted instantiation: indexing.c:ExecGetJunkAttribute Unexecuted instantiation: namespace.c:ExecGetJunkAttribute Unexecuted instantiation: objectaddress.c:ExecGetJunkAttribute Unexecuted instantiation: pg_proc.c:ExecGetJunkAttribute Unexecuted instantiation: pg_publication.c:ExecGetJunkAttribute Unexecuted instantiation: parse_func.c:ExecGetJunkAttribute Unexecuted instantiation: parse_relation.c:ExecGetJunkAttribute Unexecuted instantiation: parse_target.c:ExecGetJunkAttribute Unexecuted instantiation: analyze.c:ExecGetJunkAttribute Unexecuted instantiation: async.c:ExecGetJunkAttribute Unexecuted instantiation: constraint.c:ExecGetJunkAttribute Unexecuted instantiation: copy.c:ExecGetJunkAttribute Unexecuted instantiation: copyfrom.c:ExecGetJunkAttribute Unexecuted instantiation: copyfromparse.c:ExecGetJunkAttribute Unexecuted instantiation: copyto.c:ExecGetJunkAttribute Unexecuted instantiation: createas.c:ExecGetJunkAttribute Unexecuted instantiation: event_trigger.c:ExecGetJunkAttribute Unexecuted instantiation: explain.c:ExecGetJunkAttribute Unexecuted instantiation: explain_dr.c:ExecGetJunkAttribute Unexecuted instantiation: explain_format.c:ExecGetJunkAttribute Unexecuted instantiation: explain_state.c:ExecGetJunkAttribute Unexecuted instantiation: extension.c:ExecGetJunkAttribute Unexecuted instantiation: functioncmds.c:ExecGetJunkAttribute Unexecuted instantiation: matview.c:ExecGetJunkAttribute Unexecuted instantiation: portalcmds.c:ExecGetJunkAttribute Unexecuted instantiation: prepare.c:ExecGetJunkAttribute Unexecuted instantiation: sequence.c:ExecGetJunkAttribute Unexecuted instantiation: subscriptioncmds.c:ExecGetJunkAttribute Unexecuted instantiation: tablecmds.c:ExecGetJunkAttribute Unexecuted instantiation: trigger.c:ExecGetJunkAttribute Unexecuted instantiation: typecmds.c:ExecGetJunkAttribute Unexecuted instantiation: execAmi.c:ExecGetJunkAttribute Unexecuted instantiation: execAsync.c:ExecGetJunkAttribute Unexecuted instantiation: execCurrent.c:ExecGetJunkAttribute Unexecuted instantiation: execExpr.c:ExecGetJunkAttribute Unexecuted instantiation: execExprInterp.c:ExecGetJunkAttribute Unexecuted instantiation: execGrouping.c:ExecGetJunkAttribute Unexecuted instantiation: execIndexing.c:ExecGetJunkAttribute Unexecuted instantiation: execJunk.c:ExecGetJunkAttribute Unexecuted instantiation: execMain.c:ExecGetJunkAttribute Unexecuted instantiation: execParallel.c:ExecGetJunkAttribute Unexecuted instantiation: execPartition.c:ExecGetJunkAttribute Unexecuted instantiation: execProcnode.c:ExecGetJunkAttribute Unexecuted instantiation: execReplication.c:ExecGetJunkAttribute Unexecuted instantiation: execSRF.c:ExecGetJunkAttribute Unexecuted instantiation: execScan.c:ExecGetJunkAttribute Unexecuted instantiation: execTuples.c:ExecGetJunkAttribute Unexecuted instantiation: execUtils.c:ExecGetJunkAttribute Unexecuted instantiation: functions.c:ExecGetJunkAttribute Unexecuted instantiation: nodeAgg.c:ExecGetJunkAttribute Unexecuted instantiation: nodeAppend.c:ExecGetJunkAttribute Unexecuted instantiation: nodeBitmapAnd.c:ExecGetJunkAttribute Unexecuted instantiation: nodeBitmapHeapscan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeBitmapIndexscan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeBitmapOr.c:ExecGetJunkAttribute Unexecuted instantiation: nodeCtescan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeCustom.c:ExecGetJunkAttribute Unexecuted instantiation: nodeForeignscan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeFunctionscan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeGather.c:ExecGetJunkAttribute Unexecuted instantiation: nodeGatherMerge.c:ExecGetJunkAttribute Unexecuted instantiation: nodeGroup.c:ExecGetJunkAttribute Unexecuted instantiation: nodeHash.c:ExecGetJunkAttribute Unexecuted instantiation: nodeHashjoin.c:ExecGetJunkAttribute Unexecuted instantiation: nodeIncrementalSort.c:ExecGetJunkAttribute Unexecuted instantiation: nodeIndexonlyscan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeIndexscan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeLimit.c:ExecGetJunkAttribute Unexecuted instantiation: nodeLockRows.c:ExecGetJunkAttribute Unexecuted instantiation: nodeMaterial.c:ExecGetJunkAttribute Unexecuted instantiation: nodeMemoize.c:ExecGetJunkAttribute Unexecuted instantiation: nodeMergeAppend.c:ExecGetJunkAttribute Unexecuted instantiation: nodeMergejoin.c:ExecGetJunkAttribute Unexecuted instantiation: nodeModifyTable.c:ExecGetJunkAttribute Unexecuted instantiation: nodeNamedtuplestorescan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeNestloop.c:ExecGetJunkAttribute Unexecuted instantiation: nodeProjectSet.c:ExecGetJunkAttribute Unexecuted instantiation: nodeRecursiveunion.c:ExecGetJunkAttribute Unexecuted instantiation: nodeResult.c:ExecGetJunkAttribute Unexecuted instantiation: nodeSamplescan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeSeqscan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeSetOp.c:ExecGetJunkAttribute Unexecuted instantiation: nodeSort.c:ExecGetJunkAttribute Unexecuted instantiation: nodeSubplan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeSubqueryscan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeTableFuncscan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeTidrangescan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeTidscan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeUnique.c:ExecGetJunkAttribute Unexecuted instantiation: nodeValuesscan.c:ExecGetJunkAttribute Unexecuted instantiation: nodeWindowAgg.c:ExecGetJunkAttribute Unexecuted instantiation: nodeWorktablescan.c:ExecGetJunkAttribute Unexecuted instantiation: spi.c:ExecGetJunkAttribute Unexecuted instantiation: foreign.c:ExecGetJunkAttribute Unexecuted instantiation: costsize.c:ExecGetJunkAttribute Unexecuted instantiation: joinpath.c:ExecGetJunkAttribute Unexecuted instantiation: planner.c:ExecGetJunkAttribute Unexecuted instantiation: subselect.c:ExecGetJunkAttribute Unexecuted instantiation: prepjointree.c:ExecGetJunkAttribute Unexecuted instantiation: clauses.c:ExecGetJunkAttribute Unexecuted instantiation: predtest.c:ExecGetJunkAttribute Unexecuted instantiation: partbounds.c:ExecGetJunkAttribute Unexecuted instantiation: partprune.c:ExecGetJunkAttribute Unexecuted instantiation: conflict.c:ExecGetJunkAttribute Unexecuted instantiation: launcher.c:ExecGetJunkAttribute Unexecuted instantiation: logicalfuncs.c:ExecGetJunkAttribute Unexecuted instantiation: origin.c:ExecGetJunkAttribute Unexecuted instantiation: relation.c:ExecGetJunkAttribute Unexecuted instantiation: worker.c:ExecGetJunkAttribute Unexecuted instantiation: slotfuncs.c:ExecGetJunkAttribute Unexecuted instantiation: walreceiver.c:ExecGetJunkAttribute Unexecuted instantiation: walsender.c:ExecGetJunkAttribute Unexecuted instantiation: rewriteHandler.c:ExecGetJunkAttribute Unexecuted instantiation: basebackup_copy.c:ExecGetJunkAttribute Unexecuted instantiation: walsummaryfuncs.c:ExecGetJunkAttribute Unexecuted instantiation: extended_stats.c:ExecGetJunkAttribute Unexecuted instantiation: mcv.c:ExecGetJunkAttribute Unexecuted instantiation: stat_utils.c:ExecGetJunkAttribute Unexecuted instantiation: aio_funcs.c:ExecGetJunkAttribute Unexecuted instantiation: shmem.c:ExecGetJunkAttribute Unexecuted instantiation: pquery.c:ExecGetJunkAttribute Unexecuted instantiation: utility.c:ExecGetJunkAttribute Unexecuted instantiation: wparser.c:ExecGetJunkAttribute Unexecuted instantiation: wait_event_funcs.c:ExecGetJunkAttribute Unexecuted instantiation: acl.c:ExecGetJunkAttribute Unexecuted instantiation: arrayfuncs.c:ExecGetJunkAttribute Unexecuted instantiation: datetime.c:ExecGetJunkAttribute Unexecuted instantiation: domains.c:ExecGetJunkAttribute Unexecuted instantiation: genfile.c:ExecGetJunkAttribute Unexecuted instantiation: hbafuncs.c:ExecGetJunkAttribute Unexecuted instantiation: int.c:ExecGetJunkAttribute Unexecuted instantiation: int8.c:ExecGetJunkAttribute Unexecuted instantiation: json.c:ExecGetJunkAttribute Unexecuted instantiation: jsonb.c:ExecGetJunkAttribute Unexecuted instantiation: jsonfuncs.c:ExecGetJunkAttribute Unexecuted instantiation: jsonpath_exec.c:ExecGetJunkAttribute Unexecuted instantiation: lockfuncs.c:ExecGetJunkAttribute Unexecuted instantiation: mcxtfuncs.c:ExecGetJunkAttribute Unexecuted instantiation: misc.c:ExecGetJunkAttribute Unexecuted instantiation: multirangetypes.c:ExecGetJunkAttribute Unexecuted instantiation: numeric.c:ExecGetJunkAttribute Unexecuted instantiation: orderedsetaggs.c:ExecGetJunkAttribute Unexecuted instantiation: partitionfuncs.c:ExecGetJunkAttribute Unexecuted instantiation: pgstatfuncs.c:ExecGetJunkAttribute Unexecuted instantiation: regexp.c:ExecGetJunkAttribute Unexecuted instantiation: ri_triggers.c:ExecGetJunkAttribute Unexecuted instantiation: rowtypes.c:ExecGetJunkAttribute Unexecuted instantiation: ruleutils.c:ExecGetJunkAttribute Unexecuted instantiation: timestamp.c:ExecGetJunkAttribute Unexecuted instantiation: tsvector_op.c:ExecGetJunkAttribute Unexecuted instantiation: varlena.c:ExecGetJunkAttribute Unexecuted instantiation: xid8funcs.c:ExecGetJunkAttribute Unexecuted instantiation: funccache.c:ExecGetJunkAttribute Unexecuted instantiation: plancache.c:ExecGetJunkAttribute Unexecuted instantiation: typcache.c:ExecGetJunkAttribute Unexecuted instantiation: funcapi.c:ExecGetJunkAttribute Unexecuted instantiation: guc_funcs.c:ExecGetJunkAttribute Unexecuted instantiation: pg_config.c:ExecGetJunkAttribute Unexecuted instantiation: pg_controldata.c:ExecGetJunkAttribute Unexecuted instantiation: portalmem.c:ExecGetJunkAttribute Unexecuted instantiation: tuplesortvariants.c:ExecGetJunkAttribute Unexecuted instantiation: tuplestore.c:ExecGetJunkAttribute |
226 | | #endif |
227 | | |
228 | | /* |
229 | | * prototypes from functions in execMain.c |
230 | | */ |
231 | | extern void ExecutorStart(QueryDesc *queryDesc, int eflags); |
232 | | extern void standard_ExecutorStart(QueryDesc *queryDesc, int eflags); |
233 | | extern void ExecutorRun(QueryDesc *queryDesc, |
234 | | ScanDirection direction, uint64 count); |
235 | | extern void standard_ExecutorRun(QueryDesc *queryDesc, |
236 | | ScanDirection direction, uint64 count); |
237 | | extern void ExecutorFinish(QueryDesc *queryDesc); |
238 | | extern void standard_ExecutorFinish(QueryDesc *queryDesc); |
239 | | extern void ExecutorEnd(QueryDesc *queryDesc); |
240 | | extern void standard_ExecutorEnd(QueryDesc *queryDesc); |
241 | | extern void ExecutorRewind(QueryDesc *queryDesc); |
242 | | extern bool ExecCheckPermissions(List *rangeTable, |
243 | | List *rteperminfos, bool ereport_on_violation); |
244 | | extern void CheckValidResultRel(ResultRelInfo *resultRelInfo, CmdType operation, |
245 | | List *mergeActions); |
246 | | extern void InitResultRelInfo(ResultRelInfo *resultRelInfo, |
247 | | Relation resultRelationDesc, |
248 | | Index resultRelationIndex, |
249 | | ResultRelInfo *partition_root_rri, |
250 | | int instrument_options); |
251 | | extern ResultRelInfo *ExecGetTriggerResultRel(EState *estate, Oid relid, |
252 | | ResultRelInfo *rootRelInfo); |
253 | | extern List *ExecGetAncestorResultRels(EState *estate, ResultRelInfo *resultRelInfo); |
254 | | extern void ExecConstraints(ResultRelInfo *resultRelInfo, |
255 | | TupleTableSlot *slot, EState *estate); |
256 | | extern AttrNumber ExecRelGenVirtualNotNull(ResultRelInfo *resultRelInfo, |
257 | | TupleTableSlot *slot, |
258 | | EState *estate, |
259 | | List *notnull_virtual_attrs); |
260 | | extern bool ExecPartitionCheck(ResultRelInfo *resultRelInfo, |
261 | | TupleTableSlot *slot, EState *estate, bool emitError); |
262 | | extern void ExecPartitionCheckEmitError(ResultRelInfo *resultRelInfo, |
263 | | TupleTableSlot *slot, EState *estate); |
264 | | extern void ExecWithCheckOptions(WCOKind kind, ResultRelInfo *resultRelInfo, |
265 | | TupleTableSlot *slot, EState *estate); |
266 | | extern char *ExecBuildSlotValueDescription(Oid reloid, TupleTableSlot *slot, |
267 | | TupleDesc tupdesc, |
268 | | Bitmapset *modifiedCols, |
269 | | int maxfieldlen); |
270 | | extern LockTupleMode ExecUpdateLockMode(EState *estate, ResultRelInfo *relinfo); |
271 | | extern ExecRowMark *ExecFindRowMark(EState *estate, Index rti, bool missing_ok); |
272 | | extern ExecAuxRowMark *ExecBuildAuxRowMark(ExecRowMark *erm, List *targetlist); |
273 | | extern TupleTableSlot *EvalPlanQual(EPQState *epqstate, Relation relation, |
274 | | Index rti, TupleTableSlot *inputslot); |
275 | | extern void EvalPlanQualInit(EPQState *epqstate, EState *parentestate, |
276 | | Plan *subplan, List *auxrowmarks, |
277 | | int epqParam, List *resultRelations); |
278 | | extern void EvalPlanQualSetPlan(EPQState *epqstate, |
279 | | Plan *subplan, List *auxrowmarks); |
280 | | extern TupleTableSlot *EvalPlanQualSlot(EPQState *epqstate, |
281 | | Relation relation, Index rti); |
282 | | |
283 | 0 | #define EvalPlanQualSetSlot(epqstate, slot) ((epqstate)->origslot = (slot)) |
284 | | extern bool EvalPlanQualFetchRowMark(EPQState *epqstate, Index rti, TupleTableSlot *slot); |
285 | | extern TupleTableSlot *EvalPlanQualNext(EPQState *epqstate); |
286 | | extern void EvalPlanQualBegin(EPQState *epqstate); |
287 | | extern void EvalPlanQualEnd(EPQState *epqstate); |
288 | | |
289 | | /* |
290 | | * functions in execProcnode.c |
291 | | */ |
292 | | extern PlanState *ExecInitNode(Plan *node, EState *estate, int eflags); |
293 | | extern void ExecSetExecProcNode(PlanState *node, ExecProcNodeMtd function); |
294 | | extern Node *MultiExecProcNode(PlanState *node); |
295 | | extern void ExecEndNode(PlanState *node); |
296 | | extern void ExecShutdownNode(PlanState *node); |
297 | | extern void ExecSetTupleBound(int64 tuples_needed, PlanState *child_node); |
298 | | |
299 | | |
300 | | /* ---------------------------------------------------------------- |
301 | | * ExecProcNode |
302 | | * |
303 | | * Execute the given node to return a(nother) tuple. |
304 | | * ---------------------------------------------------------------- |
305 | | */ |
306 | | #ifndef FRONTEND |
307 | | static inline TupleTableSlot * |
308 | | ExecProcNode(PlanState *node) |
309 | 0 | { |
310 | 0 | if (node->chgParam != NULL) /* something changed? */ |
311 | 0 | ExecReScan(node); /* let ReScan handle this */ |
312 | |
|
313 | 0 | return node->ExecProcNode(node); |
314 | 0 | } Unexecuted instantiation: heapam_handler.c:ExecProcNode Unexecuted instantiation: commit_ts.c:ExecProcNode Unexecuted instantiation: multixact.c:ExecProcNode Unexecuted instantiation: rmgr.c:ExecProcNode Unexecuted instantiation: twophase.c:ExecProcNode Unexecuted instantiation: xlogfuncs.c:ExecProcNode Unexecuted instantiation: xlogprefetcher.c:ExecProcNode Unexecuted instantiation: dependency.c:ExecProcNode Unexecuted instantiation: index.c:ExecProcNode Unexecuted instantiation: indexing.c:ExecProcNode Unexecuted instantiation: namespace.c:ExecProcNode Unexecuted instantiation: objectaddress.c:ExecProcNode Unexecuted instantiation: pg_proc.c:ExecProcNode Unexecuted instantiation: pg_publication.c:ExecProcNode Unexecuted instantiation: parse_func.c:ExecProcNode Unexecuted instantiation: parse_relation.c:ExecProcNode Unexecuted instantiation: parse_target.c:ExecProcNode Unexecuted instantiation: analyze.c:ExecProcNode Unexecuted instantiation: async.c:ExecProcNode Unexecuted instantiation: constraint.c:ExecProcNode Unexecuted instantiation: copy.c:ExecProcNode Unexecuted instantiation: copyfrom.c:ExecProcNode Unexecuted instantiation: copyfromparse.c:ExecProcNode Unexecuted instantiation: copyto.c:ExecProcNode Unexecuted instantiation: createas.c:ExecProcNode Unexecuted instantiation: event_trigger.c:ExecProcNode Unexecuted instantiation: explain.c:ExecProcNode Unexecuted instantiation: explain_dr.c:ExecProcNode Unexecuted instantiation: explain_format.c:ExecProcNode Unexecuted instantiation: explain_state.c:ExecProcNode Unexecuted instantiation: extension.c:ExecProcNode Unexecuted instantiation: functioncmds.c:ExecProcNode Unexecuted instantiation: matview.c:ExecProcNode Unexecuted instantiation: portalcmds.c:ExecProcNode Unexecuted instantiation: prepare.c:ExecProcNode Unexecuted instantiation: sequence.c:ExecProcNode Unexecuted instantiation: subscriptioncmds.c:ExecProcNode Unexecuted instantiation: tablecmds.c:ExecProcNode Unexecuted instantiation: trigger.c:ExecProcNode Unexecuted instantiation: typecmds.c:ExecProcNode Unexecuted instantiation: execAmi.c:ExecProcNode Unexecuted instantiation: execAsync.c:ExecProcNode Unexecuted instantiation: execCurrent.c:ExecProcNode Unexecuted instantiation: execExpr.c:ExecProcNode Unexecuted instantiation: execExprInterp.c:ExecProcNode Unexecuted instantiation: execGrouping.c:ExecProcNode Unexecuted instantiation: execIndexing.c:ExecProcNode Unexecuted instantiation: execJunk.c:ExecProcNode Unexecuted instantiation: execMain.c:ExecProcNode Unexecuted instantiation: execParallel.c:ExecProcNode Unexecuted instantiation: execPartition.c:ExecProcNode Unexecuted instantiation: execProcnode.c:ExecProcNode Unexecuted instantiation: execReplication.c:ExecProcNode Unexecuted instantiation: execSRF.c:ExecProcNode Unexecuted instantiation: execScan.c:ExecProcNode Unexecuted instantiation: execTuples.c:ExecProcNode Unexecuted instantiation: execUtils.c:ExecProcNode Unexecuted instantiation: functions.c:ExecProcNode Unexecuted instantiation: nodeAgg.c:ExecProcNode Unexecuted instantiation: nodeAppend.c:ExecProcNode Unexecuted instantiation: nodeBitmapAnd.c:ExecProcNode Unexecuted instantiation: nodeBitmapHeapscan.c:ExecProcNode Unexecuted instantiation: nodeBitmapIndexscan.c:ExecProcNode Unexecuted instantiation: nodeBitmapOr.c:ExecProcNode Unexecuted instantiation: nodeCtescan.c:ExecProcNode Unexecuted instantiation: nodeCustom.c:ExecProcNode Unexecuted instantiation: nodeForeignscan.c:ExecProcNode Unexecuted instantiation: nodeFunctionscan.c:ExecProcNode Unexecuted instantiation: nodeGather.c:ExecProcNode Unexecuted instantiation: nodeGatherMerge.c:ExecProcNode Unexecuted instantiation: nodeGroup.c:ExecProcNode Unexecuted instantiation: nodeHash.c:ExecProcNode Unexecuted instantiation: nodeHashjoin.c:ExecProcNode Unexecuted instantiation: nodeIncrementalSort.c:ExecProcNode Unexecuted instantiation: nodeIndexonlyscan.c:ExecProcNode Unexecuted instantiation: nodeIndexscan.c:ExecProcNode Unexecuted instantiation: nodeLimit.c:ExecProcNode Unexecuted instantiation: nodeLockRows.c:ExecProcNode Unexecuted instantiation: nodeMaterial.c:ExecProcNode Unexecuted instantiation: nodeMemoize.c:ExecProcNode Unexecuted instantiation: nodeMergeAppend.c:ExecProcNode Unexecuted instantiation: nodeMergejoin.c:ExecProcNode Unexecuted instantiation: nodeModifyTable.c:ExecProcNode Unexecuted instantiation: nodeNamedtuplestorescan.c:ExecProcNode Unexecuted instantiation: nodeNestloop.c:ExecProcNode Unexecuted instantiation: nodeProjectSet.c:ExecProcNode Unexecuted instantiation: nodeRecursiveunion.c:ExecProcNode Unexecuted instantiation: nodeResult.c:ExecProcNode Unexecuted instantiation: nodeSamplescan.c:ExecProcNode Unexecuted instantiation: nodeSeqscan.c:ExecProcNode Unexecuted instantiation: nodeSetOp.c:ExecProcNode Unexecuted instantiation: nodeSort.c:ExecProcNode Unexecuted instantiation: nodeSubplan.c:ExecProcNode Unexecuted instantiation: nodeSubqueryscan.c:ExecProcNode Unexecuted instantiation: nodeTableFuncscan.c:ExecProcNode Unexecuted instantiation: nodeTidrangescan.c:ExecProcNode Unexecuted instantiation: nodeTidscan.c:ExecProcNode Unexecuted instantiation: nodeUnique.c:ExecProcNode Unexecuted instantiation: nodeValuesscan.c:ExecProcNode Unexecuted instantiation: nodeWindowAgg.c:ExecProcNode Unexecuted instantiation: nodeWorktablescan.c:ExecProcNode Unexecuted instantiation: spi.c:ExecProcNode Unexecuted instantiation: foreign.c:ExecProcNode Unexecuted instantiation: costsize.c:ExecProcNode Unexecuted instantiation: joinpath.c:ExecProcNode Unexecuted instantiation: planner.c:ExecProcNode Unexecuted instantiation: subselect.c:ExecProcNode Unexecuted instantiation: prepjointree.c:ExecProcNode Unexecuted instantiation: clauses.c:ExecProcNode Unexecuted instantiation: predtest.c:ExecProcNode Unexecuted instantiation: partbounds.c:ExecProcNode Unexecuted instantiation: partprune.c:ExecProcNode Unexecuted instantiation: conflict.c:ExecProcNode Unexecuted instantiation: launcher.c:ExecProcNode Unexecuted instantiation: logicalfuncs.c:ExecProcNode Unexecuted instantiation: origin.c:ExecProcNode Unexecuted instantiation: relation.c:ExecProcNode Unexecuted instantiation: worker.c:ExecProcNode Unexecuted instantiation: slotfuncs.c:ExecProcNode Unexecuted instantiation: walreceiver.c:ExecProcNode Unexecuted instantiation: walsender.c:ExecProcNode Unexecuted instantiation: rewriteHandler.c:ExecProcNode Unexecuted instantiation: basebackup_copy.c:ExecProcNode Unexecuted instantiation: walsummaryfuncs.c:ExecProcNode Unexecuted instantiation: extended_stats.c:ExecProcNode Unexecuted instantiation: mcv.c:ExecProcNode Unexecuted instantiation: stat_utils.c:ExecProcNode Unexecuted instantiation: aio_funcs.c:ExecProcNode Unexecuted instantiation: shmem.c:ExecProcNode Unexecuted instantiation: pquery.c:ExecProcNode Unexecuted instantiation: utility.c:ExecProcNode Unexecuted instantiation: wparser.c:ExecProcNode Unexecuted instantiation: wait_event_funcs.c:ExecProcNode Unexecuted instantiation: acl.c:ExecProcNode Unexecuted instantiation: arrayfuncs.c:ExecProcNode Unexecuted instantiation: datetime.c:ExecProcNode Unexecuted instantiation: domains.c:ExecProcNode Unexecuted instantiation: genfile.c:ExecProcNode Unexecuted instantiation: hbafuncs.c:ExecProcNode Unexecuted instantiation: int.c:ExecProcNode Unexecuted instantiation: int8.c:ExecProcNode Unexecuted instantiation: json.c:ExecProcNode Unexecuted instantiation: jsonb.c:ExecProcNode Unexecuted instantiation: jsonfuncs.c:ExecProcNode Unexecuted instantiation: jsonpath_exec.c:ExecProcNode Unexecuted instantiation: lockfuncs.c:ExecProcNode Unexecuted instantiation: mcxtfuncs.c:ExecProcNode Unexecuted instantiation: misc.c:ExecProcNode Unexecuted instantiation: multirangetypes.c:ExecProcNode Unexecuted instantiation: numeric.c:ExecProcNode Unexecuted instantiation: orderedsetaggs.c:ExecProcNode Unexecuted instantiation: partitionfuncs.c:ExecProcNode Unexecuted instantiation: pgstatfuncs.c:ExecProcNode Unexecuted instantiation: regexp.c:ExecProcNode Unexecuted instantiation: ri_triggers.c:ExecProcNode Unexecuted instantiation: rowtypes.c:ExecProcNode Unexecuted instantiation: ruleutils.c:ExecProcNode Unexecuted instantiation: timestamp.c:ExecProcNode Unexecuted instantiation: tsvector_op.c:ExecProcNode Unexecuted instantiation: varlena.c:ExecProcNode Unexecuted instantiation: xid8funcs.c:ExecProcNode Unexecuted instantiation: funccache.c:ExecProcNode Unexecuted instantiation: plancache.c:ExecProcNode Unexecuted instantiation: typcache.c:ExecProcNode Unexecuted instantiation: funcapi.c:ExecProcNode Unexecuted instantiation: guc_funcs.c:ExecProcNode Unexecuted instantiation: pg_config.c:ExecProcNode Unexecuted instantiation: pg_controldata.c:ExecProcNode Unexecuted instantiation: portalmem.c:ExecProcNode Unexecuted instantiation: tuplesortvariants.c:ExecProcNode Unexecuted instantiation: tuplestore.c:ExecProcNode |
315 | | #endif |
316 | | |
317 | | /* |
318 | | * prototypes from functions in execExpr.c |
319 | | */ |
320 | | extern ExprState *ExecInitExpr(Expr *node, PlanState *parent); |
321 | | extern ExprState *ExecInitExprWithParams(Expr *node, ParamListInfo ext_params); |
322 | | extern ExprState *ExecInitQual(List *qual, PlanState *parent); |
323 | | extern ExprState *ExecInitCheck(List *qual, PlanState *parent); |
324 | | extern List *ExecInitExprList(List *nodes, PlanState *parent); |
325 | | extern ExprState *ExecBuildAggTrans(AggState *aggstate, struct AggStatePerPhaseData *phase, |
326 | | bool doSort, bool doHash, bool nullcheck); |
327 | | extern ExprState *ExecBuildHash32FromAttrs(TupleDesc desc, |
328 | | const TupleTableSlotOps *ops, |
329 | | FmgrInfo *hashfunctions, |
330 | | Oid *collations, |
331 | | int numCols, |
332 | | AttrNumber *keyColIdx, |
333 | | PlanState *parent, |
334 | | uint32 init_value); |
335 | | extern ExprState *ExecBuildHash32Expr(TupleDesc desc, |
336 | | const TupleTableSlotOps *ops, |
337 | | const Oid *hashfunc_oids, |
338 | | const List *collations, |
339 | | const List *hash_exprs, |
340 | | const bool *opstrict, PlanState *parent, |
341 | | uint32 init_value, bool keep_nulls); |
342 | | extern ExprState *ExecBuildGroupingEqual(TupleDesc ldesc, TupleDesc rdesc, |
343 | | const TupleTableSlotOps *lops, const TupleTableSlotOps *rops, |
344 | | int numCols, |
345 | | const AttrNumber *keyColIdx, |
346 | | const Oid *eqfunctions, |
347 | | const Oid *collations, |
348 | | PlanState *parent); |
349 | | extern ExprState *ExecBuildParamSetEqual(TupleDesc desc, |
350 | | const TupleTableSlotOps *lops, |
351 | | const TupleTableSlotOps *rops, |
352 | | const Oid *eqfunctions, |
353 | | const Oid *collations, |
354 | | const List *param_exprs, |
355 | | PlanState *parent); |
356 | | extern ProjectionInfo *ExecBuildProjectionInfo(List *targetList, |
357 | | ExprContext *econtext, |
358 | | TupleTableSlot *slot, |
359 | | PlanState *parent, |
360 | | TupleDesc inputDesc); |
361 | | extern ProjectionInfo *ExecBuildUpdateProjection(List *targetList, |
362 | | bool evalTargetList, |
363 | | List *targetColnos, |
364 | | TupleDesc relDesc, |
365 | | ExprContext *econtext, |
366 | | TupleTableSlot *slot, |
367 | | PlanState *parent); |
368 | | extern ExprState *ExecPrepareExpr(Expr *node, EState *estate); |
369 | | extern ExprState *ExecPrepareQual(List *qual, EState *estate); |
370 | | extern ExprState *ExecPrepareCheck(List *qual, EState *estate); |
371 | | extern List *ExecPrepareExprList(List *nodes, EState *estate); |
372 | | |
373 | | /* |
374 | | * ExecEvalExpr |
375 | | * |
376 | | * Evaluate expression identified by "state" in the execution context |
377 | | * given by "econtext". *isNull is set to the is-null flag for the result, |
378 | | * and the Datum value is the function result. |
379 | | * |
380 | | * The caller should already have switched into the temporary memory |
381 | | * context econtext->ecxt_per_tuple_memory. The convenience entry point |
382 | | * ExecEvalExprSwitchContext() is provided for callers who don't prefer to |
383 | | * do the switch in an outer loop. |
384 | | */ |
385 | | #ifndef FRONTEND |
386 | | static inline Datum |
387 | | ExecEvalExpr(ExprState *state, |
388 | | ExprContext *econtext, |
389 | | bool *isNull) |
390 | 0 | { |
391 | 0 | return state->evalfunc(state, econtext, isNull); |
392 | 0 | } Unexecuted instantiation: heapam_handler.c:ExecEvalExpr Unexecuted instantiation: commit_ts.c:ExecEvalExpr Unexecuted instantiation: multixact.c:ExecEvalExpr Unexecuted instantiation: rmgr.c:ExecEvalExpr Unexecuted instantiation: twophase.c:ExecEvalExpr Unexecuted instantiation: xlogfuncs.c:ExecEvalExpr Unexecuted instantiation: xlogprefetcher.c:ExecEvalExpr Unexecuted instantiation: dependency.c:ExecEvalExpr Unexecuted instantiation: index.c:ExecEvalExpr Unexecuted instantiation: indexing.c:ExecEvalExpr Unexecuted instantiation: namespace.c:ExecEvalExpr Unexecuted instantiation: objectaddress.c:ExecEvalExpr Unexecuted instantiation: pg_proc.c:ExecEvalExpr Unexecuted instantiation: pg_publication.c:ExecEvalExpr Unexecuted instantiation: parse_func.c:ExecEvalExpr Unexecuted instantiation: parse_relation.c:ExecEvalExpr Unexecuted instantiation: parse_target.c:ExecEvalExpr Unexecuted instantiation: analyze.c:ExecEvalExpr Unexecuted instantiation: async.c:ExecEvalExpr Unexecuted instantiation: constraint.c:ExecEvalExpr Unexecuted instantiation: copy.c:ExecEvalExpr Unexecuted instantiation: copyfrom.c:ExecEvalExpr Unexecuted instantiation: copyfromparse.c:ExecEvalExpr Unexecuted instantiation: copyto.c:ExecEvalExpr Unexecuted instantiation: createas.c:ExecEvalExpr Unexecuted instantiation: event_trigger.c:ExecEvalExpr Unexecuted instantiation: explain.c:ExecEvalExpr Unexecuted instantiation: explain_dr.c:ExecEvalExpr Unexecuted instantiation: explain_format.c:ExecEvalExpr Unexecuted instantiation: explain_state.c:ExecEvalExpr Unexecuted instantiation: extension.c:ExecEvalExpr Unexecuted instantiation: functioncmds.c:ExecEvalExpr Unexecuted instantiation: matview.c:ExecEvalExpr Unexecuted instantiation: portalcmds.c:ExecEvalExpr Unexecuted instantiation: prepare.c:ExecEvalExpr Unexecuted instantiation: sequence.c:ExecEvalExpr Unexecuted instantiation: subscriptioncmds.c:ExecEvalExpr Unexecuted instantiation: tablecmds.c:ExecEvalExpr Unexecuted instantiation: trigger.c:ExecEvalExpr Unexecuted instantiation: typecmds.c:ExecEvalExpr Unexecuted instantiation: execAmi.c:ExecEvalExpr Unexecuted instantiation: execAsync.c:ExecEvalExpr Unexecuted instantiation: execCurrent.c:ExecEvalExpr Unexecuted instantiation: execExpr.c:ExecEvalExpr Unexecuted instantiation: execExprInterp.c:ExecEvalExpr Unexecuted instantiation: execGrouping.c:ExecEvalExpr Unexecuted instantiation: execIndexing.c:ExecEvalExpr Unexecuted instantiation: execJunk.c:ExecEvalExpr Unexecuted instantiation: execMain.c:ExecEvalExpr Unexecuted instantiation: execParallel.c:ExecEvalExpr Unexecuted instantiation: execPartition.c:ExecEvalExpr Unexecuted instantiation: execProcnode.c:ExecEvalExpr Unexecuted instantiation: execReplication.c:ExecEvalExpr Unexecuted instantiation: execSRF.c:ExecEvalExpr Unexecuted instantiation: execScan.c:ExecEvalExpr Unexecuted instantiation: execTuples.c:ExecEvalExpr Unexecuted instantiation: execUtils.c:ExecEvalExpr Unexecuted instantiation: functions.c:ExecEvalExpr Unexecuted instantiation: nodeAgg.c:ExecEvalExpr Unexecuted instantiation: nodeAppend.c:ExecEvalExpr Unexecuted instantiation: nodeBitmapAnd.c:ExecEvalExpr Unexecuted instantiation: nodeBitmapHeapscan.c:ExecEvalExpr Unexecuted instantiation: nodeBitmapIndexscan.c:ExecEvalExpr Unexecuted instantiation: nodeBitmapOr.c:ExecEvalExpr Unexecuted instantiation: nodeCtescan.c:ExecEvalExpr Unexecuted instantiation: nodeCustom.c:ExecEvalExpr Unexecuted instantiation: nodeForeignscan.c:ExecEvalExpr Unexecuted instantiation: nodeFunctionscan.c:ExecEvalExpr Unexecuted instantiation: nodeGather.c:ExecEvalExpr Unexecuted instantiation: nodeGatherMerge.c:ExecEvalExpr Unexecuted instantiation: nodeGroup.c:ExecEvalExpr Unexecuted instantiation: nodeHash.c:ExecEvalExpr Unexecuted instantiation: nodeHashjoin.c:ExecEvalExpr Unexecuted instantiation: nodeIncrementalSort.c:ExecEvalExpr Unexecuted instantiation: nodeIndexonlyscan.c:ExecEvalExpr Unexecuted instantiation: nodeIndexscan.c:ExecEvalExpr Unexecuted instantiation: nodeLimit.c:ExecEvalExpr Unexecuted instantiation: nodeLockRows.c:ExecEvalExpr Unexecuted instantiation: nodeMaterial.c:ExecEvalExpr Unexecuted instantiation: nodeMemoize.c:ExecEvalExpr Unexecuted instantiation: nodeMergeAppend.c:ExecEvalExpr Unexecuted instantiation: nodeMergejoin.c:ExecEvalExpr Unexecuted instantiation: nodeModifyTable.c:ExecEvalExpr Unexecuted instantiation: nodeNamedtuplestorescan.c:ExecEvalExpr Unexecuted instantiation: nodeNestloop.c:ExecEvalExpr Unexecuted instantiation: nodeProjectSet.c:ExecEvalExpr Unexecuted instantiation: nodeRecursiveunion.c:ExecEvalExpr Unexecuted instantiation: nodeResult.c:ExecEvalExpr Unexecuted instantiation: nodeSamplescan.c:ExecEvalExpr Unexecuted instantiation: nodeSeqscan.c:ExecEvalExpr Unexecuted instantiation: nodeSetOp.c:ExecEvalExpr Unexecuted instantiation: nodeSort.c:ExecEvalExpr Unexecuted instantiation: nodeSubplan.c:ExecEvalExpr Unexecuted instantiation: nodeSubqueryscan.c:ExecEvalExpr Unexecuted instantiation: nodeTableFuncscan.c:ExecEvalExpr Unexecuted instantiation: nodeTidrangescan.c:ExecEvalExpr Unexecuted instantiation: nodeTidscan.c:ExecEvalExpr Unexecuted instantiation: nodeUnique.c:ExecEvalExpr Unexecuted instantiation: nodeValuesscan.c:ExecEvalExpr Unexecuted instantiation: nodeWindowAgg.c:ExecEvalExpr Unexecuted instantiation: nodeWorktablescan.c:ExecEvalExpr Unexecuted instantiation: spi.c:ExecEvalExpr Unexecuted instantiation: foreign.c:ExecEvalExpr Unexecuted instantiation: costsize.c:ExecEvalExpr Unexecuted instantiation: joinpath.c:ExecEvalExpr Unexecuted instantiation: planner.c:ExecEvalExpr Unexecuted instantiation: subselect.c:ExecEvalExpr Unexecuted instantiation: prepjointree.c:ExecEvalExpr Unexecuted instantiation: clauses.c:ExecEvalExpr Unexecuted instantiation: predtest.c:ExecEvalExpr Unexecuted instantiation: partbounds.c:ExecEvalExpr Unexecuted instantiation: partprune.c:ExecEvalExpr Unexecuted instantiation: conflict.c:ExecEvalExpr Unexecuted instantiation: launcher.c:ExecEvalExpr Unexecuted instantiation: logicalfuncs.c:ExecEvalExpr Unexecuted instantiation: origin.c:ExecEvalExpr Unexecuted instantiation: relation.c:ExecEvalExpr Unexecuted instantiation: worker.c:ExecEvalExpr Unexecuted instantiation: slotfuncs.c:ExecEvalExpr Unexecuted instantiation: walreceiver.c:ExecEvalExpr Unexecuted instantiation: walsender.c:ExecEvalExpr Unexecuted instantiation: rewriteHandler.c:ExecEvalExpr Unexecuted instantiation: basebackup_copy.c:ExecEvalExpr Unexecuted instantiation: walsummaryfuncs.c:ExecEvalExpr Unexecuted instantiation: extended_stats.c:ExecEvalExpr Unexecuted instantiation: mcv.c:ExecEvalExpr Unexecuted instantiation: stat_utils.c:ExecEvalExpr Unexecuted instantiation: aio_funcs.c:ExecEvalExpr Unexecuted instantiation: shmem.c:ExecEvalExpr Unexecuted instantiation: pquery.c:ExecEvalExpr Unexecuted instantiation: utility.c:ExecEvalExpr Unexecuted instantiation: wparser.c:ExecEvalExpr Unexecuted instantiation: wait_event_funcs.c:ExecEvalExpr Unexecuted instantiation: acl.c:ExecEvalExpr Unexecuted instantiation: arrayfuncs.c:ExecEvalExpr Unexecuted instantiation: datetime.c:ExecEvalExpr Unexecuted instantiation: domains.c:ExecEvalExpr Unexecuted instantiation: genfile.c:ExecEvalExpr Unexecuted instantiation: hbafuncs.c:ExecEvalExpr Unexecuted instantiation: int.c:ExecEvalExpr Unexecuted instantiation: int8.c:ExecEvalExpr Unexecuted instantiation: json.c:ExecEvalExpr Unexecuted instantiation: jsonb.c:ExecEvalExpr Unexecuted instantiation: jsonfuncs.c:ExecEvalExpr Unexecuted instantiation: jsonpath_exec.c:ExecEvalExpr Unexecuted instantiation: lockfuncs.c:ExecEvalExpr Unexecuted instantiation: mcxtfuncs.c:ExecEvalExpr Unexecuted instantiation: misc.c:ExecEvalExpr Unexecuted instantiation: multirangetypes.c:ExecEvalExpr Unexecuted instantiation: numeric.c:ExecEvalExpr Unexecuted instantiation: orderedsetaggs.c:ExecEvalExpr Unexecuted instantiation: partitionfuncs.c:ExecEvalExpr Unexecuted instantiation: pgstatfuncs.c:ExecEvalExpr Unexecuted instantiation: regexp.c:ExecEvalExpr Unexecuted instantiation: ri_triggers.c:ExecEvalExpr Unexecuted instantiation: rowtypes.c:ExecEvalExpr Unexecuted instantiation: ruleutils.c:ExecEvalExpr Unexecuted instantiation: timestamp.c:ExecEvalExpr Unexecuted instantiation: tsvector_op.c:ExecEvalExpr Unexecuted instantiation: varlena.c:ExecEvalExpr Unexecuted instantiation: xid8funcs.c:ExecEvalExpr Unexecuted instantiation: funccache.c:ExecEvalExpr Unexecuted instantiation: plancache.c:ExecEvalExpr Unexecuted instantiation: typcache.c:ExecEvalExpr Unexecuted instantiation: funcapi.c:ExecEvalExpr Unexecuted instantiation: guc_funcs.c:ExecEvalExpr Unexecuted instantiation: pg_config.c:ExecEvalExpr Unexecuted instantiation: pg_controldata.c:ExecEvalExpr Unexecuted instantiation: portalmem.c:ExecEvalExpr Unexecuted instantiation: tuplesortvariants.c:ExecEvalExpr Unexecuted instantiation: tuplestore.c:ExecEvalExpr |
393 | | #endif |
394 | | |
395 | | /* |
396 | | * ExecEvalExprNoReturn |
397 | | * |
398 | | * Like ExecEvalExpr(), but for cases where no return value is expected, |
399 | | * because the side-effects of expression evaluation are what's desired. This |
400 | | * is e.g. used for projection and aggregate transition computation. |
401 | | |
402 | | * Evaluate expression identified by "state" in the execution context |
403 | | * given by "econtext". |
404 | | * |
405 | | * The caller should already have switched into the temporary memory context |
406 | | * econtext->ecxt_per_tuple_memory. The convenience entry point |
407 | | * ExecEvalExprNoReturnSwitchContext() is provided for callers who don't |
408 | | * prefer to do the switch in an outer loop. |
409 | | */ |
410 | | #ifndef FRONTEND |
411 | | static inline void |
412 | | ExecEvalExprNoReturn(ExprState *state, |
413 | | ExprContext *econtext) |
414 | 0 | { |
415 | 0 | PG_USED_FOR_ASSERTS_ONLY Datum retDatum; |
416 | |
|
417 | 0 | retDatum = state->evalfunc(state, econtext, NULL); |
418 | |
|
419 | 0 | Assert(retDatum == (Datum) 0); |
420 | 0 | } Unexecuted instantiation: heapam_handler.c:ExecEvalExprNoReturn Unexecuted instantiation: commit_ts.c:ExecEvalExprNoReturn Unexecuted instantiation: multixact.c:ExecEvalExprNoReturn Unexecuted instantiation: rmgr.c:ExecEvalExprNoReturn Unexecuted instantiation: twophase.c:ExecEvalExprNoReturn Unexecuted instantiation: xlogfuncs.c:ExecEvalExprNoReturn Unexecuted instantiation: xlogprefetcher.c:ExecEvalExprNoReturn Unexecuted instantiation: dependency.c:ExecEvalExprNoReturn Unexecuted instantiation: index.c:ExecEvalExprNoReturn Unexecuted instantiation: indexing.c:ExecEvalExprNoReturn Unexecuted instantiation: namespace.c:ExecEvalExprNoReturn Unexecuted instantiation: objectaddress.c:ExecEvalExprNoReturn Unexecuted instantiation: pg_proc.c:ExecEvalExprNoReturn Unexecuted instantiation: pg_publication.c:ExecEvalExprNoReturn Unexecuted instantiation: parse_func.c:ExecEvalExprNoReturn Unexecuted instantiation: parse_relation.c:ExecEvalExprNoReturn Unexecuted instantiation: parse_target.c:ExecEvalExprNoReturn Unexecuted instantiation: analyze.c:ExecEvalExprNoReturn Unexecuted instantiation: async.c:ExecEvalExprNoReturn Unexecuted instantiation: constraint.c:ExecEvalExprNoReturn Unexecuted instantiation: copy.c:ExecEvalExprNoReturn Unexecuted instantiation: copyfrom.c:ExecEvalExprNoReturn Unexecuted instantiation: copyfromparse.c:ExecEvalExprNoReturn Unexecuted instantiation: copyto.c:ExecEvalExprNoReturn Unexecuted instantiation: createas.c:ExecEvalExprNoReturn Unexecuted instantiation: event_trigger.c:ExecEvalExprNoReturn Unexecuted instantiation: explain.c:ExecEvalExprNoReturn Unexecuted instantiation: explain_dr.c:ExecEvalExprNoReturn Unexecuted instantiation: explain_format.c:ExecEvalExprNoReturn Unexecuted instantiation: explain_state.c:ExecEvalExprNoReturn Unexecuted instantiation: extension.c:ExecEvalExprNoReturn Unexecuted instantiation: functioncmds.c:ExecEvalExprNoReturn Unexecuted instantiation: matview.c:ExecEvalExprNoReturn Unexecuted instantiation: portalcmds.c:ExecEvalExprNoReturn Unexecuted instantiation: prepare.c:ExecEvalExprNoReturn Unexecuted instantiation: sequence.c:ExecEvalExprNoReturn Unexecuted instantiation: subscriptioncmds.c:ExecEvalExprNoReturn Unexecuted instantiation: tablecmds.c:ExecEvalExprNoReturn Unexecuted instantiation: trigger.c:ExecEvalExprNoReturn Unexecuted instantiation: typecmds.c:ExecEvalExprNoReturn Unexecuted instantiation: execAmi.c:ExecEvalExprNoReturn Unexecuted instantiation: execAsync.c:ExecEvalExprNoReturn Unexecuted instantiation: execCurrent.c:ExecEvalExprNoReturn Unexecuted instantiation: execExpr.c:ExecEvalExprNoReturn Unexecuted instantiation: execExprInterp.c:ExecEvalExprNoReturn Unexecuted instantiation: execGrouping.c:ExecEvalExprNoReturn Unexecuted instantiation: execIndexing.c:ExecEvalExprNoReturn Unexecuted instantiation: execJunk.c:ExecEvalExprNoReturn Unexecuted instantiation: execMain.c:ExecEvalExprNoReturn Unexecuted instantiation: execParallel.c:ExecEvalExprNoReturn Unexecuted instantiation: execPartition.c:ExecEvalExprNoReturn Unexecuted instantiation: execProcnode.c:ExecEvalExprNoReturn Unexecuted instantiation: execReplication.c:ExecEvalExprNoReturn Unexecuted instantiation: execSRF.c:ExecEvalExprNoReturn Unexecuted instantiation: execScan.c:ExecEvalExprNoReturn Unexecuted instantiation: execTuples.c:ExecEvalExprNoReturn Unexecuted instantiation: execUtils.c:ExecEvalExprNoReturn Unexecuted instantiation: functions.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeAgg.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeAppend.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeBitmapAnd.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeBitmapHeapscan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeBitmapIndexscan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeBitmapOr.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeCtescan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeCustom.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeForeignscan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeFunctionscan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeGather.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeGatherMerge.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeGroup.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeHash.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeHashjoin.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeIncrementalSort.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeIndexonlyscan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeIndexscan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeLimit.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeLockRows.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeMaterial.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeMemoize.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeMergeAppend.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeMergejoin.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeModifyTable.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeNamedtuplestorescan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeNestloop.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeProjectSet.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeRecursiveunion.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeResult.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeSamplescan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeSeqscan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeSetOp.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeSort.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeSubplan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeSubqueryscan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeTableFuncscan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeTidrangescan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeTidscan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeUnique.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeValuesscan.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeWindowAgg.c:ExecEvalExprNoReturn Unexecuted instantiation: nodeWorktablescan.c:ExecEvalExprNoReturn Unexecuted instantiation: spi.c:ExecEvalExprNoReturn Unexecuted instantiation: foreign.c:ExecEvalExprNoReturn Unexecuted instantiation: costsize.c:ExecEvalExprNoReturn Unexecuted instantiation: joinpath.c:ExecEvalExprNoReturn Unexecuted instantiation: planner.c:ExecEvalExprNoReturn Unexecuted instantiation: subselect.c:ExecEvalExprNoReturn Unexecuted instantiation: prepjointree.c:ExecEvalExprNoReturn Unexecuted instantiation: clauses.c:ExecEvalExprNoReturn Unexecuted instantiation: predtest.c:ExecEvalExprNoReturn Unexecuted instantiation: partbounds.c:ExecEvalExprNoReturn Unexecuted instantiation: partprune.c:ExecEvalExprNoReturn Unexecuted instantiation: conflict.c:ExecEvalExprNoReturn Unexecuted instantiation: launcher.c:ExecEvalExprNoReturn Unexecuted instantiation: logicalfuncs.c:ExecEvalExprNoReturn Unexecuted instantiation: origin.c:ExecEvalExprNoReturn Unexecuted instantiation: relation.c:ExecEvalExprNoReturn Unexecuted instantiation: worker.c:ExecEvalExprNoReturn Unexecuted instantiation: slotfuncs.c:ExecEvalExprNoReturn Unexecuted instantiation: walreceiver.c:ExecEvalExprNoReturn Unexecuted instantiation: walsender.c:ExecEvalExprNoReturn Unexecuted instantiation: rewriteHandler.c:ExecEvalExprNoReturn Unexecuted instantiation: basebackup_copy.c:ExecEvalExprNoReturn Unexecuted instantiation: walsummaryfuncs.c:ExecEvalExprNoReturn Unexecuted instantiation: extended_stats.c:ExecEvalExprNoReturn Unexecuted instantiation: mcv.c:ExecEvalExprNoReturn Unexecuted instantiation: stat_utils.c:ExecEvalExprNoReturn Unexecuted instantiation: aio_funcs.c:ExecEvalExprNoReturn Unexecuted instantiation: shmem.c:ExecEvalExprNoReturn Unexecuted instantiation: pquery.c:ExecEvalExprNoReturn Unexecuted instantiation: utility.c:ExecEvalExprNoReturn Unexecuted instantiation: wparser.c:ExecEvalExprNoReturn Unexecuted instantiation: wait_event_funcs.c:ExecEvalExprNoReturn Unexecuted instantiation: acl.c:ExecEvalExprNoReturn Unexecuted instantiation: arrayfuncs.c:ExecEvalExprNoReturn Unexecuted instantiation: datetime.c:ExecEvalExprNoReturn Unexecuted instantiation: domains.c:ExecEvalExprNoReturn Unexecuted instantiation: genfile.c:ExecEvalExprNoReturn Unexecuted instantiation: hbafuncs.c:ExecEvalExprNoReturn Unexecuted instantiation: int.c:ExecEvalExprNoReturn Unexecuted instantiation: int8.c:ExecEvalExprNoReturn Unexecuted instantiation: json.c:ExecEvalExprNoReturn Unexecuted instantiation: jsonb.c:ExecEvalExprNoReturn Unexecuted instantiation: jsonfuncs.c:ExecEvalExprNoReturn Unexecuted instantiation: jsonpath_exec.c:ExecEvalExprNoReturn Unexecuted instantiation: lockfuncs.c:ExecEvalExprNoReturn Unexecuted instantiation: mcxtfuncs.c:ExecEvalExprNoReturn Unexecuted instantiation: misc.c:ExecEvalExprNoReturn Unexecuted instantiation: multirangetypes.c:ExecEvalExprNoReturn Unexecuted instantiation: numeric.c:ExecEvalExprNoReturn Unexecuted instantiation: orderedsetaggs.c:ExecEvalExprNoReturn Unexecuted instantiation: partitionfuncs.c:ExecEvalExprNoReturn Unexecuted instantiation: pgstatfuncs.c:ExecEvalExprNoReturn Unexecuted instantiation: regexp.c:ExecEvalExprNoReturn Unexecuted instantiation: ri_triggers.c:ExecEvalExprNoReturn Unexecuted instantiation: rowtypes.c:ExecEvalExprNoReturn Unexecuted instantiation: ruleutils.c:ExecEvalExprNoReturn Unexecuted instantiation: timestamp.c:ExecEvalExprNoReturn Unexecuted instantiation: tsvector_op.c:ExecEvalExprNoReturn Unexecuted instantiation: varlena.c:ExecEvalExprNoReturn Unexecuted instantiation: xid8funcs.c:ExecEvalExprNoReturn Unexecuted instantiation: funccache.c:ExecEvalExprNoReturn Unexecuted instantiation: plancache.c:ExecEvalExprNoReturn Unexecuted instantiation: typcache.c:ExecEvalExprNoReturn Unexecuted instantiation: funcapi.c:ExecEvalExprNoReturn Unexecuted instantiation: guc_funcs.c:ExecEvalExprNoReturn Unexecuted instantiation: pg_config.c:ExecEvalExprNoReturn Unexecuted instantiation: pg_controldata.c:ExecEvalExprNoReturn Unexecuted instantiation: portalmem.c:ExecEvalExprNoReturn Unexecuted instantiation: tuplesortvariants.c:ExecEvalExprNoReturn Unexecuted instantiation: tuplestore.c:ExecEvalExprNoReturn |
421 | | #endif |
422 | | |
423 | | /* |
424 | | * ExecEvalExprSwitchContext |
425 | | * |
426 | | * Same as ExecEvalExpr, but get into the right allocation context explicitly. |
427 | | */ |
428 | | #ifndef FRONTEND |
429 | | static inline Datum |
430 | | ExecEvalExprSwitchContext(ExprState *state, |
431 | | ExprContext *econtext, |
432 | | bool *isNull) |
433 | 0 | { |
434 | 0 | Datum retDatum; |
435 | 0 | MemoryContext oldContext; |
436 | |
|
437 | 0 | oldContext = MemoryContextSwitchTo(econtext->ecxt_per_tuple_memory); |
438 | 0 | retDatum = state->evalfunc(state, econtext, isNull); |
439 | 0 | MemoryContextSwitchTo(oldContext); |
440 | 0 | return retDatum; |
441 | 0 | } Unexecuted instantiation: heapam_handler.c:ExecEvalExprSwitchContext Unexecuted instantiation: commit_ts.c:ExecEvalExprSwitchContext Unexecuted instantiation: multixact.c:ExecEvalExprSwitchContext Unexecuted instantiation: rmgr.c:ExecEvalExprSwitchContext Unexecuted instantiation: twophase.c:ExecEvalExprSwitchContext Unexecuted instantiation: xlogfuncs.c:ExecEvalExprSwitchContext Unexecuted instantiation: xlogprefetcher.c:ExecEvalExprSwitchContext Unexecuted instantiation: dependency.c:ExecEvalExprSwitchContext Unexecuted instantiation: index.c:ExecEvalExprSwitchContext Unexecuted instantiation: indexing.c:ExecEvalExprSwitchContext Unexecuted instantiation: namespace.c:ExecEvalExprSwitchContext Unexecuted instantiation: objectaddress.c:ExecEvalExprSwitchContext Unexecuted instantiation: pg_proc.c:ExecEvalExprSwitchContext Unexecuted instantiation: pg_publication.c:ExecEvalExprSwitchContext Unexecuted instantiation: parse_func.c:ExecEvalExprSwitchContext Unexecuted instantiation: parse_relation.c:ExecEvalExprSwitchContext Unexecuted instantiation: parse_target.c:ExecEvalExprSwitchContext Unexecuted instantiation: analyze.c:ExecEvalExprSwitchContext Unexecuted instantiation: async.c:ExecEvalExprSwitchContext Unexecuted instantiation: constraint.c:ExecEvalExprSwitchContext Unexecuted instantiation: copy.c:ExecEvalExprSwitchContext Unexecuted instantiation: copyfrom.c:ExecEvalExprSwitchContext Unexecuted instantiation: copyfromparse.c:ExecEvalExprSwitchContext Unexecuted instantiation: copyto.c:ExecEvalExprSwitchContext Unexecuted instantiation: createas.c:ExecEvalExprSwitchContext Unexecuted instantiation: event_trigger.c:ExecEvalExprSwitchContext Unexecuted instantiation: explain.c:ExecEvalExprSwitchContext Unexecuted instantiation: explain_dr.c:ExecEvalExprSwitchContext Unexecuted instantiation: explain_format.c:ExecEvalExprSwitchContext Unexecuted instantiation: explain_state.c:ExecEvalExprSwitchContext Unexecuted instantiation: extension.c:ExecEvalExprSwitchContext Unexecuted instantiation: functioncmds.c:ExecEvalExprSwitchContext Unexecuted instantiation: matview.c:ExecEvalExprSwitchContext Unexecuted instantiation: portalcmds.c:ExecEvalExprSwitchContext Unexecuted instantiation: prepare.c:ExecEvalExprSwitchContext Unexecuted instantiation: sequence.c:ExecEvalExprSwitchContext Unexecuted instantiation: subscriptioncmds.c:ExecEvalExprSwitchContext Unexecuted instantiation: tablecmds.c:ExecEvalExprSwitchContext Unexecuted instantiation: trigger.c:ExecEvalExprSwitchContext Unexecuted instantiation: typecmds.c:ExecEvalExprSwitchContext Unexecuted instantiation: execAmi.c:ExecEvalExprSwitchContext Unexecuted instantiation: execAsync.c:ExecEvalExprSwitchContext Unexecuted instantiation: execCurrent.c:ExecEvalExprSwitchContext Unexecuted instantiation: execExpr.c:ExecEvalExprSwitchContext Unexecuted instantiation: execExprInterp.c:ExecEvalExprSwitchContext Unexecuted instantiation: execGrouping.c:ExecEvalExprSwitchContext Unexecuted instantiation: execIndexing.c:ExecEvalExprSwitchContext Unexecuted instantiation: execJunk.c:ExecEvalExprSwitchContext Unexecuted instantiation: execMain.c:ExecEvalExprSwitchContext Unexecuted instantiation: execParallel.c:ExecEvalExprSwitchContext Unexecuted instantiation: execPartition.c:ExecEvalExprSwitchContext Unexecuted instantiation: execProcnode.c:ExecEvalExprSwitchContext Unexecuted instantiation: execReplication.c:ExecEvalExprSwitchContext Unexecuted instantiation: execSRF.c:ExecEvalExprSwitchContext Unexecuted instantiation: execScan.c:ExecEvalExprSwitchContext Unexecuted instantiation: execTuples.c:ExecEvalExprSwitchContext Unexecuted instantiation: execUtils.c:ExecEvalExprSwitchContext Unexecuted instantiation: functions.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeAgg.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeAppend.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeBitmapAnd.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeBitmapHeapscan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeBitmapIndexscan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeBitmapOr.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeCtescan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeCustom.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeForeignscan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeFunctionscan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeGather.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeGatherMerge.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeGroup.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeHash.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeHashjoin.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeIncrementalSort.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeIndexonlyscan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeIndexscan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeLimit.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeLockRows.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeMaterial.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeMemoize.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeMergeAppend.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeMergejoin.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeModifyTable.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeNamedtuplestorescan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeNestloop.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeProjectSet.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeRecursiveunion.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeResult.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeSamplescan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeSeqscan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeSetOp.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeSort.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeSubplan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeSubqueryscan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeTableFuncscan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeTidrangescan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeTidscan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeUnique.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeValuesscan.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeWindowAgg.c:ExecEvalExprSwitchContext Unexecuted instantiation: nodeWorktablescan.c:ExecEvalExprSwitchContext Unexecuted instantiation: spi.c:ExecEvalExprSwitchContext Unexecuted instantiation: foreign.c:ExecEvalExprSwitchContext Unexecuted instantiation: costsize.c:ExecEvalExprSwitchContext Unexecuted instantiation: joinpath.c:ExecEvalExprSwitchContext Unexecuted instantiation: planner.c:ExecEvalExprSwitchContext Unexecuted instantiation: subselect.c:ExecEvalExprSwitchContext Unexecuted instantiation: prepjointree.c:ExecEvalExprSwitchContext Unexecuted instantiation: clauses.c:ExecEvalExprSwitchContext Unexecuted instantiation: predtest.c:ExecEvalExprSwitchContext Unexecuted instantiation: partbounds.c:ExecEvalExprSwitchContext Unexecuted instantiation: partprune.c:ExecEvalExprSwitchContext Unexecuted instantiation: conflict.c:ExecEvalExprSwitchContext Unexecuted instantiation: launcher.c:ExecEvalExprSwitchContext Unexecuted instantiation: logicalfuncs.c:ExecEvalExprSwitchContext Unexecuted instantiation: origin.c:ExecEvalExprSwitchContext Unexecuted instantiation: relation.c:ExecEvalExprSwitchContext Unexecuted instantiation: worker.c:ExecEvalExprSwitchContext Unexecuted instantiation: slotfuncs.c:ExecEvalExprSwitchContext Unexecuted instantiation: walreceiver.c:ExecEvalExprSwitchContext Unexecuted instantiation: walsender.c:ExecEvalExprSwitchContext Unexecuted instantiation: rewriteHandler.c:ExecEvalExprSwitchContext Unexecuted instantiation: basebackup_copy.c:ExecEvalExprSwitchContext Unexecuted instantiation: walsummaryfuncs.c:ExecEvalExprSwitchContext Unexecuted instantiation: extended_stats.c:ExecEvalExprSwitchContext Unexecuted instantiation: mcv.c:ExecEvalExprSwitchContext Unexecuted instantiation: stat_utils.c:ExecEvalExprSwitchContext Unexecuted instantiation: aio_funcs.c:ExecEvalExprSwitchContext Unexecuted instantiation: shmem.c:ExecEvalExprSwitchContext Unexecuted instantiation: pquery.c:ExecEvalExprSwitchContext Unexecuted instantiation: utility.c:ExecEvalExprSwitchContext Unexecuted instantiation: wparser.c:ExecEvalExprSwitchContext Unexecuted instantiation: wait_event_funcs.c:ExecEvalExprSwitchContext Unexecuted instantiation: acl.c:ExecEvalExprSwitchContext Unexecuted instantiation: arrayfuncs.c:ExecEvalExprSwitchContext Unexecuted instantiation: datetime.c:ExecEvalExprSwitchContext Unexecuted instantiation: domains.c:ExecEvalExprSwitchContext Unexecuted instantiation: genfile.c:ExecEvalExprSwitchContext Unexecuted instantiation: hbafuncs.c:ExecEvalExprSwitchContext Unexecuted instantiation: int.c:ExecEvalExprSwitchContext Unexecuted instantiation: int8.c:ExecEvalExprSwitchContext Unexecuted instantiation: json.c:ExecEvalExprSwitchContext Unexecuted instantiation: jsonb.c:ExecEvalExprSwitchContext Unexecuted instantiation: jsonfuncs.c:ExecEvalExprSwitchContext Unexecuted instantiation: jsonpath_exec.c:ExecEvalExprSwitchContext Unexecuted instantiation: lockfuncs.c:ExecEvalExprSwitchContext Unexecuted instantiation: mcxtfuncs.c:ExecEvalExprSwitchContext Unexecuted instantiation: misc.c:ExecEvalExprSwitchContext Unexecuted instantiation: multirangetypes.c:ExecEvalExprSwitchContext Unexecuted instantiation: numeric.c:ExecEvalExprSwitchContext Unexecuted instantiation: orderedsetaggs.c:ExecEvalExprSwitchContext Unexecuted instantiation: partitionfuncs.c:ExecEvalExprSwitchContext Unexecuted instantiation: pgstatfuncs.c:ExecEvalExprSwitchContext Unexecuted instantiation: regexp.c:ExecEvalExprSwitchContext Unexecuted instantiation: ri_triggers.c:ExecEvalExprSwitchContext Unexecuted instantiation: rowtypes.c:ExecEvalExprSwitchContext Unexecuted instantiation: ruleutils.c:ExecEvalExprSwitchContext Unexecuted instantiation: timestamp.c:ExecEvalExprSwitchContext Unexecuted instantiation: tsvector_op.c:ExecEvalExprSwitchContext Unexecuted instantiation: varlena.c:ExecEvalExprSwitchContext Unexecuted instantiation: xid8funcs.c:ExecEvalExprSwitchContext Unexecuted instantiation: funccache.c:ExecEvalExprSwitchContext Unexecuted instantiation: plancache.c:ExecEvalExprSwitchContext Unexecuted instantiation: typcache.c:ExecEvalExprSwitchContext Unexecuted instantiation: funcapi.c:ExecEvalExprSwitchContext Unexecuted instantiation: guc_funcs.c:ExecEvalExprSwitchContext Unexecuted instantiation: pg_config.c:ExecEvalExprSwitchContext Unexecuted instantiation: pg_controldata.c:ExecEvalExprSwitchContext Unexecuted instantiation: portalmem.c:ExecEvalExprSwitchContext Unexecuted instantiation: tuplesortvariants.c:ExecEvalExprSwitchContext Unexecuted instantiation: tuplestore.c:ExecEvalExprSwitchContext |
442 | | #endif |
443 | | |
444 | | /* |
445 | | * ExecEvalExprNoReturnSwitchContext |
446 | | * |
447 | | * Same as ExecEvalExprNoReturn, but get into the right allocation context |
448 | | * explicitly. |
449 | | */ |
450 | | #ifndef FRONTEND |
451 | | static inline void |
452 | | ExecEvalExprNoReturnSwitchContext(ExprState *state, |
453 | | ExprContext *econtext) |
454 | 0 | { |
455 | 0 | MemoryContext oldContext; |
456 | |
|
457 | 0 | oldContext = MemoryContextSwitchTo(econtext->ecxt_per_tuple_memory); |
458 | 0 | ExecEvalExprNoReturn(state, econtext); |
459 | 0 | MemoryContextSwitchTo(oldContext); |
460 | 0 | } Unexecuted instantiation: heapam_handler.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: commit_ts.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: multixact.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: rmgr.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: twophase.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: xlogfuncs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: xlogprefetcher.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: dependency.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: index.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: indexing.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: namespace.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: objectaddress.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: pg_proc.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: pg_publication.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: parse_func.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: parse_relation.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: parse_target.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: analyze.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: async.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: constraint.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: copy.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: copyfrom.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: copyfromparse.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: copyto.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: createas.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: event_trigger.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: explain.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: explain_dr.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: explain_format.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: explain_state.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: extension.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: functioncmds.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: matview.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: portalcmds.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: prepare.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: sequence.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: subscriptioncmds.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: tablecmds.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: trigger.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: typecmds.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execAmi.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execAsync.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execCurrent.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execExpr.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execExprInterp.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execGrouping.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execIndexing.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execJunk.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execMain.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execParallel.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execPartition.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execProcnode.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execReplication.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execSRF.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execScan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execTuples.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: execUtils.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: functions.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeAgg.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeAppend.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeBitmapAnd.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeBitmapHeapscan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeBitmapIndexscan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeBitmapOr.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeCtescan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeCustom.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeForeignscan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeFunctionscan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeGather.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeGatherMerge.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeGroup.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeHash.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeHashjoin.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeIncrementalSort.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeIndexonlyscan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeIndexscan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeLimit.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeLockRows.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeMaterial.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeMemoize.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeMergeAppend.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeMergejoin.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeModifyTable.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeNamedtuplestorescan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeNestloop.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeProjectSet.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeRecursiveunion.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeResult.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeSamplescan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeSeqscan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeSetOp.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeSort.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeSubplan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeSubqueryscan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeTableFuncscan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeTidrangescan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeTidscan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeUnique.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeValuesscan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeWindowAgg.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: nodeWorktablescan.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: spi.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: foreign.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: costsize.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: joinpath.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: planner.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: subselect.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: prepjointree.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: clauses.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: predtest.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: partbounds.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: partprune.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: conflict.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: launcher.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: logicalfuncs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: origin.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: relation.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: worker.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: slotfuncs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: walreceiver.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: walsender.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: rewriteHandler.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: basebackup_copy.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: walsummaryfuncs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: extended_stats.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: mcv.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: stat_utils.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: aio_funcs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: shmem.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: pquery.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: utility.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: wparser.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: wait_event_funcs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: acl.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: arrayfuncs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: datetime.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: domains.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: genfile.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: hbafuncs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: int.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: int8.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: json.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: jsonb.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: jsonfuncs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: jsonpath_exec.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: lockfuncs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: mcxtfuncs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: misc.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: multirangetypes.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: numeric.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: orderedsetaggs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: partitionfuncs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: pgstatfuncs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: regexp.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: ri_triggers.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: rowtypes.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: ruleutils.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: timestamp.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: tsvector_op.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: varlena.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: xid8funcs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: funccache.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: plancache.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: typcache.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: funcapi.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: guc_funcs.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: pg_config.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: pg_controldata.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: portalmem.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: tuplesortvariants.c:ExecEvalExprNoReturnSwitchContext Unexecuted instantiation: tuplestore.c:ExecEvalExprNoReturnSwitchContext |
461 | | #endif |
462 | | |
463 | | /* |
464 | | * ExecProject |
465 | | * |
466 | | * Projects a tuple based on projection info and stores it in the slot passed |
467 | | * to ExecBuildProjectionInfo(). |
468 | | * |
469 | | * Note: the result is always a virtual tuple; therefore it may reference |
470 | | * the contents of the exprContext's scan tuples and/or temporary results |
471 | | * constructed in the exprContext. If the caller wishes the result to be |
472 | | * valid longer than that data will be valid, he must call ExecMaterializeSlot |
473 | | * on the result slot. |
474 | | */ |
475 | | #ifndef FRONTEND |
476 | | static inline TupleTableSlot * |
477 | | ExecProject(ProjectionInfo *projInfo) |
478 | 0 | { |
479 | 0 | ExprContext *econtext = projInfo->pi_exprContext; |
480 | 0 | ExprState *state = &projInfo->pi_state; |
481 | 0 | TupleTableSlot *slot = state->resultslot; |
482 | | |
483 | | /* |
484 | | * Clear any former contents of the result slot. This makes it safe for |
485 | | * us to use the slot's Datum/isnull arrays as workspace. |
486 | | */ |
487 | 0 | ExecClearTuple(slot); |
488 | | |
489 | | /* Run the expression */ |
490 | 0 | ExecEvalExprNoReturnSwitchContext(state, econtext); |
491 | | |
492 | | /* |
493 | | * Successfully formed a result row. Mark the result slot as containing a |
494 | | * valid virtual tuple (inlined version of ExecStoreVirtualTuple()). |
495 | | */ |
496 | 0 | slot->tts_flags &= ~TTS_FLAG_EMPTY; |
497 | 0 | slot->tts_nvalid = slot->tts_tupleDescriptor->natts; |
498 | |
|
499 | 0 | return slot; |
500 | 0 | } Unexecuted instantiation: heapam_handler.c:ExecProject Unexecuted instantiation: commit_ts.c:ExecProject Unexecuted instantiation: multixact.c:ExecProject Unexecuted instantiation: rmgr.c:ExecProject Unexecuted instantiation: twophase.c:ExecProject Unexecuted instantiation: xlogfuncs.c:ExecProject Unexecuted instantiation: xlogprefetcher.c:ExecProject Unexecuted instantiation: dependency.c:ExecProject Unexecuted instantiation: index.c:ExecProject Unexecuted instantiation: indexing.c:ExecProject Unexecuted instantiation: namespace.c:ExecProject Unexecuted instantiation: objectaddress.c:ExecProject Unexecuted instantiation: pg_proc.c:ExecProject Unexecuted instantiation: pg_publication.c:ExecProject Unexecuted instantiation: parse_func.c:ExecProject Unexecuted instantiation: parse_relation.c:ExecProject Unexecuted instantiation: parse_target.c:ExecProject Unexecuted instantiation: analyze.c:ExecProject Unexecuted instantiation: async.c:ExecProject Unexecuted instantiation: constraint.c:ExecProject Unexecuted instantiation: copy.c:ExecProject Unexecuted instantiation: copyfrom.c:ExecProject Unexecuted instantiation: copyfromparse.c:ExecProject Unexecuted instantiation: copyto.c:ExecProject Unexecuted instantiation: createas.c:ExecProject Unexecuted instantiation: event_trigger.c:ExecProject Unexecuted instantiation: explain.c:ExecProject Unexecuted instantiation: explain_dr.c:ExecProject Unexecuted instantiation: explain_format.c:ExecProject Unexecuted instantiation: explain_state.c:ExecProject Unexecuted instantiation: extension.c:ExecProject Unexecuted instantiation: functioncmds.c:ExecProject Unexecuted instantiation: matview.c:ExecProject Unexecuted instantiation: portalcmds.c:ExecProject Unexecuted instantiation: prepare.c:ExecProject Unexecuted instantiation: sequence.c:ExecProject Unexecuted instantiation: subscriptioncmds.c:ExecProject Unexecuted instantiation: tablecmds.c:ExecProject Unexecuted instantiation: trigger.c:ExecProject Unexecuted instantiation: typecmds.c:ExecProject Unexecuted instantiation: execAmi.c:ExecProject Unexecuted instantiation: execAsync.c:ExecProject Unexecuted instantiation: execCurrent.c:ExecProject Unexecuted instantiation: execExpr.c:ExecProject Unexecuted instantiation: execExprInterp.c:ExecProject Unexecuted instantiation: execGrouping.c:ExecProject Unexecuted instantiation: execIndexing.c:ExecProject Unexecuted instantiation: execJunk.c:ExecProject Unexecuted instantiation: execMain.c:ExecProject Unexecuted instantiation: execParallel.c:ExecProject Unexecuted instantiation: execPartition.c:ExecProject Unexecuted instantiation: execProcnode.c:ExecProject Unexecuted instantiation: execReplication.c:ExecProject Unexecuted instantiation: execSRF.c:ExecProject Unexecuted instantiation: execScan.c:ExecProject Unexecuted instantiation: execTuples.c:ExecProject Unexecuted instantiation: execUtils.c:ExecProject Unexecuted instantiation: functions.c:ExecProject Unexecuted instantiation: nodeAgg.c:ExecProject Unexecuted instantiation: nodeAppend.c:ExecProject Unexecuted instantiation: nodeBitmapAnd.c:ExecProject Unexecuted instantiation: nodeBitmapHeapscan.c:ExecProject Unexecuted instantiation: nodeBitmapIndexscan.c:ExecProject Unexecuted instantiation: nodeBitmapOr.c:ExecProject Unexecuted instantiation: nodeCtescan.c:ExecProject Unexecuted instantiation: nodeCustom.c:ExecProject Unexecuted instantiation: nodeForeignscan.c:ExecProject Unexecuted instantiation: nodeFunctionscan.c:ExecProject Unexecuted instantiation: nodeGather.c:ExecProject Unexecuted instantiation: nodeGatherMerge.c:ExecProject Unexecuted instantiation: nodeGroup.c:ExecProject Unexecuted instantiation: nodeHash.c:ExecProject Unexecuted instantiation: nodeHashjoin.c:ExecProject Unexecuted instantiation: nodeIncrementalSort.c:ExecProject Unexecuted instantiation: nodeIndexonlyscan.c:ExecProject Unexecuted instantiation: nodeIndexscan.c:ExecProject Unexecuted instantiation: nodeLimit.c:ExecProject Unexecuted instantiation: nodeLockRows.c:ExecProject Unexecuted instantiation: nodeMaterial.c:ExecProject Unexecuted instantiation: nodeMemoize.c:ExecProject Unexecuted instantiation: nodeMergeAppend.c:ExecProject Unexecuted instantiation: nodeMergejoin.c:ExecProject Unexecuted instantiation: nodeModifyTable.c:ExecProject Unexecuted instantiation: nodeNamedtuplestorescan.c:ExecProject Unexecuted instantiation: nodeNestloop.c:ExecProject Unexecuted instantiation: nodeProjectSet.c:ExecProject Unexecuted instantiation: nodeRecursiveunion.c:ExecProject Unexecuted instantiation: nodeResult.c:ExecProject Unexecuted instantiation: nodeSamplescan.c:ExecProject Unexecuted instantiation: nodeSeqscan.c:ExecProject Unexecuted instantiation: nodeSetOp.c:ExecProject Unexecuted instantiation: nodeSort.c:ExecProject Unexecuted instantiation: nodeSubplan.c:ExecProject Unexecuted instantiation: nodeSubqueryscan.c:ExecProject Unexecuted instantiation: nodeTableFuncscan.c:ExecProject Unexecuted instantiation: nodeTidrangescan.c:ExecProject Unexecuted instantiation: nodeTidscan.c:ExecProject Unexecuted instantiation: nodeUnique.c:ExecProject Unexecuted instantiation: nodeValuesscan.c:ExecProject Unexecuted instantiation: nodeWindowAgg.c:ExecProject Unexecuted instantiation: nodeWorktablescan.c:ExecProject Unexecuted instantiation: spi.c:ExecProject Unexecuted instantiation: foreign.c:ExecProject Unexecuted instantiation: costsize.c:ExecProject Unexecuted instantiation: joinpath.c:ExecProject Unexecuted instantiation: planner.c:ExecProject Unexecuted instantiation: subselect.c:ExecProject Unexecuted instantiation: prepjointree.c:ExecProject Unexecuted instantiation: clauses.c:ExecProject Unexecuted instantiation: predtest.c:ExecProject Unexecuted instantiation: partbounds.c:ExecProject Unexecuted instantiation: partprune.c:ExecProject Unexecuted instantiation: conflict.c:ExecProject Unexecuted instantiation: launcher.c:ExecProject Unexecuted instantiation: logicalfuncs.c:ExecProject Unexecuted instantiation: origin.c:ExecProject Unexecuted instantiation: relation.c:ExecProject Unexecuted instantiation: worker.c:ExecProject Unexecuted instantiation: slotfuncs.c:ExecProject Unexecuted instantiation: walreceiver.c:ExecProject Unexecuted instantiation: walsender.c:ExecProject Unexecuted instantiation: rewriteHandler.c:ExecProject Unexecuted instantiation: basebackup_copy.c:ExecProject Unexecuted instantiation: walsummaryfuncs.c:ExecProject Unexecuted instantiation: extended_stats.c:ExecProject Unexecuted instantiation: mcv.c:ExecProject Unexecuted instantiation: stat_utils.c:ExecProject Unexecuted instantiation: aio_funcs.c:ExecProject Unexecuted instantiation: shmem.c:ExecProject Unexecuted instantiation: pquery.c:ExecProject Unexecuted instantiation: utility.c:ExecProject Unexecuted instantiation: wparser.c:ExecProject Unexecuted instantiation: wait_event_funcs.c:ExecProject Unexecuted instantiation: acl.c:ExecProject Unexecuted instantiation: arrayfuncs.c:ExecProject Unexecuted instantiation: datetime.c:ExecProject Unexecuted instantiation: domains.c:ExecProject Unexecuted instantiation: genfile.c:ExecProject Unexecuted instantiation: hbafuncs.c:ExecProject Unexecuted instantiation: int.c:ExecProject Unexecuted instantiation: int8.c:ExecProject Unexecuted instantiation: json.c:ExecProject Unexecuted instantiation: jsonb.c:ExecProject Unexecuted instantiation: jsonfuncs.c:ExecProject Unexecuted instantiation: jsonpath_exec.c:ExecProject Unexecuted instantiation: lockfuncs.c:ExecProject Unexecuted instantiation: mcxtfuncs.c:ExecProject Unexecuted instantiation: misc.c:ExecProject Unexecuted instantiation: multirangetypes.c:ExecProject Unexecuted instantiation: numeric.c:ExecProject Unexecuted instantiation: orderedsetaggs.c:ExecProject Unexecuted instantiation: partitionfuncs.c:ExecProject Unexecuted instantiation: pgstatfuncs.c:ExecProject Unexecuted instantiation: regexp.c:ExecProject Unexecuted instantiation: ri_triggers.c:ExecProject Unexecuted instantiation: rowtypes.c:ExecProject Unexecuted instantiation: ruleutils.c:ExecProject Unexecuted instantiation: timestamp.c:ExecProject Unexecuted instantiation: tsvector_op.c:ExecProject Unexecuted instantiation: varlena.c:ExecProject Unexecuted instantiation: xid8funcs.c:ExecProject Unexecuted instantiation: funccache.c:ExecProject Unexecuted instantiation: plancache.c:ExecProject Unexecuted instantiation: typcache.c:ExecProject Unexecuted instantiation: funcapi.c:ExecProject Unexecuted instantiation: guc_funcs.c:ExecProject Unexecuted instantiation: pg_config.c:ExecProject Unexecuted instantiation: pg_controldata.c:ExecProject Unexecuted instantiation: portalmem.c:ExecProject Unexecuted instantiation: tuplesortvariants.c:ExecProject Unexecuted instantiation: tuplestore.c:ExecProject |
501 | | #endif |
502 | | |
503 | | /* |
504 | | * ExecQual - evaluate a qual prepared with ExecInitQual (possibly via |
505 | | * ExecPrepareQual). Returns true if qual is satisfied, else false. |
506 | | * |
507 | | * Note: ExecQual used to have a third argument "resultForNull". The |
508 | | * behavior of this function now corresponds to resultForNull == false. |
509 | | * If you want the resultForNull == true behavior, see ExecCheck. |
510 | | */ |
511 | | #ifndef FRONTEND |
512 | | static inline bool |
513 | | ExecQual(ExprState *state, ExprContext *econtext) |
514 | 0 | { |
515 | 0 | Datum ret; |
516 | 0 | bool isnull; |
517 | | |
518 | | /* short-circuit (here and in ExecInitQual) for empty restriction list */ |
519 | 0 | if (state == NULL) |
520 | 0 | return true; |
521 | | |
522 | | /* verify that expression was compiled using ExecInitQual */ |
523 | 0 | Assert(state->flags & EEO_FLAG_IS_QUAL); |
524 | |
|
525 | 0 | ret = ExecEvalExprSwitchContext(state, econtext, &isnull); |
526 | | |
527 | | /* EEOP_QUAL should never return NULL */ |
528 | 0 | Assert(!isnull); |
529 | |
|
530 | 0 | return DatumGetBool(ret); |
531 | 0 | } Unexecuted instantiation: heapam_handler.c:ExecQual Unexecuted instantiation: commit_ts.c:ExecQual Unexecuted instantiation: multixact.c:ExecQual Unexecuted instantiation: rmgr.c:ExecQual Unexecuted instantiation: twophase.c:ExecQual Unexecuted instantiation: xlogfuncs.c:ExecQual Unexecuted instantiation: xlogprefetcher.c:ExecQual Unexecuted instantiation: dependency.c:ExecQual Unexecuted instantiation: index.c:ExecQual Unexecuted instantiation: indexing.c:ExecQual Unexecuted instantiation: namespace.c:ExecQual Unexecuted instantiation: objectaddress.c:ExecQual Unexecuted instantiation: pg_proc.c:ExecQual Unexecuted instantiation: pg_publication.c:ExecQual Unexecuted instantiation: parse_func.c:ExecQual Unexecuted instantiation: parse_relation.c:ExecQual Unexecuted instantiation: parse_target.c:ExecQual Unexecuted instantiation: analyze.c:ExecQual Unexecuted instantiation: async.c:ExecQual Unexecuted instantiation: constraint.c:ExecQual Unexecuted instantiation: copy.c:ExecQual Unexecuted instantiation: copyfrom.c:ExecQual Unexecuted instantiation: copyfromparse.c:ExecQual Unexecuted instantiation: copyto.c:ExecQual Unexecuted instantiation: createas.c:ExecQual Unexecuted instantiation: event_trigger.c:ExecQual Unexecuted instantiation: explain.c:ExecQual Unexecuted instantiation: explain_dr.c:ExecQual Unexecuted instantiation: explain_format.c:ExecQual Unexecuted instantiation: explain_state.c:ExecQual Unexecuted instantiation: extension.c:ExecQual Unexecuted instantiation: functioncmds.c:ExecQual Unexecuted instantiation: matview.c:ExecQual Unexecuted instantiation: portalcmds.c:ExecQual Unexecuted instantiation: prepare.c:ExecQual Unexecuted instantiation: sequence.c:ExecQual Unexecuted instantiation: subscriptioncmds.c:ExecQual Unexecuted instantiation: tablecmds.c:ExecQual Unexecuted instantiation: trigger.c:ExecQual Unexecuted instantiation: typecmds.c:ExecQual Unexecuted instantiation: execAmi.c:ExecQual Unexecuted instantiation: execAsync.c:ExecQual Unexecuted instantiation: execCurrent.c:ExecQual Unexecuted instantiation: execExpr.c:ExecQual Unexecuted instantiation: execExprInterp.c:ExecQual Unexecuted instantiation: execGrouping.c:ExecQual Unexecuted instantiation: execIndexing.c:ExecQual Unexecuted instantiation: execJunk.c:ExecQual Unexecuted instantiation: execMain.c:ExecQual Unexecuted instantiation: execParallel.c:ExecQual Unexecuted instantiation: execPartition.c:ExecQual Unexecuted instantiation: execProcnode.c:ExecQual Unexecuted instantiation: execReplication.c:ExecQual Unexecuted instantiation: execSRF.c:ExecQual Unexecuted instantiation: execScan.c:ExecQual Unexecuted instantiation: execTuples.c:ExecQual Unexecuted instantiation: execUtils.c:ExecQual Unexecuted instantiation: functions.c:ExecQual Unexecuted instantiation: nodeAgg.c:ExecQual Unexecuted instantiation: nodeAppend.c:ExecQual Unexecuted instantiation: nodeBitmapAnd.c:ExecQual Unexecuted instantiation: nodeBitmapHeapscan.c:ExecQual Unexecuted instantiation: nodeBitmapIndexscan.c:ExecQual Unexecuted instantiation: nodeBitmapOr.c:ExecQual Unexecuted instantiation: nodeCtescan.c:ExecQual Unexecuted instantiation: nodeCustom.c:ExecQual Unexecuted instantiation: nodeForeignscan.c:ExecQual Unexecuted instantiation: nodeFunctionscan.c:ExecQual Unexecuted instantiation: nodeGather.c:ExecQual Unexecuted instantiation: nodeGatherMerge.c:ExecQual Unexecuted instantiation: nodeGroup.c:ExecQual Unexecuted instantiation: nodeHash.c:ExecQual Unexecuted instantiation: nodeHashjoin.c:ExecQual Unexecuted instantiation: nodeIncrementalSort.c:ExecQual Unexecuted instantiation: nodeIndexonlyscan.c:ExecQual Unexecuted instantiation: nodeIndexscan.c:ExecQual Unexecuted instantiation: nodeLimit.c:ExecQual Unexecuted instantiation: nodeLockRows.c:ExecQual Unexecuted instantiation: nodeMaterial.c:ExecQual Unexecuted instantiation: nodeMemoize.c:ExecQual Unexecuted instantiation: nodeMergeAppend.c:ExecQual Unexecuted instantiation: nodeMergejoin.c:ExecQual Unexecuted instantiation: nodeModifyTable.c:ExecQual Unexecuted instantiation: nodeNamedtuplestorescan.c:ExecQual Unexecuted instantiation: nodeNestloop.c:ExecQual Unexecuted instantiation: nodeProjectSet.c:ExecQual Unexecuted instantiation: nodeRecursiveunion.c:ExecQual Unexecuted instantiation: nodeResult.c:ExecQual Unexecuted instantiation: nodeSamplescan.c:ExecQual Unexecuted instantiation: nodeSeqscan.c:ExecQual Unexecuted instantiation: nodeSetOp.c:ExecQual Unexecuted instantiation: nodeSort.c:ExecQual Unexecuted instantiation: nodeSubplan.c:ExecQual Unexecuted instantiation: nodeSubqueryscan.c:ExecQual Unexecuted instantiation: nodeTableFuncscan.c:ExecQual Unexecuted instantiation: nodeTidrangescan.c:ExecQual Unexecuted instantiation: nodeTidscan.c:ExecQual Unexecuted instantiation: nodeUnique.c:ExecQual Unexecuted instantiation: nodeValuesscan.c:ExecQual Unexecuted instantiation: nodeWindowAgg.c:ExecQual Unexecuted instantiation: nodeWorktablescan.c:ExecQual Unexecuted instantiation: spi.c:ExecQual Unexecuted instantiation: foreign.c:ExecQual Unexecuted instantiation: costsize.c:ExecQual Unexecuted instantiation: joinpath.c:ExecQual Unexecuted instantiation: planner.c:ExecQual Unexecuted instantiation: subselect.c:ExecQual Unexecuted instantiation: prepjointree.c:ExecQual Unexecuted instantiation: clauses.c:ExecQual Unexecuted instantiation: predtest.c:ExecQual Unexecuted instantiation: partbounds.c:ExecQual Unexecuted instantiation: partprune.c:ExecQual Unexecuted instantiation: conflict.c:ExecQual Unexecuted instantiation: launcher.c:ExecQual Unexecuted instantiation: logicalfuncs.c:ExecQual Unexecuted instantiation: origin.c:ExecQual Unexecuted instantiation: relation.c:ExecQual Unexecuted instantiation: worker.c:ExecQual Unexecuted instantiation: slotfuncs.c:ExecQual Unexecuted instantiation: walreceiver.c:ExecQual Unexecuted instantiation: walsender.c:ExecQual Unexecuted instantiation: rewriteHandler.c:ExecQual Unexecuted instantiation: basebackup_copy.c:ExecQual Unexecuted instantiation: walsummaryfuncs.c:ExecQual Unexecuted instantiation: extended_stats.c:ExecQual Unexecuted instantiation: mcv.c:ExecQual Unexecuted instantiation: stat_utils.c:ExecQual Unexecuted instantiation: aio_funcs.c:ExecQual Unexecuted instantiation: shmem.c:ExecQual Unexecuted instantiation: pquery.c:ExecQual Unexecuted instantiation: utility.c:ExecQual Unexecuted instantiation: wparser.c:ExecQual Unexecuted instantiation: wait_event_funcs.c:ExecQual Unexecuted instantiation: acl.c:ExecQual Unexecuted instantiation: arrayfuncs.c:ExecQual Unexecuted instantiation: datetime.c:ExecQual Unexecuted instantiation: domains.c:ExecQual Unexecuted instantiation: genfile.c:ExecQual Unexecuted instantiation: hbafuncs.c:ExecQual Unexecuted instantiation: int.c:ExecQual Unexecuted instantiation: int8.c:ExecQual Unexecuted instantiation: json.c:ExecQual Unexecuted instantiation: jsonb.c:ExecQual Unexecuted instantiation: jsonfuncs.c:ExecQual Unexecuted instantiation: jsonpath_exec.c:ExecQual Unexecuted instantiation: lockfuncs.c:ExecQual Unexecuted instantiation: mcxtfuncs.c:ExecQual Unexecuted instantiation: misc.c:ExecQual Unexecuted instantiation: multirangetypes.c:ExecQual Unexecuted instantiation: numeric.c:ExecQual Unexecuted instantiation: orderedsetaggs.c:ExecQual Unexecuted instantiation: partitionfuncs.c:ExecQual Unexecuted instantiation: pgstatfuncs.c:ExecQual Unexecuted instantiation: regexp.c:ExecQual Unexecuted instantiation: ri_triggers.c:ExecQual Unexecuted instantiation: rowtypes.c:ExecQual Unexecuted instantiation: ruleutils.c:ExecQual Unexecuted instantiation: timestamp.c:ExecQual Unexecuted instantiation: tsvector_op.c:ExecQual Unexecuted instantiation: varlena.c:ExecQual Unexecuted instantiation: xid8funcs.c:ExecQual Unexecuted instantiation: funccache.c:ExecQual Unexecuted instantiation: plancache.c:ExecQual Unexecuted instantiation: typcache.c:ExecQual Unexecuted instantiation: funcapi.c:ExecQual Unexecuted instantiation: guc_funcs.c:ExecQual Unexecuted instantiation: pg_config.c:ExecQual Unexecuted instantiation: pg_controldata.c:ExecQual Unexecuted instantiation: portalmem.c:ExecQual Unexecuted instantiation: tuplesortvariants.c:ExecQual Unexecuted instantiation: tuplestore.c:ExecQual |
532 | | #endif |
533 | | |
534 | | /* |
535 | | * ExecQualAndReset() - evaluate qual with ExecQual() and reset expression |
536 | | * context. |
537 | | */ |
538 | | #ifndef FRONTEND |
539 | | static inline bool |
540 | | ExecQualAndReset(ExprState *state, ExprContext *econtext) |
541 | 0 | { |
542 | 0 | bool ret = ExecQual(state, econtext); |
543 | | |
544 | | /* inline ResetExprContext, to avoid ordering issue in this file */ |
545 | 0 | MemoryContextReset(econtext->ecxt_per_tuple_memory); |
546 | 0 | return ret; |
547 | 0 | } Unexecuted instantiation: heapam_handler.c:ExecQualAndReset Unexecuted instantiation: commit_ts.c:ExecQualAndReset Unexecuted instantiation: multixact.c:ExecQualAndReset Unexecuted instantiation: rmgr.c:ExecQualAndReset Unexecuted instantiation: twophase.c:ExecQualAndReset Unexecuted instantiation: xlogfuncs.c:ExecQualAndReset Unexecuted instantiation: xlogprefetcher.c:ExecQualAndReset Unexecuted instantiation: dependency.c:ExecQualAndReset Unexecuted instantiation: index.c:ExecQualAndReset Unexecuted instantiation: indexing.c:ExecQualAndReset Unexecuted instantiation: namespace.c:ExecQualAndReset Unexecuted instantiation: objectaddress.c:ExecQualAndReset Unexecuted instantiation: pg_proc.c:ExecQualAndReset Unexecuted instantiation: pg_publication.c:ExecQualAndReset Unexecuted instantiation: parse_func.c:ExecQualAndReset Unexecuted instantiation: parse_relation.c:ExecQualAndReset Unexecuted instantiation: parse_target.c:ExecQualAndReset Unexecuted instantiation: analyze.c:ExecQualAndReset Unexecuted instantiation: async.c:ExecQualAndReset Unexecuted instantiation: constraint.c:ExecQualAndReset Unexecuted instantiation: copy.c:ExecQualAndReset Unexecuted instantiation: copyfrom.c:ExecQualAndReset Unexecuted instantiation: copyfromparse.c:ExecQualAndReset Unexecuted instantiation: copyto.c:ExecQualAndReset Unexecuted instantiation: createas.c:ExecQualAndReset Unexecuted instantiation: event_trigger.c:ExecQualAndReset Unexecuted instantiation: explain.c:ExecQualAndReset Unexecuted instantiation: explain_dr.c:ExecQualAndReset Unexecuted instantiation: explain_format.c:ExecQualAndReset Unexecuted instantiation: explain_state.c:ExecQualAndReset Unexecuted instantiation: extension.c:ExecQualAndReset Unexecuted instantiation: functioncmds.c:ExecQualAndReset Unexecuted instantiation: matview.c:ExecQualAndReset Unexecuted instantiation: portalcmds.c:ExecQualAndReset Unexecuted instantiation: prepare.c:ExecQualAndReset Unexecuted instantiation: sequence.c:ExecQualAndReset Unexecuted instantiation: subscriptioncmds.c:ExecQualAndReset Unexecuted instantiation: tablecmds.c:ExecQualAndReset Unexecuted instantiation: trigger.c:ExecQualAndReset Unexecuted instantiation: typecmds.c:ExecQualAndReset Unexecuted instantiation: execAmi.c:ExecQualAndReset Unexecuted instantiation: execAsync.c:ExecQualAndReset Unexecuted instantiation: execCurrent.c:ExecQualAndReset Unexecuted instantiation: execExpr.c:ExecQualAndReset Unexecuted instantiation: execExprInterp.c:ExecQualAndReset Unexecuted instantiation: execGrouping.c:ExecQualAndReset Unexecuted instantiation: execIndexing.c:ExecQualAndReset Unexecuted instantiation: execJunk.c:ExecQualAndReset Unexecuted instantiation: execMain.c:ExecQualAndReset Unexecuted instantiation: execParallel.c:ExecQualAndReset Unexecuted instantiation: execPartition.c:ExecQualAndReset Unexecuted instantiation: execProcnode.c:ExecQualAndReset Unexecuted instantiation: execReplication.c:ExecQualAndReset Unexecuted instantiation: execSRF.c:ExecQualAndReset Unexecuted instantiation: execScan.c:ExecQualAndReset Unexecuted instantiation: execTuples.c:ExecQualAndReset Unexecuted instantiation: execUtils.c:ExecQualAndReset Unexecuted instantiation: functions.c:ExecQualAndReset Unexecuted instantiation: nodeAgg.c:ExecQualAndReset Unexecuted instantiation: nodeAppend.c:ExecQualAndReset Unexecuted instantiation: nodeBitmapAnd.c:ExecQualAndReset Unexecuted instantiation: nodeBitmapHeapscan.c:ExecQualAndReset Unexecuted instantiation: nodeBitmapIndexscan.c:ExecQualAndReset Unexecuted instantiation: nodeBitmapOr.c:ExecQualAndReset Unexecuted instantiation: nodeCtescan.c:ExecQualAndReset Unexecuted instantiation: nodeCustom.c:ExecQualAndReset Unexecuted instantiation: nodeForeignscan.c:ExecQualAndReset Unexecuted instantiation: nodeFunctionscan.c:ExecQualAndReset Unexecuted instantiation: nodeGather.c:ExecQualAndReset Unexecuted instantiation: nodeGatherMerge.c:ExecQualAndReset Unexecuted instantiation: nodeGroup.c:ExecQualAndReset Unexecuted instantiation: nodeHash.c:ExecQualAndReset Unexecuted instantiation: nodeHashjoin.c:ExecQualAndReset Unexecuted instantiation: nodeIncrementalSort.c:ExecQualAndReset Unexecuted instantiation: nodeIndexonlyscan.c:ExecQualAndReset Unexecuted instantiation: nodeIndexscan.c:ExecQualAndReset Unexecuted instantiation: nodeLimit.c:ExecQualAndReset Unexecuted instantiation: nodeLockRows.c:ExecQualAndReset Unexecuted instantiation: nodeMaterial.c:ExecQualAndReset Unexecuted instantiation: nodeMemoize.c:ExecQualAndReset Unexecuted instantiation: nodeMergeAppend.c:ExecQualAndReset Unexecuted instantiation: nodeMergejoin.c:ExecQualAndReset Unexecuted instantiation: nodeModifyTable.c:ExecQualAndReset Unexecuted instantiation: nodeNamedtuplestorescan.c:ExecQualAndReset Unexecuted instantiation: nodeNestloop.c:ExecQualAndReset Unexecuted instantiation: nodeProjectSet.c:ExecQualAndReset Unexecuted instantiation: nodeRecursiveunion.c:ExecQualAndReset Unexecuted instantiation: nodeResult.c:ExecQualAndReset Unexecuted instantiation: nodeSamplescan.c:ExecQualAndReset Unexecuted instantiation: nodeSeqscan.c:ExecQualAndReset Unexecuted instantiation: nodeSetOp.c:ExecQualAndReset Unexecuted instantiation: nodeSort.c:ExecQualAndReset Unexecuted instantiation: nodeSubplan.c:ExecQualAndReset Unexecuted instantiation: nodeSubqueryscan.c:ExecQualAndReset Unexecuted instantiation: nodeTableFuncscan.c:ExecQualAndReset Unexecuted instantiation: nodeTidrangescan.c:ExecQualAndReset Unexecuted instantiation: nodeTidscan.c:ExecQualAndReset Unexecuted instantiation: nodeUnique.c:ExecQualAndReset Unexecuted instantiation: nodeValuesscan.c:ExecQualAndReset Unexecuted instantiation: nodeWindowAgg.c:ExecQualAndReset Unexecuted instantiation: nodeWorktablescan.c:ExecQualAndReset Unexecuted instantiation: spi.c:ExecQualAndReset Unexecuted instantiation: foreign.c:ExecQualAndReset Unexecuted instantiation: costsize.c:ExecQualAndReset Unexecuted instantiation: joinpath.c:ExecQualAndReset Unexecuted instantiation: planner.c:ExecQualAndReset Unexecuted instantiation: subselect.c:ExecQualAndReset Unexecuted instantiation: prepjointree.c:ExecQualAndReset Unexecuted instantiation: clauses.c:ExecQualAndReset Unexecuted instantiation: predtest.c:ExecQualAndReset Unexecuted instantiation: partbounds.c:ExecQualAndReset Unexecuted instantiation: partprune.c:ExecQualAndReset Unexecuted instantiation: conflict.c:ExecQualAndReset Unexecuted instantiation: launcher.c:ExecQualAndReset Unexecuted instantiation: logicalfuncs.c:ExecQualAndReset Unexecuted instantiation: origin.c:ExecQualAndReset Unexecuted instantiation: relation.c:ExecQualAndReset Unexecuted instantiation: worker.c:ExecQualAndReset Unexecuted instantiation: slotfuncs.c:ExecQualAndReset Unexecuted instantiation: walreceiver.c:ExecQualAndReset Unexecuted instantiation: walsender.c:ExecQualAndReset Unexecuted instantiation: rewriteHandler.c:ExecQualAndReset Unexecuted instantiation: basebackup_copy.c:ExecQualAndReset Unexecuted instantiation: walsummaryfuncs.c:ExecQualAndReset Unexecuted instantiation: extended_stats.c:ExecQualAndReset Unexecuted instantiation: mcv.c:ExecQualAndReset Unexecuted instantiation: stat_utils.c:ExecQualAndReset Unexecuted instantiation: aio_funcs.c:ExecQualAndReset Unexecuted instantiation: shmem.c:ExecQualAndReset Unexecuted instantiation: pquery.c:ExecQualAndReset Unexecuted instantiation: utility.c:ExecQualAndReset Unexecuted instantiation: wparser.c:ExecQualAndReset Unexecuted instantiation: wait_event_funcs.c:ExecQualAndReset Unexecuted instantiation: acl.c:ExecQualAndReset Unexecuted instantiation: arrayfuncs.c:ExecQualAndReset Unexecuted instantiation: datetime.c:ExecQualAndReset Unexecuted instantiation: domains.c:ExecQualAndReset Unexecuted instantiation: genfile.c:ExecQualAndReset Unexecuted instantiation: hbafuncs.c:ExecQualAndReset Unexecuted instantiation: int.c:ExecQualAndReset Unexecuted instantiation: int8.c:ExecQualAndReset Unexecuted instantiation: json.c:ExecQualAndReset Unexecuted instantiation: jsonb.c:ExecQualAndReset Unexecuted instantiation: jsonfuncs.c:ExecQualAndReset Unexecuted instantiation: jsonpath_exec.c:ExecQualAndReset Unexecuted instantiation: lockfuncs.c:ExecQualAndReset Unexecuted instantiation: mcxtfuncs.c:ExecQualAndReset Unexecuted instantiation: misc.c:ExecQualAndReset Unexecuted instantiation: multirangetypes.c:ExecQualAndReset Unexecuted instantiation: numeric.c:ExecQualAndReset Unexecuted instantiation: orderedsetaggs.c:ExecQualAndReset Unexecuted instantiation: partitionfuncs.c:ExecQualAndReset Unexecuted instantiation: pgstatfuncs.c:ExecQualAndReset Unexecuted instantiation: regexp.c:ExecQualAndReset Unexecuted instantiation: ri_triggers.c:ExecQualAndReset Unexecuted instantiation: rowtypes.c:ExecQualAndReset Unexecuted instantiation: ruleutils.c:ExecQualAndReset Unexecuted instantiation: timestamp.c:ExecQualAndReset Unexecuted instantiation: tsvector_op.c:ExecQualAndReset Unexecuted instantiation: varlena.c:ExecQualAndReset Unexecuted instantiation: xid8funcs.c:ExecQualAndReset Unexecuted instantiation: funccache.c:ExecQualAndReset Unexecuted instantiation: plancache.c:ExecQualAndReset Unexecuted instantiation: typcache.c:ExecQualAndReset Unexecuted instantiation: funcapi.c:ExecQualAndReset Unexecuted instantiation: guc_funcs.c:ExecQualAndReset Unexecuted instantiation: pg_config.c:ExecQualAndReset Unexecuted instantiation: pg_controldata.c:ExecQualAndReset Unexecuted instantiation: portalmem.c:ExecQualAndReset Unexecuted instantiation: tuplesortvariants.c:ExecQualAndReset Unexecuted instantiation: tuplestore.c:ExecQualAndReset |
548 | | #endif |
549 | | |
550 | | extern bool ExecCheck(ExprState *state, ExprContext *econtext); |
551 | | |
552 | | /* |
553 | | * prototypes from functions in execSRF.c |
554 | | */ |
555 | | extern SetExprState *ExecInitTableFunctionResult(Expr *expr, |
556 | | ExprContext *econtext, PlanState *parent); |
557 | | extern Tuplestorestate *ExecMakeTableFunctionResult(SetExprState *setexpr, |
558 | | ExprContext *econtext, |
559 | | MemoryContext argContext, |
560 | | TupleDesc expectedDesc, |
561 | | bool randomAccess); |
562 | | extern SetExprState *ExecInitFunctionResultSet(Expr *expr, |
563 | | ExprContext *econtext, PlanState *parent); |
564 | | extern Datum ExecMakeFunctionResultSet(SetExprState *fcache, |
565 | | ExprContext *econtext, |
566 | | MemoryContext argContext, |
567 | | bool *isNull, |
568 | | ExprDoneCond *isDone); |
569 | | |
570 | | /* |
571 | | * prototypes from functions in execScan.c |
572 | | */ |
573 | | typedef TupleTableSlot *(*ExecScanAccessMtd) (ScanState *node); |
574 | | typedef bool (*ExecScanRecheckMtd) (ScanState *node, TupleTableSlot *slot); |
575 | | |
576 | | extern TupleTableSlot *ExecScan(ScanState *node, ExecScanAccessMtd accessMtd, |
577 | | ExecScanRecheckMtd recheckMtd); |
578 | | extern void ExecAssignScanProjectionInfo(ScanState *node); |
579 | | extern void ExecAssignScanProjectionInfoWithVarno(ScanState *node, int varno); |
580 | | extern void ExecScanReScan(ScanState *node); |
581 | | |
582 | | /* |
583 | | * prototypes from functions in execTuples.c |
584 | | */ |
585 | | extern void ExecInitResultTypeTL(PlanState *planstate); |
586 | | extern void ExecInitResultSlot(PlanState *planstate, |
587 | | const TupleTableSlotOps *tts_ops); |
588 | | extern void ExecInitResultTupleSlotTL(PlanState *planstate, |
589 | | const TupleTableSlotOps *tts_ops); |
590 | | extern void ExecInitScanTupleSlot(EState *estate, ScanState *scanstate, |
591 | | TupleDesc tupledesc, |
592 | | const TupleTableSlotOps *tts_ops); |
593 | | extern TupleTableSlot *ExecInitExtraTupleSlot(EState *estate, |
594 | | TupleDesc tupledesc, |
595 | | const TupleTableSlotOps *tts_ops); |
596 | | extern TupleTableSlot *ExecInitNullTupleSlot(EState *estate, TupleDesc tupType, |
597 | | const TupleTableSlotOps *tts_ops); |
598 | | extern TupleDesc ExecTypeFromTL(List *targetList); |
599 | | extern TupleDesc ExecCleanTypeFromTL(List *targetList); |
600 | | extern TupleDesc ExecTypeFromExprList(List *exprList); |
601 | | extern void ExecTypeSetColNames(TupleDesc typeInfo, List *namesList); |
602 | | extern void UpdateChangedParamSet(PlanState *node, Bitmapset *newchg); |
603 | | |
604 | | typedef struct TupOutputState |
605 | | { |
606 | | TupleTableSlot *slot; |
607 | | DestReceiver *dest; |
608 | | } TupOutputState; |
609 | | |
610 | | extern TupOutputState *begin_tup_output_tupdesc(DestReceiver *dest, |
611 | | TupleDesc tupdesc, |
612 | | const TupleTableSlotOps *tts_ops); |
613 | | extern void do_tup_output(TupOutputState *tstate, const Datum *values, const bool *isnull); |
614 | | extern void do_text_output_multiline(TupOutputState *tstate, const char *txt); |
615 | | extern void end_tup_output(TupOutputState *tstate); |
616 | | |
617 | | /* |
618 | | * Write a single line of text given as a C string. |
619 | | * |
620 | | * Should only be used with a single-TEXT-attribute tupdesc. |
621 | | */ |
622 | | #define do_text_output_oneline(tstate, str_to_emit) \ |
623 | 0 | do { \ |
624 | 0 | Datum values_[1]; \ |
625 | 0 | bool isnull_[1]; \ |
626 | 0 | values_[0] = PointerGetDatum(cstring_to_text(str_to_emit)); \ |
627 | 0 | isnull_[0] = false; \ |
628 | 0 | do_tup_output(tstate, values_, isnull_); \ |
629 | 0 | pfree(DatumGetPointer(values_[0])); \ |
630 | 0 | } while (0) |
631 | | |
632 | | |
633 | | /* |
634 | | * prototypes from functions in execUtils.c |
635 | | */ |
636 | | extern EState *CreateExecutorState(void); |
637 | | extern void FreeExecutorState(EState *estate); |
638 | | extern ExprContext *CreateExprContext(EState *estate); |
639 | | extern ExprContext *CreateWorkExprContext(EState *estate); |
640 | | extern ExprContext *CreateStandaloneExprContext(void); |
641 | | extern void FreeExprContext(ExprContext *econtext, bool isCommit); |
642 | | extern void ReScanExprContext(ExprContext *econtext); |
643 | | |
644 | | #define ResetExprContext(econtext) \ |
645 | 0 | MemoryContextReset((econtext)->ecxt_per_tuple_memory) |
646 | | |
647 | | extern ExprContext *MakePerTupleExprContext(EState *estate); |
648 | | |
649 | | /* Get an EState's per-output-tuple exprcontext, making it if first use */ |
650 | | #define GetPerTupleExprContext(estate) \ |
651 | 0 | ((estate)->es_per_tuple_exprcontext ? \ |
652 | 0 | (estate)->es_per_tuple_exprcontext : \ |
653 | 0 | MakePerTupleExprContext(estate)) |
654 | | |
655 | | #define GetPerTupleMemoryContext(estate) \ |
656 | 0 | (GetPerTupleExprContext(estate)->ecxt_per_tuple_memory) |
657 | | |
658 | | /* Reset an EState's per-output-tuple exprcontext, if one's been created */ |
659 | | #define ResetPerTupleExprContext(estate) \ |
660 | 0 | do { \ |
661 | 0 | if ((estate)->es_per_tuple_exprcontext) \ |
662 | 0 | ResetExprContext((estate)->es_per_tuple_exprcontext); \ |
663 | 0 | } while (0) |
664 | | |
665 | | extern void ExecAssignExprContext(EState *estate, PlanState *planstate); |
666 | | extern TupleDesc ExecGetResultType(PlanState *planstate); |
667 | | extern const TupleTableSlotOps *ExecGetResultSlotOps(PlanState *planstate, |
668 | | bool *isfixed); |
669 | | extern const TupleTableSlotOps *ExecGetCommonSlotOps(PlanState **planstates, |
670 | | int nplans); |
671 | | extern const TupleTableSlotOps *ExecGetCommonChildSlotOps(PlanState *ps); |
672 | | extern void ExecAssignProjectionInfo(PlanState *planstate, |
673 | | TupleDesc inputDesc); |
674 | | extern void ExecConditionalAssignProjectionInfo(PlanState *planstate, |
675 | | TupleDesc inputDesc, int varno); |
676 | | extern void ExecAssignScanType(ScanState *scanstate, TupleDesc tupDesc); |
677 | | extern void ExecCreateScanSlotFromOuterPlan(EState *estate, |
678 | | ScanState *scanstate, |
679 | | const TupleTableSlotOps *tts_ops); |
680 | | |
681 | | extern bool ExecRelationIsTargetRelation(EState *estate, Index scanrelid); |
682 | | |
683 | | extern Relation ExecOpenScanRelation(EState *estate, Index scanrelid, int eflags); |
684 | | |
685 | | extern void ExecInitRangeTable(EState *estate, List *rangeTable, List *permInfos, |
686 | | Bitmapset *unpruned_relids); |
687 | | extern void ExecCloseRangeTableRelations(EState *estate); |
688 | | extern void ExecCloseResultRelations(EState *estate); |
689 | | |
690 | | static inline RangeTblEntry * |
691 | | exec_rt_fetch(Index rti, EState *estate) |
692 | 0 | { |
693 | 0 | return (RangeTblEntry *) list_nth(estate->es_range_table, rti - 1); |
694 | 0 | } Unexecuted instantiation: heapam_handler.c:exec_rt_fetch Unexecuted instantiation: commit_ts.c:exec_rt_fetch Unexecuted instantiation: multixact.c:exec_rt_fetch Unexecuted instantiation: rmgr.c:exec_rt_fetch Unexecuted instantiation: twophase.c:exec_rt_fetch Unexecuted instantiation: xlogfuncs.c:exec_rt_fetch Unexecuted instantiation: xlogprefetcher.c:exec_rt_fetch Unexecuted instantiation: dependency.c:exec_rt_fetch Unexecuted instantiation: index.c:exec_rt_fetch Unexecuted instantiation: indexing.c:exec_rt_fetch Unexecuted instantiation: namespace.c:exec_rt_fetch Unexecuted instantiation: objectaddress.c:exec_rt_fetch Unexecuted instantiation: pg_proc.c:exec_rt_fetch Unexecuted instantiation: pg_publication.c:exec_rt_fetch Unexecuted instantiation: parse_func.c:exec_rt_fetch Unexecuted instantiation: parse_relation.c:exec_rt_fetch Unexecuted instantiation: parse_target.c:exec_rt_fetch Unexecuted instantiation: analyze.c:exec_rt_fetch Unexecuted instantiation: async.c:exec_rt_fetch Unexecuted instantiation: constraint.c:exec_rt_fetch Unexecuted instantiation: copy.c:exec_rt_fetch Unexecuted instantiation: copyfrom.c:exec_rt_fetch Unexecuted instantiation: copyfromparse.c:exec_rt_fetch Unexecuted instantiation: copyto.c:exec_rt_fetch Unexecuted instantiation: createas.c:exec_rt_fetch Unexecuted instantiation: event_trigger.c:exec_rt_fetch Unexecuted instantiation: explain.c:exec_rt_fetch Unexecuted instantiation: explain_dr.c:exec_rt_fetch Unexecuted instantiation: explain_format.c:exec_rt_fetch Unexecuted instantiation: explain_state.c:exec_rt_fetch Unexecuted instantiation: extension.c:exec_rt_fetch Unexecuted instantiation: functioncmds.c:exec_rt_fetch Unexecuted instantiation: matview.c:exec_rt_fetch Unexecuted instantiation: portalcmds.c:exec_rt_fetch Unexecuted instantiation: prepare.c:exec_rt_fetch Unexecuted instantiation: sequence.c:exec_rt_fetch Unexecuted instantiation: subscriptioncmds.c:exec_rt_fetch Unexecuted instantiation: tablecmds.c:exec_rt_fetch Unexecuted instantiation: trigger.c:exec_rt_fetch Unexecuted instantiation: typecmds.c:exec_rt_fetch Unexecuted instantiation: execAmi.c:exec_rt_fetch Unexecuted instantiation: execAsync.c:exec_rt_fetch Unexecuted instantiation: execCurrent.c:exec_rt_fetch Unexecuted instantiation: execExpr.c:exec_rt_fetch Unexecuted instantiation: execExprInterp.c:exec_rt_fetch Unexecuted instantiation: execGrouping.c:exec_rt_fetch Unexecuted instantiation: execIndexing.c:exec_rt_fetch Unexecuted instantiation: execJunk.c:exec_rt_fetch Unexecuted instantiation: execMain.c:exec_rt_fetch Unexecuted instantiation: execParallel.c:exec_rt_fetch Unexecuted instantiation: execPartition.c:exec_rt_fetch Unexecuted instantiation: execProcnode.c:exec_rt_fetch Unexecuted instantiation: execReplication.c:exec_rt_fetch Unexecuted instantiation: execSRF.c:exec_rt_fetch Unexecuted instantiation: execScan.c:exec_rt_fetch Unexecuted instantiation: execTuples.c:exec_rt_fetch Unexecuted instantiation: execUtils.c:exec_rt_fetch Unexecuted instantiation: functions.c:exec_rt_fetch Unexecuted instantiation: nodeAgg.c:exec_rt_fetch Unexecuted instantiation: nodeAppend.c:exec_rt_fetch Unexecuted instantiation: nodeBitmapAnd.c:exec_rt_fetch Unexecuted instantiation: nodeBitmapHeapscan.c:exec_rt_fetch Unexecuted instantiation: nodeBitmapIndexscan.c:exec_rt_fetch Unexecuted instantiation: nodeBitmapOr.c:exec_rt_fetch Unexecuted instantiation: nodeCtescan.c:exec_rt_fetch Unexecuted instantiation: nodeCustom.c:exec_rt_fetch Unexecuted instantiation: nodeForeignscan.c:exec_rt_fetch Unexecuted instantiation: nodeFunctionscan.c:exec_rt_fetch Unexecuted instantiation: nodeGather.c:exec_rt_fetch Unexecuted instantiation: nodeGatherMerge.c:exec_rt_fetch Unexecuted instantiation: nodeGroup.c:exec_rt_fetch Unexecuted instantiation: nodeHash.c:exec_rt_fetch Unexecuted instantiation: nodeHashjoin.c:exec_rt_fetch Unexecuted instantiation: nodeIncrementalSort.c:exec_rt_fetch Unexecuted instantiation: nodeIndexonlyscan.c:exec_rt_fetch Unexecuted instantiation: nodeIndexscan.c:exec_rt_fetch Unexecuted instantiation: nodeLimit.c:exec_rt_fetch Unexecuted instantiation: nodeLockRows.c:exec_rt_fetch Unexecuted instantiation: nodeMaterial.c:exec_rt_fetch Unexecuted instantiation: nodeMemoize.c:exec_rt_fetch Unexecuted instantiation: nodeMergeAppend.c:exec_rt_fetch Unexecuted instantiation: nodeMergejoin.c:exec_rt_fetch Unexecuted instantiation: nodeModifyTable.c:exec_rt_fetch Unexecuted instantiation: nodeNamedtuplestorescan.c:exec_rt_fetch Unexecuted instantiation: nodeNestloop.c:exec_rt_fetch Unexecuted instantiation: nodeProjectSet.c:exec_rt_fetch Unexecuted instantiation: nodeRecursiveunion.c:exec_rt_fetch Unexecuted instantiation: nodeResult.c:exec_rt_fetch Unexecuted instantiation: nodeSamplescan.c:exec_rt_fetch Unexecuted instantiation: nodeSeqscan.c:exec_rt_fetch Unexecuted instantiation: nodeSetOp.c:exec_rt_fetch Unexecuted instantiation: nodeSort.c:exec_rt_fetch Unexecuted instantiation: nodeSubplan.c:exec_rt_fetch Unexecuted instantiation: nodeSubqueryscan.c:exec_rt_fetch Unexecuted instantiation: nodeTableFuncscan.c:exec_rt_fetch Unexecuted instantiation: nodeTidrangescan.c:exec_rt_fetch Unexecuted instantiation: nodeTidscan.c:exec_rt_fetch Unexecuted instantiation: nodeUnique.c:exec_rt_fetch Unexecuted instantiation: nodeValuesscan.c:exec_rt_fetch Unexecuted instantiation: nodeWindowAgg.c:exec_rt_fetch Unexecuted instantiation: nodeWorktablescan.c:exec_rt_fetch Unexecuted instantiation: spi.c:exec_rt_fetch Unexecuted instantiation: foreign.c:exec_rt_fetch Unexecuted instantiation: costsize.c:exec_rt_fetch Unexecuted instantiation: joinpath.c:exec_rt_fetch Unexecuted instantiation: planner.c:exec_rt_fetch Unexecuted instantiation: subselect.c:exec_rt_fetch Unexecuted instantiation: prepjointree.c:exec_rt_fetch Unexecuted instantiation: clauses.c:exec_rt_fetch Unexecuted instantiation: predtest.c:exec_rt_fetch Unexecuted instantiation: partbounds.c:exec_rt_fetch Unexecuted instantiation: partprune.c:exec_rt_fetch Unexecuted instantiation: conflict.c:exec_rt_fetch Unexecuted instantiation: launcher.c:exec_rt_fetch Unexecuted instantiation: logicalfuncs.c:exec_rt_fetch Unexecuted instantiation: origin.c:exec_rt_fetch Unexecuted instantiation: relation.c:exec_rt_fetch Unexecuted instantiation: worker.c:exec_rt_fetch Unexecuted instantiation: slotfuncs.c:exec_rt_fetch Unexecuted instantiation: walreceiver.c:exec_rt_fetch Unexecuted instantiation: walsender.c:exec_rt_fetch Unexecuted instantiation: rewriteHandler.c:exec_rt_fetch Unexecuted instantiation: basebackup_copy.c:exec_rt_fetch Unexecuted instantiation: walsummaryfuncs.c:exec_rt_fetch Unexecuted instantiation: extended_stats.c:exec_rt_fetch Unexecuted instantiation: mcv.c:exec_rt_fetch Unexecuted instantiation: stat_utils.c:exec_rt_fetch Unexecuted instantiation: aio_funcs.c:exec_rt_fetch Unexecuted instantiation: shmem.c:exec_rt_fetch Unexecuted instantiation: pquery.c:exec_rt_fetch Unexecuted instantiation: utility.c:exec_rt_fetch Unexecuted instantiation: wparser.c:exec_rt_fetch Unexecuted instantiation: wait_event_funcs.c:exec_rt_fetch Unexecuted instantiation: acl.c:exec_rt_fetch Unexecuted instantiation: arrayfuncs.c:exec_rt_fetch Unexecuted instantiation: datetime.c:exec_rt_fetch Unexecuted instantiation: domains.c:exec_rt_fetch Unexecuted instantiation: genfile.c:exec_rt_fetch Unexecuted instantiation: hbafuncs.c:exec_rt_fetch Unexecuted instantiation: int.c:exec_rt_fetch Unexecuted instantiation: int8.c:exec_rt_fetch Unexecuted instantiation: json.c:exec_rt_fetch Unexecuted instantiation: jsonb.c:exec_rt_fetch Unexecuted instantiation: jsonfuncs.c:exec_rt_fetch Unexecuted instantiation: jsonpath_exec.c:exec_rt_fetch Unexecuted instantiation: lockfuncs.c:exec_rt_fetch Unexecuted instantiation: mcxtfuncs.c:exec_rt_fetch Unexecuted instantiation: misc.c:exec_rt_fetch Unexecuted instantiation: multirangetypes.c:exec_rt_fetch Unexecuted instantiation: numeric.c:exec_rt_fetch Unexecuted instantiation: orderedsetaggs.c:exec_rt_fetch Unexecuted instantiation: partitionfuncs.c:exec_rt_fetch Unexecuted instantiation: pgstatfuncs.c:exec_rt_fetch Unexecuted instantiation: regexp.c:exec_rt_fetch Unexecuted instantiation: ri_triggers.c:exec_rt_fetch Unexecuted instantiation: rowtypes.c:exec_rt_fetch Unexecuted instantiation: ruleutils.c:exec_rt_fetch Unexecuted instantiation: timestamp.c:exec_rt_fetch Unexecuted instantiation: tsvector_op.c:exec_rt_fetch Unexecuted instantiation: varlena.c:exec_rt_fetch Unexecuted instantiation: xid8funcs.c:exec_rt_fetch Unexecuted instantiation: funccache.c:exec_rt_fetch Unexecuted instantiation: plancache.c:exec_rt_fetch Unexecuted instantiation: typcache.c:exec_rt_fetch Unexecuted instantiation: funcapi.c:exec_rt_fetch Unexecuted instantiation: guc_funcs.c:exec_rt_fetch Unexecuted instantiation: pg_config.c:exec_rt_fetch Unexecuted instantiation: pg_controldata.c:exec_rt_fetch Unexecuted instantiation: portalmem.c:exec_rt_fetch Unexecuted instantiation: tuplesortvariants.c:exec_rt_fetch Unexecuted instantiation: tuplestore.c:exec_rt_fetch |
695 | | |
696 | | extern Relation ExecGetRangeTableRelation(EState *estate, Index rti, |
697 | | bool isResultRel); |
698 | | extern void ExecInitResultRelation(EState *estate, ResultRelInfo *resultRelInfo, |
699 | | Index rti); |
700 | | |
701 | | extern int executor_errposition(EState *estate, int location); |
702 | | |
703 | | extern void RegisterExprContextCallback(ExprContext *econtext, |
704 | | ExprContextCallbackFunction function, |
705 | | Datum arg); |
706 | | extern void UnregisterExprContextCallback(ExprContext *econtext, |
707 | | ExprContextCallbackFunction function, |
708 | | Datum arg); |
709 | | |
710 | | extern Datum GetAttributeByName(HeapTupleHeader tuple, const char *attname, |
711 | | bool *isNull); |
712 | | extern Datum GetAttributeByNum(HeapTupleHeader tuple, AttrNumber attrno, |
713 | | bool *isNull); |
714 | | |
715 | | extern int ExecTargetListLength(List *targetlist); |
716 | | extern int ExecCleanTargetListLength(List *targetlist); |
717 | | |
718 | | extern TupleTableSlot *ExecGetTriggerOldSlot(EState *estate, ResultRelInfo *relInfo); |
719 | | extern TupleTableSlot *ExecGetTriggerNewSlot(EState *estate, ResultRelInfo *relInfo); |
720 | | extern TupleTableSlot *ExecGetReturningSlot(EState *estate, ResultRelInfo *relInfo); |
721 | | extern TupleTableSlot *ExecGetAllNullSlot(EState *estate, ResultRelInfo *relInfo); |
722 | | extern TupleConversionMap *ExecGetChildToRootMap(ResultRelInfo *resultRelInfo); |
723 | | extern TupleConversionMap *ExecGetRootToChildMap(ResultRelInfo *resultRelInfo, EState *estate); |
724 | | |
725 | | extern Oid ExecGetResultRelCheckAsUser(ResultRelInfo *relInfo, EState *estate); |
726 | | extern Bitmapset *ExecGetInsertedCols(ResultRelInfo *relinfo, EState *estate); |
727 | | extern Bitmapset *ExecGetUpdatedCols(ResultRelInfo *relinfo, EState *estate); |
728 | | extern Bitmapset *ExecGetExtraUpdatedCols(ResultRelInfo *relinfo, EState *estate); |
729 | | extern Bitmapset *ExecGetAllUpdatedCols(ResultRelInfo *relinfo, EState *estate); |
730 | | |
731 | | /* |
732 | | * prototypes from functions in execIndexing.c |
733 | | */ |
734 | | extern void ExecOpenIndices(ResultRelInfo *resultRelInfo, bool speculative); |
735 | | extern void ExecCloseIndices(ResultRelInfo *resultRelInfo); |
736 | | extern List *ExecInsertIndexTuples(ResultRelInfo *resultRelInfo, |
737 | | TupleTableSlot *slot, EState *estate, |
738 | | bool update, |
739 | | bool noDupErr, |
740 | | bool *specConflict, List *arbiterIndexes, |
741 | | bool onlySummarizing); |
742 | | extern bool ExecCheckIndexConstraints(ResultRelInfo *resultRelInfo, |
743 | | TupleTableSlot *slot, |
744 | | EState *estate, ItemPointer conflictTid, |
745 | | ItemPointer tupleid, |
746 | | List *arbiterIndexes); |
747 | | extern void check_exclusion_constraint(Relation heap, Relation index, |
748 | | IndexInfo *indexInfo, |
749 | | ItemPointer tupleid, |
750 | | const Datum *values, const bool *isnull, |
751 | | EState *estate, bool newIndex); |
752 | | |
753 | | /* |
754 | | * prototypes from functions in execReplication.c |
755 | | */ |
756 | | extern bool RelationFindReplTupleByIndex(Relation rel, Oid idxoid, |
757 | | LockTupleMode lockmode, |
758 | | TupleTableSlot *searchslot, |
759 | | TupleTableSlot *outslot); |
760 | | extern bool RelationFindReplTupleSeq(Relation rel, LockTupleMode lockmode, |
761 | | TupleTableSlot *searchslot, TupleTableSlot *outslot); |
762 | | |
763 | | extern void ExecSimpleRelationInsert(ResultRelInfo *resultRelInfo, |
764 | | EState *estate, TupleTableSlot *slot); |
765 | | extern void ExecSimpleRelationUpdate(ResultRelInfo *resultRelInfo, |
766 | | EState *estate, EPQState *epqstate, |
767 | | TupleTableSlot *searchslot, TupleTableSlot *slot); |
768 | | extern void ExecSimpleRelationDelete(ResultRelInfo *resultRelInfo, |
769 | | EState *estate, EPQState *epqstate, |
770 | | TupleTableSlot *searchslot); |
771 | | extern void CheckCmdReplicaIdentity(Relation rel, CmdType cmd); |
772 | | |
773 | | extern void CheckSubscriptionRelkind(char relkind, const char *nspname, |
774 | | const char *relname); |
775 | | |
776 | | /* |
777 | | * prototypes from functions in nodeModifyTable.c |
778 | | */ |
779 | | extern TupleTableSlot *ExecGetUpdateNewTuple(ResultRelInfo *relinfo, |
780 | | TupleTableSlot *planSlot, |
781 | | TupleTableSlot *oldSlot); |
782 | | extern ResultRelInfo *ExecLookupResultRelByOid(ModifyTableState *node, |
783 | | Oid resultoid, |
784 | | bool missing_ok, |
785 | | bool update_cache); |
786 | | |
787 | | #endif /* EXECUTOR_H */ |