pg_query 2.2.1 → 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 +21 -1
- data/README.md +29 -33
- 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 +18 -8
- data/lib/pg_query/pg_query_pb.rb +1108 -942
- data/lib/pg_query/truncate.rb +1 -1
- data/lib/pg_query/version.rb +1 -1
- metadata +28 -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/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
@@ -3,7 +3,7 @@
|
|
3
3
|
* pg_type_d.h
|
4
4
|
* Macro definitions for pg_type
|
5
5
|
*
|
6
|
-
* Portions Copyright (c) 1996-
|
6
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
8
8
|
*
|
9
9
|
* NOTES
|
@@ -20,6 +20,8 @@
|
|
20
20
|
|
21
21
|
#define TypeRelationId 1247
|
22
22
|
#define TypeRelation_Rowtype_Id 71
|
23
|
+
#define TypeOidIndexId 2703
|
24
|
+
#define TypeNameNspIndexId 2704
|
23
25
|
|
24
26
|
#define Anum_pg_type_oid 1
|
25
27
|
#define Anum_pg_type_typname 2
|
@@ -33,27 +35,28 @@
|
|
33
35
|
#define Anum_pg_type_typisdefined 10
|
34
36
|
#define Anum_pg_type_typdelim 11
|
35
37
|
#define Anum_pg_type_typrelid 12
|
36
|
-
#define
|
37
|
-
#define
|
38
|
-
#define
|
39
|
-
#define
|
40
|
-
#define
|
41
|
-
#define
|
42
|
-
#define
|
43
|
-
#define
|
44
|
-
#define
|
45
|
-
#define
|
46
|
-
#define
|
47
|
-
#define
|
48
|
-
#define
|
49
|
-
#define
|
50
|
-
#define
|
51
|
-
#define
|
52
|
-
#define
|
53
|
-
#define
|
54
|
-
#define
|
38
|
+
#define Anum_pg_type_typsubscript 13
|
39
|
+
#define Anum_pg_type_typelem 14
|
40
|
+
#define Anum_pg_type_typarray 15
|
41
|
+
#define Anum_pg_type_typinput 16
|
42
|
+
#define Anum_pg_type_typoutput 17
|
43
|
+
#define Anum_pg_type_typreceive 18
|
44
|
+
#define Anum_pg_type_typsend 19
|
45
|
+
#define Anum_pg_type_typmodin 20
|
46
|
+
#define Anum_pg_type_typmodout 21
|
47
|
+
#define Anum_pg_type_typanalyze 22
|
48
|
+
#define Anum_pg_type_typalign 23
|
49
|
+
#define Anum_pg_type_typstorage 24
|
50
|
+
#define Anum_pg_type_typnotnull 25
|
51
|
+
#define Anum_pg_type_typbasetype 26
|
52
|
+
#define Anum_pg_type_typtypmod 27
|
53
|
+
#define Anum_pg_type_typndims 28
|
54
|
+
#define Anum_pg_type_typcollation 29
|
55
|
+
#define Anum_pg_type_typdefaultbin 30
|
56
|
+
#define Anum_pg_type_typdefault 31
|
57
|
+
#define Anum_pg_type_typacl 32
|
55
58
|
|
56
|
-
#define Natts_pg_type
|
59
|
+
#define Natts_pg_type 32
|
57
60
|
|
58
61
|
|
59
62
|
/*
|
@@ -63,6 +66,7 @@
|
|
63
66
|
#define TYPTYPE_COMPOSITE 'c' /* composite (e.g., table's rowtype) */
|
64
67
|
#define TYPTYPE_DOMAIN 'd' /* domain over another type */
|
65
68
|
#define TYPTYPE_ENUM 'e' /* enumerated type */
|
69
|
+
#define TYPTYPE_MULTIRANGE 'm' /* multirange type */
|
66
70
|
#define TYPTYPE_PSEUDO 'p' /* pseudo-type */
|
67
71
|
#define TYPTYPE_RANGE 'r' /* range type */
|
68
72
|
|
@@ -82,6 +86,7 @@
|
|
82
86
|
#define TYPCATEGORY_USER 'U'
|
83
87
|
#define TYPCATEGORY_BITSTRING 'V' /* er ... "varbit"? */
|
84
88
|
#define TYPCATEGORY_UNKNOWN 'X'
|
89
|
+
#define TYPCATEGORY_INTERNAL 'Z'
|
85
90
|
|
86
91
|
#define TYPALIGN_CHAR 'c' /* char alignment (i.e. unaligned) */
|
87
92
|
#define TYPALIGN_SHORT 's' /* short alignment (typically 2 bytes) */
|
@@ -104,13 +109,27 @@
|
|
104
109
|
(typid) == ANYARRAYOID || \
|
105
110
|
(typid) == ANYNONARRAYOID || \
|
106
111
|
(typid) == ANYENUMOID || \
|
107
|
-
(typid) == ANYRANGEOID
|
112
|
+
(typid) == ANYRANGEOID || \
|
113
|
+
(typid) == ANYMULTIRANGEOID)
|
108
114
|
|
109
115
|
#define IsPolymorphicTypeFamily2(typid) \
|
110
116
|
((typid) == ANYCOMPATIBLEOID || \
|
111
117
|
(typid) == ANYCOMPATIBLEARRAYOID || \
|
112
118
|
(typid) == ANYCOMPATIBLENONARRAYOID || \
|
113
|
-
(typid) == ANYCOMPATIBLERANGEOID
|
119
|
+
(typid) == ANYCOMPATIBLERANGEOID || \
|
120
|
+
(typid) == ANYCOMPATIBLEMULTIRANGEOID)
|
121
|
+
|
122
|
+
/* Is this a "true" array type? (Requires fmgroids.h) */
|
123
|
+
#define IsTrueArrayType(typeForm) \
|
124
|
+
(OidIsValid((typeForm)->typelem) && \
|
125
|
+
(typeForm)->typsubscript == F_ARRAY_SUBSCRIPT_HANDLER)
|
126
|
+
|
127
|
+
/*
|
128
|
+
* Backwards compatibility for ancient random spellings of pg_type OID macros.
|
129
|
+
* Don't use these names in new code.
|
130
|
+
*/
|
131
|
+
#define CASHOID MONEYOID
|
132
|
+
#define LSNOID PG_LSNOID
|
114
133
|
|
115
134
|
#define BOOLOID 16
|
116
135
|
#define BYTEAOID 17
|
@@ -129,11 +148,11 @@
|
|
129
148
|
#define OIDVECTOROID 30
|
130
149
|
#define JSONOID 114
|
131
150
|
#define XMLOID 142
|
132
|
-
#define
|
133
|
-
#define
|
134
|
-
#define
|
135
|
-
#define
|
136
|
-
#define
|
151
|
+
#define PG_NODE_TREEOID 194
|
152
|
+
#define PG_NDISTINCTOID 3361
|
153
|
+
#define PG_DEPENDENCIESOID 3402
|
154
|
+
#define PG_MCV_LISTOID 5017
|
155
|
+
#define PG_DDL_COMMANDOID 32
|
137
156
|
#define XID8OID 5069
|
138
157
|
#define POINTOID 600
|
139
158
|
#define LSEGOID 601
|
@@ -145,7 +164,7 @@
|
|
145
164
|
#define FLOAT8OID 701
|
146
165
|
#define UNKNOWNOID 705
|
147
166
|
#define CIRCLEOID 718
|
148
|
-
#define
|
167
|
+
#define MONEYOID 790
|
149
168
|
#define MACADDROID 829
|
150
169
|
#define INETOID 869
|
151
170
|
#define CIDROID 650
|
@@ -172,7 +191,7 @@
|
|
172
191
|
#define REGROLEOID 4096
|
173
192
|
#define REGNAMESPACEOID 4089
|
174
193
|
#define UUIDOID 2950
|
175
|
-
#define
|
194
|
+
#define PG_LSNOID 3220
|
176
195
|
#define TSVECTOROID 3614
|
177
196
|
#define GTSVECTOROID 3642
|
178
197
|
#define TSQUERYOID 3615
|
@@ -188,6 +207,12 @@
|
|
188
207
|
#define TSTZRANGEOID 3910
|
189
208
|
#define DATERANGEOID 3912
|
190
209
|
#define INT8RANGEOID 3926
|
210
|
+
#define INT4MULTIRANGEOID 4451
|
211
|
+
#define NUMMULTIRANGEOID 4532
|
212
|
+
#define TSMULTIRANGEOID 4533
|
213
|
+
#define TSTZMULTIRANGEOID 4534
|
214
|
+
#define DATEMULTIRANGEOID 4535
|
215
|
+
#define INT8MULTIRANGEOID 4536
|
191
216
|
#define RECORDOID 2249
|
192
217
|
#define RECORDARRAYOID 2287
|
193
218
|
#define CSTRINGOID 2275
|
@@ -195,7 +220,7 @@
|
|
195
220
|
#define ANYARRAYOID 2277
|
196
221
|
#define VOIDOID 2278
|
197
222
|
#define TRIGGEROID 2279
|
198
|
-
#define
|
223
|
+
#define EVENT_TRIGGEROID 3838
|
199
224
|
#define LANGUAGE_HANDLEROID 2280
|
200
225
|
#define INTERNALOID 2281
|
201
226
|
#define ANYELEMENTOID 2283
|
@@ -210,6 +235,10 @@
|
|
210
235
|
#define ANYCOMPATIBLEARRAYOID 5078
|
211
236
|
#define ANYCOMPATIBLENONARRAYOID 5079
|
212
237
|
#define ANYCOMPATIBLERANGEOID 5080
|
238
|
+
#define ANYMULTIRANGEOID 4537
|
239
|
+
#define ANYCOMPATIBLEMULTIRANGEOID 4538
|
240
|
+
#define PG_BRIN_BLOOM_SUMMARYOID 4600
|
241
|
+
#define PG_BRIN_MINMAX_MULTI_SUMMARYOID 4601
|
213
242
|
#define BOOLARRAYOID 1000
|
214
243
|
#define BYTEAARRAYOID 1001
|
215
244
|
#define CHARARRAYOID 1002
|
@@ -225,6 +254,10 @@
|
|
225
254
|
#define XIDARRAYOID 1011
|
226
255
|
#define CIDARRAYOID 1012
|
227
256
|
#define OIDVECTORARRAYOID 1013
|
257
|
+
#define PG_TYPEARRAYOID 210
|
258
|
+
#define PG_ATTRIBUTEARRAYOID 270
|
259
|
+
#define PG_PROCARRAYOID 272
|
260
|
+
#define PG_CLASSARRAYOID 273
|
228
261
|
#define JSONARRAYOID 199
|
229
262
|
#define XMLARRAYOID 143
|
230
263
|
#define XID8ARRAYOID 271
|
@@ -280,6 +313,12 @@
|
|
280
313
|
#define TSTZRANGEARRAYOID 3911
|
281
314
|
#define DATERANGEARRAYOID 3913
|
282
315
|
#define INT8RANGEARRAYOID 3927
|
316
|
+
#define INT4MULTIRANGEARRAYOID 6150
|
317
|
+
#define NUMMULTIRANGEARRAYOID 6151
|
318
|
+
#define TSMULTIRANGEARRAYOID 6152
|
319
|
+
#define TSTZMULTIRANGEARRAYOID 6153
|
320
|
+
#define DATEMULTIRANGEARRAYOID 6155
|
321
|
+
#define INT8MULTIRANGEARRAYOID 6157
|
283
322
|
#define CSTRINGARRAYOID 1263
|
284
323
|
|
285
324
|
#endif /* PG_TYPE_D_H */
|
@@ -4,7 +4,7 @@
|
|
4
4
|
* prototypes for functions in backend/catalog/storage.c
|
5
5
|
*
|
6
6
|
*
|
7
|
-
* Portions Copyright (c) 1996-
|
7
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
8
8
|
* Portions Copyright (c) 1994, Regents of the University of California
|
9
9
|
*
|
10
10
|
* src/include/catalog/storage.h
|
@@ -20,9 +20,11 @@
|
|
20
20
|
#include "utils/relcache.h"
|
21
21
|
|
22
22
|
/* GUC variables */
|
23
|
-
extern int
|
23
|
+
extern PGDLLIMPORT int wal_skip_threshold;
|
24
24
|
|
25
|
-
extern SMgrRelation RelationCreateStorage(RelFileNode rnode,
|
25
|
+
extern SMgrRelation RelationCreateStorage(RelFileNode rnode,
|
26
|
+
char relpersistence,
|
27
|
+
bool register_delete);
|
26
28
|
extern void RelationDropStorage(Relation rel);
|
27
29
|
extern void RelationPreserveStorage(RelFileNode rnode, bool atCommit);
|
28
30
|
extern void RelationPreTruncate(Relation rel);
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* async.h
|
4
4
|
* Asynchronous notification: NOTIFY, LISTEN, UNLISTEN
|
5
5
|
*
|
6
|
-
* Portions Copyright (c) 1996-
|
6
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
8
8
|
*
|
9
9
|
* src/include/commands/async.h
|
@@ -20,8 +20,8 @@
|
|
20
20
|
*/
|
21
21
|
#define NUM_NOTIFY_BUFFERS 8
|
22
22
|
|
23
|
-
extern bool Trace_notify;
|
24
|
-
extern volatile sig_atomic_t notifyInterruptPending;
|
23
|
+
extern PGDLLIMPORT bool Trace_notify;
|
24
|
+
extern PGDLLIMPORT volatile sig_atomic_t notifyInterruptPending;
|
25
25
|
|
26
26
|
extern Size AsyncShmemSize(void);
|
27
27
|
extern void AsyncShmemInit(void);
|
@@ -43,7 +43,6 @@ extern void AtAbort_Notify(void);
|
|
43
43
|
extern void AtSubCommit_Notify(void);
|
44
44
|
extern void AtSubAbort_Notify(void);
|
45
45
|
extern void AtPrepare_Notify(void);
|
46
|
-
extern void ProcessCompletedNotifies(void);
|
47
46
|
|
48
47
|
/* signal handler for inbound notifies (PROCSIG_NOTIFY_INTERRUPT) */
|
49
48
|
extern void HandleNotifyInterrupt(void);
|
@@ -4,7 +4,7 @@
|
|
4
4
|
* Database management commands (create/drop database).
|
5
5
|
*
|
6
6
|
*
|
7
|
-
* Portions Copyright (c) 1996-
|
7
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
8
8
|
* Portions Copyright (c) 1994, Regents of the University of California
|
9
9
|
*
|
10
10
|
* src/include/commands/dbcommands.h
|
@@ -24,6 +24,7 @@ extern void dropdb(const char *dbname, bool missing_ok, bool force);
|
|
24
24
|
extern void DropDatabase(ParseState *pstate, DropdbStmt *stmt);
|
25
25
|
extern ObjectAddress RenameDatabase(const char *oldname, const char *newname);
|
26
26
|
extern Oid AlterDatabase(ParseState *pstate, AlterDatabaseStmt *stmt, bool isTopLevel);
|
27
|
+
extern ObjectAddress AlterDatabaseRefreshColl(AlterDatabaseRefreshCollStmt *stmt);
|
27
28
|
extern Oid AlterDatabaseSet(AlterDatabaseSetStmt *stmt);
|
28
29
|
extern ObjectAddress AlterDatabaseOwner(const char *dbname, Oid newOwnerId);
|
29
30
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
* POSTGRES define and remove utility definitions.
|
5
5
|
*
|
6
6
|
*
|
7
|
-
* Portions Copyright (c) 1996-
|
7
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
8
8
|
* Portions Copyright (c) 1994, Regents of the University of California
|
9
9
|
*
|
10
10
|
* src/include/commands/defrem.h
|
@@ -34,10 +34,7 @@ extern ObjectAddress DefineIndex(Oid relationId,
|
|
34
34
|
bool check_not_in_use,
|
35
35
|
bool skip_build,
|
36
36
|
bool quiet);
|
37
|
-
extern void
|
38
|
-
extern Oid ReindexTable(RangeVar *relation, int options, bool concurrent);
|
39
|
-
extern void ReindexMultipleTables(const char *objectName, ReindexObjectType objectKind,
|
40
|
-
int options, bool concurrent);
|
37
|
+
extern void ExecReindex(ParseState *pstate, ReindexStmt *stmt, bool isTopLevel);
|
41
38
|
extern char *makeObjectName(const char *name1, const char *name2,
|
42
39
|
const char *label);
|
43
40
|
extern char *ChooseRelationName(const char *name1, const char *name2,
|
@@ -56,12 +53,10 @@ extern ObjectAddress CreateFunction(ParseState *pstate, CreateFunctionStmt *stmt
|
|
56
53
|
extern void RemoveFunctionById(Oid funcOid);
|
57
54
|
extern ObjectAddress AlterFunction(ParseState *pstate, AlterFunctionStmt *stmt);
|
58
55
|
extern ObjectAddress CreateCast(CreateCastStmt *stmt);
|
59
|
-
extern void DropCastById(Oid castOid);
|
60
56
|
extern ObjectAddress CreateTransform(CreateTransformStmt *stmt);
|
61
|
-
extern void DropTransformById(Oid transformOid);
|
62
57
|
extern void IsThereFunctionInNamespace(const char *proname, int pronargs,
|
63
58
|
oidvector *proargtypes, Oid nspOid);
|
64
|
-
extern void ExecuteDoStmt(DoStmt *stmt, bool atomic);
|
59
|
+
extern void ExecuteDoStmt(ParseState *pstate, DoStmt *stmt, bool atomic);
|
65
60
|
extern void ExecuteCallStmt(CallStmt *stmt, ParamListInfo params, bool atomic, DestReceiver *dest);
|
66
61
|
extern TupleDesc CallStmtResultDesc(CallStmt *stmt);
|
67
62
|
extern Oid get_transform_oid(Oid type_id, Oid lang_id, bool missing_ok);
|
@@ -70,9 +65,11 @@ extern void interpret_function_parameter_list(ParseState *pstate,
|
|
70
65
|
Oid languageOid,
|
71
66
|
ObjectType objtype,
|
72
67
|
oidvector **parameterTypes,
|
68
|
+
List **parameterTypes_list,
|
73
69
|
ArrayType **allParameterTypes,
|
74
70
|
ArrayType **parameterModes,
|
75
71
|
ArrayType **parameterNames,
|
72
|
+
List **inParameterNames_list,
|
76
73
|
List **parameterDefaults,
|
77
74
|
Oid *variadicArgType,
|
78
75
|
Oid *requiredResultType);
|
@@ -86,9 +83,8 @@ extern ObjectAddress AlterOperator(AlterOperatorStmt *stmt);
|
|
86
83
|
extern ObjectAddress CreateStatistics(CreateStatsStmt *stmt);
|
87
84
|
extern ObjectAddress AlterStatistics(AlterStatsStmt *stmt);
|
88
85
|
extern void RemoveStatisticsById(Oid statsOid);
|
89
|
-
extern void
|
90
|
-
|
91
|
-
Oid oldColumnType, Oid newColumnType);
|
86
|
+
extern void RemoveStatisticsDataById(Oid statsOid, bool inh);
|
87
|
+
extern Oid StatisticsGetRelation(Oid statId, bool missing_ok);
|
92
88
|
|
93
89
|
/* commands/aggregatecmds.c */
|
94
90
|
extern ObjectAddress DefineAggregate(ParseState *pstate, List *name, List *args, bool oldstyle,
|
@@ -98,10 +94,6 @@ extern ObjectAddress DefineAggregate(ParseState *pstate, List *name, List *args,
|
|
98
94
|
extern ObjectAddress DefineOpClass(CreateOpClassStmt *stmt);
|
99
95
|
extern ObjectAddress DefineOpFamily(CreateOpFamilyStmt *stmt);
|
100
96
|
extern Oid AlterOpFamily(AlterOpFamilyStmt *stmt);
|
101
|
-
extern void RemoveOpClassById(Oid opclassOid);
|
102
|
-
extern void RemoveOpFamilyById(Oid opfamilyOid);
|
103
|
-
extern void RemoveAmOpEntryById(Oid entryOid);
|
104
|
-
extern void RemoveAmProcEntryById(Oid entryOid);
|
105
97
|
extern void IsThereOpClassInNamespace(const char *opcname, Oid opcmethod,
|
106
98
|
Oid opcnamespace);
|
107
99
|
extern void IsThereOpFamilyInNamespace(const char *opfname, Oid opfmethod,
|
@@ -111,14 +103,11 @@ extern Oid get_opfamily_oid(Oid amID, List *opfamilyname, bool missing_ok);
|
|
111
103
|
|
112
104
|
/* commands/tsearchcmds.c */
|
113
105
|
extern ObjectAddress DefineTSParser(List *names, List *parameters);
|
114
|
-
extern void RemoveTSParserById(Oid prsId);
|
115
106
|
|
116
107
|
extern ObjectAddress DefineTSDictionary(List *names, List *parameters);
|
117
|
-
extern void RemoveTSDictionaryById(Oid dictId);
|
118
108
|
extern ObjectAddress AlterTSDictionary(AlterTSDictionaryStmt *stmt);
|
119
109
|
|
120
110
|
extern ObjectAddress DefineTSTemplate(List *names, List *parameters);
|
121
|
-
extern void RemoveTSTemplateById(Oid tmplId);
|
122
111
|
|
123
112
|
extern ObjectAddress DefineTSConfiguration(List *names, List *parameters,
|
124
113
|
ObjectAddress *copied);
|
@@ -133,16 +122,13 @@ extern ObjectAddress AlterForeignServerOwner(const char *name, Oid newOwnerId);
|
|
133
122
|
extern void AlterForeignServerOwner_oid(Oid, Oid newOwnerId);
|
134
123
|
extern ObjectAddress AlterForeignDataWrapperOwner(const char *name, Oid newOwnerId);
|
135
124
|
extern void AlterForeignDataWrapperOwner_oid(Oid fwdId, Oid newOwnerId);
|
136
|
-
extern ObjectAddress CreateForeignDataWrapper(CreateFdwStmt *stmt);
|
137
|
-
extern ObjectAddress AlterForeignDataWrapper(AlterFdwStmt *stmt);
|
138
|
-
extern void RemoveForeignDataWrapperById(Oid fdwId);
|
125
|
+
extern ObjectAddress CreateForeignDataWrapper(ParseState *pstate, CreateFdwStmt *stmt);
|
126
|
+
extern ObjectAddress AlterForeignDataWrapper(ParseState *pstate, AlterFdwStmt *stmt);
|
139
127
|
extern ObjectAddress CreateForeignServer(CreateForeignServerStmt *stmt);
|
140
128
|
extern ObjectAddress AlterForeignServer(AlterForeignServerStmt *stmt);
|
141
|
-
extern void RemoveForeignServerById(Oid srvId);
|
142
129
|
extern ObjectAddress CreateUserMapping(CreateUserMappingStmt *stmt);
|
143
130
|
extern ObjectAddress AlterUserMapping(AlterUserMappingStmt *stmt);
|
144
131
|
extern Oid RemoveUserMapping(DropUserMappingStmt *stmt);
|
145
|
-
extern void RemoveUserMappingById(Oid umId);
|
146
132
|
extern void CreateForeignTable(CreateForeignTableStmt *stmt, Oid relid);
|
147
133
|
extern void ImportForeignSchema(ImportForeignSchemaStmt *stmt);
|
148
134
|
extern Datum transformGenericOptions(Oid catalogId,
|
@@ -152,7 +138,6 @@ extern Datum transformGenericOptions(Oid catalogId,
|
|
152
138
|
|
153
139
|
/* commands/amcmds.c */
|
154
140
|
extern ObjectAddress CreateAccessMethod(CreateAmStmt *stmt);
|
155
|
-
extern void RemoveAccessMethodById(Oid amOid);
|
156
141
|
extern Oid get_index_am_oid(const char *amname, bool missing_ok);
|
157
142
|
extern Oid get_table_am_oid(const char *amname, bool missing_ok);
|
158
143
|
extern Oid get_am_oid(const char *amname, bool missing_ok);
|
@@ -165,9 +150,11 @@ extern double defGetNumeric(DefElem *def);
|
|
165
150
|
extern bool defGetBoolean(DefElem *def);
|
166
151
|
extern int32 defGetInt32(DefElem *def);
|
167
152
|
extern int64 defGetInt64(DefElem *def);
|
153
|
+
extern Oid defGetObjectId(DefElem *def);
|
168
154
|
extern List *defGetQualifiedName(DefElem *def);
|
169
155
|
extern TypeName *defGetTypeName(DefElem *def);
|
170
156
|
extern int defGetTypeLength(DefElem *def);
|
171
157
|
extern List *defGetStringList(DefElem *def);
|
158
|
+
extern void errorConflictingDefElem(DefElem *defel, ParseState *pstate) pg_attribute_noreturn();
|
172
159
|
|
173
160
|
#endif /* DEFREM_H */
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* event_trigger.h
|
4
4
|
* Declarations for command trigger handling.
|
5
5
|
*
|
6
|
-
* Portions Copyright (c) 1996-
|
6
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
8
8
|
*
|
9
9
|
* src/include/commands/event_trigger.h
|
@@ -32,6 +32,7 @@ typedef struct EventTriggerData
|
|
32
32
|
#define AT_REWRITE_ALTER_PERSISTENCE 0x01
|
33
33
|
#define AT_REWRITE_DEFAULT_VAL 0x02
|
34
34
|
#define AT_REWRITE_COLUMN_REWRITE 0x04
|
35
|
+
#define AT_REWRITE_ACCESS_METHOD 0x08
|
35
36
|
|
36
37
|
/*
|
37
38
|
* EventTriggerData is the node type that is passed as fmgr "context" info
|
@@ -41,7 +42,6 @@ typedef struct EventTriggerData
|
|
41
42
|
((fcinfo)->context != NULL && IsA((fcinfo)->context, EventTriggerData))
|
42
43
|
|
43
44
|
extern Oid CreateEventTrigger(CreateEventTrigStmt *stmt);
|
44
|
-
extern void RemoveEventTriggerById(Oid trigOid);
|
45
45
|
extern Oid get_event_trigger_oid(const char *trigname, bool missing_ok);
|
46
46
|
|
47
47
|
extern Oid AlterEventTrigger(AlterEventTrigStmt *stmt);
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* explain.h
|
4
4
|
* prototypes for explain.c
|
5
5
|
*
|
6
|
-
* Portions Copyright (c) 1996-
|
6
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
7
7
|
* Portions Copyright (c) 1994-5, Regents of the University of California
|
8
8
|
*
|
9
9
|
* src/include/commands/explain.h
|
@@ -4,7 +4,7 @@
|
|
4
4
|
* Tablespace management commands (create/drop tablespace).
|
5
5
|
*
|
6
6
|
*
|
7
|
-
* Portions Copyright (c) 1996-
|
7
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
8
8
|
* Portions Copyright (c) 1994, Regents of the University of California
|
9
9
|
*
|
10
10
|
* src/include/commands/tablespace.h
|
@@ -19,7 +19,7 @@
|
|
19
19
|
#include "lib/stringinfo.h"
|
20
20
|
#include "nodes/parsenodes.h"
|
21
21
|
|
22
|
-
extern bool allow_in_place_tablespaces;
|
22
|
+
extern PGDLLIMPORT bool allow_in_place_tablespaces;
|
23
23
|
|
24
24
|
/* XLOG stuff */
|
25
25
|
#define XLOG_TBLSPC_CREATE 0x00
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* trigger.h
|
4
4
|
* Declarations for trigger handling.
|
5
5
|
*
|
6
|
-
* Portions Copyright (c) 1996-
|
6
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
8
8
|
*
|
9
9
|
* src/include/commands/trigger.h
|
@@ -13,6 +13,7 @@
|
|
13
13
|
#ifndef TRIGGER_H
|
14
14
|
#define TRIGGER_H
|
15
15
|
|
16
|
+
#include "access/tableam.h"
|
16
17
|
#include "catalog/objectaddress.h"
|
17
18
|
#include "nodes/execnodes.h"
|
18
19
|
#include "nodes/parsenodes.h"
|
@@ -44,9 +45,9 @@ typedef struct TriggerData
|
|
44
45
|
|
45
46
|
/*
|
46
47
|
* The state for capturing old and new tuples into transition tables for a
|
47
|
-
* single ModifyTable node (or other operation source, e.g.
|
48
|
+
* single ModifyTable node (or other operation source, e.g. copyfrom.c).
|
48
49
|
*
|
49
|
-
* This is per-caller to avoid conflicts in setting
|
50
|
+
* This is per-caller to avoid conflicts in setting
|
50
51
|
* tcs_original_insert_tuple. Note, however, that the pointed-to
|
51
52
|
* private data may be shared across multiple callers.
|
52
53
|
*/
|
@@ -65,20 +66,12 @@ typedef struct TransitionCaptureState
|
|
65
66
|
bool tcs_update_new_table;
|
66
67
|
bool tcs_insert_new_table;
|
67
68
|
|
68
|
-
/*
|
69
|
-
* For UPDATE and DELETE, AfterTriggerSaveEvent may need to convert the
|
70
|
-
* new and old tuples from a child table's format to the format of the
|
71
|
-
* relation named in a query so that it is compatible with the transition
|
72
|
-
* tuplestores. The caller must store the conversion map here if so.
|
73
|
-
*/
|
74
|
-
TupleConversionMap *tcs_map;
|
75
|
-
|
76
69
|
/*
|
77
70
|
* For INSERT and COPY, it would be wasteful to convert tuples from child
|
78
71
|
* format to parent format after they have already been converted in the
|
79
72
|
* opposite direction during routing. In that case we bypass conversion
|
80
|
-
* and allow the inserting code (
|
81
|
-
* a slot containing the original tuple directly.
|
73
|
+
* and allow the inserting code (copyfrom.c and nodeModifyTable.c) to
|
74
|
+
* provide a slot containing the original tuple directly.
|
82
75
|
*/
|
83
76
|
TupleTableSlot *tcs_original_insert_tuple;
|
84
77
|
|
@@ -168,6 +161,10 @@ extern ObjectAddress CreateTriggerFiringOn(CreateTrigStmt *stmt, const char *que
|
|
168
161
|
Node *whenClause, bool isInternal, bool in_partition,
|
169
162
|
char trigger_fires_when);
|
170
163
|
|
164
|
+
extern void TriggerSetParentTrigger(Relation trigRel,
|
165
|
+
Oid childTrigId,
|
166
|
+
Oid parentTrigId,
|
167
|
+
Oid childTableId);
|
171
168
|
extern void RemoveTriggerById(Oid trigOid);
|
172
169
|
extern Oid get_trigger_oid(Oid relid, const char *name, bool missing_ok);
|
173
170
|
|
@@ -221,7 +218,8 @@ extern void ExecARDeleteTriggers(EState *estate,
|
|
221
218
|
ResultRelInfo *relinfo,
|
222
219
|
ItemPointer tupleid,
|
223
220
|
HeapTuple fdw_trigtuple,
|
224
|
-
TransitionCaptureState *transition_capture
|
221
|
+
TransitionCaptureState *transition_capture,
|
222
|
+
bool is_crosspart_update);
|
225
223
|
extern bool ExecIRDeleteTriggers(EState *estate,
|
226
224
|
ResultRelInfo *relinfo,
|
227
225
|
HeapTuple trigtuple);
|
@@ -235,14 +233,18 @@ extern bool ExecBRUpdateTriggers(EState *estate,
|
|
235
233
|
ResultRelInfo *relinfo,
|
236
234
|
ItemPointer tupleid,
|
237
235
|
HeapTuple fdw_trigtuple,
|
238
|
-
TupleTableSlot *slot
|
236
|
+
TupleTableSlot *slot,
|
237
|
+
TM_FailureData *tmfdp);
|
239
238
|
extern void ExecARUpdateTriggers(EState *estate,
|
240
239
|
ResultRelInfo *relinfo,
|
240
|
+
ResultRelInfo *src_partinfo,
|
241
|
+
ResultRelInfo *dst_partinfo,
|
241
242
|
ItemPointer tupleid,
|
242
243
|
HeapTuple fdw_trigtuple,
|
243
244
|
TupleTableSlot *slot,
|
244
245
|
List *recheckIndexes,
|
245
|
-
TransitionCaptureState *transition_capture
|
246
|
+
TransitionCaptureState *transition_capture,
|
247
|
+
bool is_crosspart_update);
|
246
248
|
extern bool ExecIRUpdateTriggers(EState *estate,
|
247
249
|
ResultRelInfo *relinfo,
|
248
250
|
HeapTuple trigtuple,
|
@@ -17,7 +17,7 @@
|
|
17
17
|
#include "parser/parse_node.h"
|
18
18
|
|
19
19
|
/* GUC. Is actually of type PasswordType. */
|
20
|
-
extern int
|
20
|
+
extern PGDLLIMPORT int Password_encryption;
|
21
21
|
|
22
22
|
/* Hook to check passwords in CreateRole() and AlterRole() */
|
23
23
|
typedef void (*check_password_hook_type) (const char *username, const char *shadow_pass, PasswordType password_type, Datum validuntil_time, bool validuntil_null);
|
@@ -25,7 +25,7 @@ typedef void (*check_password_hook_type) (const char *username, const char *shad
|
|
25
25
|
extern PGDLLIMPORT check_password_hook_type check_password_hook;
|
26
26
|
|
27
27
|
extern Oid CreateRole(ParseState *pstate, CreateRoleStmt *stmt);
|
28
|
-
extern Oid AlterRole(AlterRoleStmt *stmt);
|
28
|
+
extern Oid AlterRole(ParseState *pstate, AlterRoleStmt *stmt);
|
29
29
|
extern Oid AlterRoleSet(AlterRoleSetStmt *stmt);
|
30
30
|
extern void DropRole(DropRoleStmt *stmt);
|
31
31
|
extern void GrantRole(GrantRoleStmt *stmt);
|