PostgreSQL Source Code: src/include/nodes/execnodes.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29#ifndef EXECNODES_H
30#define EXECNODES_H
31
51
52struct PlanState;
57struct RangeTblEntry;
58struct ExprEvalStep;
61
62
63
64
65
66
67
68
69
72 bool *isNull);
73
74
75
76#define EEO_FLAG_IS_QUAL (1 << 0)
77
78#define EEO_FLAG_HAS_OLD (1 << 1)
79
80#define EEO_FLAG_HAS_NEW (1 << 2)
81
82#define EEO_FLAG_OLD_IS_NULL (1 << 3)
83
84#define EEO_FLAG_NEW_IS_NULL (1 << 4)
85
87{
89
90#define FIELDNO_EXPRSTATE_FLAGS 1
92
93
94
95
96
97#define FIELDNO_EXPRSTATE_RESNULL 2
99#define FIELDNO_EXPRSTATE_RESVALUE 3
101
102
103
104
105#define FIELDNO_EXPRSTATE_RESULTSLOT 4
107
108
109
110
112
113
114
115
116
118
119
121
122
124
125
126
127
128
129
131 int steps_alloc;
132
133#define FIELDNO_EXPRSTATE_PARENT 11
136
139
142
143
144
145
146
147
148
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
193{
222
223
224
225
226
227
228
230
232{
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
262{
264
265
266#define FIELDNO_EXPRCONTEXT_SCANTUPLE 1
268#define FIELDNO_EXPRCONTEXT_INNERTUPLE 2
270#define FIELDNO_EXPRCONTEXT_OUTERTUPLE 3
272
273
276
277
280
281
282
283
284
285#define FIELDNO_EXPRCONTEXT_AGGVALUES 8
287#define FIELDNO_EXPRCONTEXT_AGGNULLS 9
289
290
291#define FIELDNO_EXPRCONTEXT_CASEDATUM 10
293#define FIELDNO_EXPRCONTEXT_CASENULL 11
295
296
297#define FIELDNO_EXPRCONTEXT_DOMAINDATUM 12
299#define FIELDNO_EXPRCONTEXT_DOMAINNULL 13
301
302
303#define FIELDNO_EXPRCONTEXT_OLDTUPLE 14
305#define FIELDNO_EXPRCONTEXT_NEWTUPLE 15
307
308
310
311
314
315
316
317
318
319typedef enum
320{
325
326
327
328
329
330
331
332typedef enum
333{
339
340
341
342
343
344
345
347{
349
352 int allowedModes;
353
356
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
377{
379
381
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
410{
417
418
419
420
421
422
424{
426
432
433
434
435
436
437
438
440{
442
445
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
467{
469
470
472
473
475
476
478
479
481
482
484
485
486
487
488
490
491
493
495
496
498
500
502
504
505
507
508
510
511
513
514
516
517
519
520
525
526
528
529
531
532
534
535
538 int ri_BatchSize;
541
542
544
545
547
548
550
551
552
553
554
556
557
558
559
562
563
566
567
569
570
572
573
575
576
578
579
581
582
584
585
587
588
589
590
591
592
593
596
597
598
599
602
603
604
605
606
607
608
609
610
611
612
613
616
617
619
620
621
622
623
626
627
628
629
630
631
632
634{
641
643
644
645
646
647
648
649
651{
653
654
661
663
670
671
672
674
676
677
679
680
682
683
685
686
687
689
690
691
692
693
695
696
698
699
702
704
705
707
709
711
713
714
717 bool es_finished;
718
720
722
724
725
726
727
728
729
731
732
733
734
735
736
737
739
741
743
745
746
747
749
750
751
752
753
754
755
756
757
758
762
763
764
765
766
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
792{
805
806
807
808
809
810
811
812
813
814
816{
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
842
844{
849
850
851#define SH_PREFIX tuplehash
852#define SH_ELEMENT_TYPE TupleHashEntryData
853#define SH_KEY_TYPE MinimalTuple
854#define SH_SCOPE extern
855#define SH_DECLARE
857
859{
870
876
878
879
880
881
882
883
884#define InitTupleHashIterator(htable, iter) \
885 tuplehash_start_iterate(htable->hashtab, iter)
886#define TermTupleHashIterator(iter) \
887 ((void) 0)
888#define ResetTupleHashIterator(htable, iter) \
889 InitTupleHashIterator(htable, iter)
890#define ScanTupleHashTable(htable, iter) \
891 tuplehash_iterate(htable->hashtab, iter)
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
911{
918
919
920
921
922
923
924
925
926
927
928
930{
934
935
936
937
938
939
941
942
943
944
945
946
948
949
950
951
952
953
956
957
958
959
960
963
964
965
966
967
969
970
971
972
973
974
975
976
978
979
980
981
982
983
984
985 bool shutdown_reg;
986
987
988
989
990
991
994
995
996
997
998
1000{
1008
1020
1023
1030
1031
1032
1033
1034
1035
1036
1037
1039{
1043
1045{
1052
1053
1054
1055
1056
1057
1058
1060{
1061
1063
1064
1066
1067
1069
1070
1072
1073
1074
1075
1076
1077
1078
1079
1080
1082
1083
1085
1086
1087
1088
1089
1092
1093
1094
1095
1096
1097
1099
1100
1101
1102
1103
1104
1105
1107
1108
1109
1110
1111
1113
1114
1115
1116
1117
1118
1119
1120
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1142
1143
1144
1145
1146
1147
1148
1149
1151{
1153
1155
1157
1159
1160
1161
1164
1165
1168
1169
1171
1172
1173
1174
1175
1176
1180
1182
1184
1185
1186
1187
1189
1190
1191
1192
1197
1199
1200
1201
1202
1203
1204
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1243
1244
1245
1246
1247
1248
1249
1250
1251#define innerPlanState(node) (((PlanState *)(node))->righttree)
1252#define outerPlanState(node) (((PlanState *)(node))->lefttree)
1253
1254
1255#define InstrCountTuples2(node, delta) \
1256 do { \
1257 if (((PlanState *)(node))->instrument) \
1258 ((PlanState *)(node))->instrument->ntuples2 += (delta); \
1259 } while (0)
1260#define InstrCountFiltered1(node, delta) \
1261 do { \
1262 if (((PlanState *)(node))->instrument) \
1263 ((PlanState *)(node))->instrument->nfiltered1 += (delta); \
1264 } while(0)
1265#define InstrCountFiltered2(node, delta) \
1266 do { \
1267 if (((PlanState *)(node))->instrument) \
1268 ((PlanState *)(node))->instrument->nfiltered2 += (delta); \
1269 } while(0)
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1290{
1291
1295
1296
1297
1298
1299
1300
1301
1304
1305
1306
1307
1308
1309
1312
1313
1314
1315
1316
1317
1318
1320
1321
1322
1323
1325
1326
1327
1328
1329
1330
1332
1333
1334
1335
1336
1337
1339
1340
1341
1342
1343
1344
1345
1346
1348
1351
1352
1353
1354
1355
1356
1358{
1364
1365
1366
1367
1368
1369
1370
1371
1373{
1381
1382
1383
1384#define MERGE_INSERT 0x01
1385#define MERGE_UPDATE 0x02
1386#define MERGE_DELETE 0x04
1387
1388
1389
1390
1391
1393{
1400
1401
1402
1403
1404
1405
1406
1408
1411
1412
1413
1414
1415
1416
1417
1422
1423
1424
1425
1426
1428
1429
1431
1432
1434
1435
1437
1438
1440
1441
1443
1444
1445
1446
1447
1448
1450
1451
1455
1456
1457
1458
1459
1460
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1484
1486{
1497 bool as_syncdone;
1498
1502
1504
1512};
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1530{
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1555{
1561
1568
1569
1570
1571
1572
1574{
1579
1580
1581
1582
1583
1585{
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1611{
1617
1618
1619
1620
1621
1623{
1627
1628
1629
1630
1631
1633{
1637
1640 bool use_bulkread;
1641 bool use_pagemode;
1648
1649
1650
1651
1652
1653
1654typedef struct
1655{
1658 bool key_toastable;
1660
1661typedef struct
1662{
1668 bool *elem_nulls;
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1700{
1716
1717
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1752{
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1793{
1809
1810
1811
1812
1813
1814
1815
1816
1818{
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1837{
1842
1843
1844
1845
1846
1847
1848
1849
1850
1852{
1858
1859
1860
1861
1862
1863
1864
1865
1866
1868{
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1886{
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1908{
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1927{
1934
1935
1936
1937
1938
1939
1940
1941
1943{
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1965
1967{
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2003{
2011
2012
2013
2014
2015
2016
2017
2019{
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2050{
2055
2057
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2073{
2079
2080
2081
2082
2083
2084
2085
2086
2087
2089{
2093
2094
2095
2096
2097
2098
2099
2101{
2106
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2125
2127{
2130
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2149{
2152 bool single_match;
2153
2156
2157
2158
2159
2160
2161
2162
2163
2164
2166{
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2197
2199{
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2249
2251{
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2286{
2292
2296
2298{
2300
2302
2304
2306
2307
2308
2311
2312
2313
2314
2315
2317{
2321
2322
2323
2324
2325
2326
2327
2328
2330{
2334 struct memoize_hash *hashtable;
2340
2348
2349
2350
2352
2354
2355 bool binary_mode;
2356
2360
2362
2363
2364
2365
2366
2367
2368
2369
2371{
2376
2377
2378
2379
2380
2382{
2386
2387
2388
2389
2390
2392{
2398 bool bounded_Done;
2405
2406
2407
2408
2409
2411{
2419
2421{
2425
2426
2427
2428
2429
2431{
2435
2436
2437
2438
2439
2441{
2447
2449{
2453 bool outerNodeDone;
2459
2461
2463
2464
2470
2471
2472
2473
2474
2476{
2481
2482
2483
2484
2485
2487{
2492
2493
2494
2495
2496
2498{
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2521
2523{
2538#define FIELDNO_AGGSTATE_CURAGGCONTEXT 14
2541#define FIELDNO_AGGSTATE_CURPERTRANS 16
2546#define FIELDNO_AGGSTATE_CURRENT_SET 20
2547 int current_set;
2553
2559
2561
2563
2570
2576
2580
2584
2587
2590
2591
2592
2593#define FIELDNO_AGGSTATE_ALL_PERGROUPS 54
2595
2598
2599
2600
2601
2602
2603
2606
2607
2608
2609
2611{
2616
2618
2620{
2622
2623
2627
2641
2646
2652
2653
2657 bool inRangeAsc;
2659
2660
2662
2663
2664 bool top_window;
2665
2667
2668
2669
2670
2671
2677
2682
2685
2686 bool next_partition;
2688
2690
2692
2694
2695
2697
2700
2701
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2719{
2723
2724
2725
2726
2727
2728
2729
2730
2732{
2737
2740
2746
2747
2748
2749
2750
2751
2752
2753
2754
2756
2758{
2764
2769
2770
2778
2779
2780
2781
2782
2784{
2791
2792
2793
2794
2795
2797{
2801
2802
2803
2804
2805
2807{
2811
2814
2815
2816
2817
2818
2819
2820
2822
2823
2824
2825
2826
2827
2829
2830
2833
2834
2835
2836
2837
2838
2839
2840
2842{
2848
2850{
2852 bool setop_done;
2855
2856
2861
2862
2870
2871
2872
2873
2874
2875
2876
2878{
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2897{
2907
2909{
2921
2924
2925#endif
#define FLEXIBLE_ARRAY_MEMBER
void(* ExprContextCallbackFunction)(Datum arg)
struct WindowStatePerAggData * WindowStatePerAgg
struct IndexScanState IndexScanState
struct ExprContext ExprContext
struct ModifyTableState ModifyTableState
struct ResultState ResultState
struct SetOpStatePerInput SetOpStatePerInput
struct SubPlanState SubPlanState
struct SharedIncrementalSortInfo SharedIncrementalSortInfo
TupleTableSlot *(* ExecProcNodeMtd)(struct PlanState *pstate)
struct CteScanState CteScanState
struct PlanState PlanState
struct UniqueState UniqueState
struct SetOpState SetOpState
struct SharedMemoizeInfo SharedMemoizeInfo
struct HashState HashState
struct MemoizeState MemoizeState
struct IndexOnlyScanState IndexOnlyScanState
IncrementalSortExecutionStatus
struct GatherMergeState GatherMergeState
struct LimitState LimitState
struct ExprState ExprState
@ WINDOWAGG_PASSTHROUGH_STRICT
struct JunkFilter JunkFilter
struct ResultRelInfo ResultRelInfo
struct CustomScanState CustomScanState
struct OnConflictSetState OnConflictSetState
struct BitmapOrState BitmapOrState
struct IncrementalSortInfo IncrementalSortInfo
struct WindowFuncExprState WindowFuncExprState
struct HashJoinState HashJoinState
struct HashJoinTableData * HashJoinTable
struct SeqScanState SeqScanState
struct HashJoinTupleData * HashJoinTuple
struct TupleHashEntryData * TupleHashEntry
struct SortState SortState
struct BitmapAndState BitmapAndState
struct NestLoopState NestLoopState
struct MemoizeInstrumentation MemoizeInstrumentation
struct SharedBitmapHeapInstrumentation SharedBitmapHeapInstrumentation
struct SetExprState SetExprState
struct GroupState GroupState
struct BitmapHeapScanInstrumentation BitmapHeapScanInstrumentation
struct MaterialState MaterialState
struct WindowStatePerFuncData * WindowStatePerFunc
struct ExprContext_CB ExprContext_CB
struct TidRangeScanState TidRangeScanState
struct AggStatePerHashData * AggStatePerHash
struct TupleHashTableData * TupleHashTable
struct SampleScanState SampleScanState
struct GatherState GatherState
struct MergeJoinClauseData * MergeJoinClause
struct ParallelBitmapHeapState ParallelBitmapHeapState
struct MergeJoinState MergeJoinState
struct AggStatePerGroupData * AggStatePerGroup
struct ForeignScanState ForeignScanState
struct FunctionScanState FunctionScanState
struct AggStatePerPhaseData * AggStatePerPhase
struct WindowAggState WindowAggState
struct AggStatePerTransData * AggStatePerTrans
struct NamedTuplestoreScanState NamedTuplestoreScanState
struct SubqueryScanState SubqueryScanState
struct TableFuncScanState TableFuncScanState
struct RecursiveUnionState RecursiveUnionState
struct TupleHashEntryData TupleHashEntryData
struct SharedSortInfo SharedSortInfo
struct ScanState ScanState
tuplehash_iterator TupleHashIterator
struct MergeActionState MergeActionState
struct AggregateInstrumentation AggregateInstrumentation
struct TidScanState TidScanState
struct SharedHashInfo SharedHashInfo
struct ProjectSetState ProjectSetState
struct IncrementalSortState IncrementalSortState
struct JsonExprState JsonExprState
struct ReturnSetInfo ReturnSetInfo
struct AggStatePerAggData * AggStatePerAgg
@ SFRM_Materialize_Preferred
@ SFRM_Materialize_Random
struct IndexInfo IndexInfo
struct ProjectionInfo ProjectionInfo
struct DomainConstraintState DomainConstraintState
struct PresortedKeyData PresortedKeyData
struct HashInstrumentation HashInstrumentation
struct AsyncRequest AsyncRequest
struct IncrementalSortGroupInfo IncrementalSortGroupInfo
struct TupleHashTableData TupleHashTableData
struct JoinState JoinState
struct WorkTableScanState WorkTableScanState
struct BitmapHeapScanState BitmapHeapScanState
struct BitmapIndexScanState BitmapIndexScanState
struct SharedAggInfo SharedAggInfo
struct LockRowsState LockRowsState
struct ExecRowMark ExecRowMark
struct MergeAppendState MergeAppendState
Datum(* ExprStateEvalFunc)(struct ExprState *expression, struct ExprContext *econtext, bool *isNull)
struct ExecAuxRowMark ExecAuxRowMark
struct ValuesScanState ValuesScanState
#define NUM_MERGE_MATCH_KINDS
MemoryContext hash_metacxt
Tuplesortstate * sort_out
AggStatePerGroup * all_pergroups
AggStatePerGroup * hash_pergroup
int hash_planned_partitions
ExprContext * curaggcontext
MemoryContext hash_tablecxt
AggStatePerTrans curpertrans
AggStatePerTrans pertrans
struct LogicalTapeSet * hash_tapeset
ExprContext * hashcontext
SharedAggInfo * shared_info
uint64 hash_ngroups_limit
AggStatePerGroup * pergroups
uint64 hash_ngroups_current
TupleTableSlot * hash_spill_wslot
struct HashAggSpill * hash_spills
TupleTableSlot * sort_slot
TupleTableSlot * hash_spill_rslot
ExprContext ** aggcontexts
Bitmapset * colnos_needed
struct PartitionPruneState * as_prune_state
Bitmapset * as_valid_asyncplans
Bitmapset * as_needrequest
AsyncRequest ** as_asyncrequests
Bitmapset * as_asyncplans
struct WaitEventSet * as_eventset
bool(* choose_next_subplan)(AppendState *)
int as_first_partial_plan
ParallelAppendState * as_pstate
Bitmapset * as_valid_subplans
TupleTableSlot ** as_asyncresults
bool as_valid_subplans_identified
struct PlanState * requestor
struct PlanState * requestee
ParallelBitmapHeapState * pstate
ExprState * bitmapqualorig
BitmapHeapScanInstrumentation stats
SharedBitmapHeapInstrumentation * sinstrument
bool biss_RuntimeKeysReady
ExprContext * biss_RuntimeContext
IndexArrayKeyInfo * biss_ArrayKeys
IndexRuntimeKeyInfo * biss_RuntimeKeys
SharedIndexScanInstrumentation * biss_SharedInfo
struct ScanKeyData * biss_ScanKeys
struct IndexScanDescData * biss_ScanDesc
Relation biss_RelationDesc
IndexScanInstrumentation biss_Instrument
Tuplestorestate * cte_table
struct CteScanState * leader
const struct TupleTableSlotOps * slotOps
const struct CustomExecMethods * methods
DomainConstraintType constrainttype
ExprState * check_exprstate
ExecAuxRowMark ** relsubs_rowmark
TupleTableSlot * origslot
TupleTableSlot ** relsubs_slot
PlanState * recheckplanstate
List * es_part_prune_infos
struct dsa_area * es_query_dsa
struct ExecRowMark ** es_rowmarks
int es_parallel_workers_to_launch
List * es_tuple_routing_result_relations
struct JitContext * es_jit
PlannedStmt * es_plannedstmt
QueryEnvironment * es_queryEnv
ResultRelInfo ** es_result_relations
struct JitInstrumentation * es_jit_worker_instr
ParamExecData * es_param_exec_vals
uint64 es_total_processed
Bitmapset * es_unpruned_relids
List * es_part_prune_states
ParamListInfo es_param_list_info
List * es_insert_pending_result_relations
MemoryContext es_query_cxt
ScanDirection es_direction
struct EPQState * es_epq_active
PartitionDirectory es_partition_directory
List * es_trig_target_relations
List * es_opened_result_relations
bool es_use_parallel_mode
ExprContext * es_per_tuple_exprcontext
int es_parallel_workers_launched
Index es_range_table_size
List * es_insert_pending_modifytables
const char * es_sourceText
List * es_auxmodifytables
JunkFilter * es_junkFilter
List * es_part_prune_results
Snapshot es_crosscheck_snapshot
LockClauseStrength strength
LockWaitPolicy waitPolicy
struct ExprContext_CB * next
ExprContextCallbackFunction function
ParamListInfo ecxt_param_list_info
MemoryContext ecxt_per_tuple_memory
TupleTableSlot * ecxt_innertuple
ParamExecData * ecxt_param_exec_vals
TupleTableSlot * ecxt_newtuple
TupleTableSlot * ecxt_scantuple
TupleTableSlot * ecxt_oldtuple
MemoryContext ecxt_per_query_memory
ExprContext_CB * ecxt_callbacks
struct EState * ecxt_estate
TupleTableSlot * ecxt_outertuple
struct ExprEvalStep * steps
ExprStateEvalFunc evalfunc
Datum * innermost_domainval
bool * innermost_domainnull
TupleTableSlot * resultslot
struct PlanState * parent
bool * innermost_casenull
Datum * innermost_caseval
ErrorSaveContext * escontext
struct FdwRoutine * fdwroutine
ExprState * fdw_recheck_quals
ResultRelInfo * resultRelInfo
struct FunctionScanPerFuncState * funcstates
struct ParallelExecutorInfo * pei
struct TupleQueueReader ** reader
struct GMReaderTupleBuffer * gm_tuple_buffers
TupleTableSlot ** gm_slots
bool need_to_scan_locally
struct binaryheap * gm_heap
TupleTableSlot * funnel_slot
struct ParallelExecutorInfo * pei
struct TupleQueueReader ** reader
bool need_to_scan_locally
HashJoinTuple hj_CurTuple
TupleTableSlot * hj_NullOuterTupleSlot
TupleTableSlot * hj_OuterTupleSlot
TupleTableSlot * hj_NullInnerTupleSlot
TupleTableSlot * hj_FirstOuterTupleSlot
HashJoinTable hj_HashTable
TupleTableSlot * hj_HashTupleSlot
struct ParallelHashJoinState * parallel_state
SharedHashInfo * shared_info
FmgrInfo * skew_hashfunction
HashInstrumentation * hinstrument
int64 totalMemorySpaceUsed
IncrementalSortGroupInfo prefixsortGroupInfo
IncrementalSortGroupInfo fullsortGroupInfo
Tuplesortstate * prefixsort_state
TupleTableSlot * group_pivot
TupleTableSlot * transfer_tuple
Tuplesortstate * fullsort_state
SharedIncrementalSortInfo * shared_info
IncrementalSortExecutionStatus execution_status
PresortedKeyData * presorted_keys
IncrementalSortInfo incsort_info
int64 n_fullsort_remaining
struct ScanKeyData * scan_key
uint16 * ii_ExclusionStrats
ExprState * ii_PredicateState
List * ii_ExpressionsState
AttrNumber ii_IndexAttrNumbers[INDEX_MAX_KEYS]
SharedIndexScanInstrumentation * ioss_SharedInfo
TupleTableSlot * ioss_TableSlot
bool ioss_RuntimeKeysReady
int ioss_NameCStringCount
struct ScanKeyData * ioss_ScanKeys
struct ScanKeyData * ioss_OrderByKeys
struct IndexScanDescData * ioss_ScanDesc
ExprContext * ioss_RuntimeContext
AttrNumber * ioss_NameCStringAttNums
Relation ioss_RelationDesc
IndexScanInstrumentation ioss_Instrument
IndexRuntimeKeyInfo * ioss_RuntimeKeys
struct ScanKeyData * scan_key
bool * iss_OrderByTypByVals
struct IndexScanDescData * iss_ScanDesc
IndexScanInstrumentation iss_Instrument
ExprState * indexqualorig
Relation iss_RelationDesc
pairingheap * iss_ReorderQueue
bool iss_RuntimeKeysReady
SortSupport iss_SortSupport
struct ScanKeyData * iss_ScanKeys
SharedIndexScanInstrumentation * iss_SharedInfo
ExprContext * iss_RuntimeContext
struct ScanKeyData * iss_OrderByKeys
Datum * iss_OrderByValues
int16 * iss_OrderByTypLens
IndexRuntimeKeyInfo * iss_RuntimeKeys
FunctionCallInfo input_fcinfo
ErrorSaveContext escontext
NullableDatum formatted_expr
TupleDesc jf_cleanTupType
TupleTableSlot * jf_resultSlot
TupleTableSlot * last_slot
Tuplestorestate * tuplestorestate
TupleTableSlot * probeslot
SharedMemoizeInfo * shared_info
struct MemoizeEntry * entry
ExprState * cache_eq_expr
MemoizeInstrumentation stats
MemoryContext tableContext
struct memoize_hash * hashtable
TupleTableSlot * tableslot
struct MemoizeTuple * last_tuple
ProjectionInfo * mas_proj
Bitmapset * ms_valid_subplans
struct binaryheap * ms_heap
TupleTableSlot ** ms_slots
struct PartitionPruneState * ms_prune_state
TupleTableSlot * mj_MarkedTupleSlot
TupleTableSlot * mj_NullInnerTupleSlot
ExprContext * mj_InnerEContext
TupleTableSlot * mj_NullOuterTupleSlot
MergeJoinClause mj_Clauses
TupleTableSlot * mj_InnerTupleSlot
ExprContext * mj_OuterEContext
TupleTableSlot * mj_OuterTupleSlot
List * mt_mergeJoinConditions
TupleTableSlot * mt_merge_pending_not_matched
ResultRelInfo * resultRelInfo
struct PartitionTupleRouting * mt_partition_tuple_routing
List * mt_updateColnosLists
TupleTableSlot * mt_root_tuple_slot
List * mt_mergeActionLists
ResultRelInfo * rootResultRelInfo
struct TransitionCaptureState * mt_transition_capture
struct TransitionCaptureState * mt_oc_transition_capture
MergeActionState * mt_merge_action
Tuplestorestate * relation
TupleTableSlot * nl_NullInnerTupleSlot
TupleTableSlot * oc_ProjSlot
TupleTableSlot * oc_Existing
ExprState * oc_WhereClause
ProjectionInfo * oc_ProjInfo
const TupleTableSlotOps * resultops
struct SharedJitInstrumentation * worker_jit_instrument
Instrumentation * instrument
ExecProcNodeMtd ExecProcNodeReal
const TupleTableSlotOps * outerops
const TupleTableSlotOps * innerops
struct PlanState * righttree
const TupleTableSlotOps * scanops
TupleDesc ps_ResultTupleDesc
WorkerInstrumentation * worker_instrument
pg_node_attr(abstract) NodeTag type
ExprContext * ps_ExprContext
TupleTableSlot * ps_ResultTupleSlot
ProjectionInfo * ps_ProjInfo
struct PlanState * lefttree
ExecProcNodeMtd ExecProcNode
ExprContext * pi_exprContext
MemoryContext tempContext
MemoryContext tableContext
Tuplestorestate * working_table
Tuplestorestate * intermediate_table
TupleConversionMap * ri_RootToChildMap
ExprState ** ri_CheckConstraintExprs
TupleTableSlot * ri_PartitionTupleSlot
bool ri_projectNewInfoValid
OnConflictSetState * ri_onConflict
List * ri_onConflictArbiterIndexes
struct ResultRelInfo * ri_RootResultRelInfo
ExprState * ri_PartitionCheckExpr
Instrumentation * ri_TrigInstrument
TupleTableSlot ** ri_Slots
ExprState * ri_MergeJoinCondition
RelationPtr ri_IndexRelationDescs
TupleTableSlot * ri_ReturningSlot
int ri_NumSlotsInitialized
List * ri_WithCheckOptions
TupleTableSlot * ri_oldTupleSlot
bool ri_extraUpdatedCols_valid
bool ri_RootToChildMapValid
struct CopyMultiInsertBuffer * ri_CopyMultiInsertBuffer
TriggerDesc * ri_TrigDesc
TupleTableSlot * ri_AllNullSlot
ExprState ** ri_GenVirtualNotNullConstraintExprs
Bitmapset * ri_extraUpdatedCols
ExprState ** ri_GeneratedExprsI
TupleConversionMap * ri_ChildToRootMap
bool ri_ChildToRootMapValid
int ri_NumGeneratedNeededU
List * ri_MergeActions[NUM_MERGE_MATCH_KINDS]
List * ri_ancestorResultRels
TupleTableSlot * ri_newTupleSlot
List * ri_WithCheckOptionExprs
ProjectionInfo * ri_projectNew
ProjectionInfo * ri_projectReturning
ExprState ** ri_GeneratedExprsU
struct FdwRoutine * ri_FdwRoutine
ExprState ** ri_TrigWhenExprs
FmgrInfo * ri_TrigFunctions
TupleTableSlot ** ri_PlanSlots
bool ri_usesFdwDirectModify
IndexInfo ** ri_IndexRelationInfo
TupleTableSlot * ri_TrigNewSlot
int ri_NumGeneratedNeededI
TupleTableSlot * ri_TrigOldSlot
ExprState * resconstantqual
SetFunctionReturnMode returnMode
Tuplestorestate * setResult
struct TsmRoutine * tsmroutine
Relation ss_currentRelation
TupleTableSlot * ss_ScanTupleSlot
struct TableScanDescData * ss_currentScanDesc
TupleTableSlot * funcResultSlot
Tuplestorestate * funcResultStore
ExprState * elidedFuncState
TupleTableSlot * nextTupleSlot
TupleTableSlot * firstTupleSlot
TupleHashIterator hashiter
SetOpStatePerInput rightInput
MemoryContext tableContext
SetOpStatePerInput leftInput
SharedSortInfo * shared_info
ExprState * lhs_hash_expr
MemoryContext hashtablecxt
ExprContext * innerecontext
FmgrInfo * tab_hash_funcs
MemoryContext hashtempcxt
struct PlanState * planstate
ProjectionInfo * projLeft
ProjectionInfo * projRight
struct PlanState * parent
MemoryContext perTableCxt
Tuplestorestate * tupstore
const struct TableFuncRoutine * routine
ItemPointerData trss_maxtid
ItemPointerData trss_mintid
ItemPointerData * tss_TidList
ExprState * tab_hash_expr
TupleTableSlot * tableslot
ExprContext * exprcontext
TupleTableSlot * inputslot
MemoryContext partcontext
TupleTableSlot * framehead_slot
FmgrInfo startInRangeFunc
TupleTableSlot * frametail_slot
ExprState * ordEqfunction
TupleTableSlot * temp_slot_2
TupleTableSlot * agg_row_slot
struct WindowObjectData * agg_winobj
WindowStatePerFunc perfunc
MemoryContext curaggcontext
ExprState * partEqfunction
TupleTableSlot * first_part_slot
TupleTableSlot * temp_slot_1
RecursiveUnionState * rustate