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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_opclass_d.h
|
|
4
4
|
* Macro definitions for pg_opclass
|
|
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
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
#define PG_OPCLASS_D_H
|
|
20
20
|
|
|
21
21
|
#define OperatorClassRelationId 2616
|
|
22
|
+
#define OpclassAmNameNspIndexId 2686
|
|
23
|
+
#define OpclassOidIndexId 2687
|
|
22
24
|
|
|
23
25
|
#define Anum_pg_opclass_oid 1
|
|
24
26
|
#define Anum_pg_opclass_opcmethod 2
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* definition of the "operator" system catalog (pg_operator)
|
|
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_operator.h
|
|
@@ -36,12 +36,12 @@ CATALOG(pg_operator,2617,OperatorRelationId)
|
|
|
36
36
|
NameData oprname;
|
|
37
37
|
|
|
38
38
|
/* OID of namespace containing this oper */
|
|
39
|
-
Oid oprnamespace BKI_DEFAULT(
|
|
39
|
+
Oid oprnamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
|
|
40
40
|
|
|
41
41
|
/* operator owner */
|
|
42
|
-
Oid oprowner BKI_DEFAULT(
|
|
42
|
+
Oid oprowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
|
|
43
43
|
|
|
44
|
-
/* 'l'
|
|
44
|
+
/* 'l' for prefix or 'b' for infix */
|
|
45
45
|
char oprkind BKI_DEFAULT(b);
|
|
46
46
|
|
|
47
47
|
/* can be used in merge join? */
|
|
@@ -50,29 +50,29 @@ CATALOG(pg_operator,2617,OperatorRelationId)
|
|
|
50
50
|
/* can be used in hash join? */
|
|
51
51
|
bool oprcanhash BKI_DEFAULT(f);
|
|
52
52
|
|
|
53
|
-
/* left arg type, or 0 if
|
|
54
|
-
Oid oprleft
|
|
53
|
+
/* left arg type, or 0 if prefix operator */
|
|
54
|
+
Oid oprleft BKI_LOOKUP_OPT(pg_type);
|
|
55
55
|
|
|
56
|
-
/* right arg type
|
|
56
|
+
/* right arg type */
|
|
57
57
|
Oid oprright BKI_LOOKUP(pg_type);
|
|
58
58
|
|
|
59
|
-
/* result datatype */
|
|
60
|
-
Oid oprresult
|
|
59
|
+
/* result datatype; can be 0 in a "shell" operator */
|
|
60
|
+
Oid oprresult BKI_LOOKUP_OPT(pg_type);
|
|
61
61
|
|
|
62
62
|
/* OID of commutator oper, or 0 if none */
|
|
63
|
-
Oid oprcom BKI_DEFAULT(0)
|
|
63
|
+
Oid oprcom BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_operator);
|
|
64
64
|
|
|
65
65
|
/* OID of negator oper, or 0 if none */
|
|
66
|
-
Oid oprnegate BKI_DEFAULT(0)
|
|
66
|
+
Oid oprnegate BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_operator);
|
|
67
67
|
|
|
68
|
-
/* OID of underlying function */
|
|
69
|
-
regproc oprcode
|
|
68
|
+
/* OID of underlying function; can be 0 in a "shell" operator */
|
|
69
|
+
regproc oprcode BKI_LOOKUP_OPT(pg_proc);
|
|
70
70
|
|
|
71
71
|
/* OID of restriction estimator, or 0 */
|
|
72
|
-
regproc oprrest BKI_DEFAULT(-)
|
|
72
|
+
regproc oprrest BKI_DEFAULT(-) BKI_LOOKUP_OPT(pg_proc);
|
|
73
73
|
|
|
74
74
|
/* OID of join estimator, or 0 */
|
|
75
|
-
regproc oprjoin BKI_DEFAULT(-)
|
|
75
|
+
regproc oprjoin BKI_DEFAULT(-) BKI_LOOKUP_OPT(pg_proc);
|
|
76
76
|
} FormData_pg_operator;
|
|
77
77
|
|
|
78
78
|
/* ----------------
|
|
@@ -82,6 +82,9 @@ CATALOG(pg_operator,2617,OperatorRelationId)
|
|
|
82
82
|
*/
|
|
83
83
|
typedef FormData_pg_operator *Form_pg_operator;
|
|
84
84
|
|
|
85
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_operator_oid_index, 2688, OperatorOidIndexId, on pg_operator using btree(oid oid_ops));
|
|
86
|
+
DECLARE_UNIQUE_INDEX(pg_operator_oprname_l_r_n_index, 2689, OperatorNameNspIndexId, on pg_operator using btree(oprname name_ops, oprleft oid_ops, oprright oid_ops, oprnamespace oid_ops));
|
|
87
|
+
|
|
85
88
|
|
|
86
89
|
extern ObjectAddress OperatorCreate(const char *operatorName,
|
|
87
90
|
Oid operatorNamespace,
|
|
@@ -95,7 +98,9 @@ extern ObjectAddress OperatorCreate(const char *operatorName,
|
|
|
95
98
|
bool canMerge,
|
|
96
99
|
bool canHash);
|
|
97
100
|
|
|
98
|
-
extern ObjectAddress makeOperatorDependencies(HeapTuple tuple,
|
|
101
|
+
extern ObjectAddress makeOperatorDependencies(HeapTuple tuple,
|
|
102
|
+
bool makeExtensionDep,
|
|
103
|
+
bool isUpdate);
|
|
99
104
|
|
|
100
105
|
extern void OperatorUpd(Oid baseId, Oid commId, Oid negId, bool isDelete);
|
|
101
106
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_operator_d.h
|
|
4
4
|
* Macro definitions for pg_operator
|
|
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
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
#define PG_OPERATOR_D_H
|
|
20
20
|
|
|
21
21
|
#define OperatorRelationId 2617
|
|
22
|
+
#define OperatorOidIndexId 2688
|
|
23
|
+
#define OperatorNameNspIndexId 2689
|
|
22
24
|
|
|
23
25
|
#define Anum_pg_operator_oid 1
|
|
24
26
|
#define Anum_pg_operator_oprname 2
|
|
@@ -43,11 +45,15 @@
|
|
|
43
45
|
#define Int4EqualOperator 96
|
|
44
46
|
#define Int4LessOperator 97
|
|
45
47
|
#define TextEqualOperator 98
|
|
48
|
+
#define TextPrefixOperator 3877
|
|
46
49
|
#define NameEqualTextOperator 254
|
|
47
50
|
#define NameLessTextOperator 255
|
|
48
51
|
#define NameGreaterEqualTextOperator 257
|
|
49
52
|
#define TIDEqualOperator 387
|
|
50
53
|
#define TIDLessOperator 2799
|
|
54
|
+
#define TIDGreaterOperator 2800
|
|
55
|
+
#define TIDLessEqOperator 2801
|
|
56
|
+
#define TIDGreaterEqOperator 2802
|
|
51
57
|
#define Int8LessOperator 412
|
|
52
58
|
#define OID_NAME_REGEXEQ_OP 639
|
|
53
59
|
#define OID_TEXT_REGEXEQ_OP 641
|
|
@@ -102,5 +108,35 @@
|
|
|
102
108
|
#define OID_RANGE_RIGHT_OP 3894
|
|
103
109
|
#define OID_RANGE_OVERLAPS_LEFT_OP 3895
|
|
104
110
|
#define OID_RANGE_OVERLAPS_RIGHT_OP 3896
|
|
111
|
+
#define OID_MULTIRANGE_LESS_OP 2862
|
|
112
|
+
#define OID_MULTIRANGE_LESS_EQUAL_OP 2863
|
|
113
|
+
#define OID_MULTIRANGE_GREATER_EQUAL_OP 2864
|
|
114
|
+
#define OID_MULTIRANGE_GREATER_OP 2865
|
|
115
|
+
#define OID_RANGE_OVERLAPS_MULTIRANGE_OP 2866
|
|
116
|
+
#define OID_MULTIRANGE_OVERLAPS_RANGE_OP 2867
|
|
117
|
+
#define OID_MULTIRANGE_OVERLAPS_MULTIRANGE_OP 2868
|
|
118
|
+
#define OID_MULTIRANGE_CONTAINS_ELEM_OP 2869
|
|
119
|
+
#define OID_MULTIRANGE_CONTAINS_RANGE_OP 2870
|
|
120
|
+
#define OID_MULTIRANGE_CONTAINS_MULTIRANGE_OP 2871
|
|
121
|
+
#define OID_MULTIRANGE_ELEM_CONTAINED_OP 2872
|
|
122
|
+
#define OID_MULTIRANGE_RANGE_CONTAINED_OP 2873
|
|
123
|
+
#define OID_MULTIRANGE_MULTIRANGE_CONTAINED_OP 2874
|
|
124
|
+
#define OID_RANGE_CONTAINS_MULTIRANGE_OP 4539
|
|
125
|
+
#define OID_RANGE_MULTIRANGE_CONTAINED_OP 4540
|
|
126
|
+
#define OID_RANGE_OVERLAPS_LEFT_MULTIRANGE_OP 2875
|
|
127
|
+
#define OID_MULTIRANGE_OVERLAPS_LEFT_RANGE_OP 2876
|
|
128
|
+
#define OID_MULTIRANGE_OVERLAPS_LEFT_MULTIRANGE_OP 2877
|
|
129
|
+
#define OID_RANGE_OVERLAPS_RIGHT_MULTIRANGE_OP 3585
|
|
130
|
+
#define OID_MULTIRANGE_OVERLAPS_RIGHT_RANGE_OP 4035
|
|
131
|
+
#define OID_MULTIRANGE_OVERLAPS_RIGHT_MULTIRANGE_OP 4142
|
|
132
|
+
#define OID_RANGE_ADJACENT_MULTIRANGE_OP 4179
|
|
133
|
+
#define OID_MULTIRANGE_ADJACENT_RANGE_OP 4180
|
|
134
|
+
#define OID_MULTIRANGE_ADJACENT_MULTIRANGE_OP 4198
|
|
135
|
+
#define OID_RANGE_LEFT_MULTIRANGE_OP 4395
|
|
136
|
+
#define OID_MULTIRANGE_LEFT_RANGE_OP 4396
|
|
137
|
+
#define OID_MULTIRANGE_LEFT_MULTIRANGE_OP 4397
|
|
138
|
+
#define OID_RANGE_RIGHT_MULTIRANGE_OP 4398
|
|
139
|
+
#define OID_MULTIRANGE_RIGHT_RANGE_OP 4399
|
|
140
|
+
#define OID_MULTIRANGE_RIGHT_MULTIRANGE_OP 4400
|
|
105
141
|
|
|
106
142
|
#endif /* PG_OPERATOR_D_H */
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* definition of the "operator family" system catalog (pg_opfamily)
|
|
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_opfamily.h
|
|
@@ -37,10 +37,10 @@ CATALOG(pg_opfamily,2753,OperatorFamilyRelationId)
|
|
|
37
37
|
NameData opfname;
|
|
38
38
|
|
|
39
39
|
/* namespace of this opfamily */
|
|
40
|
-
Oid opfnamespace BKI_DEFAULT(
|
|
40
|
+
Oid opfnamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
|
|
41
41
|
|
|
42
42
|
/* opfamily owner */
|
|
43
|
-
Oid opfowner BKI_DEFAULT(
|
|
43
|
+
Oid opfowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
|
|
44
44
|
} FormData_pg_opfamily;
|
|
45
45
|
|
|
46
46
|
/* ----------------
|
|
@@ -50,6 +50,9 @@ CATALOG(pg_opfamily,2753,OperatorFamilyRelationId)
|
|
|
50
50
|
*/
|
|
51
51
|
typedef FormData_pg_opfamily *Form_pg_opfamily;
|
|
52
52
|
|
|
53
|
+
DECLARE_UNIQUE_INDEX(pg_opfamily_am_name_nsp_index, 2754, OpfamilyAmNameNspIndexId, on pg_opfamily using btree(opfmethod oid_ops, opfname name_ops, opfnamespace oid_ops));
|
|
54
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_opfamily_oid_index, 2755, OpfamilyOidIndexId, on pg_opfamily using btree(oid oid_ops));
|
|
55
|
+
|
|
53
56
|
#ifdef EXPOSE_TO_CLIENT_CODE
|
|
54
57
|
|
|
55
58
|
#define IsBooleanOpfamily(opfamily) \
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_opfamily_d.h
|
|
4
4
|
* Macro definitions for pg_opfamily
|
|
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
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
#define PG_OPFAMILY_D_H
|
|
20
20
|
|
|
21
21
|
#define OperatorFamilyRelationId 2753
|
|
22
|
+
#define OpfamilyAmNameNspIndexId 2754
|
|
23
|
+
#define OpfamilyOidIndexId 2755
|
|
22
24
|
|
|
23
25
|
#define Anum_pg_opfamily_oid 1
|
|
24
26
|
#define Anum_pg_opfamily_opfmethod 2
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_parameter_acl.h
|
|
4
|
+
* definition of the "configuration parameter ACL" system catalog
|
|
5
|
+
* (pg_parameter_acl).
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
9
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
10
|
+
*
|
|
11
|
+
* src/include/catalog/pg_parameter_acl.h
|
|
12
|
+
*
|
|
13
|
+
* NOTES
|
|
14
|
+
* The Catalog.pm module reads this file and derives schema
|
|
15
|
+
* information.
|
|
16
|
+
*
|
|
17
|
+
*-------------------------------------------------------------------------
|
|
18
|
+
*/
|
|
19
|
+
#ifndef PG_PARAMETER_ACL_H
|
|
20
|
+
#define PG_PARAMETER_ACL_H
|
|
21
|
+
|
|
22
|
+
#include "catalog/genbki.h"
|
|
23
|
+
#include "catalog/pg_parameter_acl_d.h"
|
|
24
|
+
|
|
25
|
+
/* ----------------
|
|
26
|
+
* pg_parameter_acl definition. cpp turns this into
|
|
27
|
+
* typedef struct FormData_pg_parameter_acl
|
|
28
|
+
* ----------------
|
|
29
|
+
*/
|
|
30
|
+
CATALOG(pg_parameter_acl,6243,ParameterAclRelationId) BKI_SHARED_RELATION
|
|
31
|
+
{
|
|
32
|
+
Oid oid; /* oid */
|
|
33
|
+
|
|
34
|
+
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
35
|
+
/* name of parameter */
|
|
36
|
+
text parname BKI_FORCE_NOT_NULL;
|
|
37
|
+
|
|
38
|
+
/* access permissions */
|
|
39
|
+
aclitem paracl[1] BKI_DEFAULT(_null_);
|
|
40
|
+
#endif
|
|
41
|
+
} FormData_pg_parameter_acl;
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
/* ----------------
|
|
45
|
+
* Form_pg_parameter_acl corresponds to a pointer to a tuple with
|
|
46
|
+
* the format of pg_parameter_acl relation.
|
|
47
|
+
* ----------------
|
|
48
|
+
*/
|
|
49
|
+
typedef FormData_pg_parameter_acl * Form_pg_parameter_acl;
|
|
50
|
+
|
|
51
|
+
DECLARE_TOAST_WITH_MACRO(pg_parameter_acl, 6244, 6245, PgParameterAclToastTable, PgParameterAclToastIndex);
|
|
52
|
+
|
|
53
|
+
DECLARE_UNIQUE_INDEX(pg_parameter_acl_parname_index, 6246, ParameterAclParnameIndexId, on pg_parameter_acl using btree(parname text_ops));
|
|
54
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_parameter_acl_oid_index, 6247, ParameterAclOidIndexId, on pg_parameter_acl using btree(oid oid_ops));
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
extern Oid ParameterAclLookup(const char *parameter, bool missing_ok);
|
|
58
|
+
extern Oid ParameterAclCreate(const char *parameter);
|
|
59
|
+
|
|
60
|
+
#endif /* PG_PARAMETER_ACL_H */
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_parameter_acl_d.h
|
|
4
|
+
* Macro definitions for pg_parameter_acl
|
|
5
|
+
*
|
|
6
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
7
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
|
+
*
|
|
9
|
+
* NOTES
|
|
10
|
+
* ******************************
|
|
11
|
+
* *** DO NOT EDIT THIS FILE! ***
|
|
12
|
+
* ******************************
|
|
13
|
+
*
|
|
14
|
+
* It has been GENERATED by src/backend/catalog/genbki.pl
|
|
15
|
+
*
|
|
16
|
+
*-------------------------------------------------------------------------
|
|
17
|
+
*/
|
|
18
|
+
#ifndef PG_PARAMETER_ACL_D_H
|
|
19
|
+
#define PG_PARAMETER_ACL_D_H
|
|
20
|
+
|
|
21
|
+
#define ParameterAclRelationId 6243
|
|
22
|
+
#define PgParameterAclToastTable 6244
|
|
23
|
+
#define PgParameterAclToastIndex 6245
|
|
24
|
+
#define ParameterAclParnameIndexId 6246
|
|
25
|
+
#define ParameterAclOidIndexId 6247
|
|
26
|
+
|
|
27
|
+
#define Anum_pg_parameter_acl_oid 1
|
|
28
|
+
#define Anum_pg_parameter_acl_parname 2
|
|
29
|
+
#define Anum_pg_parameter_acl_paracl 3
|
|
30
|
+
|
|
31
|
+
#define Natts_pg_parameter_acl 3
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
#endif /* PG_PARAMETER_ACL_D_H */
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* (pg_partitioned_table)
|
|
6
6
|
*
|
|
7
7
|
*
|
|
8
|
-
* Portions Copyright (c) 1996-
|
|
8
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
9
9
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
10
10
|
*
|
|
11
11
|
* src/include/catalog/pg_partitioned_table.h
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
*/
|
|
30
30
|
CATALOG(pg_partitioned_table,3350,PartitionedRelationId)
|
|
31
31
|
{
|
|
32
|
-
Oid partrelid;
|
|
32
|
+
Oid partrelid BKI_LOOKUP(pg_class); /* partitioned table oid */
|
|
33
33
|
char partstrat; /* partitioning strategy */
|
|
34
34
|
int16 partnatts; /* number of partition key columns */
|
|
35
|
-
Oid partdefid;
|
|
36
|
-
|
|
35
|
+
Oid partdefid BKI_LOOKUP_OPT(pg_class); /* default partition oid;
|
|
36
|
+
* 0 if there isn't one */
|
|
37
37
|
|
|
38
38
|
/*
|
|
39
39
|
* variable-length fields start here, but we allow direct access to
|
|
@@ -41,13 +41,17 @@ CATALOG(pg_partitioned_table,3350,PartitionedRelationId)
|
|
|
41
41
|
* field of a heap tuple can be reliably accessed using its C struct
|
|
42
42
|
* offset, as previous fields are all non-nullable fixed-length fields.
|
|
43
43
|
*/
|
|
44
|
-
int2vector partattrs;
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
int2vector partattrs BKI_FORCE_NOT_NULL; /* each member of the array is
|
|
45
|
+
* the attribute number of a
|
|
46
|
+
* partition key column, or 0
|
|
47
|
+
* if the column is actually
|
|
48
|
+
* an expression */
|
|
47
49
|
|
|
48
50
|
#ifdef CATALOG_VARLEN
|
|
49
|
-
oidvector partclass;
|
|
50
|
-
|
|
51
|
+
oidvector partclass BKI_LOOKUP(pg_opclass) BKI_FORCE_NOT_NULL; /* operator class to
|
|
52
|
+
* compare keys */
|
|
53
|
+
oidvector partcollation BKI_LOOKUP_OPT(pg_collation) BKI_FORCE_NOT_NULL; /* user-specified
|
|
54
|
+
* collation for keys */
|
|
51
55
|
pg_node_tree partexprs; /* list of expressions in the partition key;
|
|
52
56
|
* one item for each zero entry in partattrs[] */
|
|
53
57
|
#endif
|
|
@@ -60,4 +64,11 @@ CATALOG(pg_partitioned_table,3350,PartitionedRelationId)
|
|
|
60
64
|
*/
|
|
61
65
|
typedef FormData_pg_partitioned_table *Form_pg_partitioned_table;
|
|
62
66
|
|
|
67
|
+
DECLARE_TOAST(pg_partitioned_table, 4165, 4166);
|
|
68
|
+
|
|
69
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_partitioned_table_partrelid_index, 3351, PartitionedRelidIndexId, on pg_partitioned_table using btree(partrelid oid_ops));
|
|
70
|
+
|
|
71
|
+
/* partattrs can contain zero (InvalidAttrNumber) to represent expressions */
|
|
72
|
+
DECLARE_ARRAY_FOREIGN_KEY_OPT((partrelid, partattrs), pg_attribute, (attrelid, attnum));
|
|
73
|
+
|
|
63
74
|
#endif /* PG_PARTITIONED_TABLE_H */
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_partitioned_table_d.h
|
|
4
4
|
* Macro definitions for pg_partitioned_table
|
|
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
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
#define PG_PARTITIONED_TABLE_D_H
|
|
20
20
|
|
|
21
21
|
#define PartitionedRelationId 3350
|
|
22
|
+
#define PartitionedRelidIndexId 3351
|
|
22
23
|
|
|
23
24
|
#define Anum_pg_partitioned_table_partrelid 1
|
|
24
25
|
#define Anum_pg_partitioned_table_partstrat 2
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_proc.h
|
|
4
4
|
* definition of the "procedure" system catalog (pg_proc)
|
|
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/catalog/pg_proc.h
|
|
@@ -35,10 +35,10 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
|
|
|
35
35
|
NameData proname;
|
|
36
36
|
|
|
37
37
|
/* OID of namespace containing this proc */
|
|
38
|
-
Oid pronamespace BKI_DEFAULT(
|
|
38
|
+
Oid pronamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
|
|
39
39
|
|
|
40
40
|
/* procedure owner */
|
|
41
|
-
Oid proowner BKI_DEFAULT(
|
|
41
|
+
Oid proowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
|
|
42
42
|
|
|
43
43
|
/* OID of pg_language entry */
|
|
44
44
|
Oid prolang BKI_DEFAULT(internal) BKI_LOOKUP(pg_language);
|
|
@@ -49,11 +49,11 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
|
|
|
49
49
|
/* estimated # of rows out (if proretset) */
|
|
50
50
|
float4 prorows BKI_DEFAULT(0);
|
|
51
51
|
|
|
52
|
-
/* element type of variadic array, or 0 */
|
|
53
|
-
Oid provariadic BKI_DEFAULT(0)
|
|
52
|
+
/* element type of variadic array, or 0 if not variadic */
|
|
53
|
+
Oid provariadic BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_type);
|
|
54
54
|
|
|
55
55
|
/* planner support function for this function, or 0 if none */
|
|
56
|
-
regproc prosupport BKI_DEFAULT(0)
|
|
56
|
+
regproc prosupport BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc);
|
|
57
57
|
|
|
58
58
|
/* see PROKIND_ categories below */
|
|
59
59
|
char prokind BKI_DEFAULT(f);
|
|
@@ -92,7 +92,7 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
|
|
|
92
92
|
*/
|
|
93
93
|
|
|
94
94
|
/* parameter types (excludes OUT params) */
|
|
95
|
-
oidvector proargtypes BKI_LOOKUP(pg_type);
|
|
95
|
+
oidvector proargtypes BKI_LOOKUP(pg_type) BKI_FORCE_NOT_NULL;
|
|
96
96
|
|
|
97
97
|
#ifdef CATALOG_VARLEN
|
|
98
98
|
|
|
@@ -109,7 +109,7 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
|
|
|
109
109
|
pg_node_tree proargdefaults BKI_DEFAULT(_null_);
|
|
110
110
|
|
|
111
111
|
/* types for which to apply transforms */
|
|
112
|
-
Oid protrftypes[1] BKI_DEFAULT(_null_);
|
|
112
|
+
Oid protrftypes[1] BKI_DEFAULT(_null_) BKI_LOOKUP(pg_type);
|
|
113
113
|
|
|
114
114
|
/* procedure source text */
|
|
115
115
|
text prosrc BKI_FORCE_NOT_NULL;
|
|
@@ -117,6 +117,9 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
|
|
|
117
117
|
/* secondary procedure info (can be NULL) */
|
|
118
118
|
text probin BKI_DEFAULT(_null_);
|
|
119
119
|
|
|
120
|
+
/* pre-parsed SQL function body */
|
|
121
|
+
pg_node_tree prosqlbody BKI_DEFAULT(_null_);
|
|
122
|
+
|
|
120
123
|
/* procedure-local GUC settings */
|
|
121
124
|
text proconfig[1] BKI_DEFAULT(_null_);
|
|
122
125
|
|
|
@@ -132,6 +135,11 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
|
|
|
132
135
|
*/
|
|
133
136
|
typedef FormData_pg_proc *Form_pg_proc;
|
|
134
137
|
|
|
138
|
+
DECLARE_TOAST(pg_proc, 2836, 2837);
|
|
139
|
+
|
|
140
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_proc_oid_index, 2690, ProcedureOidIndexId, on pg_proc using btree(oid oid_ops));
|
|
141
|
+
DECLARE_UNIQUE_INDEX(pg_proc_proname_args_nsp_index, 2691, ProcedureNameArgsNspIndexId, on pg_proc using btree(proname name_ops, proargtypes oidvector_ops, pronamespace oid_ops));
|
|
142
|
+
|
|
135
143
|
#ifdef EXPOSE_TO_CLIENT_CODE
|
|
136
144
|
|
|
137
145
|
/*
|
|
@@ -157,10 +165,10 @@ typedef FormData_pg_proc *Form_pg_proc;
|
|
|
157
165
|
/*
|
|
158
166
|
* Symbolic values for proparallel column: these indicate whether a function
|
|
159
167
|
* can be safely be run in a parallel backend, during parallelism but
|
|
160
|
-
* necessarily in the
|
|
168
|
+
* necessarily in the leader, or only in non-parallel mode.
|
|
161
169
|
*/
|
|
162
|
-
#define PROPARALLEL_SAFE 's' /* can run in worker or
|
|
163
|
-
#define PROPARALLEL_RESTRICTED 'r' /* can run in parallel
|
|
170
|
+
#define PROPARALLEL_SAFE 's' /* can run in worker or leader */
|
|
171
|
+
#define PROPARALLEL_RESTRICTED 'r' /* can run in parallel leader only */
|
|
164
172
|
#define PROPARALLEL_UNSAFE 'u' /* banned while in parallel mode */
|
|
165
173
|
|
|
166
174
|
/*
|
|
@@ -187,6 +195,7 @@ extern ObjectAddress ProcedureCreate(const char *procedureName,
|
|
|
187
195
|
Oid languageValidator,
|
|
188
196
|
const char *prosrc,
|
|
189
197
|
const char *probin,
|
|
198
|
+
Node *prosqlbody,
|
|
190
199
|
char prokind,
|
|
191
200
|
bool security_definer,
|
|
192
201
|
bool isLeakProof,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_proc_d.h
|
|
4
4
|
* Macro definitions for pg_proc
|
|
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 ProcedureRelationId 1255
|
|
22
22
|
#define ProcedureRelation_Rowtype_Id 81
|
|
23
|
+
#define ProcedureOidIndexId 2690
|
|
24
|
+
#define ProcedureNameArgsNspIndexId 2691
|
|
23
25
|
|
|
24
26
|
#define Anum_pg_proc_oid 1
|
|
25
27
|
#define Anum_pg_proc_proname 2
|
|
@@ -48,10 +50,11 @@
|
|
|
48
50
|
#define Anum_pg_proc_protrftypes 25
|
|
49
51
|
#define Anum_pg_proc_prosrc 26
|
|
50
52
|
#define Anum_pg_proc_probin 27
|
|
51
|
-
#define
|
|
52
|
-
#define
|
|
53
|
+
#define Anum_pg_proc_prosqlbody 28
|
|
54
|
+
#define Anum_pg_proc_proconfig 29
|
|
55
|
+
#define Anum_pg_proc_proacl 30
|
|
53
56
|
|
|
54
|
-
#define Natts_pg_proc
|
|
57
|
+
#define Natts_pg_proc 30
|
|
55
58
|
|
|
56
59
|
|
|
57
60
|
/*
|
|
@@ -77,10 +80,10 @@
|
|
|
77
80
|
/*
|
|
78
81
|
* Symbolic values for proparallel column: these indicate whether a function
|
|
79
82
|
* can be safely be run in a parallel backend, during parallelism but
|
|
80
|
-
* necessarily in the
|
|
83
|
+
* necessarily in the leader, or only in non-parallel mode.
|
|
81
84
|
*/
|
|
82
|
-
#define PROPARALLEL_SAFE 's' /* can run in worker or
|
|
83
|
-
#define PROPARALLEL_RESTRICTED 'r' /* can run in parallel
|
|
85
|
+
#define PROPARALLEL_SAFE 's' /* can run in worker or leader */
|
|
86
|
+
#define PROPARALLEL_RESTRICTED 'r' /* can run in parallel leader only */
|
|
84
87
|
#define PROPARALLEL_UNSAFE 'u' /* banned while in parallel mode */
|
|
85
88
|
|
|
86
89
|
/*
|
|
@@ -94,6 +97,5 @@
|
|
|
94
97
|
#define PROARGMODE_VARIADIC 'v'
|
|
95
98
|
#define PROARGMODE_TABLE 't'
|
|
96
99
|
|
|
97
|
-
#define HEAP_TABLE_AM_HANDLER_OID 3
|
|
98
100
|
|
|
99
101
|
#endif /* PG_PROC_D_H */
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_publication.h
|
|
4
4
|
* definition of the "publication" system catalog (pg_publication)
|
|
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/catalog/pg_publication.h
|
|
@@ -32,7 +32,7 @@ CATALOG(pg_publication,6104,PublicationRelationId)
|
|
|
32
32
|
|
|
33
33
|
NameData pubname; /* name of the publication */
|
|
34
34
|
|
|
35
|
-
Oid pubowner;
|
|
35
|
+
Oid pubowner BKI_LOOKUP(pg_authid); /* publication owner */
|
|
36
36
|
|
|
37
37
|
/*
|
|
38
38
|
* indicates that this is special publication which should encompass all
|
|
@@ -63,6 +63,9 @@ CATALOG(pg_publication,6104,PublicationRelationId)
|
|
|
63
63
|
*/
|
|
64
64
|
typedef FormData_pg_publication *Form_pg_publication;
|
|
65
65
|
|
|
66
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_publication_oid_index, 6110, PublicationObjectIndexId, on pg_publication using btree(oid oid_ops));
|
|
67
|
+
DECLARE_UNIQUE_INDEX(pg_publication_pubname_index, 6111, PublicationNameIndexId, on pg_publication using btree(pubname name_ops));
|
|
68
|
+
|
|
66
69
|
typedef struct PublicationActions
|
|
67
70
|
{
|
|
68
71
|
bool pubinsert;
|
|
@@ -71,6 +74,26 @@ typedef struct PublicationActions
|
|
|
71
74
|
bool pubtruncate;
|
|
72
75
|
} PublicationActions;
|
|
73
76
|
|
|
77
|
+
typedef struct PublicationDesc
|
|
78
|
+
{
|
|
79
|
+
PublicationActions pubactions;
|
|
80
|
+
|
|
81
|
+
/*
|
|
82
|
+
* true if the columns referenced in row filters which are used for UPDATE
|
|
83
|
+
* or DELETE are part of the replica identity or the publication actions
|
|
84
|
+
* do not include UPDATE or DELETE.
|
|
85
|
+
*/
|
|
86
|
+
bool rf_valid_for_update;
|
|
87
|
+
bool rf_valid_for_delete;
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
* true if the columns are part of the replica identity or the publication
|
|
91
|
+
* actions do not include UPDATE or DELETE.
|
|
92
|
+
*/
|
|
93
|
+
bool cols_valid_for_update;
|
|
94
|
+
bool cols_valid_for_delete;
|
|
95
|
+
} PublicationDesc;
|
|
96
|
+
|
|
74
97
|
typedef struct Publication
|
|
75
98
|
{
|
|
76
99
|
Oid oid;
|
|
@@ -80,6 +103,13 @@ typedef struct Publication
|
|
|
80
103
|
PublicationActions pubactions;
|
|
81
104
|
} Publication;
|
|
82
105
|
|
|
106
|
+
typedef struct PublicationRelInfo
|
|
107
|
+
{
|
|
108
|
+
Relation relation;
|
|
109
|
+
Node *whereClause;
|
|
110
|
+
List *columns;
|
|
111
|
+
} PublicationRelInfo;
|
|
112
|
+
|
|
83
113
|
extern Publication *GetPublication(Oid pubid);
|
|
84
114
|
extern Publication *GetPublicationByName(const char *pubname, bool missing_ok);
|
|
85
115
|
extern List *GetRelationPublications(Oid relid);
|
|
@@ -103,13 +133,29 @@ typedef enum PublicationPartOpt
|
|
|
103
133
|
extern List *GetPublicationRelations(Oid pubid, PublicationPartOpt pub_partopt);
|
|
104
134
|
extern List *GetAllTablesPublications(void);
|
|
105
135
|
extern List *GetAllTablesPublicationRelations(bool pubviaroot);
|
|
136
|
+
extern List *GetPublicationSchemas(Oid pubid);
|
|
137
|
+
extern List *GetSchemaPublications(Oid schemaid);
|
|
138
|
+
extern List *GetSchemaPublicationRelations(Oid schemaid,
|
|
139
|
+
PublicationPartOpt pub_partopt);
|
|
140
|
+
extern List *GetAllSchemaPublicationRelations(Oid puboid,
|
|
141
|
+
PublicationPartOpt pub_partopt);
|
|
142
|
+
extern List *GetPubPartitionOptionRelations(List *result,
|
|
143
|
+
PublicationPartOpt pub_partopt,
|
|
144
|
+
Oid relid);
|
|
145
|
+
extern Oid GetTopMostAncestorInPublication(Oid puboid, List *ancestors,
|
|
146
|
+
int *ancestor_level);
|
|
106
147
|
|
|
107
148
|
extern bool is_publishable_relation(Relation rel);
|
|
108
|
-
extern
|
|
149
|
+
extern bool is_schema_publication(Oid pubid);
|
|
150
|
+
extern ObjectAddress publication_add_relation(Oid pubid, PublicationRelInfo *pri,
|
|
109
151
|
bool if_not_exists);
|
|
152
|
+
extern ObjectAddress publication_add_schema(Oid pubid, Oid schemaid,
|
|
153
|
+
bool if_not_exists);
|
|
154
|
+
|
|
155
|
+
extern Bitmapset *pub_collist_to_bitmapset(Bitmapset *columns, Datum pubcols,
|
|
156
|
+
MemoryContext mcxt);
|
|
110
157
|
|
|
111
158
|
extern Oid get_publication_oid(const char *pubname, bool missing_ok);
|
|
112
159
|
extern char *get_publication_name(Oid pubid, bool missing_ok);
|
|
113
160
|
|
|
114
|
-
|
|
115
161
|
#endif /* PG_PUBLICATION_H */
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_publication_d.h
|
|
4
4
|
* Macro definitions for pg_publication
|
|
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
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
#define PG_PUBLICATION_D_H
|
|
20
20
|
|
|
21
21
|
#define PublicationRelationId 6104
|
|
22
|
+
#define PublicationObjectIndexId 6110
|
|
23
|
+
#define PublicationNameIndexId 6111
|
|
22
24
|
|
|
23
25
|
#define Anum_pg_publication_oid 1
|
|
24
26
|
#define Anum_pg_publication_pubname 2
|