Coverage Report

Created: 2025-06-13 06:06

/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  */