pg_query 2.1.0 → 4.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +104 -0
- data/README.md +59 -31
- data/Rakefile +2 -2
- data/ext/pg_query/extconf.rb +8 -2
- data/ext/pg_query/include/access/amapi.h +45 -1
- data/ext/pg_query/include/access/attmap.h +1 -1
- data/ext/pg_query/include/access/attnum.h +2 -2
- data/ext/pg_query/include/access/clog.h +4 -2
- data/ext/pg_query/include/access/commit_ts.h +6 -9
- data/ext/pg_query/include/access/detoast.h +1 -11
- data/ext/pg_query/include/access/genam.h +15 -12
- data/ext/pg_query/include/access/gin.h +2 -2
- data/ext/pg_query/include/access/htup.h +1 -1
- data/ext/pg_query/include/access/htup_details.h +75 -87
- data/ext/pg_query/include/access/itup.h +7 -1
- data/ext/pg_query/include/access/parallel.h +2 -2
- data/ext/pg_query/include/access/printtup.h +1 -1
- data/ext/pg_query/include/access/relation.h +1 -1
- data/ext/pg_query/include/access/relscan.h +17 -2
- data/ext/pg_query/include/access/rmgr.h +30 -3
- data/ext/pg_query/include/access/rmgrlist.h +23 -23
- data/ext/pg_query/include/access/sdir.h +1 -1
- data/ext/pg_query/include/access/skey.h +1 -1
- data/ext/pg_query/include/access/stratnum.h +4 -2
- data/ext/pg_query/include/access/sysattr.h +1 -1
- data/ext/pg_query/include/access/table.h +2 -1
- data/ext/pg_query/include/access/tableam.h +272 -20
- data/ext/pg_query/include/access/toast_compression.h +73 -0
- data/ext/pg_query/include/access/transam.h +123 -13
- data/ext/pg_query/include/access/tupconvert.h +1 -1
- data/ext/pg_query/include/access/tupdesc.h +1 -1
- data/ext/pg_query/include/access/tupmacs.h +3 -3
- data/ext/pg_query/include/access/twophase.h +5 -1
- data/ext/pg_query/include/access/xact.h +79 -19
- data/ext/pg_query/include/access/xlog.h +60 -155
- data/ext/pg_query/include/access/xlog_internal.h +50 -14
- data/ext/pg_query/include/access/xlogdefs.h +8 -16
- data/ext/pg_query/include/access/xlogprefetcher.h +55 -0
- data/ext/pg_query/include/access/xlogreader.h +148 -32
- data/ext/pg_query/include/access/xlogrecord.h +18 -9
- data/ext/pg_query/include/access/xlogrecovery.h +157 -0
- data/ext/pg_query/include/c.h +101 -44
- data/ext/pg_query/include/catalog/catalog.h +3 -1
- data/ext/pg_query/include/catalog/catversion.h +2 -2
- data/ext/pg_query/include/catalog/dependency.h +10 -16
- data/ext/pg_query/include/catalog/genbki.h +83 -5
- data/ext/pg_query/include/catalog/index.h +18 -3
- data/ext/pg_query/include/catalog/indexing.h +12 -324
- data/ext/pg_query/include/catalog/namespace.h +4 -2
- data/ext/pg_query/include/catalog/objectaccess.h +70 -2
- data/ext/pg_query/include/catalog/objectaddress.h +11 -6
- data/ext/pg_query/include/catalog/pg_aggregate.h +14 -10
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_am.h +4 -1
- data/ext/pg_query/include/catalog/pg_am_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_attribute.h +27 -10
- data/ext/pg_query/include/catalog/pg_attribute_d.h +21 -18
- data/ext/pg_query/include/catalog/pg_authid.h +7 -2
- data/ext/pg_query/include/catalog/pg_authid_d.h +17 -9
- data/ext/pg_query/include/catalog/pg_class.h +45 -15
- data/ext/pg_query/include/catalog/pg_class_d.h +31 -2
- data/ext/pg_query/include/catalog/pg_collation.h +33 -8
- data/ext/pg_query/include/catalog/pg_collation_d.h +20 -3
- data/ext/pg_query/include/catalog/pg_constraint.h +38 -12
- data/ext/pg_query/include/catalog/pg_constraint_d.h +10 -4
- data/ext/pg_query/include/catalog/pg_control.h +5 -5
- data/ext/pg_query/include/catalog/pg_conversion.h +7 -4
- data/ext/pg_query/include/catalog/pg_conversion_d.h +4 -1
- data/ext/pg_query/include/catalog/pg_depend.h +11 -7
- data/ext/pg_query/include/catalog/pg_depend_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_event_trigger.h +9 -3
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_index.h +17 -7
- data/ext/pg_query/include/catalog/pg_index_d.h +20 -17
- data/ext/pg_query/include/catalog/pg_language.h +10 -5
- data/ext/pg_query/include/catalog/pg_language_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_namespace.h +7 -2
- data/ext/pg_query/include/catalog/pg_namespace_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_opclass.h +8 -5
- data/ext/pg_query/include/catalog/pg_opclass_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_operator.h +21 -16
- data/ext/pg_query/include/catalog/pg_operator_d.h +37 -1
- data/ext/pg_query/include/catalog/pg_opfamily.h +6 -3
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_parameter_acl.h +60 -0
- data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +34 -0
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +20 -9
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_proc.h +20 -11
- data/ext/pg_query/include/catalog/pg_proc_d.h +10 -8
- data/ext/pg_query/include/catalog/pg_publication.h +50 -4
- data/ext/pg_query/include/catalog/pg_publication_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_replication_origin.h +6 -1
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +5 -1
- data/ext/pg_query/include/catalog/pg_statistic.h +19 -12
- data/ext/pg_query/include/catalog/pg_statistic_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +19 -5
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +7 -2
- data/ext/pg_query/include/catalog/pg_transform.h +8 -5
- data/ext/pg_query/include/catalog/pg_transform_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_trigger.h +24 -8
- data/ext/pg_query/include/catalog/pg_trigger_d.h +4 -1
- data/ext/pg_query/include/catalog/pg_ts_config.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_dict.h +8 -3
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_parser.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_template.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_type.h +56 -24
- data/ext/pg_query/include/catalog/pg_type_d.h +70 -31
- data/ext/pg_query/include/catalog/storage.h +5 -3
- data/ext/pg_query/include/commands/async.h +4 -5
- data/ext/pg_query/include/commands/dbcommands.h +2 -1
- data/ext/pg_query/include/commands/defrem.h +11 -24
- data/ext/pg_query/include/commands/event_trigger.h +2 -2
- data/ext/pg_query/include/commands/explain.h +1 -1
- data/ext/pg_query/include/commands/prepare.h +1 -1
- data/ext/pg_query/include/commands/tablespace.h +3 -1
- data/ext/pg_query/include/commands/trigger.h +27 -17
- data/ext/pg_query/include/commands/user.h +2 -2
- data/ext/pg_query/include/commands/vacuum.h +88 -41
- data/ext/pg_query/include/commands/variable.h +1 -1
- data/ext/pg_query/include/common/file_perm.h +4 -4
- data/ext/pg_query/include/common/hashfn.h +1 -1
- data/ext/pg_query/include/common/ip.h +1 -7
- data/ext/pg_query/include/common/keywords.h +2 -6
- data/ext/pg_query/include/common/kwlookup.h +1 -1
- data/ext/pg_query/include/common/pg_prng.h +60 -0
- data/ext/pg_query/include/common/relpath.h +2 -2
- data/ext/pg_query/include/common/string.h +24 -1
- data/ext/pg_query/include/common/unicode_combining_table.h +114 -2
- data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +125 -0
- data/ext/pg_query/include/datatype/timestamp.h +40 -1
- data/ext/pg_query/include/executor/execdesc.h +1 -1
- data/ext/pg_query/include/executor/executor.h +65 -22
- data/ext/pg_query/include/executor/functions.h +17 -3
- data/ext/pg_query/include/executor/instrument.h +33 -16
- data/ext/pg_query/include/executor/spi.h +41 -3
- data/ext/pg_query/include/executor/tablefunc.h +1 -1
- data/ext/pg_query/include/executor/tuptable.h +1 -1
- data/ext/pg_query/include/fmgr.h +13 -7
- data/ext/pg_query/include/funcapi.h +16 -4
- data/ext/pg_query/include/getaddrinfo.h +1 -1
- data/ext/pg_query/include/jit/jit.h +11 -11
- data/ext/pg_query/include/kwlist_d.h +517 -494
- data/ext/pg_query/include/lib/dshash.h +112 -0
- data/ext/pg_query/include/lib/ilist.h +20 -1
- data/ext/pg_query/include/lib/pairingheap.h +1 -1
- data/ext/pg_query/include/lib/simplehash.h +150 -25
- data/ext/pg_query/include/lib/sort_template.h +432 -0
- data/ext/pg_query/include/lib/stringinfo.h +1 -1
- data/ext/pg_query/include/libpq/auth.h +6 -4
- data/ext/pg_query/include/libpq/crypt.h +5 -4
- data/ext/pg_query/include/libpq/hba.h +43 -4
- data/ext/pg_query/include/libpq/libpq-be.h +23 -6
- data/ext/pg_query/include/libpq/libpq.h +31 -20
- data/ext/pg_query/include/libpq/pqcomm.h +17 -31
- data/ext/pg_query/include/libpq/pqformat.h +1 -1
- data/ext/pg_query/include/libpq/pqsignal.h +4 -4
- data/ext/pg_query/include/mb/pg_wchar.h +106 -23
- data/ext/pg_query/include/mb/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/miscadmin.h +71 -52
- data/ext/pg_query/include/nodes/bitmapset.h +1 -1
- data/ext/pg_query/include/nodes/execnodes.h +272 -80
- data/ext/pg_query/include/nodes/extensible.h +4 -2
- data/ext/pg_query/include/nodes/lockoptions.h +1 -1
- data/ext/pg_query/include/nodes/makefuncs.h +7 -6
- data/ext/pg_query/include/nodes/memnodes.h +5 -3
- data/ext/pg_query/include/nodes/nodeFuncs.h +1 -1
- data/ext/pg_query/include/nodes/nodes.h +30 -11
- data/ext/pg_query/include/nodes/params.h +1 -1
- data/ext/pg_query/include/nodes/parsenodes.h +327 -94
- data/ext/pg_query/include/nodes/pathnodes.h +245 -67
- data/ext/pg_query/include/nodes/pg_list.h +75 -68
- data/ext/pg_query/include/nodes/plannodes.h +128 -30
- data/ext/pg_query/include/nodes/primnodes.h +99 -47
- data/ext/pg_query/include/nodes/print.h +1 -1
- data/ext/pg_query/include/nodes/tidbitmap.h +1 -1
- data/ext/pg_query/include/nodes/value.h +58 -39
- data/ext/pg_query/include/optimizer/cost.h +9 -2
- data/ext/pg_query/include/optimizer/geqo.h +9 -7
- data/ext/pg_query/include/optimizer/geqo_gene.h +1 -1
- data/ext/pg_query/include/optimizer/optimizer.h +25 -22
- data/ext/pg_query/include/optimizer/paths.h +6 -6
- data/ext/pg_query/include/optimizer/planmain.h +15 -14
- data/ext/pg_query/include/parser/analyze.h +19 -5
- data/ext/pg_query/include/parser/gram.h +947 -913
- data/ext/pg_query/include/parser/gramparse.h +1 -1
- data/ext/pg_query/include/parser/kwlist.h +463 -453
- data/ext/pg_query/include/parser/parse_agg.h +2 -7
- data/ext/pg_query/include/parser/parse_coerce.h +4 -1
- data/ext/pg_query/include/parser/parse_expr.h +2 -3
- data/ext/pg_query/include/parser/parse_func.h +2 -1
- data/ext/pg_query/include/parser/parse_node.h +21 -9
- data/ext/pg_query/include/parser/parse_oper.h +1 -3
- data/ext/pg_query/include/parser/parse_relation.h +5 -4
- data/ext/pg_query/include/parser/parse_type.h +1 -1
- data/ext/pg_query/include/parser/parser.h +31 -4
- data/ext/pg_query/include/parser/parsetree.h +1 -1
- data/ext/pg_query/include/parser/scanner.h +1 -1
- data/ext/pg_query/include/parser/scansup.h +2 -5
- data/ext/pg_query/include/partitioning/partdefs.h +1 -1
- data/ext/pg_query/include/pg_config.h +94 -46
- data/ext/pg_query/include/pg_config_manual.h +74 -21
- data/ext/pg_query/include/pg_getopt.h +6 -6
- data/ext/pg_query/include/pg_query.h +5 -4
- data/ext/pg_query/include/pg_query_enum_defs.c +358 -241
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +44 -7
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +1220 -422
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +43 -13
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +152 -26
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +11 -2
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +174 -30
- data/ext/pg_query/include/pg_trace.h +1 -1
- data/ext/pg_query/include/pgstat.h +449 -1237
- data/ext/pg_query/include/pgtime.h +14 -4
- data/ext/pg_query/include/pl_gram.h +126 -128
- data/ext/pg_query/include/pl_reserved_kwlist.h +1 -1
- data/ext/pg_query/include/pl_reserved_kwlist_d.h +10 -10
- data/ext/pg_query/include/pl_unreserved_kwlist.h +2 -3
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +54 -56
- data/ext/pg_query/include/plerrcodes.h +9 -1
- data/ext/pg_query/include/plpgsql.h +52 -54
- data/ext/pg_query/include/port/atomics/arch-arm.h +7 -1
- data/ext/pg_query/include/port/atomics/arch-ppc.h +1 -1
- data/ext/pg_query/include/port/atomics/arch-x86.h +1 -1
- data/ext/pg_query/include/port/atomics/fallback.h +1 -1
- data/ext/pg_query/include/port/atomics/generic-gcc.h +3 -3
- data/ext/pg_query/include/port/atomics/generic.h +1 -1
- data/ext/pg_query/include/port/atomics.h +1 -1
- data/ext/pg_query/include/port/pg_bitutils.h +88 -12
- data/ext/pg_query/include/port/pg_bswap.h +1 -1
- data/ext/pg_query/include/port/pg_crc32c.h +1 -1
- data/ext/pg_query/include/port.h +72 -43
- data/ext/pg_query/include/portability/instr_time.h +1 -1
- data/ext/pg_query/include/postgres.h +60 -16
- data/ext/pg_query/include/postmaster/autovacuum.h +17 -17
- data/ext/pg_query/include/postmaster/auxprocess.h +20 -0
- data/ext/pg_query/include/postmaster/bgworker.h +2 -1
- data/ext/pg_query/include/postmaster/bgworker_internals.h +2 -2
- data/ext/pg_query/include/postmaster/bgwriter.h +5 -5
- data/ext/pg_query/include/postmaster/fork_process.h +1 -1
- data/ext/pg_query/include/postmaster/interrupt.h +1 -1
- data/ext/pg_query/include/postmaster/pgarch.h +42 -8
- data/ext/pg_query/include/postmaster/postmaster.h +18 -17
- data/ext/pg_query/include/postmaster/startup.h +39 -0
- data/ext/pg_query/include/postmaster/syslogger.h +15 -10
- data/ext/pg_query/include/postmaster/walwriter.h +3 -3
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1422 -916
- data/ext/pg_query/include/protobuf/pg_query.pb.h +43678 -32769
- data/ext/pg_query/include/regex/regex.h +18 -16
- data/ext/pg_query/include/replication/logicallauncher.h +3 -5
- data/ext/pg_query/include/replication/logicalproto.h +161 -17
- data/ext/pg_query/include/replication/logicalworker.h +1 -1
- data/ext/pg_query/include/replication/origin.h +7 -7
- data/ext/pg_query/include/replication/reorderbuffer.h +262 -44
- data/ext/pg_query/include/replication/slot.h +23 -12
- data/ext/pg_query/include/replication/syncrep.h +5 -5
- data/ext/pg_query/include/replication/walreceiver.h +145 -13
- data/ext/pg_query/include/replication/walsender.h +8 -8
- data/ext/pg_query/include/rewrite/prs2lock.h +1 -1
- data/ext/pg_query/include/rewrite/rewriteHandler.h +1 -3
- data/ext/pg_query/include/rewrite/rewriteManip.h +1 -1
- data/ext/pg_query/include/rewrite/rewriteSupport.h +1 -1
- data/ext/pg_query/include/storage/backendid.h +3 -3
- data/ext/pg_query/include/storage/block.h +4 -10
- data/ext/pg_query/include/storage/buf.h +1 -1
- data/ext/pg_query/include/storage/bufmgr.h +19 -14
- data/ext/pg_query/include/storage/bufpage.h +6 -8
- data/ext/pg_query/include/storage/condition_variable.h +13 -2
- data/ext/pg_query/include/storage/dsm.h +4 -1
- data/ext/pg_query/include/storage/dsm_impl.h +3 -2
- data/ext/pg_query/include/storage/fd.h +33 -3
- data/ext/pg_query/include/storage/fileset.h +40 -0
- data/ext/pg_query/include/storage/ipc.h +4 -1
- data/ext/pg_query/include/storage/item.h +1 -1
- data/ext/pg_query/include/storage/itemid.h +1 -1
- data/ext/pg_query/include/storage/itemptr.h +3 -1
- data/ext/pg_query/include/storage/large_object.h +2 -2
- data/ext/pg_query/include/storage/latch.h +9 -13
- data/ext/pg_query/include/storage/lmgr.h +2 -1
- data/ext/pg_query/include/storage/lock.h +17 -13
- data/ext/pg_query/include/storage/lockdefs.h +2 -2
- data/ext/pg_query/include/storage/lwlock.h +6 -32
- data/ext/pg_query/include/storage/lwlocknames.h +0 -1
- data/ext/pg_query/include/storage/off.h +1 -1
- data/ext/pg_query/include/storage/pg_sema.h +1 -1
- data/ext/pg_query/include/storage/pg_shmem.h +9 -7
- data/ext/pg_query/include/storage/pmsignal.h +15 -4
- data/ext/pg_query/include/storage/predicate.h +4 -4
- data/ext/pg_query/include/storage/proc.h +183 -55
- data/ext/pg_query/include/storage/procarray.h +98 -0
- data/ext/pg_query/include/storage/proclist_types.h +1 -1
- data/ext/pg_query/include/storage/procsignal.h +3 -7
- data/ext/pg_query/include/storage/relfilenode.h +1 -1
- data/ext/pg_query/include/storage/s_lock.h +67 -4
- data/ext/pg_query/include/storage/sharedfileset.h +3 -11
- data/ext/pg_query/include/storage/shm_mq.h +5 -4
- data/ext/pg_query/include/storage/shm_toc.h +1 -1
- data/ext/pg_query/include/storage/shmem.h +1 -1
- data/ext/pg_query/include/storage/sinval.h +3 -3
- data/ext/pg_query/include/storage/sinvaladt.h +1 -1
- data/ext/pg_query/include/storage/smgr.h +10 -8
- data/ext/pg_query/include/storage/spin.h +2 -2
- data/ext/pg_query/include/storage/standby.h +13 -6
- data/ext/pg_query/include/storage/standbydefs.h +2 -2
- data/ext/pg_query/include/storage/sync.h +7 -3
- data/ext/pg_query/include/tcop/cmdtag.h +1 -1
- data/ext/pg_query/include/tcop/cmdtaglist.h +3 -2
- data/ext/pg_query/include/tcop/deparse_utility.h +1 -1
- data/ext/pg_query/include/tcop/dest.h +1 -1
- data/ext/pg_query/include/tcop/fastpath.h +1 -2
- data/ext/pg_query/include/tcop/pquery.h +7 -1
- data/ext/pg_query/include/tcop/tcopprot.h +19 -11
- data/ext/pg_query/include/tcop/utility.h +7 -3
- data/ext/pg_query/include/tsearch/ts_cache.h +2 -2
- data/ext/pg_query/include/utils/acl.h +24 -3
- data/ext/pg_query/include/utils/aclchk_internal.h +1 -1
- data/ext/pg_query/include/utils/array.h +7 -2
- data/ext/pg_query/include/utils/backend_progress.h +44 -0
- data/ext/pg_query/include/utils/backend_status.h +321 -0
- data/ext/pg_query/include/utils/builtins.h +11 -11
- data/ext/pg_query/include/utils/bytea.h +3 -2
- data/ext/pg_query/include/utils/catcache.h +1 -1
- data/ext/pg_query/include/utils/date.h +1 -1
- data/ext/pg_query/include/utils/datetime.h +8 -7
- data/ext/pg_query/include/utils/datum.h +9 -1
- data/ext/pg_query/include/utils/dsa.h +1 -1
- data/ext/pg_query/include/utils/dynahash.h +4 -3
- data/ext/pg_query/include/utils/elog.h +52 -21
- data/ext/pg_query/include/utils/errcodes.h +2 -0
- data/ext/pg_query/include/utils/expandeddatum.h +1 -1
- data/ext/pg_query/include/utils/expandedrecord.h +1 -1
- data/ext/pg_query/include/utils/float.h +7 -7
- data/ext/pg_query/include/utils/fmgroids.h +1300 -696
- data/ext/pg_query/include/utils/fmgrprotos.h +199 -16
- data/ext/pg_query/include/utils/fmgrtab.h +6 -5
- data/ext/pg_query/include/utils/guc.h +69 -43
- data/ext/pg_query/include/utils/guc_tables.h +23 -19
- data/ext/pg_query/include/utils/hsearch.h +15 -11
- data/ext/pg_query/include/utils/inval.h +5 -1
- data/ext/pg_query/include/utils/lsyscache.h +11 -1
- data/ext/pg_query/include/utils/memdebug.h +1 -1
- data/ext/pg_query/include/utils/memutils.h +8 -3
- data/ext/pg_query/include/utils/numeric.h +19 -5
- data/ext/pg_query/include/utils/palloc.h +25 -3
- data/ext/pg_query/include/utils/partcache.h +1 -1
- data/ext/pg_query/include/utils/pg_locale.h +17 -9
- data/ext/pg_query/include/utils/pg_lsn.h +1 -1
- data/ext/pg_query/include/utils/pgstat_internal.h +784 -0
- data/ext/pg_query/include/utils/pidfile.h +1 -1
- data/ext/pg_query/include/utils/plancache.h +6 -5
- data/ext/pg_query/include/utils/portal.h +12 -1
- data/ext/pg_query/include/utils/ps_status.h +1 -1
- data/ext/pg_query/include/utils/queryenvironment.h +1 -1
- data/ext/pg_query/include/utils/queryjumble.h +88 -0
- data/ext/pg_query/include/utils/regproc.h +14 -3
- data/ext/pg_query/include/utils/rel.h +71 -20
- data/ext/pg_query/include/utils/relcache.h +9 -7
- data/ext/pg_query/include/utils/reltrigger.h +1 -1
- data/ext/pg_query/include/utils/resowner.h +1 -1
- data/ext/pg_query/include/utils/rls.h +2 -2
- data/ext/pg_query/include/utils/ruleutils.h +4 -1
- data/ext/pg_query/include/utils/sharedtuplestore.h +1 -1
- data/ext/pg_query/include/utils/snapmgr.h +35 -14
- data/ext/pg_query/include/utils/snapshot.h +14 -1
- data/ext/pg_query/include/utils/sortsupport.h +117 -2
- data/ext/pg_query/include/utils/syscache.h +6 -1
- data/ext/pg_query/include/utils/timeout.h +11 -4
- data/ext/pg_query/include/utils/timestamp.h +6 -5
- data/ext/pg_query/include/utils/tuplesort.h +25 -11
- data/ext/pg_query/include/utils/tuplestore.h +2 -2
- data/ext/pg_query/include/utils/typcache.h +24 -17
- data/ext/pg_query/include/utils/tzparser.h +1 -1
- data/ext/pg_query/include/utils/varlena.h +5 -3
- data/ext/pg_query/include/utils/wait_event.h +289 -0
- data/ext/pg_query/include/utils/xml.h +4 -4
- data/ext/pg_query/pg_query.pb-c.c +4318 -2307
- data/ext/pg_query/pg_query_deparse.c +1114 -381
- data/ext/pg_query/pg_query_fingerprint.c +46 -10
- data/ext/pg_query/pg_query_fingerprint.h +3 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +55 -12
- data/ext/pg_query/pg_query_normalize.c +163 -20
- data/ext/pg_query/pg_query_outfuncs.h +1 -0
- data/ext/pg_query/pg_query_outfuncs_json.c +65 -16
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +70 -10
- data/ext/pg_query/pg_query_parse.c +1 -1
- data/ext/pg_query/pg_query_parse_plpgsql.c +79 -16
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +42 -8
- data/ext/pg_query/pg_query_ruby.c +1 -1
- data/ext/pg_query/pg_query_scan.c +2 -1
- data/ext/pg_query/pg_query_split.c +3 -2
- data/ext/pg_query/src_backend_catalog_namespace.c +21 -9
- data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
- data/ext/pg_query/src_backend_commands_define.c +11 -1
- data/ext/pg_query/src_backend_nodes_bitmapset.c +3 -1
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +424 -109
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +291 -46
- data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
- data/ext/pg_query/src_backend_nodes_list.c +86 -11
- data/ext/pg_query/src_backend_nodes_makefuncs.c +5 -4
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +55 -12
- data/ext/pg_query/src_backend_nodes_value.c +28 -19
- data/ext/pg_query/src_backend_parser_gram.c +33890 -31262
- data/ext/pg_query/src_backend_parser_parser.c +26 -7
- data/ext/pg_query/src_backend_parser_scan.c +644 -441
- data/ext/pg_query/src_backend_parser_scansup.c +4 -28
- data/ext/pg_query/src_backend_postmaster_postmaster.c +77 -106
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +5 -4
- data/ext/pg_query/src_backend_tcop_postgres.c +73 -24
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +13 -1
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +109 -15
- data/ext/pg_query/src_backend_utils_error_assert.c +16 -14
- data/ext/pg_query/src_backend_utils_error_elog.c +172 -99
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +12 -17
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +40 -10
- data/ext/pg_query/src_backend_utils_init_globals.c +5 -5
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +55 -66
- data/ext/pg_query/src_backend_utils_misc_guc.c +207 -45
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +7 -5
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +123 -35
- data/ext/pg_query/src_common_encnames.c +1 -1
- data/ext/pg_query/src_common_hashfn.c +3 -3
- data/ext/pg_query/src_common_keywords.c +15 -2
- data/ext/pg_query/src_common_kwlist_d.h +517 -494
- data/ext/pg_query/src_common_kwlookup.c +1 -1
- data/ext/pg_query/src_common_pg_prng.c +152 -0
- data/ext/pg_query/src_common_psprintf.c +1 -1
- data/ext/pg_query/src_common_string.c +7 -1
- data/ext/pg_query/src_common_stringinfo.c +1 -1
- data/ext/pg_query/src_common_wchar.c +712 -109
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +49 -22
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -18
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1235 -1261
- data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +2 -2
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +54 -56
- data/ext/pg_query/src_port_pg_bitutils.c +41 -52
- data/ext/pg_query/src_port_pgsleep.c +1 -1
- data/ext/pg_query/src_port_pgstrcasecmp.c +1 -1
- data/ext/pg_query/src_port_qsort.c +12 -224
- data/ext/pg_query/src_port_snprintf.c +46 -20
- data/ext/pg_query/src_port_strerror.c +9 -19
- data/ext/pg_query/src_port_strnlen.c +1 -1
- data/lib/pg_query/deparse.rb +7 -1
- data/lib/pg_query/filter_columns.rb +6 -4
- data/lib/pg_query/fingerprint.rb +18 -3
- data/lib/pg_query/node.rb +2 -2
- data/lib/pg_query/param_refs.rb +1 -1
- data/lib/pg_query/parse.rb +87 -51
- data/lib/pg_query/pg_query_pb.rb +1109 -942
- data/lib/pg_query/treewalker.rb +6 -0
- data/lib/pg_query/truncate.rb +54 -8
- data/lib/pg_query/version.rb +1 -1
- metadata +29 -18
- data/ext/pg_query/include/access/xloginsert.h +0 -64
- data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
- data/ext/pg_query/include/parser/parse_clause.h +0 -54
- data/ext/pg_query/include/parser/parse_collate.h +0 -27
- data/ext/pg_query/include/parser/parse_target.h +0 -46
- data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -651
- data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
- data/ext/pg_query/src_port_erand48.c +0 -127
- data/ext/pg_query/src_port_random.c +0 -31
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* - _copyBitmapIndexScan
|
|
24
24
|
* - _copyBitmapHeapScan
|
|
25
25
|
* - _copyTidScan
|
|
26
|
+
* - _copyTidRangeScan
|
|
26
27
|
* - _copySubqueryScan
|
|
27
28
|
* - _copyFunctionScan
|
|
28
29
|
* - _copyTableFuncScan
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
* - _copyMergeJoin
|
|
39
40
|
* - _copyHashJoin
|
|
40
41
|
* - _copyMaterial
|
|
42
|
+
* - _copyMemoize
|
|
41
43
|
* - _copySort
|
|
42
44
|
* - CopySortFields
|
|
43
45
|
* - _copyIncrementalSort
|
|
@@ -113,15 +115,22 @@
|
|
|
113
115
|
* - _copySpecialJoinInfo
|
|
114
116
|
* - _copyAppendRelInfo
|
|
115
117
|
* - _copyPlaceHolderInfo
|
|
116
|
-
* -
|
|
118
|
+
* - _copyInteger
|
|
119
|
+
* - _copyFloat
|
|
120
|
+
* - _copyBoolean
|
|
121
|
+
* - _copyString
|
|
122
|
+
* - _copyBitString
|
|
117
123
|
* - _copyExtensibleNode
|
|
118
124
|
* - _copyQuery
|
|
119
125
|
* - _copyRawStmt
|
|
120
126
|
* - _copyInsertStmt
|
|
121
127
|
* - _copyDeleteStmt
|
|
122
128
|
* - _copyUpdateStmt
|
|
129
|
+
* - _copyMergeStmt
|
|
123
130
|
* - _copySelectStmt
|
|
124
131
|
* - _copySetOperationStmt
|
|
132
|
+
* - _copyReturnStmt
|
|
133
|
+
* - _copyPLAssignStmt
|
|
125
134
|
* - _copyAlterTableStmt
|
|
126
135
|
* - _copyAlterTableCmd
|
|
127
136
|
* - _copyAlterCollationStmt
|
|
@@ -174,6 +183,7 @@
|
|
|
174
183
|
* - _copyAlterOpFamilyStmt
|
|
175
184
|
* - _copyCreatedbStmt
|
|
176
185
|
* - _copyAlterDatabaseStmt
|
|
186
|
+
* - _copyAlterDatabaseRefreshCollStmt
|
|
177
187
|
* - _copyAlterDatabaseSetStmt
|
|
178
188
|
* - _copyDropdbStmt
|
|
179
189
|
* - _copyVacuumStmt
|
|
@@ -234,13 +244,13 @@
|
|
|
234
244
|
* - _copyCreateSubscriptionStmt
|
|
235
245
|
* - _copyAlterSubscriptionStmt
|
|
236
246
|
* - _copyDropSubscriptionStmt
|
|
237
|
-
* -
|
|
247
|
+
* - _copyA_Expr
|
|
238
248
|
* - _copyColumnRef
|
|
239
249
|
* - _copyParamRef
|
|
240
|
-
* -
|
|
250
|
+
* - _copyA_Const
|
|
241
251
|
* - _copyFuncCall
|
|
242
|
-
* -
|
|
243
|
-
* -
|
|
252
|
+
* - _copyA_Star
|
|
253
|
+
* - _copyA_Indices
|
|
244
254
|
* - _copyA_Indirection
|
|
245
255
|
* - _copyA_ArrayExpr
|
|
246
256
|
* - _copyResTarget
|
|
@@ -256,6 +266,7 @@
|
|
|
256
266
|
* - _copyRangeTableFuncCol
|
|
257
267
|
* - _copyTypeName
|
|
258
268
|
* - _copyIndexElem
|
|
269
|
+
* - _copyStatsElem
|
|
259
270
|
* - _copyColumnDef
|
|
260
271
|
* - _copyConstraint
|
|
261
272
|
* - _copyDefElem
|
|
@@ -271,7 +282,11 @@
|
|
|
271
282
|
* - _copyWithClause
|
|
272
283
|
* - _copyInferClause
|
|
273
284
|
* - _copyOnConflictClause
|
|
285
|
+
* - _copyCTESearchClause
|
|
286
|
+
* - _copyCTECycleClause
|
|
274
287
|
* - _copyCommonTableExpr
|
|
288
|
+
* - _copyMergeWhenClause
|
|
289
|
+
* - _copyMergeAction
|
|
275
290
|
* - _copyObjectWithArgs
|
|
276
291
|
* - _copyAccessPriv
|
|
277
292
|
* - _copyXmlSerialize
|
|
@@ -282,6 +297,8 @@
|
|
|
282
297
|
* - _copyPartitionBoundSpec
|
|
283
298
|
* - _copyPartitionRangeDatum
|
|
284
299
|
* - _copyPartitionCmd
|
|
300
|
+
* - _copyPublicationObject
|
|
301
|
+
* - _copyPublicationTable
|
|
285
302
|
* - _copyForeignKeyCacheInfo
|
|
286
303
|
*--------------------------------------------------------------------
|
|
287
304
|
*/
|
|
@@ -299,7 +316,7 @@
|
|
|
299
316
|
* be handled easily in a simple depth-first traversal.
|
|
300
317
|
*
|
|
301
318
|
*
|
|
302
|
-
* Portions Copyright (c) 1996-
|
|
319
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
303
320
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
304
321
|
*
|
|
305
322
|
* IDENTIFICATION
|
|
@@ -341,12 +358,19 @@
|
|
|
341
358
|
#define COPY_STRING_FIELD(fldname) \
|
|
342
359
|
(newnode->fldname = from->fldname ? pstrdup(from->fldname) : (char *) NULL)
|
|
343
360
|
|
|
361
|
+
/* Copy a field that is an inline array */
|
|
362
|
+
#define COPY_ARRAY_FIELD(fldname) \
|
|
363
|
+
memcpy(newnode->fldname, from->fldname, sizeof(newnode->fldname))
|
|
364
|
+
|
|
344
365
|
/* Copy a field that is a pointer to a simple palloc'd object of size sz */
|
|
345
366
|
#define COPY_POINTER_FIELD(fldname, sz) \
|
|
346
367
|
do { \
|
|
347
368
|
Size _size = (sz); \
|
|
348
|
-
|
|
349
|
-
|
|
369
|
+
if (_size > 0) \
|
|
370
|
+
{ \
|
|
371
|
+
newnode->fldname = palloc(_size); \
|
|
372
|
+
memcpy(newnode->fldname, from->fldname, _size); \
|
|
373
|
+
} \
|
|
350
374
|
} while (0)
|
|
351
375
|
|
|
352
376
|
/* Copy a parse location field (for Copy, this is same as scalar case) */
|
|
@@ -379,7 +403,6 @@ _copyPlannedStmt(const PlannedStmt *from)
|
|
|
379
403
|
COPY_NODE_FIELD(planTree);
|
|
380
404
|
COPY_NODE_FIELD(rtable);
|
|
381
405
|
COPY_NODE_FIELD(resultRelations);
|
|
382
|
-
COPY_NODE_FIELD(rootResultRelations);
|
|
383
406
|
COPY_NODE_FIELD(appendRelations);
|
|
384
407
|
COPY_NODE_FIELD(subplans);
|
|
385
408
|
COPY_BITMAPSET_FIELD(rewindPlanIDs);
|
|
@@ -409,6 +432,7 @@ CopyPlanFields(const Plan *from, Plan *newnode)
|
|
|
409
432
|
COPY_SCALAR_FIELD(plan_width);
|
|
410
433
|
COPY_SCALAR_FIELD(parallel_aware);
|
|
411
434
|
COPY_SCALAR_FIELD(parallel_safe);
|
|
435
|
+
COPY_SCALAR_FIELD(async_capable);
|
|
412
436
|
COPY_SCALAR_FIELD(plan_node_id);
|
|
413
437
|
COPY_NODE_FIELD(targetlist);
|
|
414
438
|
COPY_NODE_FIELD(qual);
|
|
@@ -495,9 +519,7 @@ _copyModifyTable(const ModifyTable *from)
|
|
|
495
519
|
COPY_SCALAR_FIELD(rootRelation);
|
|
496
520
|
COPY_SCALAR_FIELD(partColsUpdated);
|
|
497
521
|
COPY_NODE_FIELD(resultRelations);
|
|
498
|
-
|
|
499
|
-
COPY_SCALAR_FIELD(rootResultRelIndex);
|
|
500
|
-
COPY_NODE_FIELD(plans);
|
|
522
|
+
COPY_NODE_FIELD(updateColnosLists);
|
|
501
523
|
COPY_NODE_FIELD(withCheckOptionLists);
|
|
502
524
|
COPY_NODE_FIELD(returningLists);
|
|
503
525
|
COPY_NODE_FIELD(fdwPrivLists);
|
|
@@ -507,9 +529,11 @@ _copyModifyTable(const ModifyTable *from)
|
|
|
507
529
|
COPY_SCALAR_FIELD(onConflictAction);
|
|
508
530
|
COPY_NODE_FIELD(arbiterIndexes);
|
|
509
531
|
COPY_NODE_FIELD(onConflictSet);
|
|
532
|
+
COPY_NODE_FIELD(onConflictCols);
|
|
510
533
|
COPY_NODE_FIELD(onConflictWhere);
|
|
511
534
|
COPY_SCALAR_FIELD(exclRelRTI);
|
|
512
535
|
COPY_NODE_FIELD(exclRelTlist);
|
|
536
|
+
COPY_NODE_FIELD(mergeActionLists);
|
|
513
537
|
|
|
514
538
|
return newnode;
|
|
515
539
|
}
|
|
@@ -532,6 +556,7 @@ _copyAppend(const Append *from)
|
|
|
532
556
|
*/
|
|
533
557
|
COPY_BITMAPSET_FIELD(apprelids);
|
|
534
558
|
COPY_NODE_FIELD(appendplans);
|
|
559
|
+
COPY_SCALAR_FIELD(nasyncplans);
|
|
535
560
|
COPY_SCALAR_FIELD(first_partial_plan);
|
|
536
561
|
COPY_NODE_FIELD(part_prune_info);
|
|
537
562
|
|
|
@@ -584,12 +609,9 @@ _copyRecursiveUnion(const RecursiveUnion *from)
|
|
|
584
609
|
*/
|
|
585
610
|
COPY_SCALAR_FIELD(wtParam);
|
|
586
611
|
COPY_SCALAR_FIELD(numCols);
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
COPY_POINTER_FIELD(dupOperators, from->numCols * sizeof(Oid));
|
|
591
|
-
COPY_POINTER_FIELD(dupCollations, from->numCols * sizeof(Oid));
|
|
592
|
-
}
|
|
612
|
+
COPY_POINTER_FIELD(dupColIdx, from->numCols * sizeof(AttrNumber));
|
|
613
|
+
COPY_POINTER_FIELD(dupOperators, from->numCols * sizeof(Oid));
|
|
614
|
+
COPY_POINTER_FIELD(dupCollations, from->numCols * sizeof(Oid));
|
|
593
615
|
COPY_SCALAR_FIELD(numGroups);
|
|
594
616
|
|
|
595
617
|
return newnode;
|
|
@@ -803,6 +825,7 @@ _copyIndexOnlyScan(const IndexOnlyScan *from)
|
|
|
803
825
|
*/
|
|
804
826
|
COPY_SCALAR_FIELD(indexid);
|
|
805
827
|
COPY_NODE_FIELD(indexqual);
|
|
828
|
+
COPY_NODE_FIELD(recheckqual);
|
|
806
829
|
COPY_NODE_FIELD(indexorderby);
|
|
807
830
|
COPY_NODE_FIELD(indextlist);
|
|
808
831
|
COPY_SCALAR_FIELD(indexorderdir);
|
|
@@ -876,6 +899,27 @@ _copyTidScan(const TidScan *from)
|
|
|
876
899
|
return newnode;
|
|
877
900
|
}
|
|
878
901
|
|
|
902
|
+
/*
|
|
903
|
+
* _copyTidRangeScan
|
|
904
|
+
*/
|
|
905
|
+
static TidRangeScan *
|
|
906
|
+
_copyTidRangeScan(const TidRangeScan *from)
|
|
907
|
+
{
|
|
908
|
+
TidRangeScan *newnode = makeNode(TidRangeScan);
|
|
909
|
+
|
|
910
|
+
/*
|
|
911
|
+
* copy node superclass fields
|
|
912
|
+
*/
|
|
913
|
+
CopyScanFields((const Scan *) from, (Scan *) newnode);
|
|
914
|
+
|
|
915
|
+
/*
|
|
916
|
+
* copy remainder of node
|
|
917
|
+
*/
|
|
918
|
+
COPY_NODE_FIELD(tidrangequals);
|
|
919
|
+
|
|
920
|
+
return newnode;
|
|
921
|
+
}
|
|
922
|
+
|
|
879
923
|
/*
|
|
880
924
|
* _copySubqueryScan
|
|
881
925
|
*/
|
|
@@ -893,6 +937,7 @@ _copySubqueryScan(const SubqueryScan *from)
|
|
|
893
937
|
* copy remainder of node
|
|
894
938
|
*/
|
|
895
939
|
COPY_NODE_FIELD(subplan);
|
|
940
|
+
COPY_SCALAR_FIELD(scanstatus);
|
|
896
941
|
|
|
897
942
|
return newnode;
|
|
898
943
|
}
|
|
@@ -1042,6 +1087,7 @@ _copyForeignScan(const ForeignScan *from)
|
|
|
1042
1087
|
* copy remainder of node
|
|
1043
1088
|
*/
|
|
1044
1089
|
COPY_SCALAR_FIELD(operation);
|
|
1090
|
+
COPY_SCALAR_FIELD(resultRelation);
|
|
1045
1091
|
COPY_SCALAR_FIELD(fs_server);
|
|
1046
1092
|
COPY_NODE_FIELD(fdw_exprs);
|
|
1047
1093
|
COPY_NODE_FIELD(fdw_private);
|
|
@@ -1162,13 +1208,10 @@ _copyMergeJoin(const MergeJoin *from)
|
|
|
1162
1208
|
COPY_SCALAR_FIELD(skip_mark_restore);
|
|
1163
1209
|
COPY_NODE_FIELD(mergeclauses);
|
|
1164
1210
|
numCols = list_length(from->mergeclauses);
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
COPY_POINTER_FIELD(mergeStrategies, numCols * sizeof(int));
|
|
1170
|
-
COPY_POINTER_FIELD(mergeNullsFirst, numCols * sizeof(bool));
|
|
1171
|
-
}
|
|
1211
|
+
COPY_POINTER_FIELD(mergeFamilies, numCols * sizeof(Oid));
|
|
1212
|
+
COPY_POINTER_FIELD(mergeCollations, numCols * sizeof(Oid));
|
|
1213
|
+
COPY_POINTER_FIELD(mergeStrategies, numCols * sizeof(int));
|
|
1214
|
+
COPY_POINTER_FIELD(mergeNullsFirst, numCols * sizeof(bool));
|
|
1172
1215
|
|
|
1173
1216
|
return newnode;
|
|
1174
1217
|
}
|
|
@@ -1215,6 +1258,35 @@ _copyMaterial(const Material *from)
|
|
|
1215
1258
|
}
|
|
1216
1259
|
|
|
1217
1260
|
|
|
1261
|
+
/*
|
|
1262
|
+
* _copyMemoize
|
|
1263
|
+
*/
|
|
1264
|
+
static Memoize *
|
|
1265
|
+
_copyMemoize(const Memoize *from)
|
|
1266
|
+
{
|
|
1267
|
+
Memoize *newnode = makeNode(Memoize);
|
|
1268
|
+
|
|
1269
|
+
/*
|
|
1270
|
+
* copy node superclass fields
|
|
1271
|
+
*/
|
|
1272
|
+
CopyPlanFields((const Plan *) from, (Plan *) newnode);
|
|
1273
|
+
|
|
1274
|
+
/*
|
|
1275
|
+
* copy remainder of node
|
|
1276
|
+
*/
|
|
1277
|
+
COPY_SCALAR_FIELD(numKeys);
|
|
1278
|
+
COPY_POINTER_FIELD(hashOperators, sizeof(Oid) * from->numKeys);
|
|
1279
|
+
COPY_POINTER_FIELD(collations, sizeof(Oid) * from->numKeys);
|
|
1280
|
+
COPY_NODE_FIELD(param_exprs);
|
|
1281
|
+
COPY_SCALAR_FIELD(singlerow);
|
|
1282
|
+
COPY_SCALAR_FIELD(binary_mode);
|
|
1283
|
+
COPY_SCALAR_FIELD(est_entries);
|
|
1284
|
+
COPY_BITMAPSET_FIELD(keyparamids);
|
|
1285
|
+
|
|
1286
|
+
return newnode;
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
|
|
1218
1290
|
/*
|
|
1219
1291
|
* CopySortFields
|
|
1220
1292
|
*
|
|
@@ -1303,12 +1375,9 @@ _copyAgg(const Agg *from)
|
|
|
1303
1375
|
COPY_SCALAR_FIELD(aggstrategy);
|
|
1304
1376
|
COPY_SCALAR_FIELD(aggsplit);
|
|
1305
1377
|
COPY_SCALAR_FIELD(numCols);
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
COPY_POINTER_FIELD(grpOperators, from->numCols * sizeof(Oid));
|
|
1310
|
-
COPY_POINTER_FIELD(grpCollations, from->numCols * sizeof(Oid));
|
|
1311
|
-
}
|
|
1378
|
+
COPY_POINTER_FIELD(grpColIdx, from->numCols * sizeof(AttrNumber));
|
|
1379
|
+
COPY_POINTER_FIELD(grpOperators, from->numCols * sizeof(Oid));
|
|
1380
|
+
COPY_POINTER_FIELD(grpCollations, from->numCols * sizeof(Oid));
|
|
1312
1381
|
COPY_SCALAR_FIELD(numGroups);
|
|
1313
1382
|
COPY_SCALAR_FIELD(transitionSpace);
|
|
1314
1383
|
COPY_BITMAPSET_FIELD(aggParams);
|
|
@@ -1330,27 +1399,24 @@ _copyWindowAgg(const WindowAgg *from)
|
|
|
1330
1399
|
|
|
1331
1400
|
COPY_SCALAR_FIELD(winref);
|
|
1332
1401
|
COPY_SCALAR_FIELD(partNumCols);
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
COPY_POINTER_FIELD(partOperators, from->partNumCols * sizeof(Oid));
|
|
1337
|
-
COPY_POINTER_FIELD(partCollations, from->partNumCols * sizeof(Oid));
|
|
1338
|
-
}
|
|
1402
|
+
COPY_POINTER_FIELD(partColIdx, from->partNumCols * sizeof(AttrNumber));
|
|
1403
|
+
COPY_POINTER_FIELD(partOperators, from->partNumCols * sizeof(Oid));
|
|
1404
|
+
COPY_POINTER_FIELD(partCollations, from->partNumCols * sizeof(Oid));
|
|
1339
1405
|
COPY_SCALAR_FIELD(ordNumCols);
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
COPY_POINTER_FIELD(ordOperators, from->ordNumCols * sizeof(Oid));
|
|
1344
|
-
COPY_POINTER_FIELD(ordCollations, from->ordNumCols * sizeof(Oid));
|
|
1345
|
-
}
|
|
1406
|
+
COPY_POINTER_FIELD(ordColIdx, from->ordNumCols * sizeof(AttrNumber));
|
|
1407
|
+
COPY_POINTER_FIELD(ordOperators, from->ordNumCols * sizeof(Oid));
|
|
1408
|
+
COPY_POINTER_FIELD(ordCollations, from->ordNumCols * sizeof(Oid));
|
|
1346
1409
|
COPY_SCALAR_FIELD(frameOptions);
|
|
1347
1410
|
COPY_NODE_FIELD(startOffset);
|
|
1348
1411
|
COPY_NODE_FIELD(endOffset);
|
|
1412
|
+
COPY_NODE_FIELD(runCondition);
|
|
1413
|
+
COPY_NODE_FIELD(runConditionOrig);
|
|
1349
1414
|
COPY_SCALAR_FIELD(startInRangeFunc);
|
|
1350
1415
|
COPY_SCALAR_FIELD(endInRangeFunc);
|
|
1351
1416
|
COPY_SCALAR_FIELD(inRangeColl);
|
|
1352
1417
|
COPY_SCALAR_FIELD(inRangeAsc);
|
|
1353
1418
|
COPY_SCALAR_FIELD(inRangeNullsFirst);
|
|
1419
|
+
COPY_SCALAR_FIELD(topWindow);
|
|
1354
1420
|
|
|
1355
1421
|
return newnode;
|
|
1356
1422
|
}
|
|
@@ -1782,6 +1848,8 @@ _copyAggref(const Aggref *from)
|
|
|
1782
1848
|
COPY_SCALAR_FIELD(aggkind);
|
|
1783
1849
|
COPY_SCALAR_FIELD(agglevelsup);
|
|
1784
1850
|
COPY_SCALAR_FIELD(aggsplit);
|
|
1851
|
+
COPY_SCALAR_FIELD(aggno);
|
|
1852
|
+
COPY_SCALAR_FIELD(aggtransno);
|
|
1785
1853
|
COPY_LOCATION_FIELD(location);
|
|
1786
1854
|
|
|
1787
1855
|
return newnode;
|
|
@@ -1836,6 +1904,7 @@ _copySubscriptingRef(const SubscriptingRef *from)
|
|
|
1836
1904
|
|
|
1837
1905
|
COPY_SCALAR_FIELD(refcontainertype);
|
|
1838
1906
|
COPY_SCALAR_FIELD(refelemtype);
|
|
1907
|
+
COPY_SCALAR_FIELD(refrestype);
|
|
1839
1908
|
COPY_SCALAR_FIELD(reftypmod);
|
|
1840
1909
|
COPY_SCALAR_FIELD(refcollid);
|
|
1841
1910
|
COPY_NODE_FIELD(refupperindexpr);
|
|
@@ -1953,6 +2022,8 @@ _copyScalarArrayOpExpr(const ScalarArrayOpExpr *from)
|
|
|
1953
2022
|
|
|
1954
2023
|
COPY_SCALAR_FIELD(opno);
|
|
1955
2024
|
COPY_SCALAR_FIELD(opfuncid);
|
|
2025
|
+
COPY_SCALAR_FIELD(hashfuncid);
|
|
2026
|
+
COPY_SCALAR_FIELD(negfuncid);
|
|
1956
2027
|
COPY_SCALAR_FIELD(useOr);
|
|
1957
2028
|
COPY_SCALAR_FIELD(inputcollid);
|
|
1958
2029
|
COPY_NODE_FIELD(args);
|
|
@@ -2495,6 +2566,7 @@ _copyJoinExpr(const JoinExpr *from)
|
|
|
2495
2566
|
COPY_NODE_FIELD(larg);
|
|
2496
2567
|
COPY_NODE_FIELD(rarg);
|
|
2497
2568
|
COPY_NODE_FIELD(usingClause);
|
|
2569
|
+
COPY_NODE_FIELD(join_using_alias);
|
|
2498
2570
|
COPY_NODE_FIELD(quals);
|
|
2499
2571
|
COPY_NODE_FIELD(alias);
|
|
2500
2572
|
COPY_SCALAR_FIELD(rtindex);
|
|
@@ -2575,6 +2647,7 @@ _copyRestrictInfo(const RestrictInfo *from)
|
|
|
2575
2647
|
COPY_SCALAR_FIELD(can_join);
|
|
2576
2648
|
COPY_SCALAR_FIELD(pseudoconstant);
|
|
2577
2649
|
COPY_SCALAR_FIELD(leakproof);
|
|
2650
|
+
COPY_SCALAR_FIELD(has_volatile);
|
|
2578
2651
|
COPY_SCALAR_FIELD(security_level);
|
|
2579
2652
|
COPY_BITMAPSET_FIELD(clause_relids);
|
|
2580
2653
|
COPY_BITMAPSET_FIELD(required_relids);
|
|
@@ -2602,6 +2675,8 @@ _copyRestrictInfo(const RestrictInfo *from)
|
|
|
2602
2675
|
COPY_SCALAR_FIELD(right_bucketsize);
|
|
2603
2676
|
COPY_SCALAR_FIELD(left_mcvfreq);
|
|
2604
2677
|
COPY_SCALAR_FIELD(right_mcvfreq);
|
|
2678
|
+
COPY_SCALAR_FIELD(left_hasheqoperator);
|
|
2679
|
+
COPY_SCALAR_FIELD(right_hasheqoperator);
|
|
2605
2680
|
|
|
2606
2681
|
return newnode;
|
|
2607
2682
|
}
|
|
@@ -2705,6 +2780,7 @@ _copyRangeTblEntry(const RangeTblEntry *from)
|
|
|
2705
2780
|
COPY_NODE_FIELD(joinaliasvars);
|
|
2706
2781
|
COPY_NODE_FIELD(joinleftcols);
|
|
2707
2782
|
COPY_NODE_FIELD(joinrightcols);
|
|
2783
|
+
COPY_NODE_FIELD(join_using_alias);
|
|
2708
2784
|
COPY_NODE_FIELD(functions);
|
|
2709
2785
|
COPY_SCALAR_FIELD(funcordinality);
|
|
2710
2786
|
COPY_NODE_FIELD(tablefunc);
|
|
@@ -2813,6 +2889,7 @@ _copyWindowClause(const WindowClause *from)
|
|
|
2813
2889
|
COPY_SCALAR_FIELD(frameOptions);
|
|
2814
2890
|
COPY_NODE_FIELD(startOffset);
|
|
2815
2891
|
COPY_NODE_FIELD(endOffset);
|
|
2892
|
+
COPY_NODE_FIELD(runCondition);
|
|
2816
2893
|
COPY_SCALAR_FIELD(startInRangeFunc);
|
|
2817
2894
|
COPY_SCALAR_FIELD(endInRangeFunc);
|
|
2818
2895
|
COPY_SCALAR_FIELD(inRangeColl);
|
|
@@ -2876,6 +2953,38 @@ _copyOnConflictClause(const OnConflictClause *from)
|
|
|
2876
2953
|
return newnode;
|
|
2877
2954
|
}
|
|
2878
2955
|
|
|
2956
|
+
static CTESearchClause *
|
|
2957
|
+
_copyCTESearchClause(const CTESearchClause *from)
|
|
2958
|
+
{
|
|
2959
|
+
CTESearchClause *newnode = makeNode(CTESearchClause);
|
|
2960
|
+
|
|
2961
|
+
COPY_NODE_FIELD(search_col_list);
|
|
2962
|
+
COPY_SCALAR_FIELD(search_breadth_first);
|
|
2963
|
+
COPY_STRING_FIELD(search_seq_column);
|
|
2964
|
+
COPY_LOCATION_FIELD(location);
|
|
2965
|
+
|
|
2966
|
+
return newnode;
|
|
2967
|
+
}
|
|
2968
|
+
|
|
2969
|
+
static CTECycleClause *
|
|
2970
|
+
_copyCTECycleClause(const CTECycleClause *from)
|
|
2971
|
+
{
|
|
2972
|
+
CTECycleClause *newnode = makeNode(CTECycleClause);
|
|
2973
|
+
|
|
2974
|
+
COPY_NODE_FIELD(cycle_col_list);
|
|
2975
|
+
COPY_STRING_FIELD(cycle_mark_column);
|
|
2976
|
+
COPY_NODE_FIELD(cycle_mark_value);
|
|
2977
|
+
COPY_NODE_FIELD(cycle_mark_default);
|
|
2978
|
+
COPY_STRING_FIELD(cycle_path_column);
|
|
2979
|
+
COPY_LOCATION_FIELD(location);
|
|
2980
|
+
COPY_SCALAR_FIELD(cycle_mark_type);
|
|
2981
|
+
COPY_SCALAR_FIELD(cycle_mark_typmod);
|
|
2982
|
+
COPY_SCALAR_FIELD(cycle_mark_collation);
|
|
2983
|
+
COPY_SCALAR_FIELD(cycle_mark_neop);
|
|
2984
|
+
|
|
2985
|
+
return newnode;
|
|
2986
|
+
}
|
|
2987
|
+
|
|
2879
2988
|
static CommonTableExpr *
|
|
2880
2989
|
_copyCommonTableExpr(const CommonTableExpr *from)
|
|
2881
2990
|
{
|
|
@@ -2885,6 +2994,8 @@ _copyCommonTableExpr(const CommonTableExpr *from)
|
|
|
2885
2994
|
COPY_NODE_FIELD(aliascolnames);
|
|
2886
2995
|
COPY_SCALAR_FIELD(ctematerialized);
|
|
2887
2996
|
COPY_NODE_FIELD(ctequery);
|
|
2997
|
+
COPY_NODE_FIELD(search_clause);
|
|
2998
|
+
COPY_NODE_FIELD(cycle_clause);
|
|
2888
2999
|
COPY_LOCATION_FIELD(location);
|
|
2889
3000
|
COPY_SCALAR_FIELD(cterecursive);
|
|
2890
3001
|
COPY_SCALAR_FIELD(cterefcount);
|
|
@@ -2896,8 +3007,37 @@ _copyCommonTableExpr(const CommonTableExpr *from)
|
|
|
2896
3007
|
return newnode;
|
|
2897
3008
|
}
|
|
2898
3009
|
|
|
3010
|
+
static MergeWhenClause *
|
|
3011
|
+
_copyMergeWhenClause(const MergeWhenClause *from)
|
|
3012
|
+
{
|
|
3013
|
+
MergeWhenClause *newnode = makeNode(MergeWhenClause);
|
|
3014
|
+
|
|
3015
|
+
COPY_SCALAR_FIELD(matched);
|
|
3016
|
+
COPY_SCALAR_FIELD(commandType);
|
|
3017
|
+
COPY_SCALAR_FIELD(override);
|
|
3018
|
+
COPY_NODE_FIELD(condition);
|
|
3019
|
+
COPY_NODE_FIELD(targetList);
|
|
3020
|
+
COPY_NODE_FIELD(values);
|
|
3021
|
+
return newnode;
|
|
3022
|
+
}
|
|
3023
|
+
|
|
3024
|
+
static MergeAction *
|
|
3025
|
+
_copyMergeAction(const MergeAction *from)
|
|
3026
|
+
{
|
|
3027
|
+
MergeAction *newnode = makeNode(MergeAction);
|
|
3028
|
+
|
|
3029
|
+
COPY_SCALAR_FIELD(matched);
|
|
3030
|
+
COPY_SCALAR_FIELD(commandType);
|
|
3031
|
+
COPY_SCALAR_FIELD(override);
|
|
3032
|
+
COPY_NODE_FIELD(qual);
|
|
3033
|
+
COPY_NODE_FIELD(targetList);
|
|
3034
|
+
COPY_NODE_FIELD(updateColnos);
|
|
3035
|
+
|
|
3036
|
+
return newnode;
|
|
3037
|
+
}
|
|
3038
|
+
|
|
2899
3039
|
static A_Expr *
|
|
2900
|
-
|
|
3040
|
+
_copyA_Expr(const A_Expr *from)
|
|
2901
3041
|
{
|
|
2902
3042
|
A_Expr *newnode = makeNode(A_Expr);
|
|
2903
3043
|
|
|
@@ -2933,29 +3073,37 @@ _copyParamRef(const ParamRef *from)
|
|
|
2933
3073
|
}
|
|
2934
3074
|
|
|
2935
3075
|
static A_Const *
|
|
2936
|
-
|
|
3076
|
+
_copyA_Const(const A_Const *from)
|
|
2937
3077
|
{
|
|
2938
3078
|
A_Const *newnode = makeNode(A_Const);
|
|
2939
3079
|
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
switch (from->val.type)
|
|
3080
|
+
COPY_SCALAR_FIELD(isnull);
|
|
3081
|
+
if (!from->isnull)
|
|
2943
3082
|
{
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
3083
|
+
/* This part must duplicate other _copy*() functions. */
|
|
3084
|
+
COPY_SCALAR_FIELD(val.node.type);
|
|
3085
|
+
switch (nodeTag(&from->val))
|
|
3086
|
+
{
|
|
3087
|
+
case T_Integer:
|
|
3088
|
+
COPY_SCALAR_FIELD(val.ival.ival);
|
|
3089
|
+
break;
|
|
3090
|
+
case T_Float:
|
|
3091
|
+
COPY_STRING_FIELD(val.fval.fval);
|
|
3092
|
+
break;
|
|
3093
|
+
case T_Boolean:
|
|
3094
|
+
COPY_SCALAR_FIELD(val.boolval.boolval);
|
|
3095
|
+
break;
|
|
3096
|
+
case T_String:
|
|
3097
|
+
COPY_STRING_FIELD(val.sval.sval);
|
|
3098
|
+
break;
|
|
3099
|
+
case T_BitString:
|
|
3100
|
+
COPY_STRING_FIELD(val.bsval.bsval);
|
|
3101
|
+
break;
|
|
3102
|
+
default:
|
|
3103
|
+
elog(ERROR, "unrecognized node type: %d",
|
|
3104
|
+
(int) nodeTag(&from->val));
|
|
3105
|
+
break;
|
|
3106
|
+
}
|
|
2959
3107
|
}
|
|
2960
3108
|
|
|
2961
3109
|
COPY_LOCATION_FIELD(location);
|
|
@@ -2972,18 +3120,19 @@ _copyFuncCall(const FuncCall *from)
|
|
|
2972
3120
|
COPY_NODE_FIELD(args);
|
|
2973
3121
|
COPY_NODE_FIELD(agg_order);
|
|
2974
3122
|
COPY_NODE_FIELD(agg_filter);
|
|
3123
|
+
COPY_NODE_FIELD(over);
|
|
2975
3124
|
COPY_SCALAR_FIELD(agg_within_group);
|
|
2976
3125
|
COPY_SCALAR_FIELD(agg_star);
|
|
2977
3126
|
COPY_SCALAR_FIELD(agg_distinct);
|
|
2978
3127
|
COPY_SCALAR_FIELD(func_variadic);
|
|
2979
|
-
|
|
3128
|
+
COPY_SCALAR_FIELD(funcformat);
|
|
2980
3129
|
COPY_LOCATION_FIELD(location);
|
|
2981
3130
|
|
|
2982
3131
|
return newnode;
|
|
2983
3132
|
}
|
|
2984
3133
|
|
|
2985
3134
|
static A_Star *
|
|
2986
|
-
|
|
3135
|
+
_copyA_Star(const A_Star *from)
|
|
2987
3136
|
{
|
|
2988
3137
|
A_Star *newnode = makeNode(A_Star);
|
|
2989
3138
|
|
|
@@ -2991,7 +3140,7 @@ _copyAStar(const A_Star *from)
|
|
|
2991
3140
|
}
|
|
2992
3141
|
|
|
2993
3142
|
static A_Indices *
|
|
2994
|
-
|
|
3143
|
+
_copyA_Indices(const A_Indices *from)
|
|
2995
3144
|
{
|
|
2996
3145
|
A_Indices *newnode = makeNode(A_Indices);
|
|
2997
3146
|
|
|
@@ -3211,6 +3360,17 @@ _copyIndexElem(const IndexElem *from)
|
|
|
3211
3360
|
return newnode;
|
|
3212
3361
|
}
|
|
3213
3362
|
|
|
3363
|
+
static StatsElem *
|
|
3364
|
+
_copyStatsElem(const StatsElem *from)
|
|
3365
|
+
{
|
|
3366
|
+
StatsElem *newnode = makeNode(StatsElem);
|
|
3367
|
+
|
|
3368
|
+
COPY_STRING_FIELD(name);
|
|
3369
|
+
COPY_NODE_FIELD(expr);
|
|
3370
|
+
|
|
3371
|
+
return newnode;
|
|
3372
|
+
}
|
|
3373
|
+
|
|
3214
3374
|
static ColumnDef *
|
|
3215
3375
|
_copyColumnDef(const ColumnDef *from)
|
|
3216
3376
|
{
|
|
@@ -3218,6 +3378,7 @@ _copyColumnDef(const ColumnDef *from)
|
|
|
3218
3378
|
|
|
3219
3379
|
COPY_STRING_FIELD(colname);
|
|
3220
3380
|
COPY_NODE_FIELD(typeName);
|
|
3381
|
+
COPY_STRING_FIELD(compression);
|
|
3221
3382
|
COPY_SCALAR_FIELD(inhcount);
|
|
3222
3383
|
COPY_SCALAR_FIELD(is_local);
|
|
3223
3384
|
COPY_SCALAR_FIELD(is_not_null);
|
|
@@ -3251,6 +3412,7 @@ _copyConstraint(const Constraint *from)
|
|
|
3251
3412
|
COPY_NODE_FIELD(raw_expr);
|
|
3252
3413
|
COPY_STRING_FIELD(cooked_expr);
|
|
3253
3414
|
COPY_SCALAR_FIELD(generated_when);
|
|
3415
|
+
COPY_SCALAR_FIELD(nulls_not_distinct);
|
|
3254
3416
|
COPY_NODE_FIELD(keys);
|
|
3255
3417
|
COPY_NODE_FIELD(including);
|
|
3256
3418
|
COPY_NODE_FIELD(exclusions);
|
|
@@ -3266,6 +3428,7 @@ _copyConstraint(const Constraint *from)
|
|
|
3266
3428
|
COPY_SCALAR_FIELD(fk_matchtype);
|
|
3267
3429
|
COPY_SCALAR_FIELD(fk_upd_action);
|
|
3268
3430
|
COPY_SCALAR_FIELD(fk_del_action);
|
|
3431
|
+
COPY_NODE_FIELD(fk_del_set_cols);
|
|
3269
3432
|
COPY_NODE_FIELD(old_conpfeqop);
|
|
3270
3433
|
COPY_SCALAR_FIELD(old_pktable_oid);
|
|
3271
3434
|
COPY_SCALAR_FIELD(skip_validation);
|
|
@@ -3357,6 +3520,7 @@ _copyQuery(const Query *from)
|
|
|
3357
3520
|
COPY_SCALAR_FIELD(hasModifyingCTE);
|
|
3358
3521
|
COPY_SCALAR_FIELD(hasForUpdate);
|
|
3359
3522
|
COPY_SCALAR_FIELD(hasRowSecurity);
|
|
3523
|
+
COPY_SCALAR_FIELD(isReturn);
|
|
3360
3524
|
COPY_NODE_FIELD(cteList);
|
|
3361
3525
|
COPY_NODE_FIELD(rtable);
|
|
3362
3526
|
COPY_NODE_FIELD(jointree);
|
|
@@ -3365,6 +3529,7 @@ _copyQuery(const Query *from)
|
|
|
3365
3529
|
COPY_NODE_FIELD(onConflict);
|
|
3366
3530
|
COPY_NODE_FIELD(returningList);
|
|
3367
3531
|
COPY_NODE_FIELD(groupClause);
|
|
3532
|
+
COPY_SCALAR_FIELD(groupDistinct);
|
|
3368
3533
|
COPY_NODE_FIELD(groupingSets);
|
|
3369
3534
|
COPY_NODE_FIELD(havingQual);
|
|
3370
3535
|
COPY_NODE_FIELD(windowClause);
|
|
@@ -3377,6 +3542,8 @@ _copyQuery(const Query *from)
|
|
|
3377
3542
|
COPY_NODE_FIELD(setOperations);
|
|
3378
3543
|
COPY_NODE_FIELD(constraintDeps);
|
|
3379
3544
|
COPY_NODE_FIELD(withCheckOptions);
|
|
3545
|
+
COPY_NODE_FIELD(mergeActionList);
|
|
3546
|
+
COPY_SCALAR_FIELD(mergeUseOuterJoin);
|
|
3380
3547
|
COPY_LOCATION_FIELD(stmt_location);
|
|
3381
3548
|
COPY_SCALAR_FIELD(stmt_len);
|
|
3382
3549
|
|
|
@@ -3440,6 +3607,20 @@ _copyUpdateStmt(const UpdateStmt *from)
|
|
|
3440
3607
|
return newnode;
|
|
3441
3608
|
}
|
|
3442
3609
|
|
|
3610
|
+
static MergeStmt *
|
|
3611
|
+
_copyMergeStmt(const MergeStmt *from)
|
|
3612
|
+
{
|
|
3613
|
+
MergeStmt *newnode = makeNode(MergeStmt);
|
|
3614
|
+
|
|
3615
|
+
COPY_NODE_FIELD(relation);
|
|
3616
|
+
COPY_NODE_FIELD(sourceRelation);
|
|
3617
|
+
COPY_NODE_FIELD(joinCondition);
|
|
3618
|
+
COPY_NODE_FIELD(mergeWhenClauses);
|
|
3619
|
+
COPY_NODE_FIELD(withClause);
|
|
3620
|
+
|
|
3621
|
+
return newnode;
|
|
3622
|
+
}
|
|
3623
|
+
|
|
3443
3624
|
static SelectStmt *
|
|
3444
3625
|
_copySelectStmt(const SelectStmt *from)
|
|
3445
3626
|
{
|
|
@@ -3451,6 +3632,7 @@ _copySelectStmt(const SelectStmt *from)
|
|
|
3451
3632
|
COPY_NODE_FIELD(fromClause);
|
|
3452
3633
|
COPY_NODE_FIELD(whereClause);
|
|
3453
3634
|
COPY_NODE_FIELD(groupClause);
|
|
3635
|
+
COPY_SCALAR_FIELD(groupDistinct);
|
|
3454
3636
|
COPY_NODE_FIELD(havingClause);
|
|
3455
3637
|
COPY_NODE_FIELD(windowClause);
|
|
3456
3638
|
COPY_NODE_FIELD(valuesLists);
|
|
@@ -3485,6 +3667,30 @@ _copySetOperationStmt(const SetOperationStmt *from)
|
|
|
3485
3667
|
return newnode;
|
|
3486
3668
|
}
|
|
3487
3669
|
|
|
3670
|
+
static ReturnStmt *
|
|
3671
|
+
_copyReturnStmt(const ReturnStmt *from)
|
|
3672
|
+
{
|
|
3673
|
+
ReturnStmt *newnode = makeNode(ReturnStmt);
|
|
3674
|
+
|
|
3675
|
+
COPY_NODE_FIELD(returnval);
|
|
3676
|
+
|
|
3677
|
+
return newnode;
|
|
3678
|
+
}
|
|
3679
|
+
|
|
3680
|
+
static PLAssignStmt *
|
|
3681
|
+
_copyPLAssignStmt(const PLAssignStmt *from)
|
|
3682
|
+
{
|
|
3683
|
+
PLAssignStmt *newnode = makeNode(PLAssignStmt);
|
|
3684
|
+
|
|
3685
|
+
COPY_STRING_FIELD(name);
|
|
3686
|
+
COPY_NODE_FIELD(indirection);
|
|
3687
|
+
COPY_SCALAR_FIELD(nnames);
|
|
3688
|
+
COPY_NODE_FIELD(val);
|
|
3689
|
+
COPY_LOCATION_FIELD(location);
|
|
3690
|
+
|
|
3691
|
+
return newnode;
|
|
3692
|
+
}
|
|
3693
|
+
|
|
3488
3694
|
static AlterTableStmt *
|
|
3489
3695
|
_copyAlterTableStmt(const AlterTableStmt *from)
|
|
3490
3696
|
{
|
|
@@ -3492,7 +3698,7 @@ _copyAlterTableStmt(const AlterTableStmt *from)
|
|
|
3492
3698
|
|
|
3493
3699
|
COPY_NODE_FIELD(relation);
|
|
3494
3700
|
COPY_NODE_FIELD(cmds);
|
|
3495
|
-
COPY_SCALAR_FIELD(
|
|
3701
|
+
COPY_SCALAR_FIELD(objtype);
|
|
3496
3702
|
COPY_SCALAR_FIELD(missing_ok);
|
|
3497
3703
|
|
|
3498
3704
|
return newnode;
|
|
@@ -3510,6 +3716,7 @@ _copyAlterTableCmd(const AlterTableCmd *from)
|
|
|
3510
3716
|
COPY_NODE_FIELD(def);
|
|
3511
3717
|
COPY_SCALAR_FIELD(behavior);
|
|
3512
3718
|
COPY_SCALAR_FIELD(missing_ok);
|
|
3719
|
+
COPY_SCALAR_FIELD(recurse);
|
|
3513
3720
|
|
|
3514
3721
|
return newnode;
|
|
3515
3722
|
}
|
|
@@ -3551,6 +3758,7 @@ _copyGrantStmt(const GrantStmt *from)
|
|
|
3551
3758
|
COPY_NODE_FIELD(privileges);
|
|
3552
3759
|
COPY_NODE_FIELD(grantees);
|
|
3553
3760
|
COPY_SCALAR_FIELD(grant_option);
|
|
3761
|
+
COPY_NODE_FIELD(grantor);
|
|
3554
3762
|
COPY_SCALAR_FIELD(behavior);
|
|
3555
3763
|
|
|
3556
3764
|
return newnode;
|
|
@@ -3563,6 +3771,7 @@ _copyObjectWithArgs(const ObjectWithArgs *from)
|
|
|
3563
3771
|
|
|
3564
3772
|
COPY_NODE_FIELD(objname);
|
|
3565
3773
|
COPY_NODE_FIELD(objargs);
|
|
3774
|
+
COPY_NODE_FIELD(objfuncargs);
|
|
3566
3775
|
COPY_SCALAR_FIELD(args_unspecified);
|
|
3567
3776
|
|
|
3568
3777
|
return newnode;
|
|
@@ -3634,6 +3843,7 @@ _copyCallStmt(const CallStmt *from)
|
|
|
3634
3843
|
|
|
3635
3844
|
COPY_NODE_FIELD(funccall);
|
|
3636
3845
|
COPY_NODE_FIELD(funcexpr);
|
|
3846
|
+
COPY_NODE_FIELD(outargs);
|
|
3637
3847
|
|
|
3638
3848
|
return newnode;
|
|
3639
3849
|
}
|
|
@@ -3645,7 +3855,7 @@ _copyClusterStmt(const ClusterStmt *from)
|
|
|
3645
3855
|
|
|
3646
3856
|
COPY_NODE_FIELD(relation);
|
|
3647
3857
|
COPY_STRING_FIELD(indexname);
|
|
3648
|
-
|
|
3858
|
+
COPY_NODE_FIELD(params);
|
|
3649
3859
|
|
|
3650
3860
|
return newnode;
|
|
3651
3861
|
}
|
|
@@ -3812,6 +4022,7 @@ _copyIndexStmt(const IndexStmt *from)
|
|
|
3812
4022
|
COPY_SCALAR_FIELD(oldCreateSubid);
|
|
3813
4023
|
COPY_SCALAR_FIELD(oldFirstRelfilenodeSubid);
|
|
3814
4024
|
COPY_SCALAR_FIELD(unique);
|
|
4025
|
+
COPY_SCALAR_FIELD(nulls_not_distinct);
|
|
3815
4026
|
COPY_SCALAR_FIELD(primary);
|
|
3816
4027
|
COPY_SCALAR_FIELD(isconstraint);
|
|
3817
4028
|
COPY_SCALAR_FIELD(deferrable);
|
|
@@ -3834,6 +4045,7 @@ _copyCreateStatsStmt(const CreateStatsStmt *from)
|
|
|
3834
4045
|
COPY_NODE_FIELD(exprs);
|
|
3835
4046
|
COPY_NODE_FIELD(relations);
|
|
3836
4047
|
COPY_STRING_FIELD(stxcomment);
|
|
4048
|
+
COPY_SCALAR_FIELD(transformed);
|
|
3837
4049
|
COPY_SCALAR_FIELD(if_not_exists);
|
|
3838
4050
|
|
|
3839
4051
|
return newnode;
|
|
@@ -3862,6 +4074,7 @@ _copyCreateFunctionStmt(const CreateFunctionStmt *from)
|
|
|
3862
4074
|
COPY_NODE_FIELD(parameters);
|
|
3863
4075
|
COPY_NODE_FIELD(returnType);
|
|
3864
4076
|
COPY_NODE_FIELD(options);
|
|
4077
|
+
COPY_NODE_FIELD(sql_body);
|
|
3865
4078
|
|
|
3866
4079
|
return newnode;
|
|
3867
4080
|
}
|
|
@@ -4204,6 +4417,16 @@ _copyAlterDatabaseStmt(const AlterDatabaseStmt *from)
|
|
|
4204
4417
|
return newnode;
|
|
4205
4418
|
}
|
|
4206
4419
|
|
|
4420
|
+
static AlterDatabaseRefreshCollStmt *
|
|
4421
|
+
_copyAlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt *from)
|
|
4422
|
+
{
|
|
4423
|
+
AlterDatabaseRefreshCollStmt *newnode = makeNode(AlterDatabaseRefreshCollStmt);
|
|
4424
|
+
|
|
4425
|
+
COPY_STRING_FIELD(dbname);
|
|
4426
|
+
|
|
4427
|
+
return newnode;
|
|
4428
|
+
}
|
|
4429
|
+
|
|
4207
4430
|
static AlterDatabaseSetStmt *
|
|
4208
4431
|
_copyAlterDatabaseSetStmt(const AlterDatabaseSetStmt *from)
|
|
4209
4432
|
{
|
|
@@ -4269,7 +4492,7 @@ _copyCreateTableAsStmt(const CreateTableAsStmt *from)
|
|
|
4269
4492
|
|
|
4270
4493
|
COPY_NODE_FIELD(query);
|
|
4271
4494
|
COPY_NODE_FIELD(into);
|
|
4272
|
-
COPY_SCALAR_FIELD(
|
|
4495
|
+
COPY_SCALAR_FIELD(objtype);
|
|
4273
4496
|
COPY_SCALAR_FIELD(is_select_into);
|
|
4274
4497
|
COPY_SCALAR_FIELD(if_not_exists);
|
|
4275
4498
|
|
|
@@ -4603,6 +4826,8 @@ _copyCreateTrigStmt(const CreateTrigStmt *from)
|
|
|
4603
4826
|
{
|
|
4604
4827
|
CreateTrigStmt *newnode = makeNode(CreateTrigStmt);
|
|
4605
4828
|
|
|
4829
|
+
COPY_SCALAR_FIELD(replace);
|
|
4830
|
+
COPY_SCALAR_FIELD(isconstraint);
|
|
4606
4831
|
COPY_STRING_FIELD(trigname);
|
|
4607
4832
|
COPY_NODE_FIELD(relation);
|
|
4608
4833
|
COPY_NODE_FIELD(funcname);
|
|
@@ -4612,7 +4837,6 @@ _copyCreateTrigStmt(const CreateTrigStmt *from)
|
|
|
4612
4837
|
COPY_SCALAR_FIELD(events);
|
|
4613
4838
|
COPY_NODE_FIELD(columns);
|
|
4614
4839
|
COPY_NODE_FIELD(whenClause);
|
|
4615
|
-
COPY_SCALAR_FIELD(isconstraint);
|
|
4616
4840
|
COPY_NODE_FIELD(transitionRels);
|
|
4617
4841
|
COPY_SCALAR_FIELD(deferrable);
|
|
4618
4842
|
COPY_SCALAR_FIELD(initdeferred);
|
|
@@ -4738,8 +4962,7 @@ _copyReindexStmt(const ReindexStmt *from)
|
|
|
4738
4962
|
COPY_SCALAR_FIELD(kind);
|
|
4739
4963
|
COPY_NODE_FIELD(relation);
|
|
4740
4964
|
COPY_STRING_FIELD(name);
|
|
4741
|
-
|
|
4742
|
-
COPY_SCALAR_FIELD(concurrent);
|
|
4965
|
+
COPY_NODE_FIELD(params);
|
|
4743
4966
|
|
|
4744
4967
|
return newnode;
|
|
4745
4968
|
}
|
|
@@ -4959,6 +5182,32 @@ _copyPartitionCmd(const PartitionCmd *from)
|
|
|
4959
5182
|
|
|
4960
5183
|
COPY_NODE_FIELD(name);
|
|
4961
5184
|
COPY_NODE_FIELD(bound);
|
|
5185
|
+
COPY_SCALAR_FIELD(concurrent);
|
|
5186
|
+
|
|
5187
|
+
return newnode;
|
|
5188
|
+
}
|
|
5189
|
+
|
|
5190
|
+
static PublicationObjSpec *
|
|
5191
|
+
_copyPublicationObject(const PublicationObjSpec *from)
|
|
5192
|
+
{
|
|
5193
|
+
PublicationObjSpec *newnode = makeNode(PublicationObjSpec);
|
|
5194
|
+
|
|
5195
|
+
COPY_SCALAR_FIELD(pubobjtype);
|
|
5196
|
+
COPY_STRING_FIELD(name);
|
|
5197
|
+
COPY_NODE_FIELD(pubtable);
|
|
5198
|
+
COPY_LOCATION_FIELD(location);
|
|
5199
|
+
|
|
5200
|
+
return newnode;
|
|
5201
|
+
}
|
|
5202
|
+
|
|
5203
|
+
static PublicationTable *
|
|
5204
|
+
_copyPublicationTable(const PublicationTable *from)
|
|
5205
|
+
{
|
|
5206
|
+
PublicationTable *newnode = makeNode(PublicationTable);
|
|
5207
|
+
|
|
5208
|
+
COPY_NODE_FIELD(relation);
|
|
5209
|
+
COPY_NODE_FIELD(whereClause);
|
|
5210
|
+
COPY_NODE_FIELD(columns);
|
|
4962
5211
|
|
|
4963
5212
|
return newnode;
|
|
4964
5213
|
}
|
|
@@ -4970,7 +5219,7 @@ _copyCreatePublicationStmt(const CreatePublicationStmt *from)
|
|
|
4970
5219
|
|
|
4971
5220
|
COPY_STRING_FIELD(pubname);
|
|
4972
5221
|
COPY_NODE_FIELD(options);
|
|
4973
|
-
COPY_NODE_FIELD(
|
|
5222
|
+
COPY_NODE_FIELD(pubobjects);
|
|
4974
5223
|
COPY_SCALAR_FIELD(for_all_tables);
|
|
4975
5224
|
|
|
4976
5225
|
return newnode;
|
|
@@ -4983,9 +5232,9 @@ _copyAlterPublicationStmt(const AlterPublicationStmt *from)
|
|
|
4983
5232
|
|
|
4984
5233
|
COPY_STRING_FIELD(pubname);
|
|
4985
5234
|
COPY_NODE_FIELD(options);
|
|
4986
|
-
COPY_NODE_FIELD(
|
|
5235
|
+
COPY_NODE_FIELD(pubobjects);
|
|
4987
5236
|
COPY_SCALAR_FIELD(for_all_tables);
|
|
4988
|
-
COPY_SCALAR_FIELD(
|
|
5237
|
+
COPY_SCALAR_FIELD(action);
|
|
4989
5238
|
|
|
4990
5239
|
return newnode;
|
|
4991
5240
|
}
|
|
@@ -5054,32 +5303,53 @@ _copyExtensibleNode(const ExtensibleNode *from)
|
|
|
5054
5303
|
* value.h copy functions
|
|
5055
5304
|
* ****************************************************************
|
|
5056
5305
|
*/
|
|
5057
|
-
static
|
|
5058
|
-
|
|
5306
|
+
static Integer *
|
|
5307
|
+
_copyInteger(const Integer *from)
|
|
5059
5308
|
{
|
|
5060
|
-
|
|
5309
|
+
Integer *newnode = makeNode(Integer);
|
|
5061
5310
|
|
|
5062
|
-
|
|
5311
|
+
COPY_SCALAR_FIELD(ival);
|
|
5312
|
+
|
|
5313
|
+
return newnode;
|
|
5314
|
+
}
|
|
5315
|
+
|
|
5316
|
+
static Float *
|
|
5317
|
+
_copyFloat(const Float *from)
|
|
5318
|
+
{
|
|
5319
|
+
Float *newnode = makeNode(Float);
|
|
5320
|
+
|
|
5321
|
+
COPY_STRING_FIELD(fval);
|
|
5322
|
+
|
|
5323
|
+
return newnode;
|
|
5324
|
+
}
|
|
5325
|
+
|
|
5326
|
+
static Boolean *
|
|
5327
|
+
_copyBoolean(const Boolean *from)
|
|
5328
|
+
{
|
|
5329
|
+
Boolean *newnode = makeNode(Boolean);
|
|
5330
|
+
|
|
5331
|
+
COPY_SCALAR_FIELD(boolval);
|
|
5332
|
+
|
|
5333
|
+
return newnode;
|
|
5334
|
+
}
|
|
5335
|
+
|
|
5336
|
+
static String *
|
|
5337
|
+
_copyString(const String *from)
|
|
5338
|
+
{
|
|
5339
|
+
String *newnode = makeNode(String);
|
|
5340
|
+
|
|
5341
|
+
COPY_STRING_FIELD(sval);
|
|
5342
|
+
|
|
5343
|
+
return newnode;
|
|
5344
|
+
}
|
|
5345
|
+
|
|
5346
|
+
static BitString *
|
|
5347
|
+
_copyBitString(const BitString *from)
|
|
5348
|
+
{
|
|
5349
|
+
BitString *newnode = makeNode(BitString);
|
|
5350
|
+
|
|
5351
|
+
COPY_STRING_FIELD(bsval);
|
|
5063
5352
|
|
|
5064
|
-
COPY_SCALAR_FIELD(type);
|
|
5065
|
-
switch (from->type)
|
|
5066
|
-
{
|
|
5067
|
-
case T_Integer:
|
|
5068
|
-
COPY_SCALAR_FIELD(val.ival);
|
|
5069
|
-
break;
|
|
5070
|
-
case T_Float:
|
|
5071
|
-
case T_String:
|
|
5072
|
-
case T_BitString:
|
|
5073
|
-
COPY_STRING_FIELD(val.str);
|
|
5074
|
-
break;
|
|
5075
|
-
case T_Null:
|
|
5076
|
-
/* nothing to do */
|
|
5077
|
-
break;
|
|
5078
|
-
default:
|
|
5079
|
-
elog(ERROR, "unrecognized node type: %d",
|
|
5080
|
-
(int) from->type);
|
|
5081
|
-
break;
|
|
5082
|
-
}
|
|
5083
5353
|
return newnode;
|
|
5084
5354
|
}
|
|
5085
5355
|
|
|
@@ -5093,15 +5363,13 @@ _copyForeignKeyCacheInfo(const ForeignKeyCacheInfo *from)
|
|
|
5093
5363
|
COPY_SCALAR_FIELD(conrelid);
|
|
5094
5364
|
COPY_SCALAR_FIELD(confrelid);
|
|
5095
5365
|
COPY_SCALAR_FIELD(nkeys);
|
|
5096
|
-
|
|
5097
|
-
|
|
5098
|
-
|
|
5099
|
-
memcpy(newnode->conpfeqop, from->conpfeqop, sizeof(newnode->conpfeqop));
|
|
5366
|
+
COPY_ARRAY_FIELD(conkey);
|
|
5367
|
+
COPY_ARRAY_FIELD(confkey);
|
|
5368
|
+
COPY_ARRAY_FIELD(conpfeqop);
|
|
5100
5369
|
|
|
5101
5370
|
return newnode;
|
|
5102
5371
|
}
|
|
5103
5372
|
|
|
5104
|
-
|
|
5105
5373
|
/*
|
|
5106
5374
|
* copyObjectImpl -- implementation of copyObject(); see nodes/nodes.h
|
|
5107
5375
|
*
|
|
@@ -5184,6 +5452,9 @@ copyObjectImpl(const void *from)
|
|
|
5184
5452
|
case T_TidScan:
|
|
5185
5453
|
retval = _copyTidScan(from);
|
|
5186
5454
|
break;
|
|
5455
|
+
case T_TidRangeScan:
|
|
5456
|
+
retval = _copyTidRangeScan(from);
|
|
5457
|
+
break;
|
|
5187
5458
|
case T_SubqueryScan:
|
|
5188
5459
|
retval = _copySubqueryScan(from);
|
|
5189
5460
|
break;
|
|
@@ -5226,6 +5497,9 @@ copyObjectImpl(const void *from)
|
|
|
5226
5497
|
case T_Material:
|
|
5227
5498
|
retval = _copyMaterial(from);
|
|
5228
5499
|
break;
|
|
5500
|
+
case T_Memoize:
|
|
5501
|
+
retval = _copyMemoize(from);
|
|
5502
|
+
break;
|
|
5229
5503
|
case T_Sort:
|
|
5230
5504
|
retval = _copySort(from);
|
|
5231
5505
|
break;
|
|
@@ -5461,11 +5735,19 @@ copyObjectImpl(const void *from)
|
|
|
5461
5735
|
* VALUE NODES
|
|
5462
5736
|
*/
|
|
5463
5737
|
case T_Integer:
|
|
5738
|
+
retval = _copyInteger(from);
|
|
5739
|
+
break;
|
|
5464
5740
|
case T_Float:
|
|
5741
|
+
retval = _copyFloat(from);
|
|
5742
|
+
break;
|
|
5743
|
+
case T_Boolean:
|
|
5744
|
+
retval = _copyBoolean(from);
|
|
5745
|
+
break;
|
|
5465
5746
|
case T_String:
|
|
5747
|
+
retval = _copyString(from);
|
|
5748
|
+
break;
|
|
5466
5749
|
case T_BitString:
|
|
5467
|
-
|
|
5468
|
-
retval = _copyValue(from);
|
|
5750
|
+
retval = _copyBitString(from);
|
|
5469
5751
|
break;
|
|
5470
5752
|
|
|
5471
5753
|
/*
|
|
@@ -5509,12 +5791,21 @@ copyObjectImpl(const void *from)
|
|
|
5509
5791
|
case T_UpdateStmt:
|
|
5510
5792
|
retval = _copyUpdateStmt(from);
|
|
5511
5793
|
break;
|
|
5794
|
+
case T_MergeStmt:
|
|
5795
|
+
retval = _copyMergeStmt(from);
|
|
5796
|
+
break;
|
|
5512
5797
|
case T_SelectStmt:
|
|
5513
5798
|
retval = _copySelectStmt(from);
|
|
5514
5799
|
break;
|
|
5515
5800
|
case T_SetOperationStmt:
|
|
5516
5801
|
retval = _copySetOperationStmt(from);
|
|
5517
5802
|
break;
|
|
5803
|
+
case T_ReturnStmt:
|
|
5804
|
+
retval = _copyReturnStmt(from);
|
|
5805
|
+
break;
|
|
5806
|
+
case T_PLAssignStmt:
|
|
5807
|
+
retval = _copyPLAssignStmt(from);
|
|
5808
|
+
break;
|
|
5518
5809
|
case T_AlterTableStmt:
|
|
5519
5810
|
retval = _copyAlterTableStmt(from);
|
|
5520
5811
|
break;
|
|
@@ -5668,6 +5959,9 @@ copyObjectImpl(const void *from)
|
|
|
5668
5959
|
case T_AlterDatabaseStmt:
|
|
5669
5960
|
retval = _copyAlterDatabaseStmt(from);
|
|
5670
5961
|
break;
|
|
5962
|
+
case T_AlterDatabaseRefreshCollStmt:
|
|
5963
|
+
retval = _copyAlterDatabaseRefreshCollStmt(from);
|
|
5964
|
+
break;
|
|
5671
5965
|
case T_AlterDatabaseSetStmt:
|
|
5672
5966
|
retval = _copyAlterDatabaseSetStmt(from);
|
|
5673
5967
|
break;
|
|
@@ -5852,7 +6146,7 @@ copyObjectImpl(const void *from)
|
|
|
5852
6146
|
retval = _copyDropSubscriptionStmt(from);
|
|
5853
6147
|
break;
|
|
5854
6148
|
case T_A_Expr:
|
|
5855
|
-
retval =
|
|
6149
|
+
retval = _copyA_Expr(from);
|
|
5856
6150
|
break;
|
|
5857
6151
|
case T_ColumnRef:
|
|
5858
6152
|
retval = _copyColumnRef(from);
|
|
@@ -5861,16 +6155,16 @@ copyObjectImpl(const void *from)
|
|
|
5861
6155
|
retval = _copyParamRef(from);
|
|
5862
6156
|
break;
|
|
5863
6157
|
case T_A_Const:
|
|
5864
|
-
retval =
|
|
6158
|
+
retval = _copyA_Const(from);
|
|
5865
6159
|
break;
|
|
5866
6160
|
case T_FuncCall:
|
|
5867
6161
|
retval = _copyFuncCall(from);
|
|
5868
6162
|
break;
|
|
5869
6163
|
case T_A_Star:
|
|
5870
|
-
retval =
|
|
6164
|
+
retval = _copyA_Star(from);
|
|
5871
6165
|
break;
|
|
5872
6166
|
case T_A_Indices:
|
|
5873
|
-
retval =
|
|
6167
|
+
retval = _copyA_Indices(from);
|
|
5874
6168
|
break;
|
|
5875
6169
|
case T_A_Indirection:
|
|
5876
6170
|
retval = _copyA_Indirection(from);
|
|
@@ -5917,6 +6211,9 @@ copyObjectImpl(const void *from)
|
|
|
5917
6211
|
case T_IndexElem:
|
|
5918
6212
|
retval = _copyIndexElem(from);
|
|
5919
6213
|
break;
|
|
6214
|
+
case T_StatsElem:
|
|
6215
|
+
retval = _copyStatsElem(from);
|
|
6216
|
+
break;
|
|
5920
6217
|
case T_ColumnDef:
|
|
5921
6218
|
retval = _copyColumnDef(from);
|
|
5922
6219
|
break;
|
|
@@ -5962,9 +6259,21 @@ copyObjectImpl(const void *from)
|
|
|
5962
6259
|
case T_OnConflictClause:
|
|
5963
6260
|
retval = _copyOnConflictClause(from);
|
|
5964
6261
|
break;
|
|
6262
|
+
case T_CTESearchClause:
|
|
6263
|
+
retval = _copyCTESearchClause(from);
|
|
6264
|
+
break;
|
|
6265
|
+
case T_CTECycleClause:
|
|
6266
|
+
retval = _copyCTECycleClause(from);
|
|
6267
|
+
break;
|
|
5965
6268
|
case T_CommonTableExpr:
|
|
5966
6269
|
retval = _copyCommonTableExpr(from);
|
|
5967
6270
|
break;
|
|
6271
|
+
case T_MergeWhenClause:
|
|
6272
|
+
retval = _copyMergeWhenClause(from);
|
|
6273
|
+
break;
|
|
6274
|
+
case T_MergeAction:
|
|
6275
|
+
retval = _copyMergeAction(from);
|
|
6276
|
+
break;
|
|
5968
6277
|
case T_ObjectWithArgs:
|
|
5969
6278
|
retval = _copyObjectWithArgs(from);
|
|
5970
6279
|
break;
|
|
@@ -5995,6 +6304,12 @@ copyObjectImpl(const void *from)
|
|
|
5995
6304
|
case T_PartitionCmd:
|
|
5996
6305
|
retval = _copyPartitionCmd(from);
|
|
5997
6306
|
break;
|
|
6307
|
+
case T_PublicationObjSpec:
|
|
6308
|
+
retval = _copyPublicationObject(from);
|
|
6309
|
+
break;
|
|
6310
|
+
case T_PublicationTable:
|
|
6311
|
+
retval = _copyPublicationTable(from);
|
|
6312
|
+
break;
|
|
5998
6313
|
|
|
5999
6314
|
/*
|
|
6000
6315
|
* MISCELLANEOUS NODES
|