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 "constraint" system catalog (pg_constraint)
|
|
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_constraint.h
|
|
@@ -46,7 +46,8 @@ CATALOG(pg_constraint,2606,ConstraintRelationId)
|
|
|
46
46
|
* conrelid + contypid + conname.
|
|
47
47
|
*/
|
|
48
48
|
NameData conname; /* name of this constraint */
|
|
49
|
-
Oid connamespace; /* OID of namespace
|
|
49
|
+
Oid connamespace BKI_LOOKUP(pg_namespace); /* OID of namespace
|
|
50
|
+
* containing constraint */
|
|
50
51
|
char contype; /* constraint type; see codes below */
|
|
51
52
|
bool condeferrable; /* deferrable constraint? */
|
|
52
53
|
bool condeferred; /* deferred by default? */
|
|
@@ -57,7 +58,8 @@ CATALOG(pg_constraint,2606,ConstraintRelationId)
|
|
|
57
58
|
* specific relation (this excludes domain constraints and assertions).
|
|
58
59
|
* Otherwise conrelid is 0 and conkey is NULL.
|
|
59
60
|
*/
|
|
60
|
-
Oid conrelid;
|
|
61
|
+
Oid conrelid BKI_LOOKUP_OPT(pg_class); /* relation this
|
|
62
|
+
* constraint constrains */
|
|
61
63
|
|
|
62
64
|
/*
|
|
63
65
|
* contypid links to the pg_type row for a domain if this is a domain
|
|
@@ -66,7 +68,8 @@ CATALOG(pg_constraint,2606,ConstraintRelationId)
|
|
|
66
68
|
* For SQL-style global ASSERTIONs, both conrelid and contypid would be
|
|
67
69
|
* zero. This is not presently supported, however.
|
|
68
70
|
*/
|
|
69
|
-
Oid contypid;
|
|
71
|
+
Oid contypid BKI_LOOKUP_OPT(pg_type); /* domain this constraint
|
|
72
|
+
* constrains */
|
|
70
73
|
|
|
71
74
|
/*
|
|
72
75
|
* conindid links to the index supporting the constraint, if any;
|
|
@@ -76,19 +79,21 @@ CATALOG(pg_constraint,2606,ConstraintRelationId)
|
|
|
76
79
|
* columns). Notice that the index is on conrelid in the first case but
|
|
77
80
|
* confrelid in the second.
|
|
78
81
|
*/
|
|
79
|
-
Oid conindid;
|
|
82
|
+
Oid conindid BKI_LOOKUP_OPT(pg_class); /* index supporting this
|
|
83
|
+
* constraint */
|
|
80
84
|
|
|
81
85
|
/*
|
|
82
86
|
* If this constraint is on a partition inherited from a partitioned
|
|
83
87
|
* table, this is the OID of the corresponding constraint in the parent.
|
|
84
88
|
*/
|
|
85
|
-
Oid conparentid;
|
|
89
|
+
Oid conparentid BKI_LOOKUP_OPT(pg_constraint);
|
|
86
90
|
|
|
87
91
|
/*
|
|
88
92
|
* These fields, plus confkey, are only meaningful for a foreign-key
|
|
89
93
|
* constraint. Otherwise confrelid is 0 and the char fields are spaces.
|
|
90
94
|
*/
|
|
91
|
-
Oid confrelid;
|
|
95
|
+
Oid confrelid BKI_LOOKUP_OPT(pg_class); /* relation referenced by
|
|
96
|
+
* foreign key */
|
|
92
97
|
char confupdtype; /* foreign key's ON UPDATE action */
|
|
93
98
|
char confdeltype; /* foreign key's ON DELETE action */
|
|
94
99
|
char confmatchtype; /* foreign key's match type */
|
|
@@ -119,25 +124,31 @@ CATALOG(pg_constraint,2606,ConstraintRelationId)
|
|
|
119
124
|
* If a foreign key, the OIDs of the PK = FK equality operators for each
|
|
120
125
|
* column of the constraint
|
|
121
126
|
*/
|
|
122
|
-
Oid conpfeqop[1];
|
|
127
|
+
Oid conpfeqop[1] BKI_LOOKUP(pg_operator);
|
|
123
128
|
|
|
124
129
|
/*
|
|
125
130
|
* If a foreign key, the OIDs of the PK = PK equality operators for each
|
|
126
131
|
* column of the constraint (i.e., equality for the referenced columns)
|
|
127
132
|
*/
|
|
128
|
-
Oid conppeqop[1];
|
|
133
|
+
Oid conppeqop[1] BKI_LOOKUP(pg_operator);
|
|
129
134
|
|
|
130
135
|
/*
|
|
131
136
|
* If a foreign key, the OIDs of the FK = FK equality operators for each
|
|
132
137
|
* column of the constraint (i.e., equality for the referencing columns)
|
|
133
138
|
*/
|
|
134
|
-
Oid conffeqop[1];
|
|
139
|
+
Oid conffeqop[1] BKI_LOOKUP(pg_operator);
|
|
140
|
+
|
|
141
|
+
/*
|
|
142
|
+
* If a foreign key with an ON DELETE SET NULL/DEFAULT action, the subset
|
|
143
|
+
* of conkey to updated. If null, all columns are updated.
|
|
144
|
+
*/
|
|
145
|
+
int16 confdelsetcols[1];
|
|
135
146
|
|
|
136
147
|
/*
|
|
137
148
|
* If an exclusion constraint, the OIDs of the exclusion operators for
|
|
138
149
|
* each column of the constraint
|
|
139
150
|
*/
|
|
140
|
-
Oid conexclop[1];
|
|
151
|
+
Oid conexclop[1] BKI_LOOKUP(pg_operator);
|
|
141
152
|
|
|
142
153
|
/*
|
|
143
154
|
* If a check constraint, nodeToString representation of expression
|
|
@@ -153,6 +164,18 @@ CATALOG(pg_constraint,2606,ConstraintRelationId)
|
|
|
153
164
|
*/
|
|
154
165
|
typedef FormData_pg_constraint *Form_pg_constraint;
|
|
155
166
|
|
|
167
|
+
DECLARE_TOAST(pg_constraint, 2832, 2833);
|
|
168
|
+
|
|
169
|
+
DECLARE_INDEX(pg_constraint_conname_nsp_index, 2664, ConstraintNameNspIndexId, on pg_constraint using btree(conname name_ops, connamespace oid_ops));
|
|
170
|
+
DECLARE_UNIQUE_INDEX(pg_constraint_conrelid_contypid_conname_index, 2665, ConstraintRelidTypidNameIndexId, on pg_constraint using btree(conrelid oid_ops, contypid oid_ops, conname name_ops));
|
|
171
|
+
DECLARE_INDEX(pg_constraint_contypid_index, 2666, ConstraintTypidIndexId, on pg_constraint using btree(contypid oid_ops));
|
|
172
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_constraint_oid_index, 2667, ConstraintOidIndexId, on pg_constraint using btree(oid oid_ops));
|
|
173
|
+
DECLARE_INDEX(pg_constraint_conparentid_index, 2579, ConstraintParentIndexId, on pg_constraint using btree(conparentid oid_ops));
|
|
174
|
+
|
|
175
|
+
/* conkey can contain zero (InvalidAttrNumber) if a whole-row Var is used */
|
|
176
|
+
DECLARE_ARRAY_FOREIGN_KEY_OPT((conrelid, conkey), pg_attribute, (attrelid, attnum));
|
|
177
|
+
DECLARE_ARRAY_FOREIGN_KEY((confrelid, confkey), pg_attribute, (attrelid, attnum));
|
|
178
|
+
|
|
156
179
|
#ifdef EXPOSE_TO_CLIENT_CODE
|
|
157
180
|
|
|
158
181
|
/* Valid values for contype */
|
|
@@ -203,6 +226,8 @@ extern Oid CreateConstraintEntry(const char *constraintName,
|
|
|
203
226
|
int foreignNKeys,
|
|
204
227
|
char foreignUpdateType,
|
|
205
228
|
char foreignDeleteType,
|
|
229
|
+
const int16 *fkDeleteSetCols,
|
|
230
|
+
int numFkDeleteSetCols,
|
|
206
231
|
char foreignMatchType,
|
|
207
232
|
const Oid *exclOp,
|
|
208
233
|
Node *conExpr,
|
|
@@ -237,7 +262,8 @@ extern Bitmapset *get_primary_key_attnos(Oid relid, bool deferrableOk,
|
|
|
237
262
|
Oid *constraintOid);
|
|
238
263
|
extern void DeconstructFkConstraintRow(HeapTuple tuple, int *numfks,
|
|
239
264
|
AttrNumber *conkey, AttrNumber *confkey,
|
|
240
|
-
Oid *pf_eq_oprs, Oid *pp_eq_oprs, Oid *ff_eq_oprs
|
|
265
|
+
Oid *pf_eq_oprs, Oid *pp_eq_oprs, Oid *ff_eq_oprs,
|
|
266
|
+
int *num_fk_del_set_cols, AttrNumber *fk_del_set_cols);
|
|
241
267
|
|
|
242
268
|
extern bool check_functional_grouping(Oid relid,
|
|
243
269
|
Index varno, Index varlevelsup,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_constraint_d.h
|
|
4
4
|
* Macro definitions for pg_constraint
|
|
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,11 @@
|
|
|
19
19
|
#define PG_CONSTRAINT_D_H
|
|
20
20
|
|
|
21
21
|
#define ConstraintRelationId 2606
|
|
22
|
+
#define ConstraintNameNspIndexId 2664
|
|
23
|
+
#define ConstraintRelidTypidNameIndexId 2665
|
|
24
|
+
#define ConstraintTypidIndexId 2666
|
|
25
|
+
#define ConstraintOidIndexId 2667
|
|
26
|
+
#define ConstraintParentIndexId 2579
|
|
22
27
|
|
|
23
28
|
#define Anum_pg_constraint_oid 1
|
|
24
29
|
#define Anum_pg_constraint_conname 2
|
|
@@ -43,10 +48,11 @@
|
|
|
43
48
|
#define Anum_pg_constraint_conpfeqop 21
|
|
44
49
|
#define Anum_pg_constraint_conppeqop 22
|
|
45
50
|
#define Anum_pg_constraint_conffeqop 23
|
|
46
|
-
#define
|
|
47
|
-
#define
|
|
51
|
+
#define Anum_pg_constraint_confdelsetcols 24
|
|
52
|
+
#define Anum_pg_constraint_conexclop 25
|
|
53
|
+
#define Anum_pg_constraint_conbin 26
|
|
48
54
|
|
|
49
|
-
#define Natts_pg_constraint
|
|
55
|
+
#define Natts_pg_constraint 26
|
|
50
56
|
|
|
51
57
|
|
|
52
58
|
/* Valid values for contype */
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* However, we define it here so that the format is documented.
|
|
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_control.h
|
|
@@ -40,7 +40,7 @@ typedef struct CheckPoint
|
|
|
40
40
|
TimeLineID PrevTimeLineID; /* previous TLI, if this record begins a new
|
|
41
41
|
* timeline (equals ThisTimeLineID otherwise) */
|
|
42
42
|
bool fullPageWrites; /* current full_page_writes */
|
|
43
|
-
FullTransactionId
|
|
43
|
+
FullTransactionId nextXid; /* next free transaction ID */
|
|
44
44
|
Oid nextOid; /* next free OID */
|
|
45
45
|
MultiXactId nextMulti; /* next free MultiXactId */
|
|
46
46
|
MultiXactOffset nextMultiOffset; /* next free MultiXact offset */
|
|
@@ -76,6 +76,8 @@ typedef struct CheckPoint
|
|
|
76
76
|
#define XLOG_END_OF_RECOVERY 0x90
|
|
77
77
|
#define XLOG_FPI_FOR_HINT 0xA0
|
|
78
78
|
#define XLOG_FPI 0xB0
|
|
79
|
+
/* 0xC0 is used in Postgres 9.5-11 */
|
|
80
|
+
#define XLOG_OVERWRITE_CONTRECORD 0xD0
|
|
79
81
|
|
|
80
82
|
|
|
81
83
|
/*
|
|
@@ -159,9 +161,7 @@ typedef struct ControlFileData
|
|
|
159
161
|
*
|
|
160
162
|
* If backupEndRequired is true, we know for sure that we're restoring
|
|
161
163
|
* from a backup, and must see a backup-end record before we can safely
|
|
162
|
-
* start up.
|
|
163
|
-
* file was found at startup but it may have been a leftover from a stray
|
|
164
|
-
* pg_start_backup() call, not accompanied by pg_stop_backup().
|
|
164
|
+
* start up.
|
|
165
165
|
*/
|
|
166
166
|
XLogRecPtr minRecoveryPoint;
|
|
167
167
|
TimeLineID minRecoveryPointTLI;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_conversion.h
|
|
4
4
|
* definition of the "conversion" system catalog (pg_conversion)
|
|
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_conversion.h
|
|
@@ -35,10 +35,10 @@ CATALOG(pg_conversion,2607,ConversionRelationId)
|
|
|
35
35
|
NameData conname;
|
|
36
36
|
|
|
37
37
|
/* namespace that the conversion belongs to */
|
|
38
|
-
Oid connamespace BKI_DEFAULT(
|
|
38
|
+
Oid connamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
|
|
39
39
|
|
|
40
40
|
/* owner of the conversion */
|
|
41
|
-
Oid conowner BKI_DEFAULT(
|
|
41
|
+
Oid conowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
|
|
42
42
|
|
|
43
43
|
/* FOR encoding id */
|
|
44
44
|
int32 conforencoding BKI_LOOKUP(encoding);
|
|
@@ -60,12 +60,15 @@ CATALOG(pg_conversion,2607,ConversionRelationId)
|
|
|
60
60
|
*/
|
|
61
61
|
typedef FormData_pg_conversion *Form_pg_conversion;
|
|
62
62
|
|
|
63
|
+
DECLARE_UNIQUE_INDEX(pg_conversion_default_index, 2668, ConversionDefaultIndexId, on pg_conversion using btree(connamespace oid_ops, conforencoding int4_ops, contoencoding int4_ops, oid oid_ops));
|
|
64
|
+
DECLARE_UNIQUE_INDEX(pg_conversion_name_nsp_index, 2669, ConversionNameNspIndexId, on pg_conversion using btree(conname name_ops, connamespace oid_ops));
|
|
65
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_conversion_oid_index, 2670, ConversionOidIndexId, on pg_conversion using btree(oid oid_ops));
|
|
66
|
+
|
|
63
67
|
|
|
64
68
|
extern ObjectAddress ConversionCreate(const char *conname, Oid connamespace,
|
|
65
69
|
Oid conowner,
|
|
66
70
|
int32 conforencoding, int32 contoencoding,
|
|
67
71
|
Oid conproc, bool def);
|
|
68
|
-
extern void RemoveConversionById(Oid conversionOid);
|
|
69
72
|
extern Oid FindDefaultConversion(Oid connamespace, int32 for_encoding,
|
|
70
73
|
int32 to_encoding);
|
|
71
74
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_conversion_d.h
|
|
4
4
|
* Macro definitions for pg_conversion
|
|
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,9 @@
|
|
|
19
19
|
#define PG_CONVERSION_D_H
|
|
20
20
|
|
|
21
21
|
#define ConversionRelationId 2607
|
|
22
|
+
#define ConversionDefaultIndexId 2668
|
|
23
|
+
#define ConversionNameNspIndexId 2669
|
|
24
|
+
#define ConversionOidIndexId 2670
|
|
22
25
|
|
|
23
26
|
#define Anum_pg_conversion_oid 1
|
|
24
27
|
#define Anum_pg_conversion_conname 2
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
* definition of the "dependency" system catalog (pg_depend)
|
|
5
5
|
*
|
|
6
6
|
* pg_depend has no preloaded contents, so there is no pg_depend.dat
|
|
7
|
-
* file; system-defined
|
|
8
|
-
*
|
|
7
|
+
* file; dependencies for system-defined objects are loaded into it
|
|
8
|
+
* on-the-fly during initdb. Most built-in objects are pinned anyway,
|
|
9
|
+
* and hence need no explicit entries in pg_depend.
|
|
9
10
|
*
|
|
10
11
|
* NOTE: we do not represent all possible dependency pairs in pg_depend;
|
|
11
12
|
* for example, there's not much value in creating an explicit dependency
|
|
@@ -16,7 +17,7 @@
|
|
|
16
17
|
* convenient to find from the contents of other catalogs.
|
|
17
18
|
*
|
|
18
19
|
*
|
|
19
|
-
* Portions Copyright (c) 1996-
|
|
20
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
20
21
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
21
22
|
*
|
|
22
23
|
* src/include/catalog/pg_depend.h
|
|
@@ -42,17 +43,17 @@ CATALOG(pg_depend,2608,DependRelationId)
|
|
|
42
43
|
{
|
|
43
44
|
/*
|
|
44
45
|
* Identification of the dependent (referencing) object.
|
|
45
|
-
*
|
|
46
|
-
* These fields are all zeroes for a DEPENDENCY_PIN entry.
|
|
47
46
|
*/
|
|
48
|
-
Oid classid;
|
|
47
|
+
Oid classid BKI_LOOKUP(pg_class); /* OID of table containing
|
|
48
|
+
* object */
|
|
49
49
|
Oid objid; /* OID of object itself */
|
|
50
50
|
int32 objsubid; /* column number, or 0 if not used */
|
|
51
51
|
|
|
52
52
|
/*
|
|
53
53
|
* Identification of the independent (referenced) object.
|
|
54
54
|
*/
|
|
55
|
-
Oid refclassid;
|
|
55
|
+
Oid refclassid BKI_LOOKUP(pg_class); /* OID of table containing
|
|
56
|
+
* object */
|
|
56
57
|
Oid refobjid; /* OID of object itself */
|
|
57
58
|
int32 refobjsubid; /* column number, or 0 if not used */
|
|
58
59
|
|
|
@@ -70,4 +71,7 @@ CATALOG(pg_depend,2608,DependRelationId)
|
|
|
70
71
|
*/
|
|
71
72
|
typedef FormData_pg_depend *Form_pg_depend;
|
|
72
73
|
|
|
74
|
+
DECLARE_INDEX(pg_depend_depender_index, 2673, DependDependerIndexId, on pg_depend using btree(classid oid_ops, objid oid_ops, objsubid int4_ops));
|
|
75
|
+
DECLARE_INDEX(pg_depend_reference_index, 2674, DependReferenceIndexId, on pg_depend using btree(refclassid oid_ops, refobjid oid_ops, refobjsubid int4_ops));
|
|
76
|
+
|
|
73
77
|
#endif /* PG_DEPEND_H */
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_depend_d.h
|
|
4
4
|
* Macro definitions for pg_depend
|
|
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_DEPEND_D_H
|
|
20
20
|
|
|
21
21
|
#define DependRelationId 2608
|
|
22
|
+
#define DependDependerIndexId 2673
|
|
23
|
+
#define DependReferenceIndexId 2674
|
|
22
24
|
|
|
23
25
|
#define Anum_pg_depend_classid 1
|
|
24
26
|
#define Anum_pg_depend_objid 2
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* definition of the "event trigger" system catalog (pg_event_trigger)
|
|
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_event_trigger.h
|
|
@@ -31,8 +31,9 @@ CATALOG(pg_event_trigger,3466,EventTriggerRelationId)
|
|
|
31
31
|
Oid oid; /* oid */
|
|
32
32
|
NameData evtname; /* trigger's name */
|
|
33
33
|
NameData evtevent; /* trigger's event */
|
|
34
|
-
Oid evtowner;
|
|
35
|
-
Oid evtfoid;
|
|
34
|
+
Oid evtowner BKI_LOOKUP(pg_authid); /* trigger's owner */
|
|
35
|
+
Oid evtfoid BKI_LOOKUP(pg_proc); /* OID of function to be
|
|
36
|
+
* called */
|
|
36
37
|
char evtenabled; /* trigger's firing configuration WRT
|
|
37
38
|
* session_replication_role */
|
|
38
39
|
|
|
@@ -48,4 +49,9 @@ CATALOG(pg_event_trigger,3466,EventTriggerRelationId)
|
|
|
48
49
|
*/
|
|
49
50
|
typedef FormData_pg_event_trigger *Form_pg_event_trigger;
|
|
50
51
|
|
|
52
|
+
DECLARE_TOAST(pg_event_trigger, 4145, 4146);
|
|
53
|
+
|
|
54
|
+
DECLARE_UNIQUE_INDEX(pg_event_trigger_evtname_index, 3467, EventTriggerNameIndexId, on pg_event_trigger using btree(evtname name_ops));
|
|
55
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_event_trigger_oid_index, 3468, EventTriggerOidIndexId, on pg_event_trigger using btree(oid oid_ops));
|
|
56
|
+
|
|
51
57
|
#endif /* PG_EVENT_TRIGGER_H */
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_event_trigger_d.h
|
|
4
4
|
* Macro definitions for pg_event_trigger
|
|
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_EVENT_TRIGGER_D_H
|
|
20
20
|
|
|
21
21
|
#define EventTriggerRelationId 3466
|
|
22
|
+
#define EventTriggerNameIndexId 3467
|
|
23
|
+
#define EventTriggerOidIndexId 3468
|
|
22
24
|
|
|
23
25
|
#define Anum_pg_event_trigger_oid 1
|
|
24
26
|
#define Anum_pg_event_trigger_evtname 2
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* definition of the "index" system catalog (pg_index)
|
|
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_index.h
|
|
@@ -28,11 +28,13 @@
|
|
|
28
28
|
*/
|
|
29
29
|
CATALOG(pg_index,2610,IndexRelationId) BKI_SCHEMA_MACRO
|
|
30
30
|
{
|
|
31
|
-
Oid indexrelid;
|
|
32
|
-
Oid indrelid;
|
|
31
|
+
Oid indexrelid BKI_LOOKUP(pg_class); /* OID of the index */
|
|
32
|
+
Oid indrelid BKI_LOOKUP(pg_class); /* OID of the relation it
|
|
33
|
+
* indexes */
|
|
33
34
|
int16 indnatts; /* total number of columns in index */
|
|
34
35
|
int16 indnkeyatts; /* number of key columns in index */
|
|
35
36
|
bool indisunique; /* is this a unique index? */
|
|
37
|
+
bool indnullsnotdistinct; /* null treatment in unique index */
|
|
36
38
|
bool indisprimary; /* is this index for primary key? */
|
|
37
39
|
bool indisexclusion; /* is this index for exclusion constraint? */
|
|
38
40
|
bool indimmediate; /* is uniqueness enforced immediately? */
|
|
@@ -44,12 +46,14 @@ CATALOG(pg_index,2610,IndexRelationId) BKI_SCHEMA_MACRO
|
|
|
44
46
|
bool indisreplident; /* is this index the identity for replication? */
|
|
45
47
|
|
|
46
48
|
/* variable-length fields start here, but we allow direct access to indkey */
|
|
47
|
-
int2vector indkey;
|
|
49
|
+
int2vector indkey BKI_FORCE_NOT_NULL; /* column numbers of indexed cols,
|
|
50
|
+
* or 0 */
|
|
48
51
|
|
|
49
52
|
#ifdef CATALOG_VARLEN
|
|
50
|
-
oidvector indcollation; /* collation identifiers */
|
|
51
|
-
oidvector indclass;
|
|
52
|
-
int2vector indoption;
|
|
53
|
+
oidvector indcollation BKI_LOOKUP_OPT(pg_collation) BKI_FORCE_NOT_NULL; /* collation identifiers */
|
|
54
|
+
oidvector indclass BKI_LOOKUP(pg_opclass) BKI_FORCE_NOT_NULL; /* opclass identifiers */
|
|
55
|
+
int2vector indoption BKI_FORCE_NOT_NULL; /* per-column flags
|
|
56
|
+
* (AM-specific meanings) */
|
|
53
57
|
pg_node_tree indexprs; /* expression trees for index attributes that
|
|
54
58
|
* are not simple column references; one for
|
|
55
59
|
* each zero entry in indkey[] */
|
|
@@ -65,6 +69,12 @@ CATALOG(pg_index,2610,IndexRelationId) BKI_SCHEMA_MACRO
|
|
|
65
69
|
*/
|
|
66
70
|
typedef FormData_pg_index *Form_pg_index;
|
|
67
71
|
|
|
72
|
+
DECLARE_INDEX(pg_index_indrelid_index, 2678, IndexIndrelidIndexId, on pg_index using btree(indrelid oid_ops));
|
|
73
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_index_indexrelid_index, 2679, IndexRelidIndexId, on pg_index using btree(indexrelid oid_ops));
|
|
74
|
+
|
|
75
|
+
/* indkey can contain zero (InvalidAttrNumber) to represent expressions */
|
|
76
|
+
DECLARE_ARRAY_FOREIGN_KEY_OPT((indrelid, indkey), pg_attribute, (attrelid, attnum));
|
|
77
|
+
|
|
68
78
|
#ifdef EXPOSE_TO_CLIENT_CODE
|
|
69
79
|
|
|
70
80
|
/*
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_index_d.h
|
|
4
4
|
* Macro definitions for pg_index
|
|
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,29 +19,32 @@
|
|
|
19
19
|
#define PG_INDEX_D_H
|
|
20
20
|
|
|
21
21
|
#define IndexRelationId 2610
|
|
22
|
+
#define IndexIndrelidIndexId 2678
|
|
23
|
+
#define IndexRelidIndexId 2679
|
|
22
24
|
|
|
23
25
|
#define Anum_pg_index_indexrelid 1
|
|
24
26
|
#define Anum_pg_index_indrelid 2
|
|
25
27
|
#define Anum_pg_index_indnatts 3
|
|
26
28
|
#define Anum_pg_index_indnkeyatts 4
|
|
27
29
|
#define Anum_pg_index_indisunique 5
|
|
28
|
-
#define
|
|
29
|
-
#define
|
|
30
|
-
#define
|
|
31
|
-
#define
|
|
32
|
-
#define
|
|
33
|
-
#define
|
|
34
|
-
#define
|
|
35
|
-
#define
|
|
36
|
-
#define
|
|
37
|
-
#define
|
|
38
|
-
#define
|
|
39
|
-
#define
|
|
40
|
-
#define
|
|
41
|
-
#define
|
|
42
|
-
#define
|
|
30
|
+
#define Anum_pg_index_indnullsnotdistinct 6
|
|
31
|
+
#define Anum_pg_index_indisprimary 7
|
|
32
|
+
#define Anum_pg_index_indisexclusion 8
|
|
33
|
+
#define Anum_pg_index_indimmediate 9
|
|
34
|
+
#define Anum_pg_index_indisclustered 10
|
|
35
|
+
#define Anum_pg_index_indisvalid 11
|
|
36
|
+
#define Anum_pg_index_indcheckxmin 12
|
|
37
|
+
#define Anum_pg_index_indisready 13
|
|
38
|
+
#define Anum_pg_index_indislive 14
|
|
39
|
+
#define Anum_pg_index_indisreplident 15
|
|
40
|
+
#define Anum_pg_index_indkey 16
|
|
41
|
+
#define Anum_pg_index_indcollation 17
|
|
42
|
+
#define Anum_pg_index_indclass 18
|
|
43
|
+
#define Anum_pg_index_indoption 19
|
|
44
|
+
#define Anum_pg_index_indexprs 20
|
|
45
|
+
#define Anum_pg_index_indpred 21
|
|
43
46
|
|
|
44
|
-
#define Natts_pg_index
|
|
47
|
+
#define Natts_pg_index 21
|
|
45
48
|
|
|
46
49
|
|
|
47
50
|
/*
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* definition of the "language" system catalog (pg_language)
|
|
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_language.h
|
|
@@ -34,7 +34,7 @@ CATALOG(pg_language,2612,LanguageRelationId)
|
|
|
34
34
|
NameData lanname;
|
|
35
35
|
|
|
36
36
|
/* Language's owner */
|
|
37
|
-
Oid lanowner BKI_DEFAULT(
|
|
37
|
+
Oid lanowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
|
|
38
38
|
|
|
39
39
|
/* Is a procedural language */
|
|
40
40
|
bool lanispl BKI_DEFAULT(f);
|
|
@@ -43,13 +43,13 @@ CATALOG(pg_language,2612,LanguageRelationId)
|
|
|
43
43
|
bool lanpltrusted BKI_DEFAULT(f);
|
|
44
44
|
|
|
45
45
|
/* Call handler, if it's a PL */
|
|
46
|
-
Oid lanplcallfoid BKI_DEFAULT(0)
|
|
46
|
+
Oid lanplcallfoid BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc);
|
|
47
47
|
|
|
48
48
|
/* Optional anonymous-block handler function */
|
|
49
|
-
Oid laninline BKI_DEFAULT(0)
|
|
49
|
+
Oid laninline BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc);
|
|
50
50
|
|
|
51
51
|
/* Optional validation function */
|
|
52
|
-
Oid lanvalidator BKI_DEFAULT(0)
|
|
52
|
+
Oid lanvalidator BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc);
|
|
53
53
|
|
|
54
54
|
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
55
55
|
/* Access privileges */
|
|
@@ -64,4 +64,9 @@ CATALOG(pg_language,2612,LanguageRelationId)
|
|
|
64
64
|
*/
|
|
65
65
|
typedef FormData_pg_language *Form_pg_language;
|
|
66
66
|
|
|
67
|
+
DECLARE_TOAST(pg_language, 4157, 4158);
|
|
68
|
+
|
|
69
|
+
DECLARE_UNIQUE_INDEX(pg_language_name_index, 2681, LanguageNameIndexId, on pg_language using btree(lanname name_ops));
|
|
70
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_language_oid_index, 2682, LanguageOidIndexId, on pg_language using btree(oid oid_ops));
|
|
71
|
+
|
|
67
72
|
#endif /* PG_LANGUAGE_H */
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_language_d.h
|
|
4
4
|
* Macro definitions for pg_language
|
|
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_LANGUAGE_D_H
|
|
20
20
|
|
|
21
21
|
#define LanguageRelationId 2612
|
|
22
|
+
#define LanguageNameIndexId 2681
|
|
23
|
+
#define LanguageOidIndexId 2682
|
|
22
24
|
|
|
23
25
|
#define Anum_pg_language_oid 1
|
|
24
26
|
#define Anum_pg_language_lanname 2
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* definition of the "namespace" system catalog (pg_namespace)
|
|
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_namespace.h
|
|
@@ -37,7 +37,7 @@ CATALOG(pg_namespace,2615,NamespaceRelationId)
|
|
|
37
37
|
Oid oid; /* oid */
|
|
38
38
|
|
|
39
39
|
NameData nspname;
|
|
40
|
-
Oid nspowner;
|
|
40
|
+
Oid nspowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
|
|
41
41
|
|
|
42
42
|
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
43
43
|
aclitem nspacl[1];
|
|
@@ -51,6 +51,11 @@ CATALOG(pg_namespace,2615,NamespaceRelationId)
|
|
|
51
51
|
*/
|
|
52
52
|
typedef FormData_pg_namespace *Form_pg_namespace;
|
|
53
53
|
|
|
54
|
+
DECLARE_TOAST(pg_namespace, 4163, 4164);
|
|
55
|
+
|
|
56
|
+
DECLARE_UNIQUE_INDEX(pg_namespace_nspname_index, 2684, NamespaceNameIndexId, on pg_namespace using btree(nspname name_ops));
|
|
57
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_namespace_oid_index, 2685, NamespaceOidIndexId, on pg_namespace using btree(oid oid_ops));
|
|
58
|
+
|
|
54
59
|
/*
|
|
55
60
|
* prototypes for functions in pg_namespace.c
|
|
56
61
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pg_namespace_d.h
|
|
4
4
|
* Macro definitions for pg_namespace
|
|
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_NAMESPACE_D_H
|
|
20
20
|
|
|
21
21
|
#define NamespaceRelationId 2615
|
|
22
|
+
#define NamespaceNameIndexId 2684
|
|
23
|
+
#define NamespaceOidIndexId 2685
|
|
22
24
|
|
|
23
25
|
#define Anum_pg_namespace_oid 1
|
|
24
26
|
#define Anum_pg_namespace_nspname 2
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* AMs support this.
|
|
25
25
|
*
|
|
26
26
|
*
|
|
27
|
-
* Portions Copyright (c) 1996-
|
|
27
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
28
28
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
29
29
|
*
|
|
30
30
|
* src/include/catalog/pg_opclass.h
|
|
@@ -57,10 +57,10 @@ CATALOG(pg_opclass,2616,OperatorClassRelationId)
|
|
|
57
57
|
NameData opcname;
|
|
58
58
|
|
|
59
59
|
/* namespace of this opclass */
|
|
60
|
-
Oid opcnamespace BKI_DEFAULT(
|
|
60
|
+
Oid opcnamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
|
|
61
61
|
|
|
62
62
|
/* opclass owner */
|
|
63
|
-
Oid opcowner BKI_DEFAULT(
|
|
63
|
+
Oid opcowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
|
|
64
64
|
|
|
65
65
|
/* containing operator family */
|
|
66
66
|
Oid opcfamily BKI_LOOKUP(pg_opfamily);
|
|
@@ -71,8 +71,8 @@ CATALOG(pg_opclass,2616,OperatorClassRelationId)
|
|
|
71
71
|
/* T if opclass is default for opcintype */
|
|
72
72
|
bool opcdefault BKI_DEFAULT(t);
|
|
73
73
|
|
|
74
|
-
/* type of data in index, or InvalidOid */
|
|
75
|
-
Oid opckeytype BKI_DEFAULT(0)
|
|
74
|
+
/* type of data in index, or InvalidOid if same as input column type */
|
|
75
|
+
Oid opckeytype BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_type);
|
|
76
76
|
} FormData_pg_opclass;
|
|
77
77
|
|
|
78
78
|
/* ----------------
|
|
@@ -82,4 +82,7 @@ CATALOG(pg_opclass,2616,OperatorClassRelationId)
|
|
|
82
82
|
*/
|
|
83
83
|
typedef FormData_pg_opclass *Form_pg_opclass;
|
|
84
84
|
|
|
85
|
+
DECLARE_UNIQUE_INDEX(pg_opclass_am_name_nsp_index, 2686, OpclassAmNameNspIndexId, on pg_opclass using btree(opcmethod oid_ops, opcname name_ops, opcnamespace oid_ops));
|
|
86
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_opclass_oid_index, 2687, OpclassOidIndexId, on pg_opclass using btree(oid oid_ops));
|
|
87
|
+
|
|
85
88
|
#endif /* PG_OPCLASS_H */
|