pg_query 2.2.0 → 4.2.1
Sign up to get free protection for your applications and to get access to all the features.
- 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",
|