pg_query 2.2.0 → 6.1.0
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 +86 -0
- data/README.md +57 -31
- data/Rakefile +5 -6
- data/ext/pg_query/ext_symbols_freebsd.sym +1 -0
- data/ext/pg_query/ext_symbols_freebsd_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/ext_symbols_openbsd.sym +1 -0
- data/ext/pg_query/ext_symbols_openbsd_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/ext_symbols_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/extconf.rb +33 -9
- data/ext/pg_query/include/pg_query.h +30 -4
- data/ext/pg_query/include/pg_query_enum_defs.c +839 -290
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +638 -481
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +6786 -4193
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +450 -330
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +1489 -1044
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +157 -118
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +1933 -1410
- data/ext/pg_query/include/postgres/access/amapi.h +303 -0
- data/ext/pg_query/include/postgres/access/attmap.h +54 -0
- data/ext/pg_query/include/postgres/access/attnum.h +64 -0
- data/ext/pg_query/include/postgres/access/brin_internal.h +116 -0
- data/ext/pg_query/include/postgres/access/brin_tuple.h +112 -0
- data/ext/pg_query/include/postgres/access/clog.h +62 -0
- data/ext/pg_query/include/postgres/access/commit_ts.h +73 -0
- data/ext/pg_query/include/postgres/access/detoast.h +82 -0
- data/ext/pg_query/include/postgres/access/genam.h +246 -0
- data/ext/pg_query/include/postgres/access/gin.h +91 -0
- data/ext/pg_query/include/postgres/access/htup.h +89 -0
- data/ext/pg_query/include/postgres/access/htup_details.h +811 -0
- data/ext/pg_query/include/postgres/access/itup.h +170 -0
- data/ext/pg_query/include/postgres/access/parallel.h +81 -0
- data/ext/pg_query/include/postgres/access/printtup.h +35 -0
- data/ext/pg_query/include/postgres/access/relation.h +28 -0
- data/ext/pg_query/include/postgres/access/relscan.h +191 -0
- data/ext/pg_query/include/postgres/access/rmgr.h +62 -0
- data/ext/pg_query/include/postgres/access/rmgrlist.h +49 -0
- data/ext/pg_query/include/postgres/access/sdir.h +67 -0
- data/ext/pg_query/include/postgres/access/skey.h +151 -0
- data/ext/pg_query/include/postgres/access/slru.h +218 -0
- data/ext/pg_query/include/postgres/access/stratnum.h +85 -0
- data/ext/pg_query/include/postgres/access/sysattr.h +29 -0
- data/ext/pg_query/include/postgres/access/table.h +28 -0
- data/ext/pg_query/include/postgres/access/tableam.h +2110 -0
- data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
- data/ext/pg_query/include/postgres/access/toast_compression.h +73 -0
- data/ext/pg_query/include/postgres/access/transam.h +418 -0
- data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
- data/ext/pg_query/include/postgres/access/tupconvert.h +54 -0
- data/ext/pg_query/include/postgres/access/tupdesc.h +154 -0
- data/ext/pg_query/include/postgres/access/tupmacs.h +207 -0
- data/ext/pg_query/include/postgres/access/twophase.h +65 -0
- data/ext/pg_query/include/postgres/access/xact.h +530 -0
- data/ext/pg_query/include/postgres/access/xlog.h +310 -0
- data/ext/pg_query/include/postgres/access/xlog_internal.h +405 -0
- data/ext/pg_query/include/postgres/access/xlogbackup.h +43 -0
- data/ext/pg_query/include/postgres/access/xlogdefs.h +82 -0
- data/ext/pg_query/include/postgres/access/xlogprefetcher.h +55 -0
- data/ext/pg_query/include/postgres/access/xlogreader.h +444 -0
- data/ext/pg_query/include/postgres/access/xlogrecord.h +248 -0
- data/ext/pg_query/include/postgres/access/xlogrecovery.h +158 -0
- data/ext/pg_query/include/postgres/archive/archive_module.h +67 -0
- data/ext/pg_query/include/postgres/c.h +1374 -0
- data/ext/pg_query/include/postgres/catalog/catalog.h +47 -0
- data/ext/pg_query/include/postgres/catalog/catversion.h +62 -0
- data/ext/pg_query/include/postgres/catalog/dependency.h +228 -0
- data/ext/pg_query/include/postgres/catalog/genbki.h +149 -0
- data/ext/pg_query/include/postgres/catalog/index.h +218 -0
- data/ext/pg_query/include/postgres/catalog/indexing.h +54 -0
- data/ext/pg_query/include/postgres/catalog/namespace.h +189 -0
- data/ext/pg_query/include/postgres/catalog/objectaccess.h +267 -0
- data/ext/pg_query/include/postgres/catalog/objectaddress.h +93 -0
- data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +182 -0
- data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +78 -0
- data/ext/pg_query/include/postgres/catalog/pg_am.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_am_d.h +47 -0
- data/ext/pg_query/include/postgres/catalog/pg_attribute.h +240 -0
- data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +62 -0
- data/ext/pg_query/include/postgres/catalog/pg_authid.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +60 -0
- data/ext/pg_query/include/postgres/catalog/pg_class.h +235 -0
- data/ext/pg_query/include/postgres/catalog/pg_class_d.h +134 -0
- data/ext/pg_query/include/postgres/catalog/pg_collation.h +106 -0
- data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_constraint.h +278 -0
- data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +74 -0
- data/ext/pg_query/include/postgres/catalog/pg_control.h +260 -0
- data/ext/pg_query/include/postgres/catalog/pg_conversion.h +79 -0
- data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +38 -0
- data/ext/pg_query/include/postgres/catalog/pg_database.h +129 -0
- data/ext/pg_query/include/postgres/catalog/pg_database_d.h +53 -0
- data/ext/pg_query/include/postgres/catalog/pg_depend.h +77 -0
- data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +60 -0
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_index.h +92 -0
- data/ext/pg_query/include/postgres/catalog/pg_index_d.h +59 -0
- data/ext/pg_query/include/postgres/catalog/pg_language.h +75 -0
- data/ext/pg_query/include/postgres/catalog/pg_language_d.h +41 -0
- data/ext/pg_query/include/postgres/catalog/pg_namespace.h +67 -0
- data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_opclass.h +91 -0
- data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_operator.h +124 -0
- data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +142 -0
- data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +67 -0
- data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +76 -0
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_proc.h +223 -0
- data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +101 -0
- data/ext/pg_query/include/postgres/catalog/pg_publication.h +161 -0
- data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +38 -0
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +65 -0
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +33 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic.h +288 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +199 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +91 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +45 -0
- data/ext/pg_query/include/postgres/catalog/pg_transform.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_trigger.h +153 -0
- data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +109 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +56 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +62 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +35 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +63 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +37 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +54 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_type.h +407 -0
- data/ext/pg_query/include/postgres/catalog/pg_type_d.h +324 -0
- data/ext/pg_query/include/postgres/catalog/storage.h +50 -0
- data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
- data/ext/pg_query/include/postgres/commands/async.h +49 -0
- data/ext/pg_query/include/postgres/commands/dbcommands.h +37 -0
- data/ext/pg_query/include/postgres/commands/defrem.h +161 -0
- data/ext/pg_query/include/postgres/commands/event_trigger.h +97 -0
- data/ext/pg_query/include/postgres/commands/explain.h +145 -0
- data/ext/pg_query/include/postgres/commands/prepare.h +61 -0
- data/ext/pg_query/include/postgres/commands/tablespace.h +69 -0
- data/ext/pg_query/include/postgres/commands/trigger.h +288 -0
- data/ext/pg_query/include/postgres/commands/user.h +43 -0
- data/ext/pg_query/include/postgres/commands/vacuum.h +388 -0
- data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
- data/ext/pg_query/include/postgres/common/file_perm.h +56 -0
- data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
- data/ext/pg_query/include/postgres/common/hashfn.h +119 -0
- data/ext/pg_query/include/postgres/common/hashfn_unstable.h +407 -0
- data/ext/pg_query/include/postgres/common/int.h +512 -0
- data/ext/pg_query/include/postgres/common/keywords.h +29 -0
- data/ext/pg_query/include/postgres/common/kwlookup.h +44 -0
- data/ext/pg_query/include/postgres/common/pg_prng.h +62 -0
- data/ext/pg_query/include/postgres/common/relpath.h +97 -0
- data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
- data/ext/pg_query/include/postgres/common/sha2.h +32 -0
- data/ext/pg_query/include/postgres/common/string.h +44 -0
- data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +124 -0
- data/ext/pg_query/include/postgres/common/unicode_nonspacing_table.h +326 -0
- data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5261 -0
- data/ext/pg_query/include/postgres/copyfuncs.switch.c +989 -0
- data/ext/pg_query/include/postgres/datatype/timestamp.h +269 -0
- data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3310 -0
- data/ext/pg_query/include/postgres/equalfuncs.switch.c +836 -0
- data/ext/pg_query/include/postgres/executor/execdesc.h +70 -0
- data/ext/pg_query/include/postgres/executor/executor.h +681 -0
- data/ext/pg_query/include/postgres/executor/functions.h +56 -0
- data/ext/pg_query/include/postgres/executor/instrument.h +120 -0
- data/ext/pg_query/include/postgres/executor/spi.h +207 -0
- data/ext/pg_query/include/postgres/executor/tablefunc.h +67 -0
- data/ext/pg_query/include/postgres/executor/tuptable.h +523 -0
- data/ext/pg_query/include/postgres/fmgr.h +800 -0
- data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
- data/ext/pg_query/include/postgres/funcapi.h +360 -0
- data/ext/pg_query/include/postgres/gram.h +1168 -0
- data/ext/pg_query/include/postgres/gramparse.h +75 -0
- data/ext/pg_query/include/postgres/jit/jit.h +106 -0
- data/ext/pg_query/include/postgres/kwlist_d.h +1164 -0
- data/ext/pg_query/include/postgres/lib/dshash.h +130 -0
- data/ext/pg_query/include/postgres/lib/ilist.h +1159 -0
- data/ext/pg_query/include/postgres/lib/pairingheap.h +102 -0
- data/ext/pg_query/include/postgres/lib/simplehash.h +1206 -0
- data/ext/pg_query/include/postgres/lib/sort_template.h +445 -0
- data/ext/pg_query/include/postgres/lib/stringinfo.h +243 -0
- data/ext/pg_query/include/postgres/libpq/auth.h +37 -0
- data/ext/pg_query/include/postgres/libpq/crypt.h +47 -0
- data/ext/pg_query/include/postgres/libpq/hba.h +186 -0
- data/ext/pg_query/include/postgres/libpq/libpq-be.h +361 -0
- data/ext/pg_query/include/postgres/libpq/libpq.h +143 -0
- data/ext/pg_query/include/postgres/libpq/pqcomm.h +169 -0
- data/ext/pg_query/include/postgres/libpq/pqformat.h +209 -0
- data/ext/pg_query/include/postgres/libpq/pqsignal.h +54 -0
- data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
- data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
- data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
- data/ext/pg_query/include/postgres/mb/pg_wchar.h +793 -0
- data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +24 -0
- data/ext/pg_query/include/postgres/miscadmin.h +527 -0
- data/ext/pg_query/include/postgres/nodes/bitmapset.h +140 -0
- data/ext/pg_query/include/postgres/nodes/execnodes.h +2855 -0
- data/ext/pg_query/include/postgres/nodes/extensible.h +164 -0
- data/ext/pg_query/include/postgres/nodes/lockoptions.h +61 -0
- data/ext/pg_query/include/postgres/nodes/makefuncs.h +127 -0
- data/ext/pg_query/include/postgres/nodes/memnodes.h +152 -0
- data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
- data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +222 -0
- data/ext/pg_query/include/postgres/nodes/nodes.h +435 -0
- data/ext/pg_query/include/postgres/nodes/nodetags.h +491 -0
- data/ext/pg_query/include/postgres/nodes/params.h +170 -0
- data/ext/pg_query/include/postgres/nodes/parsenodes.h +4233 -0
- data/ext/pg_query/include/postgres/nodes/pathnodes.h +3438 -0
- data/ext/pg_query/include/postgres/nodes/pg_list.h +686 -0
- data/ext/pg_query/include/postgres/nodes/plannodes.h +1593 -0
- data/ext/pg_query/include/postgres/nodes/primnodes.h +2339 -0
- data/ext/pg_query/include/postgres/nodes/print.h +34 -0
- data/ext/pg_query/include/postgres/nodes/queryjumble.h +86 -0
- data/ext/pg_query/include/postgres/nodes/replnodes.h +132 -0
- data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
- data/ext/pg_query/include/postgres/nodes/tidbitmap.h +75 -0
- data/ext/pg_query/include/postgres/nodes/value.h +90 -0
- data/ext/pg_query/include/postgres/optimizer/cost.h +216 -0
- data/ext/pg_query/include/postgres/optimizer/geqo.h +90 -0
- data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +45 -0
- data/ext/pg_query/include/postgres/optimizer/optimizer.h +205 -0
- data/ext/pg_query/include/postgres/optimizer/paths.h +271 -0
- data/ext/pg_query/include/postgres/optimizer/planmain.h +123 -0
- data/ext/pg_query/include/postgres/parser/analyze.h +66 -0
- data/ext/pg_query/include/postgres/parser/kwlist.h +518 -0
- data/ext/pg_query/include/postgres/parser/parse_agg.h +65 -0
- data/ext/pg_query/include/postgres/parser/parse_coerce.h +105 -0
- data/ext/pg_query/include/postgres/parser/parse_expr.h +25 -0
- data/ext/pg_query/include/postgres/parser/parse_func.h +74 -0
- data/ext/pg_query/include/postgres/parser/parse_node.h +358 -0
- data/ext/pg_query/include/postgres/parser/parse_oper.h +68 -0
- data/ext/pg_query/include/postgres/parser/parse_relation.h +129 -0
- data/ext/pg_query/include/postgres/parser/parse_type.h +61 -0
- data/ext/pg_query/include/postgres/parser/parser.h +68 -0
- data/ext/pg_query/include/postgres/parser/parsetree.h +61 -0
- data/ext/pg_query/include/postgres/parser/scanner.h +152 -0
- data/ext/pg_query/include/postgres/parser/scansup.h +27 -0
- data/ext/pg_query/include/postgres/partitioning/partdefs.h +26 -0
- data/ext/pg_query/include/postgres/pg_config.h +985 -0
- data/ext/pg_query/include/postgres/pg_config_manual.h +385 -0
- data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
- data/ext/pg_query/include/postgres/pg_getopt.h +56 -0
- data/ext/pg_query/include/postgres/pg_trace.h +17 -0
- data/ext/pg_query/include/postgres/pgstat.h +780 -0
- data/ext/pg_query/include/postgres/pgtime.h +94 -0
- data/ext/pg_query/include/postgres/pl_gram.h +385 -0
- data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +52 -0
- data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +114 -0
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +112 -0
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +246 -0
- data/ext/pg_query/include/postgres/plerrcodes.h +998 -0
- data/ext/pg_query/include/postgres/plpgsql.h +1342 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +32 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +256 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +254 -0
- data/ext/pg_query/include/postgres/port/atomics/fallback.h +170 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +323 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +119 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +121 -0
- data/ext/pg_query/include/postgres/port/atomics/generic.h +437 -0
- data/ext/pg_query/include/postgres/port/atomics.h +606 -0
- data/ext/pg_query/include/postgres/port/pg_bitutils.h +421 -0
- data/ext/pg_query/include/postgres/port/pg_bswap.h +161 -0
- data/ext/pg_query/include/postgres/port/pg_crc32c.h +110 -0
- data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
- data/ext/pg_query/include/postgres/port/simd.h +422 -0
- data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
- data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/socket.h +34 -0
- data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
- data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
- data/ext/pg_query/include/postgres/port/win32.h +59 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
- data/ext/pg_query/include/postgres/port/win32_port.h +582 -0
- data/ext/pg_query/include/postgres/port.h +555 -0
- data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
- data/ext/pg_query/include/postgres/postgres.h +579 -0
- data/ext/pg_query/include/postgres/postgres_ext.h +73 -0
- data/ext/pg_query/include/postgres/postmaster/autovacuum.h +69 -0
- data/ext/pg_query/include/postgres/postmaster/bgworker.h +164 -0
- data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +60 -0
- data/ext/pg_query/include/postgres/postmaster/bgwriter.h +45 -0
- data/ext/pg_query/include/postgres/postmaster/interrupt.h +32 -0
- data/ext/pg_query/include/postgres/postmaster/pgarch.h +36 -0
- data/ext/pg_query/include/postgres/postmaster/postmaster.h +101 -0
- data/ext/pg_query/include/postgres/postmaster/startup.h +41 -0
- data/ext/pg_query/include/postgres/postmaster/syslogger.h +101 -0
- data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
- data/ext/pg_query/include/postgres/postmaster/walwriter.h +23 -0
- data/ext/pg_query/include/postgres/regex/regex.h +272 -0
- data/ext/pg_query/include/postgres/replication/logicallauncher.h +34 -0
- data/ext/pg_query/include/postgres/replication/logicalproto.h +274 -0
- data/ext/pg_query/include/postgres/replication/logicalworker.h +33 -0
- data/ext/pg_query/include/postgres/replication/origin.h +73 -0
- data/ext/pg_query/include/postgres/replication/reorderbuffer.h +734 -0
- data/ext/pg_query/include/postgres/replication/slot.h +289 -0
- data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
- data/ext/pg_query/include/postgres/replication/syncrep.h +109 -0
- data/ext/pg_query/include/postgres/replication/walreceiver.h +504 -0
- data/ext/pg_query/include/postgres/replication/walsender.h +76 -0
- data/ext/pg_query/include/postgres/rewrite/prs2lock.h +46 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +41 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +96 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +26 -0
- data/ext/pg_query/include/postgres/storage/block.h +108 -0
- data/ext/pg_query/include/postgres/storage/buf.h +46 -0
- data/ext/pg_query/include/postgres/storage/bufmgr.h +411 -0
- data/ext/pg_query/include/postgres/storage/bufpage.h +510 -0
- data/ext/pg_query/include/postgres/storage/condition_variable.h +73 -0
- data/ext/pg_query/include/postgres/storage/dsm.h +61 -0
- data/ext/pg_query/include/postgres/storage/dsm_impl.h +79 -0
- data/ext/pg_query/include/postgres/storage/fd.h +219 -0
- data/ext/pg_query/include/postgres/storage/fileset.h +40 -0
- data/ext/pg_query/include/postgres/storage/ipc.h +87 -0
- data/ext/pg_query/include/postgres/storage/item.h +19 -0
- data/ext/pg_query/include/postgres/storage/itemid.h +184 -0
- data/ext/pg_query/include/postgres/storage/itemptr.h +245 -0
- data/ext/pg_query/include/postgres/storage/large_object.h +100 -0
- data/ext/pg_query/include/postgres/storage/latch.h +196 -0
- data/ext/pg_query/include/postgres/storage/lmgr.h +126 -0
- data/ext/pg_query/include/postgres/storage/lock.h +624 -0
- data/ext/pg_query/include/postgres/storage/lockdefs.h +61 -0
- data/ext/pg_query/include/postgres/storage/lwlock.h +228 -0
- data/ext/pg_query/include/postgres/storage/lwlocknames.h +47 -0
- data/ext/pg_query/include/postgres/storage/off.h +57 -0
- data/ext/pg_query/include/postgres/storage/pg_sema.h +61 -0
- data/ext/pg_query/include/postgres/storage/pg_shmem.h +93 -0
- data/ext/pg_query/include/postgres/storage/pmsignal.h +105 -0
- data/ext/pg_query/include/postgres/storage/predicate.h +83 -0
- data/ext/pg_query/include/postgres/storage/proc.h +488 -0
- data/ext/pg_query/include/postgres/storage/procarray.h +103 -0
- data/ext/pg_query/include/postgres/storage/proclist_types.h +53 -0
- data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
- data/ext/pg_query/include/postgres/storage/procsignal.h +75 -0
- data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
- data/ext/pg_query/include/postgres/storage/relfilelocator.h +100 -0
- data/ext/pg_query/include/postgres/storage/s_lock.h +847 -0
- data/ext/pg_query/include/postgres/storage/sharedfileset.h +37 -0
- data/ext/pg_query/include/postgres/storage/shm_mq.h +86 -0
- data/ext/pg_query/include/postgres/storage/shm_toc.h +58 -0
- data/ext/pg_query/include/postgres/storage/shmem.h +59 -0
- data/ext/pg_query/include/postgres/storage/sinval.h +153 -0
- data/ext/pg_query/include/postgres/storage/smgr.h +130 -0
- data/ext/pg_query/include/postgres/storage/spin.h +77 -0
- data/ext/pg_query/include/postgres/storage/standby.h +109 -0
- data/ext/pg_query/include/postgres/storage/standbydefs.h +74 -0
- data/ext/pg_query/include/postgres/storage/sync.h +66 -0
- data/ext/pg_query/include/postgres/tcop/cmdtag.h +62 -0
- data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +219 -0
- data/ext/pg_query/include/postgres/tcop/deparse_utility.h +108 -0
- data/ext/pg_query/include/postgres/tcop/dest.h +148 -0
- data/ext/pg_query/include/postgres/tcop/fastpath.h +20 -0
- data/ext/pg_query/include/postgres/tcop/pquery.h +51 -0
- data/ext/pg_query/include/postgres/tcop/tcopprot.h +98 -0
- data/ext/pg_query/include/postgres/tcop/utility.h +112 -0
- data/ext/pg_query/include/postgres/tsearch/ts_cache.h +96 -0
- data/ext/pg_query/include/postgres/utils/acl.h +290 -0
- data/ext/pg_query/include/postgres/utils/aclchk_internal.h +45 -0
- data/ext/pg_query/include/postgres/utils/array.h +481 -0
- data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
- data/ext/pg_query/include/postgres/utils/backend_progress.h +46 -0
- data/ext/pg_query/include/postgres/utils/backend_status.h +340 -0
- data/ext/pg_query/include/postgres/utils/builtins.h +139 -0
- data/ext/pg_query/include/postgres/utils/bytea.h +28 -0
- data/ext/pg_query/include/postgres/utils/catcache.h +231 -0
- data/ext/pg_query/include/postgres/utils/date.h +118 -0
- data/ext/pg_query/include/postgres/utils/datetime.h +367 -0
- data/ext/pg_query/include/postgres/utils/datum.h +76 -0
- data/ext/pg_query/include/postgres/utils/dsa.h +166 -0
- data/ext/pg_query/include/postgres/utils/elog.h +540 -0
- data/ext/pg_query/include/postgres/utils/errcodes.h +352 -0
- data/ext/pg_query/include/postgres/utils/expandeddatum.h +170 -0
- data/ext/pg_query/include/postgres/utils/expandedrecord.h +241 -0
- data/ext/pg_query/include/postgres/utils/float.h +357 -0
- data/ext/pg_query/include/postgres/utils/fmgroids.h +3347 -0
- data/ext/pg_query/include/postgres/utils/fmgrprotos.h +2904 -0
- data/ext/pg_query/include/postgres/utils/fmgrtab.h +49 -0
- data/ext/pg_query/include/postgres/utils/guc.h +456 -0
- data/ext/pg_query/include/postgres/utils/guc_hooks.h +184 -0
- data/ext/pg_query/include/postgres/utils/guc_tables.h +323 -0
- data/ext/pg_query/include/postgres/utils/hsearch.h +153 -0
- data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
- data/ext/pg_query/include/postgres/utils/inval.h +68 -0
- data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
- data/ext/pg_query/include/postgres/utils/lsyscache.h +215 -0
- data/ext/pg_query/include/postgres/utils/memdebug.h +82 -0
- data/ext/pg_query/include/postgres/utils/memutils.h +193 -0
- data/ext/pg_query/include/postgres/utils/memutils_internal.h +176 -0
- data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +253 -0
- data/ext/pg_query/include/postgres/utils/numeric.h +110 -0
- data/ext/pg_query/include/postgres/utils/palloc.h +151 -0
- data/ext/pg_query/include/postgres/utils/partcache.h +103 -0
- data/ext/pg_query/include/postgres/utils/pg_locale.h +136 -0
- data/ext/pg_query/include/postgres/utils/pgstat_internal.h +827 -0
- data/ext/pg_query/include/postgres/utils/plancache.h +238 -0
- data/ext/pg_query/include/postgres/utils/portal.h +252 -0
- data/ext/pg_query/include/postgres/utils/probes.h +114 -0
- data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
- data/ext/pg_query/include/postgres/utils/queryenvironment.h +74 -0
- data/ext/pg_query/include/postgres/utils/regproc.h +39 -0
- data/ext/pg_query/include/postgres/utils/rel.h +711 -0
- data/ext/pg_query/include/postgres/utils/relcache.h +155 -0
- data/ext/pg_query/include/postgres/utils/reltrigger.h +81 -0
- data/ext/pg_query/include/postgres/utils/resowner.h +167 -0
- data/ext/pg_query/include/postgres/utils/ruleutils.h +52 -0
- data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +61 -0
- data/ext/pg_query/include/postgres/utils/snapmgr.h +130 -0
- data/ext/pg_query/include/postgres/utils/snapshot.h +219 -0
- data/ext/pg_query/include/postgres/utils/sortsupport.h +391 -0
- data/ext/pg_query/include/postgres/utils/syscache.h +136 -0
- data/ext/pg_query/include/postgres/utils/timeout.h +96 -0
- data/ext/pg_query/include/postgres/utils/timestamp.h +147 -0
- data/ext/pg_query/include/postgres/utils/tuplesort.h +472 -0
- data/ext/pg_query/include/postgres/utils/tuplestore.h +88 -0
- data/ext/pg_query/include/postgres/utils/typcache.h +210 -0
- data/ext/pg_query/include/postgres/utils/varlena.h +53 -0
- data/ext/pg_query/include/postgres/utils/wait_event.h +108 -0
- data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
- data/ext/pg_query/include/postgres/utils/xml.h +94 -0
- data/ext/pg_query/include/postgres/varatt.h +358 -0
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +8077 -6217
- data/ext/pg_query/include/protobuf/pg_query.pb.h +132024 -88124
- data/ext/pg_query/pg_query.c +10 -1
- data/ext/pg_query/pg_query.pb-c.c +24028 -17173
- data/ext/pg_query/pg_query_deparse.c +1 -9902
- data/ext/pg_query/pg_query_fingerprint.c +42 -18
- data/ext/pg_query/pg_query_fingerprint.h +1 -1
- data/ext/pg_query/pg_query_internal.h +1 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +1 -25
- data/ext/pg_query/pg_query_normalize.c +44 -3
- data/ext/pg_query/pg_query_outfuncs_json.c +62 -16
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +73 -12
- data/ext/pg_query/pg_query_parse.c +47 -5
- data/ext/pg_query/pg_query_parse_plpgsql.c +19 -18
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +45 -10
- data/ext/pg_query/pg_query_ruby.c +5 -0
- data/ext/pg_query/pg_query_scan.c +4 -3
- data/ext/pg_query/pg_query_split.c +6 -5
- data/ext/pg_query/postgres_deparse.c +11496 -0
- data/ext/pg_query/postgres_deparse.h +9 -0
- data/ext/pg_query/src_backend_catalog_namespace.c +262 -71
- data/ext/pg_query/src_backend_catalog_pg_proc.c +3 -2
- data/ext/pg_query/src_backend_commands_define.c +12 -3
- data/ext/pg_query/src_backend_nodes_bitmapset.c +142 -156
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +100 -5881
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +102 -3831
- data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
- data/ext/pg_query/src_backend_nodes_list.c +89 -18
- data/ext/pg_query/src_backend_nodes_makefuncs.c +138 -4
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +433 -132
- data/ext/pg_query/src_backend_nodes_value.c +28 -19
- data/ext/pg_query/src_backend_parser_gram.c +45255 -38885
- data/ext/pg_query/src_backend_parser_parser.c +53 -8
- data/ext/pg_query/src_backend_parser_scan.c +6999 -3438
- data/ext/pg_query/src_backend_parser_scansup.c +5 -28
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
- data/ext/pg_query/src_backend_tcop_postgres.c +156 -114
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +14 -2
- 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_numutils.c +488 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +247 -34
- data/ext/pg_query/src_backend_utils_error_assert.c +17 -18
- data/ext/pg_query/src_backend_utils_error_elog.c +543 -343
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +47 -18
- data/ext/pg_query/src_backend_utils_init_globals.c +22 -7
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +84 -148
- data/ext/pg_query/src_backend_utils_misc_guc_tables.c +502 -0
- data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +166 -0
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +708 -499
- data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
- data/ext/pg_query/src_backend_utils_mmgr_generation.c +1115 -0
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +710 -218
- data/ext/pg_query/src_backend_utils_mmgr_slab.c +1079 -0
- data/ext/pg_query/src_common_encnames.c +46 -44
- 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 +602 -510
- data/ext/pg_query/src_common_kwlookup.c +1 -1
- data/ext/pg_query/src_common_psprintf.c +3 -3
- data/ext/pg_query/src_common_stringinfo.c +21 -4
- data/ext/pg_query/src_common_wchar.c +754 -178
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +143 -24
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -18
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1295 -1255
- 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 +20 -2
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +60 -60
- data/ext/pg_query/src_port_pg_bitutils.c +283 -54
- data/ext/pg_query/src_port_pgstrcasecmp.c +57 -1
- data/ext/pg_query/src_port_qsort.c +12 -224
- data/ext/pg_query/src_port_snprintf.c +56 -39
- data/ext/pg_query/src_port_strerror.c +9 -21
- data/ext/pg_query/src_port_strlcpy.c +79 -0
- data/lib/pg_query/filter_columns.rb +1 -1
- data/lib/pg_query/fingerprint.rb +10 -9
- data/lib/pg_query/node.rb +18 -13
- data/lib/pg_query/param_refs.rb +3 -3
- data/lib/pg_query/parse.rb +25 -15
- data/lib/pg_query/parse_error.rb +1 -0
- data/lib/pg_query/pg_query_pb.rb +181 -3038
- data/lib/pg_query/scan.rb +1 -0
- data/lib/pg_query/treewalker.rb +55 -8
- data/lib/pg_query/truncate.rb +19 -21
- data/lib/pg_query/version.rb +1 -1
- metadata +447 -436
- data/ext/pg_query/guc-file.c +0 -0
- data/ext/pg_query/include/access/amapi.h +0 -246
- data/ext/pg_query/include/access/attmap.h +0 -52
- data/ext/pg_query/include/access/attnum.h +0 -64
- data/ext/pg_query/include/access/clog.h +0 -61
- data/ext/pg_query/include/access/commit_ts.h +0 -77
- data/ext/pg_query/include/access/detoast.h +0 -92
- data/ext/pg_query/include/access/genam.h +0 -228
- data/ext/pg_query/include/access/gin.h +0 -78
- data/ext/pg_query/include/access/htup.h +0 -89
- data/ext/pg_query/include/access/htup_details.h +0 -819
- data/ext/pg_query/include/access/itup.h +0 -161
- data/ext/pg_query/include/access/parallel.h +0 -82
- data/ext/pg_query/include/access/printtup.h +0 -35
- data/ext/pg_query/include/access/relation.h +0 -28
- data/ext/pg_query/include/access/relscan.h +0 -176
- data/ext/pg_query/include/access/rmgr.h +0 -35
- data/ext/pg_query/include/access/rmgrlist.h +0 -49
- data/ext/pg_query/include/access/sdir.h +0 -58
- data/ext/pg_query/include/access/skey.h +0 -151
- data/ext/pg_query/include/access/stratnum.h +0 -83
- data/ext/pg_query/include/access/sysattr.h +0 -29
- data/ext/pg_query/include/access/table.h +0 -27
- data/ext/pg_query/include/access/tableam.h +0 -1825
- data/ext/pg_query/include/access/transam.h +0 -265
- data/ext/pg_query/include/access/tupconvert.h +0 -51
- data/ext/pg_query/include/access/tupdesc.h +0 -154
- data/ext/pg_query/include/access/tupmacs.h +0 -247
- data/ext/pg_query/include/access/twophase.h +0 -63
- data/ext/pg_query/include/access/xact.h +0 -469
- data/ext/pg_query/include/access/xlog.h +0 -398
- data/ext/pg_query/include/access/xlog_internal.h +0 -339
- data/ext/pg_query/include/access/xlogdefs.h +0 -109
- data/ext/pg_query/include/access/xloginsert.h +0 -64
- data/ext/pg_query/include/access/xlogreader.h +0 -337
- data/ext/pg_query/include/access/xlogrecord.h +0 -227
- data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
- data/ext/pg_query/include/c.h +0 -1334
- data/ext/pg_query/include/catalog/catalog.h +0 -42
- data/ext/pg_query/include/catalog/catversion.h +0 -58
- data/ext/pg_query/include/catalog/dependency.h +0 -277
- data/ext/pg_query/include/catalog/genbki.h +0 -64
- data/ext/pg_query/include/catalog/index.h +0 -199
- data/ext/pg_query/include/catalog/indexing.h +0 -366
- data/ext/pg_query/include/catalog/namespace.h +0 -188
- data/ext/pg_query/include/catalog/objectaccess.h +0 -197
- data/ext/pg_query/include/catalog/objectaddress.h +0 -84
- data/ext/pg_query/include/catalog/pg_aggregate.h +0 -176
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +0 -77
- data/ext/pg_query/include/catalog/pg_am.h +0 -60
- data/ext/pg_query/include/catalog/pg_am_d.h +0 -45
- data/ext/pg_query/include/catalog/pg_attribute.h +0 -204
- data/ext/pg_query/include/catalog/pg_attribute_d.h +0 -59
- data/ext/pg_query/include/catalog/pg_authid.h +0 -58
- data/ext/pg_query/include/catalog/pg_authid_d.h +0 -49
- data/ext/pg_query/include/catalog/pg_class.h +0 -200
- data/ext/pg_query/include/catalog/pg_class_d.h +0 -103
- data/ext/pg_query/include/catalog/pg_collation.h +0 -73
- data/ext/pg_query/include/catalog/pg_collation_d.h +0 -45
- data/ext/pg_query/include/catalog/pg_constraint.h +0 -247
- data/ext/pg_query/include/catalog/pg_constraint_d.h +0 -67
- data/ext/pg_query/include/catalog/pg_control.h +0 -252
- data/ext/pg_query/include/catalog/pg_conversion.h +0 -72
- data/ext/pg_query/include/catalog/pg_conversion_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_depend.h +0 -73
- data/ext/pg_query/include/catalog/pg_depend_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_event_trigger.h +0 -51
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_index.h +0 -80
- data/ext/pg_query/include/catalog/pg_index_d.h +0 -56
- data/ext/pg_query/include/catalog/pg_language.h +0 -67
- data/ext/pg_query/include/catalog/pg_language_d.h +0 -39
- data/ext/pg_query/include/catalog/pg_namespace.h +0 -59
- data/ext/pg_query/include/catalog/pg_namespace_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_opclass.h +0 -85
- data/ext/pg_query/include/catalog/pg_opclass_d.h +0 -49
- data/ext/pg_query/include/catalog/pg_operator.h +0 -104
- data/ext/pg_query/include/catalog/pg_operator_d.h +0 -106
- data/ext/pg_query/include/catalog/pg_opfamily.h +0 -60
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +0 -47
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +0 -63
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_proc.h +0 -211
- data/ext/pg_query/include/catalog/pg_proc_d.h +0 -99
- data/ext/pg_query/include/catalog/pg_publication.h +0 -118
- data/ext/pg_query/include/catalog/pg_publication_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_replication_origin.h +0 -57
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +0 -29
- data/ext/pg_query/include/catalog/pg_statistic.h +0 -275
- data/ext/pg_query/include/catalog/pg_statistic_d.h +0 -194
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +0 -74
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +0 -40
- data/ext/pg_query/include/catalog/pg_transform.h +0 -45
- data/ext/pg_query/include/catalog/pg_transform_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_trigger.h +0 -137
- data/ext/pg_query/include/catalog/pg_trigger_d.h +0 -106
- data/ext/pg_query/include/catalog/pg_ts_config.h +0 -50
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_ts_dict.h +0 -54
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +0 -33
- data/ext/pg_query/include/catalog/pg_ts_parser.h +0 -57
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_ts_template.h +0 -48
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_type.h +0 -373
- data/ext/pg_query/include/catalog/pg_type_d.h +0 -285
- data/ext/pg_query/include/catalog/storage.h +0 -48
- data/ext/pg_query/include/commands/async.h +0 -54
- data/ext/pg_query/include/commands/dbcommands.h +0 -35
- data/ext/pg_query/include/commands/defrem.h +0 -173
- data/ext/pg_query/include/commands/event_trigger.h +0 -88
- data/ext/pg_query/include/commands/explain.h +0 -127
- data/ext/pg_query/include/commands/prepare.h +0 -61
- data/ext/pg_query/include/commands/tablespace.h +0 -69
- data/ext/pg_query/include/commands/trigger.h +0 -285
- data/ext/pg_query/include/commands/user.h +0 -37
- data/ext/pg_query/include/commands/vacuum.h +0 -293
- data/ext/pg_query/include/commands/variable.h +0 -38
- data/ext/pg_query/include/common/file_perm.h +0 -56
- data/ext/pg_query/include/common/hashfn.h +0 -104
- data/ext/pg_query/include/common/ip.h +0 -37
- data/ext/pg_query/include/common/keywords.h +0 -33
- data/ext/pg_query/include/common/kwlookup.h +0 -44
- data/ext/pg_query/include/common/relpath.h +0 -90
- data/ext/pg_query/include/common/string.h +0 -19
- data/ext/pg_query/include/common/unicode_combining_table.h +0 -196
- data/ext/pg_query/include/datatype/timestamp.h +0 -197
- data/ext/pg_query/include/executor/execdesc.h +0 -70
- data/ext/pg_query/include/executor/executor.h +0 -620
- data/ext/pg_query/include/executor/functions.h +0 -41
- data/ext/pg_query/include/executor/instrument.h +0 -101
- data/ext/pg_query/include/executor/spi.h +0 -175
- data/ext/pg_query/include/executor/tablefunc.h +0 -67
- data/ext/pg_query/include/executor/tuptable.h +0 -487
- data/ext/pg_query/include/fmgr.h +0 -775
- data/ext/pg_query/include/funcapi.h +0 -348
- data/ext/pg_query/include/getaddrinfo.h +0 -162
- data/ext/pg_query/include/jit/jit.h +0 -105
- data/ext/pg_query/include/kwlist_d.h +0 -1072
- data/ext/pg_query/include/lib/ilist.h +0 -727
- data/ext/pg_query/include/lib/pairingheap.h +0 -102
- data/ext/pg_query/include/lib/simplehash.h +0 -1059
- data/ext/pg_query/include/lib/stringinfo.h +0 -161
- data/ext/pg_query/include/libpq/auth.h +0 -29
- data/ext/pg_query/include/libpq/crypt.h +0 -46
- data/ext/pg_query/include/libpq/hba.h +0 -140
- data/ext/pg_query/include/libpq/libpq-be.h +0 -326
- data/ext/pg_query/include/libpq/libpq.h +0 -134
- data/ext/pg_query/include/libpq/pqcomm.h +0 -208
- data/ext/pg_query/include/libpq/pqformat.h +0 -210
- data/ext/pg_query/include/libpq/pqsignal.h +0 -42
- data/ext/pg_query/include/mb/pg_wchar.h +0 -673
- data/ext/pg_query/include/mb/stringinfo_mb.h +0 -24
- data/ext/pg_query/include/miscadmin.h +0 -489
- data/ext/pg_query/include/nodes/bitmapset.h +0 -122
- data/ext/pg_query/include/nodes/execnodes.h +0 -2523
- data/ext/pg_query/include/nodes/extensible.h +0 -160
- data/ext/pg_query/include/nodes/lockoptions.h +0 -61
- data/ext/pg_query/include/nodes/makefuncs.h +0 -108
- data/ext/pg_query/include/nodes/memnodes.h +0 -108
- data/ext/pg_query/include/nodes/nodeFuncs.h +0 -162
- data/ext/pg_query/include/nodes/nodes.h +0 -842
- data/ext/pg_query/include/nodes/params.h +0 -170
- data/ext/pg_query/include/nodes/parsenodes.h +0 -3580
- data/ext/pg_query/include/nodes/pathnodes.h +0 -2557
- data/ext/pg_query/include/nodes/pg_list.h +0 -606
- data/ext/pg_query/include/nodes/plannodes.h +0 -1266
- data/ext/pg_query/include/nodes/primnodes.h +0 -1541
- data/ext/pg_query/include/nodes/print.h +0 -34
- data/ext/pg_query/include/nodes/tidbitmap.h +0 -75
- data/ext/pg_query/include/nodes/value.h +0 -61
- data/ext/pg_query/include/optimizer/cost.h +0 -206
- data/ext/pg_query/include/optimizer/geqo.h +0 -88
- data/ext/pg_query/include/optimizer/geqo_gene.h +0 -45
- data/ext/pg_query/include/optimizer/optimizer.h +0 -194
- data/ext/pg_query/include/optimizer/paths.h +0 -257
- data/ext/pg_query/include/optimizer/planmain.h +0 -119
- data/ext/pg_query/include/parser/analyze.h +0 -49
- data/ext/pg_query/include/parser/gram.h +0 -1067
- data/ext/pg_query/include/parser/gramparse.h +0 -75
- data/ext/pg_query/include/parser/kwlist.h +0 -477
- data/ext/pg_query/include/parser/parse_agg.h +0 -68
- data/ext/pg_query/include/parser/parse_clause.h +0 -54
- data/ext/pg_query/include/parser/parse_coerce.h +0 -98
- data/ext/pg_query/include/parser/parse_collate.h +0 -27
- data/ext/pg_query/include/parser/parse_expr.h +0 -26
- data/ext/pg_query/include/parser/parse_func.h +0 -73
- data/ext/pg_query/include/parser/parse_node.h +0 -327
- data/ext/pg_query/include/parser/parse_oper.h +0 -67
- data/ext/pg_query/include/parser/parse_relation.h +0 -123
- data/ext/pg_query/include/parser/parse_target.h +0 -46
- data/ext/pg_query/include/parser/parse_type.h +0 -60
- data/ext/pg_query/include/parser/parser.h +0 -41
- data/ext/pg_query/include/parser/parsetree.h +0 -61
- data/ext/pg_query/include/parser/scanner.h +0 -152
- data/ext/pg_query/include/parser/scansup.h +0 -30
- data/ext/pg_query/include/partitioning/partdefs.h +0 -26
- data/ext/pg_query/include/pg_config.h +0 -995
- data/ext/pg_query/include/pg_config_manual.h +0 -357
- data/ext/pg_query/include/pg_config_os.h +0 -8
- data/ext/pg_query/include/pg_getopt.h +0 -56
- data/ext/pg_query/include/pg_trace.h +0 -17
- data/ext/pg_query/include/pgstat.h +0 -1488
- data/ext/pg_query/include/pgtime.h +0 -84
- data/ext/pg_query/include/pl_gram.h +0 -385
- data/ext/pg_query/include/pl_reserved_kwlist.h +0 -52
- data/ext/pg_query/include/pl_reserved_kwlist_d.h +0 -114
- data/ext/pg_query/include/pl_unreserved_kwlist.h +0 -112
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +0 -246
- data/ext/pg_query/include/plerrcodes.h +0 -990
- data/ext/pg_query/include/plpgsql.h +0 -1347
- data/ext/pg_query/include/port/atomics/arch-arm.h +0 -26
- data/ext/pg_query/include/port/atomics/arch-ppc.h +0 -254
- data/ext/pg_query/include/port/atomics/arch-x86.h +0 -252
- data/ext/pg_query/include/port/atomics/fallback.h +0 -170
- data/ext/pg_query/include/port/atomics/generic-gcc.h +0 -286
- data/ext/pg_query/include/port/atomics/generic.h +0 -401
- data/ext/pg_query/include/port/atomics.h +0 -524
- data/ext/pg_query/include/port/pg_bitutils.h +0 -272
- data/ext/pg_query/include/port/pg_bswap.h +0 -161
- data/ext/pg_query/include/port/pg_crc32c.h +0 -101
- data/ext/pg_query/include/port.h +0 -528
- data/ext/pg_query/include/portability/instr_time.h +0 -256
- data/ext/pg_query/include/postgres.h +0 -764
- data/ext/pg_query/include/postgres_ext.h +0 -74
- data/ext/pg_query/include/postmaster/autovacuum.h +0 -83
- data/ext/pg_query/include/postmaster/bgworker.h +0 -161
- data/ext/pg_query/include/postmaster/bgworker_internals.h +0 -64
- data/ext/pg_query/include/postmaster/bgwriter.h +0 -45
- data/ext/pg_query/include/postmaster/fork_process.h +0 -17
- data/ext/pg_query/include/postmaster/interrupt.h +0 -32
- data/ext/pg_query/include/postmaster/pgarch.h +0 -39
- data/ext/pg_query/include/postmaster/postmaster.h +0 -77
- data/ext/pg_query/include/postmaster/syslogger.h +0 -98
- data/ext/pg_query/include/postmaster/walwriter.h +0 -21
- data/ext/pg_query/include/regex/regex.h +0 -184
- data/ext/pg_query/include/replication/logicallauncher.h +0 -31
- data/ext/pg_query/include/replication/logicalproto.h +0 -110
- data/ext/pg_query/include/replication/logicalworker.h +0 -19
- data/ext/pg_query/include/replication/origin.h +0 -73
- data/ext/pg_query/include/replication/reorderbuffer.h +0 -468
- data/ext/pg_query/include/replication/slot.h +0 -219
- data/ext/pg_query/include/replication/syncrep.h +0 -115
- data/ext/pg_query/include/replication/walreceiver.h +0 -340
- data/ext/pg_query/include/replication/walsender.h +0 -74
- data/ext/pg_query/include/rewrite/prs2lock.h +0 -46
- data/ext/pg_query/include/rewrite/rewriteHandler.h +0 -40
- data/ext/pg_query/include/rewrite/rewriteManip.h +0 -87
- data/ext/pg_query/include/rewrite/rewriteSupport.h +0 -26
- data/ext/pg_query/include/storage/backendid.h +0 -37
- data/ext/pg_query/include/storage/block.h +0 -121
- data/ext/pg_query/include/storage/buf.h +0 -46
- data/ext/pg_query/include/storage/bufmgr.h +0 -292
- data/ext/pg_query/include/storage/bufpage.h +0 -459
- data/ext/pg_query/include/storage/condition_variable.h +0 -62
- data/ext/pg_query/include/storage/dsm.h +0 -61
- data/ext/pg_query/include/storage/dsm_impl.h +0 -75
- data/ext/pg_query/include/storage/fd.h +0 -168
- data/ext/pg_query/include/storage/ipc.h +0 -81
- data/ext/pg_query/include/storage/item.h +0 -19
- data/ext/pg_query/include/storage/itemid.h +0 -184
- data/ext/pg_query/include/storage/itemptr.h +0 -206
- data/ext/pg_query/include/storage/large_object.h +0 -100
- data/ext/pg_query/include/storage/latch.h +0 -190
- data/ext/pg_query/include/storage/lmgr.h +0 -114
- data/ext/pg_query/include/storage/lock.h +0 -613
- data/ext/pg_query/include/storage/lockdefs.h +0 -59
- data/ext/pg_query/include/storage/lwlock.h +0 -233
- data/ext/pg_query/include/storage/lwlocknames.h +0 -51
- data/ext/pg_query/include/storage/off.h +0 -57
- data/ext/pg_query/include/storage/pg_sema.h +0 -61
- data/ext/pg_query/include/storage/pg_shmem.h +0 -90
- data/ext/pg_query/include/storage/pmsignal.h +0 -94
- data/ext/pg_query/include/storage/predicate.h +0 -87
- data/ext/pg_query/include/storage/proc.h +0 -347
- data/ext/pg_query/include/storage/proclist_types.h +0 -51
- data/ext/pg_query/include/storage/procsignal.h +0 -75
- data/ext/pg_query/include/storage/relfilenode.h +0 -99
- data/ext/pg_query/include/storage/s_lock.h +0 -1071
- data/ext/pg_query/include/storage/sharedfileset.h +0 -45
- data/ext/pg_query/include/storage/shm_mq.h +0 -85
- data/ext/pg_query/include/storage/shm_toc.h +0 -58
- data/ext/pg_query/include/storage/shmem.h +0 -81
- data/ext/pg_query/include/storage/sinval.h +0 -153
- data/ext/pg_query/include/storage/sinvaladt.h +0 -43
- data/ext/pg_query/include/storage/smgr.h +0 -109
- data/ext/pg_query/include/storage/spin.h +0 -77
- data/ext/pg_query/include/storage/standby.h +0 -91
- data/ext/pg_query/include/storage/standbydefs.h +0 -74
- data/ext/pg_query/include/storage/sync.h +0 -62
- data/ext/pg_query/include/tcop/cmdtag.h +0 -58
- data/ext/pg_query/include/tcop/cmdtaglist.h +0 -217
- data/ext/pg_query/include/tcop/deparse_utility.h +0 -108
- data/ext/pg_query/include/tcop/dest.h +0 -149
- data/ext/pg_query/include/tcop/fastpath.h +0 -21
- data/ext/pg_query/include/tcop/pquery.h +0 -51
- data/ext/pg_query/include/tcop/tcopprot.h +0 -89
- data/ext/pg_query/include/tcop/utility.h +0 -108
- data/ext/pg_query/include/tsearch/ts_cache.h +0 -98
- data/ext/pg_query/include/utils/acl.h +0 -312
- data/ext/pg_query/include/utils/aclchk_internal.h +0 -45
- data/ext/pg_query/include/utils/array.h +0 -459
- data/ext/pg_query/include/utils/builtins.h +0 -128
- data/ext/pg_query/include/utils/bytea.h +0 -27
- data/ext/pg_query/include/utils/catcache.h +0 -231
- data/ext/pg_query/include/utils/date.h +0 -90
- data/ext/pg_query/include/utils/datetime.h +0 -343
- data/ext/pg_query/include/utils/datum.h +0 -68
- data/ext/pg_query/include/utils/dsa.h +0 -123
- data/ext/pg_query/include/utils/dynahash.h +0 -19
- data/ext/pg_query/include/utils/elog.h +0 -439
- data/ext/pg_query/include/utils/errcodes.h +0 -352
- data/ext/pg_query/include/utils/expandeddatum.h +0 -159
- data/ext/pg_query/include/utils/expandedrecord.h +0 -231
- data/ext/pg_query/include/utils/float.h +0 -356
- data/ext/pg_query/include/utils/fmgroids.h +0 -2657
- data/ext/pg_query/include/utils/fmgrprotos.h +0 -2646
- data/ext/pg_query/include/utils/fmgrtab.h +0 -48
- data/ext/pg_query/include/utils/guc.h +0 -443
- data/ext/pg_query/include/utils/guc_tables.h +0 -272
- data/ext/pg_query/include/utils/hsearch.h +0 -149
- data/ext/pg_query/include/utils/inval.h +0 -65
- data/ext/pg_query/include/utils/lsyscache.h +0 -198
- data/ext/pg_query/include/utils/memdebug.h +0 -82
- data/ext/pg_query/include/utils/memutils.h +0 -225
- data/ext/pg_query/include/utils/numeric.h +0 -76
- data/ext/pg_query/include/utils/palloc.h +0 -136
- data/ext/pg_query/include/utils/partcache.h +0 -102
- data/ext/pg_query/include/utils/pg_locale.h +0 -119
- data/ext/pg_query/include/utils/pg_lsn.h +0 -29
- data/ext/pg_query/include/utils/pidfile.h +0 -56
- data/ext/pg_query/include/utils/plancache.h +0 -235
- data/ext/pg_query/include/utils/portal.h +0 -254
- data/ext/pg_query/include/utils/probes.h +0 -114
- data/ext/pg_query/include/utils/ps_status.h +0 -25
- data/ext/pg_query/include/utils/queryenvironment.h +0 -74
- data/ext/pg_query/include/utils/regproc.h +0 -28
- data/ext/pg_query/include/utils/rel.h +0 -643
- data/ext/pg_query/include/utils/relcache.h +0 -150
- data/ext/pg_query/include/utils/reltrigger.h +0 -81
- data/ext/pg_query/include/utils/resowner.h +0 -86
- data/ext/pg_query/include/utils/rls.h +0 -50
- data/ext/pg_query/include/utils/ruleutils.h +0 -44
- data/ext/pg_query/include/utils/sharedtuplestore.h +0 -61
- data/ext/pg_query/include/utils/snapmgr.h +0 -159
- data/ext/pg_query/include/utils/snapshot.h +0 -206
- data/ext/pg_query/include/utils/sortsupport.h +0 -276
- data/ext/pg_query/include/utils/syscache.h +0 -219
- data/ext/pg_query/include/utils/timeout.h +0 -88
- data/ext/pg_query/include/utils/timestamp.h +0 -116
- data/ext/pg_query/include/utils/tuplesort.h +0 -277
- data/ext/pg_query/include/utils/tuplestore.h +0 -91
- data/ext/pg_query/include/utils/typcache.h +0 -202
- data/ext/pg_query/include/utils/tzparser.h +0 -39
- data/ext/pg_query/include/utils/varlena.h +0 -39
- data/ext/pg_query/include/utils/xml.h +0 -84
- data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -2
- data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -659
- data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
- data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2230
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -370
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1086
- data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1832
- data/ext/pg_query/src_common_string.c +0 -86
- data/ext/pg_query/src_port_erand48.c +0 -127
- data/ext/pg_query/src_port_pgsleep.c +0 -69
- data/ext/pg_query/src_port_random.c +0 -31
- data/ext/pg_query/src_port_strnlen.c +0 -39
- /data/ext/pg_query/{pg_query_ruby.sym → ext_symbols.sym} +0 -0
- /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
@@ -0,0 +1,278 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* pg_constraint.h
|
4
|
+
* definition of the "constraint" system catalog (pg_constraint)
|
5
|
+
*
|
6
|
+
*
|
7
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
8
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
9
|
+
*
|
10
|
+
* src/include/catalog/pg_constraint.h
|
11
|
+
*
|
12
|
+
* NOTES
|
13
|
+
* The Catalog.pm module reads this file and derives schema
|
14
|
+
* information.
|
15
|
+
*
|
16
|
+
*-------------------------------------------------------------------------
|
17
|
+
*/
|
18
|
+
#ifndef PG_CONSTRAINT_H
|
19
|
+
#define PG_CONSTRAINT_H
|
20
|
+
|
21
|
+
#include "catalog/dependency.h"
|
22
|
+
#include "catalog/genbki.h"
|
23
|
+
#include "catalog/pg_constraint_d.h"
|
24
|
+
#include "nodes/pg_list.h"
|
25
|
+
|
26
|
+
/* ----------------
|
27
|
+
* pg_constraint definition. cpp turns this into
|
28
|
+
* typedef struct FormData_pg_constraint
|
29
|
+
* ----------------
|
30
|
+
*/
|
31
|
+
CATALOG(pg_constraint,2606,ConstraintRelationId)
|
32
|
+
{
|
33
|
+
Oid oid; /* oid */
|
34
|
+
|
35
|
+
/*
|
36
|
+
* conname + connamespace is deliberately not unique; we allow, for
|
37
|
+
* example, the same name to be used for constraints of different
|
38
|
+
* relations. This is partly for backwards compatibility with past
|
39
|
+
* Postgres practice, and partly because we don't want to have to obtain a
|
40
|
+
* global lock to generate a globally unique name for a nameless
|
41
|
+
* constraint. We associate a namespace with constraint names only for
|
42
|
+
* SQL-spec compatibility.
|
43
|
+
*
|
44
|
+
* However, we do require conname to be unique among the constraints of a
|
45
|
+
* single relation or domain. This is enforced by a unique index on
|
46
|
+
* conrelid + contypid + conname.
|
47
|
+
*/
|
48
|
+
NameData conname; /* name of this constraint */
|
49
|
+
Oid connamespace BKI_LOOKUP(pg_namespace); /* OID of namespace
|
50
|
+
* containing constraint */
|
51
|
+
char contype; /* constraint type; see codes below */
|
52
|
+
bool condeferrable; /* deferrable constraint? */
|
53
|
+
bool condeferred; /* deferred by default? */
|
54
|
+
bool convalidated; /* constraint has been validated? */
|
55
|
+
|
56
|
+
/*
|
57
|
+
* conrelid and conkey are only meaningful if the constraint applies to a
|
58
|
+
* specific relation (this excludes domain constraints and assertions).
|
59
|
+
* Otherwise conrelid is 0 and conkey is NULL.
|
60
|
+
*/
|
61
|
+
Oid conrelid BKI_LOOKUP_OPT(pg_class); /* relation this
|
62
|
+
* constraint constrains */
|
63
|
+
|
64
|
+
/*
|
65
|
+
* contypid links to the pg_type row for a domain if this is a domain
|
66
|
+
* constraint. Otherwise it's 0.
|
67
|
+
*
|
68
|
+
* For SQL-style global ASSERTIONs, both conrelid and contypid would be
|
69
|
+
* zero. This is not presently supported, however.
|
70
|
+
*/
|
71
|
+
Oid contypid BKI_LOOKUP_OPT(pg_type); /* domain this constraint
|
72
|
+
* constrains */
|
73
|
+
|
74
|
+
/*
|
75
|
+
* conindid links to the index supporting the constraint, if any;
|
76
|
+
* otherwise it's 0. This is used for unique, primary-key, and exclusion
|
77
|
+
* constraints, and less obviously for foreign-key constraints (where the
|
78
|
+
* index is a unique index on the referenced relation's referenced
|
79
|
+
* columns). Notice that the index is on conrelid in the first case but
|
80
|
+
* confrelid in the second.
|
81
|
+
*/
|
82
|
+
Oid conindid BKI_LOOKUP_OPT(pg_class); /* index supporting this
|
83
|
+
* constraint */
|
84
|
+
|
85
|
+
/*
|
86
|
+
* If this constraint is on a partition inherited from a partitioned
|
87
|
+
* table, this is the OID of the corresponding constraint in the parent.
|
88
|
+
*/
|
89
|
+
Oid conparentid BKI_LOOKUP_OPT(pg_constraint);
|
90
|
+
|
91
|
+
/*
|
92
|
+
* These fields, plus confkey, are only meaningful for a foreign-key
|
93
|
+
* constraint. Otherwise confrelid is 0 and the char fields are spaces.
|
94
|
+
*/
|
95
|
+
Oid confrelid BKI_LOOKUP_OPT(pg_class); /* relation referenced by
|
96
|
+
* foreign key */
|
97
|
+
char confupdtype; /* foreign key's ON UPDATE action */
|
98
|
+
char confdeltype; /* foreign key's ON DELETE action */
|
99
|
+
char confmatchtype; /* foreign key's match type */
|
100
|
+
|
101
|
+
/* Has a local definition (hence, do not drop when coninhcount is 0) */
|
102
|
+
bool conislocal;
|
103
|
+
|
104
|
+
/* Number of times inherited from direct parent relation(s) */
|
105
|
+
int16 coninhcount;
|
106
|
+
|
107
|
+
/* Has a local definition and cannot be inherited */
|
108
|
+
bool connoinherit;
|
109
|
+
|
110
|
+
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
111
|
+
|
112
|
+
/*
|
113
|
+
* Columns of conrelid that the constraint applies to, if known (this is
|
114
|
+
* NULL for trigger constraints)
|
115
|
+
*/
|
116
|
+
int16 conkey[1];
|
117
|
+
|
118
|
+
/*
|
119
|
+
* If a foreign key, the referenced columns of confrelid
|
120
|
+
*/
|
121
|
+
int16 confkey[1];
|
122
|
+
|
123
|
+
/*
|
124
|
+
* If a foreign key, the OIDs of the PK = FK equality operators for each
|
125
|
+
* column of the constraint
|
126
|
+
*/
|
127
|
+
Oid conpfeqop[1] BKI_LOOKUP(pg_operator);
|
128
|
+
|
129
|
+
/*
|
130
|
+
* If a foreign key, the OIDs of the PK = PK equality operators for each
|
131
|
+
* column of the constraint (i.e., equality for the referenced columns)
|
132
|
+
*/
|
133
|
+
Oid conppeqop[1] BKI_LOOKUP(pg_operator);
|
134
|
+
|
135
|
+
/*
|
136
|
+
* If a foreign key, the OIDs of the FK = FK equality operators for each
|
137
|
+
* column of the constraint (i.e., equality for the referencing columns)
|
138
|
+
*/
|
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];
|
146
|
+
|
147
|
+
/*
|
148
|
+
* If an exclusion constraint, the OIDs of the exclusion operators for
|
149
|
+
* each column of the constraint
|
150
|
+
*/
|
151
|
+
Oid conexclop[1] BKI_LOOKUP(pg_operator);
|
152
|
+
|
153
|
+
/*
|
154
|
+
* If a check constraint, nodeToString representation of expression
|
155
|
+
*/
|
156
|
+
pg_node_tree conbin;
|
157
|
+
#endif
|
158
|
+
} FormData_pg_constraint;
|
159
|
+
|
160
|
+
/* ----------------
|
161
|
+
* Form_pg_constraint corresponds to a pointer to a tuple with
|
162
|
+
* the format of pg_constraint relation.
|
163
|
+
* ----------------
|
164
|
+
*/
|
165
|
+
typedef FormData_pg_constraint *Form_pg_constraint;
|
166
|
+
|
167
|
+
DECLARE_TOAST(pg_constraint, 2832, 2833);
|
168
|
+
|
169
|
+
DECLARE_INDEX(pg_constraint_conname_nsp_index, 2664, ConstraintNameNspIndexId, pg_constraint, btree(conname name_ops, connamespace oid_ops));
|
170
|
+
DECLARE_UNIQUE_INDEX(pg_constraint_conrelid_contypid_conname_index, 2665, ConstraintRelidTypidNameIndexId, pg_constraint, btree(conrelid oid_ops, contypid oid_ops, conname name_ops));
|
171
|
+
DECLARE_INDEX(pg_constraint_contypid_index, 2666, ConstraintTypidIndexId, pg_constraint, btree(contypid oid_ops));
|
172
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_constraint_oid_index, 2667, ConstraintOidIndexId, pg_constraint, btree(oid oid_ops));
|
173
|
+
DECLARE_INDEX(pg_constraint_conparentid_index, 2579, ConstraintParentIndexId, pg_constraint, btree(conparentid oid_ops));
|
174
|
+
|
175
|
+
MAKE_SYSCACHE(CONSTROID, pg_constraint_oid_index, 16);
|
176
|
+
|
177
|
+
/* conkey can contain zero (InvalidAttrNumber) if a whole-row Var is used */
|
178
|
+
DECLARE_ARRAY_FOREIGN_KEY_OPT((conrelid, conkey), pg_attribute, (attrelid, attnum));
|
179
|
+
DECLARE_ARRAY_FOREIGN_KEY((confrelid, confkey), pg_attribute, (attrelid, attnum));
|
180
|
+
|
181
|
+
#ifdef EXPOSE_TO_CLIENT_CODE
|
182
|
+
|
183
|
+
/* Valid values for contype */
|
184
|
+
#define CONSTRAINT_CHECK 'c'
|
185
|
+
#define CONSTRAINT_FOREIGN 'f'
|
186
|
+
#define CONSTRAINT_NOTNULL 'n'
|
187
|
+
#define CONSTRAINT_PRIMARY 'p'
|
188
|
+
#define CONSTRAINT_UNIQUE 'u'
|
189
|
+
#define CONSTRAINT_TRIGGER 't'
|
190
|
+
#define CONSTRAINT_EXCLUSION 'x'
|
191
|
+
|
192
|
+
/*
|
193
|
+
* Valid values for confupdtype and confdeltype are the FKCONSTR_ACTION_xxx
|
194
|
+
* constants defined in parsenodes.h. Valid values for confmatchtype are
|
195
|
+
* the FKCONSTR_MATCH_xxx constants defined in parsenodes.h.
|
196
|
+
*/
|
197
|
+
|
198
|
+
#endif /* EXPOSE_TO_CLIENT_CODE */
|
199
|
+
|
200
|
+
/*
|
201
|
+
* Identify constraint type for lookup purposes
|
202
|
+
*/
|
203
|
+
typedef enum ConstraintCategory
|
204
|
+
{
|
205
|
+
CONSTRAINT_RELATION,
|
206
|
+
CONSTRAINT_DOMAIN,
|
207
|
+
CONSTRAINT_ASSERTION, /* for future expansion */
|
208
|
+
} ConstraintCategory;
|
209
|
+
|
210
|
+
|
211
|
+
extern Oid CreateConstraintEntry(const char *constraintName,
|
212
|
+
Oid constraintNamespace,
|
213
|
+
char constraintType,
|
214
|
+
bool isDeferrable,
|
215
|
+
bool isDeferred,
|
216
|
+
bool isValidated,
|
217
|
+
Oid parentConstrId,
|
218
|
+
Oid relId,
|
219
|
+
const int16 *constraintKey,
|
220
|
+
int constraintNKeys,
|
221
|
+
int constraintNTotalKeys,
|
222
|
+
Oid domainId,
|
223
|
+
Oid indexRelId,
|
224
|
+
Oid foreignRelId,
|
225
|
+
const int16 *foreignKey,
|
226
|
+
const Oid *pfEqOp,
|
227
|
+
const Oid *ppEqOp,
|
228
|
+
const Oid *ffEqOp,
|
229
|
+
int foreignNKeys,
|
230
|
+
char foreignUpdateType,
|
231
|
+
char foreignDeleteType,
|
232
|
+
const int16 *fkDeleteSetCols,
|
233
|
+
int numFkDeleteSetCols,
|
234
|
+
char foreignMatchType,
|
235
|
+
const Oid *exclOp,
|
236
|
+
Node *conExpr,
|
237
|
+
const char *conBin,
|
238
|
+
bool conIsLocal,
|
239
|
+
int conInhCount,
|
240
|
+
bool conNoInherit,
|
241
|
+
bool is_internal);
|
242
|
+
|
243
|
+
extern bool ConstraintNameIsUsed(ConstraintCategory conCat, Oid objId,
|
244
|
+
const char *conname);
|
245
|
+
extern bool ConstraintNameExists(const char *conname, Oid namespaceid);
|
246
|
+
extern char *ChooseConstraintName(const char *name1, const char *name2,
|
247
|
+
const char *label, Oid namespaceid,
|
248
|
+
List *others);
|
249
|
+
|
250
|
+
extern HeapTuple findDomainNotNullConstraint(Oid typid);
|
251
|
+
|
252
|
+
extern void RemoveConstraintById(Oid conId);
|
253
|
+
extern void RenameConstraintById(Oid conId, const char *newname);
|
254
|
+
|
255
|
+
extern void AlterConstraintNamespaces(Oid ownerId, Oid oldNspId,
|
256
|
+
Oid newNspId, bool isType, ObjectAddresses *objsMoved);
|
257
|
+
extern void ConstraintSetParentConstraint(Oid childConstrId,
|
258
|
+
Oid parentConstrId,
|
259
|
+
Oid childTableId);
|
260
|
+
extern Oid get_relation_constraint_oid(Oid relid, const char *conname, bool missing_ok);
|
261
|
+
extern Bitmapset *get_relation_constraint_attnos(Oid relid, const char *conname,
|
262
|
+
bool missing_ok, Oid *constraintOid);
|
263
|
+
extern Oid get_domain_constraint_oid(Oid typid, const char *conname, bool missing_ok);
|
264
|
+
extern Oid get_relation_idx_constraint_oid(Oid relationId, Oid indexId);
|
265
|
+
|
266
|
+
extern Bitmapset *get_primary_key_attnos(Oid relid, bool deferrableOk,
|
267
|
+
Oid *constraintOid);
|
268
|
+
extern void DeconstructFkConstraintRow(HeapTuple tuple, int *numfks,
|
269
|
+
AttrNumber *conkey, AttrNumber *confkey,
|
270
|
+
Oid *pf_eq_oprs, Oid *pp_eq_oprs, Oid *ff_eq_oprs,
|
271
|
+
int *num_fk_del_set_cols, AttrNumber *fk_del_set_cols);
|
272
|
+
|
273
|
+
extern bool check_functional_grouping(Oid relid,
|
274
|
+
Index varno, Index varlevelsup,
|
275
|
+
List *grouping_columns,
|
276
|
+
List **constraintDeps);
|
277
|
+
|
278
|
+
#endif /* PG_CONSTRAINT_H */
|
@@ -0,0 +1,74 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* pg_constraint_d.h
|
4
|
+
* Macro definitions for pg_constraint
|
5
|
+
*
|
6
|
+
* Portions Copyright (c) 1996-2024, 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_CONSTRAINT_D_H
|
19
|
+
#define PG_CONSTRAINT_D_H
|
20
|
+
|
21
|
+
#define ConstraintRelationId 2606
|
22
|
+
#define ConstraintNameNspIndexId 2664
|
23
|
+
#define ConstraintRelidTypidNameIndexId 2665
|
24
|
+
#define ConstraintTypidIndexId 2666
|
25
|
+
#define ConstraintOidIndexId 2667
|
26
|
+
#define ConstraintParentIndexId 2579
|
27
|
+
|
28
|
+
#define Anum_pg_constraint_oid 1
|
29
|
+
#define Anum_pg_constraint_conname 2
|
30
|
+
#define Anum_pg_constraint_connamespace 3
|
31
|
+
#define Anum_pg_constraint_contype 4
|
32
|
+
#define Anum_pg_constraint_condeferrable 5
|
33
|
+
#define Anum_pg_constraint_condeferred 6
|
34
|
+
#define Anum_pg_constraint_convalidated 7
|
35
|
+
#define Anum_pg_constraint_conrelid 8
|
36
|
+
#define Anum_pg_constraint_contypid 9
|
37
|
+
#define Anum_pg_constraint_conindid 10
|
38
|
+
#define Anum_pg_constraint_conparentid 11
|
39
|
+
#define Anum_pg_constraint_confrelid 12
|
40
|
+
#define Anum_pg_constraint_confupdtype 13
|
41
|
+
#define Anum_pg_constraint_confdeltype 14
|
42
|
+
#define Anum_pg_constraint_confmatchtype 15
|
43
|
+
#define Anum_pg_constraint_conislocal 16
|
44
|
+
#define Anum_pg_constraint_coninhcount 17
|
45
|
+
#define Anum_pg_constraint_connoinherit 18
|
46
|
+
#define Anum_pg_constraint_conkey 19
|
47
|
+
#define Anum_pg_constraint_confkey 20
|
48
|
+
#define Anum_pg_constraint_conpfeqop 21
|
49
|
+
#define Anum_pg_constraint_conppeqop 22
|
50
|
+
#define Anum_pg_constraint_conffeqop 23
|
51
|
+
#define Anum_pg_constraint_confdelsetcols 24
|
52
|
+
#define Anum_pg_constraint_conexclop 25
|
53
|
+
#define Anum_pg_constraint_conbin 26
|
54
|
+
|
55
|
+
#define Natts_pg_constraint 26
|
56
|
+
|
57
|
+
|
58
|
+
/* Valid values for contype */
|
59
|
+
#define CONSTRAINT_CHECK 'c'
|
60
|
+
#define CONSTRAINT_FOREIGN 'f'
|
61
|
+
#define CONSTRAINT_NOTNULL 'n'
|
62
|
+
#define CONSTRAINT_PRIMARY 'p'
|
63
|
+
#define CONSTRAINT_UNIQUE 'u'
|
64
|
+
#define CONSTRAINT_TRIGGER 't'
|
65
|
+
#define CONSTRAINT_EXCLUSION 'x'
|
66
|
+
|
67
|
+
/*
|
68
|
+
* Valid values for confupdtype and confdeltype are the FKCONSTR_ACTION_xxx
|
69
|
+
* constants defined in parsenodes.h. Valid values for confmatchtype are
|
70
|
+
* the FKCONSTR_MATCH_xxx constants defined in parsenodes.h.
|
71
|
+
*/
|
72
|
+
|
73
|
+
|
74
|
+
#endif /* PG_CONSTRAINT_D_H */
|
@@ -0,0 +1,260 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* pg_control.h
|
4
|
+
* The system control file "pg_control" is not a heap relation.
|
5
|
+
* However, we define it here so that the format is documented.
|
6
|
+
*
|
7
|
+
*
|
8
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
9
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
10
|
+
*
|
11
|
+
* src/include/catalog/pg_control.h
|
12
|
+
*
|
13
|
+
*-------------------------------------------------------------------------
|
14
|
+
*/
|
15
|
+
#ifndef PG_CONTROL_H
|
16
|
+
#define PG_CONTROL_H
|
17
|
+
|
18
|
+
#include "access/transam.h"
|
19
|
+
#include "access/xlogdefs.h"
|
20
|
+
#include "pgtime.h" /* for pg_time_t */
|
21
|
+
#include "port/pg_crc32c.h"
|
22
|
+
|
23
|
+
|
24
|
+
/* Version identifier for this pg_control format */
|
25
|
+
#define PG_CONTROL_VERSION 1700
|
26
|
+
|
27
|
+
/* Nonce key length, see below */
|
28
|
+
#define MOCK_AUTH_NONCE_LEN 32
|
29
|
+
|
30
|
+
/*
|
31
|
+
* Body of CheckPoint XLOG records. This is declared here because we keep
|
32
|
+
* a copy of the latest one in pg_control for possible disaster recovery.
|
33
|
+
* Changing this struct requires a PG_CONTROL_VERSION bump.
|
34
|
+
*/
|
35
|
+
typedef struct CheckPoint
|
36
|
+
{
|
37
|
+
XLogRecPtr redo; /* next RecPtr available when we began to
|
38
|
+
* create CheckPoint (i.e. REDO start point) */
|
39
|
+
TimeLineID ThisTimeLineID; /* current TLI */
|
40
|
+
TimeLineID PrevTimeLineID; /* previous TLI, if this record begins a new
|
41
|
+
* timeline (equals ThisTimeLineID otherwise) */
|
42
|
+
bool fullPageWrites; /* current full_page_writes */
|
43
|
+
int wal_level; /* current wal_level */
|
44
|
+
FullTransactionId nextXid; /* next free transaction ID */
|
45
|
+
Oid nextOid; /* next free OID */
|
46
|
+
MultiXactId nextMulti; /* next free MultiXactId */
|
47
|
+
MultiXactOffset nextMultiOffset; /* next free MultiXact offset */
|
48
|
+
TransactionId oldestXid; /* cluster-wide minimum datfrozenxid */
|
49
|
+
Oid oldestXidDB; /* database with minimum datfrozenxid */
|
50
|
+
MultiXactId oldestMulti; /* cluster-wide minimum datminmxid */
|
51
|
+
Oid oldestMultiDB; /* database with minimum datminmxid */
|
52
|
+
pg_time_t time; /* time stamp of checkpoint */
|
53
|
+
TransactionId oldestCommitTsXid; /* oldest Xid with valid commit
|
54
|
+
* timestamp */
|
55
|
+
TransactionId newestCommitTsXid; /* newest Xid with valid commit
|
56
|
+
* timestamp */
|
57
|
+
|
58
|
+
/*
|
59
|
+
* Oldest XID still running. This is only needed to initialize hot standby
|
60
|
+
* mode from an online checkpoint, so we only bother calculating this for
|
61
|
+
* online checkpoints and only when wal_level is replica. Otherwise it's
|
62
|
+
* set to InvalidTransactionId.
|
63
|
+
*/
|
64
|
+
TransactionId oldestActiveXid;
|
65
|
+
} CheckPoint;
|
66
|
+
|
67
|
+
/* XLOG info values for XLOG rmgr */
|
68
|
+
#define XLOG_CHECKPOINT_SHUTDOWN 0x00
|
69
|
+
#define XLOG_CHECKPOINT_ONLINE 0x10
|
70
|
+
#define XLOG_NOOP 0x20
|
71
|
+
#define XLOG_NEXTOID 0x30
|
72
|
+
#define XLOG_SWITCH 0x40
|
73
|
+
#define XLOG_BACKUP_END 0x50
|
74
|
+
#define XLOG_PARAMETER_CHANGE 0x60
|
75
|
+
#define XLOG_RESTORE_POINT 0x70
|
76
|
+
#define XLOG_FPW_CHANGE 0x80
|
77
|
+
#define XLOG_END_OF_RECOVERY 0x90
|
78
|
+
#define XLOG_FPI_FOR_HINT 0xA0
|
79
|
+
#define XLOG_FPI 0xB0
|
80
|
+
/* 0xC0 is used in Postgres 9.5-11 */
|
81
|
+
#define XLOG_OVERWRITE_CONTRECORD 0xD0
|
82
|
+
#define XLOG_CHECKPOINT_REDO 0xE0
|
83
|
+
|
84
|
+
|
85
|
+
/*
|
86
|
+
* System status indicator. Note this is stored in pg_control; if you change
|
87
|
+
* it, you must bump PG_CONTROL_VERSION
|
88
|
+
*/
|
89
|
+
typedef enum DBState
|
90
|
+
{
|
91
|
+
DB_STARTUP = 0,
|
92
|
+
DB_SHUTDOWNED,
|
93
|
+
DB_SHUTDOWNED_IN_RECOVERY,
|
94
|
+
DB_SHUTDOWNING,
|
95
|
+
DB_IN_CRASH_RECOVERY,
|
96
|
+
DB_IN_ARCHIVE_RECOVERY,
|
97
|
+
DB_IN_PRODUCTION,
|
98
|
+
} DBState;
|
99
|
+
|
100
|
+
/*
|
101
|
+
* Contents of pg_control.
|
102
|
+
*/
|
103
|
+
|
104
|
+
typedef struct ControlFileData
|
105
|
+
{
|
106
|
+
/*
|
107
|
+
* Unique system identifier --- to ensure we match up xlog files with the
|
108
|
+
* installation that produced them.
|
109
|
+
*/
|
110
|
+
uint64 system_identifier;
|
111
|
+
|
112
|
+
/*
|
113
|
+
* Version identifier information. Keep these fields at the same offset,
|
114
|
+
* especially pg_control_version; they won't be real useful if they move
|
115
|
+
* around. (For historical reasons they must be 8 bytes into the file
|
116
|
+
* rather than immediately at the front.)
|
117
|
+
*
|
118
|
+
* pg_control_version identifies the format of pg_control itself.
|
119
|
+
* catalog_version_no identifies the format of the system catalogs.
|
120
|
+
*
|
121
|
+
* There are additional version identifiers in individual files; for
|
122
|
+
* example, WAL logs contain per-page magic numbers that can serve as
|
123
|
+
* version cues for the WAL log.
|
124
|
+
*/
|
125
|
+
uint32 pg_control_version; /* PG_CONTROL_VERSION */
|
126
|
+
uint32 catalog_version_no; /* see catversion.h */
|
127
|
+
|
128
|
+
/*
|
129
|
+
* System status data
|
130
|
+
*/
|
131
|
+
DBState state; /* see enum above */
|
132
|
+
pg_time_t time; /* time stamp of last pg_control update */
|
133
|
+
XLogRecPtr checkPoint; /* last check point record ptr */
|
134
|
+
|
135
|
+
CheckPoint checkPointCopy; /* copy of last check point record */
|
136
|
+
|
137
|
+
XLogRecPtr unloggedLSN; /* current fake LSN value, for unlogged rels */
|
138
|
+
|
139
|
+
/*
|
140
|
+
* These two values determine the minimum point we must recover up to
|
141
|
+
* before starting up:
|
142
|
+
*
|
143
|
+
* minRecoveryPoint is updated to the latest replayed LSN whenever we
|
144
|
+
* flush a data change during archive recovery. That guards against
|
145
|
+
* starting archive recovery, aborting it, and restarting with an earlier
|
146
|
+
* stop location. If we've already flushed data changes from WAL record X
|
147
|
+
* to disk, we mustn't start up until we reach X again. Zero when not
|
148
|
+
* doing archive recovery.
|
149
|
+
*
|
150
|
+
* backupStartPoint is the redo pointer of the backup start checkpoint, if
|
151
|
+
* we are recovering from an online backup and haven't reached the end of
|
152
|
+
* backup yet. It is reset to zero when the end of backup is reached, and
|
153
|
+
* we mustn't start up before that. A boolean would suffice otherwise, but
|
154
|
+
* we use the redo pointer as a cross-check when we see an end-of-backup
|
155
|
+
* record, to make sure the end-of-backup record corresponds the base
|
156
|
+
* backup we're recovering from.
|
157
|
+
*
|
158
|
+
* backupEndPoint is the backup end location, if we are recovering from an
|
159
|
+
* online backup which was taken from the standby and haven't reached the
|
160
|
+
* end of backup yet. It is initialized to the minimum recovery point in
|
161
|
+
* pg_control which was backed up last. It is reset to zero when the end
|
162
|
+
* of backup is reached, and we mustn't start up before that.
|
163
|
+
*
|
164
|
+
* If backupEndRequired is true, we know for sure that we're restoring
|
165
|
+
* from a backup, and must see a backup-end record before we can safely
|
166
|
+
* start up.
|
167
|
+
*/
|
168
|
+
XLogRecPtr minRecoveryPoint;
|
169
|
+
TimeLineID minRecoveryPointTLI;
|
170
|
+
XLogRecPtr backupStartPoint;
|
171
|
+
XLogRecPtr backupEndPoint;
|
172
|
+
bool backupEndRequired;
|
173
|
+
|
174
|
+
/*
|
175
|
+
* Parameter settings that determine if the WAL can be used for archival
|
176
|
+
* or hot standby.
|
177
|
+
*/
|
178
|
+
int wal_level;
|
179
|
+
bool wal_log_hints;
|
180
|
+
int MaxConnections;
|
181
|
+
int max_worker_processes;
|
182
|
+
int max_wal_senders;
|
183
|
+
int max_prepared_xacts;
|
184
|
+
int max_locks_per_xact;
|
185
|
+
bool track_commit_timestamp;
|
186
|
+
|
187
|
+
/*
|
188
|
+
* This data is used to check for hardware-architecture compatibility of
|
189
|
+
* the database and the backend executable. We need not check endianness
|
190
|
+
* explicitly, since the pg_control version will surely look wrong to a
|
191
|
+
* machine of different endianness, but we do need to worry about MAXALIGN
|
192
|
+
* and floating-point format. (Note: storage layout nominally also
|
193
|
+
* depends on SHORTALIGN and INTALIGN, but in practice these are the same
|
194
|
+
* on all architectures of interest.)
|
195
|
+
*
|
196
|
+
* Testing just one double value is not a very bulletproof test for
|
197
|
+
* floating-point compatibility, but it will catch most cases.
|
198
|
+
*/
|
199
|
+
uint32 maxAlign; /* alignment requirement for tuples */
|
200
|
+
double floatFormat; /* constant 1234567.0 */
|
201
|
+
#define FLOATFORMAT_VALUE 1234567.0
|
202
|
+
|
203
|
+
/*
|
204
|
+
* This data is used to make sure that configuration of this database is
|
205
|
+
* compatible with the backend executable.
|
206
|
+
*/
|
207
|
+
uint32 blcksz; /* data block size for this DB */
|
208
|
+
uint32 relseg_size; /* blocks per segment of large relation */
|
209
|
+
|
210
|
+
uint32 xlog_blcksz; /* block size within WAL files */
|
211
|
+
uint32 xlog_seg_size; /* size of each WAL segment */
|
212
|
+
|
213
|
+
uint32 nameDataLen; /* catalog name field width */
|
214
|
+
uint32 indexMaxKeys; /* max number of columns in an index */
|
215
|
+
|
216
|
+
uint32 toast_max_chunk_size; /* chunk size in TOAST tables */
|
217
|
+
uint32 loblksize; /* chunk size in pg_largeobject */
|
218
|
+
|
219
|
+
bool float8ByVal; /* float8, int8, etc pass-by-value? */
|
220
|
+
|
221
|
+
/* Are data pages protected by checksums? Zero if no checksum version */
|
222
|
+
uint32 data_checksum_version;
|
223
|
+
|
224
|
+
/*
|
225
|
+
* Random nonce, used in authentication requests that need to proceed
|
226
|
+
* based on values that are cluster-unique, like a SASL exchange that
|
227
|
+
* failed at an early stage.
|
228
|
+
*/
|
229
|
+
char mock_authentication_nonce[MOCK_AUTH_NONCE_LEN];
|
230
|
+
|
231
|
+
/* CRC of all above ... MUST BE LAST! */
|
232
|
+
pg_crc32c crc;
|
233
|
+
} ControlFileData;
|
234
|
+
|
235
|
+
/*
|
236
|
+
* Maximum safe value of sizeof(ControlFileData). For reliability's sake,
|
237
|
+
* it's critical that pg_control updates be atomic writes. That generally
|
238
|
+
* means the active data can't be more than one disk sector, which is 512
|
239
|
+
* bytes on common hardware. Be very careful about raising this limit.
|
240
|
+
*/
|
241
|
+
#define PG_CONTROL_MAX_SAFE_SIZE 512
|
242
|
+
|
243
|
+
/*
|
244
|
+
* Physical size of the pg_control file. Note that this is considerably
|
245
|
+
* bigger than the actually used size (ie, sizeof(ControlFileData)).
|
246
|
+
* The idea is to keep the physical size constant independent of format
|
247
|
+
* changes, so that ReadControlFile will deliver a suitable wrong-version
|
248
|
+
* message instead of a read error if it's looking at an incompatible file.
|
249
|
+
*/
|
250
|
+
#define PG_CONTROL_FILE_SIZE 8192
|
251
|
+
|
252
|
+
/*
|
253
|
+
* Ensure that the size of the pg_control data structure is sane.
|
254
|
+
*/
|
255
|
+
StaticAssertDecl(sizeof(ControlFileData) <= PG_CONTROL_MAX_SAFE_SIZE,
|
256
|
+
"pg_control is too large for atomic disk writes");
|
257
|
+
StaticAssertDecl(sizeof(ControlFileData) <= PG_CONTROL_FILE_SIZE,
|
258
|
+
"sizeof(ControlFileData) exceeds PG_CONTROL_FILE_SIZE");
|
259
|
+
|
260
|
+
#endif /* PG_CONTROL_H */
|
@@ -0,0 +1,79 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* pg_conversion.h
|
4
|
+
* definition of the "conversion" system catalog (pg_conversion)
|
5
|
+
*
|
6
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
7
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
8
|
+
*
|
9
|
+
* src/include/catalog/pg_conversion.h
|
10
|
+
*
|
11
|
+
* NOTES
|
12
|
+
* The Catalog.pm module reads this file and derives schema
|
13
|
+
* information.
|
14
|
+
*
|
15
|
+
*-------------------------------------------------------------------------
|
16
|
+
*/
|
17
|
+
#ifndef PG_CONVERSION_H
|
18
|
+
#define PG_CONVERSION_H
|
19
|
+
|
20
|
+
#include "catalog/genbki.h"
|
21
|
+
#include "catalog/objectaddress.h"
|
22
|
+
#include "catalog/pg_conversion_d.h"
|
23
|
+
|
24
|
+
/* ----------------
|
25
|
+
* pg_conversion definition. cpp turns this into
|
26
|
+
* typedef struct FormData_pg_conversion
|
27
|
+
* ----------------
|
28
|
+
*/
|
29
|
+
CATALOG(pg_conversion,2607,ConversionRelationId)
|
30
|
+
{
|
31
|
+
/* oid */
|
32
|
+
Oid oid;
|
33
|
+
|
34
|
+
/* name of the conversion */
|
35
|
+
NameData conname;
|
36
|
+
|
37
|
+
/* namespace that the conversion belongs to */
|
38
|
+
Oid connamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
|
39
|
+
|
40
|
+
/* owner of the conversion */
|
41
|
+
Oid conowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
|
42
|
+
|
43
|
+
/* FOR encoding id */
|
44
|
+
int32 conforencoding BKI_LOOKUP(encoding);
|
45
|
+
|
46
|
+
/* TO encoding id */
|
47
|
+
int32 contoencoding BKI_LOOKUP(encoding);
|
48
|
+
|
49
|
+
/* OID of the conversion proc */
|
50
|
+
regproc conproc BKI_LOOKUP(pg_proc);
|
51
|
+
|
52
|
+
/* true if this is a default conversion */
|
53
|
+
bool condefault BKI_DEFAULT(t);
|
54
|
+
} FormData_pg_conversion;
|
55
|
+
|
56
|
+
/* ----------------
|
57
|
+
* Form_pg_conversion corresponds to a pointer to a tuple with
|
58
|
+
* the format of pg_conversion relation.
|
59
|
+
* ----------------
|
60
|
+
*/
|
61
|
+
typedef FormData_pg_conversion *Form_pg_conversion;
|
62
|
+
|
63
|
+
DECLARE_UNIQUE_INDEX(pg_conversion_default_index, 2668, ConversionDefaultIndexId, pg_conversion, btree(connamespace oid_ops, conforencoding int4_ops, contoencoding int4_ops, oid oid_ops));
|
64
|
+
DECLARE_UNIQUE_INDEX(pg_conversion_name_nsp_index, 2669, ConversionNameNspIndexId, pg_conversion, btree(conname name_ops, connamespace oid_ops));
|
65
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_conversion_oid_index, 2670, ConversionOidIndexId, pg_conversion, btree(oid oid_ops));
|
66
|
+
|
67
|
+
MAKE_SYSCACHE(CONDEFAULT, pg_conversion_default_index, 8);
|
68
|
+
MAKE_SYSCACHE(CONNAMENSP, pg_conversion_name_nsp_index, 8);
|
69
|
+
MAKE_SYSCACHE(CONVOID, pg_conversion_oid_index, 8);
|
70
|
+
|
71
|
+
|
72
|
+
extern ObjectAddress ConversionCreate(const char *conname, Oid connamespace,
|
73
|
+
Oid conowner,
|
74
|
+
int32 conforencoding, int32 contoencoding,
|
75
|
+
Oid conproc, bool def);
|
76
|
+
extern Oid FindDefaultConversion(Oid name_space, int32 for_encoding,
|
77
|
+
int32 to_encoding);
|
78
|
+
|
79
|
+
#endif /* PG_CONVERSION_H */
|