Branch data Line data Source code
1 : : /*-------------------------------------------------------------------------
2 : : *
3 : : * outfuncs.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 void
43 : 1804783 : _outAlias(StringInfo str, const Alias *node)
44 : : {
45 : 1804783 : WRITE_NODE_TYPE("ALIAS");
46 : :
47 : 1804783 : WRITE_STRING_FIELD(aliasname);
48 : 1804783 : WRITE_NODE_FIELD(colnames);
49 : 1804783 : }
50 : :
51 : : static void
52 : 571317 : _outRangeVar(StringInfo str, const RangeVar *node)
53 : : {
54 : 571317 : WRITE_NODE_TYPE("RANGEVAR");
55 : :
56 : 571317 : WRITE_STRING_FIELD(catalogname);
57 : 571317 : WRITE_STRING_FIELD(schemaname);
58 : 571317 : WRITE_STRING_FIELD(relname);
59 [ + + ]: 571317 : WRITE_BOOL_FIELD(inh);
60 : 571317 : WRITE_CHAR_FIELD(relpersistence);
61 : 571317 : WRITE_NODE_FIELD(alias);
62 [ + - ]: 571317 : WRITE_LOCATION_FIELD(location);
63 : 571317 : }
64 : :
65 : : static void
66 : 874 : _outTableFunc(StringInfo str, const TableFunc *node)
67 : : {
68 : 874 : WRITE_NODE_TYPE("TABLEFUNC");
69 : :
70 : 874 : WRITE_ENUM_FIELD(functype, TableFuncType);
71 : 874 : WRITE_NODE_FIELD(ns_uris);
72 : 874 : WRITE_NODE_FIELD(ns_names);
73 : 874 : WRITE_NODE_FIELD(docexpr);
74 : 874 : WRITE_NODE_FIELD(rowexpr);
75 : 874 : WRITE_NODE_FIELD(colnames);
76 : 874 : WRITE_NODE_FIELD(coltypes);
77 : 874 : WRITE_NODE_FIELD(coltypmods);
78 : 874 : WRITE_NODE_FIELD(colcollations);
79 : 874 : WRITE_NODE_FIELD(colexprs);
80 : 874 : WRITE_NODE_FIELD(coldefexprs);
81 : 874 : WRITE_NODE_FIELD(colvalexprs);
82 : 874 : WRITE_NODE_FIELD(passingvalexprs);
83 : 874 : WRITE_BITMAPSET_FIELD(notnulls);
84 : 874 : WRITE_NODE_FIELD(plan);
85 : 874 : WRITE_INT_FIELD(ordinalitycol);
86 [ + + ]: 874 : WRITE_LOCATION_FIELD(location);
87 : 874 : }
88 : :
89 : : static void
90 : 2594 : _outIntoClause(StringInfo str, const IntoClause *node)
91 : : {
92 : 2594 : WRITE_NODE_TYPE("INTOCLAUSE");
93 : :
94 : 2594 : WRITE_NODE_FIELD(rel);
95 : 2594 : WRITE_NODE_FIELD(colNames);
96 : 2594 : WRITE_STRING_FIELD(accessMethod);
97 : 2594 : WRITE_NODE_FIELD(options);
98 : 2594 : WRITE_ENUM_FIELD(onCommit, OnCommitAction);
99 : 2594 : WRITE_STRING_FIELD(tableSpaceName);
100 : 2594 : WRITE_NODE_FIELD(viewQuery);
101 [ + + ]: 2594 : WRITE_BOOL_FIELD(skipData);
102 : 2594 : }
103 : :
104 : : static void
105 : 8175369 : _outVar(StringInfo str, const Var *node)
106 : : {
107 : 8175369 : WRITE_NODE_TYPE("VAR");
108 : :
109 : 8175369 : WRITE_INT_FIELD(varno);
110 : 8175369 : WRITE_INT_FIELD(varattno);
111 : 8175369 : WRITE_OID_FIELD(vartype);
112 : 8175369 : WRITE_INT_FIELD(vartypmod);
113 : 8175369 : WRITE_OID_FIELD(varcollid);
114 : 8175369 : WRITE_BITMAPSET_FIELD(varnullingrels);
115 : 8175369 : WRITE_UINT_FIELD(varlevelsup);
116 : 8175369 : WRITE_ENUM_FIELD(varreturningtype, VarReturningType);
117 : 8175369 : WRITE_UINT_FIELD(varnosyn);
118 : 8175369 : WRITE_INT_FIELD(varattnosyn);
119 [ + + ]: 8175369 : WRITE_LOCATION_FIELD(location);
120 : 8175369 : }
121 : :
122 : : static void
123 : 205917 : _outParam(StringInfo str, const Param *node)
124 : : {
125 : 205917 : WRITE_NODE_TYPE("PARAM");
126 : :
127 : 205917 : WRITE_ENUM_FIELD(paramkind, ParamKind);
128 : 205917 : WRITE_INT_FIELD(paramid);
129 : 205917 : WRITE_OID_FIELD(paramtype);
130 : 205917 : WRITE_INT_FIELD(paramtypmod);
131 : 205917 : WRITE_OID_FIELD(paramcollid);
132 [ + + ]: 205917 : WRITE_LOCATION_FIELD(location);
133 : 205917 : }
134 : :
135 : : static void
136 : 68253 : _outAggref(StringInfo str, const Aggref *node)
137 : : {
138 : 68253 : WRITE_NODE_TYPE("AGGREF");
139 : :
140 : 68253 : WRITE_OID_FIELD(aggfnoid);
141 : 68253 : WRITE_OID_FIELD(aggtype);
142 : 68253 : WRITE_OID_FIELD(aggcollid);
143 : 68253 : WRITE_OID_FIELD(inputcollid);
144 : 68253 : WRITE_OID_FIELD(aggtranstype);
145 : 68253 : WRITE_NODE_FIELD(aggargtypes);
146 : 68253 : WRITE_NODE_FIELD(aggdirectargs);
147 : 68253 : WRITE_NODE_FIELD(args);
148 : 68253 : WRITE_NODE_FIELD(aggorder);
149 : 68253 : WRITE_NODE_FIELD(aggdistinct);
150 : 68253 : WRITE_NODE_FIELD(aggfilter);
151 [ + + ]: 68253 : WRITE_BOOL_FIELD(aggstar);
152 [ + + ]: 68253 : WRITE_BOOL_FIELD(aggvariadic);
153 : 68253 : WRITE_CHAR_FIELD(aggkind);
154 [ + + ]: 68253 : WRITE_BOOL_FIELD(aggpresorted);
155 : 68253 : WRITE_UINT_FIELD(agglevelsup);
156 : 68253 : WRITE_ENUM_FIELD(aggsplit, AggSplit);
157 : 68253 : WRITE_INT_FIELD(aggno);
158 : 68253 : WRITE_INT_FIELD(aggtransno);
159 [ + + ]: 68253 : WRITE_LOCATION_FIELD(location);
160 : 68253 : }
161 : :
162 : : static void
163 : 748 : _outGroupingFunc(StringInfo str, const GroupingFunc *node)
164 : : {
165 : 748 : WRITE_NODE_TYPE("GROUPINGFUNC");
166 : :
167 : 748 : WRITE_NODE_FIELD(args);
168 : 748 : WRITE_NODE_FIELD(refs);
169 : 748 : WRITE_NODE_FIELD(cols);
170 : 748 : WRITE_UINT_FIELD(agglevelsup);
171 [ + + ]: 748 : WRITE_LOCATION_FIELD(location);
172 : 748 : }
173 : :
174 : : static void
175 : 5417 : _outWindowFunc(StringInfo str, const WindowFunc *node)
176 : : {
177 : 5417 : WRITE_NODE_TYPE("WINDOWFUNC");
178 : :
179 : 5417 : WRITE_OID_FIELD(winfnoid);
180 : 5417 : WRITE_OID_FIELD(wintype);
181 : 5417 : WRITE_OID_FIELD(wincollid);
182 : 5417 : WRITE_OID_FIELD(inputcollid);
183 : 5417 : WRITE_NODE_FIELD(args);
184 : 5417 : WRITE_NODE_FIELD(aggfilter);
185 : 5417 : WRITE_NODE_FIELD(runCondition);
186 : 5417 : WRITE_UINT_FIELD(winref);
187 [ + + ]: 5417 : WRITE_BOOL_FIELD(winstar);
188 [ + + ]: 5417 : WRITE_BOOL_FIELD(winagg);
189 : 5417 : WRITE_INT_FIELD(ignore_nulls);
190 [ + + ]: 5417 : WRITE_LOCATION_FIELD(location);
191 : 5417 : }
192 : :
193 : : static void
194 : 272 : _outWindowFuncRunCondition(StringInfo str, const WindowFuncRunCondition *node)
195 : : {
196 : 272 : WRITE_NODE_TYPE("WINDOWFUNCRUNCONDITION");
197 : :
198 : 272 : WRITE_OID_FIELD(opno);
199 : 272 : WRITE_OID_FIELD(inputcollid);
200 [ + + ]: 272 : WRITE_BOOL_FIELD(wfunc_left);
201 : 272 : WRITE_NODE_FIELD(arg);
202 : 272 : }
203 : :
204 : : static void
205 : 573 : _outMergeSupportFunc(StringInfo str, const MergeSupportFunc *node)
206 : : {
207 : 573 : WRITE_NODE_TYPE("MERGESUPPORTFUNC");
208 : :
209 : 573 : WRITE_OID_FIELD(msftype);
210 : 573 : WRITE_OID_FIELD(msfcollid);
211 [ + + ]: 573 : WRITE_LOCATION_FIELD(location);
212 : 573 : }
213 : :
214 : : static void
215 : 26249 : _outSubscriptingRef(StringInfo str, const SubscriptingRef *node)
216 : : {
217 : 26249 : WRITE_NODE_TYPE("SUBSCRIPTINGREF");
218 : :
219 : 26249 : WRITE_OID_FIELD(refcontainertype);
220 : 26249 : WRITE_OID_FIELD(refelemtype);
221 : 26249 : WRITE_OID_FIELD(refrestype);
222 : 26249 : WRITE_INT_FIELD(reftypmod);
223 : 26249 : WRITE_OID_FIELD(refcollid);
224 : 26249 : WRITE_NODE_FIELD(refupperindexpr);
225 : 26249 : WRITE_NODE_FIELD(reflowerindexpr);
226 : 26249 : WRITE_NODE_FIELD(refexpr);
227 : 26249 : WRITE_NODE_FIELD(refassgnexpr);
228 : 26249 : }
229 : :
230 : : static void
231 : 494087 : _outFuncExpr(StringInfo str, const FuncExpr *node)
232 : : {
233 : 494087 : WRITE_NODE_TYPE("FUNCEXPR");
234 : :
235 : 494087 : WRITE_OID_FIELD(funcid);
236 : 494087 : WRITE_OID_FIELD(funcresulttype);
237 [ + + ]: 494087 : WRITE_BOOL_FIELD(funcretset);
238 [ + + ]: 494087 : WRITE_BOOL_FIELD(funcvariadic);
239 : 494087 : WRITE_ENUM_FIELD(funcformat, CoercionForm);
240 : 494087 : WRITE_OID_FIELD(funccollid);
241 : 494087 : WRITE_OID_FIELD(inputcollid);
242 : 494087 : WRITE_NODE_FIELD(args);
243 [ + + ]: 494087 : WRITE_LOCATION_FIELD(location);
244 : 494087 : }
245 : :
246 : : static void
247 : 50908 : _outNamedArgExpr(StringInfo str, const NamedArgExpr *node)
248 : : {
249 : 50908 : WRITE_NODE_TYPE("NAMEDARGEXPR");
250 : :
251 : 50908 : WRITE_NODE_FIELD(arg);
252 : 50908 : WRITE_STRING_FIELD(name);
253 : 50908 : WRITE_INT_FIELD(argnumber);
254 [ + + ]: 50908 : WRITE_LOCATION_FIELD(location);
255 : 50908 : }
256 : :
257 : : static void
258 : 1009724 : _outOpExpr(StringInfo str, const OpExpr *node)
259 : : {
260 : 1009724 : WRITE_NODE_TYPE("OPEXPR");
261 : :
262 : 1009724 : WRITE_OID_FIELD(opno);
263 : 1009724 : WRITE_OID_FIELD(opfuncid);
264 : 1009724 : WRITE_OID_FIELD(opresulttype);
265 [ + + ]: 1009724 : WRITE_BOOL_FIELD(opretset);
266 : 1009724 : WRITE_OID_FIELD(opcollid);
267 : 1009724 : WRITE_OID_FIELD(inputcollid);
268 : 1009724 : WRITE_NODE_FIELD(args);
269 [ + + ]: 1009724 : WRITE_LOCATION_FIELD(location);
270 : 1009724 : }
271 : :
272 : : static void
273 : 1281 : _outDistinctExpr(StringInfo str, const DistinctExpr *node)
274 : : {
275 : 1281 : WRITE_NODE_TYPE("DISTINCTEXPR");
276 : :
277 : 1281 : WRITE_OID_FIELD(opno);
278 : 1281 : WRITE_OID_FIELD(opfuncid);
279 : 1281 : WRITE_OID_FIELD(opresulttype);
280 [ - + ]: 1281 : WRITE_BOOL_FIELD(opretset);
281 : 1281 : WRITE_OID_FIELD(opcollid);
282 : 1281 : WRITE_OID_FIELD(inputcollid);
283 : 1281 : WRITE_NODE_FIELD(args);
284 [ + + ]: 1281 : WRITE_LOCATION_FIELD(location);
285 : 1281 : }
286 : :
287 : : static void
288 : 735 : _outNullIfExpr(StringInfo str, const NullIfExpr *node)
289 : : {
290 : 735 : WRITE_NODE_TYPE("NULLIFEXPR");
291 : :
292 : 735 : WRITE_OID_FIELD(opno);
293 : 735 : WRITE_OID_FIELD(opfuncid);
294 : 735 : WRITE_OID_FIELD(opresulttype);
295 [ - + ]: 735 : WRITE_BOOL_FIELD(opretset);
296 : 735 : WRITE_OID_FIELD(opcollid);
297 : 735 : WRITE_OID_FIELD(inputcollid);
298 : 735 : WRITE_NODE_FIELD(args);
299 [ + + ]: 735 : WRITE_LOCATION_FIELD(location);
300 : 735 : }
301 : :
302 : : static void
303 : 47888 : _outScalarArrayOpExpr(StringInfo str, const ScalarArrayOpExpr *node)
304 : : {
305 : 47888 : WRITE_NODE_TYPE("SCALARARRAYOPEXPR");
306 : :
307 : 47888 : WRITE_OID_FIELD(opno);
308 : 47888 : WRITE_OID_FIELD(opfuncid);
309 : 47888 : WRITE_OID_FIELD(hashfuncid);
310 : 47888 : WRITE_OID_FIELD(negfuncid);
311 [ + + ]: 47888 : WRITE_BOOL_FIELD(useOr);
312 : 47888 : WRITE_OID_FIELD(inputcollid);
313 : 47888 : WRITE_NODE_FIELD(args);
314 [ + + ]: 47888 : WRITE_LOCATION_FIELD(location);
315 : 47888 : }
316 : :
317 : : static void
318 : 67308 : _outSubLink(StringInfo str, const SubLink *node)
319 : : {
320 : 67308 : WRITE_NODE_TYPE("SUBLINK");
321 : :
322 : 67308 : WRITE_ENUM_FIELD(subLinkType, SubLinkType);
323 : 67308 : WRITE_INT_FIELD(subLinkId);
324 : 67308 : WRITE_NODE_FIELD(testexpr);
325 : 67308 : WRITE_NODE_FIELD(operName);
326 : 67308 : WRITE_NODE_FIELD(subselect);
327 [ + + ]: 67308 : WRITE_LOCATION_FIELD(location);
328 : 67308 : }
329 : :
330 : : static void
331 : 27111 : _outSubPlan(StringInfo str, const SubPlan *node)
332 : : {
333 : 27111 : WRITE_NODE_TYPE("SUBPLAN");
334 : :
335 : 27111 : WRITE_ENUM_FIELD(subLinkType, SubLinkType);
336 : 27111 : WRITE_NODE_FIELD(testexpr);
337 : 27111 : WRITE_NODE_FIELD(paramIds);
338 : 27111 : WRITE_INT_FIELD(plan_id);
339 : 27111 : WRITE_STRING_FIELD(plan_name);
340 : 27111 : WRITE_OID_FIELD(firstColType);
341 : 27111 : WRITE_INT_FIELD(firstColTypmod);
342 : 27111 : WRITE_OID_FIELD(firstColCollation);
343 [ + + ]: 27111 : WRITE_BOOL_FIELD(isInitPlan);
344 [ + + ]: 27111 : WRITE_BOOL_FIELD(useHashTable);
345 [ + + ]: 27111 : WRITE_BOOL_FIELD(unknownEqFalse);
346 [ + + ]: 27111 : WRITE_BOOL_FIELD(parallel_safe);
347 : 27111 : WRITE_NODE_FIELD(setParam);
348 : 27111 : WRITE_NODE_FIELD(parParam);
349 : 27111 : WRITE_NODE_FIELD(args);
350 : 27111 : WRITE_INT_FIELD(disabled_nodes);
351 : 27111 : WRITE_FLOAT_FIELD(startup_cost);
352 : 27111 : WRITE_FLOAT_FIELD(per_call_cost);
353 : 27111 : }
354 : :
355 : : static void
356 : 0 : _outAlternativeSubPlan(StringInfo str, const AlternativeSubPlan *node)
357 : : {
358 : 0 : WRITE_NODE_TYPE("ALTERNATIVESUBPLAN");
359 : :
360 : 0 : WRITE_NODE_FIELD(subplans);
361 : 0 : }
362 : :
363 : : static void
364 : 47838 : _outFieldSelect(StringInfo str, const FieldSelect *node)
365 : : {
366 : 47838 : WRITE_NODE_TYPE("FIELDSELECT");
367 : :
368 : 47838 : WRITE_NODE_FIELD(arg);
369 : 47838 : WRITE_INT_FIELD(fieldnum);
370 : 47838 : WRITE_OID_FIELD(resulttype);
371 : 47838 : WRITE_INT_FIELD(resulttypmod);
372 : 47838 : WRITE_OID_FIELD(resultcollid);
373 : 47838 : }
374 : :
375 : : static void
376 : 574 : _outFieldStore(StringInfo str, const FieldStore *node)
377 : : {
378 : 574 : WRITE_NODE_TYPE("FIELDSTORE");
379 : :
380 : 574 : WRITE_NODE_FIELD(arg);
381 : 574 : WRITE_NODE_FIELD(newvals);
382 : 574 : WRITE_NODE_FIELD(fieldnums);
383 : 574 : WRITE_OID_FIELD(resulttype);
384 : 574 : }
385 : :
386 : : static void
387 : 166485 : _outRelabelType(StringInfo str, const RelabelType *node)
388 : : {
389 : 166485 : WRITE_NODE_TYPE("RELABELTYPE");
390 : :
391 : 166485 : WRITE_NODE_FIELD(arg);
392 : 166485 : WRITE_OID_FIELD(resulttype);
393 : 166485 : WRITE_INT_FIELD(resulttypmod);
394 : 166485 : WRITE_OID_FIELD(resultcollid);
395 : 166485 : WRITE_ENUM_FIELD(relabelformat, CoercionForm);
396 [ + + ]: 166485 : WRITE_LOCATION_FIELD(location);
397 : 166485 : }
398 : :
399 : : static void
400 : 35730 : _outCoerceViaIO(StringInfo str, const CoerceViaIO *node)
401 : : {
402 : 35730 : WRITE_NODE_TYPE("COERCEVIAIO");
403 : :
404 : 35730 : WRITE_NODE_FIELD(arg);
405 : 35730 : WRITE_OID_FIELD(resulttype);
406 : 35730 : WRITE_OID_FIELD(resultcollid);
407 : 35730 : WRITE_ENUM_FIELD(coerceformat, CoercionForm);
408 [ + + ]: 35730 : WRITE_LOCATION_FIELD(location);
409 : 35730 : }
410 : :
411 : : static void
412 : 6690 : _outArrayCoerceExpr(StringInfo str, const ArrayCoerceExpr *node)
413 : : {
414 : 6690 : WRITE_NODE_TYPE("ARRAYCOERCEEXPR");
415 : :
416 : 6690 : WRITE_NODE_FIELD(arg);
417 : 6690 : WRITE_NODE_FIELD(elemexpr);
418 : 6690 : WRITE_OID_FIELD(resulttype);
419 : 6690 : WRITE_INT_FIELD(resulttypmod);
420 : 6690 : WRITE_OID_FIELD(resultcollid);
421 : 6690 : WRITE_ENUM_FIELD(coerceformat, CoercionForm);
422 [ + + ]: 6690 : WRITE_LOCATION_FIELD(location);
423 : 6690 : }
424 : :
425 : : static void
426 : 555 : _outConvertRowtypeExpr(StringInfo str, const ConvertRowtypeExpr *node)
427 : : {
428 : 555 : WRITE_NODE_TYPE("CONVERTROWTYPEEXPR");
429 : :
430 : 555 : WRITE_NODE_FIELD(arg);
431 : 555 : WRITE_OID_FIELD(resulttype);
432 : 555 : WRITE_ENUM_FIELD(convertformat, CoercionForm);
433 [ + - ]: 555 : WRITE_LOCATION_FIELD(location);
434 : 555 : }
435 : :
436 : : static void
437 : 6894 : _outCollateExpr(StringInfo str, const CollateExpr *node)
438 : : {
439 : 6894 : WRITE_NODE_TYPE("COLLATEEXPR");
440 : :
441 : 6894 : WRITE_NODE_FIELD(arg);
442 : 6894 : WRITE_OID_FIELD(collOid);
443 [ + + ]: 6894 : WRITE_LOCATION_FIELD(location);
444 : 6894 : }
445 : :
446 : : static void
447 : 90940 : _outCaseExpr(StringInfo str, const CaseExpr *node)
448 : : {
449 : 90940 : WRITE_NODE_TYPE("CASEEXPR");
450 : :
451 : 90940 : WRITE_OID_FIELD(casetype);
452 : 90940 : WRITE_OID_FIELD(casecollid);
453 : 90940 : WRITE_NODE_FIELD(arg);
454 : 90940 : WRITE_NODE_FIELD(args);
455 : 90940 : WRITE_NODE_FIELD(defresult);
456 [ + + ]: 90940 : WRITE_LOCATION_FIELD(location);
457 : 90940 : }
458 : :
459 : : static void
460 : 185800 : _outCaseWhen(StringInfo str, const CaseWhen *node)
461 : : {
462 : 185800 : WRITE_NODE_TYPE("CASEWHEN");
463 : :
464 : 185800 : WRITE_NODE_FIELD(expr);
465 : 185800 : WRITE_NODE_FIELD(result);
466 [ + + ]: 185800 : WRITE_LOCATION_FIELD(location);
467 : 185800 : }
468 : :
469 : : static void
470 : 41453 : _outCaseTestExpr(StringInfo str, const CaseTestExpr *node)
471 : : {
472 : 41453 : WRITE_NODE_TYPE("CASETESTEXPR");
473 : :
474 : 41453 : WRITE_OID_FIELD(typeId);
475 : 41453 : WRITE_INT_FIELD(typeMod);
476 : 41453 : WRITE_OID_FIELD(collation);
477 : 41453 : }
478 : :
479 : : static void
480 : 21094 : _outArrayExpr(StringInfo str, const ArrayExpr *node)
481 : : {
482 : 21094 : WRITE_NODE_TYPE("ARRAYEXPR");
483 : :
484 : 21094 : WRITE_OID_FIELD(array_typeid);
485 : 21094 : WRITE_OID_FIELD(array_collid);
486 : 21094 : WRITE_OID_FIELD(element_typeid);
487 : 21094 : WRITE_NODE_FIELD(elements);
488 [ + + ]: 21094 : WRITE_BOOL_FIELD(multidims);
489 [ + + ]: 21094 : WRITE_LOCATION_FIELD(list_start);
490 [ + + ]: 21094 : WRITE_LOCATION_FIELD(list_end);
491 [ + + ]: 21094 : WRITE_LOCATION_FIELD(location);
492 : 21094 : }
493 : :
494 : : static void
495 : 9300 : _outRowExpr(StringInfo str, const RowExpr *node)
496 : : {
497 : 9300 : WRITE_NODE_TYPE("ROWEXPR");
498 : :
499 : 9300 : WRITE_NODE_FIELD(args);
500 : 9300 : WRITE_OID_FIELD(row_typeid);
501 : 9300 : WRITE_ENUM_FIELD(row_format, CoercionForm);
502 : 9300 : WRITE_NODE_FIELD(colnames);
503 [ + + ]: 9300 : WRITE_LOCATION_FIELD(location);
504 : 9300 : }
505 : :
506 : : static void
507 : 508 : _outRowCompareExpr(StringInfo str, const RowCompareExpr *node)
508 : : {
509 : 508 : WRITE_NODE_TYPE("ROWCOMPAREEXPR");
510 : :
511 : 508 : WRITE_ENUM_FIELD(cmptype, CompareType);
512 : 508 : WRITE_NODE_FIELD(opnos);
513 : 508 : WRITE_NODE_FIELD(opfamilies);
514 : 508 : WRITE_NODE_FIELD(inputcollids);
515 : 508 : WRITE_NODE_FIELD(largs);
516 : 508 : WRITE_NODE_FIELD(rargs);
517 : 508 : }
518 : :
519 : : static void
520 : 10180 : _outCoalesceExpr(StringInfo str, const CoalesceExpr *node)
521 : : {
522 : 10180 : WRITE_NODE_TYPE("COALESCEEXPR");
523 : :
524 : 10180 : WRITE_OID_FIELD(coalescetype);
525 : 10180 : WRITE_OID_FIELD(coalescecollid);
526 : 10180 : WRITE_NODE_FIELD(args);
527 [ + + ]: 10180 : WRITE_LOCATION_FIELD(location);
528 : 10180 : }
529 : :
530 : : static void
531 : 635 : _outMinMaxExpr(StringInfo str, const MinMaxExpr *node)
532 : : {
533 : 635 : WRITE_NODE_TYPE("MINMAXEXPR");
534 : :
535 : 635 : WRITE_OID_FIELD(minmaxtype);
536 : 635 : WRITE_OID_FIELD(minmaxcollid);
537 : 635 : WRITE_OID_FIELD(inputcollid);
538 : 635 : WRITE_ENUM_FIELD(op, MinMaxOp);
539 : 635 : WRITE_NODE_FIELD(args);
540 [ + + ]: 635 : WRITE_LOCATION_FIELD(location);
541 : 635 : }
542 : :
543 : : static void
544 : 8416 : _outSQLValueFunction(StringInfo str, const SQLValueFunction *node)
545 : : {
546 : 8416 : WRITE_NODE_TYPE("SQLVALUEFUNCTION");
547 : :
548 : 8416 : WRITE_ENUM_FIELD(op, SQLValueFunctionOp);
549 : 8416 : WRITE_OID_FIELD(type);
550 : 8416 : WRITE_INT_FIELD(typmod);
551 [ + + ]: 8416 : WRITE_LOCATION_FIELD(location);
552 : 8416 : }
553 : :
554 : : static void
555 : 1425 : _outXmlExpr(StringInfo str, const XmlExpr *node)
556 : : {
557 : 1425 : WRITE_NODE_TYPE("XMLEXPR");
558 : :
559 : 1425 : WRITE_ENUM_FIELD(op, XmlExprOp);
560 : 1425 : WRITE_STRING_FIELD(name);
561 : 1425 : WRITE_NODE_FIELD(named_args);
562 : 1425 : WRITE_NODE_FIELD(arg_names);
563 : 1425 : WRITE_NODE_FIELD(args);
564 : 1425 : WRITE_ENUM_FIELD(xmloption, XmlOptionType);
565 [ + + ]: 1425 : WRITE_BOOL_FIELD(indent);
566 : 1425 : WRITE_OID_FIELD(type);
567 : 1425 : WRITE_INT_FIELD(typmod);
568 [ + + ]: 1425 : WRITE_LOCATION_FIELD(location);
569 : 1425 : }
570 : :
571 : : static void
572 : 16634 : _outJsonFormat(StringInfo str, const JsonFormat *node)
573 : : {
574 : 16634 : WRITE_NODE_TYPE("JSONFORMAT");
575 : :
576 : 16634 : WRITE_ENUM_FIELD(format_type, JsonFormatType);
577 : 16634 : WRITE_ENUM_FIELD(encoding, JsonEncoding);
578 [ + + ]: 16634 : WRITE_LOCATION_FIELD(location);
579 : 16634 : }
580 : :
581 : : static void
582 : 7298 : _outJsonReturning(StringInfo str, const JsonReturning *node)
583 : : {
584 : 7298 : WRITE_NODE_TYPE("JSONRETURNING");
585 : :
586 : 7298 : WRITE_NODE_FIELD(format);
587 : 7298 : WRITE_OID_FIELD(typid);
588 : 7298 : WRITE_INT_FIELD(typmod);
589 : 7298 : }
590 : :
591 : : static void
592 : 4428 : _outJsonValueExpr(StringInfo str, const JsonValueExpr *node)
593 : : {
594 : 4428 : WRITE_NODE_TYPE("JSONVALUEEXPR");
595 : :
596 : 4428 : WRITE_NODE_FIELD(raw_expr);
597 : 4428 : WRITE_NODE_FIELD(formatted_expr);
598 : 4428 : WRITE_NODE_FIELD(format);
599 : 4428 : }
600 : :
601 : : static void
602 : 2092 : _outJsonConstructorExpr(StringInfo str, const JsonConstructorExpr *node)
603 : : {
604 : 2092 : WRITE_NODE_TYPE("JSONCONSTRUCTOREXPR");
605 : :
606 : 2092 : WRITE_ENUM_FIELD(type, JsonConstructorType);
607 : 2092 : WRITE_NODE_FIELD(args);
608 : 2092 : WRITE_NODE_FIELD(func);
609 : 2092 : WRITE_NODE_FIELD(coercion);
610 : 2092 : WRITE_NODE_FIELD(returning);
611 : 2092 : WRITE_NODE_FIELD(orig_query);
612 [ + + ]: 2092 : WRITE_BOOL_FIELD(absent_on_null);
613 [ + + ]: 2092 : WRITE_BOOL_FIELD(unique);
614 [ + + ]: 2092 : WRITE_LOCATION_FIELD(location);
615 : 2092 : }
616 : :
617 : : static void
618 : 832 : _outJsonIsPredicate(StringInfo str, const JsonIsPredicate *node)
619 : : {
620 : 832 : WRITE_NODE_TYPE("JSONISPREDICATE");
621 : :
622 : 832 : WRITE_NODE_FIELD(expr);
623 : 832 : WRITE_NODE_FIELD(format);
624 : 832 : WRITE_ENUM_FIELD(item_type, JsonValueType);
625 [ + + ]: 832 : WRITE_BOOL_FIELD(unique_keys);
626 : 832 : WRITE_OID_FIELD(exprBaseType);
627 [ + + ]: 832 : WRITE_LOCATION_FIELD(location);
628 : 832 : }
629 : :
630 : : static void
631 : 7208 : _outJsonBehavior(StringInfo str, const JsonBehavior *node)
632 : : {
633 : 7208 : WRITE_NODE_TYPE("JSONBEHAVIOR");
634 : :
635 : 7208 : WRITE_ENUM_FIELD(btype, JsonBehaviorType);
636 : 7208 : WRITE_NODE_FIELD(expr);
637 [ + + ]: 7208 : WRITE_BOOL_FIELD(coerce);
638 [ + + ]: 7208 : WRITE_LOCATION_FIELD(location);
639 : 7208 : }
640 : :
641 : : static void
642 : 3672 : _outJsonExpr(StringInfo str, const JsonExpr *node)
643 : : {
644 : 3672 : WRITE_NODE_TYPE("JSONEXPR");
645 : :
646 : 3672 : WRITE_ENUM_FIELD(op, JsonExprOp);
647 : 3672 : WRITE_STRING_FIELD(column_name);
648 : 3672 : WRITE_NODE_FIELD(formatted_expr);
649 : 3672 : WRITE_NODE_FIELD(format);
650 : 3672 : WRITE_NODE_FIELD(path_spec);
651 : 3672 : WRITE_NODE_FIELD(returning);
652 : 3672 : WRITE_NODE_FIELD(passing_names);
653 : 3672 : WRITE_NODE_FIELD(passing_values);
654 : 3672 : WRITE_NODE_FIELD(on_empty);
655 : 3672 : WRITE_NODE_FIELD(on_error);
656 [ + + ]: 3672 : WRITE_BOOL_FIELD(use_io_coercion);
657 [ + + ]: 3672 : WRITE_BOOL_FIELD(use_json_coercion);
658 : 3672 : WRITE_ENUM_FIELD(wrapper, JsonWrapper);
659 [ + + ]: 3672 : WRITE_BOOL_FIELD(omit_quotes);
660 : 3672 : WRITE_OID_FIELD(collation);
661 [ + + ]: 3672 : WRITE_LOCATION_FIELD(location);
662 : 3672 : }
663 : :
664 : : static void
665 : 872 : _outJsonTablePath(StringInfo str, const JsonTablePath *node)
666 : : {
667 : 872 : WRITE_NODE_TYPE("JSONTABLEPATH");
668 : :
669 : 872 : WRITE_NODE_FIELD(value);
670 : 872 : WRITE_STRING_FIELD(name);
671 : 872 : }
672 : :
673 : : static void
674 : 872 : _outJsonTablePathScan(StringInfo str, const JsonTablePathScan *node)
675 : : {
676 : 872 : WRITE_NODE_TYPE("JSONTABLEPATHSCAN");
677 : :
678 : 872 : WRITE_NODE_FIELD(path);
679 [ + + ]: 872 : WRITE_BOOL_FIELD(errorOnError);
680 : 872 : WRITE_NODE_FIELD(child);
681 : 872 : WRITE_INT_FIELD(colMin);
682 : 872 : WRITE_INT_FIELD(colMax);
683 : 872 : }
684 : :
685 : : static void
686 : 100 : _outJsonTableSiblingJoin(StringInfo str, const JsonTableSiblingJoin *node)
687 : : {
688 : 100 : WRITE_NODE_TYPE("JSONTABLESIBLINGJOIN");
689 : :
690 : 100 : WRITE_NODE_FIELD(lplan);
691 : 100 : WRITE_NODE_FIELD(rplan);
692 : 100 : }
693 : :
694 : : static void
695 : 35414 : _outNullTest(StringInfo str, const NullTest *node)
696 : : {
697 : 35414 : WRITE_NODE_TYPE("NULLTEST");
698 : :
699 : 35414 : WRITE_NODE_FIELD(arg);
700 : 35414 : WRITE_ENUM_FIELD(nulltesttype, NullTestType);
701 [ + + ]: 35414 : WRITE_BOOL_FIELD(argisrow);
702 [ + + ]: 35414 : WRITE_LOCATION_FIELD(location);
703 : 35414 : }
704 : :
705 : : static void
706 : 2474 : _outBooleanTest(StringInfo str, const BooleanTest *node)
707 : : {
708 : 2474 : WRITE_NODE_TYPE("BOOLEANTEST");
709 : :
710 : 2474 : WRITE_NODE_FIELD(arg);
711 : 2474 : WRITE_ENUM_FIELD(booltesttype, BoolTestType);
712 [ + + ]: 2474 : WRITE_LOCATION_FIELD(location);
713 : 2474 : }
714 : :
715 : : static void
716 : 4335 : _outMergeAction(StringInfo str, const MergeAction *node)
717 : : {
718 : 4335 : WRITE_NODE_TYPE("MERGEACTION");
719 : :
720 : 4335 : WRITE_ENUM_FIELD(matchKind, MergeMatchKind);
721 : 4335 : WRITE_ENUM_FIELD(commandType, CmdType);
722 : 4335 : WRITE_ENUM_FIELD(override, OverridingKind);
723 : 4335 : WRITE_NODE_FIELD(qual);
724 : 4335 : WRITE_NODE_FIELD(targetList);
725 : 4335 : WRITE_NODE_FIELD(updateColnos);
726 : 4335 : }
727 : :
728 : : static void
729 : 67378 : _outCoerceToDomain(StringInfo str, const CoerceToDomain *node)
730 : : {
731 : 67378 : WRITE_NODE_TYPE("COERCETODOMAIN");
732 : :
733 : 67378 : WRITE_NODE_FIELD(arg);
734 : 67378 : WRITE_OID_FIELD(resulttype);
735 : 67378 : WRITE_INT_FIELD(resulttypmod);
736 : 67378 : WRITE_OID_FIELD(resultcollid);
737 : 67378 : WRITE_ENUM_FIELD(coercionformat, CoercionForm);
738 [ + + ]: 67378 : WRITE_LOCATION_FIELD(location);
739 : 67378 : }
740 : :
741 : : static void
742 : 548 : _outCoerceToDomainValue(StringInfo str, const CoerceToDomainValue *node)
743 : : {
744 : 548 : WRITE_NODE_TYPE("COERCETODOMAINVALUE");
745 : :
746 : 548 : WRITE_OID_FIELD(typeId);
747 : 548 : WRITE_INT_FIELD(typeMod);
748 : 548 : WRITE_OID_FIELD(collation);
749 [ - + ]: 548 : WRITE_LOCATION_FIELD(location);
750 : 548 : }
751 : :
752 : : static void
753 : 1045 : _outSetToDefault(StringInfo str, const SetToDefault *node)
754 : : {
755 : 1045 : WRITE_NODE_TYPE("SETTODEFAULT");
756 : :
757 : 1045 : WRITE_OID_FIELD(typeId);
758 : 1045 : WRITE_INT_FIELD(typeMod);
759 : 1045 : WRITE_OID_FIELD(collation);
760 [ + + ]: 1045 : WRITE_LOCATION_FIELD(location);
761 : 1045 : }
762 : :
763 : : static void
764 : 629 : _outCurrentOfExpr(StringInfo str, const CurrentOfExpr *node)
765 : : {
766 : 629 : WRITE_NODE_TYPE("CURRENTOFEXPR");
767 : :
768 : 629 : WRITE_UINT_FIELD(cvarno);
769 : 629 : WRITE_STRING_FIELD(cursor_name);
770 : 629 : WRITE_INT_FIELD(cursor_param);
771 : 629 : }
772 : :
773 : : static void
774 : 594 : _outNextValueExpr(StringInfo str, const NextValueExpr *node)
775 : : {
776 : 594 : WRITE_NODE_TYPE("NEXTVALUEEXPR");
777 : :
778 : 594 : WRITE_OID_FIELD(seqid);
779 : 594 : WRITE_OID_FIELD(typeId);
780 : 594 : }
781 : :
782 : : static void
783 : 1553 : _outInferenceElem(StringInfo str, const InferenceElem *node)
784 : : {
785 : 1553 : WRITE_NODE_TYPE("INFERENCEELEM");
786 : :
787 : 1553 : WRITE_NODE_FIELD(expr);
788 : 1553 : WRITE_OID_FIELD(infercollid);
789 : 1553 : WRITE_OID_FIELD(inferopclass);
790 : 1553 : }
791 : :
792 : : static void
793 : 868 : _outReturningExpr(StringInfo str, const ReturningExpr *node)
794 : : {
795 : 868 : WRITE_NODE_TYPE("RETURNINGEXPR");
796 : :
797 : 868 : WRITE_INT_FIELD(retlevelsup);
798 [ + + ]: 868 : WRITE_BOOL_FIELD(retold);
799 : 868 : WRITE_NODE_FIELD(retexpr);
800 : 868 : }
801 : :
802 : : static void
803 : 77 : _outGraphLabelRef(StringInfo str, const GraphLabelRef *node)
804 : : {
805 : 77 : WRITE_NODE_TYPE("GRAPHLABELREF");
806 : :
807 : 77 : WRITE_OID_FIELD(labelid);
808 [ + + ]: 77 : WRITE_LOCATION_FIELD(location);
809 : 77 : }
810 : :
811 : : static void
812 : 53 : _outGraphPropertyRef(StringInfo str, const GraphPropertyRef *node)
813 : : {
814 : 53 : WRITE_NODE_TYPE("GRAPHPROPERTYREF");
815 : :
816 : 53 : WRITE_STRING_FIELD(elvarname);
817 : 53 : WRITE_OID_FIELD(propid);
818 : 53 : WRITE_OID_FIELD(typeId);
819 : 53 : WRITE_INT_FIELD(typmod);
820 : 53 : WRITE_OID_FIELD(collation);
821 [ + + ]: 53 : WRITE_LOCATION_FIELD(location);
822 : 53 : }
823 : :
824 : : static void
825 : 4660338 : _outTargetEntry(StringInfo str, const TargetEntry *node)
826 : : {
827 : 4660338 : WRITE_NODE_TYPE("TARGETENTRY");
828 : :
829 : 4660338 : WRITE_NODE_FIELD(expr);
830 : 4660338 : WRITE_INT_FIELD(resno);
831 : 4660338 : WRITE_STRING_FIELD(resname);
832 : 4660338 : WRITE_UINT_FIELD(ressortgroupref);
833 : 4660338 : WRITE_OID_FIELD(resorigtbl);
834 : 4660338 : WRITE_INT_FIELD(resorigcol);
835 [ + + ]: 4660338 : WRITE_BOOL_FIELD(resjunk);
836 : 4660338 : }
837 : :
838 : : static void
839 : 387650 : _outRangeTblRef(StringInfo str, const RangeTblRef *node)
840 : : {
841 : 387650 : WRITE_NODE_TYPE("RANGETBLREF");
842 : :
843 : 387650 : WRITE_INT_FIELD(rtindex);
844 : 387650 : }
845 : :
846 : : static void
847 : 132332 : _outJoinExpr(StringInfo str, const JoinExpr *node)
848 : : {
849 : 132332 : WRITE_NODE_TYPE("JOINEXPR");
850 : :
851 : 132332 : WRITE_ENUM_FIELD(jointype, JoinType);
852 [ + + ]: 132332 : WRITE_BOOL_FIELD(isNatural);
853 : 132332 : WRITE_NODE_FIELD(larg);
854 : 132332 : WRITE_NODE_FIELD(rarg);
855 : 132332 : WRITE_NODE_FIELD(usingClause);
856 : 132332 : WRITE_NODE_FIELD(join_using_alias);
857 : 132332 : WRITE_NODE_FIELD(quals);
858 : 132332 : WRITE_NODE_FIELD(alias);
859 : 132332 : WRITE_INT_FIELD(rtindex);
860 : 132332 : }
861 : :
862 : : static void
863 : 393330 : _outFromExpr(StringInfo str, const FromExpr *node)
864 : : {
865 : 393330 : WRITE_NODE_TYPE("FROMEXPR");
866 : :
867 : 393330 : WRITE_NODE_FIELD(fromlist);
868 : 393330 : WRITE_NODE_FIELD(quals);
869 : 393330 : }
870 : :
871 : : static void
872 : 1533 : _outOnConflictExpr(StringInfo str, const OnConflictExpr *node)
873 : : {
874 : 1533 : WRITE_NODE_TYPE("ONCONFLICTEXPR");
875 : :
876 : 1533 : WRITE_ENUM_FIELD(action, OnConflictAction);
877 : 1533 : WRITE_NODE_FIELD(arbiterElems);
878 : 1533 : WRITE_NODE_FIELD(arbiterWhere);
879 : 1533 : WRITE_OID_FIELD(constraint);
880 : 1533 : WRITE_ENUM_FIELD(lockStrength, LockClauseStrength);
881 : 1533 : WRITE_NODE_FIELD(onConflictSet);
882 : 1533 : WRITE_NODE_FIELD(onConflictWhere);
883 : 1533 : WRITE_INT_FIELD(exclRelIndex);
884 : 1533 : WRITE_NODE_FIELD(exclRelTlist);
885 : 1533 : }
886 : :
887 : : static void
888 : 1862 : _outForPortionOfExpr(StringInfo str, const ForPortionOfExpr *node)
889 : : {
890 : 1862 : WRITE_NODE_TYPE("FORPORTIONOFEXPR");
891 : :
892 : 1862 : WRITE_NODE_FIELD(rangeVar);
893 : 1862 : WRITE_STRING_FIELD(range_name);
894 : 1862 : WRITE_NODE_FIELD(targetFrom);
895 : 1862 : WRITE_NODE_FIELD(targetTo);
896 : 1862 : WRITE_NODE_FIELD(targetRange);
897 : 1862 : WRITE_OID_FIELD(rangeType);
898 [ + + ]: 1862 : WRITE_BOOL_FIELD(isDomain);
899 : 1862 : WRITE_NODE_FIELD(overlapsExpr);
900 : 1862 : WRITE_NODE_FIELD(rangeTargetList);
901 : 1862 : WRITE_OID_FIELD(withoutPortionProc);
902 [ + + ]: 1862 : WRITE_LOCATION_FIELD(location);
903 [ + + ]: 1862 : WRITE_LOCATION_FIELD(targetLocation);
904 : 1862 : }
905 : :
906 : : static void
907 : 638346 : _outQuery(StringInfo str, const Query *node)
908 : : {
909 : 638346 : WRITE_NODE_TYPE("QUERY");
910 : :
911 : 638346 : WRITE_ENUM_FIELD(commandType, CmdType);
912 : 638346 : WRITE_ENUM_FIELD(querySource, QuerySource);
913 [ + + ]: 638346 : WRITE_BOOL_FIELD(canSetTag);
914 : 638346 : WRITE_NODE_FIELD(utilityStmt);
915 : 638346 : WRITE_INT_FIELD(resultRelation);
916 : 638346 : WRITE_NODE_FIELD(forPortionOf);
917 [ + + ]: 638346 : WRITE_BOOL_FIELD(hasAggs);
918 [ + + ]: 638346 : WRITE_BOOL_FIELD(hasWindowFuncs);
919 [ + + ]: 638346 : WRITE_BOOL_FIELD(hasTargetSRFs);
920 [ + + ]: 638346 : WRITE_BOOL_FIELD(hasSubLinks);
921 [ + + ]: 638346 : WRITE_BOOL_FIELD(hasDistinctOn);
922 [ + + ]: 638346 : WRITE_BOOL_FIELD(hasRecursive);
923 [ + + ]: 638346 : WRITE_BOOL_FIELD(hasModifyingCTE);
924 [ + + ]: 638346 : WRITE_BOOL_FIELD(hasForUpdate);
925 [ + + ]: 638346 : WRITE_BOOL_FIELD(hasRowSecurity);
926 [ + + ]: 638346 : WRITE_BOOL_FIELD(hasGroupRTE);
927 [ + + ]: 638346 : WRITE_BOOL_FIELD(isReturn);
928 : 638346 : WRITE_NODE_FIELD(cteList);
929 : 638346 : WRITE_NODE_FIELD(rtable);
930 : 638346 : WRITE_NODE_FIELD(rteperminfos);
931 : 638346 : WRITE_NODE_FIELD(jointree);
932 : 638346 : WRITE_NODE_FIELD(mergeActionList);
933 : 638346 : WRITE_INT_FIELD(mergeTargetRelation);
934 : 638346 : WRITE_NODE_FIELD(mergeJoinCondition);
935 : 638346 : WRITE_NODE_FIELD(targetList);
936 : 638346 : WRITE_ENUM_FIELD(override, OverridingKind);
937 : 638346 : WRITE_NODE_FIELD(onConflict);
938 : 638346 : WRITE_STRING_FIELD(returningOldAlias);
939 : 638346 : WRITE_STRING_FIELD(returningNewAlias);
940 : 638346 : WRITE_NODE_FIELD(returningList);
941 : 638346 : WRITE_NODE_FIELD(groupClause);
942 [ + + ]: 638346 : WRITE_BOOL_FIELD(groupDistinct);
943 [ + + ]: 638346 : WRITE_BOOL_FIELD(groupByAll);
944 : 638346 : WRITE_NODE_FIELD(groupingSets);
945 : 638346 : WRITE_NODE_FIELD(havingQual);
946 : 638346 : WRITE_NODE_FIELD(windowClause);
947 : 638346 : WRITE_NODE_FIELD(distinctClause);
948 : 638346 : WRITE_NODE_FIELD(sortClause);
949 : 638346 : WRITE_NODE_FIELD(limitOffset);
950 : 638346 : WRITE_NODE_FIELD(limitCount);
951 : 638346 : WRITE_ENUM_FIELD(limitOption, LimitOption);
952 : 638346 : WRITE_NODE_FIELD(rowMarks);
953 : 638346 : WRITE_NODE_FIELD(setOperations);
954 : 638346 : WRITE_NODE_FIELD(constraintDeps);
955 : 638346 : WRITE_NODE_FIELD(withCheckOptions);
956 [ + + ]: 638346 : WRITE_LOCATION_FIELD(stmt_location);
957 [ + + ]: 638346 : WRITE_LOCATION_FIELD(stmt_len);
958 : 638346 : }
959 : :
960 : : static void
961 : 479800 : _outTypeName(StringInfo str, const TypeName *node)
962 : : {
963 : 479800 : WRITE_NODE_TYPE("TYPENAME");
964 : :
965 : 479800 : WRITE_NODE_FIELD(names);
966 : 479800 : WRITE_OID_FIELD(typeOid);
967 [ + + ]: 479800 : WRITE_BOOL_FIELD(setof);
968 [ + + ]: 479800 : WRITE_BOOL_FIELD(pct_type);
969 : 479800 : WRITE_NODE_FIELD(typmods);
970 : 479800 : WRITE_INT_FIELD(typemod);
971 : 479800 : WRITE_NODE_FIELD(arrayBounds);
972 [ + - ]: 479800 : WRITE_LOCATION_FIELD(location);
973 : 479800 : }
974 : :
975 : : static void
976 : 1337690 : _outColumnRef(StringInfo str, const ColumnRef *node)
977 : : {
978 : 1337690 : WRITE_NODE_TYPE("COLUMNREF");
979 : :
980 : 1337690 : WRITE_NODE_FIELD(fields);
981 [ + - ]: 1337690 : WRITE_LOCATION_FIELD(location);
982 : 1337690 : }
983 : :
984 : : static void
985 : 31590 : _outParamRef(StringInfo str, const ParamRef *node)
986 : : {
987 : 31590 : WRITE_NODE_TYPE("PARAMREF");
988 : :
989 : 31590 : WRITE_INT_FIELD(number);
990 [ + - ]: 31590 : WRITE_LOCATION_FIELD(location);
991 : 31590 : }
992 : :
993 : : static void
994 : 234175 : _outTypeCast(StringInfo str, const TypeCast *node)
995 : : {
996 : 234175 : WRITE_NODE_TYPE("TYPECAST");
997 : :
998 : 234175 : WRITE_NODE_FIELD(arg);
999 : 234175 : WRITE_NODE_FIELD(typeName);
1000 [ + - ]: 234175 : WRITE_LOCATION_FIELD(location);
1001 : 234175 : }
1002 : :
1003 : : static void
1004 : 8159 : _outCollateClause(StringInfo str, const CollateClause *node)
1005 : : {
1006 : 8159 : WRITE_NODE_TYPE("COLLATECLAUSE");
1007 : :
1008 : 8159 : WRITE_NODE_FIELD(arg);
1009 : 8159 : WRITE_NODE_FIELD(collname);
1010 [ + - ]: 8159 : WRITE_LOCATION_FIELD(location);
1011 : 8159 : }
1012 : :
1013 : : static void
1014 : 28912 : _outRoleSpec(StringInfo str, const RoleSpec *node)
1015 : : {
1016 : 28912 : WRITE_NODE_TYPE("ROLESPEC");
1017 : :
1018 : 28912 : WRITE_ENUM_FIELD(roletype, RoleSpecType);
1019 : 28912 : WRITE_STRING_FIELD(rolename);
1020 [ + - ]: 28912 : WRITE_LOCATION_FIELD(location);
1021 : 28912 : }
1022 : :
1023 : : static void
1024 : 269345 : _outFuncCall(StringInfo str, const FuncCall *node)
1025 : : {
1026 : 269345 : WRITE_NODE_TYPE("FUNCCALL");
1027 : :
1028 : 269345 : WRITE_NODE_FIELD(funcname);
1029 : 269345 : WRITE_NODE_FIELD(args);
1030 : 269345 : WRITE_NODE_FIELD(agg_order);
1031 : 269345 : WRITE_NODE_FIELD(agg_filter);
1032 : 269345 : WRITE_NODE_FIELD(over);
1033 : 269345 : WRITE_INT_FIELD(ignore_nulls);
1034 [ + + ]: 269345 : WRITE_BOOL_FIELD(agg_within_group);
1035 [ + + ]: 269345 : WRITE_BOOL_FIELD(agg_star);
1036 [ + + ]: 269345 : WRITE_BOOL_FIELD(agg_distinct);
1037 [ + + ]: 269345 : WRITE_BOOL_FIELD(func_variadic);
1038 : 269345 : WRITE_ENUM_FIELD(funcformat, CoercionForm);
1039 [ + - ]: 269345 : WRITE_LOCATION_FIELD(location);
1040 : 269345 : }
1041 : :
1042 : : static void
1043 : 47470 : _outA_Star(StringInfo str, const A_Star *node)
1044 : : {
1045 : 47470 : WRITE_NODE_TYPE("A_STAR");
1046 : :
1047 : 47470 : }
1048 : :
1049 : : static void
1050 : 10156 : _outA_Indices(StringInfo str, const A_Indices *node)
1051 : : {
1052 : 10156 : WRITE_NODE_TYPE("A_INDICES");
1053 : :
1054 [ + + ]: 10156 : WRITE_BOOL_FIELD(is_slice);
1055 : 10156 : WRITE_NODE_FIELD(lidx);
1056 : 10156 : WRITE_NODE_FIELD(uidx);
1057 : 10156 : }
1058 : :
1059 : : static void
1060 : 25360 : _outA_Indirection(StringInfo str, const A_Indirection *node)
1061 : : {
1062 : 25360 : WRITE_NODE_TYPE("A_INDIRECTION");
1063 : :
1064 : 25360 : WRITE_NODE_FIELD(arg);
1065 : 25360 : WRITE_NODE_FIELD(indirection);
1066 : 25360 : }
1067 : :
1068 : : static void
1069 : 5114 : _outA_ArrayExpr(StringInfo str, const A_ArrayExpr *node)
1070 : : {
1071 : 5114 : WRITE_NODE_TYPE("A_ARRAYEXPR");
1072 : :
1073 : 5114 : WRITE_NODE_FIELD(elements);
1074 [ + - ]: 5114 : WRITE_LOCATION_FIELD(list_start);
1075 [ + - ]: 5114 : WRITE_LOCATION_FIELD(list_end);
1076 [ + - ]: 5114 : WRITE_LOCATION_FIELD(location);
1077 : 5114 : }
1078 : :
1079 : : static void
1080 : 833801 : _outResTarget(StringInfo str, const ResTarget *node)
1081 : : {
1082 : 833801 : WRITE_NODE_TYPE("RESTARGET");
1083 : :
1084 : 833801 : WRITE_STRING_FIELD(name);
1085 : 833801 : WRITE_NODE_FIELD(indirection);
1086 : 833801 : WRITE_NODE_FIELD(val);
1087 [ + - ]: 833801 : WRITE_LOCATION_FIELD(location);
1088 : 833801 : }
1089 : :
1090 : : static void
1091 : 265 : _outMultiAssignRef(StringInfo str, const MultiAssignRef *node)
1092 : : {
1093 : 265 : WRITE_NODE_TYPE("MULTIASSIGNREF");
1094 : :
1095 : 265 : WRITE_NODE_FIELD(source);
1096 : 265 : WRITE_INT_FIELD(colno);
1097 : 265 : WRITE_INT_FIELD(ncolumns);
1098 : 265 : }
1099 : :
1100 : : static void
1101 : 74806 : _outSortBy(StringInfo str, const SortBy *node)
1102 : : {
1103 : 74806 : WRITE_NODE_TYPE("SORTBY");
1104 : :
1105 : 74806 : WRITE_NODE_FIELD(node);
1106 : 74806 : WRITE_ENUM_FIELD(sortby_dir, SortByDir);
1107 : 74806 : WRITE_ENUM_FIELD(sortby_nulls, SortByNulls);
1108 : 74806 : WRITE_NODE_FIELD(useOp);
1109 [ + - ]: 74806 : WRITE_LOCATION_FIELD(location);
1110 : 74806 : }
1111 : :
1112 : : static void
1113 : 3275 : _outWindowDef(StringInfo str, const WindowDef *node)
1114 : : {
1115 : 3275 : WRITE_NODE_TYPE("WINDOWDEF");
1116 : :
1117 : 3275 : WRITE_STRING_FIELD(name);
1118 : 3275 : WRITE_STRING_FIELD(refname);
1119 : 3275 : WRITE_NODE_FIELD(partitionClause);
1120 : 3275 : WRITE_NODE_FIELD(orderClause);
1121 : 3275 : WRITE_INT_FIELD(frameOptions);
1122 : 3275 : WRITE_NODE_FIELD(startOffset);
1123 : 3275 : WRITE_NODE_FIELD(endOffset);
1124 [ + - ]: 3275 : WRITE_LOCATION_FIELD(location);
1125 : 3275 : }
1126 : :
1127 : : static void
1128 : 16356 : _outRangeSubselect(StringInfo str, const RangeSubselect *node)
1129 : : {
1130 : 16356 : WRITE_NODE_TYPE("RANGESUBSELECT");
1131 : :
1132 [ + + ]: 16356 : WRITE_BOOL_FIELD(lateral);
1133 : 16356 : WRITE_NODE_FIELD(subquery);
1134 : 16356 : WRITE_NODE_FIELD(alias);
1135 : 16356 : }
1136 : :
1137 : : static void
1138 : 32893 : _outRangeFunction(StringInfo str, const RangeFunction *node)
1139 : : {
1140 : 32893 : WRITE_NODE_TYPE("RANGEFUNCTION");
1141 : :
1142 [ + + ]: 32893 : WRITE_BOOL_FIELD(lateral);
1143 [ + + ]: 32893 : WRITE_BOOL_FIELD(ordinality);
1144 [ + + ]: 32893 : WRITE_BOOL_FIELD(is_rowsfrom);
1145 : 32893 : WRITE_NODE_FIELD(functions);
1146 : 32893 : WRITE_NODE_FIELD(alias);
1147 : 32893 : WRITE_NODE_FIELD(coldeflist);
1148 : 32893 : }
1149 : :
1150 : : static void
1151 : 168 : _outRangeTableFunc(StringInfo str, const RangeTableFunc *node)
1152 : : {
1153 : 168 : WRITE_NODE_TYPE("RANGETABLEFUNC");
1154 : :
1155 [ + + ]: 168 : WRITE_BOOL_FIELD(lateral);
1156 : 168 : WRITE_NODE_FIELD(docexpr);
1157 : 168 : WRITE_NODE_FIELD(rowexpr);
1158 : 168 : WRITE_NODE_FIELD(namespaces);
1159 : 168 : WRITE_NODE_FIELD(columns);
1160 : 168 : WRITE_NODE_FIELD(alias);
1161 [ + - ]: 168 : WRITE_LOCATION_FIELD(location);
1162 : 168 : }
1163 : :
1164 : : static void
1165 : 582 : _outRangeTableFuncCol(StringInfo str, const RangeTableFuncCol *node)
1166 : : {
1167 : 582 : WRITE_NODE_TYPE("RANGETABLEFUNCCOL");
1168 : :
1169 : 582 : WRITE_STRING_FIELD(colname);
1170 : 582 : WRITE_NODE_FIELD(typeName);
1171 [ + + ]: 582 : WRITE_BOOL_FIELD(for_ordinality);
1172 [ + + ]: 582 : WRITE_BOOL_FIELD(is_not_null);
1173 : 582 : WRITE_NODE_FIELD(colexpr);
1174 : 582 : WRITE_NODE_FIELD(coldefexpr);
1175 [ + - ]: 582 : WRITE_LOCATION_FIELD(location);
1176 : 582 : }
1177 : :
1178 : : static void
1179 : 463 : _outRangeGraphTable(StringInfo str, const RangeGraphTable *node)
1180 : : {
1181 : 463 : WRITE_NODE_TYPE("RANGEGRAPHTABLE");
1182 : :
1183 : 463 : WRITE_NODE_FIELD(graph_name);
1184 : 463 : WRITE_NODE_FIELD(graph_pattern);
1185 : 463 : WRITE_NODE_FIELD(columns);
1186 : 463 : WRITE_NODE_FIELD(alias);
1187 [ + - ]: 463 : WRITE_LOCATION_FIELD(location);
1188 : 463 : }
1189 : :
1190 : : static void
1191 : 188 : _outRangeTableSample(StringInfo str, const RangeTableSample *node)
1192 : : {
1193 : 188 : WRITE_NODE_TYPE("RANGETABLESAMPLE");
1194 : :
1195 : 188 : WRITE_NODE_FIELD(relation);
1196 : 188 : WRITE_NODE_FIELD(method);
1197 : 188 : WRITE_NODE_FIELD(args);
1198 : 188 : WRITE_NODE_FIELD(repeatable);
1199 [ + - ]: 188 : WRITE_LOCATION_FIELD(location);
1200 : 188 : }
1201 : :
1202 : : static void
1203 : 96139 : _outColumnDef(StringInfo str, const ColumnDef *node)
1204 : : {
1205 : 96139 : WRITE_NODE_TYPE("COLUMNDEF");
1206 : :
1207 : 96139 : WRITE_STRING_FIELD(colname);
1208 : 96139 : WRITE_NODE_FIELD(typeName);
1209 : 96139 : WRITE_STRING_FIELD(compression);
1210 : 96139 : WRITE_INT_FIELD(inhcount);
1211 [ + + ]: 96139 : WRITE_BOOL_FIELD(is_local);
1212 [ - + ]: 96139 : WRITE_BOOL_FIELD(is_not_null);
1213 [ - + ]: 96139 : WRITE_BOOL_FIELD(is_from_type);
1214 : 96139 : WRITE_CHAR_FIELD(storage);
1215 : 96139 : WRITE_STRING_FIELD(storage_name);
1216 : 96139 : WRITE_NODE_FIELD(raw_default);
1217 : 96139 : WRITE_NODE_FIELD(cooked_default);
1218 : 96139 : WRITE_CHAR_FIELD(identity);
1219 : 96139 : WRITE_NODE_FIELD(identitySequence);
1220 : 96139 : WRITE_CHAR_FIELD(generated);
1221 : 96139 : WRITE_NODE_FIELD(collClause);
1222 : 96139 : WRITE_OID_FIELD(collOid);
1223 : 96139 : WRITE_NODE_FIELD(constraints);
1224 : 96139 : WRITE_NODE_FIELD(fdwoptions);
1225 [ + - ]: 96139 : WRITE_LOCATION_FIELD(location);
1226 : 96139 : }
1227 : :
1228 : : static void
1229 : 1050 : _outTableLikeClause(StringInfo str, const TableLikeClause *node)
1230 : : {
1231 : 1050 : WRITE_NODE_TYPE("TABLELIKECLAUSE");
1232 : :
1233 : 1050 : WRITE_NODE_FIELD(relation);
1234 : 1050 : WRITE_UINT_FIELD(options);
1235 : 1050 : WRITE_OID_FIELD(relationOid);
1236 : 1050 : }
1237 : :
1238 : : static void
1239 : 13258 : _outIndexElem(StringInfo str, const IndexElem *node)
1240 : : {
1241 : 13258 : WRITE_NODE_TYPE("INDEXELEM");
1242 : :
1243 : 13258 : WRITE_STRING_FIELD(name);
1244 : 13258 : WRITE_NODE_FIELD(expr);
1245 : 13258 : WRITE_STRING_FIELD(indexcolname);
1246 : 13258 : WRITE_NODE_FIELD(collation);
1247 : 13258 : WRITE_NODE_FIELD(opclass);
1248 : 13258 : WRITE_NODE_FIELD(opclassopts);
1249 : 13258 : WRITE_ENUM_FIELD(ordering, SortByDir);
1250 : 13258 : WRITE_ENUM_FIELD(nulls_ordering, SortByNulls);
1251 [ + - ]: 13258 : WRITE_LOCATION_FIELD(location);
1252 : 13258 : }
1253 : :
1254 : : static void
1255 : 433928 : _outDefElem(StringInfo str, const DefElem *node)
1256 : : {
1257 : 433928 : WRITE_NODE_TYPE("DEFELEM");
1258 : :
1259 : 433928 : WRITE_STRING_FIELD(defnamespace);
1260 : 433928 : WRITE_STRING_FIELD(defname);
1261 : 433928 : WRITE_NODE_FIELD(arg);
1262 : 433928 : WRITE_ENUM_FIELD(defaction, DefElemAction);
1263 [ + - ]: 433928 : WRITE_LOCATION_FIELD(location);
1264 : 433928 : }
1265 : :
1266 : : static void
1267 : 4037 : _outLockingClause(StringInfo str, const LockingClause *node)
1268 : : {
1269 : 4037 : WRITE_NODE_TYPE("LOCKINGCLAUSE");
1270 : :
1271 : 4037 : WRITE_NODE_FIELD(lockedRels);
1272 : 4037 : WRITE_ENUM_FIELD(strength, LockClauseStrength);
1273 : 4037 : WRITE_ENUM_FIELD(waitPolicy, LockWaitPolicy);
1274 : 4037 : }
1275 : :
1276 : : static void
1277 : 164 : _outXmlSerialize(StringInfo str, const XmlSerialize *node)
1278 : : {
1279 : 164 : WRITE_NODE_TYPE("XMLSERIALIZE");
1280 : :
1281 : 164 : WRITE_ENUM_FIELD(xmloption, XmlOptionType);
1282 : 164 : WRITE_NODE_FIELD(expr);
1283 : 164 : WRITE_NODE_FIELD(typeName);
1284 [ + + ]: 164 : WRITE_BOOL_FIELD(indent);
1285 [ + - ]: 164 : WRITE_LOCATION_FIELD(location);
1286 : 164 : }
1287 : :
1288 : : static void
1289 : 7988 : _outPartitionElem(StringInfo str, const PartitionElem *node)
1290 : : {
1291 : 7988 : WRITE_NODE_TYPE("PARTITIONELEM");
1292 : :
1293 : 7988 : WRITE_STRING_FIELD(name);
1294 : 7988 : WRITE_NODE_FIELD(expr);
1295 : 7988 : WRITE_NODE_FIELD(collation);
1296 : 7988 : WRITE_NODE_FIELD(opclass);
1297 [ + - ]: 7988 : WRITE_LOCATION_FIELD(location);
1298 : 7988 : }
1299 : :
1300 : : static void
1301 : 7344 : _outPartitionSpec(StringInfo str, const PartitionSpec *node)
1302 : : {
1303 : 7344 : WRITE_NODE_TYPE("PARTITIONSPEC");
1304 : :
1305 : 7344 : WRITE_ENUM_FIELD(strategy, PartitionStrategy);
1306 : 7344 : WRITE_NODE_FIELD(partParams);
1307 [ + - ]: 7344 : WRITE_LOCATION_FIELD(location);
1308 : 7344 : }
1309 : :
1310 : : static void
1311 : 25602 : _outPartitionBoundSpec(StringInfo str, const PartitionBoundSpec *node)
1312 : : {
1313 : 25602 : WRITE_NODE_TYPE("PARTITIONBOUNDSPEC");
1314 : :
1315 : 25602 : WRITE_CHAR_FIELD(strategy);
1316 [ + + ]: 25602 : WRITE_BOOL_FIELD(is_default);
1317 : 25602 : WRITE_INT_FIELD(modulus);
1318 : 25602 : WRITE_INT_FIELD(remainder);
1319 : 25602 : WRITE_NODE_FIELD(listdatums);
1320 : 25602 : WRITE_NODE_FIELD(lowerdatums);
1321 : 25602 : WRITE_NODE_FIELD(upperdatums);
1322 [ + + ]: 25602 : WRITE_LOCATION_FIELD(location);
1323 : 25602 : }
1324 : :
1325 : : static void
1326 : 9814 : _outPartitionRangeDatum(StringInfo str, const PartitionRangeDatum *node)
1327 : : {
1328 : 9814 : WRITE_NODE_TYPE("PARTITIONRANGEDATUM");
1329 : :
1330 : 9814 : WRITE_ENUM_FIELD(kind, PartitionRangeDatumKind);
1331 : 9814 : WRITE_NODE_FIELD(value);
1332 [ - + ]: 9814 : WRITE_LOCATION_FIELD(location);
1333 : 9814 : }
1334 : :
1335 : : static void
1336 : 1604 : _outSinglePartitionSpec(StringInfo str, const SinglePartitionSpec *node)
1337 : : {
1338 : 1604 : WRITE_NODE_TYPE("SINGLEPARTITIONSPEC");
1339 : :
1340 : 1604 : WRITE_NODE_FIELD(name);
1341 : 1604 : WRITE_NODE_FIELD(bound);
1342 : 1604 : }
1343 : :
1344 : : static void
1345 : 5612 : _outPartitionCmd(StringInfo str, const PartitionCmd *node)
1346 : : {
1347 : 5612 : WRITE_NODE_TYPE("PARTITIONCMD");
1348 : :
1349 : 5612 : WRITE_NODE_FIELD(name);
1350 : 5612 : WRITE_NODE_FIELD(bound);
1351 : 5612 : WRITE_NODE_FIELD(partlist);
1352 [ + + ]: 5612 : WRITE_BOOL_FIELD(concurrent);
1353 : 5612 : }
1354 : :
1355 : : static void
1356 : 492 : _outGraphPattern(StringInfo str, const GraphPattern *node)
1357 : : {
1358 : 492 : WRITE_NODE_TYPE("GRAPHPATTERN");
1359 : :
1360 : 492 : WRITE_NODE_FIELD(path_pattern_list);
1361 : 492 : WRITE_NODE_FIELD(whereClause);
1362 : 492 : }
1363 : :
1364 : : static void
1365 : 1462 : _outGraphElementPattern(StringInfo str, const GraphElementPattern *node)
1366 : : {
1367 : 1462 : WRITE_NODE_TYPE("GRAPHELEMENTPATTERN");
1368 : :
1369 : 1462 : WRITE_ENUM_FIELD(kind, GraphElementPatternKind);
1370 : 1462 : WRITE_STRING_FIELD(variable);
1371 : 1462 : WRITE_NODE_FIELD(labelexpr);
1372 : 1462 : WRITE_NODE_FIELD(subexpr);
1373 : 1462 : WRITE_NODE_FIELD(whereClause);
1374 : 1462 : WRITE_NODE_FIELD(quantifier);
1375 [ + + ]: 1462 : WRITE_LOCATION_FIELD(location);
1376 : 1462 : }
1377 : :
1378 : : static void
1379 : 672635 : _outRTEPermissionInfo(StringInfo str, const RTEPermissionInfo *node)
1380 : : {
1381 : 672635 : WRITE_NODE_TYPE("RTEPERMISSIONINFO");
1382 : :
1383 : 672635 : WRITE_OID_FIELD(relid);
1384 [ + + ]: 672635 : WRITE_BOOL_FIELD(inh);
1385 : 672635 : WRITE_UINT64_FIELD(requiredPerms);
1386 : 672635 : WRITE_OID_FIELD(checkAsUser);
1387 : 672635 : WRITE_BITMAPSET_FIELD(selectedCols);
1388 : 672635 : WRITE_BITMAPSET_FIELD(insertedCols);
1389 : 672635 : WRITE_BITMAPSET_FIELD(updatedCols);
1390 : 672635 : }
1391 : :
1392 : : static void
1393 : 64907 : _outRangeTblFunction(StringInfo str, const RangeTblFunction *node)
1394 : : {
1395 : 64907 : WRITE_NODE_TYPE("RANGETBLFUNCTION");
1396 : :
1397 : 64907 : WRITE_NODE_FIELD(funcexpr);
1398 : 64907 : WRITE_INT_FIELD(funccolcount);
1399 : 64907 : WRITE_NODE_FIELD(funccolnames);
1400 : 64907 : WRITE_NODE_FIELD(funccoltypes);
1401 : 64907 : WRITE_NODE_FIELD(funccoltypmods);
1402 : 64907 : WRITE_NODE_FIELD(funccolcollations);
1403 : 64907 : WRITE_BITMAPSET_FIELD(funcparams);
1404 : 64907 : }
1405 : :
1406 : : static void
1407 : 355 : _outTableSampleClause(StringInfo str, const TableSampleClause *node)
1408 : : {
1409 : 355 : WRITE_NODE_TYPE("TABLESAMPLECLAUSE");
1410 : :
1411 : 355 : WRITE_OID_FIELD(tsmhandler);
1412 : 355 : WRITE_NODE_FIELD(args);
1413 : 355 : WRITE_NODE_FIELD(repeatable);
1414 : 355 : }
1415 : :
1416 : : static void
1417 : 4045 : _outWithCheckOption(StringInfo str, const WithCheckOption *node)
1418 : : {
1419 : 4045 : WRITE_NODE_TYPE("WITHCHECKOPTION");
1420 : :
1421 : 4045 : WRITE_ENUM_FIELD(kind, WCOKind);
1422 : 4045 : WRITE_STRING_FIELD(relname);
1423 : 4045 : WRITE_STRING_FIELD(polname);
1424 : 4045 : WRITE_NODE_FIELD(qual);
1425 [ + + ]: 4045 : WRITE_BOOL_FIELD(cascaded);
1426 : 4045 : }
1427 : :
1428 : : static void
1429 : 110981 : _outSortGroupClause(StringInfo str, const SortGroupClause *node)
1430 : : {
1431 : 110981 : WRITE_NODE_TYPE("SORTGROUPCLAUSE");
1432 : :
1433 : 110981 : WRITE_UINT_FIELD(tleSortGroupRef);
1434 : 110981 : WRITE_OID_FIELD(eqop);
1435 : 110981 : WRITE_OID_FIELD(sortop);
1436 [ + + ]: 110981 : WRITE_BOOL_FIELD(reverse_sort);
1437 [ + + ]: 110981 : WRITE_BOOL_FIELD(nulls_first);
1438 [ + + ]: 110981 : WRITE_BOOL_FIELD(hashable);
1439 : 110981 : }
1440 : :
1441 : : static void
1442 : 3514 : _outGroupingSet(StringInfo str, const GroupingSet *node)
1443 : : {
1444 : 3514 : WRITE_NODE_TYPE("GROUPINGSET");
1445 : :
1446 : 3514 : WRITE_ENUM_FIELD(kind, GroupingSetKind);
1447 : 3514 : WRITE_NODE_FIELD(content);
1448 [ + + ]: 3514 : WRITE_LOCATION_FIELD(location);
1449 : 3514 : }
1450 : :
1451 : : static void
1452 : 2179 : _outWindowClause(StringInfo str, const WindowClause *node)
1453 : : {
1454 : 2179 : WRITE_NODE_TYPE("WINDOWCLAUSE");
1455 : :
1456 : 2179 : WRITE_STRING_FIELD(name);
1457 : 2179 : WRITE_STRING_FIELD(refname);
1458 : 2179 : WRITE_NODE_FIELD(partitionClause);
1459 : 2179 : WRITE_NODE_FIELD(orderClause);
1460 : 2179 : WRITE_INT_FIELD(frameOptions);
1461 : 2179 : WRITE_NODE_FIELD(startOffset);
1462 : 2179 : WRITE_NODE_FIELD(endOffset);
1463 : 2179 : WRITE_OID_FIELD(startInRangeFunc);
1464 : 2179 : WRITE_OID_FIELD(endInRangeFunc);
1465 : 2179 : WRITE_OID_FIELD(inRangeColl);
1466 [ + + ]: 2179 : WRITE_BOOL_FIELD(inRangeAsc);
1467 [ + + ]: 2179 : WRITE_BOOL_FIELD(inRangeNullsFirst);
1468 : 2179 : WRITE_UINT_FIELD(winref);
1469 [ + + ]: 2179 : WRITE_BOOL_FIELD(copiedOrder);
1470 : 2179 : }
1471 : :
1472 : : static void
1473 : 5095 : _outRowMarkClause(StringInfo str, const RowMarkClause *node)
1474 : : {
1475 : 5095 : WRITE_NODE_TYPE("ROWMARKCLAUSE");
1476 : :
1477 : 5095 : WRITE_UINT_FIELD(rti);
1478 : 5095 : WRITE_ENUM_FIELD(strength, LockClauseStrength);
1479 : 5095 : WRITE_ENUM_FIELD(waitPolicy, LockWaitPolicy);
1480 [ + + ]: 5095 : WRITE_BOOL_FIELD(pushedDown);
1481 : 5095 : }
1482 : :
1483 : : static void
1484 : 1085 : _outForPortionOfClause(StringInfo str, const ForPortionOfClause *node)
1485 : : {
1486 : 1085 : WRITE_NODE_TYPE("FORPORTIONOFCLAUSE");
1487 : :
1488 : 1085 : WRITE_STRING_FIELD(range_name);
1489 [ + - ]: 1085 : WRITE_LOCATION_FIELD(location);
1490 [ + - ]: 1085 : WRITE_LOCATION_FIELD(target_location);
1491 : 1085 : WRITE_NODE_FIELD(target);
1492 : 1085 : WRITE_NODE_FIELD(target_start);
1493 : 1085 : WRITE_NODE_FIELD(target_end);
1494 : 1085 : }
1495 : :
1496 : : static void
1497 : 2218 : _outWithClause(StringInfo str, const WithClause *node)
1498 : : {
1499 : 2218 : WRITE_NODE_TYPE("WITHCLAUSE");
1500 : :
1501 : 2218 : WRITE_NODE_FIELD(ctes);
1502 [ + + ]: 2218 : WRITE_BOOL_FIELD(recursive);
1503 [ + - ]: 2218 : WRITE_LOCATION_FIELD(location);
1504 : 2218 : }
1505 : :
1506 : : static void
1507 : 1421 : _outInferClause(StringInfo str, const InferClause *node)
1508 : : {
1509 : 1421 : WRITE_NODE_TYPE("INFERCLAUSE");
1510 : :
1511 : 1421 : WRITE_NODE_FIELD(indexElems);
1512 : 1421 : WRITE_NODE_FIELD(whereClause);
1513 : 1421 : WRITE_STRING_FIELD(conname);
1514 [ + - ]: 1421 : WRITE_LOCATION_FIELD(location);
1515 : 1421 : }
1516 : :
1517 : : static void
1518 : 1577 : _outOnConflictClause(StringInfo str, const OnConflictClause *node)
1519 : : {
1520 : 1577 : WRITE_NODE_TYPE("ONCONFLICTCLAUSE");
1521 : :
1522 : 1577 : WRITE_ENUM_FIELD(action, OnConflictAction);
1523 : 1577 : WRITE_NODE_FIELD(infer);
1524 : 1577 : WRITE_ENUM_FIELD(lockStrength, LockClauseStrength);
1525 : 1577 : WRITE_NODE_FIELD(targetList);
1526 : 1577 : WRITE_NODE_FIELD(whereClause);
1527 [ + - ]: 1577 : WRITE_LOCATION_FIELD(location);
1528 : 1577 : }
1529 : :
1530 : : static void
1531 : 144 : _outCTESearchClause(StringInfo str, const CTESearchClause *node)
1532 : : {
1533 : 144 : WRITE_NODE_TYPE("CTESEARCHCLAUSE");
1534 : :
1535 : 144 : WRITE_NODE_FIELD(search_col_list);
1536 [ + + ]: 144 : WRITE_BOOL_FIELD(search_breadth_first);
1537 : 144 : WRITE_STRING_FIELD(search_seq_column);
1538 [ + + ]: 144 : WRITE_LOCATION_FIELD(location);
1539 : 144 : }
1540 : :
1541 : : static void
1542 : 148 : _outCTECycleClause(StringInfo str, const CTECycleClause *node)
1543 : : {
1544 : 148 : WRITE_NODE_TYPE("CTECYCLECLAUSE");
1545 : :
1546 : 148 : WRITE_NODE_FIELD(cycle_col_list);
1547 : 148 : WRITE_STRING_FIELD(cycle_mark_column);
1548 : 148 : WRITE_NODE_FIELD(cycle_mark_value);
1549 : 148 : WRITE_NODE_FIELD(cycle_mark_default);
1550 : 148 : WRITE_STRING_FIELD(cycle_path_column);
1551 [ + + ]: 148 : WRITE_LOCATION_FIELD(location);
1552 : 148 : WRITE_OID_FIELD(cycle_mark_type);
1553 : 148 : WRITE_INT_FIELD(cycle_mark_typmod);
1554 : 148 : WRITE_OID_FIELD(cycle_mark_collation);
1555 : 148 : WRITE_OID_FIELD(cycle_mark_neop);
1556 : 148 : }
1557 : :
1558 : : static void
1559 : 5669 : _outCommonTableExpr(StringInfo str, const CommonTableExpr *node)
1560 : : {
1561 : 5669 : WRITE_NODE_TYPE("COMMONTABLEEXPR");
1562 : :
1563 : 5669 : WRITE_STRING_FIELD(ctename);
1564 : 5669 : WRITE_NODE_FIELD(aliascolnames);
1565 : 5669 : WRITE_ENUM_FIELD(ctematerialized, CTEMaterialize);
1566 : 5669 : WRITE_NODE_FIELD(ctequery);
1567 : 5669 : WRITE_NODE_FIELD(search_clause);
1568 : 5669 : WRITE_NODE_FIELD(cycle_clause);
1569 [ + + ]: 5669 : WRITE_LOCATION_FIELD(location);
1570 [ + + ]: 5669 : WRITE_BOOL_FIELD(cterecursive);
1571 : 5669 : WRITE_INT_FIELD(cterefcount);
1572 : 5669 : WRITE_NODE_FIELD(ctecolnames);
1573 : 5669 : WRITE_NODE_FIELD(ctecoltypes);
1574 : 5669 : WRITE_NODE_FIELD(ctecoltypmods);
1575 : 5669 : WRITE_NODE_FIELD(ctecolcollations);
1576 : 5669 : }
1577 : :
1578 : : static void
1579 : 2043 : _outMergeWhenClause(StringInfo str, const MergeWhenClause *node)
1580 : : {
1581 : 2043 : WRITE_NODE_TYPE("MERGEWHENCLAUSE");
1582 : :
1583 : 2043 : WRITE_ENUM_FIELD(matchKind, MergeMatchKind);
1584 : 2043 : WRITE_ENUM_FIELD(commandType, CmdType);
1585 : 2043 : WRITE_ENUM_FIELD(override, OverridingKind);
1586 : 2043 : WRITE_NODE_FIELD(condition);
1587 : 2043 : WRITE_NODE_FIELD(targetList);
1588 : 2043 : WRITE_NODE_FIELD(values);
1589 : 2043 : }
1590 : :
1591 : : static void
1592 : 100 : _outReturningOption(StringInfo str, const ReturningOption *node)
1593 : : {
1594 : 100 : WRITE_NODE_TYPE("RETURNINGOPTION");
1595 : :
1596 : 100 : WRITE_ENUM_FIELD(option, ReturningOptionKind);
1597 : 100 : WRITE_STRING_FIELD(value);
1598 [ + - ]: 100 : WRITE_LOCATION_FIELD(location);
1599 : 100 : }
1600 : :
1601 : : static void
1602 : 2496 : _outReturningClause(StringInfo str, const ReturningClause *node)
1603 : : {
1604 : 2496 : WRITE_NODE_TYPE("RETURNINGCLAUSE");
1605 : :
1606 : 2496 : WRITE_NODE_FIELD(options);
1607 : 2496 : WRITE_NODE_FIELD(exprs);
1608 : 2496 : }
1609 : :
1610 : : static void
1611 : 856 : _outTriggerTransition(StringInfo str, const TriggerTransition *node)
1612 : : {
1613 : 856 : WRITE_NODE_TYPE("TRIGGERTRANSITION");
1614 : :
1615 : 856 : WRITE_STRING_FIELD(name);
1616 [ + + ]: 856 : WRITE_BOOL_FIELD(isNew);
1617 [ + - ]: 856 : WRITE_BOOL_FIELD(isTable);
1618 : 856 : }
1619 : :
1620 : : static void
1621 : 1534 : _outJsonOutput(StringInfo str, const JsonOutput *node)
1622 : : {
1623 : 1534 : WRITE_NODE_TYPE("JSONOUTPUT");
1624 : :
1625 : 1534 : WRITE_NODE_FIELD(typeName);
1626 : 1534 : WRITE_NODE_FIELD(returning);
1627 : 1534 : }
1628 : :
1629 : : static void
1630 : 420 : _outJsonArgument(StringInfo str, const JsonArgument *node)
1631 : : {
1632 : 420 : WRITE_NODE_TYPE("JSONARGUMENT");
1633 : :
1634 : 420 : WRITE_NODE_FIELD(val);
1635 : 420 : WRITE_STRING_FIELD(name);
1636 : 420 : }
1637 : :
1638 : : static void
1639 : 1452 : _outJsonFuncExpr(StringInfo str, const JsonFuncExpr *node)
1640 : : {
1641 : 1452 : WRITE_NODE_TYPE("JSONFUNCEXPR");
1642 : :
1643 : 1452 : WRITE_ENUM_FIELD(op, JsonExprOp);
1644 : 1452 : WRITE_STRING_FIELD(column_name);
1645 : 1452 : WRITE_NODE_FIELD(context_item);
1646 : 1452 : WRITE_NODE_FIELD(pathspec);
1647 : 1452 : WRITE_NODE_FIELD(passing);
1648 : 1452 : WRITE_NODE_FIELD(output);
1649 : 1452 : WRITE_NODE_FIELD(on_empty);
1650 : 1452 : WRITE_NODE_FIELD(on_error);
1651 : 1452 : WRITE_ENUM_FIELD(wrapper, JsonWrapper);
1652 : 1452 : WRITE_ENUM_FIELD(quotes, JsonQuotes);
1653 [ + - ]: 1452 : WRITE_LOCATION_FIELD(location);
1654 : 1452 : }
1655 : :
1656 : : static void
1657 : 1344 : _outJsonTablePathSpec(StringInfo str, const JsonTablePathSpec *node)
1658 : : {
1659 : 1344 : WRITE_NODE_TYPE("JSONTABLEPATHSPEC");
1660 : :
1661 : 1344 : WRITE_NODE_FIELD(string);
1662 : 1344 : WRITE_STRING_FIELD(name);
1663 [ + - ]: 1344 : WRITE_LOCATION_FIELD(name_location);
1664 [ + - ]: 1344 : WRITE_LOCATION_FIELD(location);
1665 : 1344 : }
1666 : :
1667 : : static void
1668 : 412 : _outJsonTable(StringInfo str, const JsonTable *node)
1669 : : {
1670 : 412 : WRITE_NODE_TYPE("JSONTABLE");
1671 : :
1672 : 412 : WRITE_NODE_FIELD(context_item);
1673 : 412 : WRITE_NODE_FIELD(pathspec);
1674 : 412 : WRITE_NODE_FIELD(passing);
1675 : 412 : WRITE_NODE_FIELD(columns);
1676 : 412 : WRITE_NODE_FIELD(on_error);
1677 : 412 : WRITE_NODE_FIELD(alias);
1678 [ - + ]: 412 : WRITE_BOOL_FIELD(lateral);
1679 [ + - ]: 412 : WRITE_LOCATION_FIELD(location);
1680 : 412 : }
1681 : :
1682 : : static void
1683 : 1116 : _outJsonTableColumn(StringInfo str, const JsonTableColumn *node)
1684 : : {
1685 : 1116 : WRITE_NODE_TYPE("JSONTABLECOLUMN");
1686 : :
1687 : 1116 : WRITE_ENUM_FIELD(coltype, JsonTableColumnType);
1688 : 1116 : WRITE_STRING_FIELD(name);
1689 : 1116 : WRITE_NODE_FIELD(typeName);
1690 : 1116 : WRITE_NODE_FIELD(pathspec);
1691 : 1116 : WRITE_NODE_FIELD(format);
1692 : 1116 : WRITE_ENUM_FIELD(wrapper, JsonWrapper);
1693 : 1116 : WRITE_ENUM_FIELD(quotes, JsonQuotes);
1694 : 1116 : WRITE_NODE_FIELD(columns);
1695 : 1116 : WRITE_NODE_FIELD(on_empty);
1696 : 1116 : WRITE_NODE_FIELD(on_error);
1697 [ + - ]: 1116 : WRITE_LOCATION_FIELD(location);
1698 : 1116 : }
1699 : :
1700 : : static void
1701 : 754 : _outJsonKeyValue(StringInfo str, const JsonKeyValue *node)
1702 : : {
1703 : 754 : WRITE_NODE_TYPE("JSONKEYVALUE");
1704 : :
1705 : 754 : WRITE_NODE_FIELD(key);
1706 : 754 : WRITE_NODE_FIELD(value);
1707 : 754 : }
1708 : :
1709 : : static void
1710 : 108 : _outJsonParseExpr(StringInfo str, const JsonParseExpr *node)
1711 : : {
1712 : 108 : WRITE_NODE_TYPE("JSONPARSEEXPR");
1713 : :
1714 : 108 : WRITE_NODE_FIELD(expr);
1715 : 108 : WRITE_NODE_FIELD(output);
1716 [ + + ]: 108 : WRITE_BOOL_FIELD(unique_keys);
1717 [ + - ]: 108 : WRITE_LOCATION_FIELD(location);
1718 : 108 : }
1719 : :
1720 : : static void
1721 : 70 : _outJsonScalarExpr(StringInfo str, const JsonScalarExpr *node)
1722 : : {
1723 : 70 : WRITE_NODE_TYPE("JSONSCALAREXPR");
1724 : :
1725 : 70 : WRITE_NODE_FIELD(expr);
1726 : 70 : WRITE_NODE_FIELD(output);
1727 [ + - ]: 70 : WRITE_LOCATION_FIELD(location);
1728 : 70 : }
1729 : :
1730 : : static void
1731 : 68 : _outJsonSerializeExpr(StringInfo str, const JsonSerializeExpr *node)
1732 : : {
1733 : 68 : WRITE_NODE_TYPE("JSONSERIALIZEEXPR");
1734 : :
1735 : 68 : WRITE_NODE_FIELD(expr);
1736 : 68 : WRITE_NODE_FIELD(output);
1737 [ + - ]: 68 : WRITE_LOCATION_FIELD(location);
1738 : 68 : }
1739 : :
1740 : : static void
1741 : 470 : _outJsonObjectConstructor(StringInfo str, const JsonObjectConstructor *node)
1742 : : {
1743 : 470 : WRITE_NODE_TYPE("JSONOBJECTCONSTRUCTOR");
1744 : :
1745 : 470 : WRITE_NODE_FIELD(exprs);
1746 : 470 : WRITE_NODE_FIELD(output);
1747 [ + + ]: 470 : WRITE_BOOL_FIELD(absent_on_null);
1748 [ + + ]: 470 : WRITE_BOOL_FIELD(unique);
1749 [ + - ]: 470 : WRITE_LOCATION_FIELD(location);
1750 : 470 : }
1751 : :
1752 : : static void
1753 : 316 : _outJsonArrayConstructor(StringInfo str, const JsonArrayConstructor *node)
1754 : : {
1755 : 316 : WRITE_NODE_TYPE("JSONARRAYCONSTRUCTOR");
1756 : :
1757 : 316 : WRITE_NODE_FIELD(exprs);
1758 : 316 : WRITE_NODE_FIELD(output);
1759 [ + + ]: 316 : WRITE_BOOL_FIELD(absent_on_null);
1760 [ + - ]: 316 : WRITE_LOCATION_FIELD(location);
1761 : 316 : }
1762 : :
1763 : : static void
1764 : 108 : _outJsonArrayQueryConstructor(StringInfo str, const JsonArrayQueryConstructor *node)
1765 : : {
1766 : 108 : WRITE_NODE_TYPE("JSONARRAYQUERYCONSTRUCTOR");
1767 : :
1768 : 108 : WRITE_NODE_FIELD(query);
1769 : 108 : WRITE_NODE_FIELD(output);
1770 : 108 : WRITE_NODE_FIELD(format);
1771 [ + - ]: 108 : WRITE_BOOL_FIELD(absent_on_null);
1772 [ + - ]: 108 : WRITE_LOCATION_FIELD(location);
1773 : 108 : }
1774 : :
1775 : : static void
1776 : 332 : _outJsonAggConstructor(StringInfo str, const JsonAggConstructor *node)
1777 : : {
1778 : 332 : WRITE_NODE_TYPE("JSONAGGCONSTRUCTOR");
1779 : :
1780 : 332 : WRITE_NODE_FIELD(output);
1781 : 332 : WRITE_NODE_FIELD(agg_filter);
1782 : 332 : WRITE_NODE_FIELD(agg_order);
1783 : 332 : WRITE_NODE_FIELD(over);
1784 [ + - ]: 332 : WRITE_LOCATION_FIELD(location);
1785 : 332 : }
1786 : :
1787 : : static void
1788 : 172 : _outJsonObjectAgg(StringInfo str, const JsonObjectAgg *node)
1789 : : {
1790 : 172 : WRITE_NODE_TYPE("JSONOBJECTAGG");
1791 : :
1792 : 172 : WRITE_NODE_FIELD(constructor);
1793 : 172 : WRITE_NODE_FIELD(arg);
1794 [ + + ]: 172 : WRITE_BOOL_FIELD(absent_on_null);
1795 [ + + ]: 172 : WRITE_BOOL_FIELD(unique);
1796 : 172 : }
1797 : :
1798 : : static void
1799 : 160 : _outJsonArrayAgg(StringInfo str, const JsonArrayAgg *node)
1800 : : {
1801 : 160 : WRITE_NODE_TYPE("JSONARRAYAGG");
1802 : :
1803 : 160 : WRITE_NODE_FIELD(constructor);
1804 : 160 : WRITE_NODE_FIELD(arg);
1805 [ + + ]: 160 : WRITE_BOOL_FIELD(absent_on_null);
1806 : 160 : }
1807 : :
1808 : : static void
1809 : 470201 : _outRawStmt(StringInfo str, const RawStmt *node)
1810 : : {
1811 : 470201 : WRITE_NODE_TYPE("RAWSTMT");
1812 : :
1813 : 470201 : WRITE_NODE_FIELD(stmt);
1814 [ + - ]: 470201 : WRITE_LOCATION_FIELD(stmt_location);
1815 [ + - ]: 470201 : WRITE_LOCATION_FIELD(stmt_len);
1816 : 470201 : }
1817 : :
1818 : : static void
1819 : 45200 : _outInsertStmt(StringInfo str, const InsertStmt *node)
1820 : : {
1821 : 45200 : WRITE_NODE_TYPE("INSERTSTMT");
1822 : :
1823 : 45200 : WRITE_NODE_FIELD(relation);
1824 : 45200 : WRITE_NODE_FIELD(cols);
1825 : 45200 : WRITE_NODE_FIELD(selectStmt);
1826 : 45200 : WRITE_NODE_FIELD(onConflictClause);
1827 : 45200 : WRITE_NODE_FIELD(returningClause);
1828 : 45200 : WRITE_NODE_FIELD(withClause);
1829 : 45200 : WRITE_ENUM_FIELD(override, OverridingKind);
1830 : 45200 : }
1831 : :
1832 : : static void
1833 : 3385 : _outDeleteStmt(StringInfo str, const DeleteStmt *node)
1834 : : {
1835 : 3385 : WRITE_NODE_TYPE("DELETESTMT");
1836 : :
1837 : 3385 : WRITE_NODE_FIELD(relation);
1838 : 3385 : WRITE_NODE_FIELD(usingClause);
1839 : 3385 : WRITE_NODE_FIELD(whereClause);
1840 : 3385 : WRITE_NODE_FIELD(returningClause);
1841 : 3385 : WRITE_NODE_FIELD(withClause);
1842 : 3385 : WRITE_NODE_FIELD(forPortionOf);
1843 : 3385 : }
1844 : :
1845 : : static void
1846 : 9187 : _outUpdateStmt(StringInfo str, const UpdateStmt *node)
1847 : : {
1848 : 9187 : WRITE_NODE_TYPE("UPDATESTMT");
1849 : :
1850 : 9187 : WRITE_NODE_FIELD(relation);
1851 : 9187 : WRITE_NODE_FIELD(targetList);
1852 : 9187 : WRITE_NODE_FIELD(whereClause);
1853 : 9187 : WRITE_NODE_FIELD(fromClause);
1854 : 9187 : WRITE_NODE_FIELD(returningClause);
1855 : 9187 : WRITE_NODE_FIELD(withClause);
1856 : 9187 : WRITE_NODE_FIELD(forPortionOf);
1857 : 9187 : }
1858 : :
1859 : : static void
1860 : 1342 : _outMergeStmt(StringInfo str, const MergeStmt *node)
1861 : : {
1862 : 1342 : WRITE_NODE_TYPE("MERGESTMT");
1863 : :
1864 : 1342 : WRITE_NODE_FIELD(relation);
1865 : 1342 : WRITE_NODE_FIELD(sourceRelation);
1866 : 1342 : WRITE_NODE_FIELD(joinCondition);
1867 : 1342 : WRITE_NODE_FIELD(mergeWhenClauses);
1868 : 1342 : WRITE_NODE_FIELD(returningClause);
1869 : 1342 : WRITE_NODE_FIELD(withClause);
1870 : 1342 : }
1871 : :
1872 : : static void
1873 : 341510 : _outSelectStmt(StringInfo str, const SelectStmt *node)
1874 : : {
1875 : 341510 : WRITE_NODE_TYPE("SELECTSTMT");
1876 : :
1877 : 341510 : WRITE_NODE_FIELD(distinctClause);
1878 : 341510 : WRITE_NODE_FIELD(intoClause);
1879 : 341510 : WRITE_NODE_FIELD(targetList);
1880 : 341510 : WRITE_NODE_FIELD(fromClause);
1881 : 341510 : WRITE_NODE_FIELD(whereClause);
1882 : 341510 : WRITE_NODE_FIELD(groupClause);
1883 [ + + ]: 341510 : WRITE_BOOL_FIELD(groupDistinct);
1884 [ + + ]: 341510 : WRITE_BOOL_FIELD(groupByAll);
1885 : 341510 : WRITE_NODE_FIELD(havingClause);
1886 : 341510 : WRITE_NODE_FIELD(windowClause);
1887 : 341510 : WRITE_NODE_FIELD(valuesLists);
1888 : 341510 : WRITE_NODE_FIELD(sortClause);
1889 : 341510 : WRITE_NODE_FIELD(limitOffset);
1890 : 341510 : WRITE_NODE_FIELD(limitCount);
1891 : 341510 : WRITE_ENUM_FIELD(limitOption, LimitOption);
1892 : 341510 : WRITE_NODE_FIELD(lockingClause);
1893 : 341510 : WRITE_NODE_FIELD(withClause);
1894 : 341510 : WRITE_ENUM_FIELD(op, SetOperation);
1895 [ + + ]: 341510 : WRITE_BOOL_FIELD(all);
1896 : 341510 : WRITE_NODE_FIELD(larg);
1897 : 341510 : WRITE_NODE_FIELD(rarg);
1898 : 341510 : }
1899 : :
1900 : : static void
1901 : 15755 : _outSetOperationStmt(StringInfo str, const SetOperationStmt *node)
1902 : : {
1903 : 15755 : WRITE_NODE_TYPE("SETOPERATIONSTMT");
1904 : :
1905 : 15755 : WRITE_ENUM_FIELD(op, SetOperation);
1906 [ + + ]: 15755 : WRITE_BOOL_FIELD(all);
1907 : 15755 : WRITE_NODE_FIELD(larg);
1908 : 15755 : WRITE_NODE_FIELD(rarg);
1909 : 15755 : WRITE_NODE_FIELD(colTypes);
1910 : 15755 : WRITE_NODE_FIELD(colTypmods);
1911 : 15755 : WRITE_NODE_FIELD(colCollations);
1912 : 15755 : WRITE_NODE_FIELD(groupClauses);
1913 : 15755 : }
1914 : :
1915 : : static void
1916 : 5568 : _outReturnStmt(StringInfo str, const ReturnStmt *node)
1917 : : {
1918 : 5568 : WRITE_NODE_TYPE("RETURNSTMT");
1919 : :
1920 : 5568 : WRITE_NODE_FIELD(returnval);
1921 : 5568 : }
1922 : :
1923 : : static void
1924 : 0 : _outPLAssignStmt(StringInfo str, const PLAssignStmt *node)
1925 : : {
1926 : 0 : WRITE_NODE_TYPE("PLASSIGNSTMT");
1927 : :
1928 : 0 : WRITE_STRING_FIELD(name);
1929 : 0 : WRITE_NODE_FIELD(indirection);
1930 : 0 : WRITE_INT_FIELD(nnames);
1931 : 0 : WRITE_NODE_FIELD(val);
1932 [ # # ]: 0 : WRITE_LOCATION_FIELD(location);
1933 : 0 : }
1934 : :
1935 : : static void
1936 : 1543 : _outCreateSchemaStmt(StringInfo str, const CreateSchemaStmt *node)
1937 : : {
1938 : 1543 : WRITE_NODE_TYPE("CREATESCHEMASTMT");
1939 : :
1940 : 1543 : WRITE_STRING_FIELD(schemaname);
1941 : 1543 : WRITE_NODE_FIELD(authrole);
1942 : 1543 : WRITE_NODE_FIELD(schemaElts);
1943 [ + + ]: 1543 : WRITE_BOOL_FIELD(if_not_exists);
1944 : 1543 : }
1945 : :
1946 : : static void
1947 : 41236 : _outAlterTableStmt(StringInfo str, const AlterTableStmt *node)
1948 : : {
1949 : 41236 : WRITE_NODE_TYPE("ALTERTABLESTMT");
1950 : :
1951 : 41236 : WRITE_NODE_FIELD(relation);
1952 : 41236 : WRITE_NODE_FIELD(cmds);
1953 : 41236 : WRITE_ENUM_FIELD(objtype, ObjectType);
1954 [ + + ]: 41236 : WRITE_BOOL_FIELD(missing_ok);
1955 : 41236 : }
1956 : :
1957 : : static void
1958 : 42646 : _outAlterTableCmd(StringInfo str, const AlterTableCmd *node)
1959 : : {
1960 : 42646 : WRITE_NODE_TYPE("ALTERTABLECMD");
1961 : :
1962 : 42646 : WRITE_ENUM_FIELD(subtype, AlterTableType);
1963 : 42646 : WRITE_STRING_FIELD(name);
1964 : 42646 : WRITE_INT_FIELD(num);
1965 : 42646 : WRITE_NODE_FIELD(newowner);
1966 : 42646 : WRITE_NODE_FIELD(def);
1967 : 42646 : WRITE_ENUM_FIELD(behavior, DropBehavior);
1968 [ + + ]: 42646 : WRITE_BOOL_FIELD(missing_ok);
1969 [ - + ]: 42646 : WRITE_BOOL_FIELD(recurse);
1970 : 42646 : }
1971 : :
1972 : : static void
1973 : 680 : _outATAlterConstraint(StringInfo str, const ATAlterConstraint *node)
1974 : : {
1975 : 680 : WRITE_NODE_TYPE("ATALTERCONSTRAINT");
1976 : :
1977 : 680 : WRITE_STRING_FIELD(conname);
1978 [ + + ]: 680 : WRITE_BOOL_FIELD(alterEnforceability);
1979 [ + + ]: 680 : WRITE_BOOL_FIELD(is_enforced);
1980 [ + + ]: 680 : WRITE_BOOL_FIELD(alterDeferrability);
1981 [ + + ]: 680 : WRITE_BOOL_FIELD(deferrable);
1982 [ + + ]: 680 : WRITE_BOOL_FIELD(initdeferred);
1983 [ + + ]: 680 : WRITE_BOOL_FIELD(alterInheritability);
1984 [ + + ]: 680 : WRITE_BOOL_FIELD(noinherit);
1985 : 680 : }
1986 : :
1987 : : static void
1988 : 612 : _outReplicaIdentityStmt(StringInfo str, const ReplicaIdentityStmt *node)
1989 : : {
1990 : 612 : WRITE_NODE_TYPE("REPLICAIDENTITYSTMT");
1991 : :
1992 : 612 : WRITE_CHAR_FIELD(identity_type);
1993 : 612 : WRITE_STRING_FIELD(name);
1994 : 612 : }
1995 : :
1996 : : static void
1997 : 8 : _outAlterCollationStmt(StringInfo str, const AlterCollationStmt *node)
1998 : : {
1999 : 8 : WRITE_NODE_TYPE("ALTERCOLLATIONSTMT");
2000 : :
2001 : 8 : WRITE_NODE_FIELD(collname);
2002 : 8 : }
2003 : :
2004 : : static void
2005 : 388 : _outAlterDomainStmt(StringInfo str, const AlterDomainStmt *node)
2006 : : {
2007 : 388 : WRITE_NODE_TYPE("ALTERDOMAINSTMT");
2008 : :
2009 : 388 : WRITE_ENUM_FIELD(subtype, AlterDomainType);
2010 : 388 : WRITE_NODE_FIELD(typeName);
2011 : 388 : WRITE_STRING_FIELD(name);
2012 : 388 : WRITE_NODE_FIELD(def);
2013 : 388 : WRITE_ENUM_FIELD(behavior, DropBehavior);
2014 [ + + ]: 388 : WRITE_BOOL_FIELD(missing_ok);
2015 : 388 : }
2016 : :
2017 : : static void
2018 : 17103 : _outGrantStmt(StringInfo str, const GrantStmt *node)
2019 : : {
2020 : 17103 : WRITE_NODE_TYPE("GRANTSTMT");
2021 : :
2022 [ + + ]: 17103 : WRITE_BOOL_FIELD(is_grant);
2023 : 17103 : WRITE_ENUM_FIELD(targtype, GrantTargetType);
2024 : 17103 : WRITE_ENUM_FIELD(objtype, ObjectType);
2025 : 17103 : WRITE_NODE_FIELD(objects);
2026 : 17103 : WRITE_NODE_FIELD(privileges);
2027 : 17103 : WRITE_NODE_FIELD(grantees);
2028 [ + + ]: 17103 : WRITE_BOOL_FIELD(grant_option);
2029 : 17103 : WRITE_NODE_FIELD(grantor);
2030 : 17103 : WRITE_ENUM_FIELD(behavior, DropBehavior);
2031 : 17103 : }
2032 : :
2033 : : static void
2034 : 16240 : _outObjectWithArgs(StringInfo str, const ObjectWithArgs *node)
2035 : : {
2036 : 16240 : WRITE_NODE_TYPE("OBJECTWITHARGS");
2037 : :
2038 : 16240 : WRITE_NODE_FIELD(objname);
2039 : 16240 : WRITE_NODE_FIELD(objargs);
2040 : 16240 : WRITE_NODE_FIELD(objfuncargs);
2041 [ + + ]: 16240 : WRITE_BOOL_FIELD(args_unspecified);
2042 : 16240 : }
2043 : :
2044 : : static void
2045 : 15306 : _outAccessPriv(StringInfo str, const AccessPriv *node)
2046 : : {
2047 : 15306 : WRITE_NODE_TYPE("ACCESSPRIV");
2048 : :
2049 : 15306 : WRITE_STRING_FIELD(priv_name);
2050 : 15306 : WRITE_NODE_FIELD(cols);
2051 : 15306 : }
2052 : :
2053 : : static void
2054 : 833 : _outGrantRoleStmt(StringInfo str, const GrantRoleStmt *node)
2055 : : {
2056 : 833 : WRITE_NODE_TYPE("GRANTROLESTMT");
2057 : :
2058 : 833 : WRITE_NODE_FIELD(granted_roles);
2059 : 833 : WRITE_NODE_FIELD(grantee_roles);
2060 [ + + ]: 833 : WRITE_BOOL_FIELD(is_grant);
2061 : 833 : WRITE_NODE_FIELD(opt);
2062 : 833 : WRITE_NODE_FIELD(grantor);
2063 : 833 : WRITE_ENUM_FIELD(behavior, DropBehavior);
2064 : 833 : }
2065 : :
2066 : : static void
2067 : 270 : _outAlterDefaultPrivilegesStmt(StringInfo str, const AlterDefaultPrivilegesStmt *node)
2068 : : {
2069 : 270 : WRITE_NODE_TYPE("ALTERDEFAULTPRIVILEGESSTMT");
2070 : :
2071 : 270 : WRITE_NODE_FIELD(options);
2072 : 270 : WRITE_NODE_FIELD(action);
2073 : 270 : }
2074 : :
2075 : : static void
2076 : 13373 : _outCopyStmt(StringInfo str, const CopyStmt *node)
2077 : : {
2078 : 13373 : WRITE_NODE_TYPE("COPYSTMT");
2079 : :
2080 : 13373 : WRITE_NODE_FIELD(relation);
2081 : 13373 : WRITE_NODE_FIELD(query);
2082 : 13373 : WRITE_NODE_FIELD(attlist);
2083 [ + + ]: 13373 : WRITE_BOOL_FIELD(is_from);
2084 [ - + ]: 13373 : WRITE_BOOL_FIELD(is_program);
2085 : 13373 : WRITE_STRING_FIELD(filename);
2086 : 13373 : WRITE_NODE_FIELD(options);
2087 : 13373 : WRITE_NODE_FIELD(whereClause);
2088 : 13373 : }
2089 : :
2090 : : static void
2091 : 38247 : _outVariableSetStmt(StringInfo str, const VariableSetStmt *node)
2092 : : {
2093 : 38247 : WRITE_NODE_TYPE("VARIABLESETSTMT");
2094 : :
2095 : 38247 : WRITE_ENUM_FIELD(kind, VariableSetKind);
2096 : 38247 : WRITE_STRING_FIELD(name);
2097 : 38247 : WRITE_NODE_FIELD(args);
2098 [ + + ]: 38247 : WRITE_BOOL_FIELD(jumble_args);
2099 [ + + ]: 38247 : WRITE_BOOL_FIELD(is_local);
2100 [ + - ]: 38247 : WRITE_LOCATION_FIELD(location);
2101 : 38247 : }
2102 : :
2103 : : static void
2104 : 1166 : _outVariableShowStmt(StringInfo str, const VariableShowStmt *node)
2105 : : {
2106 : 1166 : WRITE_NODE_TYPE("VARIABLESHOWSTMT");
2107 : :
2108 : 1166 : WRITE_STRING_FIELD(name);
2109 : 1166 : }
2110 : :
2111 : : static void
2112 : 52468 : _outCreateStmt(StringInfo str, const CreateStmt *node)
2113 : : {
2114 : 52468 : WRITE_NODE_TYPE("CREATESTMT");
2115 : :
2116 : 52468 : WRITE_NODE_FIELD(relation);
2117 : 52468 : WRITE_NODE_FIELD(tableElts);
2118 : 52468 : WRITE_NODE_FIELD(inhRelations);
2119 : 52468 : WRITE_NODE_FIELD(partbound);
2120 : 52468 : WRITE_NODE_FIELD(partspec);
2121 : 52468 : WRITE_NODE_FIELD(ofTypename);
2122 : 52468 : WRITE_NODE_FIELD(constraints);
2123 : 52468 : WRITE_NODE_FIELD(nnconstraints);
2124 : 52468 : WRITE_NODE_FIELD(options);
2125 : 52468 : WRITE_ENUM_FIELD(oncommit, OnCommitAction);
2126 : 52468 : WRITE_STRING_FIELD(tablespacename);
2127 : 52468 : WRITE_STRING_FIELD(accessMethod);
2128 [ + + ]: 52468 : WRITE_BOOL_FIELD(if_not_exists);
2129 : 52468 : }
2130 : :
2131 : : static void
2132 : 48252 : _outConstraint(StringInfo str, const Constraint *node)
2133 : : {
2134 : 48252 : WRITE_NODE_TYPE("CONSTRAINT");
2135 : :
2136 : 48252 : WRITE_ENUM_FIELD(contype, ConstrType);
2137 : 48252 : WRITE_STRING_FIELD(conname);
2138 [ + + ]: 48252 : WRITE_BOOL_FIELD(deferrable);
2139 [ + + ]: 48252 : WRITE_BOOL_FIELD(initdeferred);
2140 [ + + ]: 48252 : WRITE_BOOL_FIELD(is_enforced);
2141 [ + + ]: 48252 : WRITE_BOOL_FIELD(skip_validation);
2142 [ + + ]: 48252 : WRITE_BOOL_FIELD(initially_valid);
2143 [ + + ]: 48252 : WRITE_BOOL_FIELD(is_no_inherit);
2144 : 48252 : WRITE_NODE_FIELD(raw_expr);
2145 : 48252 : WRITE_STRING_FIELD(cooked_expr);
2146 : 48252 : WRITE_CHAR_FIELD(generated_when);
2147 : 48252 : WRITE_CHAR_FIELD(generated_kind);
2148 [ + + ]: 48252 : WRITE_BOOL_FIELD(nulls_not_distinct);
2149 : 48252 : WRITE_NODE_FIELD(keys);
2150 [ + + ]: 48252 : WRITE_BOOL_FIELD(without_overlaps);
2151 : 48252 : WRITE_NODE_FIELD(including);
2152 : 48252 : WRITE_NODE_FIELD(exclusions);
2153 : 48252 : WRITE_NODE_FIELD(options);
2154 : 48252 : WRITE_STRING_FIELD(indexname);
2155 : 48252 : WRITE_STRING_FIELD(indexspace);
2156 [ - + ]: 48252 : WRITE_BOOL_FIELD(reset_default_tblspc);
2157 : 48252 : WRITE_STRING_FIELD(access_method);
2158 : 48252 : WRITE_NODE_FIELD(where_clause);
2159 : 48252 : WRITE_NODE_FIELD(pktable);
2160 : 48252 : WRITE_NODE_FIELD(fk_attrs);
2161 : 48252 : WRITE_NODE_FIELD(pk_attrs);
2162 [ + + ]: 48252 : WRITE_BOOL_FIELD(fk_with_period);
2163 [ + + ]: 48252 : WRITE_BOOL_FIELD(pk_with_period);
2164 : 48252 : WRITE_CHAR_FIELD(fk_matchtype);
2165 : 48252 : WRITE_CHAR_FIELD(fk_upd_action);
2166 : 48252 : WRITE_CHAR_FIELD(fk_del_action);
2167 : 48252 : WRITE_NODE_FIELD(fk_del_set_cols);
2168 : 48252 : WRITE_NODE_FIELD(old_conpfeqop);
2169 : 48252 : WRITE_OID_FIELD(old_pktable_oid);
2170 [ + - ]: 48252 : WRITE_LOCATION_FIELD(location);
2171 : 48252 : }
2172 : :
2173 : : static void
2174 : 150 : _outCreateTableSpaceStmt(StringInfo str, const CreateTableSpaceStmt *node)
2175 : : {
2176 : 150 : WRITE_NODE_TYPE("CREATETABLESPACESTMT");
2177 : :
2178 : 150 : WRITE_STRING_FIELD(tablespacename);
2179 : 150 : WRITE_NODE_FIELD(owner);
2180 : 150 : WRITE_STRING_FIELD(location);
2181 : 150 : WRITE_NODE_FIELD(options);
2182 : 150 : }
2183 : :
2184 : : static void
2185 : 72 : _outDropTableSpaceStmt(StringInfo str, const DropTableSpaceStmt *node)
2186 : : {
2187 : 72 : WRITE_NODE_TYPE("DROPTABLESPACESTMT");
2188 : :
2189 : 72 : WRITE_STRING_FIELD(tablespacename);
2190 [ - + ]: 72 : WRITE_BOOL_FIELD(missing_ok);
2191 : 72 : }
2192 : :
2193 : : static void
2194 : 34 : _outAlterTableSpaceOptionsStmt(StringInfo str, const AlterTableSpaceOptionsStmt *node)
2195 : : {
2196 : 34 : WRITE_NODE_TYPE("ALTERTABLESPACEOPTIONSSTMT");
2197 : :
2198 : 34 : WRITE_STRING_FIELD(tablespacename);
2199 : 34 : WRITE_NODE_FIELD(options);
2200 [ + + ]: 34 : WRITE_BOOL_FIELD(isReset);
2201 : 34 : }
2202 : :
2203 : : static void
2204 : 32 : _outAlterTableMoveAllStmt(StringInfo str, const AlterTableMoveAllStmt *node)
2205 : : {
2206 : 32 : WRITE_NODE_TYPE("ALTERTABLEMOVEALLSTMT");
2207 : :
2208 : 32 : WRITE_STRING_FIELD(orig_tablespacename);
2209 : 32 : WRITE_ENUM_FIELD(objtype, ObjectType);
2210 : 32 : WRITE_NODE_FIELD(roles);
2211 : 32 : WRITE_STRING_FIELD(new_tablespacename);
2212 [ - + ]: 32 : WRITE_BOOL_FIELD(nowait);
2213 : 32 : }
2214 : :
2215 : : static void
2216 : 642 : _outCreateExtensionStmt(StringInfo str, const CreateExtensionStmt *node)
2217 : : {
2218 : 642 : WRITE_NODE_TYPE("CREATEEXTENSIONSTMT");
2219 : :
2220 : 642 : WRITE_STRING_FIELD(extname);
2221 [ + + ]: 642 : WRITE_BOOL_FIELD(if_not_exists);
2222 : 642 : WRITE_NODE_FIELD(options);
2223 : 642 : }
2224 : :
2225 : : static void
2226 : 37 : _outAlterExtensionStmt(StringInfo str, const AlterExtensionStmt *node)
2227 : : {
2228 : 37 : WRITE_NODE_TYPE("ALTEREXTENSIONSTMT");
2229 : :
2230 : 37 : WRITE_STRING_FIELD(extname);
2231 : 37 : WRITE_NODE_FIELD(options);
2232 : 37 : }
2233 : :
2234 : : static void
2235 : 282 : _outAlterExtensionContentsStmt(StringInfo str, const AlterExtensionContentsStmt *node)
2236 : : {
2237 : 282 : WRITE_NODE_TYPE("ALTEREXTENSIONCONTENTSSTMT");
2238 : :
2239 : 282 : WRITE_STRING_FIELD(extname);
2240 : 282 : WRITE_INT_FIELD(action);
2241 : 282 : WRITE_ENUM_FIELD(objtype, ObjectType);
2242 : 282 : WRITE_NODE_FIELD(object);
2243 : 282 : }
2244 : :
2245 : : static void
2246 : 304 : _outCreateFdwStmt(StringInfo str, const CreateFdwStmt *node)
2247 : : {
2248 : 304 : WRITE_NODE_TYPE("CREATEFDWSTMT");
2249 : :
2250 : 304 : WRITE_STRING_FIELD(fdwname);
2251 : 304 : WRITE_NODE_FIELD(func_options);
2252 : 304 : WRITE_NODE_FIELD(options);
2253 : 304 : }
2254 : :
2255 : : static void
2256 : 204 : _outAlterFdwStmt(StringInfo str, const AlterFdwStmt *node)
2257 : : {
2258 : 204 : WRITE_NODE_TYPE("ALTERFDWSTMT");
2259 : :
2260 : 204 : WRITE_STRING_FIELD(fdwname);
2261 : 204 : WRITE_NODE_FIELD(func_options);
2262 : 204 : WRITE_NODE_FIELD(options);
2263 : 204 : }
2264 : :
2265 : : static void
2266 : 383 : _outCreateForeignServerStmt(StringInfo str, const CreateForeignServerStmt *node)
2267 : : {
2268 : 383 : WRITE_NODE_TYPE("CREATEFOREIGNSERVERSTMT");
2269 : :
2270 : 383 : WRITE_STRING_FIELD(servername);
2271 : 383 : WRITE_STRING_FIELD(servertype);
2272 : 383 : WRITE_STRING_FIELD(version);
2273 : 383 : WRITE_STRING_FIELD(fdwname);
2274 [ + + ]: 383 : WRITE_BOOL_FIELD(if_not_exists);
2275 : 383 : WRITE_NODE_FIELD(options);
2276 : 383 : }
2277 : :
2278 : : static void
2279 : 258 : _outAlterForeignServerStmt(StringInfo str, const AlterForeignServerStmt *node)
2280 : : {
2281 : 258 : WRITE_NODE_TYPE("ALTERFOREIGNSERVERSTMT");
2282 : :
2283 : 258 : WRITE_STRING_FIELD(servername);
2284 : 258 : WRITE_STRING_FIELD(version);
2285 : 258 : WRITE_NODE_FIELD(options);
2286 [ + + ]: 258 : WRITE_BOOL_FIELD(has_version);
2287 : 258 : }
2288 : :
2289 : : static void
2290 : 576 : _outCreateForeignTableStmt(StringInfo str, const CreateForeignTableStmt *node)
2291 : : {
2292 : 576 : WRITE_NODE_TYPE("CREATEFOREIGNTABLESTMT");
2293 : :
2294 : 576 : WRITE_NODE_FIELD(base.relation);
2295 : 576 : WRITE_NODE_FIELD(base.tableElts);
2296 : 576 : WRITE_NODE_FIELD(base.inhRelations);
2297 : 576 : WRITE_NODE_FIELD(base.partbound);
2298 : 576 : WRITE_NODE_FIELD(base.partspec);
2299 : 576 : WRITE_NODE_FIELD(base.ofTypename);
2300 : 576 : WRITE_NODE_FIELD(base.constraints);
2301 : 576 : WRITE_NODE_FIELD(base.nnconstraints);
2302 : 576 : WRITE_NODE_FIELD(base.options);
2303 : 576 : WRITE_ENUM_FIELD(base.oncommit, OnCommitAction);
2304 : 576 : WRITE_STRING_FIELD(base.tablespacename);
2305 : 576 : WRITE_STRING_FIELD(base.accessMethod);
2306 [ - + ]: 576 : WRITE_BOOL_FIELD(base.if_not_exists);
2307 : 576 : WRITE_STRING_FIELD(servername);
2308 : 576 : WRITE_NODE_FIELD(options);
2309 : 576 : }
2310 : :
2311 : : static void
2312 : 330 : _outCreateUserMappingStmt(StringInfo str, const CreateUserMappingStmt *node)
2313 : : {
2314 : 330 : WRITE_NODE_TYPE("CREATEUSERMAPPINGSTMT");
2315 : :
2316 : 330 : WRITE_NODE_FIELD(user);
2317 : 330 : WRITE_STRING_FIELD(servername);
2318 [ + + ]: 330 : WRITE_BOOL_FIELD(if_not_exists);
2319 : 330 : WRITE_NODE_FIELD(options);
2320 : 330 : }
2321 : :
2322 : : static void
2323 : 144 : _outAlterUserMappingStmt(StringInfo str, const AlterUserMappingStmt *node)
2324 : : {
2325 : 144 : WRITE_NODE_TYPE("ALTERUSERMAPPINGSTMT");
2326 : :
2327 : 144 : WRITE_NODE_FIELD(user);
2328 : 144 : WRITE_STRING_FIELD(servername);
2329 : 144 : WRITE_NODE_FIELD(options);
2330 : 144 : }
2331 : :
2332 : : static void
2333 : 158 : _outDropUserMappingStmt(StringInfo str, const DropUserMappingStmt *node)
2334 : : {
2335 : 158 : WRITE_NODE_TYPE("DROPUSERMAPPINGSTMT");
2336 : :
2337 : 158 : WRITE_NODE_FIELD(user);
2338 : 158 : WRITE_STRING_FIELD(servername);
2339 [ + + ]: 158 : WRITE_BOOL_FIELD(missing_ok);
2340 : 158 : }
2341 : :
2342 : : static void
2343 : 56 : _outImportForeignSchemaStmt(StringInfo str, const ImportForeignSchemaStmt *node)
2344 : : {
2345 : 56 : WRITE_NODE_TYPE("IMPORTFOREIGNSCHEMASTMT");
2346 : :
2347 : 56 : WRITE_STRING_FIELD(server_name);
2348 : 56 : WRITE_STRING_FIELD(remote_schema);
2349 : 56 : WRITE_STRING_FIELD(local_schema);
2350 : 56 : WRITE_ENUM_FIELD(list_type, ImportForeignSchemaType);
2351 : 56 : WRITE_NODE_FIELD(table_list);
2352 : 56 : WRITE_NODE_FIELD(options);
2353 : 56 : }
2354 : :
2355 : : static void
2356 : 1142 : _outCreatePolicyStmt(StringInfo str, const CreatePolicyStmt *node)
2357 : : {
2358 : 1142 : WRITE_NODE_TYPE("CREATEPOLICYSTMT");
2359 : :
2360 : 1142 : WRITE_STRING_FIELD(policy_name);
2361 : 1142 : WRITE_NODE_FIELD(table);
2362 : 1142 : WRITE_STRING_FIELD(cmd_name);
2363 [ + + ]: 1142 : WRITE_BOOL_FIELD(permissive);
2364 : 1142 : WRITE_NODE_FIELD(roles);
2365 : 1142 : WRITE_NODE_FIELD(qual);
2366 : 1142 : WRITE_NODE_FIELD(with_check);
2367 : 1142 : }
2368 : :
2369 : : static void
2370 : 112 : _outAlterPolicyStmt(StringInfo str, const AlterPolicyStmt *node)
2371 : : {
2372 : 112 : WRITE_NODE_TYPE("ALTERPOLICYSTMT");
2373 : :
2374 : 112 : WRITE_STRING_FIELD(policy_name);
2375 : 112 : WRITE_NODE_FIELD(table);
2376 : 112 : WRITE_NODE_FIELD(roles);
2377 : 112 : WRITE_NODE_FIELD(qual);
2378 : 112 : WRITE_NODE_FIELD(with_check);
2379 : 112 : }
2380 : :
2381 : : static void
2382 : 92 : _outCreateAmStmt(StringInfo str, const CreateAmStmt *node)
2383 : : {
2384 : 92 : WRITE_NODE_TYPE("CREATEAMSTMT");
2385 : :
2386 : 92 : WRITE_STRING_FIELD(amname);
2387 : 92 : WRITE_NODE_FIELD(handler_name);
2388 : 92 : WRITE_CHAR_FIELD(amtype);
2389 : 92 : }
2390 : :
2391 : : static void
2392 : 4324 : _outCreateTrigStmt(StringInfo str, const CreateTrigStmt *node)
2393 : : {
2394 : 4324 : WRITE_NODE_TYPE("CREATETRIGSTMT");
2395 : :
2396 [ + + ]: 4324 : WRITE_BOOL_FIELD(replace);
2397 [ + + ]: 4324 : WRITE_BOOL_FIELD(isconstraint);
2398 : 4324 : WRITE_STRING_FIELD(trigname);
2399 : 4324 : WRITE_NODE_FIELD(relation);
2400 : 4324 : WRITE_NODE_FIELD(funcname);
2401 : 4324 : WRITE_NODE_FIELD(args);
2402 [ + + ]: 4324 : WRITE_BOOL_FIELD(row);
2403 : 4324 : WRITE_INT_FIELD(timing);
2404 : 4324 : WRITE_INT_FIELD(events);
2405 : 4324 : WRITE_NODE_FIELD(columns);
2406 : 4324 : WRITE_NODE_FIELD(whenClause);
2407 : 4324 : WRITE_NODE_FIELD(transitionRels);
2408 [ + + ]: 4324 : WRITE_BOOL_FIELD(deferrable);
2409 [ + + ]: 4324 : WRITE_BOOL_FIELD(initdeferred);
2410 : 4324 : WRITE_NODE_FIELD(constrrel);
2411 : 4324 : }
2412 : :
2413 : : static void
2414 : 258 : _outCreateEventTrigStmt(StringInfo str, const CreateEventTrigStmt *node)
2415 : : {
2416 : 258 : WRITE_NODE_TYPE("CREATEEVENTTRIGSTMT");
2417 : :
2418 : 258 : WRITE_STRING_FIELD(trigname);
2419 : 258 : WRITE_STRING_FIELD(eventname);
2420 : 258 : WRITE_NODE_FIELD(whenclause);
2421 : 258 : WRITE_NODE_FIELD(funcname);
2422 : 258 : }
2423 : :
2424 : : static void
2425 : 64 : _outAlterEventTrigStmt(StringInfo str, const AlterEventTrigStmt *node)
2426 : : {
2427 : 64 : WRITE_NODE_TYPE("ALTEREVENTTRIGSTMT");
2428 : :
2429 : 64 : WRITE_STRING_FIELD(trigname);
2430 : 64 : WRITE_CHAR_FIELD(tgenabled);
2431 : 64 : }
2432 : :
2433 : : static void
2434 : 160 : _outCreatePLangStmt(StringInfo str, const CreatePLangStmt *node)
2435 : : {
2436 : 160 : WRITE_NODE_TYPE("CREATEPLANGSTMT");
2437 : :
2438 [ - + ]: 160 : WRITE_BOOL_FIELD(replace);
2439 : 160 : WRITE_STRING_FIELD(plname);
2440 : 160 : WRITE_NODE_FIELD(plhandler);
2441 : 160 : WRITE_NODE_FIELD(plinline);
2442 : 160 : WRITE_NODE_FIELD(plvalidator);
2443 [ + + ]: 160 : WRITE_BOOL_FIELD(pltrusted);
2444 : 160 : }
2445 : :
2446 : : static void
2447 : 2592 : _outCreateRoleStmt(StringInfo str, const CreateRoleStmt *node)
2448 : : {
2449 : 2592 : WRITE_NODE_TYPE("CREATEROLESTMT");
2450 : :
2451 : 2592 : WRITE_ENUM_FIELD(stmt_type, RoleStmtType);
2452 : 2592 : WRITE_STRING_FIELD(role);
2453 : 2592 : WRITE_NODE_FIELD(options);
2454 : 2592 : }
2455 : :
2456 : : static void
2457 : 580 : _outAlterRoleStmt(StringInfo str, const AlterRoleStmt *node)
2458 : : {
2459 : 580 : WRITE_NODE_TYPE("ALTERROLESTMT");
2460 : :
2461 : 580 : WRITE_NODE_FIELD(role);
2462 : 580 : WRITE_NODE_FIELD(options);
2463 : 580 : WRITE_INT_FIELD(action);
2464 : 580 : }
2465 : :
2466 : : static void
2467 : 104 : _outAlterRoleSetStmt(StringInfo str, const AlterRoleSetStmt *node)
2468 : : {
2469 : 104 : WRITE_NODE_TYPE("ALTERROLESETSTMT");
2470 : :
2471 : 104 : WRITE_NODE_FIELD(role);
2472 : 104 : WRITE_STRING_FIELD(database);
2473 : 104 : WRITE_NODE_FIELD(setstmt);
2474 : 104 : }
2475 : :
2476 : : static void
2477 : 2482 : _outDropRoleStmt(StringInfo str, const DropRoleStmt *node)
2478 : : {
2479 : 2482 : WRITE_NODE_TYPE("DROPROLESTMT");
2480 : :
2481 : 2482 : WRITE_NODE_FIELD(roles);
2482 [ + + ]: 2482 : WRITE_BOOL_FIELD(missing_ok);
2483 : 2482 : }
2484 : :
2485 : : static void
2486 : 892 : _outCreateSeqStmt(StringInfo str, const CreateSeqStmt *node)
2487 : : {
2488 : 892 : WRITE_NODE_TYPE("CREATESEQSTMT");
2489 : :
2490 : 892 : WRITE_NODE_FIELD(sequence);
2491 : 892 : WRITE_NODE_FIELD(options);
2492 : 892 : WRITE_OID_FIELD(ownerId);
2493 [ - + ]: 892 : WRITE_BOOL_FIELD(for_identity);
2494 [ + + ]: 892 : WRITE_BOOL_FIELD(if_not_exists);
2495 : 892 : }
2496 : :
2497 : : static void
2498 : 266 : _outAlterSeqStmt(StringInfo str, const AlterSeqStmt *node)
2499 : : {
2500 : 266 : WRITE_NODE_TYPE("ALTERSEQSTMT");
2501 : :
2502 : 266 : WRITE_NODE_FIELD(sequence);
2503 : 266 : WRITE_NODE_FIELD(options);
2504 [ - + ]: 266 : WRITE_BOOL_FIELD(for_identity);
2505 [ + + ]: 266 : WRITE_BOOL_FIELD(missing_ok);
2506 : 266 : }
2507 : :
2508 : : static void
2509 : 11290 : _outDefineStmt(StringInfo str, const DefineStmt *node)
2510 : : {
2511 : 11290 : WRITE_NODE_TYPE("DEFINESTMT");
2512 : :
2513 : 11290 : WRITE_ENUM_FIELD(kind, ObjectType);
2514 [ + + ]: 11290 : WRITE_BOOL_FIELD(oldstyle);
2515 : 11290 : WRITE_NODE_FIELD(defnames);
2516 : 11290 : WRITE_NODE_FIELD(args);
2517 : 11290 : WRITE_NODE_FIELD(definition);
2518 [ + + ]: 11290 : WRITE_BOOL_FIELD(if_not_exists);
2519 [ + + ]: 11290 : WRITE_BOOL_FIELD(replace);
2520 : 11290 : }
2521 : :
2522 : : static void
2523 : 1994 : _outCreateDomainStmt(StringInfo str, const CreateDomainStmt *node)
2524 : : {
2525 : 1994 : WRITE_NODE_TYPE("CREATEDOMAINSTMT");
2526 : :
2527 : 1994 : WRITE_NODE_FIELD(domainname);
2528 : 1994 : WRITE_NODE_FIELD(typeName);
2529 : 1994 : WRITE_NODE_FIELD(collClause);
2530 : 1994 : WRITE_NODE_FIELD(constraints);
2531 : 1994 : }
2532 : :
2533 : : static void
2534 : 590 : _outCreateOpClassStmt(StringInfo str, const CreateOpClassStmt *node)
2535 : : {
2536 : 590 : WRITE_NODE_TYPE("CREATEOPCLASSSTMT");
2537 : :
2538 : 590 : WRITE_NODE_FIELD(opclassname);
2539 : 590 : WRITE_NODE_FIELD(opfamilyname);
2540 : 590 : WRITE_STRING_FIELD(amname);
2541 : 590 : WRITE_NODE_FIELD(datatype);
2542 : 590 : WRITE_NODE_FIELD(items);
2543 [ + + ]: 590 : WRITE_BOOL_FIELD(isDefault);
2544 : 590 : }
2545 : :
2546 : : static void
2547 : 7170 : _outCreateOpClassItem(StringInfo str, const CreateOpClassItem *node)
2548 : : {
2549 : 7170 : WRITE_NODE_TYPE("CREATEOPCLASSITEM");
2550 : :
2551 : 7170 : WRITE_INT_FIELD(itemtype);
2552 : 7170 : WRITE_NODE_FIELD(name);
2553 : 7170 : WRITE_INT_FIELD(number);
2554 : 7170 : WRITE_NODE_FIELD(order_family);
2555 : 7170 : WRITE_NODE_FIELD(class_args);
2556 : 7170 : WRITE_NODE_FIELD(storedtype);
2557 : 7170 : }
2558 : :
2559 : : static void
2560 : 190 : _outCreateOpFamilyStmt(StringInfo str, const CreateOpFamilyStmt *node)
2561 : : {
2562 : 190 : WRITE_NODE_TYPE("CREATEOPFAMILYSTMT");
2563 : :
2564 : 190 : WRITE_NODE_FIELD(opfamilyname);
2565 : 190 : WRITE_STRING_FIELD(amname);
2566 : 190 : }
2567 : :
2568 : : static void
2569 : 552 : _outAlterOpFamilyStmt(StringInfo str, const AlterOpFamilyStmt *node)
2570 : : {
2571 : 552 : WRITE_NODE_TYPE("ALTEROPFAMILYSTMT");
2572 : :
2573 : 552 : WRITE_NODE_FIELD(opfamilyname);
2574 : 552 : WRITE_STRING_FIELD(amname);
2575 [ + + ]: 552 : WRITE_BOOL_FIELD(isDrop);
2576 : 552 : WRITE_NODE_FIELD(items);
2577 : 552 : }
2578 : :
2579 : : static void
2580 : 35781 : _outDropStmt(StringInfo str, const DropStmt *node)
2581 : : {
2582 : 35781 : WRITE_NODE_TYPE("DROPSTMT");
2583 : :
2584 : 35781 : WRITE_NODE_FIELD(objects);
2585 : 35781 : WRITE_ENUM_FIELD(removeType, ObjectType);
2586 : 35781 : WRITE_ENUM_FIELD(behavior, DropBehavior);
2587 [ + + ]: 35781 : WRITE_BOOL_FIELD(missing_ok);
2588 [ + + ]: 35781 : WRITE_BOOL_FIELD(concurrent);
2589 : 35781 : }
2590 : :
2591 : : static void
2592 : 2340 : _outTruncateStmt(StringInfo str, const TruncateStmt *node)
2593 : : {
2594 : 2340 : WRITE_NODE_TYPE("TRUNCATESTMT");
2595 : :
2596 : 2340 : WRITE_NODE_FIELD(relations);
2597 [ + + ]: 2340 : WRITE_BOOL_FIELD(restart_seqs);
2598 : 2340 : WRITE_ENUM_FIELD(behavior, DropBehavior);
2599 : 2340 : }
2600 : :
2601 : : static void
2602 : 8729 : _outCommentStmt(StringInfo str, const CommentStmt *node)
2603 : : {
2604 : 8729 : WRITE_NODE_TYPE("COMMENTSTMT");
2605 : :
2606 : 8729 : WRITE_ENUM_FIELD(objtype, ObjectType);
2607 : 8729 : WRITE_NODE_FIELD(object);
2608 : 8729 : WRITE_STRING_FIELD(comment);
2609 : 8729 : }
2610 : :
2611 : : static void
2612 : 134 : _outSecLabelStmt(StringInfo str, const SecLabelStmt *node)
2613 : : {
2614 : 134 : WRITE_NODE_TYPE("SECLABELSTMT");
2615 : :
2616 : 134 : WRITE_ENUM_FIELD(objtype, ObjectType);
2617 : 134 : WRITE_NODE_FIELD(object);
2618 : 134 : WRITE_STRING_FIELD(provider);
2619 : 134 : WRITE_STRING_FIELD(label);
2620 : 134 : }
2621 : :
2622 : : static void
2623 : 4340 : _outDeclareCursorStmt(StringInfo str, const DeclareCursorStmt *node)
2624 : : {
2625 : 4340 : WRITE_NODE_TYPE("DECLARECURSORSTMT");
2626 : :
2627 : 4340 : WRITE_STRING_FIELD(portalname);
2628 : 4340 : WRITE_INT_FIELD(options);
2629 : 4340 : WRITE_NODE_FIELD(query);
2630 : 4340 : }
2631 : :
2632 : : static void
2633 : 2364 : _outClosePortalStmt(StringInfo str, const ClosePortalStmt *node)
2634 : : {
2635 : 2364 : WRITE_NODE_TYPE("CLOSEPORTALSTMT");
2636 : :
2637 : 2364 : WRITE_STRING_FIELD(portalname);
2638 : 2364 : }
2639 : :
2640 : : static void
2641 : 7738 : _outFetchStmt(StringInfo str, const FetchStmt *node)
2642 : : {
2643 : 7738 : WRITE_NODE_TYPE("FETCHSTMT");
2644 : :
2645 : 7738 : WRITE_ENUM_FIELD(direction, FetchDirection);
2646 : 7738 : WRITE_LONG_FIELD(howMany);
2647 : 7738 : WRITE_STRING_FIELD(portalname);
2648 [ + + ]: 7738 : WRITE_BOOL_FIELD(ismove);
2649 : 7738 : WRITE_ENUM_FIELD(direction_keyword, FetchDirectionKeywords);
2650 [ + - ]: 7738 : WRITE_LOCATION_FIELD(location);
2651 : 7738 : }
2652 : :
2653 : : static void
2654 : 8639 : _outIndexStmt(StringInfo str, const IndexStmt *node)
2655 : : {
2656 : 8639 : WRITE_NODE_TYPE("INDEXSTMT");
2657 : :
2658 : 8639 : WRITE_STRING_FIELD(idxname);
2659 : 8639 : WRITE_NODE_FIELD(relation);
2660 : 8639 : WRITE_STRING_FIELD(accessMethod);
2661 : 8639 : WRITE_STRING_FIELD(tableSpace);
2662 : 8639 : WRITE_NODE_FIELD(indexParams);
2663 : 8639 : WRITE_NODE_FIELD(indexIncludingParams);
2664 : 8639 : WRITE_NODE_FIELD(options);
2665 : 8639 : WRITE_NODE_FIELD(whereClause);
2666 : 8639 : WRITE_NODE_FIELD(excludeOpNames);
2667 : 8639 : WRITE_STRING_FIELD(idxcomment);
2668 : 8639 : WRITE_OID_FIELD(indexOid);
2669 : 8639 : WRITE_OID_FIELD(oldNumber);
2670 : 8639 : WRITE_UINT_FIELD(oldCreateSubid);
2671 : 8639 : WRITE_UINT_FIELD(oldFirstRelfilelocatorSubid);
2672 [ + + ]: 8639 : WRITE_BOOL_FIELD(unique);
2673 [ + + ]: 8639 : WRITE_BOOL_FIELD(nulls_not_distinct);
2674 [ - + ]: 8639 : WRITE_BOOL_FIELD(primary);
2675 [ - + ]: 8639 : WRITE_BOOL_FIELD(isconstraint);
2676 [ - + ]: 8639 : WRITE_BOOL_FIELD(iswithoutoverlaps);
2677 [ - + ]: 8639 : WRITE_BOOL_FIELD(deferrable);
2678 [ - + ]: 8639 : WRITE_BOOL_FIELD(initdeferred);
2679 [ - + ]: 8639 : WRITE_BOOL_FIELD(transformed);
2680 [ + + ]: 8639 : WRITE_BOOL_FIELD(concurrent);
2681 [ + + ]: 8639 : WRITE_BOOL_FIELD(if_not_exists);
2682 [ - + ]: 8639 : WRITE_BOOL_FIELD(reset_default_tblspc);
2683 : 8639 : }
2684 : :
2685 : : static void
2686 : 1212 : _outCreateStatsStmt(StringInfo str, const CreateStatsStmt *node)
2687 : : {
2688 : 1212 : WRITE_NODE_TYPE("CREATESTATSSTMT");
2689 : :
2690 : 1212 : WRITE_NODE_FIELD(defnames);
2691 : 1212 : WRITE_NODE_FIELD(stat_types);
2692 : 1212 : WRITE_NODE_FIELD(exprs);
2693 : 1212 : WRITE_NODE_FIELD(relations);
2694 : 1212 : WRITE_STRING_FIELD(stxcomment);
2695 [ - + ]: 1212 : WRITE_BOOL_FIELD(transformed);
2696 [ + + ]: 1212 : WRITE_BOOL_FIELD(if_not_exists);
2697 : 1212 : }
2698 : :
2699 : : static void
2700 : 2856 : _outStatsElem(StringInfo str, const StatsElem *node)
2701 : : {
2702 : 2856 : WRITE_NODE_TYPE("STATSELEM");
2703 : :
2704 : 2856 : WRITE_STRING_FIELD(name);
2705 : 2856 : WRITE_NODE_FIELD(expr);
2706 : 2856 : }
2707 : :
2708 : : static void
2709 : 34 : _outAlterStatsStmt(StringInfo str, const AlterStatsStmt *node)
2710 : : {
2711 : 34 : WRITE_NODE_TYPE("ALTERSTATSSTMT");
2712 : :
2713 : 34 : WRITE_NODE_FIELD(defnames);
2714 : 34 : WRITE_NODE_FIELD(stxstattarget);
2715 [ + + ]: 34 : WRITE_BOOL_FIELD(missing_ok);
2716 : 34 : }
2717 : :
2718 : : static void
2719 : 25975 : _outCreateFunctionStmt(StringInfo str, const CreateFunctionStmt *node)
2720 : : {
2721 : 25975 : WRITE_NODE_TYPE("CREATEFUNCTIONSTMT");
2722 : :
2723 [ + + ]: 25975 : WRITE_BOOL_FIELD(is_procedure);
2724 [ + + ]: 25975 : WRITE_BOOL_FIELD(replace);
2725 : 25975 : WRITE_NODE_FIELD(funcname);
2726 : 25975 : WRITE_NODE_FIELD(parameters);
2727 : 25975 : WRITE_NODE_FIELD(returnType);
2728 : 25975 : WRITE_NODE_FIELD(options);
2729 : 25975 : WRITE_NODE_FIELD(sql_body);
2730 : 25975 : }
2731 : :
2732 : : static void
2733 : 67076 : _outFunctionParameter(StringInfo str, const FunctionParameter *node)
2734 : : {
2735 : 67076 : WRITE_NODE_TYPE("FUNCTIONPARAMETER");
2736 : :
2737 : 67076 : WRITE_STRING_FIELD(name);
2738 : 67076 : WRITE_NODE_FIELD(argType);
2739 : 67076 : WRITE_ENUM_FIELD(mode, FunctionParameterMode);
2740 : 67076 : WRITE_NODE_FIELD(defexpr);
2741 [ + - ]: 67076 : WRITE_LOCATION_FIELD(location);
2742 : 67076 : }
2743 : :
2744 : : static void
2745 : 418 : _outAlterFunctionStmt(StringInfo str, const AlterFunctionStmt *node)
2746 : : {
2747 : 418 : WRITE_NODE_TYPE("ALTERFUNCTIONSTMT");
2748 : :
2749 : 418 : WRITE_ENUM_FIELD(objtype, ObjectType);
2750 : 418 : WRITE_NODE_FIELD(func);
2751 : 418 : WRITE_NODE_FIELD(actions);
2752 : 418 : }
2753 : :
2754 : : static void
2755 : 1308 : _outDoStmt(StringInfo str, const DoStmt *node)
2756 : : {
2757 : 1308 : WRITE_NODE_TYPE("DOSTMT");
2758 : :
2759 : 1308 : WRITE_NODE_FIELD(args);
2760 : 1308 : }
2761 : :
2762 : : static void
2763 : 546 : _outCallStmt(StringInfo str, const CallStmt *node)
2764 : : {
2765 : 546 : WRITE_NODE_TYPE("CALLSTMT");
2766 : :
2767 : 546 : WRITE_NODE_FIELD(funccall);
2768 : 546 : WRITE_NODE_FIELD(funcexpr);
2769 : 546 : WRITE_NODE_FIELD(outargs);
2770 : 546 : }
2771 : :
2772 : : static void
2773 : 1936 : _outRenameStmt(StringInfo str, const RenameStmt *node)
2774 : : {
2775 : 1936 : WRITE_NODE_TYPE("RENAMESTMT");
2776 : :
2777 : 1936 : WRITE_ENUM_FIELD(renameType, ObjectType);
2778 : 1936 : WRITE_ENUM_FIELD(relationType, ObjectType);
2779 : 1936 : WRITE_NODE_FIELD(relation);
2780 : 1936 : WRITE_NODE_FIELD(object);
2781 : 1936 : WRITE_STRING_FIELD(subname);
2782 : 1936 : WRITE_STRING_FIELD(newname);
2783 : 1936 : WRITE_ENUM_FIELD(behavior, DropBehavior);
2784 [ + + ]: 1936 : WRITE_BOOL_FIELD(missing_ok);
2785 : 1936 : }
2786 : :
2787 : : static void
2788 : 70 : _outAlterObjectDependsStmt(StringInfo str, const AlterObjectDependsStmt *node)
2789 : : {
2790 : 70 : WRITE_NODE_TYPE("ALTEROBJECTDEPENDSSTMT");
2791 : :
2792 : 70 : WRITE_ENUM_FIELD(objectType, ObjectType);
2793 : 70 : WRITE_NODE_FIELD(relation);
2794 : 70 : WRITE_NODE_FIELD(object);
2795 : 70 : WRITE_NODE_FIELD(extname);
2796 [ + + ]: 70 : WRITE_BOOL_FIELD(remove);
2797 : 70 : }
2798 : :
2799 : : static void
2800 : 582 : _outAlterObjectSchemaStmt(StringInfo str, const AlterObjectSchemaStmt *node)
2801 : : {
2802 : 582 : WRITE_NODE_TYPE("ALTEROBJECTSCHEMASTMT");
2803 : :
2804 : 582 : WRITE_ENUM_FIELD(objectType, ObjectType);
2805 : 582 : WRITE_NODE_FIELD(relation);
2806 : 582 : WRITE_NODE_FIELD(object);
2807 : 582 : WRITE_STRING_FIELD(newschema);
2808 [ + + ]: 582 : WRITE_BOOL_FIELD(missing_ok);
2809 : 582 : }
2810 : :
2811 : : static void
2812 : 2010 : _outAlterOwnerStmt(StringInfo str, const AlterOwnerStmt *node)
2813 : : {
2814 : 2010 : WRITE_NODE_TYPE("ALTEROWNERSTMT");
2815 : :
2816 : 2010 : WRITE_ENUM_FIELD(objectType, ObjectType);
2817 : 2010 : WRITE_NODE_FIELD(relation);
2818 : 2010 : WRITE_NODE_FIELD(object);
2819 : 2010 : WRITE_NODE_FIELD(newowner);
2820 : 2010 : }
2821 : :
2822 : : static void
2823 : 664 : _outAlterOperatorStmt(StringInfo str, const AlterOperatorStmt *node)
2824 : : {
2825 : 664 : WRITE_NODE_TYPE("ALTEROPERATORSTMT");
2826 : :
2827 : 664 : WRITE_NODE_FIELD(opername);
2828 : 664 : WRITE_NODE_FIELD(options);
2829 : 664 : }
2830 : :
2831 : : static void
2832 : 72 : _outAlterTypeStmt(StringInfo str, const AlterTypeStmt *node)
2833 : : {
2834 : 72 : WRITE_NODE_TYPE("ALTERTYPESTMT");
2835 : :
2836 : 72 : WRITE_NODE_FIELD(typeName);
2837 : 72 : WRITE_NODE_FIELD(options);
2838 : 72 : }
2839 : :
2840 : : static void
2841 : 1500 : _outRuleStmt(StringInfo str, const RuleStmt *node)
2842 : : {
2843 : 1500 : WRITE_NODE_TYPE("RULESTMT");
2844 : :
2845 : 1500 : WRITE_NODE_FIELD(relation);
2846 : 1500 : WRITE_STRING_FIELD(rulename);
2847 : 1500 : WRITE_NODE_FIELD(whereClause);
2848 : 1500 : WRITE_ENUM_FIELD(event, CmdType);
2849 [ + + ]: 1500 : WRITE_BOOL_FIELD(instead);
2850 : 1500 : WRITE_NODE_FIELD(actions);
2851 [ + + ]: 1500 : WRITE_BOOL_FIELD(replace);
2852 : 1500 : }
2853 : :
2854 : : static void
2855 : 206 : _outNotifyStmt(StringInfo str, const NotifyStmt *node)
2856 : : {
2857 : 206 : WRITE_NODE_TYPE("NOTIFYSTMT");
2858 : :
2859 : 206 : WRITE_STRING_FIELD(conditionname);
2860 : 206 : WRITE_STRING_FIELD(payload);
2861 : 206 : }
2862 : :
2863 : : static void
2864 : 104 : _outListenStmt(StringInfo str, const ListenStmt *node)
2865 : : {
2866 : 104 : WRITE_NODE_TYPE("LISTENSTMT");
2867 : :
2868 : 104 : WRITE_STRING_FIELD(conditionname);
2869 : 104 : }
2870 : :
2871 : : static void
2872 : 124 : _outUnlistenStmt(StringInfo str, const UnlistenStmt *node)
2873 : : {
2874 : 124 : WRITE_NODE_TYPE("UNLISTENSTMT");
2875 : :
2876 : 124 : WRITE_STRING_FIELD(conditionname);
2877 : 124 : }
2878 : :
2879 : : static void
2880 : 54352 : _outTransactionStmt(StringInfo str, const TransactionStmt *node)
2881 : : {
2882 : 54352 : WRITE_NODE_TYPE("TRANSACTIONSTMT");
2883 : :
2884 : 54352 : WRITE_ENUM_FIELD(kind, TransactionStmtKind);
2885 : 54352 : WRITE_NODE_FIELD(options);
2886 : 54352 : WRITE_STRING_FIELD(savepoint_name);
2887 : 54352 : WRITE_STRING_FIELD(gid);
2888 [ + + ]: 54352 : WRITE_BOOL_FIELD(chain);
2889 [ + - ]: 54352 : WRITE_LOCATION_FIELD(location);
2890 : 54352 : }
2891 : :
2892 : : static void
2893 : 2862 : _outCompositeTypeStmt(StringInfo str, const CompositeTypeStmt *node)
2894 : : {
2895 : 2862 : WRITE_NODE_TYPE("COMPOSITETYPESTMT");
2896 : :
2897 : 2862 : WRITE_NODE_FIELD(typevar);
2898 : 2862 : WRITE_NODE_FIELD(coldeflist);
2899 : 2862 : }
2900 : :
2901 : : static void
2902 : 332 : _outCreateEnumStmt(StringInfo str, const CreateEnumStmt *node)
2903 : : {
2904 : 332 : WRITE_NODE_TYPE("CREATEENUMSTMT");
2905 : :
2906 : 332 : WRITE_NODE_FIELD(typeName);
2907 : 332 : WRITE_NODE_FIELD(vals);
2908 : 332 : }
2909 : :
2910 : : static void
2911 : 300 : _outCreateRangeStmt(StringInfo str, const CreateRangeStmt *node)
2912 : : {
2913 : 300 : WRITE_NODE_TYPE("CREATERANGESTMT");
2914 : :
2915 : 300 : WRITE_NODE_FIELD(typeName);
2916 : 300 : WRITE_NODE_FIELD(params);
2917 : 300 : }
2918 : :
2919 : : static void
2920 : 492 : _outAlterEnumStmt(StringInfo str, const AlterEnumStmt *node)
2921 : : {
2922 : 492 : WRITE_NODE_TYPE("ALTERENUMSTMT");
2923 : :
2924 : 492 : WRITE_NODE_FIELD(typeName);
2925 : 492 : WRITE_STRING_FIELD(oldVal);
2926 : 492 : WRITE_STRING_FIELD(newVal);
2927 : 492 : WRITE_STRING_FIELD(newValNeighbor);
2928 [ + + ]: 492 : WRITE_BOOL_FIELD(newValIsAfter);
2929 [ + + ]: 492 : WRITE_BOOL_FIELD(skipIfNewValExists);
2930 : 492 : }
2931 : :
2932 : : static void
2933 : 22001 : _outViewStmt(StringInfo str, const ViewStmt *node)
2934 : : {
2935 : 22001 : WRITE_NODE_TYPE("VIEWSTMT");
2936 : :
2937 : 22001 : WRITE_NODE_FIELD(view);
2938 : 22001 : WRITE_NODE_FIELD(aliases);
2939 : 22001 : WRITE_NODE_FIELD(query);
2940 [ + + ]: 22001 : WRITE_BOOL_FIELD(replace);
2941 : 22001 : WRITE_NODE_FIELD(options);
2942 : 22001 : WRITE_ENUM_FIELD(withCheckOption, ViewCheckOption);
2943 : 22001 : }
2944 : :
2945 : : static void
2946 : 92 : _outLoadStmt(StringInfo str, const LoadStmt *node)
2947 : : {
2948 : 92 : WRITE_NODE_TYPE("LOADSTMT");
2949 : :
2950 : 92 : WRITE_STRING_FIELD(filename);
2951 : 92 : }
2952 : :
2953 : : static void
2954 : 884 : _outCreatedbStmt(StringInfo str, const CreatedbStmt *node)
2955 : : {
2956 : 884 : WRITE_NODE_TYPE("CREATEDBSTMT");
2957 : :
2958 : 884 : WRITE_STRING_FIELD(dbname);
2959 : 884 : WRITE_NODE_FIELD(options);
2960 : 884 : }
2961 : :
2962 : : static void
2963 : 106 : _outAlterDatabaseStmt(StringInfo str, const AlterDatabaseStmt *node)
2964 : : {
2965 : 106 : WRITE_NODE_TYPE("ALTERDATABASESTMT");
2966 : :
2967 : 106 : WRITE_STRING_FIELD(dbname);
2968 : 106 : WRITE_NODE_FIELD(options);
2969 : 106 : }
2970 : :
2971 : : static void
2972 : 8 : _outAlterDatabaseRefreshCollStmt(StringInfo str, const AlterDatabaseRefreshCollStmt *node)
2973 : : {
2974 : 8 : WRITE_NODE_TYPE("ALTERDATABASEREFRESHCOLLSTMT");
2975 : :
2976 : 8 : WRITE_STRING_FIELD(dbname);
2977 : 8 : }
2978 : :
2979 : : static void
2980 : 1322 : _outAlterDatabaseSetStmt(StringInfo str, const AlterDatabaseSetStmt *node)
2981 : : {
2982 : 1322 : WRITE_NODE_TYPE("ALTERDATABASESETSTMT");
2983 : :
2984 : 1322 : WRITE_STRING_FIELD(dbname);
2985 : 1322 : WRITE_NODE_FIELD(setstmt);
2986 : 1322 : }
2987 : :
2988 : : static void
2989 : 146 : _outDropdbStmt(StringInfo str, const DropdbStmt *node)
2990 : : {
2991 : 146 : WRITE_NODE_TYPE("DROPDBSTMT");
2992 : :
2993 : 146 : WRITE_STRING_FIELD(dbname);
2994 [ + + ]: 146 : WRITE_BOOL_FIELD(missing_ok);
2995 : 146 : WRITE_NODE_FIELD(options);
2996 : 146 : }
2997 : :
2998 : : static void
2999 : 234 : _outAlterSystemStmt(StringInfo str, const AlterSystemStmt *node)
3000 : : {
3001 : 234 : WRITE_NODE_TYPE("ALTERSYSTEMSTMT");
3002 : :
3003 : 234 : WRITE_NODE_FIELD(setstmt);
3004 : 234 : }
3005 : :
3006 : : static void
3007 : 17864 : _outVacuumStmt(StringInfo str, const VacuumStmt *node)
3008 : : {
3009 : 17864 : WRITE_NODE_TYPE("VACUUMSTMT");
3010 : :
3011 : 17864 : WRITE_NODE_FIELD(options);
3012 : 17864 : WRITE_NODE_FIELD(rels);
3013 [ + + ]: 17864 : WRITE_BOOL_FIELD(is_vacuumcmd);
3014 : 17864 : }
3015 : :
3016 : : static void
3017 : 18120 : _outVacuumRelation(StringInfo str, const VacuumRelation *node)
3018 : : {
3019 : 18120 : WRITE_NODE_TYPE("VACUUMRELATION");
3020 : :
3021 : 18120 : WRITE_NODE_FIELD(relation);
3022 : 18120 : WRITE_OID_FIELD(oid);
3023 : 18120 : WRITE_NODE_FIELD(va_cols);
3024 : 18120 : }
3025 : :
3026 : : static void
3027 : 464 : _outRepackStmt(StringInfo str, const RepackStmt *node)
3028 : : {
3029 : 464 : WRITE_NODE_TYPE("REPACKSTMT");
3030 : :
3031 : 464 : WRITE_ENUM_FIELD(command, RepackCommand);
3032 : 464 : WRITE_NODE_FIELD(relation);
3033 : 464 : WRITE_STRING_FIELD(indexname);
3034 [ + + ]: 464 : WRITE_BOOL_FIELD(usingindex);
3035 : 464 : WRITE_NODE_FIELD(params);
3036 : 464 : }
3037 : :
3038 : : static void
3039 : 27910 : _outExplainStmt(StringInfo str, const ExplainStmt *node)
3040 : : {
3041 : 27910 : WRITE_NODE_TYPE("EXPLAINSTMT");
3042 : :
3043 : 27910 : WRITE_NODE_FIELD(query);
3044 : 27910 : WRITE_NODE_FIELD(options);
3045 : 27910 : }
3046 : :
3047 : : static void
3048 : 2511 : _outCreateTableAsStmt(StringInfo str, const CreateTableAsStmt *node)
3049 : : {
3050 : 2511 : WRITE_NODE_TYPE("CREATETABLEASSTMT");
3051 : :
3052 : 2511 : WRITE_NODE_FIELD(query);
3053 : 2511 : WRITE_NODE_FIELD(into);
3054 : 2511 : WRITE_ENUM_FIELD(objtype, ObjectType);
3055 [ + + ]: 2511 : WRITE_BOOL_FIELD(is_select_into);
3056 [ + + ]: 2511 : WRITE_BOOL_FIELD(if_not_exists);
3057 : 2511 : }
3058 : :
3059 : : static void
3060 : 348 : _outRefreshMatViewStmt(StringInfo str, const RefreshMatViewStmt *node)
3061 : : {
3062 : 348 : WRITE_NODE_TYPE("REFRESHMATVIEWSTMT");
3063 : :
3064 [ + + ]: 348 : WRITE_BOOL_FIELD(concurrent);
3065 [ + + ]: 348 : WRITE_BOOL_FIELD(skipData);
3066 : 348 : WRITE_NODE_FIELD(relation);
3067 : 348 : }
3068 : :
3069 : : static void
3070 : 283 : _outCheckPointStmt(StringInfo str, const CheckPointStmt *node)
3071 : : {
3072 : 283 : WRITE_NODE_TYPE("CHECKPOINTSTMT");
3073 : :
3074 : 283 : WRITE_NODE_FIELD(options);
3075 : 283 : }
3076 : :
3077 : : static void
3078 : 48 : _outDiscardStmt(StringInfo str, const DiscardStmt *node)
3079 : : {
3080 : 48 : WRITE_NODE_TYPE("DISCARDSTMT");
3081 : :
3082 : 48 : WRITE_ENUM_FIELD(target, DiscardMode);
3083 : 48 : }
3084 : :
3085 : : static void
3086 : 1190 : _outLockStmt(StringInfo str, const LockStmt *node)
3087 : : {
3088 : 1190 : WRITE_NODE_TYPE("LOCKSTMT");
3089 : :
3090 : 1190 : WRITE_NODE_FIELD(relations);
3091 : 1190 : WRITE_INT_FIELD(mode);
3092 [ + + ]: 1190 : WRITE_BOOL_FIELD(nowait);
3093 : 1190 : }
3094 : :
3095 : : static void
3096 : 141 : _outConstraintsSetStmt(StringInfo str, const ConstraintsSetStmt *node)
3097 : : {
3098 : 141 : WRITE_NODE_TYPE("CONSTRAINTSSETSTMT");
3099 : :
3100 : 141 : WRITE_NODE_FIELD(constraints);
3101 [ + + ]: 141 : WRITE_BOOL_FIELD(deferred);
3102 : 141 : }
3103 : :
3104 : : static void
3105 : 1412 : _outReindexStmt(StringInfo str, const ReindexStmt *node)
3106 : : {
3107 : 1412 : WRITE_NODE_TYPE("REINDEXSTMT");
3108 : :
3109 : 1412 : WRITE_ENUM_FIELD(kind, ReindexObjectType);
3110 : 1412 : WRITE_NODE_FIELD(relation);
3111 : 1412 : WRITE_STRING_FIELD(name);
3112 : 1412 : WRITE_NODE_FIELD(params);
3113 : 1412 : }
3114 : :
3115 : : static void
3116 : 84 : _outCreateConversionStmt(StringInfo str, const CreateConversionStmt *node)
3117 : : {
3118 : 84 : WRITE_NODE_TYPE("CREATECONVERSIONSTMT");
3119 : :
3120 : 84 : WRITE_NODE_FIELD(conversion_name);
3121 : 84 : WRITE_STRING_FIELD(for_encoding_name);
3122 : 84 : WRITE_STRING_FIELD(to_encoding_name);
3123 : 84 : WRITE_NODE_FIELD(func_name);
3124 [ + + ]: 84 : WRITE_BOOL_FIELD(def);
3125 : 84 : }
3126 : :
3127 : : static void
3128 : 340 : _outCreateCastStmt(StringInfo str, const CreateCastStmt *node)
3129 : : {
3130 : 340 : WRITE_NODE_TYPE("CREATECASTSTMT");
3131 : :
3132 : 340 : WRITE_NODE_FIELD(sourcetype);
3133 : 340 : WRITE_NODE_FIELD(targettype);
3134 : 340 : WRITE_NODE_FIELD(func);
3135 : 340 : WRITE_ENUM_FIELD(context, CoercionContext);
3136 [ + + ]: 340 : WRITE_BOOL_FIELD(inout);
3137 : 340 : }
3138 : :
3139 : : static void
3140 : 410 : _outCreatePropGraphStmt(StringInfo str, const CreatePropGraphStmt *node)
3141 : : {
3142 : 410 : WRITE_NODE_TYPE("CREATEPROPGRAPHSTMT");
3143 : :
3144 : 410 : WRITE_NODE_FIELD(pgname);
3145 : 410 : WRITE_NODE_FIELD(vertex_tables);
3146 : 410 : WRITE_NODE_FIELD(edge_tables);
3147 : 410 : }
3148 : :
3149 : : static void
3150 : 812 : _outPropGraphVertex(StringInfo str, const PropGraphVertex *node)
3151 : : {
3152 : 812 : WRITE_NODE_TYPE("PROPGRAPHVERTEX");
3153 : :
3154 : 812 : WRITE_NODE_FIELD(vtable);
3155 : 812 : WRITE_NODE_FIELD(vkey);
3156 : 812 : WRITE_NODE_FIELD(labels);
3157 [ + - ]: 812 : WRITE_LOCATION_FIELD(location);
3158 : 812 : }
3159 : :
3160 : : static void
3161 : 434 : _outPropGraphEdge(StringInfo str, const PropGraphEdge *node)
3162 : : {
3163 : 434 : WRITE_NODE_TYPE("PROPGRAPHEDGE");
3164 : :
3165 : 434 : WRITE_NODE_FIELD(etable);
3166 : 434 : WRITE_NODE_FIELD(ekey);
3167 : 434 : WRITE_NODE_FIELD(esrckey);
3168 : 434 : WRITE_STRING_FIELD(esrcvertex);
3169 : 434 : WRITE_NODE_FIELD(esrcvertexcols);
3170 : 434 : WRITE_NODE_FIELD(edestkey);
3171 : 434 : WRITE_STRING_FIELD(edestvertex);
3172 : 434 : WRITE_NODE_FIELD(edestvertexcols);
3173 : 434 : WRITE_NODE_FIELD(labels);
3174 [ + - ]: 434 : WRITE_LOCATION_FIELD(location);
3175 : 434 : }
3176 : :
3177 : : static void
3178 : 1540 : _outPropGraphLabelAndProperties(StringInfo str, const PropGraphLabelAndProperties *node)
3179 : : {
3180 : 1540 : WRITE_NODE_TYPE("PROPGRAPHLABELANDPROPERTIES");
3181 : :
3182 : 1540 : WRITE_STRING_FIELD(label);
3183 : 1540 : WRITE_NODE_FIELD(properties);
3184 [ + - ]: 1540 : WRITE_LOCATION_FIELD(location);
3185 : 1540 : }
3186 : :
3187 : : static void
3188 : 1556 : _outPropGraphProperties(StringInfo str, const PropGraphProperties *node)
3189 : : {
3190 : 1556 : WRITE_NODE_TYPE("PROPGRAPHPROPERTIES");
3191 : :
3192 : 1556 : WRITE_NODE_FIELD(properties);
3193 [ + + ]: 1556 : WRITE_BOOL_FIELD(all);
3194 [ + - ]: 1556 : WRITE_LOCATION_FIELD(location);
3195 : 1556 : }
3196 : :
3197 : : static void
3198 : 320 : _outAlterPropGraphStmt(StringInfo str, const AlterPropGraphStmt *node)
3199 : : {
3200 : 320 : WRITE_NODE_TYPE("ALTERPROPGRAPHSTMT");
3201 : :
3202 : 320 : WRITE_NODE_FIELD(pgname);
3203 [ - + ]: 320 : WRITE_BOOL_FIELD(missing_ok);
3204 : 320 : WRITE_NODE_FIELD(add_vertex_tables);
3205 : 320 : WRITE_NODE_FIELD(add_edge_tables);
3206 : 320 : WRITE_NODE_FIELD(drop_vertex_tables);
3207 : 320 : WRITE_NODE_FIELD(drop_edge_tables);
3208 : 320 : WRITE_ENUM_FIELD(drop_behavior, DropBehavior);
3209 : 320 : WRITE_ENUM_FIELD(element_kind, AlterPropGraphElementKind);
3210 : 320 : WRITE_STRING_FIELD(element_alias);
3211 : 320 : WRITE_NODE_FIELD(add_labels);
3212 : 320 : WRITE_STRING_FIELD(drop_label);
3213 : 320 : WRITE_STRING_FIELD(alter_label);
3214 : 320 : WRITE_NODE_FIELD(add_properties);
3215 : 320 : WRITE_NODE_FIELD(drop_properties);
3216 : 320 : }
3217 : :
3218 : : static void
3219 : 52 : _outCreateTransformStmt(StringInfo str, const CreateTransformStmt *node)
3220 : : {
3221 : 52 : WRITE_NODE_TYPE("CREATETRANSFORMSTMT");
3222 : :
3223 [ + + ]: 52 : WRITE_BOOL_FIELD(replace);
3224 : 52 : WRITE_NODE_FIELD(type_name);
3225 : 52 : WRITE_STRING_FIELD(lang);
3226 : 52 : WRITE_NODE_FIELD(fromsql);
3227 : 52 : WRITE_NODE_FIELD(tosql);
3228 : 52 : }
3229 : :
3230 : : static void
3231 : 2270 : _outPrepareStmt(StringInfo str, const PrepareStmt *node)
3232 : : {
3233 : 2270 : WRITE_NODE_TYPE("PREPARESTMT");
3234 : :
3235 : 2270 : WRITE_STRING_FIELD(name);
3236 : 2270 : WRITE_NODE_FIELD(argtypes);
3237 : 2270 : WRITE_NODE_FIELD(query);
3238 : 2270 : }
3239 : :
3240 : : static void
3241 : 18024 : _outExecuteStmt(StringInfo str, const ExecuteStmt *node)
3242 : : {
3243 : 18024 : WRITE_NODE_TYPE("EXECUTESTMT");
3244 : :
3245 : 18024 : WRITE_STRING_FIELD(name);
3246 : 18024 : WRITE_NODE_FIELD(params);
3247 : 18024 : }
3248 : :
3249 : : static void
3250 : 4196 : _outDeallocateStmt(StringInfo str, const DeallocateStmt *node)
3251 : : {
3252 : 4196 : WRITE_NODE_TYPE("DEALLOCATESTMT");
3253 : :
3254 : 4196 : WRITE_STRING_FIELD(name);
3255 [ + + ]: 4196 : WRITE_BOOL_FIELD(isall);
3256 [ + - ]: 4196 : WRITE_LOCATION_FIELD(location);
3257 : 4196 : }
3258 : :
3259 : : static void
3260 : 188 : _outDropOwnedStmt(StringInfo str, const DropOwnedStmt *node)
3261 : : {
3262 : 188 : WRITE_NODE_TYPE("DROPOWNEDSTMT");
3263 : :
3264 : 188 : WRITE_NODE_FIELD(roles);
3265 : 188 : WRITE_ENUM_FIELD(behavior, DropBehavior);
3266 : 188 : }
3267 : :
3268 : : static void
3269 : 68 : _outReassignOwnedStmt(StringInfo str, const ReassignOwnedStmt *node)
3270 : : {
3271 : 68 : WRITE_NODE_TYPE("REASSIGNOWNEDSTMT");
3272 : :
3273 : 68 : WRITE_NODE_FIELD(roles);
3274 : 68 : WRITE_NODE_FIELD(newrole);
3275 : 68 : }
3276 : :
3277 : : static void
3278 : 46 : _outAlterTSDictionaryStmt(StringInfo str, const AlterTSDictionaryStmt *node)
3279 : : {
3280 : 46 : WRITE_NODE_TYPE("ALTERTSDICTIONARYSTMT");
3281 : :
3282 : 46 : WRITE_NODE_FIELD(dictname);
3283 : 46 : WRITE_NODE_FIELD(options);
3284 : 46 : }
3285 : :
3286 : : static void
3287 : 10500 : _outAlterTSConfigurationStmt(StringInfo str, const AlterTSConfigurationStmt *node)
3288 : : {
3289 : 10500 : WRITE_NODE_TYPE("ALTERTSCONFIGURATIONSTMT");
3290 : :
3291 : 10500 : WRITE_ENUM_FIELD(kind, AlterTSConfigType);
3292 : 10500 : WRITE_NODE_FIELD(cfgname);
3293 : 10500 : WRITE_NODE_FIELD(tokentype);
3294 : 10500 : WRITE_NODE_FIELD(dicts);
3295 [ + + ]: 10500 : WRITE_BOOL_FIELD(override);
3296 [ + + ]: 10500 : WRITE_BOOL_FIELD(replace);
3297 [ + + ]: 10500 : WRITE_BOOL_FIELD(missing_ok);
3298 : 10500 : }
3299 : :
3300 : : static void
3301 : 2052 : _outPublicationTable(StringInfo str, const PublicationTable *node)
3302 : : {
3303 : 2052 : WRITE_NODE_TYPE("PUBLICATIONTABLE");
3304 : :
3305 : 2052 : WRITE_NODE_FIELD(relation);
3306 : 2052 : WRITE_NODE_FIELD(whereClause);
3307 : 2052 : WRITE_NODE_FIELD(columns);
3308 [ + + ]: 2052 : WRITE_BOOL_FIELD(except);
3309 : 2052 : }
3310 : :
3311 : : static void
3312 : 2580 : _outPublicationObjSpec(StringInfo str, const PublicationObjSpec *node)
3313 : : {
3314 : 2580 : WRITE_NODE_TYPE("PUBLICATIONOBJSPEC");
3315 : :
3316 : 2580 : WRITE_ENUM_FIELD(pubobjtype, PublicationObjSpecType);
3317 : 2580 : WRITE_STRING_FIELD(name);
3318 : 2580 : WRITE_NODE_FIELD(pubtable);
3319 [ + - ]: 2580 : WRITE_LOCATION_FIELD(location);
3320 : 2580 : }
3321 : :
3322 : : static void
3323 : 0 : _outPublicationAllObjSpec(StringInfo str, const PublicationAllObjSpec *node)
3324 : : {
3325 : 0 : WRITE_NODE_TYPE("PUBLICATIONALLOBJSPEC");
3326 : :
3327 : 0 : WRITE_ENUM_FIELD(pubobjtype, PublicationAllObjType);
3328 : 0 : WRITE_NODE_FIELD(except_tables);
3329 [ # # ]: 0 : WRITE_LOCATION_FIELD(location);
3330 : 0 : }
3331 : :
3332 : : static void
3333 : 1272 : _outCreatePublicationStmt(StringInfo str, const CreatePublicationStmt *node)
3334 : : {
3335 : 1272 : WRITE_NODE_TYPE("CREATEPUBLICATIONSTMT");
3336 : :
3337 : 1272 : WRITE_STRING_FIELD(pubname);
3338 : 1272 : WRITE_NODE_FIELD(options);
3339 : 1272 : WRITE_NODE_FIELD(pubobjects);
3340 [ + + ]: 1272 : WRITE_BOOL_FIELD(for_all_tables);
3341 [ + + ]: 1272 : WRITE_BOOL_FIELD(for_all_sequences);
3342 : 1272 : }
3343 : :
3344 : : static void
3345 : 1562 : _outAlterPublicationStmt(StringInfo str, const AlterPublicationStmt *node)
3346 : : {
3347 : 1562 : WRITE_NODE_TYPE("ALTERPUBLICATIONSTMT");
3348 : :
3349 : 1562 : WRITE_STRING_FIELD(pubname);
3350 : 1562 : WRITE_NODE_FIELD(options);
3351 : 1562 : WRITE_NODE_FIELD(pubobjects);
3352 : 1562 : WRITE_ENUM_FIELD(action, AlterPublicationAction);
3353 [ + + ]: 1562 : WRITE_BOOL_FIELD(for_all_tables);
3354 [ + + ]: 1562 : WRITE_BOOL_FIELD(for_all_sequences);
3355 : 1562 : }
3356 : :
3357 : : static void
3358 : 674 : _outCreateSubscriptionStmt(StringInfo str, const CreateSubscriptionStmt *node)
3359 : : {
3360 : 674 : WRITE_NODE_TYPE("CREATESUBSCRIPTIONSTMT");
3361 : :
3362 : 674 : WRITE_STRING_FIELD(subname);
3363 : 674 : WRITE_STRING_FIELD(servername);
3364 : 674 : WRITE_STRING_FIELD(conninfo);
3365 : 674 : WRITE_NODE_FIELD(publication);
3366 : 674 : WRITE_NODE_FIELD(options);
3367 : 674 : }
3368 : :
3369 : : static void
3370 : 829 : _outAlterSubscriptionStmt(StringInfo str, const AlterSubscriptionStmt *node)
3371 : : {
3372 : 829 : WRITE_NODE_TYPE("ALTERSUBSCRIPTIONSTMT");
3373 : :
3374 : 829 : WRITE_ENUM_FIELD(kind, AlterSubscriptionType);
3375 : 829 : WRITE_STRING_FIELD(subname);
3376 : 829 : WRITE_STRING_FIELD(servername);
3377 : 829 : WRITE_STRING_FIELD(conninfo);
3378 : 829 : WRITE_NODE_FIELD(publication);
3379 : 829 : WRITE_NODE_FIELD(options);
3380 : 829 : }
3381 : :
3382 : : static void
3383 : 360 : _outDropSubscriptionStmt(StringInfo str, const DropSubscriptionStmt *node)
3384 : : {
3385 : 360 : WRITE_NODE_TYPE("DROPSUBSCRIPTIONSTMT");
3386 : :
3387 : 360 : WRITE_STRING_FIELD(subname);
3388 [ + + ]: 360 : WRITE_BOOL_FIELD(missing_ok);
3389 : 360 : WRITE_ENUM_FIELD(behavior, DropBehavior);
3390 : 360 : }
3391 : :
3392 : : static void
3393 : 505 : _outWaitStmt(StringInfo str, const WaitStmt *node)
3394 : : {
3395 : 505 : WRITE_NODE_TYPE("WAITSTMT");
3396 : :
3397 : 505 : WRITE_STRING_FIELD(lsn_literal);
3398 : 505 : WRITE_NODE_FIELD(options);
3399 : 505 : }
3400 : :
3401 : : static void
3402 : 0 : _outPlannerGlobal(StringInfo str, const PlannerGlobal *node)
3403 : : {
3404 : 0 : WRITE_NODE_TYPE("PLANNERGLOBAL");
3405 : :
3406 : 0 : WRITE_NODE_FIELD(subplans);
3407 : 0 : WRITE_NODE_FIELD(subpaths);
3408 : 0 : WRITE_BITMAPSET_FIELD(rewindPlanIDs);
3409 : 0 : WRITE_NODE_FIELD(finalrtable);
3410 : 0 : WRITE_BITMAPSET_FIELD(allRelids);
3411 : 0 : WRITE_BITMAPSET_FIELD(prunableRelids);
3412 : 0 : WRITE_NODE_FIELD(finalrteperminfos);
3413 : 0 : WRITE_NODE_FIELD(subrtinfos);
3414 : 0 : WRITE_NODE_FIELD(finalrowmarks);
3415 : 0 : WRITE_NODE_FIELD(resultRelations);
3416 : 0 : WRITE_NODE_FIELD(appendRelations);
3417 : 0 : WRITE_NODE_FIELD(partPruneInfos);
3418 : 0 : WRITE_NODE_FIELD(relationOids);
3419 : 0 : WRITE_NODE_FIELD(invalItems);
3420 : 0 : WRITE_NODE_FIELD(paramExecTypes);
3421 : 0 : WRITE_NODE_FIELD(elidedNodes);
3422 : 0 : WRITE_UINT_FIELD(lastPHId);
3423 : 0 : WRITE_UINT_FIELD(lastRowMarkId);
3424 : 0 : WRITE_INT_FIELD(lastPlanNodeId);
3425 [ # # ]: 0 : WRITE_BOOL_FIELD(transientPlan);
3426 [ # # ]: 0 : WRITE_BOOL_FIELD(dependsOnRole);
3427 [ # # ]: 0 : WRITE_BOOL_FIELD(parallelModeOK);
3428 [ # # ]: 0 : WRITE_BOOL_FIELD(parallelModeNeeded);
3429 : 0 : WRITE_CHAR_FIELD(maxParallelHazard);
3430 : 0 : WRITE_UINT64_FIELD(default_pgs_mask);
3431 : 0 : WRITE_INT_FIELD(extension_state_allocated);
3432 : 0 : }
3433 : :
3434 : : static void
3435 : 0 : _outPlannerInfo(StringInfo str, const PlannerInfo *node)
3436 : : {
3437 : 0 : WRITE_NODE_TYPE("PLANNERINFO");
3438 : :
3439 : 0 : WRITE_NODE_FIELD(parse);
3440 : 0 : WRITE_NODE_FIELD(glob);
3441 : 0 : WRITE_UINT_FIELD(query_level);
3442 : 0 : WRITE_STRING_FIELD(plan_name);
3443 : 0 : WRITE_STRING_FIELD(alternative_plan_name);
3444 : 0 : WRITE_NODE_FIELD(plan_params);
3445 : 0 : WRITE_BITMAPSET_FIELD(outer_params);
3446 : 0 : WRITE_NODE_ARRAY(simple_rel_array, node->simple_rel_array_size);
3447 : 0 : WRITE_INT_FIELD(simple_rel_array_size);
3448 : 0 : WRITE_BITMAPSET_FIELD(all_baserels);
3449 : 0 : WRITE_BITMAPSET_FIELD(outer_join_rels);
3450 : 0 : WRITE_BITMAPSET_FIELD(all_query_rels);
3451 : 0 : WRITE_NODE_FIELD(join_rel_list);
3452 : 0 : WRITE_INT_FIELD(join_cur_level);
3453 : 0 : WRITE_NODE_FIELD(init_plans);
3454 : 0 : WRITE_NODE_FIELD(cte_plan_ids);
3455 : 0 : WRITE_NODE_FIELD(multiexpr_params);
3456 : 0 : WRITE_NODE_FIELD(join_domains);
3457 : 0 : WRITE_NODE_FIELD(eq_classes);
3458 [ # # ]: 0 : WRITE_BOOL_FIELD(ec_merging_done);
3459 : 0 : WRITE_NODE_FIELD(canon_pathkeys);
3460 : 0 : WRITE_NODE_FIELD(left_join_clauses);
3461 : 0 : WRITE_NODE_FIELD(right_join_clauses);
3462 : 0 : WRITE_NODE_FIELD(full_join_clauses);
3463 : 0 : WRITE_NODE_FIELD(join_info_list);
3464 : 0 : WRITE_INT_FIELD(last_rinfo_serial);
3465 : 0 : WRITE_BITMAPSET_FIELD(all_result_relids);
3466 : 0 : WRITE_BITMAPSET_FIELD(leaf_result_relids);
3467 : 0 : WRITE_NODE_FIELD(append_rel_list);
3468 : 0 : WRITE_NODE_FIELD(row_identity_vars);
3469 : 0 : WRITE_NODE_FIELD(rowMarks);
3470 : 0 : WRITE_NODE_FIELD(placeholder_list);
3471 : 0 : WRITE_NODE_FIELD(agg_clause_list);
3472 : 0 : WRITE_NODE_FIELD(group_expr_list);
3473 : 0 : WRITE_NODE_FIELD(tlist_vars);
3474 : 0 : WRITE_NODE_FIELD(fkey_list);
3475 : 0 : WRITE_NODE_FIELD(query_pathkeys);
3476 : 0 : WRITE_NODE_FIELD(group_pathkeys);
3477 : 0 : WRITE_INT_FIELD(num_groupby_pathkeys);
3478 : 0 : WRITE_NODE_FIELD(window_pathkeys);
3479 : 0 : WRITE_NODE_FIELD(distinct_pathkeys);
3480 : 0 : WRITE_NODE_FIELD(sort_pathkeys);
3481 : 0 : WRITE_NODE_FIELD(setop_pathkeys);
3482 : 0 : WRITE_NODE_FIELD(processed_groupClause);
3483 : 0 : WRITE_NODE_FIELD(processed_distinctClause);
3484 : 0 : WRITE_NODE_FIELD(processed_tlist);
3485 : 0 : WRITE_NODE_FIELD(update_colnos);
3486 : 0 : WRITE_NODE_FIELD(minmax_aggs);
3487 : 0 : WRITE_FLOAT_FIELD(total_table_pages);
3488 : 0 : WRITE_FLOAT_FIELD(tuple_fraction);
3489 : 0 : WRITE_FLOAT_FIELD(limit_tuples);
3490 : 0 : WRITE_UINT_FIELD(qual_security_level);
3491 [ # # ]: 0 : WRITE_BOOL_FIELD(hasJoinRTEs);
3492 [ # # ]: 0 : WRITE_BOOL_FIELD(hasLateralRTEs);
3493 [ # # ]: 0 : WRITE_BOOL_FIELD(hasHavingQual);
3494 [ # # ]: 0 : WRITE_BOOL_FIELD(hasPseudoConstantQuals);
3495 [ # # ]: 0 : WRITE_BOOL_FIELD(hasAlternativeSubPlans);
3496 [ # # ]: 0 : WRITE_BOOL_FIELD(placeholdersFrozen);
3497 [ # # ]: 0 : WRITE_BOOL_FIELD(hasRecursion);
3498 [ # # ]: 0 : WRITE_BOOL_FIELD(assumeReplanning);
3499 : 0 : WRITE_INT_FIELD(group_rtindex);
3500 : 0 : WRITE_NODE_FIELD(agginfos);
3501 : 0 : WRITE_NODE_FIELD(aggtransinfos);
3502 : 0 : WRITE_INT_FIELD(numOrderedAggs);
3503 [ # # ]: 0 : WRITE_BOOL_FIELD(hasNonPartialAggs);
3504 [ # # ]: 0 : WRITE_BOOL_FIELD(hasNonSerialAggs);
3505 : 0 : WRITE_INT_FIELD(wt_param_id);
3506 : 0 : WRITE_NODE_FIELD(non_recursive_path);
3507 : 0 : WRITE_BITMAPSET_FIELD(curOuterRels);
3508 : 0 : WRITE_NODE_FIELD(curOuterParams);
3509 : 0 : WRITE_NODE_FIELD(partPruneInfos);
3510 : 0 : WRITE_INT_FIELD(extension_state_allocated);
3511 : 0 : }
3512 : :
3513 : : static void
3514 : 0 : _outRelOptInfo(StringInfo str, const RelOptInfo *node)
3515 : : {
3516 : 0 : WRITE_NODE_TYPE("RELOPTINFO");
3517 : :
3518 : 0 : WRITE_ENUM_FIELD(reloptkind, RelOptKind);
3519 : 0 : WRITE_BITMAPSET_FIELD(relids);
3520 : 0 : WRITE_FLOAT_FIELD(rows);
3521 [ # # ]: 0 : WRITE_BOOL_FIELD(consider_startup);
3522 [ # # ]: 0 : WRITE_BOOL_FIELD(consider_param_startup);
3523 [ # # ]: 0 : WRITE_BOOL_FIELD(consider_parallel);
3524 : 0 : WRITE_UINT64_FIELD(pgs_mask);
3525 : 0 : WRITE_NODE_FIELD(reltarget);
3526 : 0 : WRITE_NODE_FIELD(pathlist);
3527 : 0 : WRITE_NODE_FIELD(ppilist);
3528 : 0 : WRITE_NODE_FIELD(partial_pathlist);
3529 : 0 : WRITE_NODE_FIELD(cheapest_startup_path);
3530 : 0 : WRITE_NODE_FIELD(cheapest_total_path);
3531 : 0 : WRITE_NODE_FIELD(cheapest_parameterized_paths);
3532 : 0 : WRITE_BITMAPSET_FIELD(direct_lateral_relids);
3533 : 0 : WRITE_BITMAPSET_FIELD(lateral_relids);
3534 : 0 : WRITE_UINT_FIELD(relid);
3535 : 0 : WRITE_OID_FIELD(reltablespace);
3536 : 0 : WRITE_ENUM_FIELD(rtekind, RTEKind);
3537 : 0 : WRITE_INT_FIELD(min_attr);
3538 : 0 : WRITE_INT_FIELD(max_attr);
3539 : 0 : WRITE_BITMAPSET_FIELD(notnullattnums);
3540 : 0 : WRITE_BITMAPSET_FIELD(nulling_relids);
3541 : 0 : WRITE_NODE_FIELD(lateral_vars);
3542 : 0 : WRITE_BITMAPSET_FIELD(lateral_referencers);
3543 : 0 : WRITE_NODE_FIELD(indexlist);
3544 : 0 : WRITE_NODE_FIELD(statlist);
3545 : 0 : WRITE_UINT_FIELD(pages);
3546 : 0 : WRITE_FLOAT_FIELD(tuples);
3547 : 0 : WRITE_FLOAT_FIELD(allvisfrac);
3548 : 0 : WRITE_BITMAPSET_FIELD(eclass_indexes);
3549 : 0 : WRITE_NODE_FIELD(subroot);
3550 : 0 : WRITE_NODE_FIELD(subplan_params);
3551 : 0 : WRITE_INT_FIELD(rel_parallel_workers);
3552 : 0 : WRITE_UINT_FIELD(amflags);
3553 : 0 : WRITE_OID_FIELD(serverid);
3554 : 0 : WRITE_OID_FIELD(userid);
3555 [ # # ]: 0 : WRITE_BOOL_FIELD(useridiscurrent);
3556 : 0 : WRITE_NODE_FIELD(unique_for_rels);
3557 : 0 : WRITE_NODE_FIELD(non_unique_for_rels);
3558 : 0 : WRITE_NODE_FIELD(unique_rel);
3559 : 0 : WRITE_NODE_FIELD(unique_pathkeys);
3560 : 0 : WRITE_NODE_FIELD(unique_groupclause);
3561 : 0 : WRITE_NODE_FIELD(baserestrictinfo);
3562 : 0 : WRITE_FLOAT_FIELD(baserestrictcost.startup);
3563 : 0 : WRITE_FLOAT_FIELD(baserestrictcost.per_tuple);
3564 : 0 : WRITE_UINT_FIELD(baserestrict_min_security);
3565 : 0 : WRITE_NODE_FIELD(joininfo);
3566 [ # # ]: 0 : WRITE_BOOL_FIELD(has_eclass_joins);
3567 [ # # ]: 0 : WRITE_BOOL_FIELD(consider_partitionwise_join);
3568 : 0 : WRITE_NODE_FIELD(agg_info);
3569 : 0 : WRITE_NODE_FIELD(grouped_rel);
3570 : 0 : WRITE_BITMAPSET_FIELD(top_parent_relids);
3571 : 0 : WRITE_INT_FIELD(nparts);
3572 [ # # ]: 0 : WRITE_BOOL_FIELD(partbounds_merged);
3573 : 0 : WRITE_NODE_FIELD(partition_qual);
3574 : 0 : WRITE_BITMAPSET_FIELD(live_parts);
3575 : 0 : WRITE_BITMAPSET_FIELD(all_partrels);
3576 : 0 : WRITE_INT_FIELD(extension_state_allocated);
3577 : 0 : }
3578 : :
3579 : : static void
3580 : 0 : _outRelAggInfo(StringInfo str, const RelAggInfo *node)
3581 : : {
3582 : 0 : WRITE_NODE_TYPE("RELAGGINFO");
3583 : :
3584 : 0 : WRITE_NODE_FIELD(target);
3585 : 0 : WRITE_NODE_FIELD(agg_input);
3586 : 0 : WRITE_NODE_FIELD(group_clauses);
3587 : 0 : WRITE_NODE_FIELD(group_exprs);
3588 : 0 : WRITE_BITMAPSET_FIELD(apply_agg_at);
3589 : 0 : WRITE_FLOAT_FIELD(grouped_rows);
3590 [ # # ]: 0 : WRITE_BOOL_FIELD(agg_useful);
3591 : 0 : }
3592 : :
3593 : : static void
3594 : 0 : _outIndexOptInfo(StringInfo str, const IndexOptInfo *node)
3595 : : {
3596 : 0 : WRITE_NODE_TYPE("INDEXOPTINFO");
3597 : :
3598 : 0 : WRITE_OID_FIELD(indexoid);
3599 : 0 : WRITE_OID_FIELD(reltablespace);
3600 : 0 : WRITE_UINT_FIELD(pages);
3601 : 0 : WRITE_FLOAT_FIELD(tuples);
3602 : 0 : WRITE_INT_FIELD(tree_height);
3603 : 0 : WRITE_INT_FIELD(ncolumns);
3604 : 0 : WRITE_INT_FIELD(nkeycolumns);
3605 : 0 : WRITE_INT_ARRAY(indexkeys, node->ncolumns);
3606 : 0 : WRITE_OID_ARRAY(indexcollations, node->nkeycolumns);
3607 : 0 : WRITE_OID_ARRAY(opfamily, node->nkeycolumns);
3608 : 0 : WRITE_OID_ARRAY(opcintype, node->nkeycolumns);
3609 : 0 : WRITE_OID_ARRAY(sortopfamily, node->nkeycolumns);
3610 : 0 : WRITE_BOOL_ARRAY(reverse_sort, node->nkeycolumns);
3611 : 0 : WRITE_BOOL_ARRAY(nulls_first, node->nkeycolumns);
3612 : 0 : WRITE_BOOL_ARRAY(canreturn, node->ncolumns);
3613 : 0 : WRITE_OID_FIELD(relam);
3614 : 0 : WRITE_NODE_FIELD(indpred);
3615 : 0 : WRITE_NODE_FIELD(indextlist);
3616 : 0 : WRITE_NODE_FIELD(indrestrictinfo);
3617 [ # # ]: 0 : WRITE_BOOL_FIELD(predOK);
3618 [ # # ]: 0 : WRITE_BOOL_FIELD(unique);
3619 [ # # ]: 0 : WRITE_BOOL_FIELD(nullsnotdistinct);
3620 [ # # ]: 0 : WRITE_BOOL_FIELD(immediate);
3621 [ # # ]: 0 : WRITE_BOOL_FIELD(disabled);
3622 [ # # ]: 0 : WRITE_BOOL_FIELD(hypothetical);
3623 [ # # ]: 0 : WRITE_BOOL_FIELD(amcanorderbyop);
3624 [ # # ]: 0 : WRITE_BOOL_FIELD(amoptionalkey);
3625 [ # # ]: 0 : WRITE_BOOL_FIELD(amsearcharray);
3626 [ # # ]: 0 : WRITE_BOOL_FIELD(amsearchnulls);
3627 [ # # ]: 0 : WRITE_BOOL_FIELD(amhasgettuple);
3628 [ # # ]: 0 : WRITE_BOOL_FIELD(amhasgetbitmap);
3629 [ # # ]: 0 : WRITE_BOOL_FIELD(amcanparallel);
3630 [ # # ]: 0 : WRITE_BOOL_FIELD(amcanmarkpos);
3631 : 0 : }
3632 : :
3633 : : static void
3634 : 0 : _outStatisticExtInfo(StringInfo str, const StatisticExtInfo *node)
3635 : : {
3636 : 0 : WRITE_NODE_TYPE("STATISTICEXTINFO");
3637 : :
3638 : 0 : WRITE_OID_FIELD(statOid);
3639 [ # # ]: 0 : WRITE_BOOL_FIELD(inherit);
3640 : 0 : WRITE_CHAR_FIELD(kind);
3641 : 0 : WRITE_BITMAPSET_FIELD(keys);
3642 : 0 : WRITE_NODE_FIELD(exprs);
3643 : 0 : }
3644 : :
3645 : : static void
3646 : 0 : _outJoinDomain(StringInfo str, const JoinDomain *node)
3647 : : {
3648 : 0 : WRITE_NODE_TYPE("JOINDOMAIN");
3649 : :
3650 : 0 : WRITE_BITMAPSET_FIELD(jd_relids);
3651 : 0 : }
3652 : :
3653 : : static void
3654 : 0 : _outEquivalenceMember(StringInfo str, const EquivalenceMember *node)
3655 : : {
3656 : 0 : WRITE_NODE_TYPE("EQUIVALENCEMEMBER");
3657 : :
3658 : 0 : WRITE_NODE_FIELD(em_expr);
3659 : 0 : WRITE_BITMAPSET_FIELD(em_relids);
3660 [ # # ]: 0 : WRITE_BOOL_FIELD(em_is_const);
3661 [ # # ]: 0 : WRITE_BOOL_FIELD(em_is_child);
3662 : 0 : WRITE_OID_FIELD(em_datatype);
3663 : 0 : WRITE_NODE_FIELD(em_jdomain);
3664 : 0 : }
3665 : :
3666 : : static void
3667 : 0 : _outPathKey(StringInfo str, const PathKey *node)
3668 : : {
3669 : 0 : WRITE_NODE_TYPE("PATHKEY");
3670 : :
3671 : 0 : WRITE_NODE_FIELD(pk_eclass);
3672 : 0 : WRITE_OID_FIELD(pk_opfamily);
3673 : 0 : WRITE_ENUM_FIELD(pk_cmptype, CompareType);
3674 [ # # ]: 0 : WRITE_BOOL_FIELD(pk_nulls_first);
3675 : 0 : }
3676 : :
3677 : : static void
3678 : 0 : _outGroupByOrdering(StringInfo str, const GroupByOrdering *node)
3679 : : {
3680 : 0 : WRITE_NODE_TYPE("GROUPBYORDERING");
3681 : :
3682 : 0 : WRITE_NODE_FIELD(pathkeys);
3683 : 0 : WRITE_NODE_FIELD(clauses);
3684 : 0 : }
3685 : :
3686 : : static void
3687 : 0 : _outPathTarget(StringInfo str, const PathTarget *node)
3688 : : {
3689 : 0 : WRITE_NODE_TYPE("PATHTARGET");
3690 : :
3691 : 0 : WRITE_NODE_FIELD(exprs);
3692 : 0 : WRITE_INDEX_ARRAY(sortgrouprefs, list_length(node->exprs));
3693 : 0 : WRITE_FLOAT_FIELD(cost.startup);
3694 : 0 : WRITE_FLOAT_FIELD(cost.per_tuple);
3695 : 0 : WRITE_INT_FIELD(width);
3696 : 0 : WRITE_ENUM_FIELD(has_volatile_expr, VolatileFunctionStatus);
3697 : 0 : }
3698 : :
3699 : : static void
3700 : 0 : _outParamPathInfo(StringInfo str, const ParamPathInfo *node)
3701 : : {
3702 : 0 : WRITE_NODE_TYPE("PARAMPATHINFO");
3703 : :
3704 : 0 : WRITE_BITMAPSET_FIELD(ppi_req_outer);
3705 : 0 : WRITE_FLOAT_FIELD(ppi_rows);
3706 : 0 : WRITE_NODE_FIELD(ppi_clauses);
3707 : 0 : WRITE_BITMAPSET_FIELD(ppi_serials);
3708 : 0 : }
3709 : :
3710 : : static void
3711 : 0 : _outPath(StringInfo str, const Path *node)
3712 : : {
3713 : 0 : WRITE_NODE_TYPE("PATH");
3714 : :
3715 : 0 : WRITE_ENUM_FIELD(pathtype, NodeTag);
3716 : 0 : appendStringInfoString(str, " :parent_relids ");
3717 : 0 : outBitmapset(str, node->parent->relids);
3718 [ # # ]: 0 : if (node->pathtarget != node->parent->reltarget)
3719 : 0 : WRITE_NODE_FIELD(pathtarget);
3720 : 0 : appendStringInfoString(str, " :required_outer ");
3721 [ # # ]: 0 : if (node->param_info)
3722 : 0 : outBitmapset(str, node->param_info->ppi_req_outer);
3723 : : else
3724 : 0 : outBitmapset(str, NULL);
3725 [ # # ]: 0 : WRITE_BOOL_FIELD(parallel_aware);
3726 [ # # ]: 0 : WRITE_BOOL_FIELD(parallel_safe);
3727 : 0 : WRITE_INT_FIELD(parallel_workers);
3728 : 0 : WRITE_FLOAT_FIELD(rows);
3729 : 0 : WRITE_INT_FIELD(disabled_nodes);
3730 : 0 : WRITE_FLOAT_FIELD(startup_cost);
3731 : 0 : WRITE_FLOAT_FIELD(total_cost);
3732 : 0 : WRITE_NODE_FIELD(pathkeys);
3733 : 0 : }
3734 : :
3735 : : static void
3736 : 0 : _outIndexPath(StringInfo str, const IndexPath *node)
3737 : : {
3738 : 0 : WRITE_NODE_TYPE("INDEXPATH");
3739 : :
3740 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
3741 : 0 : appendStringInfoString(str, " :parent_relids ");
3742 : 0 : outBitmapset(str, node->path.parent->relids);
3743 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
3744 : 0 : WRITE_NODE_FIELD(path.pathtarget);
3745 : 0 : appendStringInfoString(str, " :required_outer ");
3746 [ # # ]: 0 : if (node->path.param_info)
3747 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
3748 : : else
3749 : 0 : outBitmapset(str, NULL);
3750 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
3751 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
3752 : 0 : WRITE_INT_FIELD(path.parallel_workers);
3753 : 0 : WRITE_FLOAT_FIELD(path.rows);
3754 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
3755 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
3756 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
3757 : 0 : WRITE_NODE_FIELD(path.pathkeys);
3758 : 0 : WRITE_NODE_FIELD(indexinfo);
3759 : 0 : WRITE_NODE_FIELD(indexclauses);
3760 : 0 : WRITE_NODE_FIELD(indexorderbys);
3761 : 0 : WRITE_NODE_FIELD(indexorderbycols);
3762 : 0 : WRITE_ENUM_FIELD(indexscandir, ScanDirection);
3763 : 0 : WRITE_FLOAT_FIELD(indextotalcost);
3764 : 0 : WRITE_FLOAT_FIELD(indexselectivity);
3765 : 0 : }
3766 : :
3767 : : static void
3768 : 0 : _outIndexClause(StringInfo str, const IndexClause *node)
3769 : : {
3770 : 0 : WRITE_NODE_TYPE("INDEXCLAUSE");
3771 : :
3772 : 0 : WRITE_NODE_FIELD(rinfo);
3773 : 0 : WRITE_NODE_FIELD(indexquals);
3774 [ # # ]: 0 : WRITE_BOOL_FIELD(lossy);
3775 : 0 : WRITE_INT_FIELD(indexcol);
3776 : 0 : WRITE_NODE_FIELD(indexcols);
3777 : 0 : }
3778 : :
3779 : : static void
3780 : 0 : _outBitmapHeapPath(StringInfo str, const BitmapHeapPath *node)
3781 : : {
3782 : 0 : WRITE_NODE_TYPE("BITMAPHEAPPATH");
3783 : :
3784 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
3785 : 0 : appendStringInfoString(str, " :parent_relids ");
3786 : 0 : outBitmapset(str, node->path.parent->relids);
3787 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
3788 : 0 : WRITE_NODE_FIELD(path.pathtarget);
3789 : 0 : appendStringInfoString(str, " :required_outer ");
3790 [ # # ]: 0 : if (node->path.param_info)
3791 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
3792 : : else
3793 : 0 : outBitmapset(str, NULL);
3794 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
3795 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
3796 : 0 : WRITE_INT_FIELD(path.parallel_workers);
3797 : 0 : WRITE_FLOAT_FIELD(path.rows);
3798 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
3799 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
3800 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
3801 : 0 : WRITE_NODE_FIELD(path.pathkeys);
3802 : 0 : WRITE_NODE_FIELD(bitmapqual);
3803 : 0 : }
3804 : :
3805 : : static void
3806 : 0 : _outBitmapAndPath(StringInfo str, const BitmapAndPath *node)
3807 : : {
3808 : 0 : WRITE_NODE_TYPE("BITMAPANDPATH");
3809 : :
3810 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
3811 : 0 : appendStringInfoString(str, " :parent_relids ");
3812 : 0 : outBitmapset(str, node->path.parent->relids);
3813 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
3814 : 0 : WRITE_NODE_FIELD(path.pathtarget);
3815 : 0 : appendStringInfoString(str, " :required_outer ");
3816 [ # # ]: 0 : if (node->path.param_info)
3817 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
3818 : : else
3819 : 0 : outBitmapset(str, NULL);
3820 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
3821 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
3822 : 0 : WRITE_INT_FIELD(path.parallel_workers);
3823 : 0 : WRITE_FLOAT_FIELD(path.rows);
3824 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
3825 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
3826 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
3827 : 0 : WRITE_NODE_FIELD(path.pathkeys);
3828 : 0 : WRITE_NODE_FIELD(bitmapquals);
3829 : 0 : WRITE_FLOAT_FIELD(bitmapselectivity);
3830 : 0 : }
3831 : :
3832 : : static void
3833 : 0 : _outBitmapOrPath(StringInfo str, const BitmapOrPath *node)
3834 : : {
3835 : 0 : WRITE_NODE_TYPE("BITMAPORPATH");
3836 : :
3837 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
3838 : 0 : appendStringInfoString(str, " :parent_relids ");
3839 : 0 : outBitmapset(str, node->path.parent->relids);
3840 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
3841 : 0 : WRITE_NODE_FIELD(path.pathtarget);
3842 : 0 : appendStringInfoString(str, " :required_outer ");
3843 [ # # ]: 0 : if (node->path.param_info)
3844 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
3845 : : else
3846 : 0 : outBitmapset(str, NULL);
3847 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
3848 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
3849 : 0 : WRITE_INT_FIELD(path.parallel_workers);
3850 : 0 : WRITE_FLOAT_FIELD(path.rows);
3851 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
3852 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
3853 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
3854 : 0 : WRITE_NODE_FIELD(path.pathkeys);
3855 : 0 : WRITE_NODE_FIELD(bitmapquals);
3856 : 0 : WRITE_FLOAT_FIELD(bitmapselectivity);
3857 : 0 : }
3858 : :
3859 : : static void
3860 : 0 : _outTidPath(StringInfo str, const TidPath *node)
3861 : : {
3862 : 0 : WRITE_NODE_TYPE("TIDPATH");
3863 : :
3864 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
3865 : 0 : appendStringInfoString(str, " :parent_relids ");
3866 : 0 : outBitmapset(str, node->path.parent->relids);
3867 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
3868 : 0 : WRITE_NODE_FIELD(path.pathtarget);
3869 : 0 : appendStringInfoString(str, " :required_outer ");
3870 [ # # ]: 0 : if (node->path.param_info)
3871 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
3872 : : else
3873 : 0 : outBitmapset(str, NULL);
3874 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
3875 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
3876 : 0 : WRITE_INT_FIELD(path.parallel_workers);
3877 : 0 : WRITE_FLOAT_FIELD(path.rows);
3878 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
3879 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
3880 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
3881 : 0 : WRITE_NODE_FIELD(path.pathkeys);
3882 : 0 : WRITE_NODE_FIELD(tidquals);
3883 : 0 : }
3884 : :
3885 : : static void
3886 : 0 : _outTidRangePath(StringInfo str, const TidRangePath *node)
3887 : : {
3888 : 0 : WRITE_NODE_TYPE("TIDRANGEPATH");
3889 : :
3890 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
3891 : 0 : appendStringInfoString(str, " :parent_relids ");
3892 : 0 : outBitmapset(str, node->path.parent->relids);
3893 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
3894 : 0 : WRITE_NODE_FIELD(path.pathtarget);
3895 : 0 : appendStringInfoString(str, " :required_outer ");
3896 [ # # ]: 0 : if (node->path.param_info)
3897 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
3898 : : else
3899 : 0 : outBitmapset(str, NULL);
3900 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
3901 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
3902 : 0 : WRITE_INT_FIELD(path.parallel_workers);
3903 : 0 : WRITE_FLOAT_FIELD(path.rows);
3904 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
3905 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
3906 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
3907 : 0 : WRITE_NODE_FIELD(path.pathkeys);
3908 : 0 : WRITE_NODE_FIELD(tidrangequals);
3909 : 0 : }
3910 : :
3911 : : static void
3912 : 0 : _outSubqueryScanPath(StringInfo str, const SubqueryScanPath *node)
3913 : : {
3914 : 0 : WRITE_NODE_TYPE("SUBQUERYSCANPATH");
3915 : :
3916 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
3917 : 0 : appendStringInfoString(str, " :parent_relids ");
3918 : 0 : outBitmapset(str, node->path.parent->relids);
3919 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
3920 : 0 : WRITE_NODE_FIELD(path.pathtarget);
3921 : 0 : appendStringInfoString(str, " :required_outer ");
3922 [ # # ]: 0 : if (node->path.param_info)
3923 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
3924 : : else
3925 : 0 : outBitmapset(str, NULL);
3926 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
3927 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
3928 : 0 : WRITE_INT_FIELD(path.parallel_workers);
3929 : 0 : WRITE_FLOAT_FIELD(path.rows);
3930 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
3931 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
3932 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
3933 : 0 : WRITE_NODE_FIELD(path.pathkeys);
3934 : 0 : WRITE_NODE_FIELD(subpath);
3935 : 0 : }
3936 : :
3937 : : static void
3938 : 0 : _outForeignPath(StringInfo str, const ForeignPath *node)
3939 : : {
3940 : 0 : WRITE_NODE_TYPE("FOREIGNPATH");
3941 : :
3942 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
3943 : 0 : appendStringInfoString(str, " :parent_relids ");
3944 : 0 : outBitmapset(str, node->path.parent->relids);
3945 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
3946 : 0 : WRITE_NODE_FIELD(path.pathtarget);
3947 : 0 : appendStringInfoString(str, " :required_outer ");
3948 [ # # ]: 0 : if (node->path.param_info)
3949 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
3950 : : else
3951 : 0 : outBitmapset(str, NULL);
3952 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
3953 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
3954 : 0 : WRITE_INT_FIELD(path.parallel_workers);
3955 : 0 : WRITE_FLOAT_FIELD(path.rows);
3956 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
3957 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
3958 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
3959 : 0 : WRITE_NODE_FIELD(path.pathkeys);
3960 : 0 : WRITE_NODE_FIELD(fdw_outerpath);
3961 : 0 : WRITE_NODE_FIELD(fdw_restrictinfo);
3962 : 0 : WRITE_NODE_FIELD(fdw_private);
3963 : 0 : }
3964 : :
3965 : : static void
3966 : 0 : _outCustomPath(StringInfo str, const CustomPath *node)
3967 : : {
3968 : 0 : WRITE_NODE_TYPE("CUSTOMPATH");
3969 : :
3970 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
3971 : 0 : appendStringInfoString(str, " :parent_relids ");
3972 : 0 : outBitmapset(str, node->path.parent->relids);
3973 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
3974 : 0 : WRITE_NODE_FIELD(path.pathtarget);
3975 : 0 : appendStringInfoString(str, " :required_outer ");
3976 [ # # ]: 0 : if (node->path.param_info)
3977 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
3978 : : else
3979 : 0 : outBitmapset(str, NULL);
3980 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
3981 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
3982 : 0 : WRITE_INT_FIELD(path.parallel_workers);
3983 : 0 : WRITE_FLOAT_FIELD(path.rows);
3984 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
3985 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
3986 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
3987 : 0 : WRITE_NODE_FIELD(path.pathkeys);
3988 : 0 : WRITE_UINT_FIELD(flags);
3989 : 0 : WRITE_NODE_FIELD(custom_paths);
3990 : 0 : WRITE_NODE_FIELD(custom_restrictinfo);
3991 : 0 : WRITE_NODE_FIELD(custom_private);
3992 : :
3993 : : /* CustomName is a key to lookup CustomScanMethods */
3994 : 0 : appendStringInfoString(str, " :methods ");
3995 : 0 : outToken(str, node->methods->CustomName);
3996 : 0 : }
3997 : :
3998 : : static void
3999 : 0 : _outAppendPath(StringInfo str, const AppendPath *node)
4000 : : {
4001 : 0 : WRITE_NODE_TYPE("APPENDPATH");
4002 : :
4003 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4004 : 0 : appendStringInfoString(str, " :parent_relids ");
4005 : 0 : outBitmapset(str, node->path.parent->relids);
4006 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4007 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4008 : 0 : appendStringInfoString(str, " :required_outer ");
4009 [ # # ]: 0 : if (node->path.param_info)
4010 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4011 : : else
4012 : 0 : outBitmapset(str, NULL);
4013 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4014 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4015 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4016 : 0 : WRITE_FLOAT_FIELD(path.rows);
4017 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4018 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4019 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4020 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4021 : 0 : WRITE_NODE_FIELD(subpaths);
4022 : 0 : WRITE_INT_FIELD(first_partial_path);
4023 : 0 : WRITE_FLOAT_FIELD(limit_tuples);
4024 : 0 : WRITE_NODE_FIELD(child_append_relid_sets);
4025 : 0 : }
4026 : :
4027 : : static void
4028 : 0 : _outMergeAppendPath(StringInfo str, const MergeAppendPath *node)
4029 : : {
4030 : 0 : WRITE_NODE_TYPE("MERGEAPPENDPATH");
4031 : :
4032 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4033 : 0 : appendStringInfoString(str, " :parent_relids ");
4034 : 0 : outBitmapset(str, node->path.parent->relids);
4035 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4036 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4037 : 0 : appendStringInfoString(str, " :required_outer ");
4038 [ # # ]: 0 : if (node->path.param_info)
4039 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4040 : : else
4041 : 0 : outBitmapset(str, NULL);
4042 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4043 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4044 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4045 : 0 : WRITE_FLOAT_FIELD(path.rows);
4046 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4047 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4048 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4049 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4050 : 0 : WRITE_NODE_FIELD(subpaths);
4051 : 0 : WRITE_FLOAT_FIELD(limit_tuples);
4052 : 0 : WRITE_NODE_FIELD(child_append_relid_sets);
4053 : 0 : }
4054 : :
4055 : : static void
4056 : 0 : _outGroupResultPath(StringInfo str, const GroupResultPath *node)
4057 : : {
4058 : 0 : WRITE_NODE_TYPE("GROUPRESULTPATH");
4059 : :
4060 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4061 : 0 : appendStringInfoString(str, " :parent_relids ");
4062 : 0 : outBitmapset(str, node->path.parent->relids);
4063 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4064 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4065 : 0 : appendStringInfoString(str, " :required_outer ");
4066 [ # # ]: 0 : if (node->path.param_info)
4067 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4068 : : else
4069 : 0 : outBitmapset(str, NULL);
4070 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4071 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4072 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4073 : 0 : WRITE_FLOAT_FIELD(path.rows);
4074 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4075 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4076 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4077 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4078 : 0 : WRITE_NODE_FIELD(quals);
4079 : 0 : }
4080 : :
4081 : : static void
4082 : 0 : _outMaterialPath(StringInfo str, const MaterialPath *node)
4083 : : {
4084 : 0 : WRITE_NODE_TYPE("MATERIALPATH");
4085 : :
4086 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4087 : 0 : appendStringInfoString(str, " :parent_relids ");
4088 : 0 : outBitmapset(str, node->path.parent->relids);
4089 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4090 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4091 : 0 : appendStringInfoString(str, " :required_outer ");
4092 [ # # ]: 0 : if (node->path.param_info)
4093 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4094 : : else
4095 : 0 : outBitmapset(str, NULL);
4096 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4097 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4098 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4099 : 0 : WRITE_FLOAT_FIELD(path.rows);
4100 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4101 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4102 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4103 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4104 : 0 : WRITE_NODE_FIELD(subpath);
4105 : 0 : }
4106 : :
4107 : : static void
4108 : 0 : _outMemoizePath(StringInfo str, const MemoizePath *node)
4109 : : {
4110 : 0 : WRITE_NODE_TYPE("MEMOIZEPATH");
4111 : :
4112 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4113 : 0 : appendStringInfoString(str, " :parent_relids ");
4114 : 0 : outBitmapset(str, node->path.parent->relids);
4115 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4116 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4117 : 0 : appendStringInfoString(str, " :required_outer ");
4118 [ # # ]: 0 : if (node->path.param_info)
4119 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4120 : : else
4121 : 0 : outBitmapset(str, NULL);
4122 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4123 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4124 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4125 : 0 : WRITE_FLOAT_FIELD(path.rows);
4126 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4127 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4128 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4129 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4130 : 0 : WRITE_NODE_FIELD(subpath);
4131 : 0 : WRITE_NODE_FIELD(hash_operators);
4132 : 0 : WRITE_NODE_FIELD(param_exprs);
4133 [ # # ]: 0 : WRITE_BOOL_FIELD(singlerow);
4134 [ # # ]: 0 : WRITE_BOOL_FIELD(binary_mode);
4135 : 0 : WRITE_UINT_FIELD(est_entries);
4136 : 0 : WRITE_FLOAT_FIELD(est_calls);
4137 : 0 : WRITE_FLOAT_FIELD(est_unique_keys);
4138 : 0 : WRITE_FLOAT_FIELD(est_hit_ratio);
4139 : 0 : }
4140 : :
4141 : : static void
4142 : 0 : _outGatherPath(StringInfo str, const GatherPath *node)
4143 : : {
4144 : 0 : WRITE_NODE_TYPE("GATHERPATH");
4145 : :
4146 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4147 : 0 : appendStringInfoString(str, " :parent_relids ");
4148 : 0 : outBitmapset(str, node->path.parent->relids);
4149 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4150 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4151 : 0 : appendStringInfoString(str, " :required_outer ");
4152 [ # # ]: 0 : if (node->path.param_info)
4153 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4154 : : else
4155 : 0 : outBitmapset(str, NULL);
4156 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4157 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4158 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4159 : 0 : WRITE_FLOAT_FIELD(path.rows);
4160 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4161 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4162 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4163 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4164 : 0 : WRITE_NODE_FIELD(subpath);
4165 [ # # ]: 0 : WRITE_BOOL_FIELD(single_copy);
4166 : 0 : WRITE_INT_FIELD(num_workers);
4167 : 0 : }
4168 : :
4169 : : static void
4170 : 0 : _outGatherMergePath(StringInfo str, const GatherMergePath *node)
4171 : : {
4172 : 0 : WRITE_NODE_TYPE("GATHERMERGEPATH");
4173 : :
4174 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4175 : 0 : appendStringInfoString(str, " :parent_relids ");
4176 : 0 : outBitmapset(str, node->path.parent->relids);
4177 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4178 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4179 : 0 : appendStringInfoString(str, " :required_outer ");
4180 [ # # ]: 0 : if (node->path.param_info)
4181 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4182 : : else
4183 : 0 : outBitmapset(str, NULL);
4184 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4185 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4186 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4187 : 0 : WRITE_FLOAT_FIELD(path.rows);
4188 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4189 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4190 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4191 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4192 : 0 : WRITE_NODE_FIELD(subpath);
4193 : 0 : WRITE_INT_FIELD(num_workers);
4194 : 0 : }
4195 : :
4196 : : static void
4197 : 0 : _outNestPath(StringInfo str, const NestPath *node)
4198 : : {
4199 : 0 : WRITE_NODE_TYPE("NESTPATH");
4200 : :
4201 : 0 : WRITE_ENUM_FIELD(jpath.path.pathtype, NodeTag);
4202 : 0 : appendStringInfoString(str, " :parent_relids ");
4203 : 0 : outBitmapset(str, node->jpath.path.parent->relids);
4204 [ # # ]: 0 : if (node->jpath.path.pathtarget != node->jpath.path.parent->reltarget)
4205 : 0 : WRITE_NODE_FIELD(jpath.path.pathtarget);
4206 : 0 : appendStringInfoString(str, " :required_outer ");
4207 [ # # ]: 0 : if (node->jpath.path.param_info)
4208 : 0 : outBitmapset(str, node->jpath.path.param_info->ppi_req_outer);
4209 : : else
4210 : 0 : outBitmapset(str, NULL);
4211 [ # # ]: 0 : WRITE_BOOL_FIELD(jpath.path.parallel_aware);
4212 [ # # ]: 0 : WRITE_BOOL_FIELD(jpath.path.parallel_safe);
4213 : 0 : WRITE_INT_FIELD(jpath.path.parallel_workers);
4214 : 0 : WRITE_FLOAT_FIELD(jpath.path.rows);
4215 : 0 : WRITE_INT_FIELD(jpath.path.disabled_nodes);
4216 : 0 : WRITE_FLOAT_FIELD(jpath.path.startup_cost);
4217 : 0 : WRITE_FLOAT_FIELD(jpath.path.total_cost);
4218 : 0 : WRITE_NODE_FIELD(jpath.path.pathkeys);
4219 : 0 : WRITE_ENUM_FIELD(jpath.jointype, JoinType);
4220 [ # # ]: 0 : WRITE_BOOL_FIELD(jpath.inner_unique);
4221 : 0 : WRITE_NODE_FIELD(jpath.outerjoinpath);
4222 : 0 : WRITE_NODE_FIELD(jpath.innerjoinpath);
4223 : 0 : WRITE_NODE_FIELD(jpath.joinrestrictinfo);
4224 : 0 : }
4225 : :
4226 : : static void
4227 : 0 : _outMergePath(StringInfo str, const MergePath *node)
4228 : : {
4229 : 0 : WRITE_NODE_TYPE("MERGEPATH");
4230 : :
4231 : 0 : WRITE_ENUM_FIELD(jpath.path.pathtype, NodeTag);
4232 : 0 : appendStringInfoString(str, " :parent_relids ");
4233 : 0 : outBitmapset(str, node->jpath.path.parent->relids);
4234 [ # # ]: 0 : if (node->jpath.path.pathtarget != node->jpath.path.parent->reltarget)
4235 : 0 : WRITE_NODE_FIELD(jpath.path.pathtarget);
4236 : 0 : appendStringInfoString(str, " :required_outer ");
4237 [ # # ]: 0 : if (node->jpath.path.param_info)
4238 : 0 : outBitmapset(str, node->jpath.path.param_info->ppi_req_outer);
4239 : : else
4240 : 0 : outBitmapset(str, NULL);
4241 [ # # ]: 0 : WRITE_BOOL_FIELD(jpath.path.parallel_aware);
4242 [ # # ]: 0 : WRITE_BOOL_FIELD(jpath.path.parallel_safe);
4243 : 0 : WRITE_INT_FIELD(jpath.path.parallel_workers);
4244 : 0 : WRITE_FLOAT_FIELD(jpath.path.rows);
4245 : 0 : WRITE_INT_FIELD(jpath.path.disabled_nodes);
4246 : 0 : WRITE_FLOAT_FIELD(jpath.path.startup_cost);
4247 : 0 : WRITE_FLOAT_FIELD(jpath.path.total_cost);
4248 : 0 : WRITE_NODE_FIELD(jpath.path.pathkeys);
4249 : 0 : WRITE_ENUM_FIELD(jpath.jointype, JoinType);
4250 [ # # ]: 0 : WRITE_BOOL_FIELD(jpath.inner_unique);
4251 : 0 : WRITE_NODE_FIELD(jpath.outerjoinpath);
4252 : 0 : WRITE_NODE_FIELD(jpath.innerjoinpath);
4253 : 0 : WRITE_NODE_FIELD(jpath.joinrestrictinfo);
4254 : 0 : WRITE_NODE_FIELD(path_mergeclauses);
4255 : 0 : WRITE_NODE_FIELD(outersortkeys);
4256 : 0 : WRITE_NODE_FIELD(innersortkeys);
4257 : 0 : WRITE_INT_FIELD(outer_presorted_keys);
4258 [ # # ]: 0 : WRITE_BOOL_FIELD(skip_mark_restore);
4259 [ # # ]: 0 : WRITE_BOOL_FIELD(materialize_inner);
4260 : 0 : }
4261 : :
4262 : : static void
4263 : 0 : _outHashPath(StringInfo str, const HashPath *node)
4264 : : {
4265 : 0 : WRITE_NODE_TYPE("HASHPATH");
4266 : :
4267 : 0 : WRITE_ENUM_FIELD(jpath.path.pathtype, NodeTag);
4268 : 0 : appendStringInfoString(str, " :parent_relids ");
4269 : 0 : outBitmapset(str, node->jpath.path.parent->relids);
4270 [ # # ]: 0 : if (node->jpath.path.pathtarget != node->jpath.path.parent->reltarget)
4271 : 0 : WRITE_NODE_FIELD(jpath.path.pathtarget);
4272 : 0 : appendStringInfoString(str, " :required_outer ");
4273 [ # # ]: 0 : if (node->jpath.path.param_info)
4274 : 0 : outBitmapset(str, node->jpath.path.param_info->ppi_req_outer);
4275 : : else
4276 : 0 : outBitmapset(str, NULL);
4277 [ # # ]: 0 : WRITE_BOOL_FIELD(jpath.path.parallel_aware);
4278 [ # # ]: 0 : WRITE_BOOL_FIELD(jpath.path.parallel_safe);
4279 : 0 : WRITE_INT_FIELD(jpath.path.parallel_workers);
4280 : 0 : WRITE_FLOAT_FIELD(jpath.path.rows);
4281 : 0 : WRITE_INT_FIELD(jpath.path.disabled_nodes);
4282 : 0 : WRITE_FLOAT_FIELD(jpath.path.startup_cost);
4283 : 0 : WRITE_FLOAT_FIELD(jpath.path.total_cost);
4284 : 0 : WRITE_NODE_FIELD(jpath.path.pathkeys);
4285 : 0 : WRITE_ENUM_FIELD(jpath.jointype, JoinType);
4286 [ # # ]: 0 : WRITE_BOOL_FIELD(jpath.inner_unique);
4287 : 0 : WRITE_NODE_FIELD(jpath.outerjoinpath);
4288 : 0 : WRITE_NODE_FIELD(jpath.innerjoinpath);
4289 : 0 : WRITE_NODE_FIELD(jpath.joinrestrictinfo);
4290 : 0 : WRITE_NODE_FIELD(path_hashclauses);
4291 : 0 : WRITE_INT_FIELD(num_batches);
4292 : 0 : WRITE_FLOAT_FIELD(inner_rows_total);
4293 : 0 : }
4294 : :
4295 : : static void
4296 : 0 : _outProjectionPath(StringInfo str, const ProjectionPath *node)
4297 : : {
4298 : 0 : WRITE_NODE_TYPE("PROJECTIONPATH");
4299 : :
4300 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4301 : 0 : appendStringInfoString(str, " :parent_relids ");
4302 : 0 : outBitmapset(str, node->path.parent->relids);
4303 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4304 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4305 : 0 : appendStringInfoString(str, " :required_outer ");
4306 [ # # ]: 0 : if (node->path.param_info)
4307 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4308 : : else
4309 : 0 : outBitmapset(str, NULL);
4310 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4311 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4312 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4313 : 0 : WRITE_FLOAT_FIELD(path.rows);
4314 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4315 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4316 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4317 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4318 : 0 : WRITE_NODE_FIELD(subpath);
4319 [ # # ]: 0 : WRITE_BOOL_FIELD(dummypp);
4320 : 0 : }
4321 : :
4322 : : static void
4323 : 0 : _outProjectSetPath(StringInfo str, const ProjectSetPath *node)
4324 : : {
4325 : 0 : WRITE_NODE_TYPE("PROJECTSETPATH");
4326 : :
4327 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4328 : 0 : appendStringInfoString(str, " :parent_relids ");
4329 : 0 : outBitmapset(str, node->path.parent->relids);
4330 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4331 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4332 : 0 : appendStringInfoString(str, " :required_outer ");
4333 [ # # ]: 0 : if (node->path.param_info)
4334 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4335 : : else
4336 : 0 : outBitmapset(str, NULL);
4337 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4338 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4339 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4340 : 0 : WRITE_FLOAT_FIELD(path.rows);
4341 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4342 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4343 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4344 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4345 : 0 : WRITE_NODE_FIELD(subpath);
4346 : 0 : }
4347 : :
4348 : : static void
4349 : 0 : _outSortPath(StringInfo str, const SortPath *node)
4350 : : {
4351 : 0 : WRITE_NODE_TYPE("SORTPATH");
4352 : :
4353 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4354 : 0 : appendStringInfoString(str, " :parent_relids ");
4355 : 0 : outBitmapset(str, node->path.parent->relids);
4356 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4357 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4358 : 0 : appendStringInfoString(str, " :required_outer ");
4359 [ # # ]: 0 : if (node->path.param_info)
4360 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4361 : : else
4362 : 0 : outBitmapset(str, NULL);
4363 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4364 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4365 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4366 : 0 : WRITE_FLOAT_FIELD(path.rows);
4367 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4368 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4369 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4370 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4371 : 0 : WRITE_NODE_FIELD(subpath);
4372 : 0 : }
4373 : :
4374 : : static void
4375 : 0 : _outIncrementalSortPath(StringInfo str, const IncrementalSortPath *node)
4376 : : {
4377 : 0 : WRITE_NODE_TYPE("INCREMENTALSORTPATH");
4378 : :
4379 : 0 : WRITE_ENUM_FIELD(spath.path.pathtype, NodeTag);
4380 : 0 : appendStringInfoString(str, " :parent_relids ");
4381 : 0 : outBitmapset(str, node->spath.path.parent->relids);
4382 [ # # ]: 0 : if (node->spath.path.pathtarget != node->spath.path.parent->reltarget)
4383 : 0 : WRITE_NODE_FIELD(spath.path.pathtarget);
4384 : 0 : appendStringInfoString(str, " :required_outer ");
4385 [ # # ]: 0 : if (node->spath.path.param_info)
4386 : 0 : outBitmapset(str, node->spath.path.param_info->ppi_req_outer);
4387 : : else
4388 : 0 : outBitmapset(str, NULL);
4389 [ # # ]: 0 : WRITE_BOOL_FIELD(spath.path.parallel_aware);
4390 [ # # ]: 0 : WRITE_BOOL_FIELD(spath.path.parallel_safe);
4391 : 0 : WRITE_INT_FIELD(spath.path.parallel_workers);
4392 : 0 : WRITE_FLOAT_FIELD(spath.path.rows);
4393 : 0 : WRITE_INT_FIELD(spath.path.disabled_nodes);
4394 : 0 : WRITE_FLOAT_FIELD(spath.path.startup_cost);
4395 : 0 : WRITE_FLOAT_FIELD(spath.path.total_cost);
4396 : 0 : WRITE_NODE_FIELD(spath.path.pathkeys);
4397 : 0 : WRITE_NODE_FIELD(spath.subpath);
4398 : 0 : WRITE_INT_FIELD(nPresortedCols);
4399 : 0 : }
4400 : :
4401 : : static void
4402 : 0 : _outGroupPath(StringInfo str, const GroupPath *node)
4403 : : {
4404 : 0 : WRITE_NODE_TYPE("GROUPPATH");
4405 : :
4406 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4407 : 0 : appendStringInfoString(str, " :parent_relids ");
4408 : 0 : outBitmapset(str, node->path.parent->relids);
4409 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4410 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4411 : 0 : appendStringInfoString(str, " :required_outer ");
4412 [ # # ]: 0 : if (node->path.param_info)
4413 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4414 : : else
4415 : 0 : outBitmapset(str, NULL);
4416 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4417 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4418 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4419 : 0 : WRITE_FLOAT_FIELD(path.rows);
4420 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4421 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4422 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4423 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4424 : 0 : WRITE_NODE_FIELD(subpath);
4425 : 0 : WRITE_NODE_FIELD(groupClause);
4426 : 0 : WRITE_NODE_FIELD(qual);
4427 : 0 : }
4428 : :
4429 : : static void
4430 : 0 : _outUniquePath(StringInfo str, const UniquePath *node)
4431 : : {
4432 : 0 : WRITE_NODE_TYPE("UNIQUEPATH");
4433 : :
4434 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4435 : 0 : appendStringInfoString(str, " :parent_relids ");
4436 : 0 : outBitmapset(str, node->path.parent->relids);
4437 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4438 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4439 : 0 : appendStringInfoString(str, " :required_outer ");
4440 [ # # ]: 0 : if (node->path.param_info)
4441 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4442 : : else
4443 : 0 : outBitmapset(str, NULL);
4444 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4445 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4446 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4447 : 0 : WRITE_FLOAT_FIELD(path.rows);
4448 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4449 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4450 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4451 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4452 : 0 : WRITE_NODE_FIELD(subpath);
4453 : 0 : WRITE_INT_FIELD(numkeys);
4454 : 0 : }
4455 : :
4456 : : static void
4457 : 0 : _outAggPath(StringInfo str, const AggPath *node)
4458 : : {
4459 : 0 : WRITE_NODE_TYPE("AGGPATH");
4460 : :
4461 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4462 : 0 : appendStringInfoString(str, " :parent_relids ");
4463 : 0 : outBitmapset(str, node->path.parent->relids);
4464 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4465 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4466 : 0 : appendStringInfoString(str, " :required_outer ");
4467 [ # # ]: 0 : if (node->path.param_info)
4468 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4469 : : else
4470 : 0 : outBitmapset(str, NULL);
4471 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4472 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4473 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4474 : 0 : WRITE_FLOAT_FIELD(path.rows);
4475 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4476 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4477 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4478 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4479 : 0 : WRITE_NODE_FIELD(subpath);
4480 : 0 : WRITE_ENUM_FIELD(aggstrategy, AggStrategy);
4481 : 0 : WRITE_ENUM_FIELD(aggsplit, AggSplit);
4482 : 0 : WRITE_FLOAT_FIELD(numGroups);
4483 : 0 : WRITE_UINT64_FIELD(transitionSpace);
4484 : 0 : WRITE_NODE_FIELD(groupClause);
4485 : 0 : WRITE_NODE_FIELD(qual);
4486 : 0 : }
4487 : :
4488 : : static void
4489 : 0 : _outGroupingSetData(StringInfo str, const GroupingSetData *node)
4490 : : {
4491 : 0 : WRITE_NODE_TYPE("GROUPINGSETDATA");
4492 : :
4493 : 0 : WRITE_NODE_FIELD(set);
4494 : 0 : WRITE_FLOAT_FIELD(numGroups);
4495 : 0 : }
4496 : :
4497 : : static void
4498 : 0 : _outRollupData(StringInfo str, const RollupData *node)
4499 : : {
4500 : 0 : WRITE_NODE_TYPE("ROLLUPDATA");
4501 : :
4502 : 0 : WRITE_NODE_FIELD(groupClause);
4503 : 0 : WRITE_NODE_FIELD(gsets);
4504 : 0 : WRITE_NODE_FIELD(gsets_data);
4505 : 0 : WRITE_FLOAT_FIELD(numGroups);
4506 [ # # ]: 0 : WRITE_BOOL_FIELD(hashable);
4507 [ # # ]: 0 : WRITE_BOOL_FIELD(is_hashed);
4508 : 0 : }
4509 : :
4510 : : static void
4511 : 0 : _outGroupingSetsPath(StringInfo str, const GroupingSetsPath *node)
4512 : : {
4513 : 0 : WRITE_NODE_TYPE("GROUPINGSETSPATH");
4514 : :
4515 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4516 : 0 : appendStringInfoString(str, " :parent_relids ");
4517 : 0 : outBitmapset(str, node->path.parent->relids);
4518 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4519 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4520 : 0 : appendStringInfoString(str, " :required_outer ");
4521 [ # # ]: 0 : if (node->path.param_info)
4522 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4523 : : else
4524 : 0 : outBitmapset(str, NULL);
4525 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4526 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4527 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4528 : 0 : WRITE_FLOAT_FIELD(path.rows);
4529 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4530 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4531 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4532 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4533 : 0 : WRITE_NODE_FIELD(subpath);
4534 : 0 : WRITE_ENUM_FIELD(aggstrategy, AggStrategy);
4535 : 0 : WRITE_NODE_FIELD(rollups);
4536 : 0 : WRITE_NODE_FIELD(qual);
4537 : 0 : WRITE_UINT64_FIELD(transitionSpace);
4538 : 0 : }
4539 : :
4540 : : static void
4541 : 0 : _outMinMaxAggPath(StringInfo str, const MinMaxAggPath *node)
4542 : : {
4543 : 0 : WRITE_NODE_TYPE("MINMAXAGGPATH");
4544 : :
4545 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4546 : 0 : appendStringInfoString(str, " :parent_relids ");
4547 : 0 : outBitmapset(str, node->path.parent->relids);
4548 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4549 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4550 : 0 : appendStringInfoString(str, " :required_outer ");
4551 [ # # ]: 0 : if (node->path.param_info)
4552 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4553 : : else
4554 : 0 : outBitmapset(str, NULL);
4555 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4556 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4557 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4558 : 0 : WRITE_FLOAT_FIELD(path.rows);
4559 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4560 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4561 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4562 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4563 : 0 : WRITE_NODE_FIELD(mmaggregates);
4564 : 0 : WRITE_NODE_FIELD(quals);
4565 : 0 : }
4566 : :
4567 : : static void
4568 : 0 : _outWindowAggPath(StringInfo str, const WindowAggPath *node)
4569 : : {
4570 : 0 : WRITE_NODE_TYPE("WINDOWAGGPATH");
4571 : :
4572 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4573 : 0 : appendStringInfoString(str, " :parent_relids ");
4574 : 0 : outBitmapset(str, node->path.parent->relids);
4575 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4576 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4577 : 0 : appendStringInfoString(str, " :required_outer ");
4578 [ # # ]: 0 : if (node->path.param_info)
4579 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4580 : : else
4581 : 0 : outBitmapset(str, NULL);
4582 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4583 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4584 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4585 : 0 : WRITE_FLOAT_FIELD(path.rows);
4586 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4587 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4588 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4589 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4590 : 0 : WRITE_NODE_FIELD(subpath);
4591 : 0 : WRITE_NODE_FIELD(winclause);
4592 : 0 : WRITE_NODE_FIELD(qual);
4593 : 0 : WRITE_NODE_FIELD(runCondition);
4594 [ # # ]: 0 : WRITE_BOOL_FIELD(topwindow);
4595 : 0 : }
4596 : :
4597 : : static void
4598 : 0 : _outSetOpPath(StringInfo str, const SetOpPath *node)
4599 : : {
4600 : 0 : WRITE_NODE_TYPE("SETOPPATH");
4601 : :
4602 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4603 : 0 : appendStringInfoString(str, " :parent_relids ");
4604 : 0 : outBitmapset(str, node->path.parent->relids);
4605 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4606 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4607 : 0 : appendStringInfoString(str, " :required_outer ");
4608 [ # # ]: 0 : if (node->path.param_info)
4609 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4610 : : else
4611 : 0 : outBitmapset(str, NULL);
4612 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4613 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4614 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4615 : 0 : WRITE_FLOAT_FIELD(path.rows);
4616 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4617 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4618 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4619 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4620 : 0 : WRITE_NODE_FIELD(leftpath);
4621 : 0 : WRITE_NODE_FIELD(rightpath);
4622 : 0 : WRITE_ENUM_FIELD(cmd, SetOpCmd);
4623 : 0 : WRITE_ENUM_FIELD(strategy, SetOpStrategy);
4624 : 0 : WRITE_NODE_FIELD(groupList);
4625 : 0 : WRITE_FLOAT_FIELD(numGroups);
4626 : 0 : }
4627 : :
4628 : : static void
4629 : 0 : _outRecursiveUnionPath(StringInfo str, const RecursiveUnionPath *node)
4630 : : {
4631 : 0 : WRITE_NODE_TYPE("RECURSIVEUNIONPATH");
4632 : :
4633 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4634 : 0 : appendStringInfoString(str, " :parent_relids ");
4635 : 0 : outBitmapset(str, node->path.parent->relids);
4636 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4637 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4638 : 0 : appendStringInfoString(str, " :required_outer ");
4639 [ # # ]: 0 : if (node->path.param_info)
4640 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4641 : : else
4642 : 0 : outBitmapset(str, NULL);
4643 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4644 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4645 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4646 : 0 : WRITE_FLOAT_FIELD(path.rows);
4647 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4648 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4649 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4650 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4651 : 0 : WRITE_NODE_FIELD(leftpath);
4652 : 0 : WRITE_NODE_FIELD(rightpath);
4653 : 0 : WRITE_NODE_FIELD(distinctList);
4654 : 0 : WRITE_INT_FIELD(wtParam);
4655 : 0 : WRITE_FLOAT_FIELD(numGroups);
4656 : 0 : }
4657 : :
4658 : : static void
4659 : 0 : _outLockRowsPath(StringInfo str, const LockRowsPath *node)
4660 : : {
4661 : 0 : WRITE_NODE_TYPE("LOCKROWSPATH");
4662 : :
4663 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4664 : 0 : appendStringInfoString(str, " :parent_relids ");
4665 : 0 : outBitmapset(str, node->path.parent->relids);
4666 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4667 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4668 : 0 : appendStringInfoString(str, " :required_outer ");
4669 [ # # ]: 0 : if (node->path.param_info)
4670 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4671 : : else
4672 : 0 : outBitmapset(str, NULL);
4673 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4674 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4675 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4676 : 0 : WRITE_FLOAT_FIELD(path.rows);
4677 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4678 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4679 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4680 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4681 : 0 : WRITE_NODE_FIELD(subpath);
4682 : 0 : WRITE_NODE_FIELD(rowMarks);
4683 : 0 : WRITE_INT_FIELD(epqParam);
4684 : 0 : }
4685 : :
4686 : : static void
4687 : 0 : _outModifyTablePath(StringInfo str, const ModifyTablePath *node)
4688 : : {
4689 : 0 : WRITE_NODE_TYPE("MODIFYTABLEPATH");
4690 : :
4691 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4692 : 0 : appendStringInfoString(str, " :parent_relids ");
4693 : 0 : outBitmapset(str, node->path.parent->relids);
4694 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4695 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4696 : 0 : appendStringInfoString(str, " :required_outer ");
4697 [ # # ]: 0 : if (node->path.param_info)
4698 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4699 : : else
4700 : 0 : outBitmapset(str, NULL);
4701 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4702 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4703 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4704 : 0 : WRITE_FLOAT_FIELD(path.rows);
4705 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4706 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4707 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4708 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4709 : 0 : WRITE_NODE_FIELD(subpath);
4710 : 0 : WRITE_ENUM_FIELD(operation, CmdType);
4711 [ # # ]: 0 : WRITE_BOOL_FIELD(canSetTag);
4712 : 0 : WRITE_UINT_FIELD(nominalRelation);
4713 : 0 : WRITE_UINT_FIELD(rootRelation);
4714 : 0 : WRITE_NODE_FIELD(resultRelations);
4715 : 0 : WRITE_NODE_FIELD(updateColnosLists);
4716 : 0 : WRITE_NODE_FIELD(withCheckOptionLists);
4717 : 0 : WRITE_NODE_FIELD(returningLists);
4718 : 0 : WRITE_NODE_FIELD(rowMarks);
4719 : 0 : WRITE_NODE_FIELD(onconflict);
4720 : 0 : WRITE_NODE_FIELD(forPortionOf);
4721 : 0 : WRITE_INT_FIELD(epqParam);
4722 : 0 : WRITE_NODE_FIELD(mergeActionLists);
4723 : 0 : WRITE_NODE_FIELD(mergeJoinConditions);
4724 : 0 : }
4725 : :
4726 : : static void
4727 : 0 : _outLimitPath(StringInfo str, const LimitPath *node)
4728 : : {
4729 : 0 : WRITE_NODE_TYPE("LIMITPATH");
4730 : :
4731 : 0 : WRITE_ENUM_FIELD(path.pathtype, NodeTag);
4732 : 0 : appendStringInfoString(str, " :parent_relids ");
4733 : 0 : outBitmapset(str, node->path.parent->relids);
4734 [ # # ]: 0 : if (node->path.pathtarget != node->path.parent->reltarget)
4735 : 0 : WRITE_NODE_FIELD(path.pathtarget);
4736 : 0 : appendStringInfoString(str, " :required_outer ");
4737 [ # # ]: 0 : if (node->path.param_info)
4738 : 0 : outBitmapset(str, node->path.param_info->ppi_req_outer);
4739 : : else
4740 : 0 : outBitmapset(str, NULL);
4741 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_aware);
4742 [ # # ]: 0 : WRITE_BOOL_FIELD(path.parallel_safe);
4743 : 0 : WRITE_INT_FIELD(path.parallel_workers);
4744 : 0 : WRITE_FLOAT_FIELD(path.rows);
4745 : 0 : WRITE_INT_FIELD(path.disabled_nodes);
4746 : 0 : WRITE_FLOAT_FIELD(path.startup_cost);
4747 : 0 : WRITE_FLOAT_FIELD(path.total_cost);
4748 : 0 : WRITE_NODE_FIELD(path.pathkeys);
4749 : 0 : WRITE_NODE_FIELD(subpath);
4750 : 0 : WRITE_NODE_FIELD(limitOffset);
4751 : 0 : WRITE_NODE_FIELD(limitCount);
4752 : 0 : WRITE_ENUM_FIELD(limitOption, LimitOption);
4753 : 0 : }
4754 : :
4755 : : static void
4756 : 0 : _outRestrictInfo(StringInfo str, const RestrictInfo *node)
4757 : : {
4758 : 0 : WRITE_NODE_TYPE("RESTRICTINFO");
4759 : :
4760 : 0 : WRITE_NODE_FIELD(clause);
4761 [ # # ]: 0 : WRITE_BOOL_FIELD(is_pushed_down);
4762 [ # # ]: 0 : WRITE_BOOL_FIELD(can_join);
4763 [ # # ]: 0 : WRITE_BOOL_FIELD(pseudoconstant);
4764 [ # # ]: 0 : WRITE_BOOL_FIELD(has_clone);
4765 [ # # ]: 0 : WRITE_BOOL_FIELD(is_clone);
4766 [ # # ]: 0 : WRITE_BOOL_FIELD(leakproof);
4767 : 0 : WRITE_ENUM_FIELD(has_volatile, VolatileFunctionStatus);
4768 : 0 : WRITE_UINT_FIELD(security_level);
4769 : 0 : WRITE_INT_FIELD(num_base_rels);
4770 : 0 : WRITE_BITMAPSET_FIELD(clause_relids);
4771 : 0 : WRITE_BITMAPSET_FIELD(required_relids);
4772 : 0 : WRITE_BITMAPSET_FIELD(incompatible_relids);
4773 : 0 : WRITE_BITMAPSET_FIELD(outer_relids);
4774 : 0 : WRITE_BITMAPSET_FIELD(left_relids);
4775 : 0 : WRITE_BITMAPSET_FIELD(right_relids);
4776 : 0 : WRITE_NODE_FIELD(orclause);
4777 : 0 : WRITE_INT_FIELD(rinfo_serial);
4778 : 0 : WRITE_FLOAT_FIELD(eval_cost.startup);
4779 : 0 : WRITE_FLOAT_FIELD(eval_cost.per_tuple);
4780 : 0 : WRITE_FLOAT_FIELD(norm_selec);
4781 : 0 : WRITE_FLOAT_FIELD(outer_selec);
4782 : 0 : WRITE_NODE_FIELD(mergeopfamilies);
4783 : 0 : WRITE_NODE_FIELD(left_em);
4784 : 0 : WRITE_NODE_FIELD(right_em);
4785 [ # # ]: 0 : WRITE_BOOL_FIELD(outer_is_left);
4786 : 0 : WRITE_OID_FIELD(hashjoinoperator);
4787 : 0 : WRITE_FLOAT_FIELD(left_bucketsize);
4788 : 0 : WRITE_FLOAT_FIELD(right_bucketsize);
4789 : 0 : WRITE_FLOAT_FIELD(left_mcvfreq);
4790 : 0 : WRITE_FLOAT_FIELD(right_mcvfreq);
4791 : 0 : WRITE_OID_FIELD(left_hasheqoperator);
4792 : 0 : WRITE_OID_FIELD(right_hasheqoperator);
4793 : 0 : }
4794 : :
4795 : : static void
4796 : 0 : _outPlaceHolderVar(StringInfo str, const PlaceHolderVar *node)
4797 : : {
4798 : 0 : WRITE_NODE_TYPE("PLACEHOLDERVAR");
4799 : :
4800 : 0 : WRITE_NODE_FIELD(phexpr);
4801 : 0 : WRITE_BITMAPSET_FIELD(phrels);
4802 : 0 : WRITE_BITMAPSET_FIELD(phnullingrels);
4803 : 0 : WRITE_UINT_FIELD(phid);
4804 : 0 : WRITE_UINT_FIELD(phlevelsup);
4805 : 0 : }
4806 : :
4807 : : static void
4808 : 0 : _outSpecialJoinInfo(StringInfo str, const SpecialJoinInfo *node)
4809 : : {
4810 : 0 : WRITE_NODE_TYPE("SPECIALJOININFO");
4811 : :
4812 : 0 : WRITE_BITMAPSET_FIELD(min_lefthand);
4813 : 0 : WRITE_BITMAPSET_FIELD(min_righthand);
4814 : 0 : WRITE_BITMAPSET_FIELD(syn_lefthand);
4815 : 0 : WRITE_BITMAPSET_FIELD(syn_righthand);
4816 : 0 : WRITE_ENUM_FIELD(jointype, JoinType);
4817 : 0 : WRITE_UINT_FIELD(ojrelid);
4818 : 0 : WRITE_BITMAPSET_FIELD(commute_above_l);
4819 : 0 : WRITE_BITMAPSET_FIELD(commute_above_r);
4820 : 0 : WRITE_BITMAPSET_FIELD(commute_below_l);
4821 : 0 : WRITE_BITMAPSET_FIELD(commute_below_r);
4822 [ # # ]: 0 : WRITE_BOOL_FIELD(lhs_strict);
4823 [ # # ]: 0 : WRITE_BOOL_FIELD(semi_can_btree);
4824 [ # # ]: 0 : WRITE_BOOL_FIELD(semi_can_hash);
4825 : 0 : WRITE_NODE_FIELD(semi_operators);
4826 : 0 : WRITE_NODE_FIELD(semi_rhs_exprs);
4827 : 0 : }
4828 : :
4829 : : static void
4830 : 0 : _outOuterJoinClauseInfo(StringInfo str, const OuterJoinClauseInfo *node)
4831 : : {
4832 : 0 : WRITE_NODE_TYPE("OUTERJOINCLAUSEINFO");
4833 : :
4834 : 0 : WRITE_NODE_FIELD(rinfo);
4835 : 0 : WRITE_NODE_FIELD(sjinfo);
4836 : 0 : }
4837 : :
4838 : : static void
4839 : 39526 : _outAppendRelInfo(StringInfo str, const AppendRelInfo *node)
4840 : : {
4841 : 39526 : WRITE_NODE_TYPE("APPENDRELINFO");
4842 : :
4843 : 39526 : WRITE_UINT_FIELD(parent_relid);
4844 : 39526 : WRITE_UINT_FIELD(child_relid);
4845 : 39526 : WRITE_OID_FIELD(parent_reltype);
4846 : 39526 : WRITE_OID_FIELD(child_reltype);
4847 : 39526 : WRITE_NODE_FIELD(translated_vars);
4848 : 39526 : WRITE_INT_FIELD(num_child_cols);
4849 : 39526 : WRITE_ATTRNUMBER_ARRAY(parent_colnos, node->num_child_cols);
4850 : 39526 : WRITE_OID_FIELD(parent_reloid);
4851 : 39526 : }
4852 : :
4853 : : static void
4854 : 0 : _outRowIdentityVarInfo(StringInfo str, const RowIdentityVarInfo *node)
4855 : : {
4856 : 0 : WRITE_NODE_TYPE("ROWIDENTITYVARINFO");
4857 : :
4858 : 0 : WRITE_NODE_FIELD(rowidvar);
4859 : 0 : WRITE_INT_FIELD(rowidwidth);
4860 : 0 : WRITE_STRING_FIELD(rowidname);
4861 : 0 : WRITE_BITMAPSET_FIELD(rowidrels);
4862 : 0 : }
4863 : :
4864 : : static void
4865 : 0 : _outPlaceHolderInfo(StringInfo str, const PlaceHolderInfo *node)
4866 : : {
4867 : 0 : WRITE_NODE_TYPE("PLACEHOLDERINFO");
4868 : :
4869 : 0 : WRITE_UINT_FIELD(phid);
4870 : 0 : WRITE_NODE_FIELD(ph_var);
4871 : 0 : WRITE_BITMAPSET_FIELD(ph_eval_at);
4872 : 0 : WRITE_BITMAPSET_FIELD(ph_lateral);
4873 : 0 : WRITE_BITMAPSET_FIELD(ph_needed);
4874 : 0 : WRITE_INT_FIELD(ph_width);
4875 : 0 : }
4876 : :
4877 : : static void
4878 : 0 : _outMinMaxAggInfo(StringInfo str, const MinMaxAggInfo *node)
4879 : : {
4880 : 0 : WRITE_NODE_TYPE("MINMAXAGGINFO");
4881 : :
4882 : 0 : WRITE_OID_FIELD(aggfnoid);
4883 : 0 : WRITE_OID_FIELD(aggsortop);
4884 : 0 : WRITE_NODE_FIELD(target);
4885 : 0 : WRITE_NODE_FIELD(path);
4886 : 0 : WRITE_FLOAT_FIELD(pathcost);
4887 : 0 : WRITE_NODE_FIELD(param);
4888 : 0 : }
4889 : :
4890 : : static void
4891 : 0 : _outAggClauseInfo(StringInfo str, const AggClauseInfo *node)
4892 : : {
4893 : 0 : WRITE_NODE_TYPE("AGGCLAUSEINFO");
4894 : :
4895 : 0 : WRITE_NODE_FIELD(aggref);
4896 : 0 : WRITE_BITMAPSET_FIELD(agg_eval_at);
4897 : 0 : }
4898 : :
4899 : : static void
4900 : 0 : _outGroupingExprInfo(StringInfo str, const GroupingExprInfo *node)
4901 : : {
4902 : 0 : WRITE_NODE_TYPE("GROUPINGEXPRINFO");
4903 : :
4904 : 0 : WRITE_NODE_FIELD(expr);
4905 : 0 : WRITE_UINT_FIELD(sortgroupref);
4906 : 0 : WRITE_NODE_FIELD(ec);
4907 : 0 : }
4908 : :
4909 : : static void
4910 : 0 : _outPlannerParamItem(StringInfo str, const PlannerParamItem *node)
4911 : : {
4912 : 0 : WRITE_NODE_TYPE("PLANNERPARAMITEM");
4913 : :
4914 : 0 : WRITE_NODE_FIELD(item);
4915 : 0 : WRITE_INT_FIELD(paramId);
4916 : 0 : }
4917 : :
4918 : : static void
4919 : 0 : _outAggInfo(StringInfo str, const AggInfo *node)
4920 : : {
4921 : 0 : WRITE_NODE_TYPE("AGGINFO");
4922 : :
4923 : 0 : WRITE_NODE_FIELD(aggrefs);
4924 : 0 : WRITE_INT_FIELD(transno);
4925 [ # # ]: 0 : WRITE_BOOL_FIELD(shareable);
4926 : 0 : WRITE_OID_FIELD(finalfn_oid);
4927 : 0 : }
4928 : :
4929 : : static void
4930 : 0 : _outAggTransInfo(StringInfo str, const AggTransInfo *node)
4931 : : {
4932 : 0 : WRITE_NODE_TYPE("AGGTRANSINFO");
4933 : :
4934 : 0 : WRITE_NODE_FIELD(args);
4935 : 0 : WRITE_NODE_FIELD(aggfilter);
4936 : 0 : WRITE_OID_FIELD(transfn_oid);
4937 : 0 : WRITE_OID_FIELD(serialfn_oid);
4938 : 0 : WRITE_OID_FIELD(deserialfn_oid);
4939 : 0 : WRITE_OID_FIELD(combinefn_oid);
4940 : 0 : WRITE_OID_FIELD(aggtranstype);
4941 : 0 : WRITE_INT_FIELD(aggtranstypmod);
4942 : 0 : WRITE_INT_FIELD(transtypeLen);
4943 [ # # ]: 0 : WRITE_BOOL_FIELD(transtypeByVal);
4944 : 0 : WRITE_INT_FIELD(aggtransspace);
4945 [ # # ]: 0 : WRITE_BOOL_FIELD(initValueIsNull);
4946 : 0 : }
4947 : :
4948 : : static void
4949 : 0 : _outUniqueRelInfo(StringInfo str, const UniqueRelInfo *node)
4950 : : {
4951 : 0 : WRITE_NODE_TYPE("UNIQUERELINFO");
4952 : :
4953 : 0 : WRITE_BITMAPSET_FIELD(outerrelids);
4954 [ # # ]: 0 : WRITE_BOOL_FIELD(self_join);
4955 : 0 : WRITE_NODE_FIELD(extra_clauses);
4956 : 0 : }
4957 : :
4958 : : static void
4959 : 287694 : _outPlannedStmt(StringInfo str, const PlannedStmt *node)
4960 : : {
4961 : 287694 : WRITE_NODE_TYPE("PLANNEDSTMT");
4962 : :
4963 : 287694 : WRITE_ENUM_FIELD(commandType, CmdType);
4964 : 287694 : WRITE_INT64_FIELD(queryId);
4965 : 287694 : WRITE_INT64_FIELD(planId);
4966 : 287694 : WRITE_ENUM_FIELD(planOrigin, PlannedStmtOrigin);
4967 [ + + ]: 287694 : WRITE_BOOL_FIELD(hasReturning);
4968 [ + + ]: 287694 : WRITE_BOOL_FIELD(hasModifyingCTE);
4969 [ + + ]: 287694 : WRITE_BOOL_FIELD(canSetTag);
4970 [ + + ]: 287694 : WRITE_BOOL_FIELD(transientPlan);
4971 [ + + ]: 287694 : WRITE_BOOL_FIELD(dependsOnRole);
4972 [ + + ]: 287694 : WRITE_BOOL_FIELD(parallelModeNeeded);
4973 : 287694 : WRITE_INT_FIELD(jitFlags);
4974 : 287694 : WRITE_NODE_FIELD(planTree);
4975 : 287694 : WRITE_NODE_FIELD(partPruneInfos);
4976 : 287694 : WRITE_NODE_FIELD(rtable);
4977 : 287694 : WRITE_BITMAPSET_FIELD(unprunableRelids);
4978 : 287694 : WRITE_NODE_FIELD(permInfos);
4979 : 287694 : WRITE_BITMAPSET_FIELD(resultRelationRelids);
4980 : 287694 : WRITE_NODE_FIELD(appendRelations);
4981 : 287694 : WRITE_NODE_FIELD(subplans);
4982 : 287694 : WRITE_NODE_FIELD(subrtinfos);
4983 : 287694 : WRITE_BITMAPSET_FIELD(rewindPlanIDs);
4984 : 287694 : WRITE_NODE_FIELD(rowMarks);
4985 : 287694 : WRITE_BITMAPSET_FIELD(rowMarkRelids);
4986 : 287694 : WRITE_NODE_FIELD(relationOids);
4987 : 287694 : WRITE_NODE_FIELD(invalItems);
4988 : 287694 : WRITE_NODE_FIELD(paramExecTypes);
4989 : 287694 : WRITE_NODE_FIELD(utilityStmt);
4990 : 287694 : WRITE_NODE_FIELD(elidedNodes);
4991 : 287694 : WRITE_NODE_FIELD(extension_state);
4992 [ + + ]: 287694 : WRITE_LOCATION_FIELD(stmt_location);
4993 [ + + ]: 287694 : WRITE_LOCATION_FIELD(stmt_len);
4994 : 287694 : }
4995 : :
4996 : : static void
4997 : 134748 : _outResult(StringInfo str, const Result *node)
4998 : : {
4999 : 134748 : WRITE_NODE_TYPE("RESULT");
5000 : :
5001 : 134748 : WRITE_INT_FIELD(plan.disabled_nodes);
5002 : 134748 : WRITE_FLOAT_FIELD(plan.startup_cost);
5003 : 134748 : WRITE_FLOAT_FIELD(plan.total_cost);
5004 : 134748 : WRITE_FLOAT_FIELD(plan.plan_rows);
5005 : 134748 : WRITE_INT_FIELD(plan.plan_width);
5006 [ - + ]: 134748 : WRITE_BOOL_FIELD(plan.parallel_aware);
5007 [ + + ]: 134748 : WRITE_BOOL_FIELD(plan.parallel_safe);
5008 [ - + ]: 134748 : WRITE_BOOL_FIELD(plan.async_capable);
5009 : 134748 : WRITE_INT_FIELD(plan.plan_node_id);
5010 : 134748 : WRITE_NODE_FIELD(plan.targetlist);
5011 : 134748 : WRITE_NODE_FIELD(plan.qual);
5012 : 134748 : WRITE_NODE_FIELD(plan.lefttree);
5013 : 134748 : WRITE_NODE_FIELD(plan.righttree);
5014 : 134748 : WRITE_NODE_FIELD(plan.initPlan);
5015 : 134748 : WRITE_BITMAPSET_FIELD(plan.extParam);
5016 : 134748 : WRITE_BITMAPSET_FIELD(plan.allParam);
5017 : 134748 : WRITE_ENUM_FIELD(result_type, ResultType);
5018 : 134748 : WRITE_NODE_FIELD(resconstantqual);
5019 : 134748 : WRITE_BITMAPSET_FIELD(relids);
5020 : 134748 : }
5021 : :
5022 : : static void
5023 : 8446 : _outProjectSet(StringInfo str, const ProjectSet *node)
5024 : : {
5025 : 8446 : WRITE_NODE_TYPE("PROJECTSET");
5026 : :
5027 : 8446 : WRITE_INT_FIELD(plan.disabled_nodes);
5028 : 8446 : WRITE_FLOAT_FIELD(plan.startup_cost);
5029 : 8446 : WRITE_FLOAT_FIELD(plan.total_cost);
5030 : 8446 : WRITE_FLOAT_FIELD(plan.plan_rows);
5031 : 8446 : WRITE_INT_FIELD(plan.plan_width);
5032 [ - + ]: 8446 : WRITE_BOOL_FIELD(plan.parallel_aware);
5033 [ + + ]: 8446 : WRITE_BOOL_FIELD(plan.parallel_safe);
5034 [ - + ]: 8446 : WRITE_BOOL_FIELD(plan.async_capable);
5035 : 8446 : WRITE_INT_FIELD(plan.plan_node_id);
5036 : 8446 : WRITE_NODE_FIELD(plan.targetlist);
5037 : 8446 : WRITE_NODE_FIELD(plan.qual);
5038 : 8446 : WRITE_NODE_FIELD(plan.lefttree);
5039 : 8446 : WRITE_NODE_FIELD(plan.righttree);
5040 : 8446 : WRITE_NODE_FIELD(plan.initPlan);
5041 : 8446 : WRITE_BITMAPSET_FIELD(plan.extParam);
5042 : 8446 : WRITE_BITMAPSET_FIELD(plan.allParam);
5043 : 8446 : }
5044 : :
5045 : : static void
5046 : 57729 : _outModifyTable(StringInfo str, const ModifyTable *node)
5047 : : {
5048 : 57729 : WRITE_NODE_TYPE("MODIFYTABLE");
5049 : :
5050 : 57729 : WRITE_INT_FIELD(plan.disabled_nodes);
5051 : 57729 : WRITE_FLOAT_FIELD(plan.startup_cost);
5052 : 57729 : WRITE_FLOAT_FIELD(plan.total_cost);
5053 : 57729 : WRITE_FLOAT_FIELD(plan.plan_rows);
5054 : 57729 : WRITE_INT_FIELD(plan.plan_width);
5055 [ - + ]: 57729 : WRITE_BOOL_FIELD(plan.parallel_aware);
5056 [ - + ]: 57729 : WRITE_BOOL_FIELD(plan.parallel_safe);
5057 [ - + ]: 57729 : WRITE_BOOL_FIELD(plan.async_capable);
5058 : 57729 : WRITE_INT_FIELD(plan.plan_node_id);
5059 : 57729 : WRITE_NODE_FIELD(plan.targetlist);
5060 : 57729 : WRITE_NODE_FIELD(plan.qual);
5061 : 57729 : WRITE_NODE_FIELD(plan.lefttree);
5062 : 57729 : WRITE_NODE_FIELD(plan.righttree);
5063 : 57729 : WRITE_NODE_FIELD(plan.initPlan);
5064 : 57729 : WRITE_BITMAPSET_FIELD(plan.extParam);
5065 : 57729 : WRITE_BITMAPSET_FIELD(plan.allParam);
5066 : 57729 : WRITE_ENUM_FIELD(operation, CmdType);
5067 [ + + ]: 57729 : WRITE_BOOL_FIELD(canSetTag);
5068 : 57729 : WRITE_UINT_FIELD(nominalRelation);
5069 : 57729 : WRITE_UINT_FIELD(rootRelation);
5070 : 57729 : WRITE_NODE_FIELD(resultRelations);
5071 : 57729 : WRITE_NODE_FIELD(updateColnosLists);
5072 : 57729 : WRITE_NODE_FIELD(withCheckOptionLists);
5073 : 57729 : WRITE_STRING_FIELD(returningOldAlias);
5074 : 57729 : WRITE_STRING_FIELD(returningNewAlias);
5075 : 57729 : WRITE_NODE_FIELD(returningLists);
5076 : 57729 : WRITE_NODE_FIELD(fdwPrivLists);
5077 : 57729 : WRITE_BITMAPSET_FIELD(fdwDirectModifyPlans);
5078 : 57729 : WRITE_NODE_FIELD(rowMarks);
5079 : 57729 : WRITE_INT_FIELD(epqParam);
5080 : 57729 : WRITE_ENUM_FIELD(onConflictAction, OnConflictAction);
5081 : 57729 : WRITE_NODE_FIELD(arbiterIndexes);
5082 : 57729 : WRITE_ENUM_FIELD(onConflictLockStrength, LockClauseStrength);
5083 : 57729 : WRITE_NODE_FIELD(onConflictSet);
5084 : 57729 : WRITE_NODE_FIELD(onConflictCols);
5085 : 57729 : WRITE_NODE_FIELD(onConflictWhere);
5086 : 57729 : WRITE_NODE_FIELD(forPortionOf);
5087 : 57729 : WRITE_UINT_FIELD(exclRelRTI);
5088 : 57729 : WRITE_NODE_FIELD(exclRelTlist);
5089 : 57729 : WRITE_NODE_FIELD(mergeActionLists);
5090 : 57729 : WRITE_NODE_FIELD(mergeJoinConditions);
5091 : 57729 : }
5092 : :
5093 : : static void
5094 : 12367 : _outAppend(StringInfo str, const Append *node)
5095 : : {
5096 : 12367 : WRITE_NODE_TYPE("APPEND");
5097 : :
5098 : 12367 : WRITE_INT_FIELD(plan.disabled_nodes);
5099 : 12367 : WRITE_FLOAT_FIELD(plan.startup_cost);
5100 : 12367 : WRITE_FLOAT_FIELD(plan.total_cost);
5101 : 12367 : WRITE_FLOAT_FIELD(plan.plan_rows);
5102 : 12367 : WRITE_INT_FIELD(plan.plan_width);
5103 [ + + ]: 12367 : WRITE_BOOL_FIELD(plan.parallel_aware);
5104 [ + + ]: 12367 : WRITE_BOOL_FIELD(plan.parallel_safe);
5105 [ - + ]: 12367 : WRITE_BOOL_FIELD(plan.async_capable);
5106 : 12367 : WRITE_INT_FIELD(plan.plan_node_id);
5107 : 12367 : WRITE_NODE_FIELD(plan.targetlist);
5108 : 12367 : WRITE_NODE_FIELD(plan.qual);
5109 : 12367 : WRITE_NODE_FIELD(plan.lefttree);
5110 : 12367 : WRITE_NODE_FIELD(plan.righttree);
5111 : 12367 : WRITE_NODE_FIELD(plan.initPlan);
5112 : 12367 : WRITE_BITMAPSET_FIELD(plan.extParam);
5113 : 12367 : WRITE_BITMAPSET_FIELD(plan.allParam);
5114 : 12367 : WRITE_BITMAPSET_FIELD(apprelids);
5115 : 12367 : WRITE_NODE_FIELD(child_append_relid_sets);
5116 : 12367 : WRITE_NODE_FIELD(appendplans);
5117 : 12367 : WRITE_INT_FIELD(nasyncplans);
5118 : 12367 : WRITE_INT_FIELD(first_partial_plan);
5119 : 12367 : WRITE_INT_FIELD(part_prune_index);
5120 : 12367 : }
5121 : :
5122 : : static void
5123 : 370 : _outMergeAppend(StringInfo str, const MergeAppend *node)
5124 : : {
5125 : 370 : WRITE_NODE_TYPE("MERGEAPPEND");
5126 : :
5127 : 370 : WRITE_INT_FIELD(plan.disabled_nodes);
5128 : 370 : WRITE_FLOAT_FIELD(plan.startup_cost);
5129 : 370 : WRITE_FLOAT_FIELD(plan.total_cost);
5130 : 370 : WRITE_FLOAT_FIELD(plan.plan_rows);
5131 : 370 : WRITE_INT_FIELD(plan.plan_width);
5132 [ - + ]: 370 : WRITE_BOOL_FIELD(plan.parallel_aware);
5133 [ + + ]: 370 : WRITE_BOOL_FIELD(plan.parallel_safe);
5134 [ - + ]: 370 : WRITE_BOOL_FIELD(plan.async_capable);
5135 : 370 : WRITE_INT_FIELD(plan.plan_node_id);
5136 : 370 : WRITE_NODE_FIELD(plan.targetlist);
5137 : 370 : WRITE_NODE_FIELD(plan.qual);
5138 : 370 : WRITE_NODE_FIELD(plan.lefttree);
5139 : 370 : WRITE_NODE_FIELD(plan.righttree);
5140 : 370 : WRITE_NODE_FIELD(plan.initPlan);
5141 : 370 : WRITE_BITMAPSET_FIELD(plan.extParam);
5142 : 370 : WRITE_BITMAPSET_FIELD(plan.allParam);
5143 : 370 : WRITE_BITMAPSET_FIELD(apprelids);
5144 : 370 : WRITE_NODE_FIELD(child_append_relid_sets);
5145 : 370 : WRITE_NODE_FIELD(mergeplans);
5146 : 370 : WRITE_INT_FIELD(numCols);
5147 : 370 : WRITE_ATTRNUMBER_ARRAY(sortColIdx, node->numCols);
5148 : 370 : WRITE_OID_ARRAY(sortOperators, node->numCols);
5149 : 370 : WRITE_OID_ARRAY(collations, node->numCols);
5150 : 370 : WRITE_BOOL_ARRAY(nullsFirst, node->numCols);
5151 : 370 : WRITE_INT_FIELD(part_prune_index);
5152 : 370 : }
5153 : :
5154 : : static void
5155 : 555 : _outRecursiveUnion(StringInfo str, const RecursiveUnion *node)
5156 : : {
5157 : 555 : WRITE_NODE_TYPE("RECURSIVEUNION");
5158 : :
5159 : 555 : WRITE_INT_FIELD(plan.disabled_nodes);
5160 : 555 : WRITE_FLOAT_FIELD(plan.startup_cost);
5161 : 555 : WRITE_FLOAT_FIELD(plan.total_cost);
5162 : 555 : WRITE_FLOAT_FIELD(plan.plan_rows);
5163 : 555 : WRITE_INT_FIELD(plan.plan_width);
5164 [ - + ]: 555 : WRITE_BOOL_FIELD(plan.parallel_aware);
5165 [ - + ]: 555 : WRITE_BOOL_FIELD(plan.parallel_safe);
5166 [ - + ]: 555 : WRITE_BOOL_FIELD(plan.async_capable);
5167 : 555 : WRITE_INT_FIELD(plan.plan_node_id);
5168 : 555 : WRITE_NODE_FIELD(plan.targetlist);
5169 : 555 : WRITE_NODE_FIELD(plan.qual);
5170 : 555 : WRITE_NODE_FIELD(plan.lefttree);
5171 : 555 : WRITE_NODE_FIELD(plan.righttree);
5172 : 555 : WRITE_NODE_FIELD(plan.initPlan);
5173 : 555 : WRITE_BITMAPSET_FIELD(plan.extParam);
5174 : 555 : WRITE_BITMAPSET_FIELD(plan.allParam);
5175 : 555 : WRITE_INT_FIELD(wtParam);
5176 : 555 : WRITE_INT_FIELD(numCols);
5177 : 555 : WRITE_ATTRNUMBER_ARRAY(dupColIdx, node->numCols);
5178 : 555 : WRITE_OID_ARRAY(dupOperators, node->numCols);
5179 : 555 : WRITE_OID_ARRAY(dupCollations, node->numCols);
5180 : 555 : WRITE_FLOAT_FIELD(numGroups);
5181 : 555 : }
5182 : :
5183 : : static void
5184 : 148 : _outBitmapAnd(StringInfo str, const BitmapAnd *node)
5185 : : {
5186 : 148 : WRITE_NODE_TYPE("BITMAPAND");
5187 : :
5188 : 148 : WRITE_INT_FIELD(plan.disabled_nodes);
5189 : 148 : WRITE_FLOAT_FIELD(plan.startup_cost);
5190 : 148 : WRITE_FLOAT_FIELD(plan.total_cost);
5191 : 148 : WRITE_FLOAT_FIELD(plan.plan_rows);
5192 : 148 : WRITE_INT_FIELD(plan.plan_width);
5193 [ - + ]: 148 : WRITE_BOOL_FIELD(plan.parallel_aware);
5194 [ + + ]: 148 : WRITE_BOOL_FIELD(plan.parallel_safe);
5195 [ - + ]: 148 : WRITE_BOOL_FIELD(plan.async_capable);
5196 : 148 : WRITE_INT_FIELD(plan.plan_node_id);
5197 : 148 : WRITE_NODE_FIELD(plan.targetlist);
5198 : 148 : WRITE_NODE_FIELD(plan.qual);
5199 : 148 : WRITE_NODE_FIELD(plan.lefttree);
5200 : 148 : WRITE_NODE_FIELD(plan.righttree);
5201 : 148 : WRITE_NODE_FIELD(plan.initPlan);
5202 : 148 : WRITE_BITMAPSET_FIELD(plan.extParam);
5203 : 148 : WRITE_BITMAPSET_FIELD(plan.allParam);
5204 : 148 : WRITE_NODE_FIELD(bitmapplans);
5205 : 148 : }
5206 : :
5207 : : static void
5208 : 256 : _outBitmapOr(StringInfo str, const BitmapOr *node)
5209 : : {
5210 : 256 : WRITE_NODE_TYPE("BITMAPOR");
5211 : :
5212 : 256 : WRITE_INT_FIELD(plan.disabled_nodes);
5213 : 256 : WRITE_FLOAT_FIELD(plan.startup_cost);
5214 : 256 : WRITE_FLOAT_FIELD(plan.total_cost);
5215 : 256 : WRITE_FLOAT_FIELD(plan.plan_rows);
5216 : 256 : WRITE_INT_FIELD(plan.plan_width);
5217 [ - + ]: 256 : WRITE_BOOL_FIELD(plan.parallel_aware);
5218 [ + + ]: 256 : WRITE_BOOL_FIELD(plan.parallel_safe);
5219 [ - + ]: 256 : WRITE_BOOL_FIELD(plan.async_capable);
5220 : 256 : WRITE_INT_FIELD(plan.plan_node_id);
5221 : 256 : WRITE_NODE_FIELD(plan.targetlist);
5222 : 256 : WRITE_NODE_FIELD(plan.qual);
5223 : 256 : WRITE_NODE_FIELD(plan.lefttree);
5224 : 256 : WRITE_NODE_FIELD(plan.righttree);
5225 : 256 : WRITE_NODE_FIELD(plan.initPlan);
5226 : 256 : WRITE_BITMAPSET_FIELD(plan.extParam);
5227 : 256 : WRITE_BITMAPSET_FIELD(plan.allParam);
5228 [ - + ]: 256 : WRITE_BOOL_FIELD(isshared);
5229 : 256 : WRITE_NODE_FIELD(bitmapplans);
5230 : 256 : }
5231 : :
5232 : : static void
5233 : 148711 : _outSeqScan(StringInfo str, const SeqScan *node)
5234 : : {
5235 : 148711 : WRITE_NODE_TYPE("SEQSCAN");
5236 : :
5237 : 148711 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5238 : 148711 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5239 : 148711 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5240 : 148711 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5241 : 148711 : WRITE_INT_FIELD(scan.plan.plan_width);
5242 [ + + ]: 148711 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5243 [ + + ]: 148711 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5244 [ - + ]: 148711 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5245 : 148711 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5246 : 148711 : WRITE_NODE_FIELD(scan.plan.targetlist);
5247 : 148711 : WRITE_NODE_FIELD(scan.plan.qual);
5248 : 148711 : WRITE_NODE_FIELD(scan.plan.lefttree);
5249 : 148711 : WRITE_NODE_FIELD(scan.plan.righttree);
5250 : 148711 : WRITE_NODE_FIELD(scan.plan.initPlan);
5251 : 148711 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5252 : 148711 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5253 : 148711 : WRITE_UINT_FIELD(scan.scanrelid);
5254 : 148711 : }
5255 : :
5256 : : static void
5257 : 200 : _outSampleScan(StringInfo str, const SampleScan *node)
5258 : : {
5259 : 200 : WRITE_NODE_TYPE("SAMPLESCAN");
5260 : :
5261 : 200 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5262 : 200 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5263 : 200 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5264 : 200 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5265 : 200 : WRITE_INT_FIELD(scan.plan.plan_width);
5266 [ - + ]: 200 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5267 [ + + ]: 200 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5268 [ - + ]: 200 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5269 : 200 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5270 : 200 : WRITE_NODE_FIELD(scan.plan.targetlist);
5271 : 200 : WRITE_NODE_FIELD(scan.plan.qual);
5272 : 200 : WRITE_NODE_FIELD(scan.plan.lefttree);
5273 : 200 : WRITE_NODE_FIELD(scan.plan.righttree);
5274 : 200 : WRITE_NODE_FIELD(scan.plan.initPlan);
5275 : 200 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5276 : 200 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5277 : 200 : WRITE_UINT_FIELD(scan.scanrelid);
5278 : 200 : WRITE_NODE_FIELD(tablesample);
5279 : 200 : }
5280 : :
5281 : : static void
5282 : 89723 : _outIndexScan(StringInfo str, const IndexScan *node)
5283 : : {
5284 : 89723 : WRITE_NODE_TYPE("INDEXSCAN");
5285 : :
5286 : 89723 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5287 : 89723 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5288 : 89723 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5289 : 89723 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5290 : 89723 : WRITE_INT_FIELD(scan.plan.plan_width);
5291 [ + + ]: 89723 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5292 [ + + ]: 89723 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5293 [ - + ]: 89723 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5294 : 89723 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5295 : 89723 : WRITE_NODE_FIELD(scan.plan.targetlist);
5296 : 89723 : WRITE_NODE_FIELD(scan.plan.qual);
5297 : 89723 : WRITE_NODE_FIELD(scan.plan.lefttree);
5298 : 89723 : WRITE_NODE_FIELD(scan.plan.righttree);
5299 : 89723 : WRITE_NODE_FIELD(scan.plan.initPlan);
5300 : 89723 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5301 : 89723 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5302 : 89723 : WRITE_UINT_FIELD(scan.scanrelid);
5303 : 89723 : WRITE_OID_FIELD(indexid);
5304 : 89723 : WRITE_NODE_FIELD(indexqual);
5305 : 89723 : WRITE_NODE_FIELD(indexqualorig);
5306 : 89723 : WRITE_NODE_FIELD(indexorderby);
5307 : 89723 : WRITE_NODE_FIELD(indexorderbyorig);
5308 : 89723 : WRITE_NODE_FIELD(indexorderbyops);
5309 : 89723 : WRITE_ENUM_FIELD(indexorderdir, ScanDirection);
5310 : 89723 : }
5311 : :
5312 : : static void
5313 : 11465 : _outIndexOnlyScan(StringInfo str, const IndexOnlyScan *node)
5314 : : {
5315 : 11465 : WRITE_NODE_TYPE("INDEXONLYSCAN");
5316 : :
5317 : 11465 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5318 : 11465 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5319 : 11465 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5320 : 11465 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5321 : 11465 : WRITE_INT_FIELD(scan.plan.plan_width);
5322 [ + + ]: 11465 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5323 [ + + ]: 11465 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5324 [ - + ]: 11465 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5325 : 11465 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5326 : 11465 : WRITE_NODE_FIELD(scan.plan.targetlist);
5327 : 11465 : WRITE_NODE_FIELD(scan.plan.qual);
5328 : 11465 : WRITE_NODE_FIELD(scan.plan.lefttree);
5329 : 11465 : WRITE_NODE_FIELD(scan.plan.righttree);
5330 : 11465 : WRITE_NODE_FIELD(scan.plan.initPlan);
5331 : 11465 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5332 : 11465 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5333 : 11465 : WRITE_UINT_FIELD(scan.scanrelid);
5334 : 11465 : WRITE_OID_FIELD(indexid);
5335 : 11465 : WRITE_NODE_FIELD(indexqual);
5336 : 11465 : WRITE_NODE_FIELD(recheckqual);
5337 : 11465 : WRITE_NODE_FIELD(indexorderby);
5338 : 11465 : WRITE_NODE_FIELD(indextlist);
5339 : 11465 : WRITE_ENUM_FIELD(indexorderdir, ScanDirection);
5340 : 11465 : }
5341 : :
5342 : : static void
5343 : 17054 : _outBitmapIndexScan(StringInfo str, const BitmapIndexScan *node)
5344 : : {
5345 : 17054 : WRITE_NODE_TYPE("BITMAPINDEXSCAN");
5346 : :
5347 : 17054 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5348 : 17054 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5349 : 17054 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5350 : 17054 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5351 : 17054 : WRITE_INT_FIELD(scan.plan.plan_width);
5352 [ - + ]: 17054 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5353 [ + + ]: 17054 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5354 [ - + ]: 17054 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5355 : 17054 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5356 : 17054 : WRITE_NODE_FIELD(scan.plan.targetlist);
5357 : 17054 : WRITE_NODE_FIELD(scan.plan.qual);
5358 : 17054 : WRITE_NODE_FIELD(scan.plan.lefttree);
5359 : 17054 : WRITE_NODE_FIELD(scan.plan.righttree);
5360 : 17054 : WRITE_NODE_FIELD(scan.plan.initPlan);
5361 : 17054 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5362 : 17054 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5363 : 17054 : WRITE_UINT_FIELD(scan.scanrelid);
5364 : 17054 : WRITE_OID_FIELD(indexid);
5365 [ + + ]: 17054 : WRITE_BOOL_FIELD(isshared);
5366 : 17054 : WRITE_NODE_FIELD(indexqual);
5367 : 17054 : WRITE_NODE_FIELD(indexqualorig);
5368 : 17054 : }
5369 : :
5370 : : static void
5371 : 16646 : _outBitmapHeapScan(StringInfo str, const BitmapHeapScan *node)
5372 : : {
5373 : 16646 : WRITE_NODE_TYPE("BITMAPHEAPSCAN");
5374 : :
5375 : 16646 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5376 : 16646 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5377 : 16646 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5378 : 16646 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5379 : 16646 : WRITE_INT_FIELD(scan.plan.plan_width);
5380 [ + + ]: 16646 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5381 [ + + ]: 16646 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5382 [ - + ]: 16646 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5383 : 16646 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5384 : 16646 : WRITE_NODE_FIELD(scan.plan.targetlist);
5385 : 16646 : WRITE_NODE_FIELD(scan.plan.qual);
5386 : 16646 : WRITE_NODE_FIELD(scan.plan.lefttree);
5387 : 16646 : WRITE_NODE_FIELD(scan.plan.righttree);
5388 : 16646 : WRITE_NODE_FIELD(scan.plan.initPlan);
5389 : 16646 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5390 : 16646 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5391 : 16646 : WRITE_UINT_FIELD(scan.scanrelid);
5392 : 16646 : WRITE_NODE_FIELD(bitmapqualorig);
5393 : 16646 : }
5394 : :
5395 : : static void
5396 : 472 : _outTidScan(StringInfo str, const TidScan *node)
5397 : : {
5398 : 472 : WRITE_NODE_TYPE("TIDSCAN");
5399 : :
5400 : 472 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5401 : 472 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5402 : 472 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5403 : 472 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5404 : 472 : WRITE_INT_FIELD(scan.plan.plan_width);
5405 [ - + ]: 472 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5406 [ + + ]: 472 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5407 [ - + ]: 472 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5408 : 472 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5409 : 472 : WRITE_NODE_FIELD(scan.plan.targetlist);
5410 : 472 : WRITE_NODE_FIELD(scan.plan.qual);
5411 : 472 : WRITE_NODE_FIELD(scan.plan.lefttree);
5412 : 472 : WRITE_NODE_FIELD(scan.plan.righttree);
5413 : 472 : WRITE_NODE_FIELD(scan.plan.initPlan);
5414 : 472 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5415 : 472 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5416 : 472 : WRITE_UINT_FIELD(scan.scanrelid);
5417 : 472 : WRITE_NODE_FIELD(tidquals);
5418 : 472 : }
5419 : :
5420 : : static void
5421 : 1348 : _outTidRangeScan(StringInfo str, const TidRangeScan *node)
5422 : : {
5423 : 1348 : WRITE_NODE_TYPE("TIDRANGESCAN");
5424 : :
5425 : 1348 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5426 : 1348 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5427 : 1348 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5428 : 1348 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5429 : 1348 : WRITE_INT_FIELD(scan.plan.plan_width);
5430 [ + + ]: 1348 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5431 [ + + ]: 1348 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5432 [ - + ]: 1348 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5433 : 1348 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5434 : 1348 : WRITE_NODE_FIELD(scan.plan.targetlist);
5435 : 1348 : WRITE_NODE_FIELD(scan.plan.qual);
5436 : 1348 : WRITE_NODE_FIELD(scan.plan.lefttree);
5437 : 1348 : WRITE_NODE_FIELD(scan.plan.righttree);
5438 : 1348 : WRITE_NODE_FIELD(scan.plan.initPlan);
5439 : 1348 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5440 : 1348 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5441 : 1348 : WRITE_UINT_FIELD(scan.scanrelid);
5442 : 1348 : WRITE_NODE_FIELD(tidrangequals);
5443 : 1348 : }
5444 : :
5445 : : static void
5446 : 13578 : _outSubqueryScan(StringInfo str, const SubqueryScan *node)
5447 : : {
5448 : 13578 : WRITE_NODE_TYPE("SUBQUERYSCAN");
5449 : :
5450 : 13578 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5451 : 13578 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5452 : 13578 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5453 : 13578 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5454 : 13578 : WRITE_INT_FIELD(scan.plan.plan_width);
5455 [ - + ]: 13578 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5456 [ + + ]: 13578 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5457 [ - + ]: 13578 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5458 : 13578 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5459 : 13578 : WRITE_NODE_FIELD(scan.plan.targetlist);
5460 : 13578 : WRITE_NODE_FIELD(scan.plan.qual);
5461 : 13578 : WRITE_NODE_FIELD(scan.plan.lefttree);
5462 : 13578 : WRITE_NODE_FIELD(scan.plan.righttree);
5463 : 13578 : WRITE_NODE_FIELD(scan.plan.initPlan);
5464 : 13578 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5465 : 13578 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5466 : 13578 : WRITE_UINT_FIELD(scan.scanrelid);
5467 : 13578 : WRITE_NODE_FIELD(subplan);
5468 : 13578 : WRITE_ENUM_FIELD(scanstatus, SubqueryScanStatus);
5469 : 13578 : }
5470 : :
5471 : : static void
5472 : 30965 : _outFunctionScan(StringInfo str, const FunctionScan *node)
5473 : : {
5474 : 30965 : WRITE_NODE_TYPE("FUNCTIONSCAN");
5475 : :
5476 : 30965 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5477 : 30965 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5478 : 30965 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5479 : 30965 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5480 : 30965 : WRITE_INT_FIELD(scan.plan.plan_width);
5481 [ - + ]: 30965 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5482 [ + + ]: 30965 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5483 [ - + ]: 30965 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5484 : 30965 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5485 : 30965 : WRITE_NODE_FIELD(scan.plan.targetlist);
5486 : 30965 : WRITE_NODE_FIELD(scan.plan.qual);
5487 : 30965 : WRITE_NODE_FIELD(scan.plan.lefttree);
5488 : 30965 : WRITE_NODE_FIELD(scan.plan.righttree);
5489 : 30965 : WRITE_NODE_FIELD(scan.plan.initPlan);
5490 : 30965 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5491 : 30965 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5492 : 30965 : WRITE_UINT_FIELD(scan.scanrelid);
5493 : 30965 : WRITE_NODE_FIELD(functions);
5494 [ + + ]: 30965 : WRITE_BOOL_FIELD(funcordinality);
5495 : 30965 : }
5496 : :
5497 : : static void
5498 : 5776 : _outValuesScan(StringInfo str, const ValuesScan *node)
5499 : : {
5500 : 5776 : WRITE_NODE_TYPE("VALUESSCAN");
5501 : :
5502 : 5776 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5503 : 5776 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5504 : 5776 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5505 : 5776 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5506 : 5776 : WRITE_INT_FIELD(scan.plan.plan_width);
5507 [ - + ]: 5776 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5508 [ + + ]: 5776 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5509 [ - + ]: 5776 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5510 : 5776 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5511 : 5776 : WRITE_NODE_FIELD(scan.plan.targetlist);
5512 : 5776 : WRITE_NODE_FIELD(scan.plan.qual);
5513 : 5776 : WRITE_NODE_FIELD(scan.plan.lefttree);
5514 : 5776 : WRITE_NODE_FIELD(scan.plan.righttree);
5515 : 5776 : WRITE_NODE_FIELD(scan.plan.initPlan);
5516 : 5776 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5517 : 5776 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5518 : 5776 : WRITE_UINT_FIELD(scan.scanrelid);
5519 : 5776 : WRITE_NODE_FIELD(values_lists);
5520 : 5776 : }
5521 : :
5522 : : static void
5523 : 420 : _outTableFuncScan(StringInfo str, const TableFuncScan *node)
5524 : : {
5525 : 420 : WRITE_NODE_TYPE("TABLEFUNCSCAN");
5526 : :
5527 : 420 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5528 : 420 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5529 : 420 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5530 : 420 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5531 : 420 : WRITE_INT_FIELD(scan.plan.plan_width);
5532 [ - + ]: 420 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5533 [ - + ]: 420 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5534 [ - + ]: 420 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5535 : 420 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5536 : 420 : WRITE_NODE_FIELD(scan.plan.targetlist);
5537 : 420 : WRITE_NODE_FIELD(scan.plan.qual);
5538 : 420 : WRITE_NODE_FIELD(scan.plan.lefttree);
5539 : 420 : WRITE_NODE_FIELD(scan.plan.righttree);
5540 : 420 : WRITE_NODE_FIELD(scan.plan.initPlan);
5541 : 420 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5542 : 420 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5543 : 420 : WRITE_UINT_FIELD(scan.scanrelid);
5544 : 420 : WRITE_NODE_FIELD(tablefunc);
5545 : 420 : }
5546 : :
5547 : : static void
5548 : 2635 : _outCteScan(StringInfo str, const CteScan *node)
5549 : : {
5550 : 2635 : WRITE_NODE_TYPE("CTESCAN");
5551 : :
5552 : 2635 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5553 : 2635 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5554 : 2635 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5555 : 2635 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5556 : 2635 : WRITE_INT_FIELD(scan.plan.plan_width);
5557 [ - + ]: 2635 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5558 [ - + ]: 2635 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5559 [ - + ]: 2635 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5560 : 2635 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5561 : 2635 : WRITE_NODE_FIELD(scan.plan.targetlist);
5562 : 2635 : WRITE_NODE_FIELD(scan.plan.qual);
5563 : 2635 : WRITE_NODE_FIELD(scan.plan.lefttree);
5564 : 2635 : WRITE_NODE_FIELD(scan.plan.righttree);
5565 : 2635 : WRITE_NODE_FIELD(scan.plan.initPlan);
5566 : 2635 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5567 : 2635 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5568 : 2635 : WRITE_UINT_FIELD(scan.scanrelid);
5569 : 2635 : WRITE_INT_FIELD(ctePlanId);
5570 : 2635 : WRITE_INT_FIELD(cteParam);
5571 : 2635 : }
5572 : :
5573 : : static void
5574 : 348 : _outNamedTuplestoreScan(StringInfo str, const NamedTuplestoreScan *node)
5575 : : {
5576 : 348 : WRITE_NODE_TYPE("NAMEDTUPLESTORESCAN");
5577 : :
5578 : 348 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5579 : 348 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5580 : 348 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5581 : 348 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5582 : 348 : WRITE_INT_FIELD(scan.plan.plan_width);
5583 [ - + ]: 348 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5584 [ - + ]: 348 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5585 [ - + ]: 348 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5586 : 348 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5587 : 348 : WRITE_NODE_FIELD(scan.plan.targetlist);
5588 : 348 : WRITE_NODE_FIELD(scan.plan.qual);
5589 : 348 : WRITE_NODE_FIELD(scan.plan.lefttree);
5590 : 348 : WRITE_NODE_FIELD(scan.plan.righttree);
5591 : 348 : WRITE_NODE_FIELD(scan.plan.initPlan);
5592 : 348 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5593 : 348 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5594 : 348 : WRITE_UINT_FIELD(scan.scanrelid);
5595 : 348 : WRITE_STRING_FIELD(enrname);
5596 : 348 : }
5597 : :
5598 : : static void
5599 : 555 : _outWorkTableScan(StringInfo str, const WorkTableScan *node)
5600 : : {
5601 : 555 : WRITE_NODE_TYPE("WORKTABLESCAN");
5602 : :
5603 : 555 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5604 : 555 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5605 : 555 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5606 : 555 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5607 : 555 : WRITE_INT_FIELD(scan.plan.plan_width);
5608 [ - + ]: 555 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5609 [ - + ]: 555 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5610 [ - + ]: 555 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5611 : 555 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5612 : 555 : WRITE_NODE_FIELD(scan.plan.targetlist);
5613 : 555 : WRITE_NODE_FIELD(scan.plan.qual);
5614 : 555 : WRITE_NODE_FIELD(scan.plan.lefttree);
5615 : 555 : WRITE_NODE_FIELD(scan.plan.righttree);
5616 : 555 : WRITE_NODE_FIELD(scan.plan.initPlan);
5617 : 555 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5618 : 555 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5619 : 555 : WRITE_UINT_FIELD(scan.scanrelid);
5620 : 555 : WRITE_INT_FIELD(wtParam);
5621 : 555 : }
5622 : :
5623 : : static void
5624 : 1056 : _outForeignScan(StringInfo str, const ForeignScan *node)
5625 : : {
5626 : 1056 : WRITE_NODE_TYPE("FOREIGNSCAN");
5627 : :
5628 : 1056 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5629 : 1056 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5630 : 1056 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5631 : 1056 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5632 : 1056 : WRITE_INT_FIELD(scan.plan.plan_width);
5633 [ - + ]: 1056 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5634 [ + + ]: 1056 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5635 [ + + ]: 1056 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5636 : 1056 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5637 : 1056 : WRITE_NODE_FIELD(scan.plan.targetlist);
5638 : 1056 : WRITE_NODE_FIELD(scan.plan.qual);
5639 : 1056 : WRITE_NODE_FIELD(scan.plan.lefttree);
5640 : 1056 : WRITE_NODE_FIELD(scan.plan.righttree);
5641 : 1056 : WRITE_NODE_FIELD(scan.plan.initPlan);
5642 : 1056 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5643 : 1056 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5644 : 1056 : WRITE_UINT_FIELD(scan.scanrelid);
5645 : 1056 : WRITE_ENUM_FIELD(operation, CmdType);
5646 : 1056 : WRITE_UINT_FIELD(resultRelation);
5647 : 1056 : WRITE_OID_FIELD(checkAsUser);
5648 : 1056 : WRITE_OID_FIELD(fs_server);
5649 : 1056 : WRITE_NODE_FIELD(fdw_exprs);
5650 : 1056 : WRITE_NODE_FIELD(fdw_private);
5651 : 1056 : WRITE_NODE_FIELD(fdw_scan_tlist);
5652 : 1056 : WRITE_NODE_FIELD(fdw_recheck_quals);
5653 : 1056 : WRITE_BITMAPSET_FIELD(fs_relids);
5654 : 1056 : WRITE_BITMAPSET_FIELD(fs_base_relids);
5655 [ + + ]: 1056 : WRITE_BOOL_FIELD(fsSystemCol);
5656 : 1056 : }
5657 : :
5658 : : static void
5659 : 0 : _outCustomScan(StringInfo str, const CustomScan *node)
5660 : : {
5661 : 0 : WRITE_NODE_TYPE("CUSTOMSCAN");
5662 : :
5663 : 0 : WRITE_INT_FIELD(scan.plan.disabled_nodes);
5664 : 0 : WRITE_FLOAT_FIELD(scan.plan.startup_cost);
5665 : 0 : WRITE_FLOAT_FIELD(scan.plan.total_cost);
5666 : 0 : WRITE_FLOAT_FIELD(scan.plan.plan_rows);
5667 : 0 : WRITE_INT_FIELD(scan.plan.plan_width);
5668 [ # # ]: 0 : WRITE_BOOL_FIELD(scan.plan.parallel_aware);
5669 [ # # ]: 0 : WRITE_BOOL_FIELD(scan.plan.parallel_safe);
5670 [ # # ]: 0 : WRITE_BOOL_FIELD(scan.plan.async_capable);
5671 : 0 : WRITE_INT_FIELD(scan.plan.plan_node_id);
5672 : 0 : WRITE_NODE_FIELD(scan.plan.targetlist);
5673 : 0 : WRITE_NODE_FIELD(scan.plan.qual);
5674 : 0 : WRITE_NODE_FIELD(scan.plan.lefttree);
5675 : 0 : WRITE_NODE_FIELD(scan.plan.righttree);
5676 : 0 : WRITE_NODE_FIELD(scan.plan.initPlan);
5677 : 0 : WRITE_BITMAPSET_FIELD(scan.plan.extParam);
5678 : 0 : WRITE_BITMAPSET_FIELD(scan.plan.allParam);
5679 : 0 : WRITE_UINT_FIELD(scan.scanrelid);
5680 : 0 : WRITE_UINT_FIELD(flags);
5681 : 0 : WRITE_NODE_FIELD(custom_plans);
5682 : 0 : WRITE_NODE_FIELD(custom_exprs);
5683 : 0 : WRITE_NODE_FIELD(custom_private);
5684 : 0 : WRITE_NODE_FIELD(custom_scan_tlist);
5685 : 0 : WRITE_BITMAPSET_FIELD(custom_relids);
5686 : :
5687 : : /* CustomName is a key to lookup CustomScanMethods */
5688 : 0 : appendStringInfoString(str, " :methods ");
5689 : 0 : outToken(str, node->methods->CustomName);
5690 : 0 : }
5691 : :
5692 : : static void
5693 : 61331 : _outNestLoop(StringInfo str, const NestLoop *node)
5694 : : {
5695 : 61331 : WRITE_NODE_TYPE("NESTLOOP");
5696 : :
5697 : 61331 : WRITE_INT_FIELD(join.plan.disabled_nodes);
5698 : 61331 : WRITE_FLOAT_FIELD(join.plan.startup_cost);
5699 : 61331 : WRITE_FLOAT_FIELD(join.plan.total_cost);
5700 : 61331 : WRITE_FLOAT_FIELD(join.plan.plan_rows);
5701 : 61331 : WRITE_INT_FIELD(join.plan.plan_width);
5702 [ - + ]: 61331 : WRITE_BOOL_FIELD(join.plan.parallel_aware);
5703 [ + + ]: 61331 : WRITE_BOOL_FIELD(join.plan.parallel_safe);
5704 [ - + ]: 61331 : WRITE_BOOL_FIELD(join.plan.async_capable);
5705 : 61331 : WRITE_INT_FIELD(join.plan.plan_node_id);
5706 : 61331 : WRITE_NODE_FIELD(join.plan.targetlist);
5707 : 61331 : WRITE_NODE_FIELD(join.plan.qual);
5708 : 61331 : WRITE_NODE_FIELD(join.plan.lefttree);
5709 : 61331 : WRITE_NODE_FIELD(join.plan.righttree);
5710 : 61331 : WRITE_NODE_FIELD(join.plan.initPlan);
5711 : 61331 : WRITE_BITMAPSET_FIELD(join.plan.extParam);
5712 : 61331 : WRITE_BITMAPSET_FIELD(join.plan.allParam);
5713 : 61331 : WRITE_ENUM_FIELD(join.jointype, JoinType);
5714 [ + + ]: 61331 : WRITE_BOOL_FIELD(join.inner_unique);
5715 : 61331 : WRITE_NODE_FIELD(join.joinqual);
5716 : 61331 : WRITE_BITMAPSET_FIELD(join.ojrelids);
5717 : 61331 : WRITE_NODE_FIELD(nestParams);
5718 : 61331 : }
5719 : :
5720 : : static void
5721 : 36499 : _outNestLoopParam(StringInfo str, const NestLoopParam *node)
5722 : : {
5723 : 36499 : WRITE_NODE_TYPE("NESTLOOPPARAM");
5724 : :
5725 : 36499 : WRITE_INT_FIELD(paramno);
5726 : 36499 : WRITE_NODE_FIELD(paramval);
5727 : 36499 : }
5728 : :
5729 : : static void
5730 : 4830 : _outMergeJoin(StringInfo str, const MergeJoin *node)
5731 : : {
5732 : 4830 : WRITE_NODE_TYPE("MERGEJOIN");
5733 : :
5734 : 4830 : WRITE_INT_FIELD(join.plan.disabled_nodes);
5735 : 4830 : WRITE_FLOAT_FIELD(join.plan.startup_cost);
5736 : 4830 : WRITE_FLOAT_FIELD(join.plan.total_cost);
5737 : 4830 : WRITE_FLOAT_FIELD(join.plan.plan_rows);
5738 : 4830 : WRITE_INT_FIELD(join.plan.plan_width);
5739 [ - + ]: 4830 : WRITE_BOOL_FIELD(join.plan.parallel_aware);
5740 [ + + ]: 4830 : WRITE_BOOL_FIELD(join.plan.parallel_safe);
5741 [ - + ]: 4830 : WRITE_BOOL_FIELD(join.plan.async_capable);
5742 : 4830 : WRITE_INT_FIELD(join.plan.plan_node_id);
5743 : 4830 : WRITE_NODE_FIELD(join.plan.targetlist);
5744 : 4830 : WRITE_NODE_FIELD(join.plan.qual);
5745 : 4830 : WRITE_NODE_FIELD(join.plan.lefttree);
5746 : 4830 : WRITE_NODE_FIELD(join.plan.righttree);
5747 : 4830 : WRITE_NODE_FIELD(join.plan.initPlan);
5748 : 4830 : WRITE_BITMAPSET_FIELD(join.plan.extParam);
5749 : 4830 : WRITE_BITMAPSET_FIELD(join.plan.allParam);
5750 : 4830 : WRITE_ENUM_FIELD(join.jointype, JoinType);
5751 [ + + ]: 4830 : WRITE_BOOL_FIELD(join.inner_unique);
5752 : 4830 : WRITE_NODE_FIELD(join.joinqual);
5753 : 4830 : WRITE_BITMAPSET_FIELD(join.ojrelids);
5754 [ + + ]: 4830 : WRITE_BOOL_FIELD(skip_mark_restore);
5755 : 4830 : WRITE_NODE_FIELD(mergeclauses);
5756 : 4830 : WRITE_OID_ARRAY(mergeFamilies, list_length(node->mergeclauses));
5757 : 4830 : WRITE_OID_ARRAY(mergeCollations, list_length(node->mergeclauses));
5758 : 4830 : WRITE_BOOL_ARRAY(mergeReversals, list_length(node->mergeclauses));
5759 : 4830 : WRITE_BOOL_ARRAY(mergeNullsFirst, list_length(node->mergeclauses));
5760 : 4830 : }
5761 : :
5762 : : static void
5763 : 28963 : _outHashJoin(StringInfo str, const HashJoin *node)
5764 : : {
5765 : 28963 : WRITE_NODE_TYPE("HASHJOIN");
5766 : :
5767 : 28963 : WRITE_INT_FIELD(join.plan.disabled_nodes);
5768 : 28963 : WRITE_FLOAT_FIELD(join.plan.startup_cost);
5769 : 28963 : WRITE_FLOAT_FIELD(join.plan.total_cost);
5770 : 28963 : WRITE_FLOAT_FIELD(join.plan.plan_rows);
5771 : 28963 : WRITE_INT_FIELD(join.plan.plan_width);
5772 [ + + ]: 28963 : WRITE_BOOL_FIELD(join.plan.parallel_aware);
5773 [ + + ]: 28963 : WRITE_BOOL_FIELD(join.plan.parallel_safe);
5774 [ - + ]: 28963 : WRITE_BOOL_FIELD(join.plan.async_capable);
5775 : 28963 : WRITE_INT_FIELD(join.plan.plan_node_id);
5776 : 28963 : WRITE_NODE_FIELD(join.plan.targetlist);
5777 : 28963 : WRITE_NODE_FIELD(join.plan.qual);
5778 : 28963 : WRITE_NODE_FIELD(join.plan.lefttree);
5779 : 28963 : WRITE_NODE_FIELD(join.plan.righttree);
5780 : 28963 : WRITE_NODE_FIELD(join.plan.initPlan);
5781 : 28963 : WRITE_BITMAPSET_FIELD(join.plan.extParam);
5782 : 28963 : WRITE_BITMAPSET_FIELD(join.plan.allParam);
5783 : 28963 : WRITE_ENUM_FIELD(join.jointype, JoinType);
5784 [ + + ]: 28963 : WRITE_BOOL_FIELD(join.inner_unique);
5785 : 28963 : WRITE_NODE_FIELD(join.joinqual);
5786 : 28963 : WRITE_BITMAPSET_FIELD(join.ojrelids);
5787 : 28963 : WRITE_NODE_FIELD(hashclauses);
5788 : 28963 : WRITE_NODE_FIELD(hashoperators);
5789 : 28963 : WRITE_NODE_FIELD(hashcollations);
5790 : 28963 : WRITE_NODE_FIELD(hashkeys);
5791 : 28963 : }
5792 : :
5793 : : static void
5794 : 2755 : _outMaterial(StringInfo str, const Material *node)
5795 : : {
5796 : 2755 : WRITE_NODE_TYPE("MATERIAL");
5797 : :
5798 : 2755 : WRITE_INT_FIELD(plan.disabled_nodes);
5799 : 2755 : WRITE_FLOAT_FIELD(plan.startup_cost);
5800 : 2755 : WRITE_FLOAT_FIELD(plan.total_cost);
5801 : 2755 : WRITE_FLOAT_FIELD(plan.plan_rows);
5802 : 2755 : WRITE_INT_FIELD(plan.plan_width);
5803 [ - + ]: 2755 : WRITE_BOOL_FIELD(plan.parallel_aware);
5804 [ + + ]: 2755 : WRITE_BOOL_FIELD(plan.parallel_safe);
5805 [ - + ]: 2755 : WRITE_BOOL_FIELD(plan.async_capable);
5806 : 2755 : WRITE_INT_FIELD(plan.plan_node_id);
5807 : 2755 : WRITE_NODE_FIELD(plan.targetlist);
5808 : 2755 : WRITE_NODE_FIELD(plan.qual);
5809 : 2755 : WRITE_NODE_FIELD(plan.lefttree);
5810 : 2755 : WRITE_NODE_FIELD(plan.righttree);
5811 : 2755 : WRITE_NODE_FIELD(plan.initPlan);
5812 : 2755 : WRITE_BITMAPSET_FIELD(plan.extParam);
5813 : 2755 : WRITE_BITMAPSET_FIELD(plan.allParam);
5814 : 2755 : }
5815 : :
5816 : : static void
5817 : 1288 : _outMemoize(StringInfo str, const Memoize *node)
5818 : : {
5819 : 1288 : WRITE_NODE_TYPE("MEMOIZE");
5820 : :
5821 : 1288 : WRITE_INT_FIELD(plan.disabled_nodes);
5822 : 1288 : WRITE_FLOAT_FIELD(plan.startup_cost);
5823 : 1288 : WRITE_FLOAT_FIELD(plan.total_cost);
5824 : 1288 : WRITE_FLOAT_FIELD(plan.plan_rows);
5825 : 1288 : WRITE_INT_FIELD(plan.plan_width);
5826 [ - + ]: 1288 : WRITE_BOOL_FIELD(plan.parallel_aware);
5827 [ + + ]: 1288 : WRITE_BOOL_FIELD(plan.parallel_safe);
5828 [ - + ]: 1288 : WRITE_BOOL_FIELD(plan.async_capable);
5829 : 1288 : WRITE_INT_FIELD(plan.plan_node_id);
5830 : 1288 : WRITE_NODE_FIELD(plan.targetlist);
5831 : 1288 : WRITE_NODE_FIELD(plan.qual);
5832 : 1288 : WRITE_NODE_FIELD(plan.lefttree);
5833 : 1288 : WRITE_NODE_FIELD(plan.righttree);
5834 : 1288 : WRITE_NODE_FIELD(plan.initPlan);
5835 : 1288 : WRITE_BITMAPSET_FIELD(plan.extParam);
5836 : 1288 : WRITE_BITMAPSET_FIELD(plan.allParam);
5837 : 1288 : WRITE_INT_FIELD(numKeys);
5838 : 1288 : WRITE_OID_ARRAY(hashOperators, node->numKeys);
5839 : 1288 : WRITE_OID_ARRAY(collations, node->numKeys);
5840 : 1288 : WRITE_NODE_FIELD(param_exprs);
5841 [ + + ]: 1288 : WRITE_BOOL_FIELD(singlerow);
5842 [ + + ]: 1288 : WRITE_BOOL_FIELD(binary_mode);
5843 : 1288 : WRITE_UINT_FIELD(est_entries);
5844 : 1288 : WRITE_BITMAPSET_FIELD(keyparamids);
5845 : 1288 : WRITE_FLOAT_FIELD(est_calls);
5846 : 1288 : WRITE_FLOAT_FIELD(est_unique_keys);
5847 : 1288 : WRITE_FLOAT_FIELD(est_hit_ratio);
5848 : 1288 : }
5849 : :
5850 : : static void
5851 : 54655 : _outSort(StringInfo str, const Sort *node)
5852 : : {
5853 : 54655 : WRITE_NODE_TYPE("SORT");
5854 : :
5855 : 54655 : WRITE_INT_FIELD(plan.disabled_nodes);
5856 : 54655 : WRITE_FLOAT_FIELD(plan.startup_cost);
5857 : 54655 : WRITE_FLOAT_FIELD(plan.total_cost);
5858 : 54655 : WRITE_FLOAT_FIELD(plan.plan_rows);
5859 : 54655 : WRITE_INT_FIELD(plan.plan_width);
5860 [ - + ]: 54655 : WRITE_BOOL_FIELD(plan.parallel_aware);
5861 [ + + ]: 54655 : WRITE_BOOL_FIELD(plan.parallel_safe);
5862 [ - + ]: 54655 : WRITE_BOOL_FIELD(plan.async_capable);
5863 : 54655 : WRITE_INT_FIELD(plan.plan_node_id);
5864 : 54655 : WRITE_NODE_FIELD(plan.targetlist);
5865 : 54655 : WRITE_NODE_FIELD(plan.qual);
5866 : 54655 : WRITE_NODE_FIELD(plan.lefttree);
5867 : 54655 : WRITE_NODE_FIELD(plan.righttree);
5868 : 54655 : WRITE_NODE_FIELD(plan.initPlan);
5869 : 54655 : WRITE_BITMAPSET_FIELD(plan.extParam);
5870 : 54655 : WRITE_BITMAPSET_FIELD(plan.allParam);
5871 : 54655 : WRITE_INT_FIELD(numCols);
5872 : 54655 : WRITE_ATTRNUMBER_ARRAY(sortColIdx, node->numCols);
5873 : 54655 : WRITE_OID_ARRAY(sortOperators, node->numCols);
5874 : 54655 : WRITE_OID_ARRAY(collations, node->numCols);
5875 : 54655 : WRITE_BOOL_ARRAY(nullsFirst, node->numCols);
5876 : 54655 : }
5877 : :
5878 : : static void
5879 : 802 : _outIncrementalSort(StringInfo str, const IncrementalSort *node)
5880 : : {
5881 : 802 : WRITE_NODE_TYPE("INCREMENTALSORT");
5882 : :
5883 : 802 : WRITE_INT_FIELD(sort.plan.disabled_nodes);
5884 : 802 : WRITE_FLOAT_FIELD(sort.plan.startup_cost);
5885 : 802 : WRITE_FLOAT_FIELD(sort.plan.total_cost);
5886 : 802 : WRITE_FLOAT_FIELD(sort.plan.plan_rows);
5887 : 802 : WRITE_INT_FIELD(sort.plan.plan_width);
5888 [ - + ]: 802 : WRITE_BOOL_FIELD(sort.plan.parallel_aware);
5889 [ + + ]: 802 : WRITE_BOOL_FIELD(sort.plan.parallel_safe);
5890 [ - + ]: 802 : WRITE_BOOL_FIELD(sort.plan.async_capable);
5891 : 802 : WRITE_INT_FIELD(sort.plan.plan_node_id);
5892 : 802 : WRITE_NODE_FIELD(sort.plan.targetlist);
5893 : 802 : WRITE_NODE_FIELD(sort.plan.qual);
5894 : 802 : WRITE_NODE_FIELD(sort.plan.lefttree);
5895 : 802 : WRITE_NODE_FIELD(sort.plan.righttree);
5896 : 802 : WRITE_NODE_FIELD(sort.plan.initPlan);
5897 : 802 : WRITE_BITMAPSET_FIELD(sort.plan.extParam);
5898 : 802 : WRITE_BITMAPSET_FIELD(sort.plan.allParam);
5899 : 802 : WRITE_INT_FIELD(sort.numCols);
5900 : 802 : WRITE_ATTRNUMBER_ARRAY(sort.sortColIdx, node->sort.numCols);
5901 : 802 : WRITE_OID_ARRAY(sort.sortOperators, node->sort.numCols);
5902 : 802 : WRITE_OID_ARRAY(sort.collations, node->sort.numCols);
5903 : 802 : WRITE_BOOL_ARRAY(sort.nullsFirst, node->sort.numCols);
5904 : 802 : WRITE_INT_FIELD(nPresortedCols);
5905 : 802 : }
5906 : :
5907 : : static void
5908 : 182 : _outGroup(StringInfo str, const Group *node)
5909 : : {
5910 : 182 : WRITE_NODE_TYPE("GROUP");
5911 : :
5912 : 182 : WRITE_INT_FIELD(plan.disabled_nodes);
5913 : 182 : WRITE_FLOAT_FIELD(plan.startup_cost);
5914 : 182 : WRITE_FLOAT_FIELD(plan.total_cost);
5915 : 182 : WRITE_FLOAT_FIELD(plan.plan_rows);
5916 : 182 : WRITE_INT_FIELD(plan.plan_width);
5917 [ - + ]: 182 : WRITE_BOOL_FIELD(plan.parallel_aware);
5918 [ + + ]: 182 : WRITE_BOOL_FIELD(plan.parallel_safe);
5919 [ - + ]: 182 : WRITE_BOOL_FIELD(plan.async_capable);
5920 : 182 : WRITE_INT_FIELD(plan.plan_node_id);
5921 : 182 : WRITE_NODE_FIELD(plan.targetlist);
5922 : 182 : WRITE_NODE_FIELD(plan.qual);
5923 : 182 : WRITE_NODE_FIELD(plan.lefttree);
5924 : 182 : WRITE_NODE_FIELD(plan.righttree);
5925 : 182 : WRITE_NODE_FIELD(plan.initPlan);
5926 : 182 : WRITE_BITMAPSET_FIELD(plan.extParam);
5927 : 182 : WRITE_BITMAPSET_FIELD(plan.allParam);
5928 : 182 : WRITE_INT_FIELD(numCols);
5929 : 182 : WRITE_ATTRNUMBER_ARRAY(grpColIdx, node->numCols);
5930 : 182 : WRITE_OID_ARRAY(grpOperators, node->numCols);
5931 : 182 : WRITE_OID_ARRAY(grpCollations, node->numCols);
5932 : 182 : }
5933 : :
5934 : : static void
5935 : 32626 : _outAgg(StringInfo str, const Agg *node)
5936 : : {
5937 : 32626 : WRITE_NODE_TYPE("AGG");
5938 : :
5939 : 32626 : WRITE_INT_FIELD(plan.disabled_nodes);
5940 : 32626 : WRITE_FLOAT_FIELD(plan.startup_cost);
5941 : 32626 : WRITE_FLOAT_FIELD(plan.total_cost);
5942 : 32626 : WRITE_FLOAT_FIELD(plan.plan_rows);
5943 : 32626 : WRITE_INT_FIELD(plan.plan_width);
5944 [ - + ]: 32626 : WRITE_BOOL_FIELD(plan.parallel_aware);
5945 [ + + ]: 32626 : WRITE_BOOL_FIELD(plan.parallel_safe);
5946 [ - + ]: 32626 : WRITE_BOOL_FIELD(plan.async_capable);
5947 : 32626 : WRITE_INT_FIELD(plan.plan_node_id);
5948 : 32626 : WRITE_NODE_FIELD(plan.targetlist);
5949 : 32626 : WRITE_NODE_FIELD(plan.qual);
5950 : 32626 : WRITE_NODE_FIELD(plan.lefttree);
5951 : 32626 : WRITE_NODE_FIELD(plan.righttree);
5952 : 32626 : WRITE_NODE_FIELD(plan.initPlan);
5953 : 32626 : WRITE_BITMAPSET_FIELD(plan.extParam);
5954 : 32626 : WRITE_BITMAPSET_FIELD(plan.allParam);
5955 : 32626 : WRITE_ENUM_FIELD(aggstrategy, AggStrategy);
5956 : 32626 : WRITE_ENUM_FIELD(aggsplit, AggSplit);
5957 : 32626 : WRITE_INT_FIELD(numCols);
5958 : 32626 : WRITE_ATTRNUMBER_ARRAY(grpColIdx, node->numCols);
5959 : 32626 : WRITE_OID_ARRAY(grpOperators, node->numCols);
5960 : 32626 : WRITE_OID_ARRAY(grpCollations, node->numCols);
5961 : 32626 : WRITE_FLOAT_FIELD(numGroups);
5962 : 32626 : WRITE_UINT64_FIELD(transitionSpace);
5963 : 32626 : WRITE_BITMAPSET_FIELD(aggParams);
5964 : 32626 : WRITE_NODE_FIELD(groupingSets);
5965 : 32626 : WRITE_NODE_FIELD(chain);
5966 : 32626 : }
5967 : :
5968 : : static void
5969 : 2010 : _outWindowAgg(StringInfo str, const WindowAgg *node)
5970 : : {
5971 : 2010 : WRITE_NODE_TYPE("WINDOWAGG");
5972 : :
5973 : 2010 : WRITE_INT_FIELD(plan.disabled_nodes);
5974 : 2010 : WRITE_FLOAT_FIELD(plan.startup_cost);
5975 : 2010 : WRITE_FLOAT_FIELD(plan.total_cost);
5976 : 2010 : WRITE_FLOAT_FIELD(plan.plan_rows);
5977 : 2010 : WRITE_INT_FIELD(plan.plan_width);
5978 [ - + ]: 2010 : WRITE_BOOL_FIELD(plan.parallel_aware);
5979 [ - + ]: 2010 : WRITE_BOOL_FIELD(plan.parallel_safe);
5980 [ - + ]: 2010 : WRITE_BOOL_FIELD(plan.async_capable);
5981 : 2010 : WRITE_INT_FIELD(plan.plan_node_id);
5982 : 2010 : WRITE_NODE_FIELD(plan.targetlist);
5983 : 2010 : WRITE_NODE_FIELD(plan.qual);
5984 : 2010 : WRITE_NODE_FIELD(plan.lefttree);
5985 : 2010 : WRITE_NODE_FIELD(plan.righttree);
5986 : 2010 : WRITE_NODE_FIELD(plan.initPlan);
5987 : 2010 : WRITE_BITMAPSET_FIELD(plan.extParam);
5988 : 2010 : WRITE_BITMAPSET_FIELD(plan.allParam);
5989 : 2010 : WRITE_STRING_FIELD(winname);
5990 : 2010 : WRITE_UINT_FIELD(winref);
5991 : 2010 : WRITE_INT_FIELD(partNumCols);
5992 : 2010 : WRITE_ATTRNUMBER_ARRAY(partColIdx, node->partNumCols);
5993 : 2010 : WRITE_OID_ARRAY(partOperators, node->partNumCols);
5994 : 2010 : WRITE_OID_ARRAY(partCollations, node->partNumCols);
5995 : 2010 : WRITE_INT_FIELD(ordNumCols);
5996 : 2010 : WRITE_ATTRNUMBER_ARRAY(ordColIdx, node->ordNumCols);
5997 : 2010 : WRITE_OID_ARRAY(ordOperators, node->ordNumCols);
5998 : 2010 : WRITE_OID_ARRAY(ordCollations, node->ordNumCols);
5999 : 2010 : WRITE_INT_FIELD(frameOptions);
6000 : 2010 : WRITE_NODE_FIELD(startOffset);
6001 : 2010 : WRITE_NODE_FIELD(endOffset);
6002 : 2010 : WRITE_NODE_FIELD(runCondition);
6003 : 2010 : WRITE_NODE_FIELD(runConditionOrig);
6004 : 2010 : WRITE_OID_FIELD(startInRangeFunc);
6005 : 2010 : WRITE_OID_FIELD(endInRangeFunc);
6006 : 2010 : WRITE_OID_FIELD(inRangeColl);
6007 [ + + ]: 2010 : WRITE_BOOL_FIELD(inRangeAsc);
6008 [ + + ]: 2010 : WRITE_BOOL_FIELD(inRangeNullsFirst);
6009 [ + + ]: 2010 : WRITE_BOOL_FIELD(topWindow);
6010 : 2010 : }
6011 : :
6012 : : static void
6013 : 3496 : _outUnique(StringInfo str, const Unique *node)
6014 : : {
6015 : 3496 : WRITE_NODE_TYPE("UNIQUE");
6016 : :
6017 : 3496 : WRITE_INT_FIELD(plan.disabled_nodes);
6018 : 3496 : WRITE_FLOAT_FIELD(plan.startup_cost);
6019 : 3496 : WRITE_FLOAT_FIELD(plan.total_cost);
6020 : 3496 : WRITE_FLOAT_FIELD(plan.plan_rows);
6021 : 3496 : WRITE_INT_FIELD(plan.plan_width);
6022 [ - + ]: 3496 : WRITE_BOOL_FIELD(plan.parallel_aware);
6023 [ + + ]: 3496 : WRITE_BOOL_FIELD(plan.parallel_safe);
6024 [ - + ]: 3496 : WRITE_BOOL_FIELD(plan.async_capable);
6025 : 3496 : WRITE_INT_FIELD(plan.plan_node_id);
6026 : 3496 : WRITE_NODE_FIELD(plan.targetlist);
6027 : 3496 : WRITE_NODE_FIELD(plan.qual);
6028 : 3496 : WRITE_NODE_FIELD(plan.lefttree);
6029 : 3496 : WRITE_NODE_FIELD(plan.righttree);
6030 : 3496 : WRITE_NODE_FIELD(plan.initPlan);
6031 : 3496 : WRITE_BITMAPSET_FIELD(plan.extParam);
6032 : 3496 : WRITE_BITMAPSET_FIELD(plan.allParam);
6033 : 3496 : WRITE_INT_FIELD(numCols);
6034 : 3496 : WRITE_ATTRNUMBER_ARRAY(uniqColIdx, node->numCols);
6035 : 3496 : WRITE_OID_ARRAY(uniqOperators, node->numCols);
6036 : 3496 : WRITE_OID_ARRAY(uniqCollations, node->numCols);
6037 : 3496 : }
6038 : :
6039 : : static void
6040 : 771 : _outGather(StringInfo str, const Gather *node)
6041 : : {
6042 : 771 : WRITE_NODE_TYPE("GATHER");
6043 : :
6044 : 771 : WRITE_INT_FIELD(plan.disabled_nodes);
6045 : 771 : WRITE_FLOAT_FIELD(plan.startup_cost);
6046 : 771 : WRITE_FLOAT_FIELD(plan.total_cost);
6047 : 771 : WRITE_FLOAT_FIELD(plan.plan_rows);
6048 : 771 : WRITE_INT_FIELD(plan.plan_width);
6049 [ - + ]: 771 : WRITE_BOOL_FIELD(plan.parallel_aware);
6050 [ - + ]: 771 : WRITE_BOOL_FIELD(plan.parallel_safe);
6051 [ - + ]: 771 : WRITE_BOOL_FIELD(plan.async_capable);
6052 : 771 : WRITE_INT_FIELD(plan.plan_node_id);
6053 : 771 : WRITE_NODE_FIELD(plan.targetlist);
6054 : 771 : WRITE_NODE_FIELD(plan.qual);
6055 : 771 : WRITE_NODE_FIELD(plan.lefttree);
6056 : 771 : WRITE_NODE_FIELD(plan.righttree);
6057 : 771 : WRITE_NODE_FIELD(plan.initPlan);
6058 : 771 : WRITE_BITMAPSET_FIELD(plan.extParam);
6059 : 771 : WRITE_BITMAPSET_FIELD(plan.allParam);
6060 : 771 : WRITE_INT_FIELD(num_workers);
6061 : 771 : WRITE_INT_FIELD(rescan_param);
6062 [ + + ]: 771 : WRITE_BOOL_FIELD(single_copy);
6063 [ - + ]: 771 : WRITE_BOOL_FIELD(invisible);
6064 : 771 : WRITE_BITMAPSET_FIELD(initParam);
6065 : 771 : }
6066 : :
6067 : : static void
6068 : 260 : _outGatherMerge(StringInfo str, const GatherMerge *node)
6069 : : {
6070 : 260 : WRITE_NODE_TYPE("GATHERMERGE");
6071 : :
6072 : 260 : WRITE_INT_FIELD(plan.disabled_nodes);
6073 : 260 : WRITE_FLOAT_FIELD(plan.startup_cost);
6074 : 260 : WRITE_FLOAT_FIELD(plan.total_cost);
6075 : 260 : WRITE_FLOAT_FIELD(plan.plan_rows);
6076 : 260 : WRITE_INT_FIELD(plan.plan_width);
6077 [ - + ]: 260 : WRITE_BOOL_FIELD(plan.parallel_aware);
6078 [ - + ]: 260 : WRITE_BOOL_FIELD(plan.parallel_safe);
6079 [ - + ]: 260 : WRITE_BOOL_FIELD(plan.async_capable);
6080 : 260 : WRITE_INT_FIELD(plan.plan_node_id);
6081 : 260 : WRITE_NODE_FIELD(plan.targetlist);
6082 : 260 : WRITE_NODE_FIELD(plan.qual);
6083 : 260 : WRITE_NODE_FIELD(plan.lefttree);
6084 : 260 : WRITE_NODE_FIELD(plan.righttree);
6085 : 260 : WRITE_NODE_FIELD(plan.initPlan);
6086 : 260 : WRITE_BITMAPSET_FIELD(plan.extParam);
6087 : 260 : WRITE_BITMAPSET_FIELD(plan.allParam);
6088 : 260 : WRITE_INT_FIELD(num_workers);
6089 : 260 : WRITE_INT_FIELD(rescan_param);
6090 : 260 : WRITE_INT_FIELD(numCols);
6091 : 260 : WRITE_ATTRNUMBER_ARRAY(sortColIdx, node->numCols);
6092 : 260 : WRITE_OID_ARRAY(sortOperators, node->numCols);
6093 : 260 : WRITE_OID_ARRAY(collations, node->numCols);
6094 : 260 : WRITE_BOOL_ARRAY(nullsFirst, node->numCols);
6095 : 260 : WRITE_BITMAPSET_FIELD(initParam);
6096 : 260 : }
6097 : :
6098 : : static void
6099 : 28963 : _outHash(StringInfo str, const Hash *node)
6100 : : {
6101 : 28963 : WRITE_NODE_TYPE("HASH");
6102 : :
6103 : 28963 : WRITE_INT_FIELD(plan.disabled_nodes);
6104 : 28963 : WRITE_FLOAT_FIELD(plan.startup_cost);
6105 : 28963 : WRITE_FLOAT_FIELD(plan.total_cost);
6106 : 28963 : WRITE_FLOAT_FIELD(plan.plan_rows);
6107 : 28963 : WRITE_INT_FIELD(plan.plan_width);
6108 [ + + ]: 28963 : WRITE_BOOL_FIELD(plan.parallel_aware);
6109 [ + + ]: 28963 : WRITE_BOOL_FIELD(plan.parallel_safe);
6110 [ - + ]: 28963 : WRITE_BOOL_FIELD(plan.async_capable);
6111 : 28963 : WRITE_INT_FIELD(plan.plan_node_id);
6112 : 28963 : WRITE_NODE_FIELD(plan.targetlist);
6113 : 28963 : WRITE_NODE_FIELD(plan.qual);
6114 : 28963 : WRITE_NODE_FIELD(plan.lefttree);
6115 : 28963 : WRITE_NODE_FIELD(plan.righttree);
6116 : 28963 : WRITE_NODE_FIELD(plan.initPlan);
6117 : 28963 : WRITE_BITMAPSET_FIELD(plan.extParam);
6118 : 28963 : WRITE_BITMAPSET_FIELD(plan.allParam);
6119 : 28963 : WRITE_NODE_FIELD(hashkeys);
6120 : 28963 : WRITE_OID_FIELD(skewTable);
6121 : 28963 : WRITE_INT_FIELD(skewColumn);
6122 [ + + ]: 28963 : WRITE_BOOL_FIELD(skewInherit);
6123 : 28963 : WRITE_FLOAT_FIELD(rows_total);
6124 : 28963 : }
6125 : :
6126 : : static void
6127 : 512 : _outSetOp(StringInfo str, const SetOp *node)
6128 : : {
6129 : 512 : WRITE_NODE_TYPE("SETOP");
6130 : :
6131 : 512 : WRITE_INT_FIELD(plan.disabled_nodes);
6132 : 512 : WRITE_FLOAT_FIELD(plan.startup_cost);
6133 : 512 : WRITE_FLOAT_FIELD(plan.total_cost);
6134 : 512 : WRITE_FLOAT_FIELD(plan.plan_rows);
6135 : 512 : WRITE_INT_FIELD(plan.plan_width);
6136 [ - + ]: 512 : WRITE_BOOL_FIELD(plan.parallel_aware);
6137 [ - + ]: 512 : WRITE_BOOL_FIELD(plan.parallel_safe);
6138 [ - + ]: 512 : WRITE_BOOL_FIELD(plan.async_capable);
6139 : 512 : WRITE_INT_FIELD(plan.plan_node_id);
6140 : 512 : WRITE_NODE_FIELD(plan.targetlist);
6141 : 512 : WRITE_NODE_FIELD(plan.qual);
6142 : 512 : WRITE_NODE_FIELD(plan.lefttree);
6143 : 512 : WRITE_NODE_FIELD(plan.righttree);
6144 : 512 : WRITE_NODE_FIELD(plan.initPlan);
6145 : 512 : WRITE_BITMAPSET_FIELD(plan.extParam);
6146 : 512 : WRITE_BITMAPSET_FIELD(plan.allParam);
6147 : 512 : WRITE_ENUM_FIELD(cmd, SetOpCmd);
6148 : 512 : WRITE_ENUM_FIELD(strategy, SetOpStrategy);
6149 : 512 : WRITE_INT_FIELD(numCols);
6150 : 512 : WRITE_ATTRNUMBER_ARRAY(cmpColIdx, node->numCols);
6151 : 512 : WRITE_OID_ARRAY(cmpOperators, node->numCols);
6152 : 512 : WRITE_OID_ARRAY(cmpCollations, node->numCols);
6153 : 512 : WRITE_BOOL_ARRAY(cmpNullsFirst, node->numCols);
6154 : 512 : WRITE_FLOAT_FIELD(numGroups);
6155 : 512 : }
6156 : :
6157 : : static void
6158 : 6058 : _outLockRows(StringInfo str, const LockRows *node)
6159 : : {
6160 : 6058 : WRITE_NODE_TYPE("LOCKROWS");
6161 : :
6162 : 6058 : WRITE_INT_FIELD(plan.disabled_nodes);
6163 : 6058 : WRITE_FLOAT_FIELD(plan.startup_cost);
6164 : 6058 : WRITE_FLOAT_FIELD(plan.total_cost);
6165 : 6058 : WRITE_FLOAT_FIELD(plan.plan_rows);
6166 : 6058 : WRITE_INT_FIELD(plan.plan_width);
6167 [ - + ]: 6058 : WRITE_BOOL_FIELD(plan.parallel_aware);
6168 [ - + ]: 6058 : WRITE_BOOL_FIELD(plan.parallel_safe);
6169 [ - + ]: 6058 : WRITE_BOOL_FIELD(plan.async_capable);
6170 : 6058 : WRITE_INT_FIELD(plan.plan_node_id);
6171 : 6058 : WRITE_NODE_FIELD(plan.targetlist);
6172 : 6058 : WRITE_NODE_FIELD(plan.qual);
6173 : 6058 : WRITE_NODE_FIELD(plan.lefttree);
6174 : 6058 : WRITE_NODE_FIELD(plan.righttree);
6175 : 6058 : WRITE_NODE_FIELD(plan.initPlan);
6176 : 6058 : WRITE_BITMAPSET_FIELD(plan.extParam);
6177 : 6058 : WRITE_BITMAPSET_FIELD(plan.allParam);
6178 : 6058 : WRITE_NODE_FIELD(rowMarks);
6179 : 6058 : WRITE_INT_FIELD(epqParam);
6180 : 6058 : }
6181 : :
6182 : : static void
6183 : 3134 : _outLimit(StringInfo str, const Limit *node)
6184 : : {
6185 : 3134 : WRITE_NODE_TYPE("LIMIT");
6186 : :
6187 : 3134 : WRITE_INT_FIELD(plan.disabled_nodes);
6188 : 3134 : WRITE_FLOAT_FIELD(plan.startup_cost);
6189 : 3134 : WRITE_FLOAT_FIELD(plan.total_cost);
6190 : 3134 : WRITE_FLOAT_FIELD(plan.plan_rows);
6191 : 3134 : WRITE_INT_FIELD(plan.plan_width);
6192 [ - + ]: 3134 : WRITE_BOOL_FIELD(plan.parallel_aware);
6193 [ + + ]: 3134 : WRITE_BOOL_FIELD(plan.parallel_safe);
6194 [ - + ]: 3134 : WRITE_BOOL_FIELD(plan.async_capable);
6195 : 3134 : WRITE_INT_FIELD(plan.plan_node_id);
6196 : 3134 : WRITE_NODE_FIELD(plan.targetlist);
6197 : 3134 : WRITE_NODE_FIELD(plan.qual);
6198 : 3134 : WRITE_NODE_FIELD(plan.lefttree);
6199 : 3134 : WRITE_NODE_FIELD(plan.righttree);
6200 : 3134 : WRITE_NODE_FIELD(plan.initPlan);
6201 : 3134 : WRITE_BITMAPSET_FIELD(plan.extParam);
6202 : 3134 : WRITE_BITMAPSET_FIELD(plan.allParam);
6203 : 3134 : WRITE_NODE_FIELD(limitOffset);
6204 : 3134 : WRITE_NODE_FIELD(limitCount);
6205 : 3134 : WRITE_ENUM_FIELD(limitOption, LimitOption);
6206 : 3134 : WRITE_INT_FIELD(uniqNumCols);
6207 : 3134 : WRITE_ATTRNUMBER_ARRAY(uniqColIdx, node->uniqNumCols);
6208 : 3134 : WRITE_OID_ARRAY(uniqOperators, node->uniqNumCols);
6209 : 3134 : WRITE_OID_ARRAY(uniqCollations, node->uniqNumCols);
6210 : 3134 : }
6211 : :
6212 : : static void
6213 : 19102 : _outPlanRowMark(StringInfo str, const PlanRowMark *node)
6214 : : {
6215 : 19102 : WRITE_NODE_TYPE("PLANROWMARK");
6216 : :
6217 : 19102 : WRITE_UINT_FIELD(rti);
6218 : 19102 : WRITE_UINT_FIELD(prti);
6219 : 19102 : WRITE_UINT_FIELD(rowmarkId);
6220 : 19102 : WRITE_ENUM_FIELD(markType, RowMarkType);
6221 : 19102 : WRITE_INT_FIELD(allMarkTypes);
6222 : 19102 : WRITE_ENUM_FIELD(strength, LockClauseStrength);
6223 : 19102 : WRITE_ENUM_FIELD(waitPolicy, LockWaitPolicy);
6224 [ + + ]: 19102 : WRITE_BOOL_FIELD(isParent);
6225 : 19102 : }
6226 : :
6227 : : static void
6228 : 427 : _outPartitionPruneInfo(StringInfo str, const PartitionPruneInfo *node)
6229 : : {
6230 : 427 : WRITE_NODE_TYPE("PARTITIONPRUNEINFO");
6231 : :
6232 : 427 : WRITE_BITMAPSET_FIELD(relids);
6233 : 427 : WRITE_NODE_FIELD(prune_infos);
6234 : 427 : WRITE_BITMAPSET_FIELD(other_subplans);
6235 : 427 : }
6236 : :
6237 : : static void
6238 : 831 : _outPartitionedRelPruneInfo(StringInfo str, const PartitionedRelPruneInfo *node)
6239 : : {
6240 : 831 : WRITE_NODE_TYPE("PARTITIONEDRELPRUNEINFO");
6241 : :
6242 : 831 : WRITE_UINT_FIELD(rtindex);
6243 : 831 : WRITE_BITMAPSET_FIELD(present_parts);
6244 : 831 : WRITE_INT_FIELD(nparts);
6245 : 831 : WRITE_INT_ARRAY(subplan_map, node->nparts);
6246 : 831 : WRITE_INT_ARRAY(subpart_map, node->nparts);
6247 : 831 : WRITE_INT_ARRAY(leafpart_rti_map, node->nparts);
6248 : 831 : WRITE_OID_ARRAY(relid_map, node->nparts);
6249 : 831 : WRITE_NODE_FIELD(initial_pruning_steps);
6250 : 831 : WRITE_NODE_FIELD(exec_pruning_steps);
6251 : 831 : WRITE_BITMAPSET_FIELD(execparamids);
6252 : 831 : }
6253 : :
6254 : : static void
6255 : 708 : _outPartitionPruneStepOp(StringInfo str, const PartitionPruneStepOp *node)
6256 : : {
6257 : 708 : WRITE_NODE_TYPE("PARTITIONPRUNESTEPOP");
6258 : :
6259 : 708 : WRITE_INT_FIELD(step.step_id);
6260 : 708 : WRITE_INT_FIELD(opstrategy);
6261 : 708 : WRITE_NODE_FIELD(exprs);
6262 : 708 : WRITE_NODE_FIELD(cmpfns);
6263 : 708 : WRITE_BITMAPSET_FIELD(nullkeys);
6264 : 708 : }
6265 : :
6266 : : static void
6267 : 125 : _outPartitionPruneStepCombine(StringInfo str, const PartitionPruneStepCombine *node)
6268 : : {
6269 : 125 : WRITE_NODE_TYPE("PARTITIONPRUNESTEPCOMBINE");
6270 : :
6271 : 125 : WRITE_INT_FIELD(step.step_id);
6272 : 125 : WRITE_ENUM_FIELD(combineOp, PartitionPruneCombineOp);
6273 : 125 : WRITE_NODE_FIELD(source_stepids);
6274 : 125 : }
6275 : :
6276 : : static void
6277 : 36626 : _outPlanInvalItem(StringInfo str, const PlanInvalItem *node)
6278 : : {
6279 : 36626 : WRITE_NODE_TYPE("PLANINVALITEM");
6280 : :
6281 : 36626 : WRITE_INT_FIELD(cacheId);
6282 : 36626 : WRITE_UINT_FIELD(hashValue);
6283 : 36626 : }
6284 : :
6285 : : static void
6286 : 53678 : _outSubPlanRTInfo(StringInfo str, const SubPlanRTInfo *node)
6287 : : {
6288 : 53678 : WRITE_NODE_TYPE("SUBPLANRTINFO");
6289 : :
6290 : 53678 : WRITE_STRING_FIELD(plan_name);
6291 : 53678 : WRITE_UINT_FIELD(rtoffset);
6292 [ + + ]: 53678 : WRITE_BOOL_FIELD(dummy);
6293 : 53678 : }
6294 : :
6295 : : static void
6296 : 16349 : _outElidedNode(StringInfo str, const ElidedNode *node)
6297 : : {
6298 : 16349 : WRITE_NODE_TYPE("ELIDEDNODE");
6299 : :
6300 : 16349 : WRITE_INT_FIELD(plan_node_id);
6301 : 16349 : WRITE_ENUM_FIELD(elided_type, NodeTag);
6302 : 16349 : WRITE_BITMAPSET_FIELD(relids);
6303 : 16349 : }
6304 : :
6305 : : static void
6306 : 0 : _outForeignKeyCacheInfo(StringInfo str, const ForeignKeyCacheInfo *node)
6307 : : {
6308 : 0 : WRITE_NODE_TYPE("FOREIGNKEYCACHEINFO");
6309 : :
6310 : 0 : WRITE_OID_FIELD(conoid);
6311 : 0 : WRITE_OID_FIELD(conrelid);
6312 : 0 : WRITE_OID_FIELD(confrelid);
6313 : 0 : WRITE_INT_FIELD(nkeys);
6314 [ # # ]: 0 : WRITE_BOOL_FIELD(conenforced);
6315 : 0 : WRITE_ATTRNUMBER_ARRAY(conkey, node->nkeys);
6316 : 0 : WRITE_ATTRNUMBER_ARRAY(confkey, node->nkeys);
6317 : 0 : WRITE_OID_ARRAY(conpfeqop, node->nkeys);
6318 : 0 : }
|