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