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,155 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* relcache.h
|
4
|
+
* Relation descriptor cache definitions.
|
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/utils/relcache.h
|
11
|
+
*
|
12
|
+
*-------------------------------------------------------------------------
|
13
|
+
*/
|
14
|
+
#ifndef RELCACHE_H
|
15
|
+
#define RELCACHE_H
|
16
|
+
|
17
|
+
#include "access/tupdesc.h"
|
18
|
+
#include "common/relpath.h"
|
19
|
+
#include "nodes/bitmapset.h"
|
20
|
+
|
21
|
+
|
22
|
+
/*
|
23
|
+
* Name of relcache init file(s), used to speed up backend startup
|
24
|
+
*/
|
25
|
+
#define RELCACHE_INIT_FILENAME "pg_internal.init"
|
26
|
+
|
27
|
+
typedef struct RelationData *Relation;
|
28
|
+
|
29
|
+
/* ----------------
|
30
|
+
* RelationPtr is used in the executor to support index scans
|
31
|
+
* where we have to keep track of several index relations in an
|
32
|
+
* array. -cim 9/10/89
|
33
|
+
* ----------------
|
34
|
+
*/
|
35
|
+
typedef Relation *RelationPtr;
|
36
|
+
|
37
|
+
/*
|
38
|
+
* Routines to open (lookup) and close a relcache entry
|
39
|
+
*/
|
40
|
+
extern Relation RelationIdGetRelation(Oid relationId);
|
41
|
+
extern void RelationClose(Relation relation);
|
42
|
+
|
43
|
+
/*
|
44
|
+
* Routines to compute/retrieve additional cached information
|
45
|
+
*/
|
46
|
+
extern List *RelationGetFKeyList(Relation relation);
|
47
|
+
extern List *RelationGetIndexList(Relation relation);
|
48
|
+
extern List *RelationGetStatExtList(Relation relation);
|
49
|
+
extern Oid RelationGetPrimaryKeyIndex(Relation relation);
|
50
|
+
extern Oid RelationGetReplicaIndex(Relation relation);
|
51
|
+
extern List *RelationGetIndexExpressions(Relation relation);
|
52
|
+
extern List *RelationGetDummyIndexExpressions(Relation relation);
|
53
|
+
extern List *RelationGetIndexPredicate(Relation relation);
|
54
|
+
extern bytea **RelationGetIndexAttOptions(Relation relation, bool copy);
|
55
|
+
|
56
|
+
/*
|
57
|
+
* Which set of columns to return by RelationGetIndexAttrBitmap.
|
58
|
+
*/
|
59
|
+
typedef enum IndexAttrBitmapKind
|
60
|
+
{
|
61
|
+
INDEX_ATTR_BITMAP_KEY,
|
62
|
+
INDEX_ATTR_BITMAP_PRIMARY_KEY,
|
63
|
+
INDEX_ATTR_BITMAP_IDENTITY_KEY,
|
64
|
+
INDEX_ATTR_BITMAP_HOT_BLOCKING,
|
65
|
+
INDEX_ATTR_BITMAP_SUMMARIZED,
|
66
|
+
} IndexAttrBitmapKind;
|
67
|
+
|
68
|
+
extern Bitmapset *RelationGetIndexAttrBitmap(Relation relation,
|
69
|
+
IndexAttrBitmapKind attrKind);
|
70
|
+
|
71
|
+
extern Bitmapset *RelationGetIdentityKeyBitmap(Relation relation);
|
72
|
+
|
73
|
+
extern void RelationGetExclusionInfo(Relation indexRelation,
|
74
|
+
Oid **operators,
|
75
|
+
Oid **procs,
|
76
|
+
uint16 **strategies);
|
77
|
+
|
78
|
+
extern void RelationInitIndexAccessInfo(Relation relation);
|
79
|
+
|
80
|
+
/* caller must include pg_publication.h */
|
81
|
+
struct PublicationDesc;
|
82
|
+
extern void RelationBuildPublicationDesc(Relation relation,
|
83
|
+
struct PublicationDesc *pubdesc);
|
84
|
+
|
85
|
+
extern void RelationInitTableAccessMethod(Relation relation);
|
86
|
+
|
87
|
+
/*
|
88
|
+
* Routines to support ereport() reports of relation-related errors
|
89
|
+
*/
|
90
|
+
extern int errtable(Relation rel);
|
91
|
+
extern int errtablecol(Relation rel, int attnum);
|
92
|
+
extern int errtablecolname(Relation rel, const char *colname);
|
93
|
+
extern int errtableconstraint(Relation rel, const char *conname);
|
94
|
+
|
95
|
+
/*
|
96
|
+
* Routines for backend startup
|
97
|
+
*/
|
98
|
+
extern void RelationCacheInitialize(void);
|
99
|
+
extern void RelationCacheInitializePhase2(void);
|
100
|
+
extern void RelationCacheInitializePhase3(void);
|
101
|
+
|
102
|
+
/*
|
103
|
+
* Routine to create a relcache entry for an about-to-be-created relation
|
104
|
+
*/
|
105
|
+
extern Relation RelationBuildLocalRelation(const char *relname,
|
106
|
+
Oid relnamespace,
|
107
|
+
TupleDesc tupDesc,
|
108
|
+
Oid relid,
|
109
|
+
Oid accessmtd,
|
110
|
+
RelFileNumber relfilenumber,
|
111
|
+
Oid reltablespace,
|
112
|
+
bool shared_relation,
|
113
|
+
bool mapped_relation,
|
114
|
+
char relpersistence,
|
115
|
+
char relkind);
|
116
|
+
|
117
|
+
/*
|
118
|
+
* Routines to manage assignment of new relfilenumber to a relation
|
119
|
+
*/
|
120
|
+
extern void RelationSetNewRelfilenumber(Relation relation, char persistence);
|
121
|
+
extern void RelationAssumeNewRelfilelocator(Relation relation);
|
122
|
+
|
123
|
+
/*
|
124
|
+
* Routines for flushing/rebuilding relcache entries in various scenarios
|
125
|
+
*/
|
126
|
+
extern void RelationForgetRelation(Oid rid);
|
127
|
+
|
128
|
+
extern void RelationCacheInvalidateEntry(Oid relationId);
|
129
|
+
|
130
|
+
extern void RelationCacheInvalidate(bool debug_discard);
|
131
|
+
|
132
|
+
#ifdef USE_ASSERT_CHECKING
|
133
|
+
extern void AssertPendingSyncs_RelationCache(void);
|
134
|
+
#else
|
135
|
+
#define AssertPendingSyncs_RelationCache() do {} while (0)
|
136
|
+
#endif
|
137
|
+
extern void AtEOXact_RelationCache(bool isCommit);
|
138
|
+
extern void AtEOSubXact_RelationCache(bool isCommit, SubTransactionId mySubid,
|
139
|
+
SubTransactionId parentSubid);
|
140
|
+
|
141
|
+
/*
|
142
|
+
* Routines to help manage rebuilding of relcache init files
|
143
|
+
*/
|
144
|
+
extern bool RelationIdIsInInitFile(Oid relationId);
|
145
|
+
extern void RelationCacheInitFilePreInvalidate(void);
|
146
|
+
extern void RelationCacheInitFilePostInvalidate(void);
|
147
|
+
extern void RelationCacheInitFileRemove(void);
|
148
|
+
|
149
|
+
/* should be used only by relcache.c and catcache.c */
|
150
|
+
extern PGDLLIMPORT bool criticalRelcachesBuilt;
|
151
|
+
|
152
|
+
/* should be used only by relcache.c and postinit.c */
|
153
|
+
extern PGDLLIMPORT bool criticalSharedRelcachesBuilt;
|
154
|
+
|
155
|
+
#endif /* RELCACHE_H */
|
@@ -0,0 +1,81 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* reltrigger.h
|
4
|
+
* POSTGRES relation trigger definitions.
|
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/utils/reltrigger.h
|
11
|
+
*
|
12
|
+
*-------------------------------------------------------------------------
|
13
|
+
*/
|
14
|
+
#ifndef RELTRIGGER_H
|
15
|
+
#define RELTRIGGER_H
|
16
|
+
|
17
|
+
|
18
|
+
/*
|
19
|
+
* These struct really belongs to trigger.h, but we put it separately so that
|
20
|
+
* it can be cleanly included in rel.h and other places.
|
21
|
+
*/
|
22
|
+
|
23
|
+
typedef struct Trigger
|
24
|
+
{
|
25
|
+
Oid tgoid; /* OID of trigger (pg_trigger row) */
|
26
|
+
/* Remaining fields are copied from pg_trigger, see pg_trigger.h */
|
27
|
+
char *tgname;
|
28
|
+
Oid tgfoid;
|
29
|
+
int16 tgtype;
|
30
|
+
char tgenabled;
|
31
|
+
bool tgisinternal;
|
32
|
+
bool tgisclone;
|
33
|
+
Oid tgconstrrelid;
|
34
|
+
Oid tgconstrindid;
|
35
|
+
Oid tgconstraint;
|
36
|
+
bool tgdeferrable;
|
37
|
+
bool tginitdeferred;
|
38
|
+
int16 tgnargs;
|
39
|
+
int16 tgnattr;
|
40
|
+
int16 *tgattr;
|
41
|
+
char **tgargs;
|
42
|
+
char *tgqual;
|
43
|
+
char *tgoldtable;
|
44
|
+
char *tgnewtable;
|
45
|
+
} Trigger;
|
46
|
+
|
47
|
+
typedef struct TriggerDesc
|
48
|
+
{
|
49
|
+
Trigger *triggers; /* array of Trigger structs */
|
50
|
+
int numtriggers; /* number of array entries */
|
51
|
+
|
52
|
+
/*
|
53
|
+
* These flags indicate whether the array contains at least one of each
|
54
|
+
* type of trigger. We use these to skip searching the array if not.
|
55
|
+
*/
|
56
|
+
bool trig_insert_before_row;
|
57
|
+
bool trig_insert_after_row;
|
58
|
+
bool trig_insert_instead_row;
|
59
|
+
bool trig_insert_before_statement;
|
60
|
+
bool trig_insert_after_statement;
|
61
|
+
bool trig_update_before_row;
|
62
|
+
bool trig_update_after_row;
|
63
|
+
bool trig_update_instead_row;
|
64
|
+
bool trig_update_before_statement;
|
65
|
+
bool trig_update_after_statement;
|
66
|
+
bool trig_delete_before_row;
|
67
|
+
bool trig_delete_after_row;
|
68
|
+
bool trig_delete_instead_row;
|
69
|
+
bool trig_delete_before_statement;
|
70
|
+
bool trig_delete_after_statement;
|
71
|
+
/* there are no row-level truncate triggers */
|
72
|
+
bool trig_truncate_before_statement;
|
73
|
+
bool trig_truncate_after_statement;
|
74
|
+
/* Is there at least one trigger specifying each transition relation? */
|
75
|
+
bool trig_insert_new_table;
|
76
|
+
bool trig_update_old_table;
|
77
|
+
bool trig_update_new_table;
|
78
|
+
bool trig_delete_old_table;
|
79
|
+
} TriggerDesc;
|
80
|
+
|
81
|
+
#endif /* RELTRIGGER_H */
|
@@ -0,0 +1,167 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* resowner.h
|
4
|
+
* POSTGRES resource owner definitions.
|
5
|
+
*
|
6
|
+
* Query-lifespan resources are tracked by associating them with
|
7
|
+
* ResourceOwner objects. This provides a simple mechanism for ensuring
|
8
|
+
* that such resources are freed at the right time.
|
9
|
+
* See utils/resowner/README for more info.
|
10
|
+
*
|
11
|
+
*
|
12
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
13
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
14
|
+
*
|
15
|
+
* src/include/utils/resowner.h
|
16
|
+
*
|
17
|
+
*-------------------------------------------------------------------------
|
18
|
+
*/
|
19
|
+
#ifndef RESOWNER_H
|
20
|
+
#define RESOWNER_H
|
21
|
+
|
22
|
+
|
23
|
+
/*
|
24
|
+
* ResourceOwner objects are an opaque data structure known only within
|
25
|
+
* resowner.c.
|
26
|
+
*/
|
27
|
+
typedef struct ResourceOwnerData *ResourceOwner;
|
28
|
+
|
29
|
+
|
30
|
+
/*
|
31
|
+
* Globally known ResourceOwners
|
32
|
+
*/
|
33
|
+
extern PGDLLIMPORT ResourceOwner CurrentResourceOwner;
|
34
|
+
extern PGDLLIMPORT ResourceOwner CurTransactionResourceOwner;
|
35
|
+
extern PGDLLIMPORT ResourceOwner TopTransactionResourceOwner;
|
36
|
+
extern PGDLLIMPORT ResourceOwner AuxProcessResourceOwner;
|
37
|
+
|
38
|
+
/*
|
39
|
+
* Resource releasing is done in three phases: pre-locks, locks, and
|
40
|
+
* post-locks. The pre-lock phase must release any resources that are visible
|
41
|
+
* to other backends (such as pinned buffers); this ensures that when we
|
42
|
+
* release a lock that another backend may be waiting on, it will see us as
|
43
|
+
* being fully out of our transaction. The post-lock phase should be used for
|
44
|
+
* backend-internal cleanup.
|
45
|
+
*
|
46
|
+
* Within each phase, resources are released in priority order. Priority is
|
47
|
+
* just an integer specified in ResourceOwnerDesc. The priorities of built-in
|
48
|
+
* resource types are given below, extensions may use any priority relative to
|
49
|
+
* those or RELEASE_PRIO_FIRST/LAST. RELEASE_PRIO_FIRST is a fine choice if
|
50
|
+
* your resource doesn't depend on any other resources.
|
51
|
+
*/
|
52
|
+
typedef enum
|
53
|
+
{
|
54
|
+
RESOURCE_RELEASE_BEFORE_LOCKS = 1,
|
55
|
+
RESOURCE_RELEASE_LOCKS,
|
56
|
+
RESOURCE_RELEASE_AFTER_LOCKS,
|
57
|
+
} ResourceReleasePhase;
|
58
|
+
|
59
|
+
typedef uint32 ResourceReleasePriority;
|
60
|
+
|
61
|
+
/* priorities of built-in BEFORE_LOCKS resources */
|
62
|
+
#define RELEASE_PRIO_BUFFER_IOS 100
|
63
|
+
#define RELEASE_PRIO_BUFFER_PINS 200
|
64
|
+
#define RELEASE_PRIO_RELCACHE_REFS 300
|
65
|
+
#define RELEASE_PRIO_DSMS 400
|
66
|
+
#define RELEASE_PRIO_JIT_CONTEXTS 500
|
67
|
+
#define RELEASE_PRIO_CRYPTOHASH_CONTEXTS 600
|
68
|
+
#define RELEASE_PRIO_HMAC_CONTEXTS 700
|
69
|
+
|
70
|
+
/* priorities of built-in AFTER_LOCKS resources */
|
71
|
+
#define RELEASE_PRIO_CATCACHE_REFS 100
|
72
|
+
#define RELEASE_PRIO_CATCACHE_LIST_REFS 200
|
73
|
+
#define RELEASE_PRIO_PLANCACHE_REFS 300
|
74
|
+
#define RELEASE_PRIO_TUPDESC_REFS 400
|
75
|
+
#define RELEASE_PRIO_SNAPSHOT_REFS 500
|
76
|
+
#define RELEASE_PRIO_FILES 600
|
77
|
+
#define RELEASE_PRIO_WAITEVENTSETS 700
|
78
|
+
|
79
|
+
/* 0 is considered invalid */
|
80
|
+
#define RELEASE_PRIO_FIRST 1
|
81
|
+
#define RELEASE_PRIO_LAST UINT32_MAX
|
82
|
+
|
83
|
+
/*
|
84
|
+
* In order to track an object, resowner.c needs a few callbacks for it.
|
85
|
+
* The callbacks for resources of a specific kind are encapsulated in
|
86
|
+
* ResourceOwnerDesc.
|
87
|
+
*
|
88
|
+
* Note that the callbacks occur post-commit or post-abort, so the callback
|
89
|
+
* functions can only do noncritical cleanup and must not fail.
|
90
|
+
*/
|
91
|
+
typedef struct ResourceOwnerDesc
|
92
|
+
{
|
93
|
+
const char *name; /* name for the object kind, for debugging */
|
94
|
+
|
95
|
+
/* when are these objects released? */
|
96
|
+
ResourceReleasePhase release_phase;
|
97
|
+
ResourceReleasePriority release_priority;
|
98
|
+
|
99
|
+
/*
|
100
|
+
* Release resource.
|
101
|
+
*
|
102
|
+
* This is called for each resource in the resource owner, in the order
|
103
|
+
* specified by 'release_phase' and 'release_priority' when the whole
|
104
|
+
* resource owner is been released or when ResourceOwnerReleaseAllOfKind()
|
105
|
+
* is called. The resource is implicitly removed from the owner, the
|
106
|
+
* callback function doesn't need to call ResourceOwnerForget.
|
107
|
+
*/
|
108
|
+
void (*ReleaseResource) (Datum res);
|
109
|
+
|
110
|
+
/*
|
111
|
+
* Format a string describing the resource, for debugging purposes. If a
|
112
|
+
* resource has not been properly released before commit, this is used to
|
113
|
+
* print a WARNING.
|
114
|
+
*
|
115
|
+
* This can be left to NULL, in which case a generic "[resource name]: %p"
|
116
|
+
* format is used.
|
117
|
+
*/
|
118
|
+
char *(*DebugPrint) (Datum res);
|
119
|
+
|
120
|
+
} ResourceOwnerDesc;
|
121
|
+
|
122
|
+
/*
|
123
|
+
* Dynamically loaded modules can get control during ResourceOwnerRelease
|
124
|
+
* by providing a callback of this form.
|
125
|
+
*/
|
126
|
+
typedef void (*ResourceReleaseCallback) (ResourceReleasePhase phase,
|
127
|
+
bool isCommit,
|
128
|
+
bool isTopLevel,
|
129
|
+
void *arg);
|
130
|
+
|
131
|
+
|
132
|
+
/*
|
133
|
+
* Functions in resowner.c
|
134
|
+
*/
|
135
|
+
|
136
|
+
/* generic routines */
|
137
|
+
extern ResourceOwner ResourceOwnerCreate(ResourceOwner parent,
|
138
|
+
const char *name);
|
139
|
+
extern void ResourceOwnerRelease(ResourceOwner owner,
|
140
|
+
ResourceReleasePhase phase,
|
141
|
+
bool isCommit,
|
142
|
+
bool isTopLevel);
|
143
|
+
extern void ResourceOwnerDelete(ResourceOwner owner);
|
144
|
+
extern ResourceOwner ResourceOwnerGetParent(ResourceOwner owner);
|
145
|
+
extern void ResourceOwnerNewParent(ResourceOwner owner,
|
146
|
+
ResourceOwner newparent);
|
147
|
+
|
148
|
+
extern void ResourceOwnerEnlarge(ResourceOwner owner);
|
149
|
+
extern void ResourceOwnerRemember(ResourceOwner owner, Datum value, const ResourceOwnerDesc *kind);
|
150
|
+
extern void ResourceOwnerForget(ResourceOwner owner, Datum value, const ResourceOwnerDesc *kind);
|
151
|
+
|
152
|
+
extern void ResourceOwnerReleaseAllOfKind(ResourceOwner owner, const ResourceOwnerDesc *kind);
|
153
|
+
|
154
|
+
extern void RegisterResourceReleaseCallback(ResourceReleaseCallback callback,
|
155
|
+
void *arg);
|
156
|
+
extern void UnregisterResourceReleaseCallback(ResourceReleaseCallback callback,
|
157
|
+
void *arg);
|
158
|
+
|
159
|
+
extern void CreateAuxProcessResourceOwner(void);
|
160
|
+
extern void ReleaseAuxProcessResources(bool isCommit);
|
161
|
+
|
162
|
+
/* special support for local lock management */
|
163
|
+
struct LOCALLOCK;
|
164
|
+
extern void ResourceOwnerRememberLock(ResourceOwner owner, struct LOCALLOCK *locallock);
|
165
|
+
extern void ResourceOwnerForgetLock(ResourceOwner owner, struct LOCALLOCK *locallock);
|
166
|
+
|
167
|
+
#endif /* RESOWNER_H */
|
@@ -0,0 +1,52 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* ruleutils.h
|
4
|
+
* Declarations for ruleutils.c
|
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/utils/ruleutils.h
|
10
|
+
*
|
11
|
+
*-------------------------------------------------------------------------
|
12
|
+
*/
|
13
|
+
#ifndef RULEUTILS_H
|
14
|
+
#define RULEUTILS_H
|
15
|
+
|
16
|
+
#include "nodes/nodes.h"
|
17
|
+
#include "nodes/parsenodes.h"
|
18
|
+
#include "nodes/pg_list.h"
|
19
|
+
|
20
|
+
struct Plan; /* avoid including plannodes.h here */
|
21
|
+
struct PlannedStmt;
|
22
|
+
|
23
|
+
/* Flags for pg_get_indexdef_columns_extended() */
|
24
|
+
#define RULE_INDEXDEF_PRETTY 0x01
|
25
|
+
#define RULE_INDEXDEF_KEYS_ONLY 0x02 /* ignore included attributes */
|
26
|
+
|
27
|
+
extern char *pg_get_indexdef_string(Oid indexrelid);
|
28
|
+
extern char *pg_get_indexdef_columns(Oid indexrelid, bool pretty);
|
29
|
+
extern char *pg_get_indexdef_columns_extended(Oid indexrelid,
|
30
|
+
bits16 flags);
|
31
|
+
extern char *pg_get_querydef(Query *query, bool pretty);
|
32
|
+
|
33
|
+
extern char *pg_get_partkeydef_columns(Oid relid, bool pretty);
|
34
|
+
extern char *pg_get_partconstrdef_string(Oid partitionId, char *aliasname);
|
35
|
+
|
36
|
+
extern char *pg_get_constraintdef_command(Oid constraintId);
|
37
|
+
extern char *deparse_expression(Node *expr, List *dpcontext,
|
38
|
+
bool forceprefix, bool showimplicit);
|
39
|
+
extern List *deparse_context_for(const char *aliasname, Oid relid);
|
40
|
+
extern List *deparse_context_for_plan_tree(struct PlannedStmt *pstmt,
|
41
|
+
List *rtable_names);
|
42
|
+
extern List *set_deparse_context_plan(List *dpcontext,
|
43
|
+
struct Plan *plan, List *ancestors);
|
44
|
+
extern List *select_rtable_names_for_explain(List *rtable,
|
45
|
+
Bitmapset *rels_used);
|
46
|
+
extern char *generate_collation_name(Oid collid);
|
47
|
+
extern char *generate_opclass_name(Oid opclass);
|
48
|
+
extern char *get_range_partbound_string(List *bound_datums);
|
49
|
+
|
50
|
+
extern char *pg_get_statisticsobjdef_string(Oid statextid);
|
51
|
+
|
52
|
+
#endif /* RULEUTILS_H */
|
@@ -0,0 +1,61 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* sharedtuplestore.h
|
4
|
+
* Simple mechanism for sharing tuples between backends.
|
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/utils/sharedtuplestore.h
|
10
|
+
*
|
11
|
+
*-------------------------------------------------------------------------
|
12
|
+
*/
|
13
|
+
#ifndef SHAREDTUPLESTORE_H
|
14
|
+
#define SHAREDTUPLESTORE_H
|
15
|
+
|
16
|
+
#include "access/htup.h"
|
17
|
+
#include "storage/fd.h"
|
18
|
+
#include "storage/sharedfileset.h"
|
19
|
+
|
20
|
+
struct SharedTuplestore;
|
21
|
+
typedef struct SharedTuplestore SharedTuplestore;
|
22
|
+
|
23
|
+
struct SharedTuplestoreAccessor;
|
24
|
+
typedef struct SharedTuplestoreAccessor SharedTuplestoreAccessor;
|
25
|
+
|
26
|
+
/*
|
27
|
+
* A flag indicating that the tuplestore will only be scanned once, so backing
|
28
|
+
* files can be unlinked early.
|
29
|
+
*/
|
30
|
+
#define SHARED_TUPLESTORE_SINGLE_PASS 0x01
|
31
|
+
|
32
|
+
extern size_t sts_estimate(int participants);
|
33
|
+
|
34
|
+
extern SharedTuplestoreAccessor *sts_initialize(SharedTuplestore *sts,
|
35
|
+
int participants,
|
36
|
+
int my_participant_number,
|
37
|
+
size_t meta_data_size,
|
38
|
+
int flags,
|
39
|
+
SharedFileSet *fileset,
|
40
|
+
const char *name);
|
41
|
+
|
42
|
+
extern SharedTuplestoreAccessor *sts_attach(SharedTuplestore *sts,
|
43
|
+
int my_participant_number,
|
44
|
+
SharedFileSet *fileset);
|
45
|
+
|
46
|
+
extern void sts_end_write(SharedTuplestoreAccessor *accessor);
|
47
|
+
|
48
|
+
extern void sts_reinitialize(SharedTuplestoreAccessor *accessor);
|
49
|
+
|
50
|
+
extern void sts_begin_parallel_scan(SharedTuplestoreAccessor *accessor);
|
51
|
+
|
52
|
+
extern void sts_end_parallel_scan(SharedTuplestoreAccessor *accessor);
|
53
|
+
|
54
|
+
extern void sts_puttuple(SharedTuplestoreAccessor *accessor,
|
55
|
+
void *meta_data,
|
56
|
+
MinimalTuple tuple);
|
57
|
+
|
58
|
+
extern MinimalTuple sts_parallel_scan_next(SharedTuplestoreAccessor *accessor,
|
59
|
+
void *meta_data);
|
60
|
+
|
61
|
+
#endif /* SHAREDTUPLESTORE_H */
|
@@ -0,0 +1,130 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* snapmgr.h
|
4
|
+
* POSTGRES snapshot manager
|
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/utils/snapmgr.h
|
10
|
+
*
|
11
|
+
*-------------------------------------------------------------------------
|
12
|
+
*/
|
13
|
+
#ifndef SNAPMGR_H
|
14
|
+
#define SNAPMGR_H
|
15
|
+
|
16
|
+
#include "access/transam.h"
|
17
|
+
#include "utils/relcache.h"
|
18
|
+
#include "utils/resowner.h"
|
19
|
+
#include "utils/snapshot.h"
|
20
|
+
|
21
|
+
|
22
|
+
extern PGDLLIMPORT bool FirstSnapshotSet;
|
23
|
+
|
24
|
+
extern PGDLLIMPORT TransactionId TransactionXmin;
|
25
|
+
extern PGDLLIMPORT TransactionId RecentXmin;
|
26
|
+
|
27
|
+
/* Variables representing various special snapshot semantics */
|
28
|
+
extern PGDLLIMPORT SnapshotData SnapshotSelfData;
|
29
|
+
extern PGDLLIMPORT SnapshotData SnapshotAnyData;
|
30
|
+
extern PGDLLIMPORT SnapshotData CatalogSnapshotData;
|
31
|
+
|
32
|
+
#define SnapshotSelf (&SnapshotSelfData)
|
33
|
+
#define SnapshotAny (&SnapshotAnyData)
|
34
|
+
|
35
|
+
/*
|
36
|
+
* We don't provide a static SnapshotDirty variable because it would be
|
37
|
+
* non-reentrant. Instead, users of that snapshot type should declare a
|
38
|
+
* local variable of type SnapshotData, and initialize it with this macro.
|
39
|
+
*/
|
40
|
+
#define InitDirtySnapshot(snapshotdata) \
|
41
|
+
((snapshotdata).snapshot_type = SNAPSHOT_DIRTY)
|
42
|
+
|
43
|
+
/*
|
44
|
+
* Similarly, some initialization is required for a NonVacuumable snapshot.
|
45
|
+
* The caller must supply the visibility cutoff state to use (c.f.
|
46
|
+
* GlobalVisTestFor()).
|
47
|
+
*/
|
48
|
+
#define InitNonVacuumableSnapshot(snapshotdata, vistestp) \
|
49
|
+
((snapshotdata).snapshot_type = SNAPSHOT_NON_VACUUMABLE, \
|
50
|
+
(snapshotdata).vistest = (vistestp))
|
51
|
+
|
52
|
+
/*
|
53
|
+
* Similarly, some initialization is required for SnapshotToast. We need
|
54
|
+
* to set lsn and whenTaken correctly to support snapshot_too_old.
|
55
|
+
*/
|
56
|
+
#define InitToastSnapshot(snapshotdata, l, w) \
|
57
|
+
((snapshotdata).snapshot_type = SNAPSHOT_TOAST, \
|
58
|
+
(snapshotdata).lsn = (l), \
|
59
|
+
(snapshotdata).whenTaken = (w))
|
60
|
+
|
61
|
+
/* This macro encodes the knowledge of which snapshots are MVCC-safe */
|
62
|
+
#define IsMVCCSnapshot(snapshot) \
|
63
|
+
((snapshot)->snapshot_type == SNAPSHOT_MVCC || \
|
64
|
+
(snapshot)->snapshot_type == SNAPSHOT_HISTORIC_MVCC)
|
65
|
+
|
66
|
+
extern Snapshot GetTransactionSnapshot(void);
|
67
|
+
extern Snapshot GetLatestSnapshot(void);
|
68
|
+
extern void SnapshotSetCommandId(CommandId curcid);
|
69
|
+
extern Snapshot GetOldestSnapshot(void);
|
70
|
+
|
71
|
+
extern Snapshot GetCatalogSnapshot(Oid relid);
|
72
|
+
extern Snapshot GetNonHistoricCatalogSnapshot(Oid relid);
|
73
|
+
extern void InvalidateCatalogSnapshot(void);
|
74
|
+
extern void InvalidateCatalogSnapshotConditionally(void);
|
75
|
+
|
76
|
+
extern void PushActiveSnapshot(Snapshot snapshot);
|
77
|
+
extern void PushActiveSnapshotWithLevel(Snapshot snapshot, int snap_level);
|
78
|
+
extern void PushCopiedSnapshot(Snapshot snapshot);
|
79
|
+
extern void UpdateActiveSnapshotCommandId(void);
|
80
|
+
extern void PopActiveSnapshot(void);
|
81
|
+
extern Snapshot GetActiveSnapshot(void);
|
82
|
+
extern bool ActiveSnapshotSet(void);
|
83
|
+
|
84
|
+
extern Snapshot RegisterSnapshot(Snapshot snapshot);
|
85
|
+
extern void UnregisterSnapshot(Snapshot snapshot);
|
86
|
+
extern Snapshot RegisterSnapshotOnOwner(Snapshot snapshot, ResourceOwner owner);
|
87
|
+
extern void UnregisterSnapshotFromOwner(Snapshot snapshot, ResourceOwner owner);
|
88
|
+
|
89
|
+
extern void AtSubCommit_Snapshot(int level);
|
90
|
+
extern void AtSubAbort_Snapshot(int level);
|
91
|
+
extern void AtEOXact_Snapshot(bool isCommit, bool resetXmin);
|
92
|
+
|
93
|
+
extern void ImportSnapshot(const char *idstr);
|
94
|
+
extern bool XactHasExportedSnapshots(void);
|
95
|
+
extern void DeleteAllExportedSnapshotFiles(void);
|
96
|
+
extern void WaitForOlderSnapshots(TransactionId limitXmin, bool progress);
|
97
|
+
extern bool ThereAreNoPriorRegisteredSnapshots(void);
|
98
|
+
extern bool HaveRegisteredOrActiveSnapshot(void);
|
99
|
+
|
100
|
+
extern char *ExportSnapshot(Snapshot snapshot);
|
101
|
+
|
102
|
+
/*
|
103
|
+
* These live in procarray.c because they're intimately linked to the
|
104
|
+
* procarray contents, but thematically they better fit into snapmgr.h.
|
105
|
+
*/
|
106
|
+
typedef struct GlobalVisState GlobalVisState;
|
107
|
+
extern GlobalVisState *GlobalVisTestFor(Relation rel);
|
108
|
+
extern bool GlobalVisTestIsRemovableXid(GlobalVisState *state, TransactionId xid);
|
109
|
+
extern bool GlobalVisTestIsRemovableFullXid(GlobalVisState *state, FullTransactionId fxid);
|
110
|
+
extern bool GlobalVisCheckRemovableXid(Relation rel, TransactionId xid);
|
111
|
+
extern bool GlobalVisCheckRemovableFullXid(Relation rel, FullTransactionId fxid);
|
112
|
+
|
113
|
+
/*
|
114
|
+
* Utility functions for implementing visibility routines in table AMs.
|
115
|
+
*/
|
116
|
+
extern bool XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot);
|
117
|
+
|
118
|
+
/* Support for catalog timetravel for logical decoding */
|
119
|
+
struct HTAB;
|
120
|
+
extern struct HTAB *HistoricSnapshotGetTupleCids(void);
|
121
|
+
extern void SetupHistoricSnapshot(Snapshot historic_snapshot, struct HTAB *tuplecids);
|
122
|
+
extern void TeardownHistoricSnapshot(bool is_error);
|
123
|
+
extern bool HistoricSnapshotActive(void);
|
124
|
+
|
125
|
+
extern Size EstimateSnapshotSpace(Snapshot snapshot);
|
126
|
+
extern void SerializeSnapshot(Snapshot snapshot, char *start_address);
|
127
|
+
extern Snapshot RestoreSnapshot(char *start_address);
|
128
|
+
extern void RestoreTransactionSnapshot(Snapshot snapshot, void *source_pgproc);
|
129
|
+
|
130
|
+
#endif /* SNAPMGR_H */
|