Coverage Report

Created: 2026-11-09 07:20

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/postgres/bld/src/backend/nodes/readfuncs.funcs.c
Line
Count
Source
1
/*-------------------------------------------------------------------------
2
 *
3
 * readfuncs.funcs.c
4
 *    Generated node infrastructure code
5
 *
6
 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
7
 * Portions Copyright (c) 1994, Regents of the University of California
8
 *
9
 * NOTES
10
 *  ******************************
11
 *  *** DO NOT EDIT THIS FILE! ***
12
 *  ******************************
13
 *
14
 *  It has been GENERATED by src/backend/nodes/gen_node_support.pl
15
 *
16
 *-------------------------------------------------------------------------
17
 */
18
#include "access/amapi.h"
19
#include "access/cmptype.h"
20
#include "access/sdir.h"
21
#include "access/tableam.h"
22
#include "access/tsmapi.h"
23
#include "commands/event_trigger.h"
24
#include "commands/trigger.h"
25
#include "executor/tuptable.h"
26
#include "foreign/fdwapi.h"
27
#include "nodes/bitmapset.h"
28
#include "nodes/execnodes.h"
29
#include "nodes/extensible.h"
30
#include "nodes/lockoptions.h"
31
#include "nodes/miscnodes.h"
32
#include "nodes/nodes.h"
33
#include "nodes/parsenodes.h"
34
#include "nodes/pathnodes.h"
35
#include "nodes/plannodes.h"
36
#include "nodes/primnodes.h"
37
#include "nodes/replnodes.h"
38
#include "nodes/supportnodes.h"
39
#include "nodes/value.h"
40
#include "utils/rel.h"
41
42
static Alias *
43
_readAlias(ReadNodeContext *ctx)
44
0
{
45
0
  READ_LOCALS(Alias);
46
47
0
  READ_STRING_FIELD(aliasname);
48
0
  READ_NODE_FIELD(colnames);
49
50
0
  READ_DONE();
51
0
}
52
53
static RangeVar *
54
_readRangeVar(ReadNodeContext *ctx)
55
0
{
56
0
  READ_LOCALS(RangeVar);
57
58
0
  READ_STRING_FIELD(catalogname);
59
0
  READ_STRING_FIELD(schemaname);
60
0
  READ_STRING_FIELD(relname);
61
0
  READ_BOOL_FIELD(inh);
62
0
  READ_CHAR_FIELD(relpersistence);
63
0
  READ_NODE_FIELD(alias);
64
0
  READ_LOCATION_FIELD(location);
65
66
0
  READ_DONE();
67
0
}
68
69
static TableFunc *
70
_readTableFunc(ReadNodeContext *ctx)
71
0
{
72
0
  READ_LOCALS(TableFunc);
73
74
0
  READ_ENUM_FIELD(functype, TableFuncType);
75
0
  READ_NODE_FIELD(ns_uris);
76
0
  READ_NODE_FIELD(ns_names);
77
0
  READ_NODE_FIELD(docexpr);
78
0
  READ_NODE_FIELD(rowexpr);
79
0
  READ_NODE_FIELD(colnames);
80
0
  READ_NODE_FIELD(coltypes);
81
0
  READ_NODE_FIELD(coltypmods);
82
0
  READ_NODE_FIELD(colcollations);
83
0
  READ_NODE_FIELD(colexprs);
84
0
  READ_NODE_FIELD(coldefexprs);
85
0
  READ_NODE_FIELD(colvalexprs);
86
0
  READ_NODE_FIELD(passingvalexprs);
87
0
  READ_BITMAPSET_FIELD(notnulls);
88
0
  READ_NODE_FIELD(plan);
89
0
  READ_INT_FIELD(ordinalitycol);
90
0
  READ_LOCATION_FIELD(location);
91
92
0
  READ_DONE();
93
0
}
94
95
static IntoClause *
96
_readIntoClause(ReadNodeContext *ctx)
97
0
{
98
0
  READ_LOCALS(IntoClause);
99
100
0
  READ_NODE_FIELD(rel);
101
0
  READ_NODE_FIELD(colNames);
102
0
  READ_STRING_FIELD(accessMethod);
103
0
  READ_NODE_FIELD(options);
104
0
  READ_ENUM_FIELD(onCommit, OnCommitAction);
105
0
  READ_STRING_FIELD(tableSpaceName);
106
0
  READ_NODE_FIELD(viewQuery);
107
0
  READ_BOOL_FIELD(skipData);
108
109
0
  READ_DONE();
110
0
}
111
112
static Var *
113
_readVar(ReadNodeContext *ctx)
114
0
{
115
0
  READ_LOCALS(Var);
116
117
0
  READ_INT_FIELD(varno);
118
0
  READ_INT_FIELD(varattno);
119
0
  READ_OID_FIELD(vartype);
120
0
  READ_INT_FIELD(vartypmod);
121
0
  READ_OID_FIELD(varcollid);
122
0
  READ_BITMAPSET_FIELD(varnullingrels);
123
0
  READ_UINT_FIELD(varlevelsup);
124
0
  READ_ENUM_FIELD(varreturningtype, VarReturningType);
125
0
  READ_UINT_FIELD(varnosyn);
126
0
  READ_INT_FIELD(varattnosyn);
127
0
  READ_LOCATION_FIELD(location);
128
129
0
  READ_DONE();
130
0
}
131
132
static Param *
133
_readParam(ReadNodeContext *ctx)
134
0
{
135
0
  READ_LOCALS(Param);
136
137
0
  READ_ENUM_FIELD(paramkind, ParamKind);
138
0
  READ_INT_FIELD(paramid);
139
0
  READ_OID_FIELD(paramtype);
140
0
  READ_INT_FIELD(paramtypmod);
141
0
  READ_OID_FIELD(paramcollid);
142
0
  READ_LOCATION_FIELD(location);
143
144
0
  READ_DONE();
145
0
}
146
147
static Aggref *
148
_readAggref(ReadNodeContext *ctx)
149
0
{
150
0
  READ_LOCALS(Aggref);
151
152
0
  READ_OID_FIELD(aggfnoid);
153
0
  READ_OID_FIELD(aggtype);
154
0
  READ_OID_FIELD(aggcollid);
155
0
  READ_OID_FIELD(inputcollid);
156
0
  READ_OID_FIELD(aggtranstype);
157
0
  READ_NODE_FIELD(aggargtypes);
158
0
  READ_NODE_FIELD(aggdirectargs);
159
0
  READ_NODE_FIELD(args);
160
0
  READ_NODE_FIELD(aggorder);
161
0
  READ_NODE_FIELD(aggdistinct);
162
0
  READ_NODE_FIELD(aggfilter);
163
0
  READ_BOOL_FIELD(aggstar);
164
0
  READ_BOOL_FIELD(aggvariadic);
165
0
  READ_CHAR_FIELD(aggkind);
166
0
  READ_BOOL_FIELD(aggpresorted);
167
0
  READ_UINT_FIELD(agglevelsup);
168
0
  READ_ENUM_FIELD(aggsplit, AggSplit);
169
0
  READ_INT_FIELD(aggno);
170
0
  READ_INT_FIELD(aggtransno);
171
0
  READ_LOCATION_FIELD(location);
172
173
0
  READ_DONE();
174
0
}
175
176
static GroupingFunc *
177
_readGroupingFunc(ReadNodeContext *ctx)
178
0
{
179
0
  READ_LOCALS(GroupingFunc);
180
181
0
  READ_NODE_FIELD(args);
182
0
  READ_NODE_FIELD(refs);
183
0
  READ_NODE_FIELD(cols);
184
0
  READ_UINT_FIELD(agglevelsup);
185
0
  READ_LOCATION_FIELD(location);
186
187
0
  READ_DONE();
188
0
}
189
190
static WindowFunc *
191
_readWindowFunc(ReadNodeContext *ctx)
192
0
{
193
0
  READ_LOCALS(WindowFunc);
194
195
0
  READ_OID_FIELD(winfnoid);
196
0
  READ_OID_FIELD(wintype);
197
0
  READ_OID_FIELD(wincollid);
198
0
  READ_OID_FIELD(inputcollid);
199
0
  READ_NODE_FIELD(args);
200
0
  READ_NODE_FIELD(aggfilter);
201
0
  READ_NODE_FIELD(runCondition);
202
0
  READ_UINT_FIELD(winref);
203
0
  READ_BOOL_FIELD(winstar);
204
0
  READ_BOOL_FIELD(winagg);
205
0
  READ_INT_FIELD(ignore_nulls);
206
0
  READ_LOCATION_FIELD(location);
207
208
0
  READ_DONE();
209
0
}
210
211
static WindowFuncRunCondition *
212
_readWindowFuncRunCondition(ReadNodeContext *ctx)
213
0
{
214
0
  READ_LOCALS(WindowFuncRunCondition);
215
216
0
  READ_OID_FIELD(opno);
217
0
  READ_OID_FIELD(inputcollid);
218
0
  READ_BOOL_FIELD(wfunc_left);
219
0
  READ_NODE_FIELD(arg);
220
221
0
  READ_DONE();
222
0
}
223
224
static MergeSupportFunc *
225
_readMergeSupportFunc(ReadNodeContext *ctx)
226
0
{
227
0
  READ_LOCALS(MergeSupportFunc);
228
229
0
  READ_OID_FIELD(msftype);
230
0
  READ_OID_FIELD(msfcollid);
231
0
  READ_LOCATION_FIELD(location);
232
233
0
  READ_DONE();
234
0
}
235
236
static SubscriptingRef *
237
_readSubscriptingRef(ReadNodeContext *ctx)
238
0
{
239
0
  READ_LOCALS(SubscriptingRef);
240
241
0
  READ_OID_FIELD(refcontainertype);
242
0
  READ_OID_FIELD(refelemtype);
243
0
  READ_OID_FIELD(refrestype);
244
0
  READ_INT_FIELD(reftypmod);
245
0
  READ_OID_FIELD(refcollid);
246
0
  READ_NODE_FIELD(refupperindexpr);
247
0
  READ_NODE_FIELD(reflowerindexpr);
248
0
  READ_NODE_FIELD(refexpr);
249
0
  READ_NODE_FIELD(refassgnexpr);
250
251
0
  READ_DONE();
252
0
}
253
254
static FuncExpr *
255
_readFuncExpr(ReadNodeContext *ctx)
256
0
{
257
0
  READ_LOCALS(FuncExpr);
258
259
0
  READ_OID_FIELD(funcid);
260
0
  READ_OID_FIELD(funcresulttype);
261
0
  READ_BOOL_FIELD(funcretset);
262
0
  READ_BOOL_FIELD(funcvariadic);
263
0
  READ_ENUM_FIELD(funcformat, CoercionForm);
264
0
  READ_OID_FIELD(funccollid);
265
0
  READ_OID_FIELD(inputcollid);
266
0
  READ_NODE_FIELD(args);
267
0
  READ_LOCATION_FIELD(location);
268
269
0
  READ_DONE();
270
0
}
271
272
static NamedArgExpr *
273
_readNamedArgExpr(ReadNodeContext *ctx)
274
0
{
275
0
  READ_LOCALS(NamedArgExpr);
276
277
0
  READ_NODE_FIELD(arg);
278
0
  READ_STRING_FIELD(name);
279
0
  READ_INT_FIELD(argnumber);
280
0
  READ_LOCATION_FIELD(location);
281
282
0
  READ_DONE();
283
0
}
284
285
static OpExpr *
286
_readOpExpr(ReadNodeContext *ctx)
287
0
{
288
0
  READ_LOCALS(OpExpr);
289
290
0
  READ_OID_FIELD(opno);
291
0
  READ_OID_FIELD(opfuncid);
292
0
  READ_OID_FIELD(opresulttype);
293
0
  READ_BOOL_FIELD(opretset);
294
0
  READ_OID_FIELD(opcollid);
295
0
  READ_OID_FIELD(inputcollid);
296
0
  READ_NODE_FIELD(args);
297
0
  READ_LOCATION_FIELD(location);
298
299
0
  READ_DONE();
300
0
}
301
302
static DistinctExpr *
303
_readDistinctExpr(ReadNodeContext *ctx)
304
0
{
305
0
  READ_LOCALS(DistinctExpr);
306
307
0
  READ_OID_FIELD(opno);
308
0
  READ_OID_FIELD(opfuncid);
309
0
  READ_OID_FIELD(opresulttype);
310
0
  READ_BOOL_FIELD(opretset);
311
0
  READ_OID_FIELD(opcollid);
312
0
  READ_OID_FIELD(inputcollid);
313
0
  READ_NODE_FIELD(args);
314
0
  READ_LOCATION_FIELD(location);
315
316
0
  READ_DONE();
317
0
}
318
319
static NullIfExpr *
320
_readNullIfExpr(ReadNodeContext *ctx)
321
0
{
322
0
  READ_LOCALS(NullIfExpr);
323
324
0
  READ_OID_FIELD(opno);
325
0
  READ_OID_FIELD(opfuncid);
326
0
  READ_OID_FIELD(opresulttype);
327
0
  READ_BOOL_FIELD(opretset);
328
0
  READ_OID_FIELD(opcollid);
329
0
  READ_OID_FIELD(inputcollid);
330
0
  READ_NODE_FIELD(args);
331
0
  READ_LOCATION_FIELD(location);
332
333
0
  READ_DONE();
334
0
}
335
336
static ScalarArrayOpExpr *
337
_readScalarArrayOpExpr(ReadNodeContext *ctx)
338
0
{
339
0
  READ_LOCALS(ScalarArrayOpExpr);
340
341
0
  READ_OID_FIELD(opno);
342
0
  READ_OID_FIELD(opfuncid);
343
0
  READ_OID_FIELD(hashfuncid);
344
0
  READ_OID_FIELD(negfuncid);
345
0
  READ_BOOL_FIELD(useOr);
346
0
  READ_OID_FIELD(inputcollid);
347
0
  READ_NODE_FIELD(args);
348
0
  READ_LOCATION_FIELD(location);
349
350
0
  READ_DONE();
351
0
}
352
353
static SubLink *
354
_readSubLink(ReadNodeContext *ctx)
355
0
{
356
0
  READ_LOCALS(SubLink);
357
358
0
  READ_ENUM_FIELD(subLinkType, SubLinkType);
359
0
  READ_INT_FIELD(subLinkId);
360
0
  READ_NODE_FIELD(testexpr);
361
0
  READ_NODE_FIELD(operName);
362
0
  READ_NODE_FIELD(subselect);
363
0
  READ_LOCATION_FIELD(location);
364
365
0
  READ_DONE();
366
0
}
367
368
static SubPlan *
369
_readSubPlan(ReadNodeContext *ctx)
370
0
{
371
0
  READ_LOCALS(SubPlan);
372
373
0
  READ_ENUM_FIELD(subLinkType, SubLinkType);
374
0
  READ_NODE_FIELD(testexpr);
375
0
  READ_NODE_FIELD(paramIds);
376
0
  READ_INT_FIELD(plan_id);
377
0
  READ_STRING_FIELD(plan_name);
378
0
  READ_OID_FIELD(firstColType);
379
0
  READ_INT_FIELD(firstColTypmod);
380
0
  READ_OID_FIELD(firstColCollation);
381
0
  READ_BOOL_FIELD(isInitPlan);
382
0
  READ_BOOL_FIELD(useHashTable);
383
0
  READ_BOOL_FIELD(unknownEqFalse);
384
0
  READ_BOOL_FIELD(parallel_safe);
385
0
  READ_NODE_FIELD(setParam);
386
0
  READ_NODE_FIELD(parParam);
387
0
  READ_NODE_FIELD(args);
388
0
  READ_INT_FIELD(disabled_nodes);
389
0
  READ_FLOAT_FIELD(startup_cost);
390
0
  READ_FLOAT_FIELD(per_call_cost);
391
392
0
  READ_DONE();
393
0
}
394
395
static AlternativeSubPlan *
396
_readAlternativeSubPlan(ReadNodeContext *ctx)
397
0
{
398
0
  READ_LOCALS(AlternativeSubPlan);
399
400
0
  READ_NODE_FIELD(subplans);
401
402
0
  READ_DONE();
403
0
}
404
405
static FieldSelect *
406
_readFieldSelect(ReadNodeContext *ctx)
407
0
{
408
0
  READ_LOCALS(FieldSelect);
409
410
0
  READ_NODE_FIELD(arg);
411
0
  READ_INT_FIELD(fieldnum);
412
0
  READ_OID_FIELD(resulttype);
413
0
  READ_INT_FIELD(resulttypmod);
414
0
  READ_OID_FIELD(resultcollid);
415
416
0
  READ_DONE();
417
0
}
418
419
static FieldStore *
420
_readFieldStore(ReadNodeContext *ctx)
421
0
{
422
0
  READ_LOCALS(FieldStore);
423
424
0
  READ_NODE_FIELD(arg);
425
0
  READ_NODE_FIELD(newvals);
426
0
  READ_NODE_FIELD(fieldnums);
427
0
  READ_OID_FIELD(resulttype);
428
429
0
  READ_DONE();
430
0
}
431
432
static RelabelType *
433
_readRelabelType(ReadNodeContext *ctx)
434
0
{
435
0
  READ_LOCALS(RelabelType);
436
437
0
  READ_NODE_FIELD(arg);
438
0
  READ_OID_FIELD(resulttype);
439
0
  READ_INT_FIELD(resulttypmod);
440
0
  READ_OID_FIELD(resultcollid);
441
0
  READ_ENUM_FIELD(relabelformat, CoercionForm);
442
0
  READ_LOCATION_FIELD(location);
443
444
0
  READ_DONE();
445
0
}
446
447
static CoerceViaIO *
448
_readCoerceViaIO(ReadNodeContext *ctx)
449
0
{
450
0
  READ_LOCALS(CoerceViaIO);
451
452
0
  READ_NODE_FIELD(arg);
453
0
  READ_OID_FIELD(resulttype);
454
0
  READ_OID_FIELD(resultcollid);
455
0
  READ_ENUM_FIELD(coerceformat, CoercionForm);
456
0
  READ_LOCATION_FIELD(location);
457
458
0
  READ_DONE();
459
0
}
460
461
static ArrayCoerceExpr *
462
_readArrayCoerceExpr(ReadNodeContext *ctx)
463
0
{
464
0
  READ_LOCALS(ArrayCoerceExpr);
465
466
0
  READ_NODE_FIELD(arg);
467
0
  READ_NODE_FIELD(elemexpr);
468
0
  READ_OID_FIELD(resulttype);
469
0
  READ_INT_FIELD(resulttypmod);
470
0
  READ_OID_FIELD(resultcollid);
471
0
  READ_ENUM_FIELD(coerceformat, CoercionForm);
472
0
  READ_LOCATION_FIELD(location);
473
474
0
  READ_DONE();
475
0
}
476
477
static ConvertRowtypeExpr *
478
_readConvertRowtypeExpr(ReadNodeContext *ctx)
479
0
{
480
0
  READ_LOCALS(ConvertRowtypeExpr);
481
482
0
  READ_NODE_FIELD(arg);
483
0
  READ_OID_FIELD(resulttype);
484
0
  READ_ENUM_FIELD(convertformat, CoercionForm);
485
0
  READ_LOCATION_FIELD(location);
486
487
0
  READ_DONE();
488
0
}
489
490
static CollateExpr *
491
_readCollateExpr(ReadNodeContext *ctx)
492
0
{
493
0
  READ_LOCALS(CollateExpr);
494
495
0
  READ_NODE_FIELD(arg);
496
0
  READ_OID_FIELD(collOid);
497
0
  READ_LOCATION_FIELD(location);
498
499
0
  READ_DONE();
500
0
}
501
502
static CaseExpr *
503
_readCaseExpr(ReadNodeContext *ctx)
504
0
{
505
0
  READ_LOCALS(CaseExpr);
506
507
0
  READ_OID_FIELD(casetype);
508
0
  READ_OID_FIELD(casecollid);
509
0
  READ_NODE_FIELD(arg);
510
0
  READ_NODE_FIELD(args);
511
0
  READ_NODE_FIELD(defresult);
512
0
  READ_LOCATION_FIELD(location);
513
514
0
  READ_DONE();
515
0
}
516
517
static CaseWhen *
518
_readCaseWhen(ReadNodeContext *ctx)
519
0
{
520
0
  READ_LOCALS(CaseWhen);
521
522
0
  READ_NODE_FIELD(expr);
523
0
  READ_NODE_FIELD(result);
524
0
  READ_LOCATION_FIELD(location);
525
526
0
  READ_DONE();
527
0
}
528
529
static CaseTestExpr *
530
_readCaseTestExpr(ReadNodeContext *ctx)
531
0
{
532
0
  READ_LOCALS(CaseTestExpr);
533
534
0
  READ_OID_FIELD(typeId);
535
0
  READ_INT_FIELD(typeMod);
536
0
  READ_OID_FIELD(collation);
537
538
0
  READ_DONE();
539
0
}
540
541
static ArrayExpr *
542
_readArrayExpr(ReadNodeContext *ctx)
543
0
{
544
0
  READ_LOCALS(ArrayExpr);
545
546
0
  READ_OID_FIELD(array_typeid);
547
0
  READ_OID_FIELD(array_collid);
548
0
  READ_OID_FIELD(element_typeid);
549
0
  READ_NODE_FIELD(elements);
550
0
  READ_BOOL_FIELD(multidims);
551
0
  READ_LOCATION_FIELD(list_start);
552
0
  READ_LOCATION_FIELD(list_end);
553
0
  READ_LOCATION_FIELD(location);
554
555
0
  READ_DONE();
556
0
}
557
558
static RowExpr *
559
_readRowExpr(ReadNodeContext *ctx)
560
0
{
561
0
  READ_LOCALS(RowExpr);
562
563
0
  READ_NODE_FIELD(args);
564
0
  READ_OID_FIELD(row_typeid);
565
0
  READ_ENUM_FIELD(row_format, CoercionForm);
566
0
  READ_NODE_FIELD(colnames);
567
0
  READ_LOCATION_FIELD(location);
568
569
0
  READ_DONE();
570
0
}
571
572
static RowCompareExpr *
573
_readRowCompareExpr(ReadNodeContext *ctx)
574
0
{
575
0
  READ_LOCALS(RowCompareExpr);
576
577
0
  READ_ENUM_FIELD(cmptype, CompareType);
578
0
  READ_NODE_FIELD(opnos);
579
0
  READ_NODE_FIELD(opfamilies);
580
0
  READ_NODE_FIELD(inputcollids);
581
0
  READ_NODE_FIELD(largs);
582
0
  READ_NODE_FIELD(rargs);
583
584
0
  READ_DONE();
585
0
}
586
587
static CoalesceExpr *
588
_readCoalesceExpr(ReadNodeContext *ctx)
589
0
{
590
0
  READ_LOCALS(CoalesceExpr);
591
592
0
  READ_OID_FIELD(coalescetype);
593
0
  READ_OID_FIELD(coalescecollid);
594
0
  READ_NODE_FIELD(args);
595
0
  READ_LOCATION_FIELD(location);
596
597
0
  READ_DONE();
598
0
}
599
600
static MinMaxExpr *
601
_readMinMaxExpr(ReadNodeContext *ctx)
602
0
{
603
0
  READ_LOCALS(MinMaxExpr);
604
605
0
  READ_OID_FIELD(minmaxtype);
606
0
  READ_OID_FIELD(minmaxcollid);
607
0
  READ_OID_FIELD(inputcollid);
608
0
  READ_ENUM_FIELD(op, MinMaxOp);
609
0
  READ_NODE_FIELD(args);
610
0
  READ_LOCATION_FIELD(location);
611
612
0
  READ_DONE();
613
0
}
614
615
static SQLValueFunction *
616
_readSQLValueFunction(ReadNodeContext *ctx)
617
0
{
618
0
  READ_LOCALS(SQLValueFunction);
619
620
0
  READ_ENUM_FIELD(op, SQLValueFunctionOp);
621
0
  READ_OID_FIELD(type);
622
0
  READ_INT_FIELD(typmod);
623
0
  READ_LOCATION_FIELD(location);
624
625
0
  READ_DONE();
626
0
}
627
628
static XmlExpr *
629
_readXmlExpr(ReadNodeContext *ctx)
630
0
{
631
0
  READ_LOCALS(XmlExpr);
632
633
0
  READ_ENUM_FIELD(op, XmlExprOp);
634
0
  READ_STRING_FIELD(name);
635
0
  READ_NODE_FIELD(named_args);
636
0
  READ_NODE_FIELD(arg_names);
637
0
  READ_NODE_FIELD(args);
638
0
  READ_ENUM_FIELD(xmloption, XmlOptionType);
639
0
  READ_BOOL_FIELD(indent);
640
0
  READ_OID_FIELD(type);
641
0
  READ_INT_FIELD(typmod);
642
0
  READ_LOCATION_FIELD(location);
643
644
0
  READ_DONE();
645
0
}
646
647
static JsonFormat *
648
_readJsonFormat(ReadNodeContext *ctx)
649
0
{
650
0
  READ_LOCALS(JsonFormat);
651
652
0
  READ_ENUM_FIELD(format_type, JsonFormatType);
653
0
  READ_ENUM_FIELD(encoding, JsonEncoding);
654
0
  READ_LOCATION_FIELD(location);
655
656
0
  READ_DONE();
657
0
}
658
659
static JsonReturning *
660
_readJsonReturning(ReadNodeContext *ctx)
661
0
{
662
0
  READ_LOCALS(JsonReturning);
663
664
0
  READ_NODE_FIELD(format);
665
0
  READ_OID_FIELD(typid);
666
0
  READ_INT_FIELD(typmod);
667
668
0
  READ_DONE();
669
0
}
670
671
static JsonValueExpr *
672
_readJsonValueExpr(ReadNodeContext *ctx)
673
0
{
674
0
  READ_LOCALS(JsonValueExpr);
675
676
0
  READ_NODE_FIELD(raw_expr);
677
0
  READ_NODE_FIELD(formatted_expr);
678
0
  READ_NODE_FIELD(format);
679
680
0
  READ_DONE();
681
0
}
682
683
static JsonConstructorExpr *
684
_readJsonConstructorExpr(ReadNodeContext *ctx)
685
0
{
686
0
  READ_LOCALS(JsonConstructorExpr);
687
688
0
  READ_ENUM_FIELD(type, JsonConstructorType);
689
0
  READ_NODE_FIELD(args);
690
0
  READ_NODE_FIELD(func);
691
0
  READ_NODE_FIELD(coercion);
692
0
  READ_NODE_FIELD(returning);
693
0
  READ_NODE_FIELD(orig_query);
694
0
  READ_NODE_FIELD(format);
695
0
  READ_BOOL_FIELD(absent_on_null);
696
0
  READ_BOOL_FIELD(unique);
697
0
  READ_LOCATION_FIELD(location);
698
699
0
  READ_DONE();
700
0
}
701
702
static JsonIsPredicate *
703
_readJsonIsPredicate(ReadNodeContext *ctx)
704
0
{
705
0
  READ_LOCALS(JsonIsPredicate);
706
707
0
  READ_NODE_FIELD(expr);
708
0
  READ_NODE_FIELD(format);
709
0
  READ_ENUM_FIELD(item_type, JsonValueType);
710
0
  READ_BOOL_FIELD(unique_keys);
711
0
  READ_OID_FIELD(exprBaseType);
712
0
  READ_LOCATION_FIELD(location);
713
714
0
  READ_DONE();
715
0
}
716
717
static JsonBehavior *
718
_readJsonBehavior(ReadNodeContext *ctx)
719
0
{
720
0
  READ_LOCALS(JsonBehavior);
721
722
0
  READ_ENUM_FIELD(btype, JsonBehaviorType);
723
0
  READ_NODE_FIELD(expr);
724
0
  READ_BOOL_FIELD(coerce);
725
0
  READ_LOCATION_FIELD(location);
726
727
0
  READ_DONE();
728
0
}
729
730
static JsonExpr *
731
_readJsonExpr(ReadNodeContext *ctx)
732
0
{
733
0
  READ_LOCALS(JsonExpr);
734
735
0
  READ_ENUM_FIELD(op, JsonExprOp);
736
0
  READ_STRING_FIELD(column_name);
737
0
  READ_NODE_FIELD(formatted_expr);
738
0
  READ_NODE_FIELD(format);
739
0
  READ_NODE_FIELD(path_spec);
740
0
  READ_NODE_FIELD(returning);
741
0
  READ_NODE_FIELD(passing_names);
742
0
  READ_NODE_FIELD(passing_values);
743
0
  READ_NODE_FIELD(on_empty);
744
0
  READ_NODE_FIELD(on_error);
745
0
  READ_BOOL_FIELD(use_io_coercion);
746
0
  READ_BOOL_FIELD(use_json_coercion);
747
0
  READ_ENUM_FIELD(wrapper, JsonWrapper);
748
0
  READ_BOOL_FIELD(omit_quotes);
749
0
  READ_OID_FIELD(collation);
750
0
  READ_LOCATION_FIELD(location);
751
752
0
  READ_DONE();
753
0
}
754
755
static JsonTablePath *
756
_readJsonTablePath(ReadNodeContext *ctx)
757
0
{
758
0
  READ_LOCALS(JsonTablePath);
759
760
0
  READ_NODE_FIELD(value);
761
0
  READ_STRING_FIELD(name);
762
763
0
  READ_DONE();
764
0
}
765
766
static JsonTablePathScan *
767
_readJsonTablePathScan(ReadNodeContext *ctx)
768
0
{
769
0
  READ_LOCALS(JsonTablePathScan);
770
771
0
  READ_NODE_FIELD(path);
772
0
  READ_BOOL_FIELD(errorOnError);
773
0
  READ_NODE_FIELD(child);
774
0
  READ_BOOL_FIELD(outerJoin);
775
0
  READ_INT_FIELD(colMin);
776
0
  READ_INT_FIELD(colMax);
777
778
0
  READ_DONE();
779
0
}
780
781
static JsonTableSiblingJoin *
782
_readJsonTableSiblingJoin(ReadNodeContext *ctx)
783
0
{
784
0
  READ_LOCALS(JsonTableSiblingJoin);
785
786
0
  READ_NODE_FIELD(lplan);
787
0
  READ_NODE_FIELD(rplan);
788
0
  READ_BOOL_FIELD(cross);
789
790
0
  READ_DONE();
791
0
}
792
793
static NullTest *
794
_readNullTest(ReadNodeContext *ctx)
795
0
{
796
0
  READ_LOCALS(NullTest);
797
798
0
  READ_NODE_FIELD(arg);
799
0
  READ_ENUM_FIELD(nulltesttype, NullTestType);
800
0
  READ_BOOL_FIELD(argisrow);
801
0
  READ_LOCATION_FIELD(location);
802
803
0
  READ_DONE();
804
0
}
805
806
static BooleanTest *
807
_readBooleanTest(ReadNodeContext *ctx)
808
0
{
809
0
  READ_LOCALS(BooleanTest);
810
811
0
  READ_NODE_FIELD(arg);
812
0
  READ_ENUM_FIELD(booltesttype, BoolTestType);
813
0
  READ_LOCATION_FIELD(location);
814
815
0
  READ_DONE();
816
0
}
817
818
static MergeAction *
819
_readMergeAction(ReadNodeContext *ctx)
820
0
{
821
0
  READ_LOCALS(MergeAction);
822
823
0
  READ_ENUM_FIELD(matchKind, MergeMatchKind);
824
0
  READ_ENUM_FIELD(commandType, CmdType);
825
0
  READ_ENUM_FIELD(override, OverridingKind);
826
0
  READ_NODE_FIELD(qual);
827
0
  READ_NODE_FIELD(targetList);
828
0
  READ_NODE_FIELD(updateColnos);
829
830
0
  READ_DONE();
831
0
}
832
833
static CoerceToDomain *
834
_readCoerceToDomain(ReadNodeContext *ctx)
835
0
{
836
0
  READ_LOCALS(CoerceToDomain);
837
838
0
  READ_NODE_FIELD(arg);
839
0
  READ_OID_FIELD(resulttype);
840
0
  READ_INT_FIELD(resulttypmod);
841
0
  READ_OID_FIELD(resultcollid);
842
0
  READ_ENUM_FIELD(coercionformat, CoercionForm);
843
0
  READ_LOCATION_FIELD(location);
844
845
0
  READ_DONE();
846
0
}
847
848
static CoerceToDomainValue *
849
_readCoerceToDomainValue(ReadNodeContext *ctx)
850
0
{
851
0
  READ_LOCALS(CoerceToDomainValue);
852
853
0
  READ_OID_FIELD(typeId);
854
0
  READ_INT_FIELD(typeMod);
855
0
  READ_OID_FIELD(collation);
856
0
  READ_LOCATION_FIELD(location);
857
858
0
  READ_DONE();
859
0
}
860
861
static SetToDefault *
862
_readSetToDefault(ReadNodeContext *ctx)
863
0
{
864
0
  READ_LOCALS(SetToDefault);
865
866
0
  READ_OID_FIELD(typeId);
867
0
  READ_INT_FIELD(typeMod);
868
0
  READ_OID_FIELD(collation);
869
0
  READ_LOCATION_FIELD(location);
870
871
0
  READ_DONE();
872
0
}
873
874
static CurrentOfExpr *
875
_readCurrentOfExpr(ReadNodeContext *ctx)
876
0
{
877
0
  READ_LOCALS(CurrentOfExpr);
878
879
0
  READ_UINT_FIELD(cvarno);
880
0
  READ_STRING_FIELD(cursor_name);
881
0
  READ_INT_FIELD(cursor_param);
882
883
0
  READ_DONE();
884
0
}
885
886
static NextValueExpr *
887
_readNextValueExpr(ReadNodeContext *ctx)
888
0
{
889
0
  READ_LOCALS(NextValueExpr);
890
891
0
  READ_OID_FIELD(seqid);
892
0
  READ_OID_FIELD(typeId);
893
894
0
  READ_DONE();
895
0
}
896
897
static InferenceElem *
898
_readInferenceElem(ReadNodeContext *ctx)
899
0
{
900
0
  READ_LOCALS(InferenceElem);
901
902
0
  READ_NODE_FIELD(expr);
903
0
  READ_OID_FIELD(infercollid);
904
0
  READ_OID_FIELD(inferopclass);
905
906
0
  READ_DONE();
907
0
}
908
909
static ReturningExpr *
910
_readReturningExpr(ReadNodeContext *ctx)
911
0
{
912
0
  READ_LOCALS(ReturningExpr);
913
914
0
  READ_INT_FIELD(retlevelsup);
915
0
  READ_BOOL_FIELD(retold);
916
0
  READ_NODE_FIELD(retexpr);
917
918
0
  READ_DONE();
919
0
}
920
921
static TargetEntry *
922
_readTargetEntry(ReadNodeContext *ctx)
923
0
{
924
0
  READ_LOCALS(TargetEntry);
925
926
0
  READ_NODE_FIELD(expr);
927
0
  READ_INT_FIELD(resno);
928
0
  READ_STRING_FIELD(resname);
929
0
  READ_UINT_FIELD(ressortgroupref);
930
0
  READ_OID_FIELD(resorigtbl);
931
0
  READ_INT_FIELD(resorigcol);
932
0
  READ_BOOL_FIELD(resjunk);
933
934
0
  READ_DONE();
935
0
}
936
937
static RangeTblRef *
938
_readRangeTblRef(ReadNodeContext *ctx)
939
0
{
940
0
  READ_LOCALS(RangeTblRef);
941
942
0
  READ_INT_FIELD(rtindex);
943
944
0
  READ_DONE();
945
0
}
946
947
static JoinExpr *
948
_readJoinExpr(ReadNodeContext *ctx)
949
0
{
950
0
  READ_LOCALS(JoinExpr);
951
952
0
  READ_ENUM_FIELD(jointype, JoinType);
953
0
  READ_BOOL_FIELD(isNatural);
954
0
  READ_NODE_FIELD(larg);
955
0
  READ_NODE_FIELD(rarg);
956
0
  READ_NODE_FIELD(usingClause);
957
0
  READ_NODE_FIELD(join_using_alias);
958
0
  READ_NODE_FIELD(quals);
959
0
  READ_NODE_FIELD(alias);
960
0
  READ_INT_FIELD(rtindex);
961
962
0
  READ_DONE();
963
0
}
964
965
static FromExpr *
966
_readFromExpr(ReadNodeContext *ctx)
967
0
{
968
0
  READ_LOCALS(FromExpr);
969
970
0
  READ_NODE_FIELD(fromlist);
971
0
  READ_NODE_FIELD(quals);
972
973
0
  READ_DONE();
974
0
}
975
976
static OnConflictExpr *
977
_readOnConflictExpr(ReadNodeContext *ctx)
978
0
{
979
0
  READ_LOCALS(OnConflictExpr);
980
981
0
  READ_ENUM_FIELD(action, OnConflictAction);
982
0
  READ_NODE_FIELD(arbiterElems);
983
0
  READ_NODE_FIELD(arbiterWhere);
984
0
  READ_OID_FIELD(constraint);
985
0
  READ_ENUM_FIELD(lockStrength, LockClauseStrength);
986
0
  READ_NODE_FIELD(onConflictSet);
987
0
  READ_NODE_FIELD(onConflictWhere);
988
0
  READ_INT_FIELD(exclRelIndex);
989
0
  READ_NODE_FIELD(exclRelTlist);
990
991
0
  READ_DONE();
992
0
}
993
994
static Query *
995
_readQuery(ReadNodeContext *ctx)
996
0
{
997
0
  READ_LOCALS(Query);
998
999
0
  READ_ENUM_FIELD(commandType, CmdType);
1000
0
  READ_ENUM_FIELD(querySource, QuerySource);
1001
0
  local_node->queryId = 0;
1002
0
  READ_BOOL_FIELD(canSetTag);
1003
0
  READ_NODE_FIELD(utilityStmt);
1004
0
  READ_INT_FIELD(resultRelation);
1005
0
  READ_BOOL_FIELD(hasAggs);
1006
0
  READ_BOOL_FIELD(hasWindowFuncs);
1007
0
  READ_BOOL_FIELD(hasTargetSRFs);
1008
0
  READ_BOOL_FIELD(hasSubLinks);
1009
0
  READ_BOOL_FIELD(hasDistinctOn);
1010
0
  READ_BOOL_FIELD(hasRecursive);
1011
0
  READ_BOOL_FIELD(hasModifyingCTE);
1012
0
  READ_BOOL_FIELD(hasForUpdate);
1013
0
  READ_BOOL_FIELD(hasRowSecurity);
1014
0
  READ_BOOL_FIELD(hasGroupRTE);
1015
0
  READ_BOOL_FIELD(isReturn);
1016
0
  READ_NODE_FIELD(cteList);
1017
0
  READ_NODE_FIELD(rtable);
1018
0
  READ_NODE_FIELD(rteperminfos);
1019
0
  READ_NODE_FIELD(jointree);
1020
0
  READ_NODE_FIELD(mergeActionList);
1021
0
  READ_INT_FIELD(mergeTargetRelation);
1022
0
  READ_NODE_FIELD(mergeJoinCondition);
1023
0
  READ_NODE_FIELD(targetList);
1024
0
  READ_ENUM_FIELD(override, OverridingKind);
1025
0
  READ_NODE_FIELD(onConflict);
1026
0
  READ_STRING_FIELD(returningOldAlias);
1027
0
  READ_STRING_FIELD(returningNewAlias);
1028
0
  READ_NODE_FIELD(returningList);
1029
0
  READ_NODE_FIELD(groupClause);
1030
0
  READ_BOOL_FIELD(groupDistinct);
1031
0
  READ_NODE_FIELD(groupingSets);
1032
0
  READ_NODE_FIELD(havingQual);
1033
0
  READ_NODE_FIELD(windowClause);
1034
0
  READ_NODE_FIELD(distinctClause);
1035
0
  READ_NODE_FIELD(sortClause);
1036
0
  READ_NODE_FIELD(limitOffset);
1037
0
  READ_NODE_FIELD(limitCount);
1038
0
  READ_ENUM_FIELD(limitOption, LimitOption);
1039
0
  READ_NODE_FIELD(rowMarks);
1040
0
  READ_NODE_FIELD(setOperations);
1041
0
  READ_NODE_FIELD(constraintDeps);
1042
0
  READ_NODE_FIELD(withCheckOptions);
1043
0
  READ_LOCATION_FIELD(stmt_location);
1044
0
  READ_LOCATION_FIELD(stmt_len);
1045
1046
0
  READ_DONE();
1047
0
}
1048
1049
static TypeName *
1050
_readTypeName(ReadNodeContext *ctx)
1051
0
{
1052
0
  READ_LOCALS(TypeName);
1053
1054
0
  READ_NODE_FIELD(names);
1055
0
  READ_OID_FIELD(typeOid);
1056
0
  READ_BOOL_FIELD(setof);
1057
0
  READ_BOOL_FIELD(pct_type);
1058
0
  READ_NODE_FIELD(typmods);
1059
0
  READ_INT_FIELD(typemod);
1060
0
  READ_NODE_FIELD(arrayBounds);
1061
0
  READ_LOCATION_FIELD(location);
1062
1063
0
  READ_DONE();
1064
0
}
1065
1066
static ColumnRef *
1067
_readColumnRef(ReadNodeContext *ctx)
1068
0
{
1069
0
  READ_LOCALS(ColumnRef);
1070
1071
0
  READ_NODE_FIELD(fields);
1072
0
  READ_LOCATION_FIELD(location);
1073
1074
0
  READ_DONE();
1075
0
}
1076
1077
static ParamRef *
1078
_readParamRef(ReadNodeContext *ctx)
1079
0
{
1080
0
  READ_LOCALS(ParamRef);
1081
1082
0
  READ_INT_FIELD(number);
1083
0
  READ_LOCATION_FIELD(location);
1084
1085
0
  READ_DONE();
1086
0
}
1087
1088
static TypeCast *
1089
_readTypeCast(ReadNodeContext *ctx)
1090
0
{
1091
0
  READ_LOCALS(TypeCast);
1092
1093
0
  READ_NODE_FIELD(arg);
1094
0
  READ_NODE_FIELD(typeName);
1095
0
  READ_LOCATION_FIELD(location);
1096
1097
0
  READ_DONE();
1098
0
}
1099
1100
static CollateClause *
1101
_readCollateClause(ReadNodeContext *ctx)
1102
0
{
1103
0
  READ_LOCALS(CollateClause);
1104
1105
0
  READ_NODE_FIELD(arg);
1106
0
  READ_NODE_FIELD(collname);
1107
0
  READ_LOCATION_FIELD(location);
1108
1109
0
  READ_DONE();
1110
0
}
1111
1112
static RoleSpec *
1113
_readRoleSpec(ReadNodeContext *ctx)
1114
0
{
1115
0
  READ_LOCALS(RoleSpec);
1116
1117
0
  READ_ENUM_FIELD(roletype, RoleSpecType);
1118
0
  READ_STRING_FIELD(rolename);
1119
0
  READ_LOCATION_FIELD(location);
1120
1121
0
  READ_DONE();
1122
0
}
1123
1124
static FuncCall *
1125
_readFuncCall(ReadNodeContext *ctx)
1126
0
{
1127
0
  READ_LOCALS(FuncCall);
1128
1129
0
  READ_NODE_FIELD(funcname);
1130
0
  READ_NODE_FIELD(args);
1131
0
  READ_NODE_FIELD(agg_order);
1132
0
  READ_NODE_FIELD(agg_filter);
1133
0
  READ_NODE_FIELD(over);
1134
0
  READ_INT_FIELD(ignore_nulls);
1135
0
  READ_BOOL_FIELD(agg_within_group);
1136
0
  READ_BOOL_FIELD(agg_star);
1137
0
  READ_BOOL_FIELD(agg_distinct);
1138
0
  READ_BOOL_FIELD(func_variadic);
1139
0
  READ_ENUM_FIELD(funcformat, CoercionForm);
1140
0
  READ_LOCATION_FIELD(location);
1141
1142
0
  READ_DONE();
1143
0
}
1144
1145
static A_Star *
1146
_readA_Star(ReadNodeContext *ctx)
1147
0
{
1148
0
  READ_LOCALS_NO_FIELDS(A_Star);
1149
1150
1151
0
  READ_DONE();
1152
0
}
1153
1154
static A_Indices *
1155
_readA_Indices(ReadNodeContext *ctx)
1156
0
{
1157
0
  READ_LOCALS(A_Indices);
1158
1159
0
  READ_BOOL_FIELD(is_slice);
1160
0
  READ_NODE_FIELD(lidx);
1161
0
  READ_NODE_FIELD(uidx);
1162
1163
0
  READ_DONE();
1164
0
}
1165
1166
static A_Indirection *
1167
_readA_Indirection(ReadNodeContext *ctx)
1168
0
{
1169
0
  READ_LOCALS(A_Indirection);
1170
1171
0
  READ_NODE_FIELD(arg);
1172
0
  READ_NODE_FIELD(indirection);
1173
1174
0
  READ_DONE();
1175
0
}
1176
1177
static A_ArrayExpr *
1178
_readA_ArrayExpr(ReadNodeContext *ctx)
1179
0
{
1180
0
  READ_LOCALS(A_ArrayExpr);
1181
1182
0
  READ_NODE_FIELD(elements);
1183
0
  READ_LOCATION_FIELD(list_start);
1184
0
  READ_LOCATION_FIELD(list_end);
1185
0
  READ_LOCATION_FIELD(location);
1186
1187
0
  READ_DONE();
1188
0
}
1189
1190
static ResTarget *
1191
_readResTarget(ReadNodeContext *ctx)
1192
0
{
1193
0
  READ_LOCALS(ResTarget);
1194
1195
0
  READ_STRING_FIELD(name);
1196
0
  READ_NODE_FIELD(indirection);
1197
0
  READ_NODE_FIELD(val);
1198
0
  READ_LOCATION_FIELD(location);
1199
1200
0
  READ_DONE();
1201
0
}
1202
1203
static MultiAssignRef *
1204
_readMultiAssignRef(ReadNodeContext *ctx)
1205
0
{
1206
0
  READ_LOCALS(MultiAssignRef);
1207
1208
0
  READ_NODE_FIELD(source);
1209
0
  READ_INT_FIELD(colno);
1210
0
  READ_INT_FIELD(ncolumns);
1211
1212
0
  READ_DONE();
1213
0
}
1214
1215
static SortBy *
1216
_readSortBy(ReadNodeContext *ctx)
1217
0
{
1218
0
  READ_LOCALS(SortBy);
1219
1220
0
  READ_NODE_FIELD(node);
1221
0
  READ_ENUM_FIELD(sortby_dir, SortByDir);
1222
0
  READ_ENUM_FIELD(sortby_nulls, SortByNulls);
1223
0
  READ_NODE_FIELD(useOp);
1224
0
  READ_LOCATION_FIELD(location);
1225
1226
0
  READ_DONE();
1227
0
}
1228
1229
static WindowDef *
1230
_readWindowDef(ReadNodeContext *ctx)
1231
0
{
1232
0
  READ_LOCALS(WindowDef);
1233
1234
0
  READ_STRING_FIELD(name);
1235
0
  READ_STRING_FIELD(refname);
1236
0
  READ_NODE_FIELD(partitionClause);
1237
0
  READ_NODE_FIELD(orderClause);
1238
0
  READ_INT_FIELD(frameOptions);
1239
0
  READ_NODE_FIELD(startOffset);
1240
0
  READ_NODE_FIELD(endOffset);
1241
0
  READ_LOCATION_FIELD(location);
1242
1243
0
  READ_DONE();
1244
0
}
1245
1246
static RangeSubselect *
1247
_readRangeSubselect(ReadNodeContext *ctx)
1248
0
{
1249
0
  READ_LOCALS(RangeSubselect);
1250
1251
0
  READ_BOOL_FIELD(lateral);
1252
0
  READ_NODE_FIELD(subquery);
1253
0
  READ_NODE_FIELD(alias);
1254
1255
0
  READ_DONE();
1256
0
}
1257
1258
static RangeFunction *
1259
_readRangeFunction(ReadNodeContext *ctx)
1260
0
{
1261
0
  READ_LOCALS(RangeFunction);
1262
1263
0
  READ_BOOL_FIELD(lateral);
1264
0
  READ_BOOL_FIELD(ordinality);
1265
0
  READ_BOOL_FIELD(is_rowsfrom);
1266
0
  READ_NODE_FIELD(functions);
1267
0
  READ_NODE_FIELD(alias);
1268
0
  READ_NODE_FIELD(coldeflist);
1269
1270
0
  READ_DONE();
1271
0
}
1272
1273
static RangeTableFunc *
1274
_readRangeTableFunc(ReadNodeContext *ctx)
1275
0
{
1276
0
  READ_LOCALS(RangeTableFunc);
1277
1278
0
  READ_BOOL_FIELD(lateral);
1279
0
  READ_NODE_FIELD(docexpr);
1280
0
  READ_NODE_FIELD(rowexpr);
1281
0
  READ_NODE_FIELD(namespaces);
1282
0
  READ_NODE_FIELD(columns);
1283
0
  READ_NODE_FIELD(alias);
1284
0
  READ_LOCATION_FIELD(location);
1285
1286
0
  READ_DONE();
1287
0
}
1288
1289
static RangeTableFuncCol *
1290
_readRangeTableFuncCol(ReadNodeContext *ctx)
1291
0
{
1292
0
  READ_LOCALS(RangeTableFuncCol);
1293
1294
0
  READ_STRING_FIELD(colname);
1295
0
  READ_NODE_FIELD(typeName);
1296
0
  READ_BOOL_FIELD(for_ordinality);
1297
0
  READ_BOOL_FIELD(is_not_null);
1298
0
  READ_NODE_FIELD(colexpr);
1299
0
  READ_NODE_FIELD(coldefexpr);
1300
0
  READ_LOCATION_FIELD(location);
1301
1302
0
  READ_DONE();
1303
0
}
1304
1305
static RangeTableSample *
1306
_readRangeTableSample(ReadNodeContext *ctx)
1307
0
{
1308
0
  READ_LOCALS(RangeTableSample);
1309
1310
0
  READ_NODE_FIELD(relation);
1311
0
  READ_NODE_FIELD(method);
1312
0
  READ_NODE_FIELD(args);
1313
0
  READ_NODE_FIELD(repeatable);
1314
0
  READ_LOCATION_FIELD(location);
1315
1316
0
  READ_DONE();
1317
0
}
1318
1319
static ColumnDef *
1320
_readColumnDef(ReadNodeContext *ctx)
1321
0
{
1322
0
  READ_LOCALS(ColumnDef);
1323
1324
0
  READ_STRING_FIELD(colname);
1325
0
  READ_NODE_FIELD(typeName);
1326
0
  READ_STRING_FIELD(compression);
1327
0
  READ_INT_FIELD(inhcount);
1328
0
  READ_BOOL_FIELD(is_local);
1329
0
  READ_BOOL_FIELD(is_not_null);
1330
0
  READ_BOOL_FIELD(is_from_type);
1331
0
  READ_CHAR_FIELD(storage);
1332
0
  READ_STRING_FIELD(storage_name);
1333
0
  READ_NODE_FIELD(raw_default);
1334
0
  READ_NODE_FIELD(cooked_default);
1335
0
  READ_CHAR_FIELD(identity);
1336
0
  READ_NODE_FIELD(identitySequence);
1337
0
  READ_CHAR_FIELD(generated);
1338
0
  READ_NODE_FIELD(collClause);
1339
0
  READ_OID_FIELD(collOid);
1340
0
  READ_NODE_FIELD(constraints);
1341
0
  READ_NODE_FIELD(fdwoptions);
1342
0
  READ_LOCATION_FIELD(location);
1343
1344
0
  READ_DONE();
1345
0
}
1346
1347
static TableLikeClause *
1348
_readTableLikeClause(ReadNodeContext *ctx)
1349
0
{
1350
0
  READ_LOCALS(TableLikeClause);
1351
1352
0
  READ_NODE_FIELD(relation);
1353
0
  READ_UINT_FIELD(options);
1354
0
  READ_OID_FIELD(relationOid);
1355
1356
0
  READ_DONE();
1357
0
}
1358
1359
static IndexElem *
1360
_readIndexElem(ReadNodeContext *ctx)
1361
0
{
1362
0
  READ_LOCALS(IndexElem);
1363
1364
0
  READ_STRING_FIELD(name);
1365
0
  READ_NODE_FIELD(expr);
1366
0
  READ_STRING_FIELD(indexcolname);
1367
0
  READ_NODE_FIELD(collation);
1368
0
  READ_NODE_FIELD(opclass);
1369
0
  READ_NODE_FIELD(opclassopts);
1370
0
  READ_ENUM_FIELD(ordering, SortByDir);
1371
0
  READ_ENUM_FIELD(nulls_ordering, SortByNulls);
1372
0
  READ_LOCATION_FIELD(location);
1373
1374
0
  READ_DONE();
1375
0
}
1376
1377
static DefElem *
1378
_readDefElem(ReadNodeContext *ctx)
1379
0
{
1380
0
  READ_LOCALS(DefElem);
1381
1382
0
  READ_STRING_FIELD(defnamespace);
1383
0
  READ_STRING_FIELD(defname);
1384
0
  READ_NODE_FIELD(arg);
1385
0
  READ_ENUM_FIELD(defaction, DefElemAction);
1386
0
  READ_LOCATION_FIELD(location);
1387
1388
0
  READ_DONE();
1389
0
}
1390
1391
static LockingClause *
1392
_readLockingClause(ReadNodeContext *ctx)
1393
0
{
1394
0
  READ_LOCALS(LockingClause);
1395
1396
0
  READ_NODE_FIELD(lockedRels);
1397
0
  READ_ENUM_FIELD(strength, LockClauseStrength);
1398
0
  READ_ENUM_FIELD(waitPolicy, LockWaitPolicy);
1399
1400
0
  READ_DONE();
1401
0
}
1402
1403
static XmlSerialize *
1404
_readXmlSerialize(ReadNodeContext *ctx)
1405
0
{
1406
0
  READ_LOCALS(XmlSerialize);
1407
1408
0
  READ_ENUM_FIELD(xmloption, XmlOptionType);
1409
0
  READ_NODE_FIELD(expr);
1410
0
  READ_NODE_FIELD(typeName);
1411
0
  READ_BOOL_FIELD(indent);
1412
0
  READ_LOCATION_FIELD(location);
1413
1414
0
  READ_DONE();
1415
0
}
1416
1417
static PartitionElem *
1418
_readPartitionElem(ReadNodeContext *ctx)
1419
0
{
1420
0
  READ_LOCALS(PartitionElem);
1421
1422
0
  READ_STRING_FIELD(name);
1423
0
  READ_NODE_FIELD(expr);
1424
0
  READ_NODE_FIELD(collation);
1425
0
  READ_NODE_FIELD(opclass);
1426
0
  READ_LOCATION_FIELD(location);
1427
1428
0
  READ_DONE();
1429
0
}
1430
1431
static PartitionSpec *
1432
_readPartitionSpec(ReadNodeContext *ctx)
1433
0
{
1434
0
  READ_LOCALS(PartitionSpec);
1435
1436
0
  READ_ENUM_FIELD(strategy, PartitionStrategy);
1437
0
  READ_NODE_FIELD(partParams);
1438
0
  READ_LOCATION_FIELD(location);
1439
1440
0
  READ_DONE();
1441
0
}
1442
1443
static PartitionBoundSpec *
1444
_readPartitionBoundSpec(ReadNodeContext *ctx)
1445
0
{
1446
0
  READ_LOCALS(PartitionBoundSpec);
1447
1448
0
  READ_CHAR_FIELD(strategy);
1449
0
  READ_BOOL_FIELD(is_default);
1450
0
  READ_INT_FIELD(modulus);
1451
0
  READ_INT_FIELD(remainder);
1452
0
  READ_NODE_FIELD(listdatums);
1453
0
  READ_NODE_FIELD(lowerdatums);
1454
0
  READ_NODE_FIELD(upperdatums);
1455
0
  READ_LOCATION_FIELD(location);
1456
1457
0
  READ_DONE();
1458
0
}
1459
1460
static PartitionRangeDatum *
1461
_readPartitionRangeDatum(ReadNodeContext *ctx)
1462
0
{
1463
0
  READ_LOCALS(PartitionRangeDatum);
1464
1465
0
  READ_ENUM_FIELD(kind, PartitionRangeDatumKind);
1466
0
  READ_NODE_FIELD(value);
1467
0
  READ_LOCATION_FIELD(location);
1468
1469
0
  READ_DONE();
1470
0
}
1471
1472
static PartitionCmd *
1473
_readPartitionCmd(ReadNodeContext *ctx)
1474
0
{
1475
0
  READ_LOCALS(PartitionCmd);
1476
1477
0
  READ_NODE_FIELD(name);
1478
0
  READ_NODE_FIELD(bound);
1479
0
  READ_BOOL_FIELD(concurrent);
1480
1481
0
  READ_DONE();
1482
0
}
1483
1484
static RTEPermissionInfo *
1485
_readRTEPermissionInfo(ReadNodeContext *ctx)
1486
0
{
1487
0
  READ_LOCALS(RTEPermissionInfo);
1488
1489
0
  READ_OID_FIELD(relid);
1490
0
  READ_BOOL_FIELD(inh);
1491
0
  READ_UINT64_FIELD(requiredPerms);
1492
0
  READ_OID_FIELD(checkAsUser);
1493
0
  READ_BITMAPSET_FIELD(selectedCols);
1494
0
  READ_BITMAPSET_FIELD(insertedCols);
1495
0
  READ_BITMAPSET_FIELD(updatedCols);
1496
1497
0
  READ_DONE();
1498
0
}
1499
1500
static RangeTblFunction *
1501
_readRangeTblFunction(ReadNodeContext *ctx)
1502
0
{
1503
0
  READ_LOCALS(RangeTblFunction);
1504
1505
0
  READ_NODE_FIELD(funcexpr);
1506
0
  READ_INT_FIELD(funccolcount);
1507
0
  READ_NODE_FIELD(funccolnames);
1508
0
  READ_NODE_FIELD(funccoltypes);
1509
0
  READ_NODE_FIELD(funccoltypmods);
1510
0
  READ_NODE_FIELD(funccolcollations);
1511
0
  READ_BITMAPSET_FIELD(funcparams);
1512
1513
0
  READ_DONE();
1514
0
}
1515
1516
static TableSampleClause *
1517
_readTableSampleClause(ReadNodeContext *ctx)
1518
0
{
1519
0
  READ_LOCALS(TableSampleClause);
1520
1521
0
  READ_OID_FIELD(tsmhandler);
1522
0
  READ_NODE_FIELD(args);
1523
0
  READ_NODE_FIELD(repeatable);
1524
1525
0
  READ_DONE();
1526
0
}
1527
1528
static WithCheckOption *
1529
_readWithCheckOption(ReadNodeContext *ctx)
1530
0
{
1531
0
  READ_LOCALS(WithCheckOption);
1532
1533
0
  READ_ENUM_FIELD(kind, WCOKind);
1534
0
  READ_STRING_FIELD(relname);
1535
0
  READ_STRING_FIELD(polname);
1536
0
  READ_NODE_FIELD(qual);
1537
0
  READ_BOOL_FIELD(cascaded);
1538
1539
0
  READ_DONE();
1540
0
}
1541
1542
static SortGroupClause *
1543
_readSortGroupClause(ReadNodeContext *ctx)
1544
0
{
1545
0
  READ_LOCALS(SortGroupClause);
1546
1547
0
  READ_UINT_FIELD(tleSortGroupRef);
1548
0
  READ_OID_FIELD(eqop);
1549
0
  READ_OID_FIELD(sortop);
1550
0
  READ_BOOL_FIELD(reverse_sort);
1551
0
  READ_BOOL_FIELD(nulls_first);
1552
0
  READ_BOOL_FIELD(hashable);
1553
1554
0
  READ_DONE();
1555
0
}
1556
1557
static GroupingSet *
1558
_readGroupingSet(ReadNodeContext *ctx)
1559
0
{
1560
0
  READ_LOCALS(GroupingSet);
1561
1562
0
  READ_ENUM_FIELD(kind, GroupingSetKind);
1563
0
  READ_NODE_FIELD(content);
1564
0
  READ_LOCATION_FIELD(location);
1565
1566
0
  READ_DONE();
1567
0
}
1568
1569
static WindowClause *
1570
_readWindowClause(ReadNodeContext *ctx)
1571
0
{
1572
0
  READ_LOCALS(WindowClause);
1573
1574
0
  READ_STRING_FIELD(name);
1575
0
  READ_STRING_FIELD(refname);
1576
0
  READ_NODE_FIELD(partitionClause);
1577
0
  READ_NODE_FIELD(orderClause);
1578
0
  READ_INT_FIELD(frameOptions);
1579
0
  READ_NODE_FIELD(startOffset);
1580
0
  READ_NODE_FIELD(endOffset);
1581
0
  READ_OID_FIELD(startInRangeFunc);
1582
0
  READ_OID_FIELD(endInRangeFunc);
1583
0
  READ_OID_FIELD(inRangeColl);
1584
0
  READ_BOOL_FIELD(inRangeAsc);
1585
0
  READ_BOOL_FIELD(inRangeNullsFirst);
1586
0
  READ_UINT_FIELD(winref);
1587
0
  READ_BOOL_FIELD(copiedOrder);
1588
1589
0
  READ_DONE();
1590
0
}
1591
1592
static RowMarkClause *
1593
_readRowMarkClause(ReadNodeContext *ctx)
1594
0
{
1595
0
  READ_LOCALS(RowMarkClause);
1596
1597
0
  READ_UINT_FIELD(rti);
1598
0
  READ_ENUM_FIELD(strength, LockClauseStrength);
1599
0
  READ_ENUM_FIELD(waitPolicy, LockWaitPolicy);
1600
0
  READ_BOOL_FIELD(pushedDown);
1601
1602
0
  READ_DONE();
1603
0
}
1604
1605
static WithClause *
1606
_readWithClause(ReadNodeContext *ctx)
1607
0
{
1608
0
  READ_LOCALS(WithClause);
1609
1610
0
  READ_NODE_FIELD(ctes);
1611
0
  READ_BOOL_FIELD(recursive);
1612
0
  READ_LOCATION_FIELD(location);
1613
1614
0
  READ_DONE();
1615
0
}
1616
1617
static InferClause *
1618
_readInferClause(ReadNodeContext *ctx)
1619
0
{
1620
0
  READ_LOCALS(InferClause);
1621
1622
0
  READ_NODE_FIELD(indexElems);
1623
0
  READ_NODE_FIELD(whereClause);
1624
0
  READ_STRING_FIELD(conname);
1625
0
  READ_LOCATION_FIELD(location);
1626
1627
0
  READ_DONE();
1628
0
}
1629
1630
static OnConflictClause *
1631
_readOnConflictClause(ReadNodeContext *ctx)
1632
0
{
1633
0
  READ_LOCALS(OnConflictClause);
1634
1635
0
  READ_ENUM_FIELD(action, OnConflictAction);
1636
0
  READ_NODE_FIELD(infer);
1637
0
  READ_ENUM_FIELD(lockStrength, LockClauseStrength);
1638
0
  READ_NODE_FIELD(targetList);
1639
0
  READ_NODE_FIELD(whereClause);
1640
0
  READ_LOCATION_FIELD(location);
1641
1642
0
  READ_DONE();
1643
0
}
1644
1645
static CTESearchClause *
1646
_readCTESearchClause(ReadNodeContext *ctx)
1647
0
{
1648
0
  READ_LOCALS(CTESearchClause);
1649
1650
0
  READ_NODE_FIELD(search_col_list);
1651
0
  READ_BOOL_FIELD(search_breadth_first);
1652
0
  READ_STRING_FIELD(search_seq_column);
1653
0
  READ_LOCATION_FIELD(location);
1654
1655
0
  READ_DONE();
1656
0
}
1657
1658
static CTECycleClause *
1659
_readCTECycleClause(ReadNodeContext *ctx)
1660
0
{
1661
0
  READ_LOCALS(CTECycleClause);
1662
1663
0
  READ_NODE_FIELD(cycle_col_list);
1664
0
  READ_STRING_FIELD(cycle_mark_column);
1665
0
  READ_NODE_FIELD(cycle_mark_value);
1666
0
  READ_NODE_FIELD(cycle_mark_default);
1667
0
  READ_STRING_FIELD(cycle_path_column);
1668
0
  READ_LOCATION_FIELD(location);
1669
0
  READ_OID_FIELD(cycle_mark_type);
1670
0
  READ_INT_FIELD(cycle_mark_typmod);
1671
0
  READ_OID_FIELD(cycle_mark_collation);
1672
0
  READ_OID_FIELD(cycle_mark_neop);
1673
1674
0
  READ_DONE();
1675
0
}
1676
1677
static CommonTableExpr *
1678
_readCommonTableExpr(ReadNodeContext *ctx)
1679
0
{
1680
0
  READ_LOCALS(CommonTableExpr);
1681
1682
0
  READ_STRING_FIELD(ctename);
1683
0
  READ_NODE_FIELD(aliascolnames);
1684
0
  READ_ENUM_FIELD(ctematerialized, CTEMaterialize);
1685
0
  READ_NODE_FIELD(ctequery);
1686
0
  READ_NODE_FIELD(search_clause);
1687
0
  READ_NODE_FIELD(cycle_clause);
1688
0
  READ_LOCATION_FIELD(location);
1689
0
  READ_BOOL_FIELD(cterecursive);
1690
0
  READ_INT_FIELD(cterefcount);
1691
0
  READ_NODE_FIELD(ctecolnames);
1692
0
  READ_NODE_FIELD(ctecoltypes);
1693
0
  READ_NODE_FIELD(ctecoltypmods);
1694
0
  READ_NODE_FIELD(ctecolcollations);
1695
1696
0
  READ_DONE();
1697
0
}
1698
1699
static MergeWhenClause *
1700
_readMergeWhenClause(ReadNodeContext *ctx)
1701
0
{
1702
0
  READ_LOCALS(MergeWhenClause);
1703
1704
0
  READ_ENUM_FIELD(matchKind, MergeMatchKind);
1705
0
  READ_ENUM_FIELD(commandType, CmdType);
1706
0
  READ_ENUM_FIELD(override, OverridingKind);
1707
0
  READ_NODE_FIELD(condition);
1708
0
  READ_NODE_FIELD(targetList);
1709
0
  READ_NODE_FIELD(values);
1710
1711
0
  READ_DONE();
1712
0
}
1713
1714
static ReturningOption *
1715
_readReturningOption(ReadNodeContext *ctx)
1716
0
{
1717
0
  READ_LOCALS(ReturningOption);
1718
1719
0
  READ_ENUM_FIELD(option, ReturningOptionKind);
1720
0
  READ_STRING_FIELD(value);
1721
0
  READ_LOCATION_FIELD(location);
1722
1723
0
  READ_DONE();
1724
0
}
1725
1726
static ReturningClause *
1727
_readReturningClause(ReadNodeContext *ctx)
1728
0
{
1729
0
  READ_LOCALS(ReturningClause);
1730
1731
0
  READ_NODE_FIELD(options);
1732
0
  READ_NODE_FIELD(exprs);
1733
1734
0
  READ_DONE();
1735
0
}
1736
1737
static TriggerTransition *
1738
_readTriggerTransition(ReadNodeContext *ctx)
1739
0
{
1740
0
  READ_LOCALS(TriggerTransition);
1741
1742
0
  READ_STRING_FIELD(name);
1743
0
  READ_BOOL_FIELD(isNew);
1744
0
  READ_BOOL_FIELD(isTable);
1745
1746
0
  READ_DONE();
1747
0
}
1748
1749
static JsonOutput *
1750
_readJsonOutput(ReadNodeContext *ctx)
1751
0
{
1752
0
  READ_LOCALS(JsonOutput);
1753
1754
0
  READ_NODE_FIELD(typeName);
1755
0
  READ_NODE_FIELD(returning);
1756
1757
0
  READ_DONE();
1758
0
}
1759
1760
static JsonArgument *
1761
_readJsonArgument(ReadNodeContext *ctx)
1762
0
{
1763
0
  READ_LOCALS(JsonArgument);
1764
1765
0
  READ_NODE_FIELD(val);
1766
0
  READ_STRING_FIELD(name);
1767
1768
0
  READ_DONE();
1769
0
}
1770
1771
static JsonFuncExpr *
1772
_readJsonFuncExpr(ReadNodeContext *ctx)
1773
0
{
1774
0
  READ_LOCALS(JsonFuncExpr);
1775
1776
0
  READ_ENUM_FIELD(op, JsonExprOp);
1777
0
  READ_STRING_FIELD(column_name);
1778
0
  READ_NODE_FIELD(context_item);
1779
0
  READ_NODE_FIELD(pathspec);
1780
0
  READ_NODE_FIELD(passing);
1781
0
  READ_NODE_FIELD(output);
1782
0
  READ_NODE_FIELD(on_empty);
1783
0
  READ_NODE_FIELD(on_error);
1784
0
  READ_ENUM_FIELD(wrapper, JsonWrapper);
1785
0
  READ_ENUM_FIELD(quotes, JsonQuotes);
1786
0
  READ_LOCATION_FIELD(location);
1787
1788
0
  READ_DONE();
1789
0
}
1790
1791
static JsonTablePathSpec *
1792
_readJsonTablePathSpec(ReadNodeContext *ctx)
1793
0
{
1794
0
  READ_LOCALS(JsonTablePathSpec);
1795
1796
0
  READ_NODE_FIELD(string);
1797
0
  READ_STRING_FIELD(name);
1798
0
  READ_LOCATION_FIELD(name_location);
1799
0
  READ_LOCATION_FIELD(location);
1800
1801
0
  READ_DONE();
1802
0
}
1803
1804
static JsonTablePlanSpec *
1805
_readJsonTablePlanSpec(ReadNodeContext *ctx)
1806
0
{
1807
0
  READ_LOCALS(JsonTablePlanSpec);
1808
1809
0
  READ_ENUM_FIELD(plan_type, JsonTablePlanType);
1810
0
  READ_ENUM_FIELD(join_type, JsonTablePlanJoinType);
1811
0
  READ_STRING_FIELD(pathname);
1812
0
  READ_NODE_FIELD(plan1);
1813
0
  READ_NODE_FIELD(plan2);
1814
0
  READ_LOCATION_FIELD(location);
1815
1816
0
  READ_DONE();
1817
0
}
1818
1819
static JsonTable *
1820
_readJsonTable(ReadNodeContext *ctx)
1821
0
{
1822
0
  READ_LOCALS(JsonTable);
1823
1824
0
  READ_NODE_FIELD(context_item);
1825
0
  READ_NODE_FIELD(pathspec);
1826
0
  READ_NODE_FIELD(passing);
1827
0
  READ_NODE_FIELD(columns);
1828
0
  READ_NODE_FIELD(planspec);
1829
0
  READ_NODE_FIELD(on_error);
1830
0
  READ_NODE_FIELD(alias);
1831
0
  READ_BOOL_FIELD(lateral);
1832
0
  READ_LOCATION_FIELD(location);
1833
1834
0
  READ_DONE();
1835
0
}
1836
1837
static JsonTableColumn *
1838
_readJsonTableColumn(ReadNodeContext *ctx)
1839
0
{
1840
0
  READ_LOCALS(JsonTableColumn);
1841
1842
0
  READ_ENUM_FIELD(coltype, JsonTableColumnType);
1843
0
  READ_STRING_FIELD(name);
1844
0
  READ_NODE_FIELD(typeName);
1845
0
  READ_NODE_FIELD(pathspec);
1846
0
  READ_NODE_FIELD(format);
1847
0
  READ_ENUM_FIELD(wrapper, JsonWrapper);
1848
0
  READ_ENUM_FIELD(quotes, JsonQuotes);
1849
0
  READ_NODE_FIELD(columns);
1850
0
  READ_NODE_FIELD(on_empty);
1851
0
  READ_NODE_FIELD(on_error);
1852
0
  READ_LOCATION_FIELD(location);
1853
1854
0
  READ_DONE();
1855
0
}
1856
1857
static JsonKeyValue *
1858
_readJsonKeyValue(ReadNodeContext *ctx)
1859
0
{
1860
0
  READ_LOCALS(JsonKeyValue);
1861
1862
0
  READ_NODE_FIELD(key);
1863
0
  READ_NODE_FIELD(value);
1864
1865
0
  READ_DONE();
1866
0
}
1867
1868
static JsonParseExpr *
1869
_readJsonParseExpr(ReadNodeContext *ctx)
1870
0
{
1871
0
  READ_LOCALS(JsonParseExpr);
1872
1873
0
  READ_NODE_FIELD(expr);
1874
0
  READ_NODE_FIELD(output);
1875
0
  READ_BOOL_FIELD(unique_keys);
1876
0
  READ_LOCATION_FIELD(location);
1877
1878
0
  READ_DONE();
1879
0
}
1880
1881
static JsonScalarExpr *
1882
_readJsonScalarExpr(ReadNodeContext *ctx)
1883
0
{
1884
0
  READ_LOCALS(JsonScalarExpr);
1885
1886
0
  READ_NODE_FIELD(expr);
1887
0
  READ_NODE_FIELD(output);
1888
0
  READ_LOCATION_FIELD(location);
1889
1890
0
  READ_DONE();
1891
0
}
1892
1893
static JsonSerializeExpr *
1894
_readJsonSerializeExpr(ReadNodeContext *ctx)
1895
0
{
1896
0
  READ_LOCALS(JsonSerializeExpr);
1897
1898
0
  READ_NODE_FIELD(expr);
1899
0
  READ_NODE_FIELD(output);
1900
0
  READ_LOCATION_FIELD(location);
1901
1902
0
  READ_DONE();
1903
0
}
1904
1905
static JsonObjectConstructor *
1906
_readJsonObjectConstructor(ReadNodeContext *ctx)
1907
0
{
1908
0
  READ_LOCALS(JsonObjectConstructor);
1909
1910
0
  READ_NODE_FIELD(exprs);
1911
0
  READ_NODE_FIELD(output);
1912
0
  READ_BOOL_FIELD(absent_on_null);
1913
0
  READ_BOOL_FIELD(unique);
1914
0
  READ_LOCATION_FIELD(location);
1915
1916
0
  READ_DONE();
1917
0
}
1918
1919
static JsonArrayConstructor *
1920
_readJsonArrayConstructor(ReadNodeContext *ctx)
1921
0
{
1922
0
  READ_LOCALS(JsonArrayConstructor);
1923
1924
0
  READ_NODE_FIELD(exprs);
1925
0
  READ_NODE_FIELD(output);
1926
0
  READ_BOOL_FIELD(absent_on_null);
1927
0
  READ_LOCATION_FIELD(location);
1928
1929
0
  READ_DONE();
1930
0
}
1931
1932
static JsonArrayQueryConstructor *
1933
_readJsonArrayQueryConstructor(ReadNodeContext *ctx)
1934
0
{
1935
0
  READ_LOCALS(JsonArrayQueryConstructor);
1936
1937
0
  READ_NODE_FIELD(query);
1938
0
  READ_NODE_FIELD(output);
1939
0
  READ_NODE_FIELD(format);
1940
0
  READ_BOOL_FIELD(absent_on_null);
1941
0
  READ_LOCATION_FIELD(location);
1942
1943
0
  READ_DONE();
1944
0
}
1945
1946
static JsonAggConstructor *
1947
_readJsonAggConstructor(ReadNodeContext *ctx)
1948
0
{
1949
0
  READ_LOCALS(JsonAggConstructor);
1950
1951
0
  READ_NODE_FIELD(output);
1952
0
  READ_NODE_FIELD(agg_filter);
1953
0
  READ_NODE_FIELD(agg_order);
1954
0
  READ_NODE_FIELD(over);
1955
0
  READ_LOCATION_FIELD(location);
1956
1957
0
  READ_DONE();
1958
0
}
1959
1960
static JsonObjectAgg *
1961
_readJsonObjectAgg(ReadNodeContext *ctx)
1962
0
{
1963
0
  READ_LOCALS(JsonObjectAgg);
1964
1965
0
  READ_NODE_FIELD(constructor);
1966
0
  READ_NODE_FIELD(arg);
1967
0
  READ_BOOL_FIELD(absent_on_null);
1968
0
  READ_BOOL_FIELD(unique);
1969
1970
0
  READ_DONE();
1971
0
}
1972
1973
static JsonArrayAgg *
1974
_readJsonArrayAgg(ReadNodeContext *ctx)
1975
0
{
1976
0
  READ_LOCALS(JsonArrayAgg);
1977
1978
0
  READ_NODE_FIELD(constructor);
1979
0
  READ_NODE_FIELD(arg);
1980
0
  READ_BOOL_FIELD(absent_on_null);
1981
1982
0
  READ_DONE();
1983
0
}
1984
1985
static RawStmt *
1986
_readRawStmt(ReadNodeContext *ctx)
1987
0
{
1988
0
  READ_LOCALS(RawStmt);
1989
1990
0
  READ_NODE_FIELD(stmt);
1991
0
  READ_LOCATION_FIELD(stmt_location);
1992
0
  READ_LOCATION_FIELD(stmt_len);
1993
1994
0
  READ_DONE();
1995
0
}
1996
1997
static InsertStmt *
1998
_readInsertStmt(ReadNodeContext *ctx)
1999
0
{
2000
0
  READ_LOCALS(InsertStmt);
2001
2002
0
  READ_NODE_FIELD(relation);
2003
0
  READ_NODE_FIELD(cols);
2004
0
  READ_NODE_FIELD(selectStmt);
2005
0
  READ_NODE_FIELD(onConflictClause);
2006
0
  READ_NODE_FIELD(returningClause);
2007
0
  READ_NODE_FIELD(withClause);
2008
0
  READ_ENUM_FIELD(override, OverridingKind);
2009
2010
0
  READ_DONE();
2011
0
}
2012
2013
static DeleteStmt *
2014
_readDeleteStmt(ReadNodeContext *ctx)
2015
0
{
2016
0
  READ_LOCALS(DeleteStmt);
2017
2018
0
  READ_NODE_FIELD(relation);
2019
0
  READ_NODE_FIELD(usingClause);
2020
0
  READ_NODE_FIELD(whereClause);
2021
0
  READ_NODE_FIELD(returningClause);
2022
0
  READ_NODE_FIELD(withClause);
2023
2024
0
  READ_DONE();
2025
0
}
2026
2027
static UpdateStmt *
2028
_readUpdateStmt(ReadNodeContext *ctx)
2029
0
{
2030
0
  READ_LOCALS(UpdateStmt);
2031
2032
0
  READ_NODE_FIELD(relation);
2033
0
  READ_NODE_FIELD(targetList);
2034
0
  READ_NODE_FIELD(whereClause);
2035
0
  READ_NODE_FIELD(fromClause);
2036
0
  READ_NODE_FIELD(returningClause);
2037
0
  READ_NODE_FIELD(withClause);
2038
2039
0
  READ_DONE();
2040
0
}
2041
2042
static MergeStmt *
2043
_readMergeStmt(ReadNodeContext *ctx)
2044
0
{
2045
0
  READ_LOCALS(MergeStmt);
2046
2047
0
  READ_NODE_FIELD(relation);
2048
0
  READ_NODE_FIELD(sourceRelation);
2049
0
  READ_NODE_FIELD(joinCondition);
2050
0
  READ_NODE_FIELD(mergeWhenClauses);
2051
0
  READ_NODE_FIELD(returningClause);
2052
0
  READ_NODE_FIELD(withClause);
2053
2054
0
  READ_DONE();
2055
0
}
2056
2057
static SelectStmt *
2058
_readSelectStmt(ReadNodeContext *ctx)
2059
0
{
2060
0
  READ_LOCALS(SelectStmt);
2061
2062
0
  READ_NODE_FIELD(distinctClause);
2063
0
  READ_NODE_FIELD(intoClause);
2064
0
  READ_NODE_FIELD(targetList);
2065
0
  READ_NODE_FIELD(fromClause);
2066
0
  READ_NODE_FIELD(whereClause);
2067
0
  READ_NODE_FIELD(groupClause);
2068
0
  READ_BOOL_FIELD(groupDistinct);
2069
0
  READ_NODE_FIELD(havingClause);
2070
0
  READ_NODE_FIELD(windowClause);
2071
0
  READ_NODE_FIELD(valuesLists);
2072
0
  READ_NODE_FIELD(sortClause);
2073
0
  READ_NODE_FIELD(limitOffset);
2074
0
  READ_NODE_FIELD(limitCount);
2075
0
  READ_ENUM_FIELD(limitOption, LimitOption);
2076
0
  READ_NODE_FIELD(lockingClause);
2077
0
  READ_NODE_FIELD(withClause);
2078
0
  READ_ENUM_FIELD(op, SetOperation);
2079
0
  READ_BOOL_FIELD(all);
2080
0
  READ_NODE_FIELD(larg);
2081
0
  READ_NODE_FIELD(rarg);
2082
2083
0
  READ_DONE();
2084
0
}
2085
2086
static SetOperationStmt *
2087
_readSetOperationStmt(ReadNodeContext *ctx)
2088
0
{
2089
0
  READ_LOCALS(SetOperationStmt);
2090
2091
0
  READ_ENUM_FIELD(op, SetOperation);
2092
0
  READ_BOOL_FIELD(all);
2093
0
  READ_NODE_FIELD(larg);
2094
0
  READ_NODE_FIELD(rarg);
2095
0
  READ_NODE_FIELD(colTypes);
2096
0
  READ_NODE_FIELD(colTypmods);
2097
0
  READ_NODE_FIELD(colCollations);
2098
0
  READ_NODE_FIELD(groupClauses);
2099
2100
0
  READ_DONE();
2101
0
}
2102
2103
static ReturnStmt *
2104
_readReturnStmt(ReadNodeContext *ctx)
2105
0
{
2106
0
  READ_LOCALS(ReturnStmt);
2107
2108
0
  READ_NODE_FIELD(returnval);
2109
2110
0
  READ_DONE();
2111
0
}
2112
2113
static PLAssignStmt *
2114
_readPLAssignStmt(ReadNodeContext *ctx)
2115
0
{
2116
0
  READ_LOCALS(PLAssignStmt);
2117
2118
0
  READ_STRING_FIELD(name);
2119
0
  READ_NODE_FIELD(indirection);
2120
0
  READ_INT_FIELD(nnames);
2121
0
  READ_NODE_FIELD(val);
2122
0
  READ_LOCATION_FIELD(location);
2123
2124
0
  READ_DONE();
2125
0
}
2126
2127
static CreateSchemaStmt *
2128
_readCreateSchemaStmt(ReadNodeContext *ctx)
2129
0
{
2130
0
  READ_LOCALS(CreateSchemaStmt);
2131
2132
0
  READ_STRING_FIELD(schemaname);
2133
0
  READ_NODE_FIELD(authrole);
2134
0
  READ_NODE_FIELD(schemaElts);
2135
0
  READ_BOOL_FIELD(if_not_exists);
2136
2137
0
  READ_DONE();
2138
0
}
2139
2140
static AlterTableStmt *
2141
_readAlterTableStmt(ReadNodeContext *ctx)
2142
0
{
2143
0
  READ_LOCALS(AlterTableStmt);
2144
2145
0
  READ_NODE_FIELD(relation);
2146
0
  READ_NODE_FIELD(cmds);
2147
0
  READ_ENUM_FIELD(objtype, ObjectType);
2148
0
  READ_BOOL_FIELD(missing_ok);
2149
2150
0
  READ_DONE();
2151
0
}
2152
2153
static AlterTableCmd *
2154
_readAlterTableCmd(ReadNodeContext *ctx)
2155
0
{
2156
0
  READ_LOCALS(AlterTableCmd);
2157
2158
0
  READ_ENUM_FIELD(subtype, AlterTableType);
2159
0
  READ_STRING_FIELD(name);
2160
0
  READ_INT_FIELD(num);
2161
0
  READ_NODE_FIELD(newowner);
2162
0
  READ_NODE_FIELD(def);
2163
0
  READ_ENUM_FIELD(behavior, DropBehavior);
2164
0
  READ_BOOL_FIELD(missing_ok);
2165
0
  READ_BOOL_FIELD(recurse);
2166
2167
0
  READ_DONE();
2168
0
}
2169
2170
static ATAlterConstraint *
2171
_readATAlterConstraint(ReadNodeContext *ctx)
2172
0
{
2173
0
  READ_LOCALS(ATAlterConstraint);
2174
2175
0
  READ_STRING_FIELD(conname);
2176
0
  READ_BOOL_FIELD(alterEnforceability);
2177
0
  READ_BOOL_FIELD(is_enforced);
2178
0
  READ_BOOL_FIELD(alterDeferrability);
2179
0
  READ_BOOL_FIELD(deferrable);
2180
0
  READ_BOOL_FIELD(initdeferred);
2181
0
  READ_BOOL_FIELD(alterInheritability);
2182
0
  READ_BOOL_FIELD(noinherit);
2183
2184
0
  READ_DONE();
2185
0
}
2186
2187
static ReplicaIdentityStmt *
2188
_readReplicaIdentityStmt(ReadNodeContext *ctx)
2189
0
{
2190
0
  READ_LOCALS(ReplicaIdentityStmt);
2191
2192
0
  READ_CHAR_FIELD(identity_type);
2193
0
  READ_STRING_FIELD(name);
2194
2195
0
  READ_DONE();
2196
0
}
2197
2198
static AlterCollationStmt *
2199
_readAlterCollationStmt(ReadNodeContext *ctx)
2200
0
{
2201
0
  READ_LOCALS(AlterCollationStmt);
2202
2203
0
  READ_NODE_FIELD(collname);
2204
2205
0
  READ_DONE();
2206
0
}
2207
2208
static AlterDomainStmt *
2209
_readAlterDomainStmt(ReadNodeContext *ctx)
2210
0
{
2211
0
  READ_LOCALS(AlterDomainStmt);
2212
2213
0
  READ_ENUM_FIELD(subtype, AlterDomainType);
2214
0
  READ_NODE_FIELD(typeName);
2215
0
  READ_STRING_FIELD(name);
2216
0
  READ_NODE_FIELD(def);
2217
0
  READ_ENUM_FIELD(behavior, DropBehavior);
2218
0
  READ_BOOL_FIELD(missing_ok);
2219
2220
0
  READ_DONE();
2221
0
}
2222
2223
static GrantStmt *
2224
_readGrantStmt(ReadNodeContext *ctx)
2225
0
{
2226
0
  READ_LOCALS(GrantStmt);
2227
2228
0
  READ_BOOL_FIELD(is_grant);
2229
0
  READ_ENUM_FIELD(targtype, GrantTargetType);
2230
0
  READ_ENUM_FIELD(objtype, ObjectType);
2231
0
  READ_NODE_FIELD(objects);
2232
0
  READ_NODE_FIELD(privileges);
2233
0
  READ_NODE_FIELD(grantees);
2234
0
  READ_BOOL_FIELD(grant_option);
2235
0
  READ_NODE_FIELD(grantor);
2236
0
  READ_ENUM_FIELD(behavior, DropBehavior);
2237
2238
0
  READ_DONE();
2239
0
}
2240
2241
static ObjectWithArgs *
2242
_readObjectWithArgs(ReadNodeContext *ctx)
2243
0
{
2244
0
  READ_LOCALS(ObjectWithArgs);
2245
2246
0
  READ_NODE_FIELD(objname);
2247
0
  READ_NODE_FIELD(objargs);
2248
0
  READ_NODE_FIELD(objfuncargs);
2249
0
  READ_BOOL_FIELD(args_unspecified);
2250
2251
0
  READ_DONE();
2252
0
}
2253
2254
static AccessPriv *
2255
_readAccessPriv(ReadNodeContext *ctx)
2256
0
{
2257
0
  READ_LOCALS(AccessPriv);
2258
2259
0
  READ_STRING_FIELD(priv_name);
2260
0
  READ_NODE_FIELD(cols);
2261
2262
0
  READ_DONE();
2263
0
}
2264
2265
static GrantRoleStmt *
2266
_readGrantRoleStmt(ReadNodeContext *ctx)
2267
0
{
2268
0
  READ_LOCALS(GrantRoleStmt);
2269
2270
0
  READ_NODE_FIELD(granted_roles);
2271
0
  READ_NODE_FIELD(grantee_roles);
2272
0
  READ_BOOL_FIELD(is_grant);
2273
0
  READ_NODE_FIELD(opt);
2274
0
  READ_NODE_FIELD(grantor);
2275
0
  READ_ENUM_FIELD(behavior, DropBehavior);
2276
2277
0
  READ_DONE();
2278
0
}
2279
2280
static AlterDefaultPrivilegesStmt *
2281
_readAlterDefaultPrivilegesStmt(ReadNodeContext *ctx)
2282
0
{
2283
0
  READ_LOCALS(AlterDefaultPrivilegesStmt);
2284
2285
0
  READ_NODE_FIELD(options);
2286
0
  READ_NODE_FIELD(action);
2287
2288
0
  READ_DONE();
2289
0
}
2290
2291
static CopyStmt *
2292
_readCopyStmt(ReadNodeContext *ctx)
2293
0
{
2294
0
  READ_LOCALS(CopyStmt);
2295
2296
0
  READ_NODE_FIELD(relation);
2297
0
  READ_NODE_FIELD(query);
2298
0
  READ_NODE_FIELD(attlist);
2299
0
  READ_BOOL_FIELD(is_from);
2300
0
  READ_BOOL_FIELD(is_program);
2301
0
  READ_STRING_FIELD(filename);
2302
0
  READ_NODE_FIELD(options);
2303
0
  READ_NODE_FIELD(whereClause);
2304
2305
0
  READ_DONE();
2306
0
}
2307
2308
static VariableSetStmt *
2309
_readVariableSetStmt(ReadNodeContext *ctx)
2310
0
{
2311
0
  READ_LOCALS(VariableSetStmt);
2312
2313
0
  READ_ENUM_FIELD(kind, VariableSetKind);
2314
0
  READ_STRING_FIELD(name);
2315
0
  READ_NODE_FIELD(args);
2316
0
  READ_BOOL_FIELD(jumble_args);
2317
0
  READ_BOOL_FIELD(is_local);
2318
0
  READ_LOCATION_FIELD(location);
2319
2320
0
  READ_DONE();
2321
0
}
2322
2323
static VariableShowStmt *
2324
_readVariableShowStmt(ReadNodeContext *ctx)
2325
0
{
2326
0
  READ_LOCALS(VariableShowStmt);
2327
2328
0
  READ_STRING_FIELD(name);
2329
2330
0
  READ_DONE();
2331
0
}
2332
2333
static CreateStmt *
2334
_readCreateStmt(ReadNodeContext *ctx)
2335
0
{
2336
0
  READ_LOCALS(CreateStmt);
2337
2338
0
  READ_NODE_FIELD(relation);
2339
0
  READ_NODE_FIELD(tableElts);
2340
0
  READ_NODE_FIELD(inhRelations);
2341
0
  READ_NODE_FIELD(partbound);
2342
0
  READ_NODE_FIELD(partspec);
2343
0
  READ_NODE_FIELD(ofTypename);
2344
0
  READ_NODE_FIELD(constraints);
2345
0
  READ_NODE_FIELD(nnconstraints);
2346
0
  READ_NODE_FIELD(options);
2347
0
  READ_ENUM_FIELD(oncommit, OnCommitAction);
2348
0
  READ_STRING_FIELD(tablespacename);
2349
0
  READ_STRING_FIELD(accessMethod);
2350
0
  READ_BOOL_FIELD(if_not_exists);
2351
2352
0
  READ_DONE();
2353
0
}
2354
2355
static Constraint *
2356
_readConstraint(ReadNodeContext *ctx)
2357
0
{
2358
0
  READ_LOCALS(Constraint);
2359
2360
0
  READ_ENUM_FIELD(contype, ConstrType);
2361
0
  READ_STRING_FIELD(conname);
2362
0
  READ_BOOL_FIELD(deferrable);
2363
0
  READ_BOOL_FIELD(initdeferred);
2364
0
  READ_BOOL_FIELD(is_enforced);
2365
0
  READ_BOOL_FIELD(skip_validation);
2366
0
  READ_BOOL_FIELD(initially_valid);
2367
0
  READ_BOOL_FIELD(is_no_inherit);
2368
0
  READ_NODE_FIELD(raw_expr);
2369
0
  READ_STRING_FIELD(cooked_expr);
2370
0
  READ_CHAR_FIELD(generated_when);
2371
0
  READ_CHAR_FIELD(generated_kind);
2372
0
  READ_BOOL_FIELD(nulls_not_distinct);
2373
0
  READ_NODE_FIELD(keys);
2374
0
  READ_BOOL_FIELD(without_overlaps);
2375
0
  READ_NODE_FIELD(including);
2376
0
  READ_NODE_FIELD(exclusions);
2377
0
  READ_NODE_FIELD(options);
2378
0
  READ_STRING_FIELD(indexname);
2379
0
  READ_STRING_FIELD(indexspace);
2380
0
  READ_BOOL_FIELD(reset_default_tblspc);
2381
0
  READ_STRING_FIELD(access_method);
2382
0
  READ_NODE_FIELD(where_clause);
2383
0
  READ_NODE_FIELD(pktable);
2384
0
  READ_NODE_FIELD(fk_attrs);
2385
0
  READ_NODE_FIELD(pk_attrs);
2386
0
  READ_BOOL_FIELD(fk_with_period);
2387
0
  READ_BOOL_FIELD(pk_with_period);
2388
0
  READ_CHAR_FIELD(fk_matchtype);
2389
0
  READ_CHAR_FIELD(fk_upd_action);
2390
0
  READ_CHAR_FIELD(fk_del_action);
2391
0
  READ_NODE_FIELD(fk_del_set_cols);
2392
0
  READ_NODE_FIELD(old_conpfeqop);
2393
0
  READ_OID_FIELD(old_pktable_oid);
2394
0
  READ_LOCATION_FIELD(location);
2395
2396
0
  READ_DONE();
2397
0
}
2398
2399
static CreateTableSpaceStmt *
2400
_readCreateTableSpaceStmt(ReadNodeContext *ctx)
2401
0
{
2402
0
  READ_LOCALS(CreateTableSpaceStmt);
2403
2404
0
  READ_STRING_FIELD(tablespacename);
2405
0
  READ_NODE_FIELD(owner);
2406
0
  READ_STRING_FIELD(location);
2407
0
  READ_NODE_FIELD(options);
2408
2409
0
  READ_DONE();
2410
0
}
2411
2412
static DropTableSpaceStmt *
2413
_readDropTableSpaceStmt(ReadNodeContext *ctx)
2414
0
{
2415
0
  READ_LOCALS(DropTableSpaceStmt);
2416
2417
0
  READ_STRING_FIELD(tablespacename);
2418
0
  READ_BOOL_FIELD(missing_ok);
2419
2420
0
  READ_DONE();
2421
0
}
2422
2423
static AlterTableSpaceOptionsStmt *
2424
_readAlterTableSpaceOptionsStmt(ReadNodeContext *ctx)
2425
0
{
2426
0
  READ_LOCALS(AlterTableSpaceOptionsStmt);
2427
2428
0
  READ_STRING_FIELD(tablespacename);
2429
0
  READ_NODE_FIELD(options);
2430
0
  READ_BOOL_FIELD(isReset);
2431
2432
0
  READ_DONE();
2433
0
}
2434
2435
static AlterTableMoveAllStmt *
2436
_readAlterTableMoveAllStmt(ReadNodeContext *ctx)
2437
0
{
2438
0
  READ_LOCALS(AlterTableMoveAllStmt);
2439
2440
0
  READ_STRING_FIELD(orig_tablespacename);
2441
0
  READ_ENUM_FIELD(objtype, ObjectType);
2442
0
  READ_NODE_FIELD(roles);
2443
0
  READ_STRING_FIELD(new_tablespacename);
2444
0
  READ_BOOL_FIELD(nowait);
2445
2446
0
  READ_DONE();
2447
0
}
2448
2449
static CreateExtensionStmt *
2450
_readCreateExtensionStmt(ReadNodeContext *ctx)
2451
0
{
2452
0
  READ_LOCALS(CreateExtensionStmt);
2453
2454
0
  READ_STRING_FIELD(extname);
2455
0
  READ_BOOL_FIELD(if_not_exists);
2456
0
  READ_NODE_FIELD(options);
2457
2458
0
  READ_DONE();
2459
0
}
2460
2461
static AlterExtensionStmt *
2462
_readAlterExtensionStmt(ReadNodeContext *ctx)
2463
0
{
2464
0
  READ_LOCALS(AlterExtensionStmt);
2465
2466
0
  READ_STRING_FIELD(extname);
2467
0
  READ_NODE_FIELD(options);
2468
2469
0
  READ_DONE();
2470
0
}
2471
2472
static AlterExtensionContentsStmt *
2473
_readAlterExtensionContentsStmt(ReadNodeContext *ctx)
2474
0
{
2475
0
  READ_LOCALS(AlterExtensionContentsStmt);
2476
2477
0
  READ_STRING_FIELD(extname);
2478
0
  READ_INT_FIELD(action);
2479
0
  READ_ENUM_FIELD(objtype, ObjectType);
2480
0
  READ_NODE_FIELD(object);
2481
2482
0
  READ_DONE();
2483
0
}
2484
2485
static CreateFdwStmt *
2486
_readCreateFdwStmt(ReadNodeContext *ctx)
2487
0
{
2488
0
  READ_LOCALS(CreateFdwStmt);
2489
2490
0
  READ_STRING_FIELD(fdwname);
2491
0
  READ_NODE_FIELD(func_options);
2492
0
  READ_NODE_FIELD(options);
2493
2494
0
  READ_DONE();
2495
0
}
2496
2497
static AlterFdwStmt *
2498
_readAlterFdwStmt(ReadNodeContext *ctx)
2499
0
{
2500
0
  READ_LOCALS(AlterFdwStmt);
2501
2502
0
  READ_STRING_FIELD(fdwname);
2503
0
  READ_NODE_FIELD(func_options);
2504
0
  READ_NODE_FIELD(options);
2505
2506
0
  READ_DONE();
2507
0
}
2508
2509
static CreateForeignServerStmt *
2510
_readCreateForeignServerStmt(ReadNodeContext *ctx)
2511
0
{
2512
0
  READ_LOCALS(CreateForeignServerStmt);
2513
2514
0
  READ_STRING_FIELD(servername);
2515
0
  READ_STRING_FIELD(servertype);
2516
0
  READ_STRING_FIELD(version);
2517
0
  READ_STRING_FIELD(fdwname);
2518
0
  READ_BOOL_FIELD(if_not_exists);
2519
0
  READ_NODE_FIELD(options);
2520
2521
0
  READ_DONE();
2522
0
}
2523
2524
static AlterForeignServerStmt *
2525
_readAlterForeignServerStmt(ReadNodeContext *ctx)
2526
0
{
2527
0
  READ_LOCALS(AlterForeignServerStmt);
2528
2529
0
  READ_STRING_FIELD(servername);
2530
0
  READ_STRING_FIELD(version);
2531
0
  READ_NODE_FIELD(options);
2532
0
  READ_BOOL_FIELD(has_version);
2533
2534
0
  READ_DONE();
2535
0
}
2536
2537
static CreateForeignTableStmt *
2538
_readCreateForeignTableStmt(ReadNodeContext *ctx)
2539
0
{
2540
0
  READ_LOCALS(CreateForeignTableStmt);
2541
2542
0
  READ_NODE_FIELD(base.relation);
2543
0
  READ_NODE_FIELD(base.tableElts);
2544
0
  READ_NODE_FIELD(base.inhRelations);
2545
0
  READ_NODE_FIELD(base.partbound);
2546
0
  READ_NODE_FIELD(base.partspec);
2547
0
  READ_NODE_FIELD(base.ofTypename);
2548
0
  READ_NODE_FIELD(base.constraints);
2549
0
  READ_NODE_FIELD(base.nnconstraints);
2550
0
  READ_NODE_FIELD(base.options);
2551
0
  READ_ENUM_FIELD(base.oncommit, OnCommitAction);
2552
0
  READ_STRING_FIELD(base.tablespacename);
2553
0
  READ_STRING_FIELD(base.accessMethod);
2554
0
  READ_BOOL_FIELD(base.if_not_exists);
2555
0
  READ_STRING_FIELD(servername);
2556
0
  READ_NODE_FIELD(options);
2557
2558
0
  READ_DONE();
2559
0
}
2560
2561
static CreateUserMappingStmt *
2562
_readCreateUserMappingStmt(ReadNodeContext *ctx)
2563
0
{
2564
0
  READ_LOCALS(CreateUserMappingStmt);
2565
2566
0
  READ_NODE_FIELD(user);
2567
0
  READ_STRING_FIELD(servername);
2568
0
  READ_BOOL_FIELD(if_not_exists);
2569
0
  READ_NODE_FIELD(options);
2570
2571
0
  READ_DONE();
2572
0
}
2573
2574
static AlterUserMappingStmt *
2575
_readAlterUserMappingStmt(ReadNodeContext *ctx)
2576
0
{
2577
0
  READ_LOCALS(AlterUserMappingStmt);
2578
2579
0
  READ_NODE_FIELD(user);
2580
0
  READ_STRING_FIELD(servername);
2581
0
  READ_NODE_FIELD(options);
2582
2583
0
  READ_DONE();
2584
0
}
2585
2586
static DropUserMappingStmt *
2587
_readDropUserMappingStmt(ReadNodeContext *ctx)
2588
0
{
2589
0
  READ_LOCALS(DropUserMappingStmt);
2590
2591
0
  READ_NODE_FIELD(user);
2592
0
  READ_STRING_FIELD(servername);
2593
0
  READ_BOOL_FIELD(missing_ok);
2594
2595
0
  READ_DONE();
2596
0
}
2597
2598
static ImportForeignSchemaStmt *
2599
_readImportForeignSchemaStmt(ReadNodeContext *ctx)
2600
0
{
2601
0
  READ_LOCALS(ImportForeignSchemaStmt);
2602
2603
0
  READ_STRING_FIELD(server_name);
2604
0
  READ_STRING_FIELD(remote_schema);
2605
0
  READ_STRING_FIELD(local_schema);
2606
0
  READ_ENUM_FIELD(list_type, ImportForeignSchemaType);
2607
0
  READ_NODE_FIELD(table_list);
2608
0
  READ_NODE_FIELD(options);
2609
2610
0
  READ_DONE();
2611
0
}
2612
2613
static CreatePolicyStmt *
2614
_readCreatePolicyStmt(ReadNodeContext *ctx)
2615
0
{
2616
0
  READ_LOCALS(CreatePolicyStmt);
2617
2618
0
  READ_STRING_FIELD(policy_name);
2619
0
  READ_NODE_FIELD(table);
2620
0
  READ_STRING_FIELD(cmd_name);
2621
0
  READ_BOOL_FIELD(permissive);
2622
0
  READ_NODE_FIELD(roles);
2623
0
  READ_NODE_FIELD(qual);
2624
0
  READ_NODE_FIELD(with_check);
2625
2626
0
  READ_DONE();
2627
0
}
2628
2629
static AlterPolicyStmt *
2630
_readAlterPolicyStmt(ReadNodeContext *ctx)
2631
0
{
2632
0
  READ_LOCALS(AlterPolicyStmt);
2633
2634
0
  READ_STRING_FIELD(policy_name);
2635
0
  READ_NODE_FIELD(table);
2636
0
  READ_NODE_FIELD(roles);
2637
0
  READ_NODE_FIELD(qual);
2638
0
  READ_NODE_FIELD(with_check);
2639
2640
0
  READ_DONE();
2641
0
}
2642
2643
static CreateAmStmt *
2644
_readCreateAmStmt(ReadNodeContext *ctx)
2645
0
{
2646
0
  READ_LOCALS(CreateAmStmt);
2647
2648
0
  READ_STRING_FIELD(amname);
2649
0
  READ_NODE_FIELD(handler_name);
2650
0
  READ_CHAR_FIELD(amtype);
2651
2652
0
  READ_DONE();
2653
0
}
2654
2655
static CreateTrigStmt *
2656
_readCreateTrigStmt(ReadNodeContext *ctx)
2657
0
{
2658
0
  READ_LOCALS(CreateTrigStmt);
2659
2660
0
  READ_BOOL_FIELD(replace);
2661
0
  READ_BOOL_FIELD(isconstraint);
2662
0
  READ_STRING_FIELD(trigname);
2663
0
  READ_NODE_FIELD(relation);
2664
0
  READ_NODE_FIELD(funcname);
2665
0
  READ_NODE_FIELD(args);
2666
0
  READ_BOOL_FIELD(row);
2667
0
  READ_INT_FIELD(timing);
2668
0
  READ_INT_FIELD(events);
2669
0
  READ_NODE_FIELD(columns);
2670
0
  READ_NODE_FIELD(whenClause);
2671
0
  READ_NODE_FIELD(transitionRels);
2672
0
  READ_BOOL_FIELD(deferrable);
2673
0
  READ_BOOL_FIELD(initdeferred);
2674
0
  READ_NODE_FIELD(constrrel);
2675
2676
0
  READ_DONE();
2677
0
}
2678
2679
static CreateEventTrigStmt *
2680
_readCreateEventTrigStmt(ReadNodeContext *ctx)
2681
0
{
2682
0
  READ_LOCALS(CreateEventTrigStmt);
2683
2684
0
  READ_STRING_FIELD(trigname);
2685
0
  READ_STRING_FIELD(eventname);
2686
0
  READ_NODE_FIELD(whenclause);
2687
0
  READ_NODE_FIELD(funcname);
2688
2689
0
  READ_DONE();
2690
0
}
2691
2692
static AlterEventTrigStmt *
2693
_readAlterEventTrigStmt(ReadNodeContext *ctx)
2694
0
{
2695
0
  READ_LOCALS(AlterEventTrigStmt);
2696
2697
0
  READ_STRING_FIELD(trigname);
2698
0
  READ_CHAR_FIELD(tgenabled);
2699
2700
0
  READ_DONE();
2701
0
}
2702
2703
static CreatePLangStmt *
2704
_readCreatePLangStmt(ReadNodeContext *ctx)
2705
0
{
2706
0
  READ_LOCALS(CreatePLangStmt);
2707
2708
0
  READ_BOOL_FIELD(replace);
2709
0
  READ_STRING_FIELD(plname);
2710
0
  READ_NODE_FIELD(plhandler);
2711
0
  READ_NODE_FIELD(plinline);
2712
0
  READ_NODE_FIELD(plvalidator);
2713
0
  READ_BOOL_FIELD(pltrusted);
2714
2715
0
  READ_DONE();
2716
0
}
2717
2718
static CreateRoleStmt *
2719
_readCreateRoleStmt(ReadNodeContext *ctx)
2720
0
{
2721
0
  READ_LOCALS(CreateRoleStmt);
2722
2723
0
  READ_ENUM_FIELD(stmt_type, RoleStmtType);
2724
0
  READ_STRING_FIELD(role);
2725
0
  READ_NODE_FIELD(options);
2726
2727
0
  READ_DONE();
2728
0
}
2729
2730
static AlterRoleStmt *
2731
_readAlterRoleStmt(ReadNodeContext *ctx)
2732
0
{
2733
0
  READ_LOCALS(AlterRoleStmt);
2734
2735
0
  READ_NODE_FIELD(role);
2736
0
  READ_NODE_FIELD(options);
2737
0
  READ_INT_FIELD(action);
2738
2739
0
  READ_DONE();
2740
0
}
2741
2742
static AlterRoleSetStmt *
2743
_readAlterRoleSetStmt(ReadNodeContext *ctx)
2744
0
{
2745
0
  READ_LOCALS(AlterRoleSetStmt);
2746
2747
0
  READ_NODE_FIELD(role);
2748
0
  READ_STRING_FIELD(database);
2749
0
  READ_NODE_FIELD(setstmt);
2750
2751
0
  READ_DONE();
2752
0
}
2753
2754
static DropRoleStmt *
2755
_readDropRoleStmt(ReadNodeContext *ctx)
2756
0
{
2757
0
  READ_LOCALS(DropRoleStmt);
2758
2759
0
  READ_NODE_FIELD(roles);
2760
0
  READ_BOOL_FIELD(missing_ok);
2761
2762
0
  READ_DONE();
2763
0
}
2764
2765
static CreateSeqStmt *
2766
_readCreateSeqStmt(ReadNodeContext *ctx)
2767
0
{
2768
0
  READ_LOCALS(CreateSeqStmt);
2769
2770
0
  READ_NODE_FIELD(sequence);
2771
0
  READ_NODE_FIELD(options);
2772
0
  READ_OID_FIELD(ownerId);
2773
0
  READ_BOOL_FIELD(for_identity);
2774
0
  READ_BOOL_FIELD(if_not_exists);
2775
2776
0
  READ_DONE();
2777
0
}
2778
2779
static AlterSeqStmt *
2780
_readAlterSeqStmt(ReadNodeContext *ctx)
2781
0
{
2782
0
  READ_LOCALS(AlterSeqStmt);
2783
2784
0
  READ_NODE_FIELD(sequence);
2785
0
  READ_NODE_FIELD(options);
2786
0
  READ_BOOL_FIELD(for_identity);
2787
0
  READ_BOOL_FIELD(missing_ok);
2788
2789
0
  READ_DONE();
2790
0
}
2791
2792
static DefineStmt *
2793
_readDefineStmt(ReadNodeContext *ctx)
2794
0
{
2795
0
  READ_LOCALS(DefineStmt);
2796
2797
0
  READ_ENUM_FIELD(kind, ObjectType);
2798
0
  READ_BOOL_FIELD(oldstyle);
2799
0
  READ_NODE_FIELD(defnames);
2800
0
  READ_NODE_FIELD(args);
2801
0
  READ_NODE_FIELD(definition);
2802
0
  READ_BOOL_FIELD(if_not_exists);
2803
0
  READ_BOOL_FIELD(replace);
2804
2805
0
  READ_DONE();
2806
0
}
2807
2808
static CreateDomainStmt *
2809
_readCreateDomainStmt(ReadNodeContext *ctx)
2810
0
{
2811
0
  READ_LOCALS(CreateDomainStmt);
2812
2813
0
  READ_NODE_FIELD(domainname);
2814
0
  READ_NODE_FIELD(typeName);
2815
0
  READ_NODE_FIELD(collClause);
2816
0
  READ_NODE_FIELD(constraints);
2817
2818
0
  READ_DONE();
2819
0
}
2820
2821
static CreateOpClassStmt *
2822
_readCreateOpClassStmt(ReadNodeContext *ctx)
2823
0
{
2824
0
  READ_LOCALS(CreateOpClassStmt);
2825
2826
0
  READ_NODE_FIELD(opclassname);
2827
0
  READ_NODE_FIELD(opfamilyname);
2828
0
  READ_STRING_FIELD(amname);
2829
0
  READ_NODE_FIELD(datatype);
2830
0
  READ_NODE_FIELD(items);
2831
0
  READ_BOOL_FIELD(isDefault);
2832
2833
0
  READ_DONE();
2834
0
}
2835
2836
static CreateOpClassItem *
2837
_readCreateOpClassItem(ReadNodeContext *ctx)
2838
0
{
2839
0
  READ_LOCALS(CreateOpClassItem);
2840
2841
0
  READ_INT_FIELD(itemtype);
2842
0
  READ_NODE_FIELD(name);
2843
0
  READ_INT_FIELD(number);
2844
0
  READ_NODE_FIELD(order_family);
2845
0
  READ_NODE_FIELD(class_args);
2846
0
  READ_NODE_FIELD(storedtype);
2847
2848
0
  READ_DONE();
2849
0
}
2850
2851
static CreateOpFamilyStmt *
2852
_readCreateOpFamilyStmt(ReadNodeContext *ctx)
2853
0
{
2854
0
  READ_LOCALS(CreateOpFamilyStmt);
2855
2856
0
  READ_NODE_FIELD(opfamilyname);
2857
0
  READ_STRING_FIELD(amname);
2858
2859
0
  READ_DONE();
2860
0
}
2861
2862
static AlterOpFamilyStmt *
2863
_readAlterOpFamilyStmt(ReadNodeContext *ctx)
2864
0
{
2865
0
  READ_LOCALS(AlterOpFamilyStmt);
2866
2867
0
  READ_NODE_FIELD(opfamilyname);
2868
0
  READ_STRING_FIELD(amname);
2869
0
  READ_BOOL_FIELD(isDrop);
2870
0
  READ_NODE_FIELD(items);
2871
2872
0
  READ_DONE();
2873
0
}
2874
2875
static DropStmt *
2876
_readDropStmt(ReadNodeContext *ctx)
2877
0
{
2878
0
  READ_LOCALS(DropStmt);
2879
2880
0
  READ_NODE_FIELD(objects);
2881
0
  READ_ENUM_FIELD(removeType, ObjectType);
2882
0
  READ_ENUM_FIELD(behavior, DropBehavior);
2883
0
  READ_BOOL_FIELD(missing_ok);
2884
0
  READ_BOOL_FIELD(concurrent);
2885
2886
0
  READ_DONE();
2887
0
}
2888
2889
static TruncateStmt *
2890
_readTruncateStmt(ReadNodeContext *ctx)
2891
0
{
2892
0
  READ_LOCALS(TruncateStmt);
2893
2894
0
  READ_NODE_FIELD(relations);
2895
0
  READ_BOOL_FIELD(restart_seqs);
2896
0
  READ_ENUM_FIELD(behavior, DropBehavior);
2897
2898
0
  READ_DONE();
2899
0
}
2900
2901
static CommentStmt *
2902
_readCommentStmt(ReadNodeContext *ctx)
2903
0
{
2904
0
  READ_LOCALS(CommentStmt);
2905
2906
0
  READ_ENUM_FIELD(objtype, ObjectType);
2907
0
  READ_NODE_FIELD(object);
2908
0
  READ_STRING_FIELD(comment);
2909
2910
0
  READ_DONE();
2911
0
}
2912
2913
static SecLabelStmt *
2914
_readSecLabelStmt(ReadNodeContext *ctx)
2915
0
{
2916
0
  READ_LOCALS(SecLabelStmt);
2917
2918
0
  READ_ENUM_FIELD(objtype, ObjectType);
2919
0
  READ_NODE_FIELD(object);
2920
0
  READ_STRING_FIELD(provider);
2921
0
  READ_STRING_FIELD(label);
2922
2923
0
  READ_DONE();
2924
0
}
2925
2926
static DeclareCursorStmt *
2927
_readDeclareCursorStmt(ReadNodeContext *ctx)
2928
0
{
2929
0
  READ_LOCALS(DeclareCursorStmt);
2930
2931
0
  READ_STRING_FIELD(portalname);
2932
0
  READ_INT_FIELD(options);
2933
0
  READ_NODE_FIELD(query);
2934
2935
0
  READ_DONE();
2936
0
}
2937
2938
static ClosePortalStmt *
2939
_readClosePortalStmt(ReadNodeContext *ctx)
2940
0
{
2941
0
  READ_LOCALS(ClosePortalStmt);
2942
2943
0
  READ_STRING_FIELD(portalname);
2944
2945
0
  READ_DONE();
2946
0
}
2947
2948
static FetchStmt *
2949
_readFetchStmt(ReadNodeContext *ctx)
2950
0
{
2951
0
  READ_LOCALS(FetchStmt);
2952
2953
0
  READ_ENUM_FIELD(direction, FetchDirection);
2954
0
  READ_LONG_FIELD(howMany);
2955
0
  READ_STRING_FIELD(portalname);
2956
0
  READ_BOOL_FIELD(ismove);
2957
0
  READ_ENUM_FIELD(direction_keyword, FetchDirectionKeywords);
2958
0
  READ_LOCATION_FIELD(location);
2959
2960
0
  READ_DONE();
2961
0
}
2962
2963
static IndexStmt *
2964
_readIndexStmt(ReadNodeContext *ctx)
2965
0
{
2966
0
  READ_LOCALS(IndexStmt);
2967
2968
0
  READ_STRING_FIELD(idxname);
2969
0
  READ_NODE_FIELD(relation);
2970
0
  READ_STRING_FIELD(accessMethod);
2971
0
  READ_STRING_FIELD(tableSpace);
2972
0
  READ_NODE_FIELD(indexParams);
2973
0
  READ_NODE_FIELD(indexIncludingParams);
2974
0
  READ_NODE_FIELD(options);
2975
0
  READ_NODE_FIELD(whereClause);
2976
0
  READ_NODE_FIELD(excludeOpNames);
2977
0
  READ_STRING_FIELD(idxcomment);
2978
0
  READ_OID_FIELD(indexOid);
2979
0
  READ_OID_FIELD(oldNumber);
2980
0
  READ_UINT_FIELD(oldCreateSubid);
2981
0
  READ_UINT_FIELD(oldFirstRelfilelocatorSubid);
2982
0
  READ_BOOL_FIELD(unique);
2983
0
  READ_BOOL_FIELD(nulls_not_distinct);
2984
0
  READ_BOOL_FIELD(primary);
2985
0
  READ_BOOL_FIELD(isconstraint);
2986
0
  READ_BOOL_FIELD(iswithoutoverlaps);
2987
0
  READ_BOOL_FIELD(deferrable);
2988
0
  READ_BOOL_FIELD(initdeferred);
2989
0
  READ_BOOL_FIELD(transformed);
2990
0
  READ_BOOL_FIELD(concurrent);
2991
0
  READ_BOOL_FIELD(if_not_exists);
2992
0
  READ_BOOL_FIELD(reset_default_tblspc);
2993
2994
0
  READ_DONE();
2995
0
}
2996
2997
static CreateStatsStmt *
2998
_readCreateStatsStmt(ReadNodeContext *ctx)
2999
0
{
3000
0
  READ_LOCALS(CreateStatsStmt);
3001
3002
0
  READ_NODE_FIELD(defnames);
3003
0
  READ_NODE_FIELD(stat_types);
3004
0
  READ_NODE_FIELD(exprs);
3005
0
  READ_NODE_FIELD(relations);
3006
0
  READ_STRING_FIELD(stxcomment);
3007
0
  READ_BOOL_FIELD(transformed);
3008
0
  READ_BOOL_FIELD(if_not_exists);
3009
0
  READ_OID_FIELD(owner);
3010
3011
0
  READ_DONE();
3012
0
}
3013
3014
static StatsElem *
3015
_readStatsElem(ReadNodeContext *ctx)
3016
0
{
3017
0
  READ_LOCALS(StatsElem);
3018
3019
0
  READ_STRING_FIELD(name);
3020
0
  READ_NODE_FIELD(expr);
3021
3022
0
  READ_DONE();
3023
0
}
3024
3025
static AlterStatsStmt *
3026
_readAlterStatsStmt(ReadNodeContext *ctx)
3027
0
{
3028
0
  READ_LOCALS(AlterStatsStmt);
3029
3030
0
  READ_NODE_FIELD(defnames);
3031
0
  READ_NODE_FIELD(stxstattarget);
3032
0
  READ_BOOL_FIELD(missing_ok);
3033
3034
0
  READ_DONE();
3035
0
}
3036
3037
static CreateFunctionStmt *
3038
_readCreateFunctionStmt(ReadNodeContext *ctx)
3039
0
{
3040
0
  READ_LOCALS(CreateFunctionStmt);
3041
3042
0
  READ_BOOL_FIELD(is_procedure);
3043
0
  READ_BOOL_FIELD(replace);
3044
0
  READ_NODE_FIELD(funcname);
3045
0
  READ_NODE_FIELD(parameters);
3046
0
  READ_NODE_FIELD(returnType);
3047
0
  READ_NODE_FIELD(options);
3048
0
  READ_NODE_FIELD(sql_body);
3049
3050
0
  READ_DONE();
3051
0
}
3052
3053
static FunctionParameter *
3054
_readFunctionParameter(ReadNodeContext *ctx)
3055
0
{
3056
0
  READ_LOCALS(FunctionParameter);
3057
3058
0
  READ_STRING_FIELD(name);
3059
0
  READ_NODE_FIELD(argType);
3060
0
  READ_ENUM_FIELD(mode, FunctionParameterMode);
3061
0
  READ_NODE_FIELD(defexpr);
3062
0
  READ_LOCATION_FIELD(location);
3063
3064
0
  READ_DONE();
3065
0
}
3066
3067
static AlterFunctionStmt *
3068
_readAlterFunctionStmt(ReadNodeContext *ctx)
3069
0
{
3070
0
  READ_LOCALS(AlterFunctionStmt);
3071
3072
0
  READ_ENUM_FIELD(objtype, ObjectType);
3073
0
  READ_NODE_FIELD(func);
3074
0
  READ_NODE_FIELD(actions);
3075
3076
0
  READ_DONE();
3077
0
}
3078
3079
static DoStmt *
3080
_readDoStmt(ReadNodeContext *ctx)
3081
0
{
3082
0
  READ_LOCALS(DoStmt);
3083
3084
0
  READ_NODE_FIELD(args);
3085
3086
0
  READ_DONE();
3087
0
}
3088
3089
static CallStmt *
3090
_readCallStmt(ReadNodeContext *ctx)
3091
0
{
3092
0
  READ_LOCALS(CallStmt);
3093
3094
0
  READ_NODE_FIELD(funccall);
3095
0
  READ_NODE_FIELD(funcexpr);
3096
0
  READ_NODE_FIELD(outargs);
3097
3098
0
  READ_DONE();
3099
0
}
3100
3101
static RenameStmt *
3102
_readRenameStmt(ReadNodeContext *ctx)
3103
0
{
3104
0
  READ_LOCALS(RenameStmt);
3105
3106
0
  READ_ENUM_FIELD(renameType, ObjectType);
3107
0
  READ_ENUM_FIELD(relationType, ObjectType);
3108
0
  READ_NODE_FIELD(relation);
3109
0
  READ_NODE_FIELD(object);
3110
0
  READ_STRING_FIELD(subname);
3111
0
  READ_STRING_FIELD(newname);
3112
0
  READ_ENUM_FIELD(behavior, DropBehavior);
3113
0
  READ_BOOL_FIELD(missing_ok);
3114
3115
0
  READ_DONE();
3116
0
}
3117
3118
static AlterObjectDependsStmt *
3119
_readAlterObjectDependsStmt(ReadNodeContext *ctx)
3120
0
{
3121
0
  READ_LOCALS(AlterObjectDependsStmt);
3122
3123
0
  READ_ENUM_FIELD(objectType, ObjectType);
3124
0
  READ_NODE_FIELD(relation);
3125
0
  READ_NODE_FIELD(object);
3126
0
  READ_NODE_FIELD(extname);
3127
0
  READ_BOOL_FIELD(remove);
3128
3129
0
  READ_DONE();
3130
0
}
3131
3132
static AlterObjectSchemaStmt *
3133
_readAlterObjectSchemaStmt(ReadNodeContext *ctx)
3134
0
{
3135
0
  READ_LOCALS(AlterObjectSchemaStmt);
3136
3137
0
  READ_ENUM_FIELD(objectType, ObjectType);
3138
0
  READ_NODE_FIELD(relation);
3139
0
  READ_NODE_FIELD(object);
3140
0
  READ_STRING_FIELD(newschema);
3141
0
  READ_BOOL_FIELD(missing_ok);
3142
3143
0
  READ_DONE();
3144
0
}
3145
3146
static AlterOwnerStmt *
3147
_readAlterOwnerStmt(ReadNodeContext *ctx)
3148
0
{
3149
0
  READ_LOCALS(AlterOwnerStmt);
3150
3151
0
  READ_ENUM_FIELD(objectType, ObjectType);
3152
0
  READ_NODE_FIELD(relation);
3153
0
  READ_NODE_FIELD(object);
3154
0
  READ_NODE_FIELD(newowner);
3155
3156
0
  READ_DONE();
3157
0
}
3158
3159
static AlterOperatorStmt *
3160
_readAlterOperatorStmt(ReadNodeContext *ctx)
3161
0
{
3162
0
  READ_LOCALS(AlterOperatorStmt);
3163
3164
0
  READ_NODE_FIELD(opername);
3165
0
  READ_NODE_FIELD(options);
3166
3167
0
  READ_DONE();
3168
0
}
3169
3170
static AlterTypeStmt *
3171
_readAlterTypeStmt(ReadNodeContext *ctx)
3172
0
{
3173
0
  READ_LOCALS(AlterTypeStmt);
3174
3175
0
  READ_NODE_FIELD(typeName);
3176
0
  READ_NODE_FIELD(options);
3177
3178
0
  READ_DONE();
3179
0
}
3180
3181
static RuleStmt *
3182
_readRuleStmt(ReadNodeContext *ctx)
3183
0
{
3184
0
  READ_LOCALS(RuleStmt);
3185
3186
0
  READ_NODE_FIELD(relation);
3187
0
  READ_STRING_FIELD(rulename);
3188
0
  READ_NODE_FIELD(whereClause);
3189
0
  READ_ENUM_FIELD(event, CmdType);
3190
0
  READ_BOOL_FIELD(instead);
3191
0
  READ_NODE_FIELD(actions);
3192
0
  READ_BOOL_FIELD(replace);
3193
3194
0
  READ_DONE();
3195
0
}
3196
3197
static NotifyStmt *
3198
_readNotifyStmt(ReadNodeContext *ctx)
3199
0
{
3200
0
  READ_LOCALS(NotifyStmt);
3201
3202
0
  READ_STRING_FIELD(conditionname);
3203
0
  READ_STRING_FIELD(payload);
3204
3205
0
  READ_DONE();
3206
0
}
3207
3208
static ListenStmt *
3209
_readListenStmt(ReadNodeContext *ctx)
3210
0
{
3211
0
  READ_LOCALS(ListenStmt);
3212
3213
0
  READ_STRING_FIELD(conditionname);
3214
3215
0
  READ_DONE();
3216
0
}
3217
3218
static UnlistenStmt *
3219
_readUnlistenStmt(ReadNodeContext *ctx)
3220
0
{
3221
0
  READ_LOCALS(UnlistenStmt);
3222
3223
0
  READ_STRING_FIELD(conditionname);
3224
3225
0
  READ_DONE();
3226
0
}
3227
3228
static TransactionStmt *
3229
_readTransactionStmt(ReadNodeContext *ctx)
3230
0
{
3231
0
  READ_LOCALS(TransactionStmt);
3232
3233
0
  READ_ENUM_FIELD(kind, TransactionStmtKind);
3234
0
  READ_NODE_FIELD(options);
3235
0
  READ_STRING_FIELD(savepoint_name);
3236
0
  READ_STRING_FIELD(gid);
3237
0
  READ_BOOL_FIELD(chain);
3238
0
  READ_LOCATION_FIELD(location);
3239
3240
0
  READ_DONE();
3241
0
}
3242
3243
static CompositeTypeStmt *
3244
_readCompositeTypeStmt(ReadNodeContext *ctx)
3245
0
{
3246
0
  READ_LOCALS(CompositeTypeStmt);
3247
3248
0
  READ_NODE_FIELD(typevar);
3249
0
  READ_NODE_FIELD(coldeflist);
3250
3251
0
  READ_DONE();
3252
0
}
3253
3254
static CreateEnumStmt *
3255
_readCreateEnumStmt(ReadNodeContext *ctx)
3256
0
{
3257
0
  READ_LOCALS(CreateEnumStmt);
3258
3259
0
  READ_NODE_FIELD(typeName);
3260
0
  READ_NODE_FIELD(vals);
3261
3262
0
  READ_DONE();
3263
0
}
3264
3265
static CreateRangeStmt *
3266
_readCreateRangeStmt(ReadNodeContext *ctx)
3267
0
{
3268
0
  READ_LOCALS(CreateRangeStmt);
3269
3270
0
  READ_NODE_FIELD(typeName);
3271
0
  READ_NODE_FIELD(params);
3272
3273
0
  READ_DONE();
3274
0
}
3275
3276
static AlterEnumStmt *
3277
_readAlterEnumStmt(ReadNodeContext *ctx)
3278
0
{
3279
0
  READ_LOCALS(AlterEnumStmt);
3280
3281
0
  READ_NODE_FIELD(typeName);
3282
0
  READ_STRING_FIELD(oldVal);
3283
0
  READ_STRING_FIELD(newVal);
3284
0
  READ_STRING_FIELD(newValNeighbor);
3285
0
  READ_BOOL_FIELD(newValIsAfter);
3286
0
  READ_BOOL_FIELD(skipIfNewValExists);
3287
3288
0
  READ_DONE();
3289
0
}
3290
3291
static ViewStmt *
3292
_readViewStmt(ReadNodeContext *ctx)
3293
0
{
3294
0
  READ_LOCALS(ViewStmt);
3295
3296
0
  READ_NODE_FIELD(view);
3297
0
  READ_NODE_FIELD(aliases);
3298
0
  READ_NODE_FIELD(query);
3299
0
  READ_BOOL_FIELD(replace);
3300
0
  READ_NODE_FIELD(options);
3301
0
  READ_ENUM_FIELD(withCheckOption, ViewCheckOption);
3302
3303
0
  READ_DONE();
3304
0
}
3305
3306
static LoadStmt *
3307
_readLoadStmt(ReadNodeContext *ctx)
3308
0
{
3309
0
  READ_LOCALS(LoadStmt);
3310
3311
0
  READ_STRING_FIELD(filename);
3312
3313
0
  READ_DONE();
3314
0
}
3315
3316
static CreatedbStmt *
3317
_readCreatedbStmt(ReadNodeContext *ctx)
3318
0
{
3319
0
  READ_LOCALS(CreatedbStmt);
3320
3321
0
  READ_STRING_FIELD(dbname);
3322
0
  READ_NODE_FIELD(options);
3323
3324
0
  READ_DONE();
3325
0
}
3326
3327
static AlterDatabaseStmt *
3328
_readAlterDatabaseStmt(ReadNodeContext *ctx)
3329
0
{
3330
0
  READ_LOCALS(AlterDatabaseStmt);
3331
3332
0
  READ_STRING_FIELD(dbname);
3333
0
  READ_NODE_FIELD(options);
3334
3335
0
  READ_DONE();
3336
0
}
3337
3338
static AlterDatabaseRefreshCollStmt *
3339
_readAlterDatabaseRefreshCollStmt(ReadNodeContext *ctx)
3340
0
{
3341
0
  READ_LOCALS(AlterDatabaseRefreshCollStmt);
3342
3343
0
  READ_STRING_FIELD(dbname);
3344
3345
0
  READ_DONE();
3346
0
}
3347
3348
static AlterDatabaseSetStmt *
3349
_readAlterDatabaseSetStmt(ReadNodeContext *ctx)
3350
0
{
3351
0
  READ_LOCALS(AlterDatabaseSetStmt);
3352
3353
0
  READ_STRING_FIELD(dbname);
3354
0
  READ_NODE_FIELD(setstmt);
3355
3356
0
  READ_DONE();
3357
0
}
3358
3359
static DropdbStmt *
3360
_readDropdbStmt(ReadNodeContext *ctx)
3361
0
{
3362
0
  READ_LOCALS(DropdbStmt);
3363
3364
0
  READ_STRING_FIELD(dbname);
3365
0
  READ_BOOL_FIELD(missing_ok);
3366
0
  READ_NODE_FIELD(options);
3367
3368
0
  READ_DONE();
3369
0
}
3370
3371
static AlterSystemStmt *
3372
_readAlterSystemStmt(ReadNodeContext *ctx)
3373
0
{
3374
0
  READ_LOCALS(AlterSystemStmt);
3375
3376
0
  READ_NODE_FIELD(setstmt);
3377
3378
0
  READ_DONE();
3379
0
}
3380
3381
static VacuumStmt *
3382
_readVacuumStmt(ReadNodeContext *ctx)
3383
0
{
3384
0
  READ_LOCALS(VacuumStmt);
3385
3386
0
  READ_NODE_FIELD(options);
3387
0
  READ_NODE_FIELD(rels);
3388
0
  READ_BOOL_FIELD(is_vacuumcmd);
3389
3390
0
  READ_DONE();
3391
0
}
3392
3393
static VacuumRelation *
3394
_readVacuumRelation(ReadNodeContext *ctx)
3395
0
{
3396
0
  READ_LOCALS(VacuumRelation);
3397
3398
0
  READ_NODE_FIELD(relation);
3399
0
  READ_OID_FIELD(oid);
3400
0
  READ_NODE_FIELD(va_cols);
3401
3402
0
  READ_DONE();
3403
0
}
3404
3405
static RepackStmt *
3406
_readRepackStmt(ReadNodeContext *ctx)
3407
0
{
3408
0
  READ_LOCALS(RepackStmt);
3409
3410
0
  READ_ENUM_FIELD(command, RepackCommand);
3411
0
  READ_NODE_FIELD(relation);
3412
0
  READ_STRING_FIELD(indexname);
3413
0
  READ_BOOL_FIELD(usingindex);
3414
0
  READ_NODE_FIELD(params);
3415
3416
0
  READ_DONE();
3417
0
}
3418
3419
static ExplainStmt *
3420
_readExplainStmt(ReadNodeContext *ctx)
3421
0
{
3422
0
  READ_LOCALS(ExplainStmt);
3423
3424
0
  READ_NODE_FIELD(query);
3425
0
  READ_NODE_FIELD(options);
3426
3427
0
  READ_DONE();
3428
0
}
3429
3430
static CreateTableAsStmt *
3431
_readCreateTableAsStmt(ReadNodeContext *ctx)
3432
0
{
3433
0
  READ_LOCALS(CreateTableAsStmt);
3434
3435
0
  READ_NODE_FIELD(query);
3436
0
  READ_NODE_FIELD(into);
3437
0
  READ_ENUM_FIELD(objtype, ObjectType);
3438
0
  READ_BOOL_FIELD(is_select_into);
3439
0
  READ_BOOL_FIELD(if_not_exists);
3440
3441
0
  READ_DONE();
3442
0
}
3443
3444
static RefreshMatViewStmt *
3445
_readRefreshMatViewStmt(ReadNodeContext *ctx)
3446
0
{
3447
0
  READ_LOCALS(RefreshMatViewStmt);
3448
3449
0
  READ_BOOL_FIELD(concurrent);
3450
0
  READ_BOOL_FIELD(skipData);
3451
0
  READ_NODE_FIELD(relation);
3452
3453
0
  READ_DONE();
3454
0
}
3455
3456
static CheckPointStmt *
3457
_readCheckPointStmt(ReadNodeContext *ctx)
3458
0
{
3459
0
  READ_LOCALS(CheckPointStmt);
3460
3461
0
  READ_NODE_FIELD(options);
3462
3463
0
  READ_DONE();
3464
0
}
3465
3466
static DiscardStmt *
3467
_readDiscardStmt(ReadNodeContext *ctx)
3468
0
{
3469
0
  READ_LOCALS(DiscardStmt);
3470
3471
0
  READ_ENUM_FIELD(target, DiscardMode);
3472
3473
0
  READ_DONE();
3474
0
}
3475
3476
static LockStmt *
3477
_readLockStmt(ReadNodeContext *ctx)
3478
0
{
3479
0
  READ_LOCALS(LockStmt);
3480
3481
0
  READ_NODE_FIELD(relations);
3482
0
  READ_INT_FIELD(mode);
3483
0
  READ_BOOL_FIELD(nowait);
3484
3485
0
  READ_DONE();
3486
0
}
3487
3488
static ConstraintsSetStmt *
3489
_readConstraintsSetStmt(ReadNodeContext *ctx)
3490
0
{
3491
0
  READ_LOCALS(ConstraintsSetStmt);
3492
3493
0
  READ_NODE_FIELD(constraints);
3494
0
  READ_BOOL_FIELD(deferred);
3495
3496
0
  READ_DONE();
3497
0
}
3498
3499
static ReindexStmt *
3500
_readReindexStmt(ReadNodeContext *ctx)
3501
0
{
3502
0
  READ_LOCALS(ReindexStmt);
3503
3504
0
  READ_ENUM_FIELD(kind, ReindexObjectType);
3505
0
  READ_NODE_FIELD(relation);
3506
0
  READ_STRING_FIELD(name);
3507
0
  READ_NODE_FIELD(params);
3508
3509
0
  READ_DONE();
3510
0
}
3511
3512
static CreateConversionStmt *
3513
_readCreateConversionStmt(ReadNodeContext *ctx)
3514
0
{
3515
0
  READ_LOCALS(CreateConversionStmt);
3516
3517
0
  READ_NODE_FIELD(conversion_name);
3518
0
  READ_STRING_FIELD(for_encoding_name);
3519
0
  READ_STRING_FIELD(to_encoding_name);
3520
0
  READ_NODE_FIELD(func_name);
3521
0
  READ_BOOL_FIELD(def);
3522
3523
0
  READ_DONE();
3524
0
}
3525
3526
static CreateCastStmt *
3527
_readCreateCastStmt(ReadNodeContext *ctx)
3528
0
{
3529
0
  READ_LOCALS(CreateCastStmt);
3530
3531
0
  READ_NODE_FIELD(sourcetype);
3532
0
  READ_NODE_FIELD(targettype);
3533
0
  READ_NODE_FIELD(func);
3534
0
  READ_ENUM_FIELD(context, CoercionContext);
3535
0
  READ_BOOL_FIELD(inout);
3536
3537
0
  READ_DONE();
3538
0
}
3539
3540
static CreateTransformStmt *
3541
_readCreateTransformStmt(ReadNodeContext *ctx)
3542
0
{
3543
0
  READ_LOCALS(CreateTransformStmt);
3544
3545
0
  READ_BOOL_FIELD(replace);
3546
0
  READ_NODE_FIELD(type_name);
3547
0
  READ_STRING_FIELD(lang);
3548
0
  READ_NODE_FIELD(fromsql);
3549
0
  READ_NODE_FIELD(tosql);
3550
3551
0
  READ_DONE();
3552
0
}
3553
3554
static PrepareStmt *
3555
_readPrepareStmt(ReadNodeContext *ctx)
3556
0
{
3557
0
  READ_LOCALS(PrepareStmt);
3558
3559
0
  READ_STRING_FIELD(name);
3560
0
  READ_NODE_FIELD(argtypes);
3561
0
  READ_NODE_FIELD(query);
3562
3563
0
  READ_DONE();
3564
0
}
3565
3566
static ExecuteStmt *
3567
_readExecuteStmt(ReadNodeContext *ctx)
3568
0
{
3569
0
  READ_LOCALS(ExecuteStmt);
3570
3571
0
  READ_STRING_FIELD(name);
3572
0
  READ_NODE_FIELD(params);
3573
3574
0
  READ_DONE();
3575
0
}
3576
3577
static DeallocateStmt *
3578
_readDeallocateStmt(ReadNodeContext *ctx)
3579
0
{
3580
0
  READ_LOCALS(DeallocateStmt);
3581
3582
0
  READ_STRING_FIELD(name);
3583
0
  READ_BOOL_FIELD(isall);
3584
0
  READ_LOCATION_FIELD(location);
3585
3586
0
  READ_DONE();
3587
0
}
3588
3589
static DropOwnedStmt *
3590
_readDropOwnedStmt(ReadNodeContext *ctx)
3591
0
{
3592
0
  READ_LOCALS(DropOwnedStmt);
3593
3594
0
  READ_NODE_FIELD(roles);
3595
0
  READ_ENUM_FIELD(behavior, DropBehavior);
3596
3597
0
  READ_DONE();
3598
0
}
3599
3600
static ReassignOwnedStmt *
3601
_readReassignOwnedStmt(ReadNodeContext *ctx)
3602
0
{
3603
0
  READ_LOCALS(ReassignOwnedStmt);
3604
3605
0
  READ_NODE_FIELD(roles);
3606
0
  READ_NODE_FIELD(newrole);
3607
3608
0
  READ_DONE();
3609
0
}
3610
3611
static AlterTSDictionaryStmt *
3612
_readAlterTSDictionaryStmt(ReadNodeContext *ctx)
3613
0
{
3614
0
  READ_LOCALS(AlterTSDictionaryStmt);
3615
3616
0
  READ_NODE_FIELD(dictname);
3617
0
  READ_NODE_FIELD(options);
3618
3619
0
  READ_DONE();
3620
0
}
3621
3622
static AlterTSConfigurationStmt *
3623
_readAlterTSConfigurationStmt(ReadNodeContext *ctx)
3624
0
{
3625
0
  READ_LOCALS(AlterTSConfigurationStmt);
3626
3627
0
  READ_ENUM_FIELD(kind, AlterTSConfigType);
3628
0
  READ_NODE_FIELD(cfgname);
3629
0
  READ_NODE_FIELD(tokentype);
3630
0
  READ_NODE_FIELD(dicts);
3631
0
  READ_BOOL_FIELD(override);
3632
0
  READ_BOOL_FIELD(replace);
3633
0
  READ_BOOL_FIELD(missing_ok);
3634
3635
0
  READ_DONE();
3636
0
}
3637
3638
static PublicationTable *
3639
_readPublicationTable(ReadNodeContext *ctx)
3640
0
{
3641
0
  READ_LOCALS(PublicationTable);
3642
3643
0
  READ_NODE_FIELD(relation);
3644
0
  READ_NODE_FIELD(whereClause);
3645
0
  READ_NODE_FIELD(columns);
3646
0
  READ_BOOL_FIELD(except);
3647
3648
0
  READ_DONE();
3649
0
}
3650
3651
static PublicationObjSpec *
3652
_readPublicationObjSpec(ReadNodeContext *ctx)
3653
0
{
3654
0
  READ_LOCALS(PublicationObjSpec);
3655
3656
0
  READ_ENUM_FIELD(pubobjtype, PublicationObjSpecType);
3657
0
  READ_STRING_FIELD(name);
3658
0
  READ_NODE_FIELD(pubtable);
3659
0
  READ_LOCATION_FIELD(location);
3660
3661
0
  READ_DONE();
3662
0
}
3663
3664
static PublicationAllObjSpec *
3665
_readPublicationAllObjSpec(ReadNodeContext *ctx)
3666
0
{
3667
0
  READ_LOCALS(PublicationAllObjSpec);
3668
3669
0
  READ_ENUM_FIELD(pubobjtype, PublicationAllObjType);
3670
0
  READ_NODE_FIELD(except_tables);
3671
0
  READ_LOCATION_FIELD(location);
3672
3673
0
  READ_DONE();
3674
0
}
3675
3676
static CreatePublicationStmt *
3677
_readCreatePublicationStmt(ReadNodeContext *ctx)
3678
0
{
3679
0
  READ_LOCALS(CreatePublicationStmt);
3680
3681
0
  READ_STRING_FIELD(pubname);
3682
0
  READ_NODE_FIELD(options);
3683
0
  READ_NODE_FIELD(pubobjects);
3684
0
  READ_BOOL_FIELD(for_all_tables);
3685
0
  READ_BOOL_FIELD(for_all_sequences);
3686
3687
0
  READ_DONE();
3688
0
}
3689
3690
static AlterPublicationStmt *
3691
_readAlterPublicationStmt(ReadNodeContext *ctx)
3692
0
{
3693
0
  READ_LOCALS(AlterPublicationStmt);
3694
3695
0
  READ_STRING_FIELD(pubname);
3696
0
  READ_NODE_FIELD(options);
3697
0
  READ_NODE_FIELD(pubobjects);
3698
0
  READ_ENUM_FIELD(action, AlterPublicationAction);
3699
0
  READ_BOOL_FIELD(for_all_tables);
3700
0
  READ_BOOL_FIELD(for_all_sequences);
3701
3702
0
  READ_DONE();
3703
0
}
3704
3705
static CreateSubscriptionStmt *
3706
_readCreateSubscriptionStmt(ReadNodeContext *ctx)
3707
0
{
3708
0
  READ_LOCALS(CreateSubscriptionStmt);
3709
3710
0
  READ_STRING_FIELD(subname);
3711
0
  READ_STRING_FIELD(servername);
3712
0
  READ_STRING_FIELD(conninfo);
3713
0
  READ_NODE_FIELD(publication);
3714
0
  READ_NODE_FIELD(options);
3715
3716
0
  READ_DONE();
3717
0
}
3718
3719
static AlterSubscriptionStmt *
3720
_readAlterSubscriptionStmt(ReadNodeContext *ctx)
3721
0
{
3722
0
  READ_LOCALS(AlterSubscriptionStmt);
3723
3724
0
  READ_ENUM_FIELD(kind, AlterSubscriptionType);
3725
0
  READ_STRING_FIELD(subname);
3726
0
  READ_STRING_FIELD(servername);
3727
0
  READ_STRING_FIELD(conninfo);
3728
0
  READ_NODE_FIELD(publication);
3729
0
  READ_NODE_FIELD(options);
3730
3731
0
  READ_DONE();
3732
0
}
3733
3734
static DropSubscriptionStmt *
3735
_readDropSubscriptionStmt(ReadNodeContext *ctx)
3736
0
{
3737
0
  READ_LOCALS(DropSubscriptionStmt);
3738
3739
0
  READ_STRING_FIELD(subname);
3740
0
  READ_BOOL_FIELD(missing_ok);
3741
0
  READ_ENUM_FIELD(behavior, DropBehavior);
3742
3743
0
  READ_DONE();
3744
0
}
3745
3746
static WaitStmt *
3747
_readWaitStmt(ReadNodeContext *ctx)
3748
0
{
3749
0
  READ_LOCALS(WaitStmt);
3750
3751
0
  READ_STRING_FIELD(lsn_literal);
3752
0
  READ_NODE_FIELD(options);
3753
0
  READ_LOCATION_FIELD(lsn_location);
3754
3755
0
  READ_DONE();
3756
0
}
3757
3758
static GroupByOrdering *
3759
_readGroupByOrdering(ReadNodeContext *ctx)
3760
0
{
3761
0
  READ_LOCALS(GroupByOrdering);
3762
3763
0
  READ_NODE_FIELD(pathkeys);
3764
0
  READ_NODE_FIELD(clauses);
3765
3766
0
  READ_DONE();
3767
0
}
3768
3769
static PlaceHolderVar *
3770
_readPlaceHolderVar(ReadNodeContext *ctx)
3771
0
{
3772
0
  READ_LOCALS(PlaceHolderVar);
3773
3774
0
  READ_NODE_FIELD(phexpr);
3775
0
  READ_BITMAPSET_FIELD(phrels);
3776
0
  READ_BITMAPSET_FIELD(phnullingrels);
3777
0
  READ_UINT_FIELD(phid);
3778
0
  READ_UINT_FIELD(phlevelsup);
3779
3780
0
  READ_DONE();
3781
0
}
3782
3783
static AppendRelInfo *
3784
_readAppendRelInfo(ReadNodeContext *ctx)
3785
0
{
3786
0
  READ_LOCALS(AppendRelInfo);
3787
3788
0
  READ_UINT_FIELD(parent_relid);
3789
0
  READ_UINT_FIELD(child_relid);
3790
0
  READ_OID_FIELD(parent_reltype);
3791
0
  READ_OID_FIELD(child_reltype);
3792
0
  READ_NODE_FIELD(translated_vars);
3793
0
  READ_INT_FIELD(num_child_cols);
3794
0
  READ_ATTRNUMBER_ARRAY(parent_colnos, local_node->num_child_cols);
3795
0
  READ_OID_FIELD(parent_reloid);
3796
3797
0
  READ_DONE();
3798
0
}
3799
3800
static PlannedStmt *
3801
_readPlannedStmt(ReadNodeContext *ctx)
3802
0
{
3803
0
  READ_LOCALS(PlannedStmt);
3804
3805
0
  READ_ENUM_FIELD(commandType, CmdType);
3806
0
  READ_INT64_FIELD(queryId);
3807
0
  READ_INT64_FIELD(planId);
3808
0
  READ_ENUM_FIELD(planOrigin, PlannedStmtOrigin);
3809
0
  READ_BOOL_FIELD(hasReturning);
3810
0
  READ_BOOL_FIELD(hasModifyingCTE);
3811
0
  READ_BOOL_FIELD(canSetTag);
3812
0
  READ_BOOL_FIELD(transientPlan);
3813
0
  READ_BOOL_FIELD(dependsOnRole);
3814
0
  READ_BOOL_FIELD(parallelModeNeeded);
3815
0
  READ_INT_FIELD(jitFlags);
3816
0
  READ_NODE_FIELD(planTree);
3817
0
  READ_NODE_FIELD(partPruneInfos);
3818
0
  READ_NODE_FIELD(rtable);
3819
0
  READ_BITMAPSET_FIELD(unprunableRelids);
3820
0
  READ_NODE_FIELD(permInfos);
3821
0
  READ_BITMAPSET_FIELD(resultRelationRelids);
3822
0
  READ_NODE_FIELD(appendRelations);
3823
0
  READ_NODE_FIELD(subplans);
3824
0
  READ_NODE_FIELD(subrtinfos);
3825
0
  READ_BITMAPSET_FIELD(rewindPlanIDs);
3826
0
  READ_NODE_FIELD(rowMarks);
3827
0
  READ_BITMAPSET_FIELD(rowMarkRelids);
3828
0
  READ_NODE_FIELD(relationOids);
3829
0
  READ_NODE_FIELD(invalItems);
3830
0
  READ_NODE_FIELD(paramExecTypes);
3831
0
  READ_NODE_FIELD(utilityStmt);
3832
0
  READ_NODE_FIELD(elidedNodes);
3833
0
  READ_NODE_FIELD(extension_state);
3834
0
  READ_LOCATION_FIELD(stmt_location);
3835
0
  READ_LOCATION_FIELD(stmt_len);
3836
3837
0
  READ_DONE();
3838
0
}
3839
3840
static Result *
3841
_readResult(ReadNodeContext *ctx)
3842
0
{
3843
0
  READ_LOCALS(Result);
3844
3845
0
  READ_INT_FIELD(plan.disabled_nodes);
3846
0
  READ_FLOAT_FIELD(plan.startup_cost);
3847
0
  READ_FLOAT_FIELD(plan.total_cost);
3848
0
  READ_FLOAT_FIELD(plan.plan_rows);
3849
0
  READ_INT_FIELD(plan.plan_width);
3850
0
  READ_BOOL_FIELD(plan.parallel_aware);
3851
0
  READ_BOOL_FIELD(plan.parallel_safe);
3852
0
  READ_BOOL_FIELD(plan.async_capable);
3853
0
  READ_INT_FIELD(plan.plan_node_id);
3854
0
  READ_NODE_FIELD(plan.targetlist);
3855
0
  READ_NODE_FIELD(plan.qual);
3856
0
  READ_NODE_FIELD(plan.lefttree);
3857
0
  READ_NODE_FIELD(plan.righttree);
3858
0
  READ_NODE_FIELD(plan.initPlan);
3859
0
  READ_BITMAPSET_FIELD(plan.extParam);
3860
0
  READ_BITMAPSET_FIELD(plan.allParam);
3861
0
  READ_ENUM_FIELD(result_type, ResultType);
3862
0
  READ_NODE_FIELD(resconstantqual);
3863
0
  READ_BITMAPSET_FIELD(relids);
3864
3865
0
  READ_DONE();
3866
0
}
3867
3868
static ProjectSet *
3869
_readProjectSet(ReadNodeContext *ctx)
3870
0
{
3871
0
  READ_LOCALS(ProjectSet);
3872
3873
0
  READ_INT_FIELD(plan.disabled_nodes);
3874
0
  READ_FLOAT_FIELD(plan.startup_cost);
3875
0
  READ_FLOAT_FIELD(plan.total_cost);
3876
0
  READ_FLOAT_FIELD(plan.plan_rows);
3877
0
  READ_INT_FIELD(plan.plan_width);
3878
0
  READ_BOOL_FIELD(plan.parallel_aware);
3879
0
  READ_BOOL_FIELD(plan.parallel_safe);
3880
0
  READ_BOOL_FIELD(plan.async_capable);
3881
0
  READ_INT_FIELD(plan.plan_node_id);
3882
0
  READ_NODE_FIELD(plan.targetlist);
3883
0
  READ_NODE_FIELD(plan.qual);
3884
0
  READ_NODE_FIELD(plan.lefttree);
3885
0
  READ_NODE_FIELD(plan.righttree);
3886
0
  READ_NODE_FIELD(plan.initPlan);
3887
0
  READ_BITMAPSET_FIELD(plan.extParam);
3888
0
  READ_BITMAPSET_FIELD(plan.allParam);
3889
3890
0
  READ_DONE();
3891
0
}
3892
3893
static ModifyTable *
3894
_readModifyTable(ReadNodeContext *ctx)
3895
0
{
3896
0
  READ_LOCALS(ModifyTable);
3897
3898
0
  READ_INT_FIELD(plan.disabled_nodes);
3899
0
  READ_FLOAT_FIELD(plan.startup_cost);
3900
0
  READ_FLOAT_FIELD(plan.total_cost);
3901
0
  READ_FLOAT_FIELD(plan.plan_rows);
3902
0
  READ_INT_FIELD(plan.plan_width);
3903
0
  READ_BOOL_FIELD(plan.parallel_aware);
3904
0
  READ_BOOL_FIELD(plan.parallel_safe);
3905
0
  READ_BOOL_FIELD(plan.async_capable);
3906
0
  READ_INT_FIELD(plan.plan_node_id);
3907
0
  READ_NODE_FIELD(plan.targetlist);
3908
0
  READ_NODE_FIELD(plan.qual);
3909
0
  READ_NODE_FIELD(plan.lefttree);
3910
0
  READ_NODE_FIELD(plan.righttree);
3911
0
  READ_NODE_FIELD(plan.initPlan);
3912
0
  READ_BITMAPSET_FIELD(plan.extParam);
3913
0
  READ_BITMAPSET_FIELD(plan.allParam);
3914
0
  READ_ENUM_FIELD(operation, CmdType);
3915
0
  READ_BOOL_FIELD(canSetTag);
3916
0
  READ_UINT_FIELD(nominalRelation);
3917
0
  READ_UINT_FIELD(rootRelation);
3918
0
  READ_NODE_FIELD(resultRelations);
3919
0
  READ_NODE_FIELD(updateColnosLists);
3920
0
  READ_NODE_FIELD(withCheckOptionLists);
3921
0
  READ_STRING_FIELD(returningOldAlias);
3922
0
  READ_STRING_FIELD(returningNewAlias);
3923
0
  READ_NODE_FIELD(returningLists);
3924
0
  READ_NODE_FIELD(fdwPrivLists);
3925
0
  READ_BITMAPSET_FIELD(fdwDirectModifyPlans);
3926
0
  READ_NODE_FIELD(rowMarks);
3927
0
  READ_INT_FIELD(epqParam);
3928
0
  READ_ENUM_FIELD(onConflictAction, OnConflictAction);
3929
0
  READ_NODE_FIELD(arbiterIndexes);
3930
0
  READ_ENUM_FIELD(onConflictLockStrength, LockClauseStrength);
3931
0
  READ_NODE_FIELD(onConflictSet);
3932
0
  READ_NODE_FIELD(onConflictCols);
3933
0
  READ_NODE_FIELD(onConflictWhere);
3934
0
  READ_UINT_FIELD(exclRelRTI);
3935
0
  READ_NODE_FIELD(exclRelTlist);
3936
0
  READ_NODE_FIELD(mergeActionLists);
3937
0
  READ_NODE_FIELD(mergeJoinConditions);
3938
3939
0
  READ_DONE();
3940
0
}
3941
3942
static Append *
3943
_readAppend(ReadNodeContext *ctx)
3944
0
{
3945
0
  READ_LOCALS(Append);
3946
3947
0
  READ_INT_FIELD(plan.disabled_nodes);
3948
0
  READ_FLOAT_FIELD(plan.startup_cost);
3949
0
  READ_FLOAT_FIELD(plan.total_cost);
3950
0
  READ_FLOAT_FIELD(plan.plan_rows);
3951
0
  READ_INT_FIELD(plan.plan_width);
3952
0
  READ_BOOL_FIELD(plan.parallel_aware);
3953
0
  READ_BOOL_FIELD(plan.parallel_safe);
3954
0
  READ_BOOL_FIELD(plan.async_capable);
3955
0
  READ_INT_FIELD(plan.plan_node_id);
3956
0
  READ_NODE_FIELD(plan.targetlist);
3957
0
  READ_NODE_FIELD(plan.qual);
3958
0
  READ_NODE_FIELD(plan.lefttree);
3959
0
  READ_NODE_FIELD(plan.righttree);
3960
0
  READ_NODE_FIELD(plan.initPlan);
3961
0
  READ_BITMAPSET_FIELD(plan.extParam);
3962
0
  READ_BITMAPSET_FIELD(plan.allParam);
3963
0
  READ_BITMAPSET_FIELD(apprelids);
3964
0
  READ_NODE_FIELD(child_append_relid_sets);
3965
0
  READ_NODE_FIELD(appendplans);
3966
0
  READ_INT_FIELD(nasyncplans);
3967
0
  READ_INT_FIELD(first_partial_plan);
3968
0
  READ_INT_FIELD(part_prune_index);
3969
3970
0
  READ_DONE();
3971
0
}
3972
3973
static MergeAppend *
3974
_readMergeAppend(ReadNodeContext *ctx)
3975
0
{
3976
0
  READ_LOCALS(MergeAppend);
3977
3978
0
  READ_INT_FIELD(plan.disabled_nodes);
3979
0
  READ_FLOAT_FIELD(plan.startup_cost);
3980
0
  READ_FLOAT_FIELD(plan.total_cost);
3981
0
  READ_FLOAT_FIELD(plan.plan_rows);
3982
0
  READ_INT_FIELD(plan.plan_width);
3983
0
  READ_BOOL_FIELD(plan.parallel_aware);
3984
0
  READ_BOOL_FIELD(plan.parallel_safe);
3985
0
  READ_BOOL_FIELD(plan.async_capable);
3986
0
  READ_INT_FIELD(plan.plan_node_id);
3987
0
  READ_NODE_FIELD(plan.targetlist);
3988
0
  READ_NODE_FIELD(plan.qual);
3989
0
  READ_NODE_FIELD(plan.lefttree);
3990
0
  READ_NODE_FIELD(plan.righttree);
3991
0
  READ_NODE_FIELD(plan.initPlan);
3992
0
  READ_BITMAPSET_FIELD(plan.extParam);
3993
0
  READ_BITMAPSET_FIELD(plan.allParam);
3994
0
  READ_BITMAPSET_FIELD(apprelids);
3995
0
  READ_NODE_FIELD(child_append_relid_sets);
3996
0
  READ_NODE_FIELD(mergeplans);
3997
0
  READ_INT_FIELD(numCols);
3998
0
  READ_ATTRNUMBER_ARRAY(sortColIdx, local_node->numCols);
3999
0
  READ_OID_ARRAY(sortOperators, local_node->numCols);
4000
0
  READ_OID_ARRAY(collations, local_node->numCols);
4001
0
  READ_BOOL_ARRAY(nullsFirst, local_node->numCols);
4002
0
  READ_INT_FIELD(part_prune_index);
4003
4004
0
  READ_DONE();
4005
0
}
4006
4007
static RecursiveUnion *
4008
_readRecursiveUnion(ReadNodeContext *ctx)
4009
0
{
4010
0
  READ_LOCALS(RecursiveUnion);
4011
4012
0
  READ_INT_FIELD(plan.disabled_nodes);
4013
0
  READ_FLOAT_FIELD(plan.startup_cost);
4014
0
  READ_FLOAT_FIELD(plan.total_cost);
4015
0
  READ_FLOAT_FIELD(plan.plan_rows);
4016
0
  READ_INT_FIELD(plan.plan_width);
4017
0
  READ_BOOL_FIELD(plan.parallel_aware);
4018
0
  READ_BOOL_FIELD(plan.parallel_safe);
4019
0
  READ_BOOL_FIELD(plan.async_capable);
4020
0
  READ_INT_FIELD(plan.plan_node_id);
4021
0
  READ_NODE_FIELD(plan.targetlist);
4022
0
  READ_NODE_FIELD(plan.qual);
4023
0
  READ_NODE_FIELD(plan.lefttree);
4024
0
  READ_NODE_FIELD(plan.righttree);
4025
0
  READ_NODE_FIELD(plan.initPlan);
4026
0
  READ_BITMAPSET_FIELD(plan.extParam);
4027
0
  READ_BITMAPSET_FIELD(plan.allParam);
4028
0
  READ_INT_FIELD(wtParam);
4029
0
  READ_INT_FIELD(numCols);
4030
0
  READ_ATTRNUMBER_ARRAY(dupColIdx, local_node->numCols);
4031
0
  READ_OID_ARRAY(dupOperators, local_node->numCols);
4032
0
  READ_OID_ARRAY(dupCollations, local_node->numCols);
4033
0
  READ_FLOAT_FIELD(numGroups);
4034
4035
0
  READ_DONE();
4036
0
}
4037
4038
static BitmapAnd *
4039
_readBitmapAnd(ReadNodeContext *ctx)
4040
0
{
4041
0
  READ_LOCALS(BitmapAnd);
4042
4043
0
  READ_INT_FIELD(plan.disabled_nodes);
4044
0
  READ_FLOAT_FIELD(plan.startup_cost);
4045
0
  READ_FLOAT_FIELD(plan.total_cost);
4046
0
  READ_FLOAT_FIELD(plan.plan_rows);
4047
0
  READ_INT_FIELD(plan.plan_width);
4048
0
  READ_BOOL_FIELD(plan.parallel_aware);
4049
0
  READ_BOOL_FIELD(plan.parallel_safe);
4050
0
  READ_BOOL_FIELD(plan.async_capable);
4051
0
  READ_INT_FIELD(plan.plan_node_id);
4052
0
  READ_NODE_FIELD(plan.targetlist);
4053
0
  READ_NODE_FIELD(plan.qual);
4054
0
  READ_NODE_FIELD(plan.lefttree);
4055
0
  READ_NODE_FIELD(plan.righttree);
4056
0
  READ_NODE_FIELD(plan.initPlan);
4057
0
  READ_BITMAPSET_FIELD(plan.extParam);
4058
0
  READ_BITMAPSET_FIELD(plan.allParam);
4059
0
  READ_NODE_FIELD(bitmapplans);
4060
4061
0
  READ_DONE();
4062
0
}
4063
4064
static BitmapOr *
4065
_readBitmapOr(ReadNodeContext *ctx)
4066
0
{
4067
0
  READ_LOCALS(BitmapOr);
4068
4069
0
  READ_INT_FIELD(plan.disabled_nodes);
4070
0
  READ_FLOAT_FIELD(plan.startup_cost);
4071
0
  READ_FLOAT_FIELD(plan.total_cost);
4072
0
  READ_FLOAT_FIELD(plan.plan_rows);
4073
0
  READ_INT_FIELD(plan.plan_width);
4074
0
  READ_BOOL_FIELD(plan.parallel_aware);
4075
0
  READ_BOOL_FIELD(plan.parallel_safe);
4076
0
  READ_BOOL_FIELD(plan.async_capable);
4077
0
  READ_INT_FIELD(plan.plan_node_id);
4078
0
  READ_NODE_FIELD(plan.targetlist);
4079
0
  READ_NODE_FIELD(plan.qual);
4080
0
  READ_NODE_FIELD(plan.lefttree);
4081
0
  READ_NODE_FIELD(plan.righttree);
4082
0
  READ_NODE_FIELD(plan.initPlan);
4083
0
  READ_BITMAPSET_FIELD(plan.extParam);
4084
0
  READ_BITMAPSET_FIELD(plan.allParam);
4085
0
  READ_BOOL_FIELD(isshared);
4086
0
  READ_NODE_FIELD(bitmapplans);
4087
4088
0
  READ_DONE();
4089
0
}
4090
4091
static SeqScan *
4092
_readSeqScan(ReadNodeContext *ctx)
4093
0
{
4094
0
  READ_LOCALS(SeqScan);
4095
4096
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4097
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4098
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4099
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4100
0
  READ_INT_FIELD(scan.plan.plan_width);
4101
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4102
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4103
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4104
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4105
0
  READ_NODE_FIELD(scan.plan.targetlist);
4106
0
  READ_NODE_FIELD(scan.plan.qual);
4107
0
  READ_NODE_FIELD(scan.plan.lefttree);
4108
0
  READ_NODE_FIELD(scan.plan.righttree);
4109
0
  READ_NODE_FIELD(scan.plan.initPlan);
4110
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4111
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4112
0
  READ_UINT_FIELD(scan.scanrelid);
4113
4114
0
  READ_DONE();
4115
0
}
4116
4117
static SampleScan *
4118
_readSampleScan(ReadNodeContext *ctx)
4119
0
{
4120
0
  READ_LOCALS(SampleScan);
4121
4122
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4123
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4124
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4125
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4126
0
  READ_INT_FIELD(scan.plan.plan_width);
4127
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4128
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4129
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4130
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4131
0
  READ_NODE_FIELD(scan.plan.targetlist);
4132
0
  READ_NODE_FIELD(scan.plan.qual);
4133
0
  READ_NODE_FIELD(scan.plan.lefttree);
4134
0
  READ_NODE_FIELD(scan.plan.righttree);
4135
0
  READ_NODE_FIELD(scan.plan.initPlan);
4136
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4137
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4138
0
  READ_UINT_FIELD(scan.scanrelid);
4139
0
  READ_NODE_FIELD(tablesample);
4140
4141
0
  READ_DONE();
4142
0
}
4143
4144
static IndexScan *
4145
_readIndexScan(ReadNodeContext *ctx)
4146
0
{
4147
0
  READ_LOCALS(IndexScan);
4148
4149
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4150
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4151
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4152
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4153
0
  READ_INT_FIELD(scan.plan.plan_width);
4154
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4155
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4156
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4157
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4158
0
  READ_NODE_FIELD(scan.plan.targetlist);
4159
0
  READ_NODE_FIELD(scan.plan.qual);
4160
0
  READ_NODE_FIELD(scan.plan.lefttree);
4161
0
  READ_NODE_FIELD(scan.plan.righttree);
4162
0
  READ_NODE_FIELD(scan.plan.initPlan);
4163
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4164
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4165
0
  READ_UINT_FIELD(scan.scanrelid);
4166
0
  READ_OID_FIELD(indexid);
4167
0
  READ_NODE_FIELD(indexqual);
4168
0
  READ_NODE_FIELD(indexqualorig);
4169
0
  READ_NODE_FIELD(indexorderby);
4170
0
  READ_NODE_FIELD(indexorderbyorig);
4171
0
  READ_NODE_FIELD(indexorderbyops);
4172
0
  READ_ENUM_FIELD(indexorderdir, ScanDirection);
4173
4174
0
  READ_DONE();
4175
0
}
4176
4177
static IndexOnlyScan *
4178
_readIndexOnlyScan(ReadNodeContext *ctx)
4179
0
{
4180
0
  READ_LOCALS(IndexOnlyScan);
4181
4182
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4183
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4184
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4185
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4186
0
  READ_INT_FIELD(scan.plan.plan_width);
4187
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4188
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4189
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4190
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4191
0
  READ_NODE_FIELD(scan.plan.targetlist);
4192
0
  READ_NODE_FIELD(scan.plan.qual);
4193
0
  READ_NODE_FIELD(scan.plan.lefttree);
4194
0
  READ_NODE_FIELD(scan.plan.righttree);
4195
0
  READ_NODE_FIELD(scan.plan.initPlan);
4196
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4197
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4198
0
  READ_UINT_FIELD(scan.scanrelid);
4199
0
  READ_OID_FIELD(indexid);
4200
0
  READ_NODE_FIELD(indexqual);
4201
0
  READ_NODE_FIELD(recheckqual);
4202
0
  READ_NODE_FIELD(indexorderby);
4203
0
  READ_NODE_FIELD(indextlist);
4204
0
  READ_ENUM_FIELD(indexorderdir, ScanDirection);
4205
4206
0
  READ_DONE();
4207
0
}
4208
4209
static BitmapIndexScan *
4210
_readBitmapIndexScan(ReadNodeContext *ctx)
4211
0
{
4212
0
  READ_LOCALS(BitmapIndexScan);
4213
4214
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4215
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4216
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4217
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4218
0
  READ_INT_FIELD(scan.plan.plan_width);
4219
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4220
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4221
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4222
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4223
0
  READ_NODE_FIELD(scan.plan.targetlist);
4224
0
  READ_NODE_FIELD(scan.plan.qual);
4225
0
  READ_NODE_FIELD(scan.plan.lefttree);
4226
0
  READ_NODE_FIELD(scan.plan.righttree);
4227
0
  READ_NODE_FIELD(scan.plan.initPlan);
4228
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4229
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4230
0
  READ_UINT_FIELD(scan.scanrelid);
4231
0
  READ_OID_FIELD(indexid);
4232
0
  READ_BOOL_FIELD(isshared);
4233
0
  READ_NODE_FIELD(indexqual);
4234
0
  READ_NODE_FIELD(indexqualorig);
4235
4236
0
  READ_DONE();
4237
0
}
4238
4239
static BitmapHeapScan *
4240
_readBitmapHeapScan(ReadNodeContext *ctx)
4241
0
{
4242
0
  READ_LOCALS(BitmapHeapScan);
4243
4244
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4245
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4246
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4247
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4248
0
  READ_INT_FIELD(scan.plan.plan_width);
4249
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4250
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4251
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4252
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4253
0
  READ_NODE_FIELD(scan.plan.targetlist);
4254
0
  READ_NODE_FIELD(scan.plan.qual);
4255
0
  READ_NODE_FIELD(scan.plan.lefttree);
4256
0
  READ_NODE_FIELD(scan.plan.righttree);
4257
0
  READ_NODE_FIELD(scan.plan.initPlan);
4258
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4259
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4260
0
  READ_UINT_FIELD(scan.scanrelid);
4261
0
  READ_NODE_FIELD(bitmapqualorig);
4262
4263
0
  READ_DONE();
4264
0
}
4265
4266
static TidScan *
4267
_readTidScan(ReadNodeContext *ctx)
4268
0
{
4269
0
  READ_LOCALS(TidScan);
4270
4271
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4272
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4273
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4274
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4275
0
  READ_INT_FIELD(scan.plan.plan_width);
4276
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4277
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4278
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4279
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4280
0
  READ_NODE_FIELD(scan.plan.targetlist);
4281
0
  READ_NODE_FIELD(scan.plan.qual);
4282
0
  READ_NODE_FIELD(scan.plan.lefttree);
4283
0
  READ_NODE_FIELD(scan.plan.righttree);
4284
0
  READ_NODE_FIELD(scan.plan.initPlan);
4285
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4286
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4287
0
  READ_UINT_FIELD(scan.scanrelid);
4288
0
  READ_NODE_FIELD(tidquals);
4289
4290
0
  READ_DONE();
4291
0
}
4292
4293
static TidRangeScan *
4294
_readTidRangeScan(ReadNodeContext *ctx)
4295
0
{
4296
0
  READ_LOCALS(TidRangeScan);
4297
4298
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4299
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4300
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4301
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4302
0
  READ_INT_FIELD(scan.plan.plan_width);
4303
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4304
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4305
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4306
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4307
0
  READ_NODE_FIELD(scan.plan.targetlist);
4308
0
  READ_NODE_FIELD(scan.plan.qual);
4309
0
  READ_NODE_FIELD(scan.plan.lefttree);
4310
0
  READ_NODE_FIELD(scan.plan.righttree);
4311
0
  READ_NODE_FIELD(scan.plan.initPlan);
4312
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4313
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4314
0
  READ_UINT_FIELD(scan.scanrelid);
4315
0
  READ_NODE_FIELD(tidrangequals);
4316
4317
0
  READ_DONE();
4318
0
}
4319
4320
static SubqueryScan *
4321
_readSubqueryScan(ReadNodeContext *ctx)
4322
0
{
4323
0
  READ_LOCALS(SubqueryScan);
4324
4325
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4326
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4327
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4328
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4329
0
  READ_INT_FIELD(scan.plan.plan_width);
4330
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4331
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4332
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4333
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4334
0
  READ_NODE_FIELD(scan.plan.targetlist);
4335
0
  READ_NODE_FIELD(scan.plan.qual);
4336
0
  READ_NODE_FIELD(scan.plan.lefttree);
4337
0
  READ_NODE_FIELD(scan.plan.righttree);
4338
0
  READ_NODE_FIELD(scan.plan.initPlan);
4339
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4340
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4341
0
  READ_UINT_FIELD(scan.scanrelid);
4342
0
  READ_NODE_FIELD(subplan);
4343
0
  READ_ENUM_FIELD(scanstatus, SubqueryScanStatus);
4344
4345
0
  READ_DONE();
4346
0
}
4347
4348
static FunctionScan *
4349
_readFunctionScan(ReadNodeContext *ctx)
4350
0
{
4351
0
  READ_LOCALS(FunctionScan);
4352
4353
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4354
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4355
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4356
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4357
0
  READ_INT_FIELD(scan.plan.plan_width);
4358
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4359
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4360
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4361
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4362
0
  READ_NODE_FIELD(scan.plan.targetlist);
4363
0
  READ_NODE_FIELD(scan.plan.qual);
4364
0
  READ_NODE_FIELD(scan.plan.lefttree);
4365
0
  READ_NODE_FIELD(scan.plan.righttree);
4366
0
  READ_NODE_FIELD(scan.plan.initPlan);
4367
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4368
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4369
0
  READ_UINT_FIELD(scan.scanrelid);
4370
0
  READ_NODE_FIELD(functions);
4371
0
  READ_BOOL_FIELD(funcordinality);
4372
4373
0
  READ_DONE();
4374
0
}
4375
4376
static ValuesScan *
4377
_readValuesScan(ReadNodeContext *ctx)
4378
0
{
4379
0
  READ_LOCALS(ValuesScan);
4380
4381
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4382
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4383
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4384
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4385
0
  READ_INT_FIELD(scan.plan.plan_width);
4386
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4387
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4388
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4389
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4390
0
  READ_NODE_FIELD(scan.plan.targetlist);
4391
0
  READ_NODE_FIELD(scan.plan.qual);
4392
0
  READ_NODE_FIELD(scan.plan.lefttree);
4393
0
  READ_NODE_FIELD(scan.plan.righttree);
4394
0
  READ_NODE_FIELD(scan.plan.initPlan);
4395
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4396
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4397
0
  READ_UINT_FIELD(scan.scanrelid);
4398
0
  READ_NODE_FIELD(values_lists);
4399
4400
0
  READ_DONE();
4401
0
}
4402
4403
static TableFuncScan *
4404
_readTableFuncScan(ReadNodeContext *ctx)
4405
0
{
4406
0
  READ_LOCALS(TableFuncScan);
4407
4408
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4409
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4410
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4411
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4412
0
  READ_INT_FIELD(scan.plan.plan_width);
4413
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4414
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4415
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4416
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4417
0
  READ_NODE_FIELD(scan.plan.targetlist);
4418
0
  READ_NODE_FIELD(scan.plan.qual);
4419
0
  READ_NODE_FIELD(scan.plan.lefttree);
4420
0
  READ_NODE_FIELD(scan.plan.righttree);
4421
0
  READ_NODE_FIELD(scan.plan.initPlan);
4422
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4423
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4424
0
  READ_UINT_FIELD(scan.scanrelid);
4425
0
  READ_NODE_FIELD(tablefunc);
4426
4427
0
  READ_DONE();
4428
0
}
4429
4430
static CteScan *
4431
_readCteScan(ReadNodeContext *ctx)
4432
0
{
4433
0
  READ_LOCALS(CteScan);
4434
4435
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4436
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4437
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4438
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4439
0
  READ_INT_FIELD(scan.plan.plan_width);
4440
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4441
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4442
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4443
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4444
0
  READ_NODE_FIELD(scan.plan.targetlist);
4445
0
  READ_NODE_FIELD(scan.plan.qual);
4446
0
  READ_NODE_FIELD(scan.plan.lefttree);
4447
0
  READ_NODE_FIELD(scan.plan.righttree);
4448
0
  READ_NODE_FIELD(scan.plan.initPlan);
4449
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4450
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4451
0
  READ_UINT_FIELD(scan.scanrelid);
4452
0
  READ_INT_FIELD(ctePlanId);
4453
0
  READ_INT_FIELD(cteParam);
4454
4455
0
  READ_DONE();
4456
0
}
4457
4458
static NamedTuplestoreScan *
4459
_readNamedTuplestoreScan(ReadNodeContext *ctx)
4460
0
{
4461
0
  READ_LOCALS(NamedTuplestoreScan);
4462
4463
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4464
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4465
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4466
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4467
0
  READ_INT_FIELD(scan.plan.plan_width);
4468
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4469
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4470
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4471
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4472
0
  READ_NODE_FIELD(scan.plan.targetlist);
4473
0
  READ_NODE_FIELD(scan.plan.qual);
4474
0
  READ_NODE_FIELD(scan.plan.lefttree);
4475
0
  READ_NODE_FIELD(scan.plan.righttree);
4476
0
  READ_NODE_FIELD(scan.plan.initPlan);
4477
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4478
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4479
0
  READ_UINT_FIELD(scan.scanrelid);
4480
0
  READ_STRING_FIELD(enrname);
4481
4482
0
  READ_DONE();
4483
0
}
4484
4485
static WorkTableScan *
4486
_readWorkTableScan(ReadNodeContext *ctx)
4487
0
{
4488
0
  READ_LOCALS(WorkTableScan);
4489
4490
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4491
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4492
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4493
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4494
0
  READ_INT_FIELD(scan.plan.plan_width);
4495
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4496
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4497
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4498
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4499
0
  READ_NODE_FIELD(scan.plan.targetlist);
4500
0
  READ_NODE_FIELD(scan.plan.qual);
4501
0
  READ_NODE_FIELD(scan.plan.lefttree);
4502
0
  READ_NODE_FIELD(scan.plan.righttree);
4503
0
  READ_NODE_FIELD(scan.plan.initPlan);
4504
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4505
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4506
0
  READ_UINT_FIELD(scan.scanrelid);
4507
0
  READ_INT_FIELD(wtParam);
4508
4509
0
  READ_DONE();
4510
0
}
4511
4512
static ForeignScan *
4513
_readForeignScan(ReadNodeContext *ctx)
4514
0
{
4515
0
  READ_LOCALS(ForeignScan);
4516
4517
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4518
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4519
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4520
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4521
0
  READ_INT_FIELD(scan.plan.plan_width);
4522
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4523
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4524
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4525
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4526
0
  READ_NODE_FIELD(scan.plan.targetlist);
4527
0
  READ_NODE_FIELD(scan.plan.qual);
4528
0
  READ_NODE_FIELD(scan.plan.lefttree);
4529
0
  READ_NODE_FIELD(scan.plan.righttree);
4530
0
  READ_NODE_FIELD(scan.plan.initPlan);
4531
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4532
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4533
0
  READ_UINT_FIELD(scan.scanrelid);
4534
0
  READ_ENUM_FIELD(operation, CmdType);
4535
0
  READ_UINT_FIELD(resultRelation);
4536
0
  READ_OID_FIELD(checkAsUser);
4537
0
  READ_OID_FIELD(fs_server);
4538
0
  READ_NODE_FIELD(fdw_exprs);
4539
0
  READ_NODE_FIELD(fdw_private);
4540
0
  READ_NODE_FIELD(fdw_scan_tlist);
4541
0
  READ_NODE_FIELD(fdw_recheck_quals);
4542
0
  READ_BITMAPSET_FIELD(fs_relids);
4543
0
  READ_BITMAPSET_FIELD(fs_base_relids);
4544
0
  READ_BOOL_FIELD(fsSystemCol);
4545
4546
0
  READ_DONE();
4547
0
}
4548
4549
static CustomScan *
4550
_readCustomScan(ReadNodeContext *ctx)
4551
0
{
4552
0
  READ_LOCALS(CustomScan);
4553
4554
0
  READ_INT_FIELD(scan.plan.disabled_nodes);
4555
0
  READ_FLOAT_FIELD(scan.plan.startup_cost);
4556
0
  READ_FLOAT_FIELD(scan.plan.total_cost);
4557
0
  READ_FLOAT_FIELD(scan.plan.plan_rows);
4558
0
  READ_INT_FIELD(scan.plan.plan_width);
4559
0
  READ_BOOL_FIELD(scan.plan.parallel_aware);
4560
0
  READ_BOOL_FIELD(scan.plan.parallel_safe);
4561
0
  READ_BOOL_FIELD(scan.plan.async_capable);
4562
0
  READ_INT_FIELD(scan.plan.plan_node_id);
4563
0
  READ_NODE_FIELD(scan.plan.targetlist);
4564
0
  READ_NODE_FIELD(scan.plan.qual);
4565
0
  READ_NODE_FIELD(scan.plan.lefttree);
4566
0
  READ_NODE_FIELD(scan.plan.righttree);
4567
0
  READ_NODE_FIELD(scan.plan.initPlan);
4568
0
  READ_BITMAPSET_FIELD(scan.plan.extParam);
4569
0
  READ_BITMAPSET_FIELD(scan.plan.allParam);
4570
0
  READ_UINT_FIELD(scan.scanrelid);
4571
0
  READ_UINT_FIELD(flags);
4572
0
  READ_NODE_FIELD(custom_plans);
4573
0
  READ_NODE_FIELD(custom_exprs);
4574
0
  READ_NODE_FIELD(custom_private);
4575
0
  READ_NODE_FIELD(custom_scan_tlist);
4576
0
  READ_BITMAPSET_FIELD(custom_relids);
4577
4578
0
  {
4579
    /* Lookup CustomScanMethods by CustomName */
4580
0
    char     *custom_name;
4581
0
    const CustomScanMethods *methods;
4582
0
    token = pg_strtok(ctx, &length); /* skip methods: */
4583
0
    token = pg_strtok(ctx, &length); /* CustomName */
4584
0
    custom_name = nullable_string(token, length);
4585
0
    methods = GetCustomScanMethods(custom_name, false);
4586
0
    local_node->methods = methods;
4587
0
  }
4588
4589
0
  READ_DONE();
4590
0
}
4591
4592
static NestLoop *
4593
_readNestLoop(ReadNodeContext *ctx)
4594
0
{
4595
0
  READ_LOCALS(NestLoop);
4596
4597
0
  READ_INT_FIELD(join.plan.disabled_nodes);
4598
0
  READ_FLOAT_FIELD(join.plan.startup_cost);
4599
0
  READ_FLOAT_FIELD(join.plan.total_cost);
4600
0
  READ_FLOAT_FIELD(join.plan.plan_rows);
4601
0
  READ_INT_FIELD(join.plan.plan_width);
4602
0
  READ_BOOL_FIELD(join.plan.parallel_aware);
4603
0
  READ_BOOL_FIELD(join.plan.parallel_safe);
4604
0
  READ_BOOL_FIELD(join.plan.async_capable);
4605
0
  READ_INT_FIELD(join.plan.plan_node_id);
4606
0
  READ_NODE_FIELD(join.plan.targetlist);
4607
0
  READ_NODE_FIELD(join.plan.qual);
4608
0
  READ_NODE_FIELD(join.plan.lefttree);
4609
0
  READ_NODE_FIELD(join.plan.righttree);
4610
0
  READ_NODE_FIELD(join.plan.initPlan);
4611
0
  READ_BITMAPSET_FIELD(join.plan.extParam);
4612
0
  READ_BITMAPSET_FIELD(join.plan.allParam);
4613
0
  READ_ENUM_FIELD(join.jointype, JoinType);
4614
0
  READ_BOOL_FIELD(join.inner_unique);
4615
0
  READ_NODE_FIELD(join.joinqual);
4616
0
  READ_BITMAPSET_FIELD(join.ojrelids);
4617
0
  READ_NODE_FIELD(nestParams);
4618
4619
0
  READ_DONE();
4620
0
}
4621
4622
static NestLoopParam *
4623
_readNestLoopParam(ReadNodeContext *ctx)
4624
0
{
4625
0
  READ_LOCALS(NestLoopParam);
4626
4627
0
  READ_INT_FIELD(paramno);
4628
0
  READ_NODE_FIELD(paramval);
4629
4630
0
  READ_DONE();
4631
0
}
4632
4633
static MergeJoin *
4634
_readMergeJoin(ReadNodeContext *ctx)
4635
0
{
4636
0
  READ_LOCALS(MergeJoin);
4637
4638
0
  READ_INT_FIELD(join.plan.disabled_nodes);
4639
0
  READ_FLOAT_FIELD(join.plan.startup_cost);
4640
0
  READ_FLOAT_FIELD(join.plan.total_cost);
4641
0
  READ_FLOAT_FIELD(join.plan.plan_rows);
4642
0
  READ_INT_FIELD(join.plan.plan_width);
4643
0
  READ_BOOL_FIELD(join.plan.parallel_aware);
4644
0
  READ_BOOL_FIELD(join.plan.parallel_safe);
4645
0
  READ_BOOL_FIELD(join.plan.async_capable);
4646
0
  READ_INT_FIELD(join.plan.plan_node_id);
4647
0
  READ_NODE_FIELD(join.plan.targetlist);
4648
0
  READ_NODE_FIELD(join.plan.qual);
4649
0
  READ_NODE_FIELD(join.plan.lefttree);
4650
0
  READ_NODE_FIELD(join.plan.righttree);
4651
0
  READ_NODE_FIELD(join.plan.initPlan);
4652
0
  READ_BITMAPSET_FIELD(join.plan.extParam);
4653
0
  READ_BITMAPSET_FIELD(join.plan.allParam);
4654
0
  READ_ENUM_FIELD(join.jointype, JoinType);
4655
0
  READ_BOOL_FIELD(join.inner_unique);
4656
0
  READ_NODE_FIELD(join.joinqual);
4657
0
  READ_BITMAPSET_FIELD(join.ojrelids);
4658
0
  READ_BOOL_FIELD(skip_mark_restore);
4659
0
  READ_NODE_FIELD(mergeclauses);
4660
0
  READ_OID_ARRAY(mergeFamilies, list_length(local_node->mergeclauses));
4661
0
  READ_OID_ARRAY(mergeCollations, list_length(local_node->mergeclauses));
4662
0
  READ_BOOL_ARRAY(mergeReversals, list_length(local_node->mergeclauses));
4663
0
  READ_BOOL_ARRAY(mergeNullsFirst, list_length(local_node->mergeclauses));
4664
4665
0
  READ_DONE();
4666
0
}
4667
4668
static HashJoin *
4669
_readHashJoin(ReadNodeContext *ctx)
4670
0
{
4671
0
  READ_LOCALS(HashJoin);
4672
4673
0
  READ_INT_FIELD(join.plan.disabled_nodes);
4674
0
  READ_FLOAT_FIELD(join.plan.startup_cost);
4675
0
  READ_FLOAT_FIELD(join.plan.total_cost);
4676
0
  READ_FLOAT_FIELD(join.plan.plan_rows);
4677
0
  READ_INT_FIELD(join.plan.plan_width);
4678
0
  READ_BOOL_FIELD(join.plan.parallel_aware);
4679
0
  READ_BOOL_FIELD(join.plan.parallel_safe);
4680
0
  READ_BOOL_FIELD(join.plan.async_capable);
4681
0
  READ_INT_FIELD(join.plan.plan_node_id);
4682
0
  READ_NODE_FIELD(join.plan.targetlist);
4683
0
  READ_NODE_FIELD(join.plan.qual);
4684
0
  READ_NODE_FIELD(join.plan.lefttree);
4685
0
  READ_NODE_FIELD(join.plan.righttree);
4686
0
  READ_NODE_FIELD(join.plan.initPlan);
4687
0
  READ_BITMAPSET_FIELD(join.plan.extParam);
4688
0
  READ_BITMAPSET_FIELD(join.plan.allParam);
4689
0
  READ_ENUM_FIELD(join.jointype, JoinType);
4690
0
  READ_BOOL_FIELD(join.inner_unique);
4691
0
  READ_NODE_FIELD(join.joinqual);
4692
0
  READ_BITMAPSET_FIELD(join.ojrelids);
4693
0
  READ_NODE_FIELD(hashclauses);
4694
0
  READ_NODE_FIELD(hashoperators);
4695
0
  READ_NODE_FIELD(hashcollations);
4696
0
  READ_NODE_FIELD(hashkeys);
4697
4698
0
  READ_DONE();
4699
0
}
4700
4701
static Material *
4702
_readMaterial(ReadNodeContext *ctx)
4703
0
{
4704
0
  READ_LOCALS(Material);
4705
4706
0
  READ_INT_FIELD(plan.disabled_nodes);
4707
0
  READ_FLOAT_FIELD(plan.startup_cost);
4708
0
  READ_FLOAT_FIELD(plan.total_cost);
4709
0
  READ_FLOAT_FIELD(plan.plan_rows);
4710
0
  READ_INT_FIELD(plan.plan_width);
4711
0
  READ_BOOL_FIELD(plan.parallel_aware);
4712
0
  READ_BOOL_FIELD(plan.parallel_safe);
4713
0
  READ_BOOL_FIELD(plan.async_capable);
4714
0
  READ_INT_FIELD(plan.plan_node_id);
4715
0
  READ_NODE_FIELD(plan.targetlist);
4716
0
  READ_NODE_FIELD(plan.qual);
4717
0
  READ_NODE_FIELD(plan.lefttree);
4718
0
  READ_NODE_FIELD(plan.righttree);
4719
0
  READ_NODE_FIELD(plan.initPlan);
4720
0
  READ_BITMAPSET_FIELD(plan.extParam);
4721
0
  READ_BITMAPSET_FIELD(plan.allParam);
4722
4723
0
  READ_DONE();
4724
0
}
4725
4726
static Memoize *
4727
_readMemoize(ReadNodeContext *ctx)
4728
0
{
4729
0
  READ_LOCALS(Memoize);
4730
4731
0
  READ_INT_FIELD(plan.disabled_nodes);
4732
0
  READ_FLOAT_FIELD(plan.startup_cost);
4733
0
  READ_FLOAT_FIELD(plan.total_cost);
4734
0
  READ_FLOAT_FIELD(plan.plan_rows);
4735
0
  READ_INT_FIELD(plan.plan_width);
4736
0
  READ_BOOL_FIELD(plan.parallel_aware);
4737
0
  READ_BOOL_FIELD(plan.parallel_safe);
4738
0
  READ_BOOL_FIELD(plan.async_capable);
4739
0
  READ_INT_FIELD(plan.plan_node_id);
4740
0
  READ_NODE_FIELD(plan.targetlist);
4741
0
  READ_NODE_FIELD(plan.qual);
4742
0
  READ_NODE_FIELD(plan.lefttree);
4743
0
  READ_NODE_FIELD(plan.righttree);
4744
0
  READ_NODE_FIELD(plan.initPlan);
4745
0
  READ_BITMAPSET_FIELD(plan.extParam);
4746
0
  READ_BITMAPSET_FIELD(plan.allParam);
4747
0
  READ_INT_FIELD(numKeys);
4748
0
  READ_OID_ARRAY(hashOperators, local_node->numKeys);
4749
0
  READ_OID_ARRAY(collations, local_node->numKeys);
4750
0
  READ_NODE_FIELD(param_exprs);
4751
0
  READ_BOOL_FIELD(singlerow);
4752
0
  READ_BOOL_FIELD(binary_mode);
4753
0
  READ_UINT_FIELD(est_entries);
4754
0
  READ_BITMAPSET_FIELD(keyparamids);
4755
0
  READ_FLOAT_FIELD(est_calls);
4756
0
  READ_FLOAT_FIELD(est_unique_keys);
4757
0
  READ_FLOAT_FIELD(est_hit_ratio);
4758
4759
0
  READ_DONE();
4760
0
}
4761
4762
static Sort *
4763
_readSort(ReadNodeContext *ctx)
4764
0
{
4765
0
  READ_LOCALS(Sort);
4766
4767
0
  READ_INT_FIELD(plan.disabled_nodes);
4768
0
  READ_FLOAT_FIELD(plan.startup_cost);
4769
0
  READ_FLOAT_FIELD(plan.total_cost);
4770
0
  READ_FLOAT_FIELD(plan.plan_rows);
4771
0
  READ_INT_FIELD(plan.plan_width);
4772
0
  READ_BOOL_FIELD(plan.parallel_aware);
4773
0
  READ_BOOL_FIELD(plan.parallel_safe);
4774
0
  READ_BOOL_FIELD(plan.async_capable);
4775
0
  READ_INT_FIELD(plan.plan_node_id);
4776
0
  READ_NODE_FIELD(plan.targetlist);
4777
0
  READ_NODE_FIELD(plan.qual);
4778
0
  READ_NODE_FIELD(plan.lefttree);
4779
0
  READ_NODE_FIELD(plan.righttree);
4780
0
  READ_NODE_FIELD(plan.initPlan);
4781
0
  READ_BITMAPSET_FIELD(plan.extParam);
4782
0
  READ_BITMAPSET_FIELD(plan.allParam);
4783
0
  READ_INT_FIELD(numCols);
4784
0
  READ_ATTRNUMBER_ARRAY(sortColIdx, local_node->numCols);
4785
0
  READ_OID_ARRAY(sortOperators, local_node->numCols);
4786
0
  READ_OID_ARRAY(collations, local_node->numCols);
4787
0
  READ_BOOL_ARRAY(nullsFirst, local_node->numCols);
4788
4789
0
  READ_DONE();
4790
0
}
4791
4792
static IncrementalSort *
4793
_readIncrementalSort(ReadNodeContext *ctx)
4794
0
{
4795
0
  READ_LOCALS(IncrementalSort);
4796
4797
0
  READ_INT_FIELD(sort.plan.disabled_nodes);
4798
0
  READ_FLOAT_FIELD(sort.plan.startup_cost);
4799
0
  READ_FLOAT_FIELD(sort.plan.total_cost);
4800
0
  READ_FLOAT_FIELD(sort.plan.plan_rows);
4801
0
  READ_INT_FIELD(sort.plan.plan_width);
4802
0
  READ_BOOL_FIELD(sort.plan.parallel_aware);
4803
0
  READ_BOOL_FIELD(sort.plan.parallel_safe);
4804
0
  READ_BOOL_FIELD(sort.plan.async_capable);
4805
0
  READ_INT_FIELD(sort.plan.plan_node_id);
4806
0
  READ_NODE_FIELD(sort.plan.targetlist);
4807
0
  READ_NODE_FIELD(sort.plan.qual);
4808
0
  READ_NODE_FIELD(sort.plan.lefttree);
4809
0
  READ_NODE_FIELD(sort.plan.righttree);
4810
0
  READ_NODE_FIELD(sort.plan.initPlan);
4811
0
  READ_BITMAPSET_FIELD(sort.plan.extParam);
4812
0
  READ_BITMAPSET_FIELD(sort.plan.allParam);
4813
0
  READ_INT_FIELD(sort.numCols);
4814
0
  READ_ATTRNUMBER_ARRAY(sort.sortColIdx, local_node->sort.numCols);
4815
0
  READ_OID_ARRAY(sort.sortOperators, local_node->sort.numCols);
4816
0
  READ_OID_ARRAY(sort.collations, local_node->sort.numCols);
4817
0
  READ_BOOL_ARRAY(sort.nullsFirst, local_node->sort.numCols);
4818
0
  READ_INT_FIELD(nPresortedCols);
4819
0
  READ_FLOAT_FIELD(numGroups);
4820
4821
0
  READ_DONE();
4822
0
}
4823
4824
static Group *
4825
_readGroup(ReadNodeContext *ctx)
4826
0
{
4827
0
  READ_LOCALS(Group);
4828
4829
0
  READ_INT_FIELD(plan.disabled_nodes);
4830
0
  READ_FLOAT_FIELD(plan.startup_cost);
4831
0
  READ_FLOAT_FIELD(plan.total_cost);
4832
0
  READ_FLOAT_FIELD(plan.plan_rows);
4833
0
  READ_INT_FIELD(plan.plan_width);
4834
0
  READ_BOOL_FIELD(plan.parallel_aware);
4835
0
  READ_BOOL_FIELD(plan.parallel_safe);
4836
0
  READ_BOOL_FIELD(plan.async_capable);
4837
0
  READ_INT_FIELD(plan.plan_node_id);
4838
0
  READ_NODE_FIELD(plan.targetlist);
4839
0
  READ_NODE_FIELD(plan.qual);
4840
0
  READ_NODE_FIELD(plan.lefttree);
4841
0
  READ_NODE_FIELD(plan.righttree);
4842
0
  READ_NODE_FIELD(plan.initPlan);
4843
0
  READ_BITMAPSET_FIELD(plan.extParam);
4844
0
  READ_BITMAPSET_FIELD(plan.allParam);
4845
0
  READ_INT_FIELD(numCols);
4846
0
  READ_ATTRNUMBER_ARRAY(grpColIdx, local_node->numCols);
4847
0
  READ_OID_ARRAY(grpOperators, local_node->numCols);
4848
0
  READ_OID_ARRAY(grpCollations, local_node->numCols);
4849
4850
0
  READ_DONE();
4851
0
}
4852
4853
static Agg *
4854
_readAgg(ReadNodeContext *ctx)
4855
0
{
4856
0
  READ_LOCALS(Agg);
4857
4858
0
  READ_INT_FIELD(plan.disabled_nodes);
4859
0
  READ_FLOAT_FIELD(plan.startup_cost);
4860
0
  READ_FLOAT_FIELD(plan.total_cost);
4861
0
  READ_FLOAT_FIELD(plan.plan_rows);
4862
0
  READ_INT_FIELD(plan.plan_width);
4863
0
  READ_BOOL_FIELD(plan.parallel_aware);
4864
0
  READ_BOOL_FIELD(plan.parallel_safe);
4865
0
  READ_BOOL_FIELD(plan.async_capable);
4866
0
  READ_INT_FIELD(plan.plan_node_id);
4867
0
  READ_NODE_FIELD(plan.targetlist);
4868
0
  READ_NODE_FIELD(plan.qual);
4869
0
  READ_NODE_FIELD(plan.lefttree);
4870
0
  READ_NODE_FIELD(plan.righttree);
4871
0
  READ_NODE_FIELD(plan.initPlan);
4872
0
  READ_BITMAPSET_FIELD(plan.extParam);
4873
0
  READ_BITMAPSET_FIELD(plan.allParam);
4874
0
  READ_ENUM_FIELD(aggstrategy, AggStrategy);
4875
0
  READ_ENUM_FIELD(aggsplit, AggSplit);
4876
0
  READ_INT_FIELD(numCols);
4877
0
  READ_ATTRNUMBER_ARRAY(grpColIdx, local_node->numCols);
4878
0
  READ_OID_ARRAY(grpOperators, local_node->numCols);
4879
0
  READ_OID_ARRAY(grpCollations, local_node->numCols);
4880
0
  READ_FLOAT_FIELD(numGroups);
4881
0
  READ_UINT64_FIELD(transitionSpace);
4882
0
  READ_BITMAPSET_FIELD(aggParams);
4883
0
  READ_NODE_FIELD(groupingSets);
4884
0
  READ_NODE_FIELD(chain);
4885
4886
0
  READ_DONE();
4887
0
}
4888
4889
static WindowAgg *
4890
_readWindowAgg(ReadNodeContext *ctx)
4891
0
{
4892
0
  READ_LOCALS(WindowAgg);
4893
4894
0
  READ_INT_FIELD(plan.disabled_nodes);
4895
0
  READ_FLOAT_FIELD(plan.startup_cost);
4896
0
  READ_FLOAT_FIELD(plan.total_cost);
4897
0
  READ_FLOAT_FIELD(plan.plan_rows);
4898
0
  READ_INT_FIELD(plan.plan_width);
4899
0
  READ_BOOL_FIELD(plan.parallel_aware);
4900
0
  READ_BOOL_FIELD(plan.parallel_safe);
4901
0
  READ_BOOL_FIELD(plan.async_capable);
4902
0
  READ_INT_FIELD(plan.plan_node_id);
4903
0
  READ_NODE_FIELD(plan.targetlist);
4904
0
  READ_NODE_FIELD(plan.qual);
4905
0
  READ_NODE_FIELD(plan.lefttree);
4906
0
  READ_NODE_FIELD(plan.righttree);
4907
0
  READ_NODE_FIELD(plan.initPlan);
4908
0
  READ_BITMAPSET_FIELD(plan.extParam);
4909
0
  READ_BITMAPSET_FIELD(plan.allParam);
4910
0
  READ_STRING_FIELD(winname);
4911
0
  READ_UINT_FIELD(winref);
4912
0
  READ_INT_FIELD(partNumCols);
4913
0
  READ_ATTRNUMBER_ARRAY(partColIdx, local_node->partNumCols);
4914
0
  READ_OID_ARRAY(partOperators, local_node->partNumCols);
4915
0
  READ_OID_ARRAY(partCollations, local_node->partNumCols);
4916
0
  READ_INT_FIELD(ordNumCols);
4917
0
  READ_ATTRNUMBER_ARRAY(ordColIdx, local_node->ordNumCols);
4918
0
  READ_OID_ARRAY(ordOperators, local_node->ordNumCols);
4919
0
  READ_OID_ARRAY(ordCollations, local_node->ordNumCols);
4920
0
  READ_INT_FIELD(frameOptions);
4921
0
  READ_NODE_FIELD(startOffset);
4922
0
  READ_NODE_FIELD(endOffset);
4923
0
  READ_NODE_FIELD(runCondition);
4924
0
  READ_NODE_FIELD(runConditionOrig);
4925
0
  READ_OID_FIELD(startInRangeFunc);
4926
0
  READ_OID_FIELD(endInRangeFunc);
4927
0
  READ_OID_FIELD(inRangeColl);
4928
0
  READ_BOOL_FIELD(inRangeAsc);
4929
0
  READ_BOOL_FIELD(inRangeNullsFirst);
4930
0
  READ_BOOL_FIELD(topWindow);
4931
4932
0
  READ_DONE();
4933
0
}
4934
4935
static Unique *
4936
_readUnique(ReadNodeContext *ctx)
4937
0
{
4938
0
  READ_LOCALS(Unique);
4939
4940
0
  READ_INT_FIELD(plan.disabled_nodes);
4941
0
  READ_FLOAT_FIELD(plan.startup_cost);
4942
0
  READ_FLOAT_FIELD(plan.total_cost);
4943
0
  READ_FLOAT_FIELD(plan.plan_rows);
4944
0
  READ_INT_FIELD(plan.plan_width);
4945
0
  READ_BOOL_FIELD(plan.parallel_aware);
4946
0
  READ_BOOL_FIELD(plan.parallel_safe);
4947
0
  READ_BOOL_FIELD(plan.async_capable);
4948
0
  READ_INT_FIELD(plan.plan_node_id);
4949
0
  READ_NODE_FIELD(plan.targetlist);
4950
0
  READ_NODE_FIELD(plan.qual);
4951
0
  READ_NODE_FIELD(plan.lefttree);
4952
0
  READ_NODE_FIELD(plan.righttree);
4953
0
  READ_NODE_FIELD(plan.initPlan);
4954
0
  READ_BITMAPSET_FIELD(plan.extParam);
4955
0
  READ_BITMAPSET_FIELD(plan.allParam);
4956
0
  READ_INT_FIELD(numCols);
4957
0
  READ_ATTRNUMBER_ARRAY(uniqColIdx, local_node->numCols);
4958
0
  READ_OID_ARRAY(uniqOperators, local_node->numCols);
4959
0
  READ_OID_ARRAY(uniqCollations, local_node->numCols);
4960
4961
0
  READ_DONE();
4962
0
}
4963
4964
static Gather *
4965
_readGather(ReadNodeContext *ctx)
4966
0
{
4967
0
  READ_LOCALS(Gather);
4968
4969
0
  READ_INT_FIELD(plan.disabled_nodes);
4970
0
  READ_FLOAT_FIELD(plan.startup_cost);
4971
0
  READ_FLOAT_FIELD(plan.total_cost);
4972
0
  READ_FLOAT_FIELD(plan.plan_rows);
4973
0
  READ_INT_FIELD(plan.plan_width);
4974
0
  READ_BOOL_FIELD(plan.parallel_aware);
4975
0
  READ_BOOL_FIELD(plan.parallel_safe);
4976
0
  READ_BOOL_FIELD(plan.async_capable);
4977
0
  READ_INT_FIELD(plan.plan_node_id);
4978
0
  READ_NODE_FIELD(plan.targetlist);
4979
0
  READ_NODE_FIELD(plan.qual);
4980
0
  READ_NODE_FIELD(plan.lefttree);
4981
0
  READ_NODE_FIELD(plan.righttree);
4982
0
  READ_NODE_FIELD(plan.initPlan);
4983
0
  READ_BITMAPSET_FIELD(plan.extParam);
4984
0
  READ_BITMAPSET_FIELD(plan.allParam);
4985
0
  READ_INT_FIELD(num_workers);
4986
0
  READ_INT_FIELD(rescan_param);
4987
0
  READ_BOOL_FIELD(single_copy);
4988
0
  READ_BOOL_FIELD(invisible);
4989
0
  READ_BITMAPSET_FIELD(initParam);
4990
4991
0
  READ_DONE();
4992
0
}
4993
4994
static GatherMerge *
4995
_readGatherMerge(ReadNodeContext *ctx)
4996
0
{
4997
0
  READ_LOCALS(GatherMerge);
4998
4999
0
  READ_INT_FIELD(plan.disabled_nodes);
5000
0
  READ_FLOAT_FIELD(plan.startup_cost);
5001
0
  READ_FLOAT_FIELD(plan.total_cost);
5002
0
  READ_FLOAT_FIELD(plan.plan_rows);
5003
0
  READ_INT_FIELD(plan.plan_width);
5004
0
  READ_BOOL_FIELD(plan.parallel_aware);
5005
0
  READ_BOOL_FIELD(plan.parallel_safe);
5006
0
  READ_BOOL_FIELD(plan.async_capable);
5007
0
  READ_INT_FIELD(plan.plan_node_id);
5008
0
  READ_NODE_FIELD(plan.targetlist);
5009
0
  READ_NODE_FIELD(plan.qual);
5010
0
  READ_NODE_FIELD(plan.lefttree);
5011
0
  READ_NODE_FIELD(plan.righttree);
5012
0
  READ_NODE_FIELD(plan.initPlan);
5013
0
  READ_BITMAPSET_FIELD(plan.extParam);
5014
0
  READ_BITMAPSET_FIELD(plan.allParam);
5015
0
  READ_INT_FIELD(num_workers);
5016
0
  READ_INT_FIELD(rescan_param);
5017
0
  READ_INT_FIELD(numCols);
5018
0
  READ_ATTRNUMBER_ARRAY(sortColIdx, local_node->numCols);
5019
0
  READ_OID_ARRAY(sortOperators, local_node->numCols);
5020
0
  READ_OID_ARRAY(collations, local_node->numCols);
5021
0
  READ_BOOL_ARRAY(nullsFirst, local_node->numCols);
5022
0
  READ_BITMAPSET_FIELD(initParam);
5023
5024
0
  READ_DONE();
5025
0
}
5026
5027
static Hash *
5028
_readHash(ReadNodeContext *ctx)
5029
0
{
5030
0
  READ_LOCALS(Hash);
5031
5032
0
  READ_INT_FIELD(plan.disabled_nodes);
5033
0
  READ_FLOAT_FIELD(plan.startup_cost);
5034
0
  READ_FLOAT_FIELD(plan.total_cost);
5035
0
  READ_FLOAT_FIELD(plan.plan_rows);
5036
0
  READ_INT_FIELD(plan.plan_width);
5037
0
  READ_BOOL_FIELD(plan.parallel_aware);
5038
0
  READ_BOOL_FIELD(plan.parallel_safe);
5039
0
  READ_BOOL_FIELD(plan.async_capable);
5040
0
  READ_INT_FIELD(plan.plan_node_id);
5041
0
  READ_NODE_FIELD(plan.targetlist);
5042
0
  READ_NODE_FIELD(plan.qual);
5043
0
  READ_NODE_FIELD(plan.lefttree);
5044
0
  READ_NODE_FIELD(plan.righttree);
5045
0
  READ_NODE_FIELD(plan.initPlan);
5046
0
  READ_BITMAPSET_FIELD(plan.extParam);
5047
0
  READ_BITMAPSET_FIELD(plan.allParam);
5048
0
  READ_NODE_FIELD(hashkeys);
5049
0
  READ_OID_FIELD(skewTable);
5050
0
  READ_INT_FIELD(skewColumn);
5051
0
  READ_BOOL_FIELD(skewInherit);
5052
0
  READ_FLOAT_FIELD(rows_total);
5053
5054
0
  READ_DONE();
5055
0
}
5056
5057
static SetOp *
5058
_readSetOp(ReadNodeContext *ctx)
5059
0
{
5060
0
  READ_LOCALS(SetOp);
5061
5062
0
  READ_INT_FIELD(plan.disabled_nodes);
5063
0
  READ_FLOAT_FIELD(plan.startup_cost);
5064
0
  READ_FLOAT_FIELD(plan.total_cost);
5065
0
  READ_FLOAT_FIELD(plan.plan_rows);
5066
0
  READ_INT_FIELD(plan.plan_width);
5067
0
  READ_BOOL_FIELD(plan.parallel_aware);
5068
0
  READ_BOOL_FIELD(plan.parallel_safe);
5069
0
  READ_BOOL_FIELD(plan.async_capable);
5070
0
  READ_INT_FIELD(plan.plan_node_id);
5071
0
  READ_NODE_FIELD(plan.targetlist);
5072
0
  READ_NODE_FIELD(plan.qual);
5073
0
  READ_NODE_FIELD(plan.lefttree);
5074
0
  READ_NODE_FIELD(plan.righttree);
5075
0
  READ_NODE_FIELD(plan.initPlan);
5076
0
  READ_BITMAPSET_FIELD(plan.extParam);
5077
0
  READ_BITMAPSET_FIELD(plan.allParam);
5078
0
  READ_ENUM_FIELD(cmd, SetOpCmd);
5079
0
  READ_ENUM_FIELD(strategy, SetOpStrategy);
5080
0
  READ_INT_FIELD(numCols);
5081
0
  READ_ATTRNUMBER_ARRAY(cmpColIdx, local_node->numCols);
5082
0
  READ_OID_ARRAY(cmpOperators, local_node->numCols);
5083
0
  READ_OID_ARRAY(cmpCollations, local_node->numCols);
5084
0
  READ_BOOL_ARRAY(cmpNullsFirst, local_node->numCols);
5085
0
  READ_FLOAT_FIELD(numGroups);
5086
5087
0
  READ_DONE();
5088
0
}
5089
5090
static LockRows *
5091
_readLockRows(ReadNodeContext *ctx)
5092
0
{
5093
0
  READ_LOCALS(LockRows);
5094
5095
0
  READ_INT_FIELD(plan.disabled_nodes);
5096
0
  READ_FLOAT_FIELD(plan.startup_cost);
5097
0
  READ_FLOAT_FIELD(plan.total_cost);
5098
0
  READ_FLOAT_FIELD(plan.plan_rows);
5099
0
  READ_INT_FIELD(plan.plan_width);
5100
0
  READ_BOOL_FIELD(plan.parallel_aware);
5101
0
  READ_BOOL_FIELD(plan.parallel_safe);
5102
0
  READ_BOOL_FIELD(plan.async_capable);
5103
0
  READ_INT_FIELD(plan.plan_node_id);
5104
0
  READ_NODE_FIELD(plan.targetlist);
5105
0
  READ_NODE_FIELD(plan.qual);
5106
0
  READ_NODE_FIELD(plan.lefttree);
5107
0
  READ_NODE_FIELD(plan.righttree);
5108
0
  READ_NODE_FIELD(plan.initPlan);
5109
0
  READ_BITMAPSET_FIELD(plan.extParam);
5110
0
  READ_BITMAPSET_FIELD(plan.allParam);
5111
0
  READ_NODE_FIELD(rowMarks);
5112
0
  READ_INT_FIELD(epqParam);
5113
5114
0
  READ_DONE();
5115
0
}
5116
5117
static Limit *
5118
_readLimit(ReadNodeContext *ctx)
5119
0
{
5120
0
  READ_LOCALS(Limit);
5121
5122
0
  READ_INT_FIELD(plan.disabled_nodes);
5123
0
  READ_FLOAT_FIELD(plan.startup_cost);
5124
0
  READ_FLOAT_FIELD(plan.total_cost);
5125
0
  READ_FLOAT_FIELD(plan.plan_rows);
5126
0
  READ_INT_FIELD(plan.plan_width);
5127
0
  READ_BOOL_FIELD(plan.parallel_aware);
5128
0
  READ_BOOL_FIELD(plan.parallel_safe);
5129
0
  READ_BOOL_FIELD(plan.async_capable);
5130
0
  READ_INT_FIELD(plan.plan_node_id);
5131
0
  READ_NODE_FIELD(plan.targetlist);
5132
0
  READ_NODE_FIELD(plan.qual);
5133
0
  READ_NODE_FIELD(plan.lefttree);
5134
0
  READ_NODE_FIELD(plan.righttree);
5135
0
  READ_NODE_FIELD(plan.initPlan);
5136
0
  READ_BITMAPSET_FIELD(plan.extParam);
5137
0
  READ_BITMAPSET_FIELD(plan.allParam);
5138
0
  READ_NODE_FIELD(limitOffset);
5139
0
  READ_NODE_FIELD(limitCount);
5140
0
  READ_ENUM_FIELD(limitOption, LimitOption);
5141
0
  READ_INT_FIELD(uniqNumCols);
5142
0
  READ_ATTRNUMBER_ARRAY(uniqColIdx, local_node->uniqNumCols);
5143
0
  READ_OID_ARRAY(uniqOperators, local_node->uniqNumCols);
5144
0
  READ_OID_ARRAY(uniqCollations, local_node->uniqNumCols);
5145
5146
0
  READ_DONE();
5147
0
}
5148
5149
static PlanRowMark *
5150
_readPlanRowMark(ReadNodeContext *ctx)
5151
0
{
5152
0
  READ_LOCALS(PlanRowMark);
5153
5154
0
  READ_UINT_FIELD(rti);
5155
0
  READ_UINT_FIELD(prti);
5156
0
  READ_UINT_FIELD(rowmarkId);
5157
0
  READ_ENUM_FIELD(markType, RowMarkType);
5158
0
  READ_INT_FIELD(allMarkTypes);
5159
0
  READ_ENUM_FIELD(strength, LockClauseStrength);
5160
0
  READ_ENUM_FIELD(waitPolicy, LockWaitPolicy);
5161
0
  READ_BOOL_FIELD(isParent);
5162
5163
0
  READ_DONE();
5164
0
}
5165
5166
static PartitionPruneInfo *
5167
_readPartitionPruneInfo(ReadNodeContext *ctx)
5168
0
{
5169
0
  READ_LOCALS(PartitionPruneInfo);
5170
5171
0
  READ_BITMAPSET_FIELD(relids);
5172
0
  READ_NODE_FIELD(prune_infos);
5173
0
  READ_BITMAPSET_FIELD(other_subplans);
5174
5175
0
  READ_DONE();
5176
0
}
5177
5178
static PartitionedRelPruneInfo *
5179
_readPartitionedRelPruneInfo(ReadNodeContext *ctx)
5180
0
{
5181
0
  READ_LOCALS(PartitionedRelPruneInfo);
5182
5183
0
  READ_UINT_FIELD(rtindex);
5184
0
  READ_BITMAPSET_FIELD(present_parts);
5185
0
  READ_INT_FIELD(nparts);
5186
0
  READ_INT_ARRAY(subplan_map, local_node->nparts);
5187
0
  READ_INT_ARRAY(subpart_map, local_node->nparts);
5188
0
  READ_INT_ARRAY(leafpart_rti_map, local_node->nparts);
5189
0
  READ_OID_ARRAY(relid_map, local_node->nparts);
5190
0
  READ_NODE_FIELD(initial_pruning_steps);
5191
0
  READ_NODE_FIELD(exec_pruning_steps);
5192
0
  READ_BITMAPSET_FIELD(execparamids);
5193
5194
0
  READ_DONE();
5195
0
}
5196
5197
static PartitionPruneStepOp *
5198
_readPartitionPruneStepOp(ReadNodeContext *ctx)
5199
0
{
5200
0
  READ_LOCALS(PartitionPruneStepOp);
5201
5202
0
  READ_INT_FIELD(step.step_id);
5203
0
  READ_INT_FIELD(opstrategy);
5204
0
  READ_NODE_FIELD(exprs);
5205
0
  READ_NODE_FIELD(cmpfns);
5206
0
  READ_BITMAPSET_FIELD(nullkeys);
5207
5208
0
  READ_DONE();
5209
0
}
5210
5211
static PartitionPruneStepCombine *
5212
_readPartitionPruneStepCombine(ReadNodeContext *ctx)
5213
0
{
5214
0
  READ_LOCALS(PartitionPruneStepCombine);
5215
5216
0
  READ_INT_FIELD(step.step_id);
5217
0
  READ_ENUM_FIELD(combineOp, PartitionPruneCombineOp);
5218
0
  READ_NODE_FIELD(source_stepids);
5219
5220
0
  READ_DONE();
5221
0
}
5222
5223
static PlanInvalItem *
5224
_readPlanInvalItem(ReadNodeContext *ctx)
5225
0
{
5226
0
  READ_LOCALS(PlanInvalItem);
5227
5228
0
  READ_INT_FIELD(cacheId);
5229
0
  READ_UINT_FIELD(hashValue);
5230
5231
0
  READ_DONE();
5232
0
}
5233
5234
static SubPlanRTInfo *
5235
_readSubPlanRTInfo(ReadNodeContext *ctx)
5236
0
{
5237
0
  READ_LOCALS(SubPlanRTInfo);
5238
5239
0
  READ_STRING_FIELD(plan_name);
5240
0
  READ_UINT_FIELD(rtoffset);
5241
0
  READ_BOOL_FIELD(dummy);
5242
5243
0
  READ_DONE();
5244
0
}
5245
5246
static ElidedNode *
5247
_readElidedNode(ReadNodeContext *ctx)
5248
0
{
5249
0
  READ_LOCALS(ElidedNode);
5250
5251
0
  READ_INT_FIELD(plan_node_id);
5252
0
  READ_ENUM_FIELD(elided_type, NodeTag);
5253
0
  READ_BITMAPSET_FIELD(relids);
5254
0
  READ_NODE_FIELD(child_append_relid_sets);
5255
5256
0
  READ_DONE();
5257
0
}