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
|
@@ -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;
|
|
@@ -1335,6 +1410,7 @@ _equalAlterTableCmd(const AlterTableCmd *a, const AlterTableCmd *b)
|
|
|
1335
1410
|
COMPARE_NODE_FIELD(def);
|
|
1336
1411
|
COMPARE_SCALAR_FIELD(behavior);
|
|
1337
1412
|
COMPARE_SCALAR_FIELD(missing_ok);
|
|
1413
|
+
COMPARE_SCALAR_FIELD(recurse);
|
|
1338
1414
|
|
|
1339
1415
|
return true;
|
|
1340
1416
|
}
|
|
@@ -1370,6 +1446,7 @@ _equalGrantStmt(const GrantStmt *a, const GrantStmt *b)
|
|
|
1370
1446
|
COMPARE_NODE_FIELD(privileges);
|
|
1371
1447
|
COMPARE_NODE_FIELD(grantees);
|
|
1372
1448
|
COMPARE_SCALAR_FIELD(grant_option);
|
|
1449
|
+
COMPARE_NODE_FIELD(grantor);
|
|
1373
1450
|
COMPARE_SCALAR_FIELD(behavior);
|
|
1374
1451
|
|
|
1375
1452
|
return true;
|
|
@@ -1380,6 +1457,7 @@ _equalObjectWithArgs(const ObjectWithArgs *a, const ObjectWithArgs *b)
|
|
|
1380
1457
|
{
|
|
1381
1458
|
COMPARE_NODE_FIELD(objname);
|
|
1382
1459
|
COMPARE_NODE_FIELD(objargs);
|
|
1460
|
+
COMPARE_NODE_FIELD(objfuncargs);
|
|
1383
1461
|
COMPARE_SCALAR_FIELD(args_unspecified);
|
|
1384
1462
|
|
|
1385
1463
|
return true;
|
|
@@ -1439,6 +1517,7 @@ _equalCallStmt(const CallStmt *a, const CallStmt *b)
|
|
|
1439
1517
|
{
|
|
1440
1518
|
COMPARE_NODE_FIELD(funccall);
|
|
1441
1519
|
COMPARE_NODE_FIELD(funcexpr);
|
|
1520
|
+
COMPARE_NODE_FIELD(outargs);
|
|
1442
1521
|
|
|
1443
1522
|
return true;
|
|
1444
1523
|
}
|
|
@@ -1448,7 +1527,7 @@ _equalClusterStmt(const ClusterStmt *a, const ClusterStmt *b)
|
|
|
1448
1527
|
{
|
|
1449
1528
|
COMPARE_NODE_FIELD(relation);
|
|
1450
1529
|
COMPARE_STRING_FIELD(indexname);
|
|
1451
|
-
|
|
1530
|
+
COMPARE_NODE_FIELD(params);
|
|
1452
1531
|
|
|
1453
1532
|
return true;
|
|
1454
1533
|
}
|
|
@@ -1583,6 +1662,7 @@ _equalIndexStmt(const IndexStmt *a, const IndexStmt *b)
|
|
|
1583
1662
|
COMPARE_SCALAR_FIELD(oldCreateSubid);
|
|
1584
1663
|
COMPARE_SCALAR_FIELD(oldFirstRelfilenodeSubid);
|
|
1585
1664
|
COMPARE_SCALAR_FIELD(unique);
|
|
1665
|
+
COMPARE_SCALAR_FIELD(nulls_not_distinct);
|
|
1586
1666
|
COMPARE_SCALAR_FIELD(primary);
|
|
1587
1667
|
COMPARE_SCALAR_FIELD(isconstraint);
|
|
1588
1668
|
COMPARE_SCALAR_FIELD(deferrable);
|
|
@@ -1603,6 +1683,7 @@ _equalCreateStatsStmt(const CreateStatsStmt *a, const CreateStatsStmt *b)
|
|
|
1603
1683
|
COMPARE_NODE_FIELD(exprs);
|
|
1604
1684
|
COMPARE_NODE_FIELD(relations);
|
|
1605
1685
|
COMPARE_STRING_FIELD(stxcomment);
|
|
1686
|
+
COMPARE_SCALAR_FIELD(transformed);
|
|
1606
1687
|
COMPARE_SCALAR_FIELD(if_not_exists);
|
|
1607
1688
|
|
|
1608
1689
|
return true;
|
|
@@ -1627,6 +1708,7 @@ _equalCreateFunctionStmt(const CreateFunctionStmt *a, const CreateFunctionStmt *
|
|
|
1627
1708
|
COMPARE_NODE_FIELD(parameters);
|
|
1628
1709
|
COMPARE_NODE_FIELD(returnType);
|
|
1629
1710
|
COMPARE_NODE_FIELD(options);
|
|
1711
|
+
COMPARE_NODE_FIELD(sql_body);
|
|
1630
1712
|
|
|
1631
1713
|
return true;
|
|
1632
1714
|
}
|
|
@@ -1915,6 +1997,14 @@ _equalAlterDatabaseStmt(const AlterDatabaseStmt *a, const AlterDatabaseStmt *b)
|
|
|
1915
1997
|
return true;
|
|
1916
1998
|
}
|
|
1917
1999
|
|
|
2000
|
+
static bool
|
|
2001
|
+
_equalAlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt *a, const AlterDatabaseRefreshCollStmt *b)
|
|
2002
|
+
{
|
|
2003
|
+
COMPARE_STRING_FIELD(dbname);
|
|
2004
|
+
|
|
2005
|
+
return true;
|
|
2006
|
+
}
|
|
2007
|
+
|
|
1918
2008
|
static bool
|
|
1919
2009
|
_equalAlterDatabaseSetStmt(const AlterDatabaseSetStmt *a, const AlterDatabaseSetStmt *b)
|
|
1920
2010
|
{
|
|
@@ -1968,7 +2058,7 @@ _equalCreateTableAsStmt(const CreateTableAsStmt *a, const CreateTableAsStmt *b)
|
|
|
1968
2058
|
{
|
|
1969
2059
|
COMPARE_NODE_FIELD(query);
|
|
1970
2060
|
COMPARE_NODE_FIELD(into);
|
|
1971
|
-
COMPARE_SCALAR_FIELD(
|
|
2061
|
+
COMPARE_SCALAR_FIELD(objtype);
|
|
1972
2062
|
COMPARE_SCALAR_FIELD(is_select_into);
|
|
1973
2063
|
COMPARE_SCALAR_FIELD(if_not_exists);
|
|
1974
2064
|
|
|
@@ -2252,6 +2342,8 @@ _equalCreateAmStmt(const CreateAmStmt *a, const CreateAmStmt *b)
|
|
|
2252
2342
|
static bool
|
|
2253
2343
|
_equalCreateTrigStmt(const CreateTrigStmt *a, const CreateTrigStmt *b)
|
|
2254
2344
|
{
|
|
2345
|
+
COMPARE_SCALAR_FIELD(replace);
|
|
2346
|
+
COMPARE_SCALAR_FIELD(isconstraint);
|
|
2255
2347
|
COMPARE_STRING_FIELD(trigname);
|
|
2256
2348
|
COMPARE_NODE_FIELD(relation);
|
|
2257
2349
|
COMPARE_NODE_FIELD(funcname);
|
|
@@ -2261,7 +2353,6 @@ _equalCreateTrigStmt(const CreateTrigStmt *a, const CreateTrigStmt *b)
|
|
|
2261
2353
|
COMPARE_SCALAR_FIELD(events);
|
|
2262
2354
|
COMPARE_NODE_FIELD(columns);
|
|
2263
2355
|
COMPARE_NODE_FIELD(whenClause);
|
|
2264
|
-
COMPARE_SCALAR_FIELD(isconstraint);
|
|
2265
2356
|
COMPARE_NODE_FIELD(transitionRels);
|
|
2266
2357
|
COMPARE_SCALAR_FIELD(deferrable);
|
|
2267
2358
|
COMPARE_SCALAR_FIELD(initdeferred);
|
|
@@ -2367,8 +2458,7 @@ _equalReindexStmt(const ReindexStmt *a, const ReindexStmt *b)
|
|
|
2367
2458
|
COMPARE_SCALAR_FIELD(kind);
|
|
2368
2459
|
COMPARE_NODE_FIELD(relation);
|
|
2369
2460
|
COMPARE_STRING_FIELD(name);
|
|
2370
|
-
|
|
2371
|
-
COMPARE_SCALAR_FIELD(concurrent);
|
|
2461
|
+
COMPARE_NODE_FIELD(params);
|
|
2372
2462
|
|
|
2373
2463
|
return true;
|
|
2374
2464
|
}
|
|
@@ -2477,13 +2567,35 @@ _equalAlterTSConfigurationStmt(const AlterTSConfigurationStmt *a,
|
|
|
2477
2567
|
return true;
|
|
2478
2568
|
}
|
|
2479
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
|
+
|
|
2480
2592
|
static bool
|
|
2481
2593
|
_equalCreatePublicationStmt(const CreatePublicationStmt *a,
|
|
2482
2594
|
const CreatePublicationStmt *b)
|
|
2483
2595
|
{
|
|
2484
2596
|
COMPARE_STRING_FIELD(pubname);
|
|
2485
2597
|
COMPARE_NODE_FIELD(options);
|
|
2486
|
-
COMPARE_NODE_FIELD(
|
|
2598
|
+
COMPARE_NODE_FIELD(pubobjects);
|
|
2487
2599
|
COMPARE_SCALAR_FIELD(for_all_tables);
|
|
2488
2600
|
|
|
2489
2601
|
return true;
|
|
@@ -2495,9 +2607,9 @@ _equalAlterPublicationStmt(const AlterPublicationStmt *a,
|
|
|
2495
2607
|
{
|
|
2496
2608
|
COMPARE_STRING_FIELD(pubname);
|
|
2497
2609
|
COMPARE_NODE_FIELD(options);
|
|
2498
|
-
COMPARE_NODE_FIELD(
|
|
2610
|
+
COMPARE_NODE_FIELD(pubobjects);
|
|
2499
2611
|
COMPARE_SCALAR_FIELD(for_all_tables);
|
|
2500
|
-
COMPARE_SCALAR_FIELD(
|
|
2612
|
+
COMPARE_SCALAR_FIELD(action);
|
|
2501
2613
|
|
|
2502
2614
|
return true;
|
|
2503
2615
|
}
|
|
@@ -2565,7 +2677,7 @@ _equalAlterPolicyStmt(const AlterPolicyStmt *a, const AlterPolicyStmt *b)
|
|
|
2565
2677
|
}
|
|
2566
2678
|
|
|
2567
2679
|
static bool
|
|
2568
|
-
|
|
2680
|
+
_equalA_Expr(const A_Expr *a, const A_Expr *b)
|
|
2569
2681
|
{
|
|
2570
2682
|
COMPARE_SCALAR_FIELD(kind);
|
|
2571
2683
|
COMPARE_NODE_FIELD(name);
|
|
@@ -2595,10 +2707,15 @@ _equalParamRef(const ParamRef *a, const ParamRef *b)
|
|
|
2595
2707
|
}
|
|
2596
2708
|
|
|
2597
2709
|
static bool
|
|
2598
|
-
|
|
2710
|
+
_equalA_Const(const A_Const *a, const A_Const *b)
|
|
2599
2711
|
{
|
|
2600
|
-
|
|
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))
|
|
2601
2717
|
return false;
|
|
2718
|
+
COMPARE_SCALAR_FIELD(isnull);
|
|
2602
2719
|
COMPARE_LOCATION_FIELD(location);
|
|
2603
2720
|
|
|
2604
2721
|
return true;
|
|
@@ -2611,24 +2728,25 @@ _equalFuncCall(const FuncCall *a, const FuncCall *b)
|
|
|
2611
2728
|
COMPARE_NODE_FIELD(args);
|
|
2612
2729
|
COMPARE_NODE_FIELD(agg_order);
|
|
2613
2730
|
COMPARE_NODE_FIELD(agg_filter);
|
|
2731
|
+
COMPARE_NODE_FIELD(over);
|
|
2614
2732
|
COMPARE_SCALAR_FIELD(agg_within_group);
|
|
2615
2733
|
COMPARE_SCALAR_FIELD(agg_star);
|
|
2616
2734
|
COMPARE_SCALAR_FIELD(agg_distinct);
|
|
2617
2735
|
COMPARE_SCALAR_FIELD(func_variadic);
|
|
2618
|
-
|
|
2736
|
+
COMPARE_COERCIONFORM_FIELD(funcformat);
|
|
2619
2737
|
COMPARE_LOCATION_FIELD(location);
|
|
2620
2738
|
|
|
2621
2739
|
return true;
|
|
2622
2740
|
}
|
|
2623
2741
|
|
|
2624
2742
|
static bool
|
|
2625
|
-
|
|
2743
|
+
_equalA_Star(const A_Star *a, const A_Star *b)
|
|
2626
2744
|
{
|
|
2627
2745
|
return true;
|
|
2628
2746
|
}
|
|
2629
2747
|
|
|
2630
2748
|
static bool
|
|
2631
|
-
|
|
2749
|
+
_equalA_Indices(const A_Indices *a, const A_Indices *b)
|
|
2632
2750
|
{
|
|
2633
2751
|
COMPARE_SCALAR_FIELD(is_slice);
|
|
2634
2752
|
COMPARE_NODE_FIELD(lidx);
|
|
@@ -2817,11 +2935,22 @@ _equalIndexElem(const IndexElem *a, const IndexElem *b)
|
|
|
2817
2935
|
return true;
|
|
2818
2936
|
}
|
|
2819
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
|
+
|
|
2820
2948
|
static bool
|
|
2821
2949
|
_equalColumnDef(const ColumnDef *a, const ColumnDef *b)
|
|
2822
2950
|
{
|
|
2823
2951
|
COMPARE_STRING_FIELD(colname);
|
|
2824
2952
|
COMPARE_NODE_FIELD(typeName);
|
|
2953
|
+
COMPARE_STRING_FIELD(compression);
|
|
2825
2954
|
COMPARE_SCALAR_FIELD(inhcount);
|
|
2826
2955
|
COMPARE_SCALAR_FIELD(is_local);
|
|
2827
2956
|
COMPARE_SCALAR_FIELD(is_not_null);
|
|
@@ -2853,6 +2982,7 @@ _equalConstraint(const Constraint *a, const Constraint *b)
|
|
|
2853
2982
|
COMPARE_NODE_FIELD(raw_expr);
|
|
2854
2983
|
COMPARE_STRING_FIELD(cooked_expr);
|
|
2855
2984
|
COMPARE_SCALAR_FIELD(generated_when);
|
|
2985
|
+
COMPARE_SCALAR_FIELD(nulls_not_distinct);
|
|
2856
2986
|
COMPARE_NODE_FIELD(keys);
|
|
2857
2987
|
COMPARE_NODE_FIELD(including);
|
|
2858
2988
|
COMPARE_NODE_FIELD(exclusions);
|
|
@@ -2868,6 +2998,7 @@ _equalConstraint(const Constraint *a, const Constraint *b)
|
|
|
2868
2998
|
COMPARE_SCALAR_FIELD(fk_matchtype);
|
|
2869
2999
|
COMPARE_SCALAR_FIELD(fk_upd_action);
|
|
2870
3000
|
COMPARE_SCALAR_FIELD(fk_del_action);
|
|
3001
|
+
COMPARE_NODE_FIELD(fk_del_set_cols);
|
|
2871
3002
|
COMPARE_NODE_FIELD(old_conpfeqop);
|
|
2872
3003
|
COMPARE_SCALAR_FIELD(old_pktable_oid);
|
|
2873
3004
|
COMPARE_SCALAR_FIELD(skip_validation);
|
|
@@ -2913,6 +3044,7 @@ _equalRangeTblEntry(const RangeTblEntry *a, const RangeTblEntry *b)
|
|
|
2913
3044
|
COMPARE_NODE_FIELD(joinaliasvars);
|
|
2914
3045
|
COMPARE_NODE_FIELD(joinleftcols);
|
|
2915
3046
|
COMPARE_NODE_FIELD(joinrightcols);
|
|
3047
|
+
COMPARE_NODE_FIELD(join_using_alias);
|
|
2916
3048
|
COMPARE_NODE_FIELD(functions);
|
|
2917
3049
|
COMPARE_SCALAR_FIELD(funcordinality);
|
|
2918
3050
|
COMPARE_NODE_FIELD(tablefunc);
|
|
@@ -3009,6 +3141,7 @@ _equalWindowClause(const WindowClause *a, const WindowClause *b)
|
|
|
3009
3141
|
COMPARE_SCALAR_FIELD(frameOptions);
|
|
3010
3142
|
COMPARE_NODE_FIELD(startOffset);
|
|
3011
3143
|
COMPARE_NODE_FIELD(endOffset);
|
|
3144
|
+
COMPARE_NODE_FIELD(runCondition);
|
|
3012
3145
|
COMPARE_SCALAR_FIELD(startInRangeFunc);
|
|
3013
3146
|
COMPARE_SCALAR_FIELD(endInRangeFunc);
|
|
3014
3147
|
COMPARE_SCALAR_FIELD(inRangeColl);
|
|
@@ -3064,6 +3197,34 @@ _equalOnConflictClause(const OnConflictClause *a, const OnConflictClause *b)
|
|
|
3064
3197
|
return true;
|
|
3065
3198
|
}
|
|
3066
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
|
+
|
|
3067
3228
|
static bool
|
|
3068
3229
|
_equalCommonTableExpr(const CommonTableExpr *a, const CommonTableExpr *b)
|
|
3069
3230
|
{
|
|
@@ -3071,6 +3232,8 @@ _equalCommonTableExpr(const CommonTableExpr *a, const CommonTableExpr *b)
|
|
|
3071
3232
|
COMPARE_NODE_FIELD(aliascolnames);
|
|
3072
3233
|
COMPARE_SCALAR_FIELD(ctematerialized);
|
|
3073
3234
|
COMPARE_NODE_FIELD(ctequery);
|
|
3235
|
+
COMPARE_NODE_FIELD(search_clause);
|
|
3236
|
+
COMPARE_NODE_FIELD(cycle_clause);
|
|
3074
3237
|
COMPARE_LOCATION_FIELD(location);
|
|
3075
3238
|
COMPARE_SCALAR_FIELD(cterecursive);
|
|
3076
3239
|
COMPARE_SCALAR_FIELD(cterefcount);
|
|
@@ -3082,6 +3245,32 @@ _equalCommonTableExpr(const CommonTableExpr *a, const CommonTableExpr *b)
|
|
|
3082
3245
|
return true;
|
|
3083
3246
|
}
|
|
3084
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
|
+
|
|
3085
3274
|
static bool
|
|
3086
3275
|
_equalXmlSerialize(const XmlSerialize *a, const XmlSerialize *b)
|
|
3087
3276
|
{
|
|
@@ -3165,6 +3354,7 @@ _equalPartitionCmd(const PartitionCmd *a, const PartitionCmd *b)
|
|
|
3165
3354
|
{
|
|
3166
3355
|
COMPARE_NODE_FIELD(name);
|
|
3167
3356
|
COMPARE_NODE_FIELD(bound);
|
|
3357
|
+
COMPARE_SCALAR_FIELD(concurrent);
|
|
3168
3358
|
|
|
3169
3359
|
return true;
|
|
3170
3360
|
}
|
|
@@ -3233,27 +3423,41 @@ _equalList(const List *a, const List *b)
|
|
|
3233
3423
|
*/
|
|
3234
3424
|
|
|
3235
3425
|
static bool
|
|
3236
|
-
|
|
3426
|
+
_equalInteger(const Integer *a, const Integer *b)
|
|
3237
3427
|
{
|
|
3238
|
-
COMPARE_SCALAR_FIELD(
|
|
3428
|
+
COMPARE_SCALAR_FIELD(ival);
|
|
3239
3429
|
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
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);
|
|
3257
3461
|
|
|
3258
3462
|
return true;
|
|
3259
3463
|
}
|
|
@@ -3473,11 +3677,19 @@ equal(const void *a, const void *b)
|
|
|
3473
3677
|
break;
|
|
3474
3678
|
|
|
3475
3679
|
case T_Integer:
|
|
3680
|
+
retval = _equalInteger(a, b);
|
|
3681
|
+
break;
|
|
3476
3682
|
case T_Float:
|
|
3683
|
+
retval = _equalFloat(a, b);
|
|
3684
|
+
break;
|
|
3685
|
+
case T_Boolean:
|
|
3686
|
+
retval = _equalBoolean(a, b);
|
|
3687
|
+
break;
|
|
3477
3688
|
case T_String:
|
|
3689
|
+
retval = _equalString(a, b);
|
|
3690
|
+
break;
|
|
3478
3691
|
case T_BitString:
|
|
3479
|
-
|
|
3480
|
-
retval = _equalValue(a, b);
|
|
3692
|
+
retval = _equalBitString(a, b);
|
|
3481
3693
|
break;
|
|
3482
3694
|
|
|
3483
3695
|
/*
|
|
@@ -3505,12 +3717,21 @@ equal(const void *a, const void *b)
|
|
|
3505
3717
|
case T_UpdateStmt:
|
|
3506
3718
|
retval = _equalUpdateStmt(a, b);
|
|
3507
3719
|
break;
|
|
3720
|
+
case T_MergeStmt:
|
|
3721
|
+
retval = _equalMergeStmt(a, b);
|
|
3722
|
+
break;
|
|
3508
3723
|
case T_SelectStmt:
|
|
3509
3724
|
retval = _equalSelectStmt(a, b);
|
|
3510
3725
|
break;
|
|
3511
3726
|
case T_SetOperationStmt:
|
|
3512
3727
|
retval = _equalSetOperationStmt(a, b);
|
|
3513
3728
|
break;
|
|
3729
|
+
case T_ReturnStmt:
|
|
3730
|
+
retval = _equalReturnStmt(a, b);
|
|
3731
|
+
break;
|
|
3732
|
+
case T_PLAssignStmt:
|
|
3733
|
+
retval = _equalPLAssignStmt(a, b);
|
|
3734
|
+
break;
|
|
3514
3735
|
case T_AlterTableStmt:
|
|
3515
3736
|
retval = _equalAlterTableStmt(a, b);
|
|
3516
3737
|
break;
|
|
@@ -3664,6 +3885,9 @@ equal(const void *a, const void *b)
|
|
|
3664
3885
|
case T_AlterDatabaseStmt:
|
|
3665
3886
|
retval = _equalAlterDatabaseStmt(a, b);
|
|
3666
3887
|
break;
|
|
3888
|
+
case T_AlterDatabaseRefreshCollStmt:
|
|
3889
|
+
retval = _equalAlterDatabaseRefreshCollStmt(a, b);
|
|
3890
|
+
break;
|
|
3667
3891
|
case T_AlterDatabaseSetStmt:
|
|
3668
3892
|
retval = _equalAlterDatabaseSetStmt(a, b);
|
|
3669
3893
|
break;
|
|
@@ -3848,7 +4072,7 @@ equal(const void *a, const void *b)
|
|
|
3848
4072
|
retval = _equalDropSubscriptionStmt(a, b);
|
|
3849
4073
|
break;
|
|
3850
4074
|
case T_A_Expr:
|
|
3851
|
-
retval =
|
|
4075
|
+
retval = _equalA_Expr(a, b);
|
|
3852
4076
|
break;
|
|
3853
4077
|
case T_ColumnRef:
|
|
3854
4078
|
retval = _equalColumnRef(a, b);
|
|
@@ -3857,16 +4081,16 @@ equal(const void *a, const void *b)
|
|
|
3857
4081
|
retval = _equalParamRef(a, b);
|
|
3858
4082
|
break;
|
|
3859
4083
|
case T_A_Const:
|
|
3860
|
-
retval =
|
|
4084
|
+
retval = _equalA_Const(a, b);
|
|
3861
4085
|
break;
|
|
3862
4086
|
case T_FuncCall:
|
|
3863
4087
|
retval = _equalFuncCall(a, b);
|
|
3864
4088
|
break;
|
|
3865
4089
|
case T_A_Star:
|
|
3866
|
-
retval =
|
|
4090
|
+
retval = _equalA_Star(a, b);
|
|
3867
4091
|
break;
|
|
3868
4092
|
case T_A_Indices:
|
|
3869
|
-
retval =
|
|
4093
|
+
retval = _equalA_Indices(a, b);
|
|
3870
4094
|
break;
|
|
3871
4095
|
case T_A_Indirection:
|
|
3872
4096
|
retval = _equalA_Indirection(a, b);
|
|
@@ -3913,6 +4137,9 @@ equal(const void *a, const void *b)
|
|
|
3913
4137
|
case T_IndexElem:
|
|
3914
4138
|
retval = _equalIndexElem(a, b);
|
|
3915
4139
|
break;
|
|
4140
|
+
case T_StatsElem:
|
|
4141
|
+
retval = _equalStatsElem(a, b);
|
|
4142
|
+
break;
|
|
3916
4143
|
case T_ColumnDef:
|
|
3917
4144
|
retval = _equalColumnDef(a, b);
|
|
3918
4145
|
break;
|
|
@@ -3958,9 +4185,21 @@ equal(const void *a, const void *b)
|
|
|
3958
4185
|
case T_OnConflictClause:
|
|
3959
4186
|
retval = _equalOnConflictClause(a, b);
|
|
3960
4187
|
break;
|
|
4188
|
+
case T_CTESearchClause:
|
|
4189
|
+
retval = _equalCTESearchClause(a, b);
|
|
4190
|
+
break;
|
|
4191
|
+
case T_CTECycleClause:
|
|
4192
|
+
retval = _equalCTECycleClause(a, b);
|
|
4193
|
+
break;
|
|
3961
4194
|
case T_CommonTableExpr:
|
|
3962
4195
|
retval = _equalCommonTableExpr(a, b);
|
|
3963
4196
|
break;
|
|
4197
|
+
case T_MergeWhenClause:
|
|
4198
|
+
retval = _equalMergeWhenClause(a, b);
|
|
4199
|
+
break;
|
|
4200
|
+
case T_MergeAction:
|
|
4201
|
+
retval = _equalMergeAction(a, b);
|
|
4202
|
+
break;
|
|
3964
4203
|
case T_ObjectWithArgs:
|
|
3965
4204
|
retval = _equalObjectWithArgs(a, b);
|
|
3966
4205
|
break;
|
|
@@ -3991,6 +4230,12 @@ equal(const void *a, const void *b)
|
|
|
3991
4230
|
case T_PartitionCmd:
|
|
3992
4231
|
retval = _equalPartitionCmd(a, b);
|
|
3993
4232
|
break;
|
|
4233
|
+
case T_PublicationObjSpec:
|
|
4234
|
+
retval = _equalPublicationObject(a, b);
|
|
4235
|
+
break;
|
|
4236
|
+
case T_PublicationTable:
|
|
4237
|
+
retval = _equalPublicationTable(a, b);
|
|
4238
|
+
break;
|
|
3994
4239
|
|
|
3995
4240
|
default:
|
|
3996
4241
|
elog(ERROR, "unrecognized node type: %d",
|