pg_query 2.1.0 → 4.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +104 -0
- data/README.md +59 -31
- data/Rakefile +2 -2
- data/ext/pg_query/extconf.rb +8 -2
- data/ext/pg_query/include/access/amapi.h +45 -1
- data/ext/pg_query/include/access/attmap.h +1 -1
- data/ext/pg_query/include/access/attnum.h +2 -2
- data/ext/pg_query/include/access/clog.h +4 -2
- data/ext/pg_query/include/access/commit_ts.h +6 -9
- data/ext/pg_query/include/access/detoast.h +1 -11
- data/ext/pg_query/include/access/genam.h +15 -12
- data/ext/pg_query/include/access/gin.h +2 -2
- data/ext/pg_query/include/access/htup.h +1 -1
- data/ext/pg_query/include/access/htup_details.h +75 -87
- data/ext/pg_query/include/access/itup.h +7 -1
- data/ext/pg_query/include/access/parallel.h +2 -2
- data/ext/pg_query/include/access/printtup.h +1 -1
- data/ext/pg_query/include/access/relation.h +1 -1
- data/ext/pg_query/include/access/relscan.h +17 -2
- data/ext/pg_query/include/access/rmgr.h +30 -3
- data/ext/pg_query/include/access/rmgrlist.h +23 -23
- data/ext/pg_query/include/access/sdir.h +1 -1
- data/ext/pg_query/include/access/skey.h +1 -1
- data/ext/pg_query/include/access/stratnum.h +4 -2
- data/ext/pg_query/include/access/sysattr.h +1 -1
- data/ext/pg_query/include/access/table.h +2 -1
- data/ext/pg_query/include/access/tableam.h +272 -20
- data/ext/pg_query/include/access/toast_compression.h +73 -0
- data/ext/pg_query/include/access/transam.h +123 -13
- data/ext/pg_query/include/access/tupconvert.h +1 -1
- data/ext/pg_query/include/access/tupdesc.h +1 -1
- data/ext/pg_query/include/access/tupmacs.h +3 -3
- data/ext/pg_query/include/access/twophase.h +5 -1
- data/ext/pg_query/include/access/xact.h +79 -19
- data/ext/pg_query/include/access/xlog.h +60 -155
- data/ext/pg_query/include/access/xlog_internal.h +50 -14
- data/ext/pg_query/include/access/xlogdefs.h +8 -16
- data/ext/pg_query/include/access/xlogprefetcher.h +55 -0
- data/ext/pg_query/include/access/xlogreader.h +148 -32
- data/ext/pg_query/include/access/xlogrecord.h +18 -9
- data/ext/pg_query/include/access/xlogrecovery.h +157 -0
- data/ext/pg_query/include/c.h +101 -44
- data/ext/pg_query/include/catalog/catalog.h +3 -1
- data/ext/pg_query/include/catalog/catversion.h +2 -2
- data/ext/pg_query/include/catalog/dependency.h +10 -16
- data/ext/pg_query/include/catalog/genbki.h +83 -5
- data/ext/pg_query/include/catalog/index.h +18 -3
- data/ext/pg_query/include/catalog/indexing.h +12 -324
- data/ext/pg_query/include/catalog/namespace.h +4 -2
- data/ext/pg_query/include/catalog/objectaccess.h +70 -2
- data/ext/pg_query/include/catalog/objectaddress.h +11 -6
- data/ext/pg_query/include/catalog/pg_aggregate.h +14 -10
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_am.h +4 -1
- data/ext/pg_query/include/catalog/pg_am_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_attribute.h +27 -10
- data/ext/pg_query/include/catalog/pg_attribute_d.h +21 -18
- data/ext/pg_query/include/catalog/pg_authid.h +7 -2
- data/ext/pg_query/include/catalog/pg_authid_d.h +17 -9
- data/ext/pg_query/include/catalog/pg_class.h +45 -15
- data/ext/pg_query/include/catalog/pg_class_d.h +31 -2
- data/ext/pg_query/include/catalog/pg_collation.h +33 -8
- data/ext/pg_query/include/catalog/pg_collation_d.h +20 -3
- data/ext/pg_query/include/catalog/pg_constraint.h +38 -12
- data/ext/pg_query/include/catalog/pg_constraint_d.h +10 -4
- data/ext/pg_query/include/catalog/pg_control.h +5 -5
- data/ext/pg_query/include/catalog/pg_conversion.h +7 -4
- data/ext/pg_query/include/catalog/pg_conversion_d.h +4 -1
- data/ext/pg_query/include/catalog/pg_depend.h +11 -7
- data/ext/pg_query/include/catalog/pg_depend_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_event_trigger.h +9 -3
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_index.h +17 -7
- data/ext/pg_query/include/catalog/pg_index_d.h +20 -17
- data/ext/pg_query/include/catalog/pg_language.h +10 -5
- data/ext/pg_query/include/catalog/pg_language_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_namespace.h +7 -2
- data/ext/pg_query/include/catalog/pg_namespace_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_opclass.h +8 -5
- data/ext/pg_query/include/catalog/pg_opclass_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_operator.h +21 -16
- data/ext/pg_query/include/catalog/pg_operator_d.h +37 -1
- data/ext/pg_query/include/catalog/pg_opfamily.h +6 -3
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_parameter_acl.h +60 -0
- data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +34 -0
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +20 -9
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_proc.h +20 -11
- data/ext/pg_query/include/catalog/pg_proc_d.h +10 -8
- data/ext/pg_query/include/catalog/pg_publication.h +50 -4
- data/ext/pg_query/include/catalog/pg_publication_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_replication_origin.h +6 -1
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +5 -1
- data/ext/pg_query/include/catalog/pg_statistic.h +19 -12
- data/ext/pg_query/include/catalog/pg_statistic_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +19 -5
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +7 -2
- data/ext/pg_query/include/catalog/pg_transform.h +8 -5
- data/ext/pg_query/include/catalog/pg_transform_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_trigger.h +24 -8
- data/ext/pg_query/include/catalog/pg_trigger_d.h +4 -1
- data/ext/pg_query/include/catalog/pg_ts_config.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_dict.h +8 -3
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_parser.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_template.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_type.h +56 -24
- data/ext/pg_query/include/catalog/pg_type_d.h +70 -31
- data/ext/pg_query/include/catalog/storage.h +5 -3
- data/ext/pg_query/include/commands/async.h +4 -5
- data/ext/pg_query/include/commands/dbcommands.h +2 -1
- data/ext/pg_query/include/commands/defrem.h +11 -24
- data/ext/pg_query/include/commands/event_trigger.h +2 -2
- data/ext/pg_query/include/commands/explain.h +1 -1
- data/ext/pg_query/include/commands/prepare.h +1 -1
- data/ext/pg_query/include/commands/tablespace.h +3 -1
- data/ext/pg_query/include/commands/trigger.h +27 -17
- data/ext/pg_query/include/commands/user.h +2 -2
- data/ext/pg_query/include/commands/vacuum.h +88 -41
- data/ext/pg_query/include/commands/variable.h +1 -1
- data/ext/pg_query/include/common/file_perm.h +4 -4
- data/ext/pg_query/include/common/hashfn.h +1 -1
- data/ext/pg_query/include/common/ip.h +1 -7
- data/ext/pg_query/include/common/keywords.h +2 -6
- data/ext/pg_query/include/common/kwlookup.h +1 -1
- data/ext/pg_query/include/common/pg_prng.h +60 -0
- data/ext/pg_query/include/common/relpath.h +2 -2
- data/ext/pg_query/include/common/string.h +24 -1
- data/ext/pg_query/include/common/unicode_combining_table.h +114 -2
- data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +125 -0
- data/ext/pg_query/include/datatype/timestamp.h +40 -1
- data/ext/pg_query/include/executor/execdesc.h +1 -1
- data/ext/pg_query/include/executor/executor.h +65 -22
- data/ext/pg_query/include/executor/functions.h +17 -3
- data/ext/pg_query/include/executor/instrument.h +33 -16
- data/ext/pg_query/include/executor/spi.h +41 -3
- data/ext/pg_query/include/executor/tablefunc.h +1 -1
- data/ext/pg_query/include/executor/tuptable.h +1 -1
- data/ext/pg_query/include/fmgr.h +13 -7
- data/ext/pg_query/include/funcapi.h +16 -4
- data/ext/pg_query/include/getaddrinfo.h +1 -1
- data/ext/pg_query/include/jit/jit.h +11 -11
- data/ext/pg_query/include/kwlist_d.h +517 -494
- data/ext/pg_query/include/lib/dshash.h +112 -0
- data/ext/pg_query/include/lib/ilist.h +20 -1
- data/ext/pg_query/include/lib/pairingheap.h +1 -1
- data/ext/pg_query/include/lib/simplehash.h +150 -25
- data/ext/pg_query/include/lib/sort_template.h +432 -0
- data/ext/pg_query/include/lib/stringinfo.h +1 -1
- data/ext/pg_query/include/libpq/auth.h +6 -4
- data/ext/pg_query/include/libpq/crypt.h +5 -4
- data/ext/pg_query/include/libpq/hba.h +43 -4
- data/ext/pg_query/include/libpq/libpq-be.h +23 -6
- data/ext/pg_query/include/libpq/libpq.h +31 -20
- data/ext/pg_query/include/libpq/pqcomm.h +17 -31
- data/ext/pg_query/include/libpq/pqformat.h +1 -1
- data/ext/pg_query/include/libpq/pqsignal.h +4 -4
- data/ext/pg_query/include/mb/pg_wchar.h +106 -23
- data/ext/pg_query/include/mb/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/miscadmin.h +71 -52
- data/ext/pg_query/include/nodes/bitmapset.h +1 -1
- data/ext/pg_query/include/nodes/execnodes.h +272 -80
- data/ext/pg_query/include/nodes/extensible.h +4 -2
- data/ext/pg_query/include/nodes/lockoptions.h +1 -1
- data/ext/pg_query/include/nodes/makefuncs.h +7 -6
- data/ext/pg_query/include/nodes/memnodes.h +5 -3
- data/ext/pg_query/include/nodes/nodeFuncs.h +1 -1
- data/ext/pg_query/include/nodes/nodes.h +30 -11
- data/ext/pg_query/include/nodes/params.h +1 -1
- data/ext/pg_query/include/nodes/parsenodes.h +327 -94
- data/ext/pg_query/include/nodes/pathnodes.h +245 -67
- data/ext/pg_query/include/nodes/pg_list.h +75 -68
- data/ext/pg_query/include/nodes/plannodes.h +128 -30
- data/ext/pg_query/include/nodes/primnodes.h +99 -47
- data/ext/pg_query/include/nodes/print.h +1 -1
- data/ext/pg_query/include/nodes/tidbitmap.h +1 -1
- data/ext/pg_query/include/nodes/value.h +58 -39
- data/ext/pg_query/include/optimizer/cost.h +9 -2
- data/ext/pg_query/include/optimizer/geqo.h +9 -7
- data/ext/pg_query/include/optimizer/geqo_gene.h +1 -1
- data/ext/pg_query/include/optimizer/optimizer.h +25 -22
- data/ext/pg_query/include/optimizer/paths.h +6 -6
- data/ext/pg_query/include/optimizer/planmain.h +15 -14
- data/ext/pg_query/include/parser/analyze.h +19 -5
- data/ext/pg_query/include/parser/gram.h +947 -913
- data/ext/pg_query/include/parser/gramparse.h +1 -1
- data/ext/pg_query/include/parser/kwlist.h +463 -453
- data/ext/pg_query/include/parser/parse_agg.h +2 -7
- data/ext/pg_query/include/parser/parse_coerce.h +4 -1
- data/ext/pg_query/include/parser/parse_expr.h +2 -3
- data/ext/pg_query/include/parser/parse_func.h +2 -1
- data/ext/pg_query/include/parser/parse_node.h +21 -9
- data/ext/pg_query/include/parser/parse_oper.h +1 -3
- data/ext/pg_query/include/parser/parse_relation.h +5 -4
- data/ext/pg_query/include/parser/parse_type.h +1 -1
- data/ext/pg_query/include/parser/parser.h +31 -4
- data/ext/pg_query/include/parser/parsetree.h +1 -1
- data/ext/pg_query/include/parser/scanner.h +1 -1
- data/ext/pg_query/include/parser/scansup.h +2 -5
- data/ext/pg_query/include/partitioning/partdefs.h +1 -1
- data/ext/pg_query/include/pg_config.h +94 -46
- data/ext/pg_query/include/pg_config_manual.h +74 -21
- data/ext/pg_query/include/pg_getopt.h +6 -6
- data/ext/pg_query/include/pg_query.h +5 -4
- data/ext/pg_query/include/pg_query_enum_defs.c +358 -241
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +44 -7
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +1220 -422
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +43 -13
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +152 -26
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +11 -2
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +174 -30
- data/ext/pg_query/include/pg_trace.h +1 -1
- data/ext/pg_query/include/pgstat.h +449 -1237
- data/ext/pg_query/include/pgtime.h +14 -4
- data/ext/pg_query/include/pl_gram.h +126 -128
- data/ext/pg_query/include/pl_reserved_kwlist.h +1 -1
- data/ext/pg_query/include/pl_reserved_kwlist_d.h +10 -10
- data/ext/pg_query/include/pl_unreserved_kwlist.h +2 -3
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +54 -56
- data/ext/pg_query/include/plerrcodes.h +9 -1
- data/ext/pg_query/include/plpgsql.h +52 -54
- data/ext/pg_query/include/port/atomics/arch-arm.h +7 -1
- data/ext/pg_query/include/port/atomics/arch-ppc.h +1 -1
- data/ext/pg_query/include/port/atomics/arch-x86.h +1 -1
- data/ext/pg_query/include/port/atomics/fallback.h +1 -1
- data/ext/pg_query/include/port/atomics/generic-gcc.h +3 -3
- data/ext/pg_query/include/port/atomics/generic.h +1 -1
- data/ext/pg_query/include/port/atomics.h +1 -1
- data/ext/pg_query/include/port/pg_bitutils.h +88 -12
- data/ext/pg_query/include/port/pg_bswap.h +1 -1
- data/ext/pg_query/include/port/pg_crc32c.h +1 -1
- data/ext/pg_query/include/port.h +72 -43
- data/ext/pg_query/include/portability/instr_time.h +1 -1
- data/ext/pg_query/include/postgres.h +60 -16
- data/ext/pg_query/include/postmaster/autovacuum.h +17 -17
- data/ext/pg_query/include/postmaster/auxprocess.h +20 -0
- data/ext/pg_query/include/postmaster/bgworker.h +2 -1
- data/ext/pg_query/include/postmaster/bgworker_internals.h +2 -2
- data/ext/pg_query/include/postmaster/bgwriter.h +5 -5
- data/ext/pg_query/include/postmaster/fork_process.h +1 -1
- data/ext/pg_query/include/postmaster/interrupt.h +1 -1
- data/ext/pg_query/include/postmaster/pgarch.h +42 -8
- data/ext/pg_query/include/postmaster/postmaster.h +18 -17
- data/ext/pg_query/include/postmaster/startup.h +39 -0
- data/ext/pg_query/include/postmaster/syslogger.h +15 -10
- data/ext/pg_query/include/postmaster/walwriter.h +3 -3
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1422 -916
- data/ext/pg_query/include/protobuf/pg_query.pb.h +43678 -32769
- data/ext/pg_query/include/regex/regex.h +18 -16
- data/ext/pg_query/include/replication/logicallauncher.h +3 -5
- data/ext/pg_query/include/replication/logicalproto.h +161 -17
- data/ext/pg_query/include/replication/logicalworker.h +1 -1
- data/ext/pg_query/include/replication/origin.h +7 -7
- data/ext/pg_query/include/replication/reorderbuffer.h +262 -44
- data/ext/pg_query/include/replication/slot.h +23 -12
- data/ext/pg_query/include/replication/syncrep.h +5 -5
- data/ext/pg_query/include/replication/walreceiver.h +145 -13
- data/ext/pg_query/include/replication/walsender.h +8 -8
- data/ext/pg_query/include/rewrite/prs2lock.h +1 -1
- data/ext/pg_query/include/rewrite/rewriteHandler.h +1 -3
- data/ext/pg_query/include/rewrite/rewriteManip.h +1 -1
- data/ext/pg_query/include/rewrite/rewriteSupport.h +1 -1
- data/ext/pg_query/include/storage/backendid.h +3 -3
- data/ext/pg_query/include/storage/block.h +4 -10
- data/ext/pg_query/include/storage/buf.h +1 -1
- data/ext/pg_query/include/storage/bufmgr.h +19 -14
- data/ext/pg_query/include/storage/bufpage.h +6 -8
- data/ext/pg_query/include/storage/condition_variable.h +13 -2
- data/ext/pg_query/include/storage/dsm.h +4 -1
- data/ext/pg_query/include/storage/dsm_impl.h +3 -2
- data/ext/pg_query/include/storage/fd.h +33 -3
- data/ext/pg_query/include/storage/fileset.h +40 -0
- data/ext/pg_query/include/storage/ipc.h +4 -1
- data/ext/pg_query/include/storage/item.h +1 -1
- data/ext/pg_query/include/storage/itemid.h +1 -1
- data/ext/pg_query/include/storage/itemptr.h +3 -1
- data/ext/pg_query/include/storage/large_object.h +2 -2
- data/ext/pg_query/include/storage/latch.h +9 -13
- data/ext/pg_query/include/storage/lmgr.h +2 -1
- data/ext/pg_query/include/storage/lock.h +17 -13
- data/ext/pg_query/include/storage/lockdefs.h +2 -2
- data/ext/pg_query/include/storage/lwlock.h +6 -32
- data/ext/pg_query/include/storage/lwlocknames.h +0 -1
- data/ext/pg_query/include/storage/off.h +1 -1
- data/ext/pg_query/include/storage/pg_sema.h +1 -1
- data/ext/pg_query/include/storage/pg_shmem.h +9 -7
- data/ext/pg_query/include/storage/pmsignal.h +15 -4
- data/ext/pg_query/include/storage/predicate.h +4 -4
- data/ext/pg_query/include/storage/proc.h +183 -55
- data/ext/pg_query/include/storage/procarray.h +98 -0
- data/ext/pg_query/include/storage/proclist_types.h +1 -1
- data/ext/pg_query/include/storage/procsignal.h +3 -7
- data/ext/pg_query/include/storage/relfilenode.h +1 -1
- data/ext/pg_query/include/storage/s_lock.h +67 -4
- data/ext/pg_query/include/storage/sharedfileset.h +3 -11
- data/ext/pg_query/include/storage/shm_mq.h +5 -4
- data/ext/pg_query/include/storage/shm_toc.h +1 -1
- data/ext/pg_query/include/storage/shmem.h +1 -1
- data/ext/pg_query/include/storage/sinval.h +3 -3
- data/ext/pg_query/include/storage/sinvaladt.h +1 -1
- data/ext/pg_query/include/storage/smgr.h +10 -8
- data/ext/pg_query/include/storage/spin.h +2 -2
- data/ext/pg_query/include/storage/standby.h +13 -6
- data/ext/pg_query/include/storage/standbydefs.h +2 -2
- data/ext/pg_query/include/storage/sync.h +7 -3
- data/ext/pg_query/include/tcop/cmdtag.h +1 -1
- data/ext/pg_query/include/tcop/cmdtaglist.h +3 -2
- data/ext/pg_query/include/tcop/deparse_utility.h +1 -1
- data/ext/pg_query/include/tcop/dest.h +1 -1
- data/ext/pg_query/include/tcop/fastpath.h +1 -2
- data/ext/pg_query/include/tcop/pquery.h +7 -1
- data/ext/pg_query/include/tcop/tcopprot.h +19 -11
- data/ext/pg_query/include/tcop/utility.h +7 -3
- data/ext/pg_query/include/tsearch/ts_cache.h +2 -2
- data/ext/pg_query/include/utils/acl.h +24 -3
- data/ext/pg_query/include/utils/aclchk_internal.h +1 -1
- data/ext/pg_query/include/utils/array.h +7 -2
- data/ext/pg_query/include/utils/backend_progress.h +44 -0
- data/ext/pg_query/include/utils/backend_status.h +321 -0
- data/ext/pg_query/include/utils/builtins.h +11 -11
- data/ext/pg_query/include/utils/bytea.h +3 -2
- data/ext/pg_query/include/utils/catcache.h +1 -1
- data/ext/pg_query/include/utils/date.h +1 -1
- data/ext/pg_query/include/utils/datetime.h +8 -7
- data/ext/pg_query/include/utils/datum.h +9 -1
- data/ext/pg_query/include/utils/dsa.h +1 -1
- data/ext/pg_query/include/utils/dynahash.h +4 -3
- data/ext/pg_query/include/utils/elog.h +52 -21
- data/ext/pg_query/include/utils/errcodes.h +2 -0
- data/ext/pg_query/include/utils/expandeddatum.h +1 -1
- data/ext/pg_query/include/utils/expandedrecord.h +1 -1
- data/ext/pg_query/include/utils/float.h +7 -7
- data/ext/pg_query/include/utils/fmgroids.h +1300 -696
- data/ext/pg_query/include/utils/fmgrprotos.h +199 -16
- data/ext/pg_query/include/utils/fmgrtab.h +6 -5
- data/ext/pg_query/include/utils/guc.h +69 -43
- data/ext/pg_query/include/utils/guc_tables.h +23 -19
- data/ext/pg_query/include/utils/hsearch.h +15 -11
- data/ext/pg_query/include/utils/inval.h +5 -1
- data/ext/pg_query/include/utils/lsyscache.h +11 -1
- data/ext/pg_query/include/utils/memdebug.h +1 -1
- data/ext/pg_query/include/utils/memutils.h +8 -3
- data/ext/pg_query/include/utils/numeric.h +19 -5
- data/ext/pg_query/include/utils/palloc.h +25 -3
- data/ext/pg_query/include/utils/partcache.h +1 -1
- data/ext/pg_query/include/utils/pg_locale.h +17 -9
- data/ext/pg_query/include/utils/pg_lsn.h +1 -1
- data/ext/pg_query/include/utils/pgstat_internal.h +784 -0
- data/ext/pg_query/include/utils/pidfile.h +1 -1
- data/ext/pg_query/include/utils/plancache.h +6 -5
- data/ext/pg_query/include/utils/portal.h +12 -1
- data/ext/pg_query/include/utils/ps_status.h +1 -1
- data/ext/pg_query/include/utils/queryenvironment.h +1 -1
- data/ext/pg_query/include/utils/queryjumble.h +88 -0
- data/ext/pg_query/include/utils/regproc.h +14 -3
- data/ext/pg_query/include/utils/rel.h +71 -20
- data/ext/pg_query/include/utils/relcache.h +9 -7
- data/ext/pg_query/include/utils/reltrigger.h +1 -1
- data/ext/pg_query/include/utils/resowner.h +1 -1
- data/ext/pg_query/include/utils/rls.h +2 -2
- data/ext/pg_query/include/utils/ruleutils.h +4 -1
- data/ext/pg_query/include/utils/sharedtuplestore.h +1 -1
- data/ext/pg_query/include/utils/snapmgr.h +35 -14
- data/ext/pg_query/include/utils/snapshot.h +14 -1
- data/ext/pg_query/include/utils/sortsupport.h +117 -2
- data/ext/pg_query/include/utils/syscache.h +6 -1
- data/ext/pg_query/include/utils/timeout.h +11 -4
- data/ext/pg_query/include/utils/timestamp.h +6 -5
- data/ext/pg_query/include/utils/tuplesort.h +25 -11
- data/ext/pg_query/include/utils/tuplestore.h +2 -2
- data/ext/pg_query/include/utils/typcache.h +24 -17
- data/ext/pg_query/include/utils/tzparser.h +1 -1
- data/ext/pg_query/include/utils/varlena.h +5 -3
- data/ext/pg_query/include/utils/wait_event.h +289 -0
- data/ext/pg_query/include/utils/xml.h +4 -4
- data/ext/pg_query/pg_query.pb-c.c +4318 -2307
- data/ext/pg_query/pg_query_deparse.c +1114 -381
- data/ext/pg_query/pg_query_fingerprint.c +46 -10
- data/ext/pg_query/pg_query_fingerprint.h +3 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +55 -12
- data/ext/pg_query/pg_query_normalize.c +163 -20
- data/ext/pg_query/pg_query_outfuncs.h +1 -0
- data/ext/pg_query/pg_query_outfuncs_json.c +65 -16
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +70 -10
- data/ext/pg_query/pg_query_parse.c +1 -1
- data/ext/pg_query/pg_query_parse_plpgsql.c +79 -16
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +42 -8
- data/ext/pg_query/pg_query_ruby.c +1 -1
- data/ext/pg_query/pg_query_scan.c +2 -1
- data/ext/pg_query/pg_query_split.c +3 -2
- data/ext/pg_query/src_backend_catalog_namespace.c +21 -9
- data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
- data/ext/pg_query/src_backend_commands_define.c +11 -1
- data/ext/pg_query/src_backend_nodes_bitmapset.c +3 -1
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +424 -109
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +291 -46
- data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
- data/ext/pg_query/src_backend_nodes_list.c +86 -11
- data/ext/pg_query/src_backend_nodes_makefuncs.c +5 -4
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +55 -12
- data/ext/pg_query/src_backend_nodes_value.c +28 -19
- data/ext/pg_query/src_backend_parser_gram.c +33890 -31262
- data/ext/pg_query/src_backend_parser_parser.c +26 -7
- data/ext/pg_query/src_backend_parser_scan.c +644 -441
- data/ext/pg_query/src_backend_parser_scansup.c +4 -28
- data/ext/pg_query/src_backend_postmaster_postmaster.c +77 -106
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +5 -4
- data/ext/pg_query/src_backend_tcop_postgres.c +73 -24
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +13 -1
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +109 -15
- data/ext/pg_query/src_backend_utils_error_assert.c +16 -14
- data/ext/pg_query/src_backend_utils_error_elog.c +172 -99
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +12 -17
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +40 -10
- data/ext/pg_query/src_backend_utils_init_globals.c +5 -5
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +55 -66
- data/ext/pg_query/src_backend_utils_misc_guc.c +207 -45
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +7 -5
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +123 -35
- data/ext/pg_query/src_common_encnames.c +1 -1
- data/ext/pg_query/src_common_hashfn.c +3 -3
- data/ext/pg_query/src_common_keywords.c +15 -2
- data/ext/pg_query/src_common_kwlist_d.h +517 -494
- data/ext/pg_query/src_common_kwlookup.c +1 -1
- data/ext/pg_query/src_common_pg_prng.c +152 -0
- data/ext/pg_query/src_common_psprintf.c +1 -1
- data/ext/pg_query/src_common_string.c +7 -1
- data/ext/pg_query/src_common_stringinfo.c +1 -1
- data/ext/pg_query/src_common_wchar.c +712 -109
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +49 -22
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -18
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1235 -1261
- data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +2 -2
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +54 -56
- data/ext/pg_query/src_port_pg_bitutils.c +41 -52
- data/ext/pg_query/src_port_pgsleep.c +1 -1
- data/ext/pg_query/src_port_pgstrcasecmp.c +1 -1
- data/ext/pg_query/src_port_qsort.c +12 -224
- data/ext/pg_query/src_port_snprintf.c +46 -20
- data/ext/pg_query/src_port_strerror.c +9 -19
- data/ext/pg_query/src_port_strnlen.c +1 -1
- data/lib/pg_query/deparse.rb +7 -1
- data/lib/pg_query/filter_columns.rb +6 -4
- data/lib/pg_query/fingerprint.rb +18 -3
- data/lib/pg_query/node.rb +2 -2
- data/lib/pg_query/param_refs.rb +1 -1
- data/lib/pg_query/parse.rb +87 -51
- data/lib/pg_query/pg_query_pb.rb +1109 -942
- data/lib/pg_query/treewalker.rb +6 -0
- data/lib/pg_query/truncate.rb +54 -8
- data/lib/pg_query/version.rb +1 -1
- metadata +29 -18
- data/ext/pg_query/include/access/xloginsert.h +0 -64
- data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
- data/ext/pg_query/include/parser/parse_clause.h +0 -54
- data/ext/pg_query/include/parser/parse_collate.h +0 -27
- data/ext/pg_query/include/parser/parse_target.h +0 -46
- data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -651
- data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
- data/ext/pg_query/src_port_erand48.c +0 -127
- data/ext/pg_query/src_port_random.c +0 -31
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* definition of the "type" system catalog (pg_type)
|
|
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/pg_type.h
|
|
@@ -41,10 +41,10 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
|
|
|
41
41
|
NameData typname;
|
|
42
42
|
|
|
43
43
|
/* OID of namespace containing this type */
|
|
44
|
-
Oid typnamespace BKI_DEFAULT(
|
|
44
|
+
Oid typnamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
|
|
45
45
|
|
|
46
46
|
/* type owner */
|
|
47
|
-
Oid typowner BKI_DEFAULT(
|
|
47
|
+
Oid typowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
|
|
48
48
|
|
|
49
49
|
/*
|
|
50
50
|
* For a fixed-size type, typlen is the number of bytes we use to
|
|
@@ -98,26 +98,32 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
|
|
|
98
98
|
char typdelim BKI_DEFAULT(',');
|
|
99
99
|
|
|
100
100
|
/* associated pg_class OID if a composite type, else 0 */
|
|
101
|
-
Oid typrelid BKI_DEFAULT(0) BKI_ARRAY_DEFAULT(0)
|
|
101
|
+
Oid typrelid BKI_DEFAULT(0) BKI_ARRAY_DEFAULT(0) BKI_LOOKUP_OPT(pg_class);
|
|
102
102
|
|
|
103
103
|
/*
|
|
104
|
-
* If
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
* typelem
|
|
104
|
+
* Type-specific subscripting handler. If typsubscript is 0, it means
|
|
105
|
+
* that this type doesn't support subscripting. Note that various parts
|
|
106
|
+
* of the system deem types to be "true" array types only if their
|
|
107
|
+
* typsubscript is array_subscript_handler.
|
|
108
|
+
*/
|
|
109
|
+
regproc typsubscript BKI_DEFAULT(-) BKI_ARRAY_DEFAULT(array_subscript_handler) BKI_LOOKUP_OPT(pg_proc);
|
|
110
|
+
|
|
111
|
+
/*
|
|
112
|
+
* If typelem is not 0 then it identifies another row in pg_type, defining
|
|
113
|
+
* the type yielded by subscripting. This should be 0 if typsubscript is
|
|
114
|
+
* 0. However, it can be 0 when typsubscript isn't 0, if the handler
|
|
115
|
+
* doesn't need typelem to determine the subscripting result type. Note
|
|
116
|
+
* that a typelem dependency is considered to imply physical containment
|
|
117
|
+
* of the element type in this type; so DDL changes on the element type
|
|
118
|
+
* might be restricted by the presence of this type.
|
|
113
119
|
*/
|
|
114
|
-
Oid typelem BKI_DEFAULT(0)
|
|
120
|
+
Oid typelem BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_type);
|
|
115
121
|
|
|
116
122
|
/*
|
|
117
123
|
* If there is a "true" array type having this type as element type,
|
|
118
124
|
* typarray links to it. Zero if no associated "true" array type.
|
|
119
125
|
*/
|
|
120
|
-
Oid typarray BKI_DEFAULT(0) BKI_ARRAY_DEFAULT(0)
|
|
126
|
+
Oid typarray BKI_DEFAULT(0) BKI_ARRAY_DEFAULT(0) BKI_LOOKUP_OPT(pg_type);
|
|
121
127
|
|
|
122
128
|
/*
|
|
123
129
|
* I/O conversion procedures for the datatype.
|
|
@@ -128,19 +134,19 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
|
|
|
128
134
|
regproc typoutput BKI_ARRAY_DEFAULT(array_out) BKI_LOOKUP(pg_proc);
|
|
129
135
|
|
|
130
136
|
/* binary format (optional) */
|
|
131
|
-
regproc typreceive BKI_ARRAY_DEFAULT(array_recv)
|
|
132
|
-
regproc typsend BKI_ARRAY_DEFAULT(array_send)
|
|
137
|
+
regproc typreceive BKI_ARRAY_DEFAULT(array_recv) BKI_LOOKUP_OPT(pg_proc);
|
|
138
|
+
regproc typsend BKI_ARRAY_DEFAULT(array_send) BKI_LOOKUP_OPT(pg_proc);
|
|
133
139
|
|
|
134
140
|
/*
|
|
135
141
|
* I/O functions for optional type modifiers.
|
|
136
142
|
*/
|
|
137
|
-
regproc typmodin BKI_DEFAULT(-)
|
|
138
|
-
regproc typmodout BKI_DEFAULT(-)
|
|
143
|
+
regproc typmodin BKI_DEFAULT(-) BKI_LOOKUP_OPT(pg_proc);
|
|
144
|
+
regproc typmodout BKI_DEFAULT(-) BKI_LOOKUP_OPT(pg_proc);
|
|
139
145
|
|
|
140
146
|
/*
|
|
141
147
|
* Custom ANALYZE procedure for the datatype (0 selects the default).
|
|
142
148
|
*/
|
|
143
|
-
regproc typanalyze BKI_DEFAULT(-) BKI_ARRAY_DEFAULT(array_typanalyze)
|
|
149
|
+
regproc typanalyze BKI_DEFAULT(-) BKI_ARRAY_DEFAULT(array_typanalyze) BKI_LOOKUP_OPT(pg_proc);
|
|
144
150
|
|
|
145
151
|
/* ----------------
|
|
146
152
|
* typalign is the alignment required when storing a value of this
|
|
@@ -199,7 +205,7 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
|
|
|
199
205
|
* Domains use typbasetype to show the base (or domain) type that the
|
|
200
206
|
* domain is based on. Zero if the type is not a domain.
|
|
201
207
|
*/
|
|
202
|
-
Oid typbasetype BKI_DEFAULT(0);
|
|
208
|
+
Oid typbasetype BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_type);
|
|
203
209
|
|
|
204
210
|
/*
|
|
205
211
|
* Domains use typtypmod to record the typmod to be applied to their base
|
|
@@ -219,7 +225,7 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
|
|
|
219
225
|
* DEFAULT_COLLATION_OID) for collatable base types, possibly some other
|
|
220
226
|
* OID for domains over collatable types
|
|
221
227
|
*/
|
|
222
|
-
Oid typcollation BKI_DEFAULT(0)
|
|
228
|
+
Oid typcollation BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_collation);
|
|
223
229
|
|
|
224
230
|
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
225
231
|
|
|
@@ -254,6 +260,11 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
|
|
|
254
260
|
*/
|
|
255
261
|
typedef FormData_pg_type *Form_pg_type;
|
|
256
262
|
|
|
263
|
+
DECLARE_TOAST(pg_type, 4171, 4172);
|
|
264
|
+
|
|
265
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_type_oid_index, 2703, TypeOidIndexId, on pg_type using btree(oid oid_ops));
|
|
266
|
+
DECLARE_UNIQUE_INDEX(pg_type_typname_nsp_index, 2704, TypeNameNspIndexId, on pg_type using btree(typname name_ops, typnamespace oid_ops));
|
|
267
|
+
|
|
257
268
|
#ifdef EXPOSE_TO_CLIENT_CODE
|
|
258
269
|
|
|
259
270
|
/*
|
|
@@ -263,6 +274,7 @@ typedef FormData_pg_type *Form_pg_type;
|
|
|
263
274
|
#define TYPTYPE_COMPOSITE 'c' /* composite (e.g., table's rowtype) */
|
|
264
275
|
#define TYPTYPE_DOMAIN 'd' /* domain over another type */
|
|
265
276
|
#define TYPTYPE_ENUM 'e' /* enumerated type */
|
|
277
|
+
#define TYPTYPE_MULTIRANGE 'm' /* multirange type */
|
|
266
278
|
#define TYPTYPE_PSEUDO 'p' /* pseudo-type */
|
|
267
279
|
#define TYPTYPE_RANGE 'r' /* range type */
|
|
268
280
|
|
|
@@ -282,6 +294,7 @@ typedef FormData_pg_type *Form_pg_type;
|
|
|
282
294
|
#define TYPCATEGORY_USER 'U'
|
|
283
295
|
#define TYPCATEGORY_BITSTRING 'V' /* er ... "varbit"? */
|
|
284
296
|
#define TYPCATEGORY_UNKNOWN 'X'
|
|
297
|
+
#define TYPCATEGORY_INTERNAL 'Z'
|
|
285
298
|
|
|
286
299
|
#define TYPALIGN_CHAR 'c' /* char alignment (i.e. unaligned) */
|
|
287
300
|
#define TYPALIGN_SHORT 's' /* short alignment (typically 2 bytes) */
|
|
@@ -304,13 +317,27 @@ typedef FormData_pg_type *Form_pg_type;
|
|
|
304
317
|
(typid) == ANYARRAYOID || \
|
|
305
318
|
(typid) == ANYNONARRAYOID || \
|
|
306
319
|
(typid) == ANYENUMOID || \
|
|
307
|
-
(typid) == ANYRANGEOID
|
|
320
|
+
(typid) == ANYRANGEOID || \
|
|
321
|
+
(typid) == ANYMULTIRANGEOID)
|
|
308
322
|
|
|
309
323
|
#define IsPolymorphicTypeFamily2(typid) \
|
|
310
324
|
((typid) == ANYCOMPATIBLEOID || \
|
|
311
325
|
(typid) == ANYCOMPATIBLEARRAYOID || \
|
|
312
326
|
(typid) == ANYCOMPATIBLENONARRAYOID || \
|
|
313
|
-
(typid) == ANYCOMPATIBLERANGEOID
|
|
327
|
+
(typid) == ANYCOMPATIBLERANGEOID || \
|
|
328
|
+
(typid) == ANYCOMPATIBLEMULTIRANGEOID)
|
|
329
|
+
|
|
330
|
+
/* Is this a "true" array type? (Requires fmgroids.h) */
|
|
331
|
+
#define IsTrueArrayType(typeForm) \
|
|
332
|
+
(OidIsValid((typeForm)->typelem) && \
|
|
333
|
+
(typeForm)->typsubscript == F_ARRAY_SUBSCRIPT_HANDLER)
|
|
334
|
+
|
|
335
|
+
/*
|
|
336
|
+
* Backwards compatibility for ancient random spellings of pg_type OID macros.
|
|
337
|
+
* Don't use these names in new code.
|
|
338
|
+
*/
|
|
339
|
+
#define CASHOID MONEYOID
|
|
340
|
+
#define LSNOID PG_LSNOID
|
|
314
341
|
|
|
315
342
|
#endif /* EXPOSE_TO_CLIENT_CODE */
|
|
316
343
|
|
|
@@ -337,6 +364,7 @@ extern ObjectAddress TypeCreate(Oid newTypeOid,
|
|
|
337
364
|
Oid typmodinProcedure,
|
|
338
365
|
Oid typmodoutProcedure,
|
|
339
366
|
Oid analyzeProcedure,
|
|
367
|
+
Oid subscriptProcedure,
|
|
340
368
|
Oid elementType,
|
|
341
369
|
bool isImplicitArray,
|
|
342
370
|
Oid arrayType,
|
|
@@ -359,6 +387,7 @@ extern void GenerateTypeDependencies(HeapTuple typeTuple,
|
|
|
359
387
|
* rowtypes */
|
|
360
388
|
bool isImplicitArray,
|
|
361
389
|
bool isDependentType,
|
|
390
|
+
bool makeExtensionDep,
|
|
362
391
|
bool rebuild);
|
|
363
392
|
|
|
364
393
|
extern void RenameTypeInternal(Oid typeOid, const char *newTypeName,
|
|
@@ -369,4 +398,7 @@ extern char *makeArrayTypeName(const char *typeName, Oid typeNamespace);
|
|
|
369
398
|
extern bool moveArrayTypeName(Oid typeOid, const char *typeName,
|
|
370
399
|
Oid typeNamespace);
|
|
371
400
|
|
|
401
|
+
extern char *makeMultirangeTypeName(const char *rangeTypeName,
|
|
402
|
+
Oid typeNamespace);
|
|
403
|
+
|
|
372
404
|
#endif /* PG_TYPE_H */
|
|
@@ -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,12 +43,11 @@ 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);
|
|
50
49
|
|
|
51
50
|
/* process interrupts */
|
|
52
|
-
extern void ProcessNotifyInterrupt(
|
|
51
|
+
extern void ProcessNotifyInterrupt(bool flush);
|
|
53
52
|
|
|
54
53
|
#endif /* ASYNC_H */
|
|
@@ -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,6 +19,8 @@
|
|
|
19
19
|
#include "lib/stringinfo.h"
|
|
20
20
|
#include "nodes/parsenodes.h"
|
|
21
21
|
|
|
22
|
+
extern PGDLLIMPORT bool allow_in_place_tablespaces;
|
|
23
|
+
|
|
22
24
|
/* XLOG stuff */
|
|
23
25
|
#define XLOG_TBLSPC_CREATE 0x00
|
|
24
26
|
#define XLOG_TBLSPC_DROP 0x10
|