pg_query 2.2.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 +25 -0
- data/README.md +59 -31
- data/Rakefile +2 -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 +3 -1
- data/ext/pg_query/include/access/xact.h +73 -19
- data/ext/pg_query/include/access/xlog.h +60 -155
- data/ext/pg_query/include/access/xlog_internal.h +40 -13
- 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 +145 -39
- 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 +8 -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 +44 -14
- data/ext/pg_query/include/catalog/pg_class_d.h +30 -1
- 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 +3 -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 +18 -15
- 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 -7
- 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 +55 -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 +3 -4
- 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 +2 -2
- data/ext/pg_query/include/commands/trigger.h +18 -16
- 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 +140 -15
- 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 +30 -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 +105 -23
- data/ext/pg_query/include/mb/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/miscadmin.h +47 -41
- data/ext/pg_query/include/nodes/bitmapset.h +1 -1
- data/ext/pg_query/include/nodes/execnodes.h +270 -78
- 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 +322 -90
- data/ext/pg_query/include/nodes/pathnodes.h +243 -66
- data/ext/pg_query/include/nodes/pg_list.h +75 -69
- data/ext/pg_query/include/nodes/plannodes.h +111 -28
- 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 -17
- 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 +3 -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 +83 -41
- 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 +939 -113
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +43 -13
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +151 -26
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +11 -2
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +173 -30
- data/ext/pg_query/include/pg_trace.h +1 -1
- data/ext/pg_query/include/pgstat.h +449 -1238
- 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 +40 -10
- 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 +71 -46
- 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 +1419 -914
- 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 +259 -42
- data/ext/pg_query/include/replication/slot.h +22 -11
- 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 +11 -8
- data/ext/pg_query/include/storage/lockdefs.h +2 -2
- data/ext/pg_query/include/storage/lwlock.h +5 -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 +173 -59
- 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 +60 -21
- 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 +1 -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 +10 -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 +4 -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 +10 -12
- 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 -19
- data/ext/pg_query/include/utils/relcache.h +8 -5
- 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 +34 -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 +4302 -2304
- data/ext/pg_query/pg_query_deparse.c +1106 -373
- data/ext/pg_query/pg_query_fingerprint.c +30 -10
- data/ext/pg_query/pg_query_json_plpgsql.c +0 -25
- data/ext/pg_query/pg_query_normalize.c +1 -1
- data/ext/pg_query/pg_query_outfuncs_json.c +54 -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_readfuncs_protobuf.c +42 -8
- 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 +20 -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 +401 -76
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +290 -46
- data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
- data/ext/pg_query/src_backend_nodes_list.c +74 -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 +33874 -31261
- data/ext/pg_query/src_backend_parser_parser.c +26 -7
- data/ext/pg_query/src_backend_parser_scan.c +172 -209
- 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 +62 -23
- 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 +71 -5
- 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 +206 -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 +701 -109
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +45 -20
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -18
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1233 -1259
- 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 -31
- 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 +37 -13
- data/ext/pg_query/src_port_strerror.c +9 -19
- data/ext/pg_query/src_port_strnlen.c +1 -1
- data/lib/pg_query/filter_columns.rb +1 -1
- data/lib/pg_query/fingerprint.rb +5 -1
- data/lib/pg_query/node.rb +2 -2
- data/lib/pg_query/param_refs.rb +1 -1
- data/lib/pg_query/parse.rb +20 -8
- data/lib/pg_query/pg_query_pb.rb +1108 -942
- data/lib/pg_query/treewalker.rb +6 -0
- data/lib/pg_query/truncate.rb +1 -1
- data/lib/pg_query/version.rb +1 -1
- metadata +27 -17
- 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/pg_query_ruby_freebsd.sym +0 -2
- data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -659
- 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
|
@@ -59,15 +59,22 @@
|
|
|
59
59
|
* - _equalAppendRelInfo
|
|
60
60
|
* - _equalPlaceHolderInfo
|
|
61
61
|
* - _equalList
|
|
62
|
-
* -
|
|
62
|
+
* - _equalInteger
|
|
63
|
+
* - _equalFloat
|
|
64
|
+
* - _equalBoolean
|
|
65
|
+
* - _equalString
|
|
66
|
+
* - _equalBitString
|
|
63
67
|
* - _equalExtensibleNode
|
|
64
68
|
* - _equalQuery
|
|
65
69
|
* - _equalRawStmt
|
|
66
70
|
* - _equalInsertStmt
|
|
67
71
|
* - _equalDeleteStmt
|
|
68
72
|
* - _equalUpdateStmt
|
|
73
|
+
* - _equalMergeStmt
|
|
69
74
|
* - _equalSelectStmt
|
|
70
75
|
* - _equalSetOperationStmt
|
|
76
|
+
* - _equalReturnStmt
|
|
77
|
+
* - _equalPLAssignStmt
|
|
71
78
|
* - _equalAlterTableStmt
|
|
72
79
|
* - _equalAlterTableCmd
|
|
73
80
|
* - _equalAlterCollationStmt
|
|
@@ -119,6 +126,7 @@
|
|
|
119
126
|
* - _equalAlterOpFamilyStmt
|
|
120
127
|
* - _equalCreatedbStmt
|
|
121
128
|
* - _equalAlterDatabaseStmt
|
|
129
|
+
* - _equalAlterDatabaseRefreshCollStmt
|
|
122
130
|
* - _equalAlterDatabaseSetStmt
|
|
123
131
|
* - _equalDropdbStmt
|
|
124
132
|
* - _equalVacuumStmt
|
|
@@ -179,13 +187,13 @@
|
|
|
179
187
|
* - _equalCreateSubscriptionStmt
|
|
180
188
|
* - _equalAlterSubscriptionStmt
|
|
181
189
|
* - _equalDropSubscriptionStmt
|
|
182
|
-
* -
|
|
190
|
+
* - _equalA_Expr
|
|
183
191
|
* - _equalColumnRef
|
|
184
192
|
* - _equalParamRef
|
|
185
|
-
* -
|
|
193
|
+
* - _equalA_Const
|
|
186
194
|
* - _equalFuncCall
|
|
187
|
-
* -
|
|
188
|
-
* -
|
|
195
|
+
* - _equalA_Star
|
|
196
|
+
* - _equalA_Indices
|
|
189
197
|
* - _equalA_Indirection
|
|
190
198
|
* - _equalA_ArrayExpr
|
|
191
199
|
* - _equalResTarget
|
|
@@ -201,6 +209,7 @@
|
|
|
201
209
|
* - _equalRangeTableFuncCol
|
|
202
210
|
* - _equalTypeName
|
|
203
211
|
* - _equalIndexElem
|
|
212
|
+
* - _equalStatsElem
|
|
204
213
|
* - _equalColumnDef
|
|
205
214
|
* - _equalConstraint
|
|
206
215
|
* - _equalDefElem
|
|
@@ -216,7 +225,11 @@
|
|
|
216
225
|
* - _equalWithClause
|
|
217
226
|
* - _equalInferClause
|
|
218
227
|
* - _equalOnConflictClause
|
|
228
|
+
* - _equalCTESearchClause
|
|
229
|
+
* - _equalCTECycleClause
|
|
219
230
|
* - _equalCommonTableExpr
|
|
231
|
+
* - _equalMergeWhenClause
|
|
232
|
+
* - _equalMergeAction
|
|
220
233
|
* - _equalObjectWithArgs
|
|
221
234
|
* - _equalAccessPriv
|
|
222
235
|
* - _equalXmlSerialize
|
|
@@ -227,6 +240,8 @@
|
|
|
227
240
|
* - _equalPartitionBoundSpec
|
|
228
241
|
* - _equalPartitionRangeDatum
|
|
229
242
|
* - _equalPartitionCmd
|
|
243
|
+
* - _equalPublicationObject
|
|
244
|
+
* - _equalPublicationTable
|
|
230
245
|
*--------------------------------------------------------------------
|
|
231
246
|
*/
|
|
232
247
|
|
|
@@ -250,7 +265,7 @@
|
|
|
250
265
|
* "x" to be considered equal() to another reference to "x" in the query.
|
|
251
266
|
*
|
|
252
267
|
*
|
|
253
|
-
* Portions Copyright (c) 1996-
|
|
268
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
254
269
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
255
270
|
*
|
|
256
271
|
* IDENTIFICATION
|
|
@@ -306,6 +321,13 @@
|
|
|
306
321
|
#define equalstr(a, b) \
|
|
307
322
|
(((a) != NULL && (b) != NULL) ? (strcmp(a, b) == 0) : (a) == (b))
|
|
308
323
|
|
|
324
|
+
/* Compare a field that is an inline array */
|
|
325
|
+
#define COMPARE_ARRAY_FIELD(fldname) \
|
|
326
|
+
do { \
|
|
327
|
+
if (memcmp(a->fldname, b->fldname, sizeof(a->fldname)) != 0) \
|
|
328
|
+
return false; \
|
|
329
|
+
} while (0)
|
|
330
|
+
|
|
309
331
|
/* Compare a field that is a pointer to a simple palloc'd object of size sz */
|
|
310
332
|
#define COMPARE_POINTER_FIELD(fldname, sz) \
|
|
311
333
|
do { \
|
|
@@ -464,6 +486,8 @@ _equalAggref(const Aggref *a, const Aggref *b)
|
|
|
464
486
|
COMPARE_SCALAR_FIELD(aggkind);
|
|
465
487
|
COMPARE_SCALAR_FIELD(agglevelsup);
|
|
466
488
|
COMPARE_SCALAR_FIELD(aggsplit);
|
|
489
|
+
COMPARE_SCALAR_FIELD(aggno);
|
|
490
|
+
COMPARE_SCALAR_FIELD(aggtransno);
|
|
467
491
|
COMPARE_LOCATION_FIELD(location);
|
|
468
492
|
|
|
469
493
|
return true;
|
|
@@ -506,6 +530,7 @@ _equalSubscriptingRef(const SubscriptingRef *a, const SubscriptingRef *b)
|
|
|
506
530
|
{
|
|
507
531
|
COMPARE_SCALAR_FIELD(refcontainertype);
|
|
508
532
|
COMPARE_SCALAR_FIELD(refelemtype);
|
|
533
|
+
COMPARE_SCALAR_FIELD(refrestype);
|
|
509
534
|
COMPARE_SCALAR_FIELD(reftypmod);
|
|
510
535
|
COMPARE_SCALAR_FIELD(refcollid);
|
|
511
536
|
COMPARE_NODE_FIELD(refupperindexpr);
|
|
@@ -637,6 +662,18 @@ _equalScalarArrayOpExpr(const ScalarArrayOpExpr *a, const ScalarArrayOpExpr *b)
|
|
|
637
662
|
b->opfuncid != 0)
|
|
638
663
|
return false;
|
|
639
664
|
|
|
665
|
+
/* As above, hashfuncid may differ too */
|
|
666
|
+
if (a->hashfuncid != b->hashfuncid &&
|
|
667
|
+
a->hashfuncid != 0 &&
|
|
668
|
+
b->hashfuncid != 0)
|
|
669
|
+
return false;
|
|
670
|
+
|
|
671
|
+
/* Likewise for the negfuncid */
|
|
672
|
+
if (a->negfuncid != b->negfuncid &&
|
|
673
|
+
a->negfuncid != 0 &&
|
|
674
|
+
b->negfuncid != 0)
|
|
675
|
+
return false;
|
|
676
|
+
|
|
640
677
|
COMPARE_SCALAR_FIELD(useOr);
|
|
641
678
|
COMPARE_SCALAR_FIELD(inputcollid);
|
|
642
679
|
COMPARE_NODE_FIELD(args);
|
|
@@ -1019,6 +1056,7 @@ _equalJoinExpr(const JoinExpr *a, const JoinExpr *b)
|
|
|
1019
1056
|
COMPARE_NODE_FIELD(larg);
|
|
1020
1057
|
COMPARE_NODE_FIELD(rarg);
|
|
1021
1058
|
COMPARE_NODE_FIELD(usingClause);
|
|
1059
|
+
COMPARE_NODE_FIELD(join_using_alias);
|
|
1022
1060
|
COMPARE_NODE_FIELD(quals);
|
|
1023
1061
|
COMPARE_NODE_FIELD(alias);
|
|
1024
1062
|
COMPARE_SCALAR_FIELD(rtindex);
|
|
@@ -1198,6 +1236,7 @@ _equalQuery(const Query *a, const Query *b)
|
|
|
1198
1236
|
COMPARE_SCALAR_FIELD(hasModifyingCTE);
|
|
1199
1237
|
COMPARE_SCALAR_FIELD(hasForUpdate);
|
|
1200
1238
|
COMPARE_SCALAR_FIELD(hasRowSecurity);
|
|
1239
|
+
COMPARE_SCALAR_FIELD(isReturn);
|
|
1201
1240
|
COMPARE_NODE_FIELD(cteList);
|
|
1202
1241
|
COMPARE_NODE_FIELD(rtable);
|
|
1203
1242
|
COMPARE_NODE_FIELD(jointree);
|
|
@@ -1206,6 +1245,7 @@ _equalQuery(const Query *a, const Query *b)
|
|
|
1206
1245
|
COMPARE_NODE_FIELD(onConflict);
|
|
1207
1246
|
COMPARE_NODE_FIELD(returningList);
|
|
1208
1247
|
COMPARE_NODE_FIELD(groupClause);
|
|
1248
|
+
COMPARE_SCALAR_FIELD(groupDistinct);
|
|
1209
1249
|
COMPARE_NODE_FIELD(groupingSets);
|
|
1210
1250
|
COMPARE_NODE_FIELD(havingQual);
|
|
1211
1251
|
COMPARE_NODE_FIELD(windowClause);
|
|
@@ -1218,6 +1258,8 @@ _equalQuery(const Query *a, const Query *b)
|
|
|
1218
1258
|
COMPARE_NODE_FIELD(setOperations);
|
|
1219
1259
|
COMPARE_NODE_FIELD(constraintDeps);
|
|
1220
1260
|
COMPARE_NODE_FIELD(withCheckOptions);
|
|
1261
|
+
COMPARE_NODE_FIELD(mergeActionList);
|
|
1262
|
+
COMPARE_SCALAR_FIELD(mergeUseOuterJoin);
|
|
1221
1263
|
COMPARE_LOCATION_FIELD(stmt_location);
|
|
1222
1264
|
COMPARE_SCALAR_FIELD(stmt_len);
|
|
1223
1265
|
|
|
@@ -1273,6 +1315,18 @@ _equalUpdateStmt(const UpdateStmt *a, const UpdateStmt *b)
|
|
|
1273
1315
|
return true;
|
|
1274
1316
|
}
|
|
1275
1317
|
|
|
1318
|
+
static bool
|
|
1319
|
+
_equalMergeStmt(const MergeStmt *a, const MergeStmt *b)
|
|
1320
|
+
{
|
|
1321
|
+
COMPARE_NODE_FIELD(relation);
|
|
1322
|
+
COMPARE_NODE_FIELD(sourceRelation);
|
|
1323
|
+
COMPARE_NODE_FIELD(joinCondition);
|
|
1324
|
+
COMPARE_NODE_FIELD(mergeWhenClauses);
|
|
1325
|
+
COMPARE_NODE_FIELD(withClause);
|
|
1326
|
+
|
|
1327
|
+
return true;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1276
1330
|
static bool
|
|
1277
1331
|
_equalSelectStmt(const SelectStmt *a, const SelectStmt *b)
|
|
1278
1332
|
{
|
|
@@ -1282,6 +1336,7 @@ _equalSelectStmt(const SelectStmt *a, const SelectStmt *b)
|
|
|
1282
1336
|
COMPARE_NODE_FIELD(fromClause);
|
|
1283
1337
|
COMPARE_NODE_FIELD(whereClause);
|
|
1284
1338
|
COMPARE_NODE_FIELD(groupClause);
|
|
1339
|
+
COMPARE_SCALAR_FIELD(groupDistinct);
|
|
1285
1340
|
COMPARE_NODE_FIELD(havingClause);
|
|
1286
1341
|
COMPARE_NODE_FIELD(windowClause);
|
|
1287
1342
|
COMPARE_NODE_FIELD(valuesLists);
|
|
@@ -1314,12 +1369,32 @@ _equalSetOperationStmt(const SetOperationStmt *a, const SetOperationStmt *b)
|
|
|
1314
1369
|
return true;
|
|
1315
1370
|
}
|
|
1316
1371
|
|
|
1372
|
+
static bool
|
|
1373
|
+
_equalReturnStmt(const ReturnStmt *a, const ReturnStmt *b)
|
|
1374
|
+
{
|
|
1375
|
+
COMPARE_NODE_FIELD(returnval);
|
|
1376
|
+
|
|
1377
|
+
return true;
|
|
1378
|
+
}
|
|
1379
|
+
|
|
1380
|
+
static bool
|
|
1381
|
+
_equalPLAssignStmt(const PLAssignStmt *a, const PLAssignStmt *b)
|
|
1382
|
+
{
|
|
1383
|
+
COMPARE_STRING_FIELD(name);
|
|
1384
|
+
COMPARE_NODE_FIELD(indirection);
|
|
1385
|
+
COMPARE_SCALAR_FIELD(nnames);
|
|
1386
|
+
COMPARE_NODE_FIELD(val);
|
|
1387
|
+
COMPARE_LOCATION_FIELD(location);
|
|
1388
|
+
|
|
1389
|
+
return true;
|
|
1390
|
+
}
|
|
1391
|
+
|
|
1317
1392
|
static bool
|
|
1318
1393
|
_equalAlterTableStmt(const AlterTableStmt *a, const AlterTableStmt *b)
|
|
1319
1394
|
{
|
|
1320
1395
|
COMPARE_NODE_FIELD(relation);
|
|
1321
1396
|
COMPARE_NODE_FIELD(cmds);
|
|
1322
|
-
COMPARE_SCALAR_FIELD(
|
|
1397
|
+
COMPARE_SCALAR_FIELD(objtype);
|
|
1323
1398
|
COMPARE_SCALAR_FIELD(missing_ok);
|
|
1324
1399
|
|
|
1325
1400
|
return true;
|
|
@@ -1371,6 +1446,7 @@ _equalGrantStmt(const GrantStmt *a, const GrantStmt *b)
|
|
|
1371
1446
|
COMPARE_NODE_FIELD(privileges);
|
|
1372
1447
|
COMPARE_NODE_FIELD(grantees);
|
|
1373
1448
|
COMPARE_SCALAR_FIELD(grant_option);
|
|
1449
|
+
COMPARE_NODE_FIELD(grantor);
|
|
1374
1450
|
COMPARE_SCALAR_FIELD(behavior);
|
|
1375
1451
|
|
|
1376
1452
|
return true;
|
|
@@ -1381,6 +1457,7 @@ _equalObjectWithArgs(const ObjectWithArgs *a, const ObjectWithArgs *b)
|
|
|
1381
1457
|
{
|
|
1382
1458
|
COMPARE_NODE_FIELD(objname);
|
|
1383
1459
|
COMPARE_NODE_FIELD(objargs);
|
|
1460
|
+
COMPARE_NODE_FIELD(objfuncargs);
|
|
1384
1461
|
COMPARE_SCALAR_FIELD(args_unspecified);
|
|
1385
1462
|
|
|
1386
1463
|
return true;
|
|
@@ -1440,6 +1517,7 @@ _equalCallStmt(const CallStmt *a, const CallStmt *b)
|
|
|
1440
1517
|
{
|
|
1441
1518
|
COMPARE_NODE_FIELD(funccall);
|
|
1442
1519
|
COMPARE_NODE_FIELD(funcexpr);
|
|
1520
|
+
COMPARE_NODE_FIELD(outargs);
|
|
1443
1521
|
|
|
1444
1522
|
return true;
|
|
1445
1523
|
}
|
|
@@ -1449,7 +1527,7 @@ _equalClusterStmt(const ClusterStmt *a, const ClusterStmt *b)
|
|
|
1449
1527
|
{
|
|
1450
1528
|
COMPARE_NODE_FIELD(relation);
|
|
1451
1529
|
COMPARE_STRING_FIELD(indexname);
|
|
1452
|
-
|
|
1530
|
+
COMPARE_NODE_FIELD(params);
|
|
1453
1531
|
|
|
1454
1532
|
return true;
|
|
1455
1533
|
}
|
|
@@ -1584,6 +1662,7 @@ _equalIndexStmt(const IndexStmt *a, const IndexStmt *b)
|
|
|
1584
1662
|
COMPARE_SCALAR_FIELD(oldCreateSubid);
|
|
1585
1663
|
COMPARE_SCALAR_FIELD(oldFirstRelfilenodeSubid);
|
|
1586
1664
|
COMPARE_SCALAR_FIELD(unique);
|
|
1665
|
+
COMPARE_SCALAR_FIELD(nulls_not_distinct);
|
|
1587
1666
|
COMPARE_SCALAR_FIELD(primary);
|
|
1588
1667
|
COMPARE_SCALAR_FIELD(isconstraint);
|
|
1589
1668
|
COMPARE_SCALAR_FIELD(deferrable);
|
|
@@ -1604,6 +1683,7 @@ _equalCreateStatsStmt(const CreateStatsStmt *a, const CreateStatsStmt *b)
|
|
|
1604
1683
|
COMPARE_NODE_FIELD(exprs);
|
|
1605
1684
|
COMPARE_NODE_FIELD(relations);
|
|
1606
1685
|
COMPARE_STRING_FIELD(stxcomment);
|
|
1686
|
+
COMPARE_SCALAR_FIELD(transformed);
|
|
1607
1687
|
COMPARE_SCALAR_FIELD(if_not_exists);
|
|
1608
1688
|
|
|
1609
1689
|
return true;
|
|
@@ -1628,6 +1708,7 @@ _equalCreateFunctionStmt(const CreateFunctionStmt *a, const CreateFunctionStmt *
|
|
|
1628
1708
|
COMPARE_NODE_FIELD(parameters);
|
|
1629
1709
|
COMPARE_NODE_FIELD(returnType);
|
|
1630
1710
|
COMPARE_NODE_FIELD(options);
|
|
1711
|
+
COMPARE_NODE_FIELD(sql_body);
|
|
1631
1712
|
|
|
1632
1713
|
return true;
|
|
1633
1714
|
}
|
|
@@ -1916,6 +1997,14 @@ _equalAlterDatabaseStmt(const AlterDatabaseStmt *a, const AlterDatabaseStmt *b)
|
|
|
1916
1997
|
return true;
|
|
1917
1998
|
}
|
|
1918
1999
|
|
|
2000
|
+
static bool
|
|
2001
|
+
_equalAlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt *a, const AlterDatabaseRefreshCollStmt *b)
|
|
2002
|
+
{
|
|
2003
|
+
COMPARE_STRING_FIELD(dbname);
|
|
2004
|
+
|
|
2005
|
+
return true;
|
|
2006
|
+
}
|
|
2007
|
+
|
|
1919
2008
|
static bool
|
|
1920
2009
|
_equalAlterDatabaseSetStmt(const AlterDatabaseSetStmt *a, const AlterDatabaseSetStmt *b)
|
|
1921
2010
|
{
|
|
@@ -1969,7 +2058,7 @@ _equalCreateTableAsStmt(const CreateTableAsStmt *a, const CreateTableAsStmt *b)
|
|
|
1969
2058
|
{
|
|
1970
2059
|
COMPARE_NODE_FIELD(query);
|
|
1971
2060
|
COMPARE_NODE_FIELD(into);
|
|
1972
|
-
COMPARE_SCALAR_FIELD(
|
|
2061
|
+
COMPARE_SCALAR_FIELD(objtype);
|
|
1973
2062
|
COMPARE_SCALAR_FIELD(is_select_into);
|
|
1974
2063
|
COMPARE_SCALAR_FIELD(if_not_exists);
|
|
1975
2064
|
|
|
@@ -2253,6 +2342,8 @@ _equalCreateAmStmt(const CreateAmStmt *a, const CreateAmStmt *b)
|
|
|
2253
2342
|
static bool
|
|
2254
2343
|
_equalCreateTrigStmt(const CreateTrigStmt *a, const CreateTrigStmt *b)
|
|
2255
2344
|
{
|
|
2345
|
+
COMPARE_SCALAR_FIELD(replace);
|
|
2346
|
+
COMPARE_SCALAR_FIELD(isconstraint);
|
|
2256
2347
|
COMPARE_STRING_FIELD(trigname);
|
|
2257
2348
|
COMPARE_NODE_FIELD(relation);
|
|
2258
2349
|
COMPARE_NODE_FIELD(funcname);
|
|
@@ -2262,7 +2353,6 @@ _equalCreateTrigStmt(const CreateTrigStmt *a, const CreateTrigStmt *b)
|
|
|
2262
2353
|
COMPARE_SCALAR_FIELD(events);
|
|
2263
2354
|
COMPARE_NODE_FIELD(columns);
|
|
2264
2355
|
COMPARE_NODE_FIELD(whenClause);
|
|
2265
|
-
COMPARE_SCALAR_FIELD(isconstraint);
|
|
2266
2356
|
COMPARE_NODE_FIELD(transitionRels);
|
|
2267
2357
|
COMPARE_SCALAR_FIELD(deferrable);
|
|
2268
2358
|
COMPARE_SCALAR_FIELD(initdeferred);
|
|
@@ -2368,8 +2458,7 @@ _equalReindexStmt(const ReindexStmt *a, const ReindexStmt *b)
|
|
|
2368
2458
|
COMPARE_SCALAR_FIELD(kind);
|
|
2369
2459
|
COMPARE_NODE_FIELD(relation);
|
|
2370
2460
|
COMPARE_STRING_FIELD(name);
|
|
2371
|
-
|
|
2372
|
-
COMPARE_SCALAR_FIELD(concurrent);
|
|
2461
|
+
COMPARE_NODE_FIELD(params);
|
|
2373
2462
|
|
|
2374
2463
|
return true;
|
|
2375
2464
|
}
|
|
@@ -2478,13 +2567,35 @@ _equalAlterTSConfigurationStmt(const AlterTSConfigurationStmt *a,
|
|
|
2478
2567
|
return true;
|
|
2479
2568
|
}
|
|
2480
2569
|
|
|
2570
|
+
static bool
|
|
2571
|
+
_equalPublicationObject(const PublicationObjSpec *a,
|
|
2572
|
+
const PublicationObjSpec *b)
|
|
2573
|
+
{
|
|
2574
|
+
COMPARE_SCALAR_FIELD(pubobjtype);
|
|
2575
|
+
COMPARE_STRING_FIELD(name);
|
|
2576
|
+
COMPARE_NODE_FIELD(pubtable);
|
|
2577
|
+
COMPARE_LOCATION_FIELD(location);
|
|
2578
|
+
|
|
2579
|
+
return true;
|
|
2580
|
+
}
|
|
2581
|
+
|
|
2582
|
+
static bool
|
|
2583
|
+
_equalPublicationTable(const PublicationTable *a, const PublicationTable *b)
|
|
2584
|
+
{
|
|
2585
|
+
COMPARE_NODE_FIELD(relation);
|
|
2586
|
+
COMPARE_NODE_FIELD(whereClause);
|
|
2587
|
+
COMPARE_NODE_FIELD(columns);
|
|
2588
|
+
|
|
2589
|
+
return true;
|
|
2590
|
+
}
|
|
2591
|
+
|
|
2481
2592
|
static bool
|
|
2482
2593
|
_equalCreatePublicationStmt(const CreatePublicationStmt *a,
|
|
2483
2594
|
const CreatePublicationStmt *b)
|
|
2484
2595
|
{
|
|
2485
2596
|
COMPARE_STRING_FIELD(pubname);
|
|
2486
2597
|
COMPARE_NODE_FIELD(options);
|
|
2487
|
-
COMPARE_NODE_FIELD(
|
|
2598
|
+
COMPARE_NODE_FIELD(pubobjects);
|
|
2488
2599
|
COMPARE_SCALAR_FIELD(for_all_tables);
|
|
2489
2600
|
|
|
2490
2601
|
return true;
|
|
@@ -2496,9 +2607,9 @@ _equalAlterPublicationStmt(const AlterPublicationStmt *a,
|
|
|
2496
2607
|
{
|
|
2497
2608
|
COMPARE_STRING_FIELD(pubname);
|
|
2498
2609
|
COMPARE_NODE_FIELD(options);
|
|
2499
|
-
COMPARE_NODE_FIELD(
|
|
2610
|
+
COMPARE_NODE_FIELD(pubobjects);
|
|
2500
2611
|
COMPARE_SCALAR_FIELD(for_all_tables);
|
|
2501
|
-
COMPARE_SCALAR_FIELD(
|
|
2612
|
+
COMPARE_SCALAR_FIELD(action);
|
|
2502
2613
|
|
|
2503
2614
|
return true;
|
|
2504
2615
|
}
|
|
@@ -2566,7 +2677,7 @@ _equalAlterPolicyStmt(const AlterPolicyStmt *a, const AlterPolicyStmt *b)
|
|
|
2566
2677
|
}
|
|
2567
2678
|
|
|
2568
2679
|
static bool
|
|
2569
|
-
|
|
2680
|
+
_equalA_Expr(const A_Expr *a, const A_Expr *b)
|
|
2570
2681
|
{
|
|
2571
2682
|
COMPARE_SCALAR_FIELD(kind);
|
|
2572
2683
|
COMPARE_NODE_FIELD(name);
|
|
@@ -2596,10 +2707,15 @@ _equalParamRef(const ParamRef *a, const ParamRef *b)
|
|
|
2596
2707
|
}
|
|
2597
2708
|
|
|
2598
2709
|
static bool
|
|
2599
|
-
|
|
2710
|
+
_equalA_Const(const A_Const *a, const A_Const *b)
|
|
2600
2711
|
{
|
|
2601
|
-
|
|
2712
|
+
/*
|
|
2713
|
+
* Hack for in-line val field. Also val is not valid is isnull is true.
|
|
2714
|
+
*/
|
|
2715
|
+
if (!a->isnull && !b->isnull &&
|
|
2716
|
+
!equal(&a->val, &b->val))
|
|
2602
2717
|
return false;
|
|
2718
|
+
COMPARE_SCALAR_FIELD(isnull);
|
|
2603
2719
|
COMPARE_LOCATION_FIELD(location);
|
|
2604
2720
|
|
|
2605
2721
|
return true;
|
|
@@ -2612,24 +2728,25 @@ _equalFuncCall(const FuncCall *a, const FuncCall *b)
|
|
|
2612
2728
|
COMPARE_NODE_FIELD(args);
|
|
2613
2729
|
COMPARE_NODE_FIELD(agg_order);
|
|
2614
2730
|
COMPARE_NODE_FIELD(agg_filter);
|
|
2731
|
+
COMPARE_NODE_FIELD(over);
|
|
2615
2732
|
COMPARE_SCALAR_FIELD(agg_within_group);
|
|
2616
2733
|
COMPARE_SCALAR_FIELD(agg_star);
|
|
2617
2734
|
COMPARE_SCALAR_FIELD(agg_distinct);
|
|
2618
2735
|
COMPARE_SCALAR_FIELD(func_variadic);
|
|
2619
|
-
|
|
2736
|
+
COMPARE_COERCIONFORM_FIELD(funcformat);
|
|
2620
2737
|
COMPARE_LOCATION_FIELD(location);
|
|
2621
2738
|
|
|
2622
2739
|
return true;
|
|
2623
2740
|
}
|
|
2624
2741
|
|
|
2625
2742
|
static bool
|
|
2626
|
-
|
|
2743
|
+
_equalA_Star(const A_Star *a, const A_Star *b)
|
|
2627
2744
|
{
|
|
2628
2745
|
return true;
|
|
2629
2746
|
}
|
|
2630
2747
|
|
|
2631
2748
|
static bool
|
|
2632
|
-
|
|
2749
|
+
_equalA_Indices(const A_Indices *a, const A_Indices *b)
|
|
2633
2750
|
{
|
|
2634
2751
|
COMPARE_SCALAR_FIELD(is_slice);
|
|
2635
2752
|
COMPARE_NODE_FIELD(lidx);
|
|
@@ -2818,11 +2935,22 @@ _equalIndexElem(const IndexElem *a, const IndexElem *b)
|
|
|
2818
2935
|
return true;
|
|
2819
2936
|
}
|
|
2820
2937
|
|
|
2938
|
+
|
|
2939
|
+
static bool
|
|
2940
|
+
_equalStatsElem(const StatsElem *a, const StatsElem *b)
|
|
2941
|
+
{
|
|
2942
|
+
COMPARE_STRING_FIELD(name);
|
|
2943
|
+
COMPARE_NODE_FIELD(expr);
|
|
2944
|
+
|
|
2945
|
+
return true;
|
|
2946
|
+
}
|
|
2947
|
+
|
|
2821
2948
|
static bool
|
|
2822
2949
|
_equalColumnDef(const ColumnDef *a, const ColumnDef *b)
|
|
2823
2950
|
{
|
|
2824
2951
|
COMPARE_STRING_FIELD(colname);
|
|
2825
2952
|
COMPARE_NODE_FIELD(typeName);
|
|
2953
|
+
COMPARE_STRING_FIELD(compression);
|
|
2826
2954
|
COMPARE_SCALAR_FIELD(inhcount);
|
|
2827
2955
|
COMPARE_SCALAR_FIELD(is_local);
|
|
2828
2956
|
COMPARE_SCALAR_FIELD(is_not_null);
|
|
@@ -2854,6 +2982,7 @@ _equalConstraint(const Constraint *a, const Constraint *b)
|
|
|
2854
2982
|
COMPARE_NODE_FIELD(raw_expr);
|
|
2855
2983
|
COMPARE_STRING_FIELD(cooked_expr);
|
|
2856
2984
|
COMPARE_SCALAR_FIELD(generated_when);
|
|
2985
|
+
COMPARE_SCALAR_FIELD(nulls_not_distinct);
|
|
2857
2986
|
COMPARE_NODE_FIELD(keys);
|
|
2858
2987
|
COMPARE_NODE_FIELD(including);
|
|
2859
2988
|
COMPARE_NODE_FIELD(exclusions);
|
|
@@ -2869,6 +2998,7 @@ _equalConstraint(const Constraint *a, const Constraint *b)
|
|
|
2869
2998
|
COMPARE_SCALAR_FIELD(fk_matchtype);
|
|
2870
2999
|
COMPARE_SCALAR_FIELD(fk_upd_action);
|
|
2871
3000
|
COMPARE_SCALAR_FIELD(fk_del_action);
|
|
3001
|
+
COMPARE_NODE_FIELD(fk_del_set_cols);
|
|
2872
3002
|
COMPARE_NODE_FIELD(old_conpfeqop);
|
|
2873
3003
|
COMPARE_SCALAR_FIELD(old_pktable_oid);
|
|
2874
3004
|
COMPARE_SCALAR_FIELD(skip_validation);
|
|
@@ -2914,6 +3044,7 @@ _equalRangeTblEntry(const RangeTblEntry *a, const RangeTblEntry *b)
|
|
|
2914
3044
|
COMPARE_NODE_FIELD(joinaliasvars);
|
|
2915
3045
|
COMPARE_NODE_FIELD(joinleftcols);
|
|
2916
3046
|
COMPARE_NODE_FIELD(joinrightcols);
|
|
3047
|
+
COMPARE_NODE_FIELD(join_using_alias);
|
|
2917
3048
|
COMPARE_NODE_FIELD(functions);
|
|
2918
3049
|
COMPARE_SCALAR_FIELD(funcordinality);
|
|
2919
3050
|
COMPARE_NODE_FIELD(tablefunc);
|
|
@@ -3010,6 +3141,7 @@ _equalWindowClause(const WindowClause *a, const WindowClause *b)
|
|
|
3010
3141
|
COMPARE_SCALAR_FIELD(frameOptions);
|
|
3011
3142
|
COMPARE_NODE_FIELD(startOffset);
|
|
3012
3143
|
COMPARE_NODE_FIELD(endOffset);
|
|
3144
|
+
COMPARE_NODE_FIELD(runCondition);
|
|
3013
3145
|
COMPARE_SCALAR_FIELD(startInRangeFunc);
|
|
3014
3146
|
COMPARE_SCALAR_FIELD(endInRangeFunc);
|
|
3015
3147
|
COMPARE_SCALAR_FIELD(inRangeColl);
|
|
@@ -3065,6 +3197,34 @@ _equalOnConflictClause(const OnConflictClause *a, const OnConflictClause *b)
|
|
|
3065
3197
|
return true;
|
|
3066
3198
|
}
|
|
3067
3199
|
|
|
3200
|
+
static bool
|
|
3201
|
+
_equalCTESearchClause(const CTESearchClause *a, const CTESearchClause *b)
|
|
3202
|
+
{
|
|
3203
|
+
COMPARE_NODE_FIELD(search_col_list);
|
|
3204
|
+
COMPARE_SCALAR_FIELD(search_breadth_first);
|
|
3205
|
+
COMPARE_STRING_FIELD(search_seq_column);
|
|
3206
|
+
COMPARE_LOCATION_FIELD(location);
|
|
3207
|
+
|
|
3208
|
+
return true;
|
|
3209
|
+
}
|
|
3210
|
+
|
|
3211
|
+
static bool
|
|
3212
|
+
_equalCTECycleClause(const CTECycleClause *a, const CTECycleClause *b)
|
|
3213
|
+
{
|
|
3214
|
+
COMPARE_NODE_FIELD(cycle_col_list);
|
|
3215
|
+
COMPARE_STRING_FIELD(cycle_mark_column);
|
|
3216
|
+
COMPARE_NODE_FIELD(cycle_mark_value);
|
|
3217
|
+
COMPARE_NODE_FIELD(cycle_mark_default);
|
|
3218
|
+
COMPARE_STRING_FIELD(cycle_path_column);
|
|
3219
|
+
COMPARE_LOCATION_FIELD(location);
|
|
3220
|
+
COMPARE_SCALAR_FIELD(cycle_mark_type);
|
|
3221
|
+
COMPARE_SCALAR_FIELD(cycle_mark_typmod);
|
|
3222
|
+
COMPARE_SCALAR_FIELD(cycle_mark_collation);
|
|
3223
|
+
COMPARE_SCALAR_FIELD(cycle_mark_neop);
|
|
3224
|
+
|
|
3225
|
+
return true;
|
|
3226
|
+
}
|
|
3227
|
+
|
|
3068
3228
|
static bool
|
|
3069
3229
|
_equalCommonTableExpr(const CommonTableExpr *a, const CommonTableExpr *b)
|
|
3070
3230
|
{
|
|
@@ -3072,6 +3232,8 @@ _equalCommonTableExpr(const CommonTableExpr *a, const CommonTableExpr *b)
|
|
|
3072
3232
|
COMPARE_NODE_FIELD(aliascolnames);
|
|
3073
3233
|
COMPARE_SCALAR_FIELD(ctematerialized);
|
|
3074
3234
|
COMPARE_NODE_FIELD(ctequery);
|
|
3235
|
+
COMPARE_NODE_FIELD(search_clause);
|
|
3236
|
+
COMPARE_NODE_FIELD(cycle_clause);
|
|
3075
3237
|
COMPARE_LOCATION_FIELD(location);
|
|
3076
3238
|
COMPARE_SCALAR_FIELD(cterecursive);
|
|
3077
3239
|
COMPARE_SCALAR_FIELD(cterefcount);
|
|
@@ -3083,6 +3245,32 @@ _equalCommonTableExpr(const CommonTableExpr *a, const CommonTableExpr *b)
|
|
|
3083
3245
|
return true;
|
|
3084
3246
|
}
|
|
3085
3247
|
|
|
3248
|
+
static bool
|
|
3249
|
+
_equalMergeWhenClause(const MergeWhenClause *a, const MergeWhenClause *b)
|
|
3250
|
+
{
|
|
3251
|
+
COMPARE_SCALAR_FIELD(matched);
|
|
3252
|
+
COMPARE_SCALAR_FIELD(commandType);
|
|
3253
|
+
COMPARE_SCALAR_FIELD(override);
|
|
3254
|
+
COMPARE_NODE_FIELD(condition);
|
|
3255
|
+
COMPARE_NODE_FIELD(targetList);
|
|
3256
|
+
COMPARE_NODE_FIELD(values);
|
|
3257
|
+
|
|
3258
|
+
return true;
|
|
3259
|
+
}
|
|
3260
|
+
|
|
3261
|
+
static bool
|
|
3262
|
+
_equalMergeAction(const MergeAction *a, const MergeAction *b)
|
|
3263
|
+
{
|
|
3264
|
+
COMPARE_SCALAR_FIELD(matched);
|
|
3265
|
+
COMPARE_SCALAR_FIELD(commandType);
|
|
3266
|
+
COMPARE_SCALAR_FIELD(override);
|
|
3267
|
+
COMPARE_NODE_FIELD(qual);
|
|
3268
|
+
COMPARE_NODE_FIELD(targetList);
|
|
3269
|
+
COMPARE_NODE_FIELD(updateColnos);
|
|
3270
|
+
|
|
3271
|
+
return true;
|
|
3272
|
+
}
|
|
3273
|
+
|
|
3086
3274
|
static bool
|
|
3087
3275
|
_equalXmlSerialize(const XmlSerialize *a, const XmlSerialize *b)
|
|
3088
3276
|
{
|
|
@@ -3166,6 +3354,7 @@ _equalPartitionCmd(const PartitionCmd *a, const PartitionCmd *b)
|
|
|
3166
3354
|
{
|
|
3167
3355
|
COMPARE_NODE_FIELD(name);
|
|
3168
3356
|
COMPARE_NODE_FIELD(bound);
|
|
3357
|
+
COMPARE_SCALAR_FIELD(concurrent);
|
|
3169
3358
|
|
|
3170
3359
|
return true;
|
|
3171
3360
|
}
|
|
@@ -3234,27 +3423,41 @@ _equalList(const List *a, const List *b)
|
|
|
3234
3423
|
*/
|
|
3235
3424
|
|
|
3236
3425
|
static bool
|
|
3237
|
-
|
|
3426
|
+
_equalInteger(const Integer *a, const Integer *b)
|
|
3238
3427
|
{
|
|
3239
|
-
COMPARE_SCALAR_FIELD(
|
|
3428
|
+
COMPARE_SCALAR_FIELD(ival);
|
|
3240
3429
|
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3430
|
+
return true;
|
|
3431
|
+
}
|
|
3432
|
+
|
|
3433
|
+
static bool
|
|
3434
|
+
_equalFloat(const Float *a, const Float *b)
|
|
3435
|
+
{
|
|
3436
|
+
COMPARE_STRING_FIELD(fval);
|
|
3437
|
+
|
|
3438
|
+
return true;
|
|
3439
|
+
}
|
|
3440
|
+
|
|
3441
|
+
static bool
|
|
3442
|
+
_equalBoolean(const Boolean *a, const Boolean *b)
|
|
3443
|
+
{
|
|
3444
|
+
COMPARE_SCALAR_FIELD(boolval);
|
|
3445
|
+
|
|
3446
|
+
return true;
|
|
3447
|
+
}
|
|
3448
|
+
|
|
3449
|
+
static bool
|
|
3450
|
+
_equalString(const String *a, const String *b)
|
|
3451
|
+
{
|
|
3452
|
+
COMPARE_STRING_FIELD(sval);
|
|
3453
|
+
|
|
3454
|
+
return true;
|
|
3455
|
+
}
|
|
3456
|
+
|
|
3457
|
+
static bool
|
|
3458
|
+
_equalBitString(const BitString *a, const BitString *b)
|
|
3459
|
+
{
|
|
3460
|
+
COMPARE_STRING_FIELD(bsval);
|
|
3258
3461
|
|
|
3259
3462
|
return true;
|
|
3260
3463
|
}
|
|
@@ -3474,11 +3677,19 @@ equal(const void *a, const void *b)
|
|
|
3474
3677
|
break;
|
|
3475
3678
|
|
|
3476
3679
|
case T_Integer:
|
|
3680
|
+
retval = _equalInteger(a, b);
|
|
3681
|
+
break;
|
|
3477
3682
|
case T_Float:
|
|
3683
|
+
retval = _equalFloat(a, b);
|
|
3684
|
+
break;
|
|
3685
|
+
case T_Boolean:
|
|
3686
|
+
retval = _equalBoolean(a, b);
|
|
3687
|
+
break;
|
|
3478
3688
|
case T_String:
|
|
3689
|
+
retval = _equalString(a, b);
|
|
3690
|
+
break;
|
|
3479
3691
|
case T_BitString:
|
|
3480
|
-
|
|
3481
|
-
retval = _equalValue(a, b);
|
|
3692
|
+
retval = _equalBitString(a, b);
|
|
3482
3693
|
break;
|
|
3483
3694
|
|
|
3484
3695
|
/*
|
|
@@ -3506,12 +3717,21 @@ equal(const void *a, const void *b)
|
|
|
3506
3717
|
case T_UpdateStmt:
|
|
3507
3718
|
retval = _equalUpdateStmt(a, b);
|
|
3508
3719
|
break;
|
|
3720
|
+
case T_MergeStmt:
|
|
3721
|
+
retval = _equalMergeStmt(a, b);
|
|
3722
|
+
break;
|
|
3509
3723
|
case T_SelectStmt:
|
|
3510
3724
|
retval = _equalSelectStmt(a, b);
|
|
3511
3725
|
break;
|
|
3512
3726
|
case T_SetOperationStmt:
|
|
3513
3727
|
retval = _equalSetOperationStmt(a, b);
|
|
3514
3728
|
break;
|
|
3729
|
+
case T_ReturnStmt:
|
|
3730
|
+
retval = _equalReturnStmt(a, b);
|
|
3731
|
+
break;
|
|
3732
|
+
case T_PLAssignStmt:
|
|
3733
|
+
retval = _equalPLAssignStmt(a, b);
|
|
3734
|
+
break;
|
|
3515
3735
|
case T_AlterTableStmt:
|
|
3516
3736
|
retval = _equalAlterTableStmt(a, b);
|
|
3517
3737
|
break;
|
|
@@ -3665,6 +3885,9 @@ equal(const void *a, const void *b)
|
|
|
3665
3885
|
case T_AlterDatabaseStmt:
|
|
3666
3886
|
retval = _equalAlterDatabaseStmt(a, b);
|
|
3667
3887
|
break;
|
|
3888
|
+
case T_AlterDatabaseRefreshCollStmt:
|
|
3889
|
+
retval = _equalAlterDatabaseRefreshCollStmt(a, b);
|
|
3890
|
+
break;
|
|
3668
3891
|
case T_AlterDatabaseSetStmt:
|
|
3669
3892
|
retval = _equalAlterDatabaseSetStmt(a, b);
|
|
3670
3893
|
break;
|
|
@@ -3849,7 +4072,7 @@ equal(const void *a, const void *b)
|
|
|
3849
4072
|
retval = _equalDropSubscriptionStmt(a, b);
|
|
3850
4073
|
break;
|
|
3851
4074
|
case T_A_Expr:
|
|
3852
|
-
retval =
|
|
4075
|
+
retval = _equalA_Expr(a, b);
|
|
3853
4076
|
break;
|
|
3854
4077
|
case T_ColumnRef:
|
|
3855
4078
|
retval = _equalColumnRef(a, b);
|
|
@@ -3858,16 +4081,16 @@ equal(const void *a, const void *b)
|
|
|
3858
4081
|
retval = _equalParamRef(a, b);
|
|
3859
4082
|
break;
|
|
3860
4083
|
case T_A_Const:
|
|
3861
|
-
retval =
|
|
4084
|
+
retval = _equalA_Const(a, b);
|
|
3862
4085
|
break;
|
|
3863
4086
|
case T_FuncCall:
|
|
3864
4087
|
retval = _equalFuncCall(a, b);
|
|
3865
4088
|
break;
|
|
3866
4089
|
case T_A_Star:
|
|
3867
|
-
retval =
|
|
4090
|
+
retval = _equalA_Star(a, b);
|
|
3868
4091
|
break;
|
|
3869
4092
|
case T_A_Indices:
|
|
3870
|
-
retval =
|
|
4093
|
+
retval = _equalA_Indices(a, b);
|
|
3871
4094
|
break;
|
|
3872
4095
|
case T_A_Indirection:
|
|
3873
4096
|
retval = _equalA_Indirection(a, b);
|
|
@@ -3914,6 +4137,9 @@ equal(const void *a, const void *b)
|
|
|
3914
4137
|
case T_IndexElem:
|
|
3915
4138
|
retval = _equalIndexElem(a, b);
|
|
3916
4139
|
break;
|
|
4140
|
+
case T_StatsElem:
|
|
4141
|
+
retval = _equalStatsElem(a, b);
|
|
4142
|
+
break;
|
|
3917
4143
|
case T_ColumnDef:
|
|
3918
4144
|
retval = _equalColumnDef(a, b);
|
|
3919
4145
|
break;
|
|
@@ -3959,9 +4185,21 @@ equal(const void *a, const void *b)
|
|
|
3959
4185
|
case T_OnConflictClause:
|
|
3960
4186
|
retval = _equalOnConflictClause(a, b);
|
|
3961
4187
|
break;
|
|
4188
|
+
case T_CTESearchClause:
|
|
4189
|
+
retval = _equalCTESearchClause(a, b);
|
|
4190
|
+
break;
|
|
4191
|
+
case T_CTECycleClause:
|
|
4192
|
+
retval = _equalCTECycleClause(a, b);
|
|
4193
|
+
break;
|
|
3962
4194
|
case T_CommonTableExpr:
|
|
3963
4195
|
retval = _equalCommonTableExpr(a, b);
|
|
3964
4196
|
break;
|
|
4197
|
+
case T_MergeWhenClause:
|
|
4198
|
+
retval = _equalMergeWhenClause(a, b);
|
|
4199
|
+
break;
|
|
4200
|
+
case T_MergeAction:
|
|
4201
|
+
retval = _equalMergeAction(a, b);
|
|
4202
|
+
break;
|
|
3965
4203
|
case T_ObjectWithArgs:
|
|
3966
4204
|
retval = _equalObjectWithArgs(a, b);
|
|
3967
4205
|
break;
|
|
@@ -3992,6 +4230,12 @@ equal(const void *a, const void *b)
|
|
|
3992
4230
|
case T_PartitionCmd:
|
|
3993
4231
|
retval = _equalPartitionCmd(a, b);
|
|
3994
4232
|
break;
|
|
4233
|
+
case T_PublicationObjSpec:
|
|
4234
|
+
retval = _equalPublicationObject(a, b);
|
|
4235
|
+
break;
|
|
4236
|
+
case T_PublicationTable:
|
|
4237
|
+
retval = _equalPublicationTable(a, b);
|
|
4238
|
+
break;
|
|
3995
4239
|
|
|
3996
4240
|
default:
|
|
3997
4241
|
elog(ERROR, "unrecognized node type: %d",
|