pg_query 4.2.1 → 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 +61 -0
- data/README.md +7 -9
- 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 +28 -3
- data/ext/pg_query/include/pg_query_enum_defs.c +599 -167
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +640 -520
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +6400 -4633
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +433 -343
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +1472 -1152
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +154 -124
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +1886 -1506
- 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/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 +7723 -6368
- data/ext/pg_query/include/protobuf/pg_query.pb.h +120022 -87031
- data/ext/pg_query/pg_query.c +10 -1
- data/ext/pg_query/pg_query.pb-c.c +22595 -17738
- data/ext/pg_query/pg_query_deparse.c +1 -10635
- data/ext/pg_query/pg_query_fingerprint.c +12 -8
- 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 -0
- data/ext/pg_query/pg_query_normalize.c +43 -2
- data/ext/pg_query/pg_query_outfuncs_json.c +9 -1
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +3 -2
- 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 +3 -2
- data/ext/pg_query/pg_query_ruby.c +5 -0
- data/ext/pg_query/pg_query_scan.c +2 -2
- data/ext/pg_query/pg_query_split.c +3 -3
- 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 +243 -63
- data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -3
- data/ext/pg_query/src_backend_commands_define.c +2 -3
- data/ext/pg_query/src_backend_nodes_bitmapset.c +140 -156
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +96 -6202
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +95 -4068
- data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
- data/ext/pg_query/src_backend_nodes_list.c +16 -8
- data/ext/pg_query/src_backend_nodes_makefuncs.c +134 -1
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +391 -133
- data/ext/pg_query/src_backend_nodes_value.c +1 -1
- data/ext/pg_query/src_backend_parser_gram.c +43710 -39953
- data/ext/pg_query/src_backend_parser_parser.c +34 -8
- data/ext/pg_query/src_backend_parser_scan.c +6971 -3373
- data/ext/pg_query/src_backend_parser_scansup.c +2 -1
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
- data/ext/pg_query/src_backend_tcop_postgres.c +99 -96
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +2 -2
- data/ext/pg_query/src_backend_utils_adt_datum.c +2 -2
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_numutils.c +488 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +177 -30
- data/ext/pg_query/src_backend_utils_error_assert.c +4 -7
- data/ext/pg_query/src_backend_utils_error_elog.c +397 -270
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +36 -2
- data/ext/pg_query/src_backend_utils_init_globals.c +20 -5
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +31 -84
- 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 +704 -497
- 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 +637 -233
- 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 +1 -1
- data/ext/pg_query/src_common_keywords.c +1 -1
- data/ext/pg_query/src_common_kwlist_d.h +586 -517
- 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 +100 -116
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +99 -5
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +829 -763
- 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 +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +19 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +48 -46
- data/ext/pg_query/src_port_pg_bitutils.c +251 -32
- data/ext/pg_query/src_port_pgstrcasecmp.c +57 -1
- data/ext/pg_query/src_port_snprintf.c +20 -27
- data/ext/pg_query/src_port_strerror.c +1 -3
- data/ext/pg_query/src_port_strlcpy.c +79 -0
- data/lib/pg_query/fingerprint.rb +5 -8
- data/lib/pg_query/node.rb +16 -11
- data/lib/pg_query/param_refs.rb +2 -2
- data/lib/pg_query/parse.rb +6 -8
- data/lib/pg_query/parse_error.rb +1 -0
- data/lib/pg_query/pg_query_pb.rb +173 -3196
- data/lib/pg_query/scan.rb +1 -0
- data/lib/pg_query/treewalker.rb +52 -11
- data/lib/pg_query/truncate.rb +18 -20
- data/lib/pg_query/version.rb +1 -1
- metadata +443 -442
- data/ext/pg_query/guc-file.c +0 -0
- data/ext/pg_query/include/access/amapi.h +0 -290
- 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 -63
- data/ext/pg_query/include/access/commit_ts.h +0 -74
- data/ext/pg_query/include/access/detoast.h +0 -82
- data/ext/pg_query/include/access/genam.h +0 -231
- 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 -807
- data/ext/pg_query/include/access/itup.h +0 -167
- 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 -191
- 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 -85
- data/ext/pg_query/include/access/sysattr.h +0 -29
- data/ext/pg_query/include/access/table.h +0 -28
- data/ext/pg_query/include/access/tableam.h +0 -2077
- data/ext/pg_query/include/access/toast_compression.h +0 -73
- data/ext/pg_query/include/access/transam.h +0 -375
- 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 -65
- data/ext/pg_query/include/access/xact.h +0 -523
- data/ext/pg_query/include/access/xlog.h +0 -303
- data/ext/pg_query/include/access/xlog_internal.h +0 -366
- data/ext/pg_query/include/access/xlogdefs.h +0 -101
- data/ext/pg_query/include/access/xlogprefetcher.h +0 -55
- data/ext/pg_query/include/access/xlogreader.h +0 -443
- data/ext/pg_query/include/access/xlogrecord.h +0 -236
- data/ext/pg_query/include/access/xlogrecovery.h +0 -157
- data/ext/pg_query/include/c.h +0 -1391
- data/ext/pg_query/include/catalog/catalog.h +0 -44
- data/ext/pg_query/include/catalog/catversion.h +0 -58
- data/ext/pg_query/include/catalog/dependency.h +0 -269
- data/ext/pg_query/include/catalog/genbki.h +0 -142
- data/ext/pg_query/include/catalog/index.h +0 -214
- data/ext/pg_query/include/catalog/indexing.h +0 -54
- data/ext/pg_query/include/catalog/namespace.h +0 -190
- data/ext/pg_query/include/catalog/objectaccess.h +0 -265
- data/ext/pg_query/include/catalog/objectaddress.h +0 -89
- data/ext/pg_query/include/catalog/pg_aggregate.h +0 -180
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +0 -78
- data/ext/pg_query/include/catalog/pg_am.h +0 -63
- data/ext/pg_query/include/catalog/pg_am_d.h +0 -47
- data/ext/pg_query/include/catalog/pg_attribute.h +0 -221
- data/ext/pg_query/include/catalog/pg_attribute_d.h +0 -62
- data/ext/pg_query/include/catalog/pg_authid.h +0 -63
- data/ext/pg_query/include/catalog/pg_authid_d.h +0 -57
- data/ext/pg_query/include/catalog/pg_class.h +0 -230
- data/ext/pg_query/include/catalog/pg_class_d.h +0 -132
- data/ext/pg_query/include/catalog/pg_collation.h +0 -98
- data/ext/pg_query/include/catalog/pg_collation_d.h +0 -62
- data/ext/pg_query/include/catalog/pg_constraint.h +0 -273
- data/ext/pg_query/include/catalog/pg_constraint_d.h +0 -73
- data/ext/pg_query/include/catalog/pg_control.h +0 -250
- data/ext/pg_query/include/catalog/pg_conversion.h +0 -75
- data/ext/pg_query/include/catalog/pg_conversion_d.h +0 -38
- data/ext/pg_query/include/catalog/pg_depend.h +0 -77
- data/ext/pg_query/include/catalog/pg_depend_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_event_trigger.h +0 -57
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_index.h +0 -90
- data/ext/pg_query/include/catalog/pg_index_d.h +0 -59
- data/ext/pg_query/include/catalog/pg_language.h +0 -72
- data/ext/pg_query/include/catalog/pg_language_d.h +0 -41
- data/ext/pg_query/include/catalog/pg_namespace.h +0 -64
- data/ext/pg_query/include/catalog/pg_namespace_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_opclass.h +0 -88
- data/ext/pg_query/include/catalog/pg_opclass_d.h +0 -51
- data/ext/pg_query/include/catalog/pg_operator.h +0 -107
- data/ext/pg_query/include/catalog/pg_operator_d.h +0 -142
- data/ext/pg_query/include/catalog/pg_opfamily.h +0 -63
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +0 -49
- data/ext/pg_query/include/catalog/pg_parameter_acl.h +0 -60
- data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +0 -74
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_proc.h +0 -220
- data/ext/pg_query/include/catalog/pg_proc_d.h +0 -101
- data/ext/pg_query/include/catalog/pg_publication.h +0 -161
- data/ext/pg_query/include/catalog/pg_publication_d.h +0 -38
- data/ext/pg_query/include/catalog/pg_replication_origin.h +0 -62
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +0 -33
- data/ext/pg_query/include/catalog/pg_statistic.h +0 -282
- data/ext/pg_query/include/catalog/pg_statistic_d.h +0 -195
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +0 -88
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +0 -45
- data/ext/pg_query/include/catalog/pg_transform.h +0 -48
- data/ext/pg_query/include/catalog/pg_transform_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_trigger.h +0 -153
- data/ext/pg_query/include/catalog/pg_trigger_d.h +0 -109
- data/ext/pg_query/include/catalog/pg_ts_config.h +0 -53
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_ts_dict.h +0 -59
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_ts_parser.h +0 -60
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +0 -37
- data/ext/pg_query/include/catalog/pg_ts_template.h +0 -51
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_type.h +0 -404
- data/ext/pg_query/include/catalog/pg_type_d.h +0 -324
- data/ext/pg_query/include/catalog/storage.h +0 -50
- data/ext/pg_query/include/commands/async.h +0 -53
- data/ext/pg_query/include/commands/dbcommands.h +0 -36
- data/ext/pg_query/include/commands/defrem.h +0 -160
- 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 -287
- data/ext/pg_query/include/commands/user.h +0 -37
- data/ext/pg_query/include/commands/vacuum.h +0 -340
- 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 -31
- data/ext/pg_query/include/common/keywords.h +0 -29
- data/ext/pg_query/include/common/kwlookup.h +0 -44
- data/ext/pg_query/include/common/pg_prng.h +0 -60
- data/ext/pg_query/include/common/relpath.h +0 -90
- data/ext/pg_query/include/common/string.h +0 -42
- data/ext/pg_query/include/common/unicode_combining_table.h +0 -308
- data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +0 -125
- data/ext/pg_query/include/datatype/timestamp.h +0 -236
- data/ext/pg_query/include/executor/execdesc.h +0 -70
- data/ext/pg_query/include/executor/executor.h +0 -663
- data/ext/pg_query/include/executor/functions.h +0 -55
- data/ext/pg_query/include/executor/instrument.h +0 -118
- data/ext/pg_query/include/executor/spi.h +0 -213
- 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 -781
- data/ext/pg_query/include/funcapi.h +0 -360
- 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 -1095
- data/ext/pg_query/include/lib/dshash.h +0 -112
- data/ext/pg_query/include/lib/ilist.h +0 -746
- data/ext/pg_query/include/lib/pairingheap.h +0 -102
- data/ext/pg_query/include/lib/simplehash.h +0 -1184
- data/ext/pg_query/include/lib/sort_template.h +0 -432
- data/ext/pg_query/include/lib/stringinfo.h +0 -161
- data/ext/pg_query/include/libpq/auth.h +0 -31
- data/ext/pg_query/include/libpq/crypt.h +0 -47
- data/ext/pg_query/include/libpq/hba.h +0 -179
- data/ext/pg_query/include/libpq/libpq-be.h +0 -343
- data/ext/pg_query/include/libpq/libpq.h +0 -144
- data/ext/pg_query/include/libpq/pqcomm.h +0 -194
- 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 -755
- data/ext/pg_query/include/mb/stringinfo_mb.h +0 -24
- data/ext/pg_query/include/miscadmin.h +0 -495
- data/ext/pg_query/include/nodes/bitmapset.h +0 -122
- data/ext/pg_query/include/nodes/execnodes.h +0 -2715
- data/ext/pg_query/include/nodes/extensible.h +0 -162
- data/ext/pg_query/include/nodes/lockoptions.h +0 -61
- data/ext/pg_query/include/nodes/makefuncs.h +0 -109
- data/ext/pg_query/include/nodes/memnodes.h +0 -110
- data/ext/pg_query/include/nodes/nodeFuncs.h +0 -162
- data/ext/pg_query/include/nodes/nodes.h +0 -861
- data/ext/pg_query/include/nodes/params.h +0 -170
- data/ext/pg_query/include/nodes/parsenodes.h +0 -3812
- data/ext/pg_query/include/nodes/pathnodes.h +0 -2734
- data/ext/pg_query/include/nodes/pg_list.h +0 -612
- data/ext/pg_query/include/nodes/plannodes.h +0 -1349
- data/ext/pg_query/include/nodes/primnodes.h +0 -1593
- 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 -80
- data/ext/pg_query/include/optimizer/cost.h +0 -213
- data/ext/pg_query/include/optimizer/geqo.h +0 -90
- data/ext/pg_query/include/optimizer/geqo_gene.h +0 -45
- data/ext/pg_query/include/optimizer/optimizer.h +0 -202
- data/ext/pg_query/include/optimizer/paths.h +0 -257
- data/ext/pg_query/include/optimizer/planmain.h +0 -120
- data/ext/pg_query/include/parser/analyze.h +0 -63
- data/ext/pg_query/include/parser/gram.h +0 -1101
- data/ext/pg_query/include/parser/gramparse.h +0 -75
- data/ext/pg_query/include/parser/kwlist.h +0 -487
- data/ext/pg_query/include/parser/parse_agg.h +0 -63
- data/ext/pg_query/include/parser/parse_coerce.h +0 -100
- data/ext/pg_query/include/parser/parse_expr.h +0 -25
- data/ext/pg_query/include/parser/parse_func.h +0 -74
- data/ext/pg_query/include/parser/parse_node.h +0 -339
- data/ext/pg_query/include/parser/parse_oper.h +0 -65
- data/ext/pg_query/include/parser/parse_relation.h +0 -124
- data/ext/pg_query/include/parser/parse_type.h +0 -60
- data/ext/pg_query/include/parser/parser.h +0 -68
- 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 -27
- data/ext/pg_query/include/partitioning/partdefs.h +0 -26
- data/ext/pg_query/include/pg_config.h +0 -1037
- data/ext/pg_query/include/pg_config_manual.h +0 -410
- 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 -699
- data/ext/pg_query/include/pgtime.h +0 -94
- data/ext/pg_query/include/pl_gram.h +0 -383
- 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 -111
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +0 -244
- data/ext/pg_query/include/plerrcodes.h +0 -998
- data/ext/pg_query/include/plpgsql.h +0 -1345
- data/ext/pg_query/include/port/atomics/arch-arm.h +0 -32
- 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 -302
- 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 -553
- data/ext/pg_query/include/portability/instr_time.h +0 -256
- data/ext/pg_query/include/postgres.h +0 -808
- 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/auxprocess.h +0 -20
- data/ext/pg_query/include/postmaster/bgworker.h +0 -162
- 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 -73
- data/ext/pg_query/include/postmaster/postmaster.h +0 -78
- data/ext/pg_query/include/postmaster/startup.h +0 -39
- data/ext/pg_query/include/postmaster/syslogger.h +0 -103
- data/ext/pg_query/include/postmaster/walwriter.h +0 -21
- data/ext/pg_query/include/regex/regex.h +0 -186
- data/ext/pg_query/include/replication/logicallauncher.h +0 -29
- data/ext/pg_query/include/replication/logicalproto.h +0 -254
- 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 -685
- data/ext/pg_query/include/replication/slot.h +0 -230
- data/ext/pg_query/include/replication/syncrep.h +0 -115
- data/ext/pg_query/include/replication/walreceiver.h +0 -472
- 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 -38
- 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 -115
- data/ext/pg_query/include/storage/buf.h +0 -46
- data/ext/pg_query/include/storage/bufmgr.h +0 -297
- data/ext/pg_query/include/storage/bufpage.h +0 -457
- data/ext/pg_query/include/storage/condition_variable.h +0 -73
- data/ext/pg_query/include/storage/dsm.h +0 -64
- data/ext/pg_query/include/storage/dsm_impl.h +0 -76
- data/ext/pg_query/include/storage/fd.h +0 -198
- data/ext/pg_query/include/storage/fileset.h +0 -40
- data/ext/pg_query/include/storage/ipc.h +0 -84
- 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 -208
- data/ext/pg_query/include/storage/large_object.h +0 -100
- data/ext/pg_query/include/storage/latch.h +0 -186
- data/ext/pg_query/include/storage/lmgr.h +0 -115
- data/ext/pg_query/include/storage/lock.h +0 -616
- data/ext/pg_query/include/storage/lockdefs.h +0 -59
- data/ext/pg_query/include/storage/lwlock.h +0 -206
- data/ext/pg_query/include/storage/lwlocknames.h +0 -50
- 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 -92
- data/ext/pg_query/include/storage/pmsignal.h +0 -105
- data/ext/pg_query/include/storage/predicate.h +0 -87
- data/ext/pg_query/include/storage/proc.h +0 -461
- data/ext/pg_query/include/storage/procarray.h +0 -98
- data/ext/pg_query/include/storage/proclist_types.h +0 -51
- data/ext/pg_query/include/storage/procsignal.h +0 -71
- data/ext/pg_query/include/storage/relfilenode.h +0 -99
- data/ext/pg_query/include/storage/s_lock.h +0 -1110
- data/ext/pg_query/include/storage/sharedfileset.h +0 -37
- data/ext/pg_query/include/storage/shm_mq.h +0 -86
- 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 -111
- data/ext/pg_query/include/storage/spin.h +0 -77
- data/ext/pg_query/include/storage/standby.h +0 -98
- data/ext/pg_query/include/storage/standbydefs.h +0 -74
- data/ext/pg_query/include/storage/sync.h +0 -66
- data/ext/pg_query/include/tcop/cmdtag.h +0 -58
- data/ext/pg_query/include/tcop/cmdtaglist.h +0 -218
- 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 -20
- data/ext/pg_query/include/tcop/pquery.h +0 -51
- data/ext/pg_query/include/tcop/tcopprot.h +0 -97
- data/ext/pg_query/include/tcop/utility.h +0 -112
- data/ext/pg_query/include/tsearch/ts_cache.h +0 -98
- data/ext/pg_query/include/utils/acl.h +0 -333
- data/ext/pg_query/include/utils/aclchk_internal.h +0 -45
- data/ext/pg_query/include/utils/array.h +0 -464
- data/ext/pg_query/include/utils/backend_progress.h +0 -44
- data/ext/pg_query/include/utils/backend_status.h +0 -321
- data/ext/pg_query/include/utils/builtins.h +0 -127
- data/ext/pg_query/include/utils/bytea.h +0 -28
- 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 -344
- data/ext/pg_query/include/utils/datum.h +0 -76
- data/ext/pg_query/include/utils/dsa.h +0 -123
- data/ext/pg_query/include/utils/dynahash.h +0 -20
- data/ext/pg_query/include/utils/elog.h +0 -470
- data/ext/pg_query/include/utils/errcodes.h +0 -354
- 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 -3261
- data/ext/pg_query/include/utils/fmgrprotos.h +0 -2829
- data/ext/pg_query/include/utils/fmgrtab.h +0 -49
- data/ext/pg_query/include/utils/guc.h +0 -469
- data/ext/pg_query/include/utils/guc_tables.h +0 -276
- data/ext/pg_query/include/utils/hsearch.h +0 -153
- data/ext/pg_query/include/utils/inval.h +0 -68
- data/ext/pg_query/include/utils/lsyscache.h +0 -208
- data/ext/pg_query/include/utils/memdebug.h +0 -82
- data/ext/pg_query/include/utils/memutils.h +0 -230
- data/ext/pg_query/include/utils/numeric.h +0 -90
- data/ext/pg_query/include/utils/palloc.h +0 -158
- data/ext/pg_query/include/utils/partcache.h +0 -102
- data/ext/pg_query/include/utils/pg_locale.h +0 -127
- data/ext/pg_query/include/utils/pg_lsn.h +0 -29
- data/ext/pg_query/include/utils/pgstat_internal.h +0 -784
- data/ext/pg_query/include/utils/pidfile.h +0 -56
- data/ext/pg_query/include/utils/plancache.h +0 -236
- data/ext/pg_query/include/utils/portal.h +0 -252
- 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/queryjumble.h +0 -88
- data/ext/pg_query/include/utils/regproc.h +0 -39
- data/ext/pg_query/include/utils/rel.h +0 -695
- data/ext/pg_query/include/utils/relcache.h +0 -153
- 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 -47
- data/ext/pg_query/include/utils/sharedtuplestore.h +0 -61
- data/ext/pg_query/include/utils/snapmgr.h +0 -179
- data/ext/pg_query/include/utils/snapshot.h +0 -219
- data/ext/pg_query/include/utils/sortsupport.h +0 -391
- data/ext/pg_query/include/utils/syscache.h +0 -224
- data/ext/pg_query/include/utils/timeout.h +0 -95
- data/ext/pg_query/include/utils/timestamp.h +0 -117
- data/ext/pg_query/include/utils/tuplesort.h +0 -291
- data/ext/pg_query/include/utils/tuplestore.h +0 -91
- data/ext/pg_query/include/utils/typcache.h +0 -209
- data/ext/pg_query/include/utils/tzparser.h +0 -39
- data/ext/pg_query/include/utils/varlena.h +0 -41
- data/ext/pg_query/include/utils/wait_event.h +0 -289
- data/ext/pg_query/include/utils/xml.h +0 -84
- data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2201
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -371
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1116
- data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1993
- data/ext/pg_query/src_common_pg_prng.c +0 -152
- data/ext/pg_query/src_common_string.c +0 -92
- data/ext/pg_query/src_port_pgsleep.c +0 -69
- 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/{access → postgres/access}/rmgr.h +0 -0
- /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
@@ -1,321 +0,0 @@
|
|
1
|
-
/* ----------
|
2
|
-
* backend_status.h
|
3
|
-
* Definitions related to backend status reporting
|
4
|
-
*
|
5
|
-
* Copyright (c) 2001-2022, PostgreSQL Global Development Group
|
6
|
-
*
|
7
|
-
* src/include/utils/backend_status.h
|
8
|
-
* ----------
|
9
|
-
*/
|
10
|
-
#ifndef BACKEND_STATUS_H
|
11
|
-
#define BACKEND_STATUS_H
|
12
|
-
|
13
|
-
#include "datatype/timestamp.h"
|
14
|
-
#include "libpq/pqcomm.h"
|
15
|
-
#include "miscadmin.h" /* for BackendType */
|
16
|
-
#include "utils/backend_progress.h"
|
17
|
-
|
18
|
-
|
19
|
-
/* ----------
|
20
|
-
* Backend states
|
21
|
-
* ----------
|
22
|
-
*/
|
23
|
-
typedef enum BackendState
|
24
|
-
{
|
25
|
-
STATE_UNDEFINED,
|
26
|
-
STATE_IDLE,
|
27
|
-
STATE_RUNNING,
|
28
|
-
STATE_IDLEINTRANSACTION,
|
29
|
-
STATE_FASTPATH,
|
30
|
-
STATE_IDLEINTRANSACTION_ABORTED,
|
31
|
-
STATE_DISABLED
|
32
|
-
} BackendState;
|
33
|
-
|
34
|
-
|
35
|
-
/* ----------
|
36
|
-
* Shared-memory data structures
|
37
|
-
* ----------
|
38
|
-
*/
|
39
|
-
|
40
|
-
/*
|
41
|
-
* PgBackendSSLStatus
|
42
|
-
*
|
43
|
-
* For each backend, we keep the SSL status in a separate struct, that
|
44
|
-
* is only filled in if SSL is enabled.
|
45
|
-
*
|
46
|
-
* All char arrays must be null-terminated.
|
47
|
-
*/
|
48
|
-
typedef struct PgBackendSSLStatus
|
49
|
-
{
|
50
|
-
/* Information about SSL connection */
|
51
|
-
int ssl_bits;
|
52
|
-
char ssl_version[NAMEDATALEN];
|
53
|
-
char ssl_cipher[NAMEDATALEN];
|
54
|
-
char ssl_client_dn[NAMEDATALEN];
|
55
|
-
|
56
|
-
/*
|
57
|
-
* serial number is max "20 octets" per RFC 5280, so this size should be
|
58
|
-
* fine
|
59
|
-
*/
|
60
|
-
char ssl_client_serial[NAMEDATALEN];
|
61
|
-
|
62
|
-
char ssl_issuer_dn[NAMEDATALEN];
|
63
|
-
} PgBackendSSLStatus;
|
64
|
-
|
65
|
-
/*
|
66
|
-
* PgBackendGSSStatus
|
67
|
-
*
|
68
|
-
* For each backend, we keep the GSS status in a separate struct, that
|
69
|
-
* is only filled in if GSS is enabled.
|
70
|
-
*
|
71
|
-
* All char arrays must be null-terminated.
|
72
|
-
*/
|
73
|
-
typedef struct PgBackendGSSStatus
|
74
|
-
{
|
75
|
-
/* Information about GSSAPI connection */
|
76
|
-
char gss_princ[NAMEDATALEN]; /* GSSAPI Principal used to auth */
|
77
|
-
bool gss_auth; /* If GSSAPI authentication was used */
|
78
|
-
bool gss_enc; /* If encryption is being used */
|
79
|
-
|
80
|
-
} PgBackendGSSStatus;
|
81
|
-
|
82
|
-
|
83
|
-
/* ----------
|
84
|
-
* PgBackendStatus
|
85
|
-
*
|
86
|
-
* Each live backend maintains a PgBackendStatus struct in shared memory
|
87
|
-
* showing its current activity. (The structs are allocated according to
|
88
|
-
* BackendId, but that is not critical.) Note that this is unrelated to the
|
89
|
-
* cumulative stats system (i.e. pgstat.c et al).
|
90
|
-
*
|
91
|
-
* Each auxiliary process also maintains a PgBackendStatus struct in shared
|
92
|
-
* memory.
|
93
|
-
* ----------
|
94
|
-
*/
|
95
|
-
typedef struct PgBackendStatus
|
96
|
-
{
|
97
|
-
/*
|
98
|
-
* To avoid locking overhead, we use the following protocol: a backend
|
99
|
-
* increments st_changecount before modifying its entry, and again after
|
100
|
-
* finishing a modification. A would-be reader should note the value of
|
101
|
-
* st_changecount, copy the entry into private memory, then check
|
102
|
-
* st_changecount again. If the value hasn't changed, and if it's even,
|
103
|
-
* the copy is valid; otherwise start over. This makes updates cheap
|
104
|
-
* while reads are potentially expensive, but that's the tradeoff we want.
|
105
|
-
*
|
106
|
-
* The above protocol needs memory barriers to ensure that the apparent
|
107
|
-
* order of execution is as it desires. Otherwise, for example, the CPU
|
108
|
-
* might rearrange the code so that st_changecount is incremented twice
|
109
|
-
* before the modification on a machine with weak memory ordering. Hence,
|
110
|
-
* use the macros defined below for manipulating st_changecount, rather
|
111
|
-
* than touching it directly.
|
112
|
-
*/
|
113
|
-
int st_changecount;
|
114
|
-
|
115
|
-
/* The entry is valid iff st_procpid > 0, unused if st_procpid == 0 */
|
116
|
-
int st_procpid;
|
117
|
-
|
118
|
-
/* Type of backends */
|
119
|
-
BackendType st_backendType;
|
120
|
-
|
121
|
-
/* Times when current backend, transaction, and activity started */
|
122
|
-
TimestampTz st_proc_start_timestamp;
|
123
|
-
TimestampTz st_xact_start_timestamp;
|
124
|
-
TimestampTz st_activity_start_timestamp;
|
125
|
-
TimestampTz st_state_start_timestamp;
|
126
|
-
|
127
|
-
/* Database OID, owning user's OID, connection client address */
|
128
|
-
Oid st_databaseid;
|
129
|
-
Oid st_userid;
|
130
|
-
SockAddr st_clientaddr;
|
131
|
-
char *st_clienthostname; /* MUST be null-terminated */
|
132
|
-
|
133
|
-
/* Information about SSL connection */
|
134
|
-
bool st_ssl;
|
135
|
-
PgBackendSSLStatus *st_sslstatus;
|
136
|
-
|
137
|
-
/* Information about GSSAPI connection */
|
138
|
-
bool st_gss;
|
139
|
-
PgBackendGSSStatus *st_gssstatus;
|
140
|
-
|
141
|
-
/* current state */
|
142
|
-
BackendState st_state;
|
143
|
-
|
144
|
-
/* application name; MUST be null-terminated */
|
145
|
-
char *st_appname;
|
146
|
-
|
147
|
-
/*
|
148
|
-
* Current command string; MUST be null-terminated. Note that this string
|
149
|
-
* possibly is truncated in the middle of a multi-byte character. As
|
150
|
-
* activity strings are stored more frequently than read, that allows to
|
151
|
-
* move the cost of correct truncation to the display side. Use
|
152
|
-
* pgstat_clip_activity() to truncate correctly.
|
153
|
-
*/
|
154
|
-
char *st_activity_raw;
|
155
|
-
|
156
|
-
/*
|
157
|
-
* Command progress reporting. Any command which wishes can advertise
|
158
|
-
* that it is running by setting st_progress_command,
|
159
|
-
* st_progress_command_target, and st_progress_param[].
|
160
|
-
* st_progress_command_target should be the OID of the relation which the
|
161
|
-
* command targets (we assume there's just one, as this is meant for
|
162
|
-
* utility commands), but the meaning of each element in the
|
163
|
-
* st_progress_param array is command-specific.
|
164
|
-
*/
|
165
|
-
ProgressCommandType st_progress_command;
|
166
|
-
Oid st_progress_command_target;
|
167
|
-
int64 st_progress_param[PGSTAT_NUM_PROGRESS_PARAM];
|
168
|
-
|
169
|
-
/* query identifier, optionally computed using post_parse_analyze_hook */
|
170
|
-
uint64 st_query_id;
|
171
|
-
} PgBackendStatus;
|
172
|
-
|
173
|
-
|
174
|
-
/*
|
175
|
-
* Macros to load and store st_changecount with appropriate memory barriers.
|
176
|
-
*
|
177
|
-
* Use PGSTAT_BEGIN_WRITE_ACTIVITY() before, and PGSTAT_END_WRITE_ACTIVITY()
|
178
|
-
* after, modifying the current process's PgBackendStatus data. Note that,
|
179
|
-
* since there is no mechanism for cleaning up st_changecount after an error,
|
180
|
-
* THESE MACROS FORM A CRITICAL SECTION. Any error between them will be
|
181
|
-
* promoted to PANIC, causing a database restart to clean up shared memory!
|
182
|
-
* Hence, keep the critical section as short and straight-line as possible.
|
183
|
-
* Aside from being safer, that minimizes the window in which readers will
|
184
|
-
* have to loop.
|
185
|
-
*
|
186
|
-
* Reader logic should follow this sketch:
|
187
|
-
*
|
188
|
-
* for (;;)
|
189
|
-
* {
|
190
|
-
* int before_ct, after_ct;
|
191
|
-
*
|
192
|
-
* pgstat_begin_read_activity(beentry, before_ct);
|
193
|
-
* ... copy beentry data to local memory ...
|
194
|
-
* pgstat_end_read_activity(beentry, after_ct);
|
195
|
-
* if (pgstat_read_activity_complete(before_ct, after_ct))
|
196
|
-
* break;
|
197
|
-
* CHECK_FOR_INTERRUPTS();
|
198
|
-
* }
|
199
|
-
*
|
200
|
-
* For extra safety, we generally use volatile beentry pointers, although
|
201
|
-
* the memory barriers should theoretically be sufficient.
|
202
|
-
*/
|
203
|
-
#define PGSTAT_BEGIN_WRITE_ACTIVITY(beentry) \
|
204
|
-
do { \
|
205
|
-
START_CRIT_SECTION(); \
|
206
|
-
(beentry)->st_changecount++; \
|
207
|
-
pg_write_barrier(); \
|
208
|
-
} while (0)
|
209
|
-
|
210
|
-
#define PGSTAT_END_WRITE_ACTIVITY(beentry) \
|
211
|
-
do { \
|
212
|
-
pg_write_barrier(); \
|
213
|
-
(beentry)->st_changecount++; \
|
214
|
-
Assert(((beentry)->st_changecount & 1) == 0); \
|
215
|
-
END_CRIT_SECTION(); \
|
216
|
-
} while (0)
|
217
|
-
|
218
|
-
#define pgstat_begin_read_activity(beentry, before_changecount) \
|
219
|
-
do { \
|
220
|
-
(before_changecount) = (beentry)->st_changecount; \
|
221
|
-
pg_read_barrier(); \
|
222
|
-
} while (0)
|
223
|
-
|
224
|
-
#define pgstat_end_read_activity(beentry, after_changecount) \
|
225
|
-
do { \
|
226
|
-
pg_read_barrier(); \
|
227
|
-
(after_changecount) = (beentry)->st_changecount; \
|
228
|
-
} while (0)
|
229
|
-
|
230
|
-
#define pgstat_read_activity_complete(before_changecount, after_changecount) \
|
231
|
-
((before_changecount) == (after_changecount) && \
|
232
|
-
((before_changecount) & 1) == 0)
|
233
|
-
|
234
|
-
|
235
|
-
/* ----------
|
236
|
-
* LocalPgBackendStatus
|
237
|
-
*
|
238
|
-
* When we build the backend status array, we use LocalPgBackendStatus to be
|
239
|
-
* able to add new values to the struct when needed without adding new fields
|
240
|
-
* to the shared memory. It contains the backend status as a first member.
|
241
|
-
* ----------
|
242
|
-
*/
|
243
|
-
typedef struct LocalPgBackendStatus
|
244
|
-
{
|
245
|
-
/*
|
246
|
-
* Local version of the backend status entry.
|
247
|
-
*/
|
248
|
-
PgBackendStatus backendStatus;
|
249
|
-
|
250
|
-
/*
|
251
|
-
* The xid of the current transaction if available, InvalidTransactionId
|
252
|
-
* if not.
|
253
|
-
*/
|
254
|
-
TransactionId backend_xid;
|
255
|
-
|
256
|
-
/*
|
257
|
-
* The xmin of the current session if available, InvalidTransactionId if
|
258
|
-
* not.
|
259
|
-
*/
|
260
|
-
TransactionId backend_xmin;
|
261
|
-
} LocalPgBackendStatus;
|
262
|
-
|
263
|
-
|
264
|
-
/* ----------
|
265
|
-
* GUC parameters
|
266
|
-
* ----------
|
267
|
-
*/
|
268
|
-
extern PGDLLIMPORT bool pgstat_track_activities;
|
269
|
-
extern PGDLLIMPORT int pgstat_track_activity_query_size;
|
270
|
-
|
271
|
-
|
272
|
-
/* ----------
|
273
|
-
* Other global variables
|
274
|
-
* ----------
|
275
|
-
*/
|
276
|
-
extern PGDLLIMPORT PgBackendStatus *MyBEEntry;
|
277
|
-
|
278
|
-
|
279
|
-
/* ----------
|
280
|
-
* Functions called from postmaster
|
281
|
-
* ----------
|
282
|
-
*/
|
283
|
-
extern Size BackendStatusShmemSize(void);
|
284
|
-
extern void CreateSharedBackendStatus(void);
|
285
|
-
|
286
|
-
|
287
|
-
/* ----------
|
288
|
-
* Functions called from backends
|
289
|
-
* ----------
|
290
|
-
*/
|
291
|
-
|
292
|
-
/* Initialization functions */
|
293
|
-
extern void pgstat_beinit(void);
|
294
|
-
extern void pgstat_bestart(void);
|
295
|
-
|
296
|
-
extern void pgstat_clear_backend_activity_snapshot(void);
|
297
|
-
|
298
|
-
/* Activity reporting functions */
|
299
|
-
extern void pgstat_report_activity(BackendState state, const char *cmd_str);
|
300
|
-
extern void pgstat_report_query_id(uint64 query_id, bool force);
|
301
|
-
extern void pgstat_report_tempfile(size_t filesize);
|
302
|
-
extern void pgstat_report_appname(const char *appname);
|
303
|
-
extern void pgstat_report_xact_timestamp(TimestampTz tstamp);
|
304
|
-
extern const char *pgstat_get_backend_current_activity(int pid, bool checkUser);
|
305
|
-
extern const char *pgstat_get_crashed_backend_activity(int pid, char *buffer,
|
306
|
-
int buflen);
|
307
|
-
extern uint64 pgstat_get_my_query_id(void);
|
308
|
-
|
309
|
-
|
310
|
-
/* ----------
|
311
|
-
* Support functions for the SQL-callable functions to
|
312
|
-
* generate the pgstat* views.
|
313
|
-
* ----------
|
314
|
-
*/
|
315
|
-
extern int pgstat_fetch_stat_numbackends(void);
|
316
|
-
extern PgBackendStatus *pgstat_fetch_stat_beentry(int beid);
|
317
|
-
extern LocalPgBackendStatus *pgstat_fetch_stat_local_beentry(int beid);
|
318
|
-
extern char *pgstat_clip_activity(const char *raw_activity);
|
319
|
-
|
320
|
-
|
321
|
-
#endif /* BACKEND_STATUS_H */
|
@@ -1,127 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* builtins.h
|
4
|
-
* Declarations for operations on built-in types.
|
5
|
-
*
|
6
|
-
*
|
7
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
8
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
9
|
-
*
|
10
|
-
* src/include/utils/builtins.h
|
11
|
-
*
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
#ifndef BUILTINS_H
|
15
|
-
#define BUILTINS_H
|
16
|
-
|
17
|
-
#include "fmgr.h"
|
18
|
-
#include "nodes/nodes.h"
|
19
|
-
#include "utils/fmgrprotos.h"
|
20
|
-
|
21
|
-
/* Sign + the most decimal digits an 8-byte number could have */
|
22
|
-
#define MAXINT8LEN 20
|
23
|
-
|
24
|
-
/* bool.c */
|
25
|
-
extern bool parse_bool(const char *value, bool *result);
|
26
|
-
extern bool parse_bool_with_len(const char *value, size_t len, bool *result);
|
27
|
-
|
28
|
-
/* domains.c */
|
29
|
-
extern void domain_check(Datum value, bool isnull, Oid domainType,
|
30
|
-
void **extra, MemoryContext mcxt);
|
31
|
-
extern int errdatatype(Oid datatypeOid);
|
32
|
-
extern int errdomainconstraint(Oid datatypeOid, const char *conname);
|
33
|
-
|
34
|
-
/* encode.c */
|
35
|
-
extern uint64 hex_encode(const char *src, size_t len, char *dst);
|
36
|
-
extern uint64 hex_decode(const char *src, size_t len, char *dst);
|
37
|
-
|
38
|
-
/* int.c */
|
39
|
-
extern int2vector *buildint2vector(const int16 *int2s, int n);
|
40
|
-
|
41
|
-
/* name.c */
|
42
|
-
extern void namestrcpy(Name name, const char *str);
|
43
|
-
extern int namestrcmp(Name name, const char *str);
|
44
|
-
|
45
|
-
/* numutils.c */
|
46
|
-
extern int16 pg_strtoint16(const char *s);
|
47
|
-
extern int32 pg_strtoint32(const char *s);
|
48
|
-
extern int64 pg_strtoint64(const char *s);
|
49
|
-
extern int pg_itoa(int16 i, char *a);
|
50
|
-
extern int pg_ultoa_n(uint32 l, char *a);
|
51
|
-
extern int pg_ulltoa_n(uint64 l, char *a);
|
52
|
-
extern int pg_ltoa(int32 l, char *a);
|
53
|
-
extern int pg_lltoa(int64 ll, char *a);
|
54
|
-
extern char *pg_ultostr_zeropad(char *str, uint32 value, int32 minwidth);
|
55
|
-
extern char *pg_ultostr(char *str, uint32 value);
|
56
|
-
|
57
|
-
/* oid.c */
|
58
|
-
extern oidvector *buildoidvector(const Oid *oids, int n);
|
59
|
-
extern Oid oidparse(Node *node);
|
60
|
-
extern int oid_cmp(const void *p1, const void *p2);
|
61
|
-
|
62
|
-
/* regexp.c */
|
63
|
-
extern char *regexp_fixed_prefix(text *text_re, bool case_insensitive,
|
64
|
-
Oid collation, bool *exact);
|
65
|
-
|
66
|
-
/* ruleutils.c */
|
67
|
-
extern PGDLLIMPORT __thread bool quote_all_identifiers;
|
68
|
-
extern const char *quote_identifier(const char *ident);
|
69
|
-
extern char *quote_qualified_identifier(const char *qualifier,
|
70
|
-
const char *ident);
|
71
|
-
extern void generate_operator_clause(fmStringInfo buf,
|
72
|
-
const char *leftop, Oid leftoptype,
|
73
|
-
Oid opoid,
|
74
|
-
const char *rightop, Oid rightoptype);
|
75
|
-
|
76
|
-
/* varchar.c */
|
77
|
-
extern int bpchartruelen(char *s, int len);
|
78
|
-
|
79
|
-
/* popular functions from varlena.c */
|
80
|
-
extern text *cstring_to_text(const char *s);
|
81
|
-
extern text *cstring_to_text_with_len(const char *s, int len);
|
82
|
-
extern char *text_to_cstring(const text *t);
|
83
|
-
extern void text_to_cstring_buffer(const text *src, char *dst, size_t dst_len);
|
84
|
-
|
85
|
-
#define CStringGetTextDatum(s) PointerGetDatum(cstring_to_text(s))
|
86
|
-
#define TextDatumGetCString(d) text_to_cstring((text *) DatumGetPointer(d))
|
87
|
-
|
88
|
-
/* xid.c */
|
89
|
-
extern int xidComparator(const void *arg1, const void *arg2);
|
90
|
-
extern int xidLogicalComparator(const void *arg1, const void *arg2);
|
91
|
-
|
92
|
-
/* inet_cidr_ntop.c */
|
93
|
-
extern char *pg_inet_cidr_ntop(int af, const void *src, int bits,
|
94
|
-
char *dst, size_t size);
|
95
|
-
|
96
|
-
/* inet_net_pton.c */
|
97
|
-
extern int pg_inet_net_pton(int af, const char *src,
|
98
|
-
void *dst, size_t size);
|
99
|
-
|
100
|
-
/* network.c */
|
101
|
-
extern double convert_network_to_scalar(Datum value, Oid typid, bool *failure);
|
102
|
-
extern Datum network_scan_first(Datum in);
|
103
|
-
extern Datum network_scan_last(Datum in);
|
104
|
-
extern void clean_ipv6_addr(int addr_family, char *addr);
|
105
|
-
|
106
|
-
/* numeric.c */
|
107
|
-
extern Datum numeric_float8_no_overflow(PG_FUNCTION_ARGS);
|
108
|
-
|
109
|
-
/* format_type.c */
|
110
|
-
|
111
|
-
/* Control flags for format_type_extended */
|
112
|
-
#define FORMAT_TYPE_TYPEMOD_GIVEN 0x01 /* typemod defined by caller */
|
113
|
-
#define FORMAT_TYPE_ALLOW_INVALID 0x02 /* allow invalid types */
|
114
|
-
#define FORMAT_TYPE_FORCE_QUALIFY 0x04 /* force qualification of type */
|
115
|
-
#define FORMAT_TYPE_INVALID_AS_NULL 0x08 /* NULL if undefined */
|
116
|
-
extern char *format_type_extended(Oid type_oid, int32 typemod, bits16 flags);
|
117
|
-
|
118
|
-
extern char *format_type_be(Oid type_oid);
|
119
|
-
extern char *format_type_be_qualified(Oid type_oid);
|
120
|
-
extern char *format_type_with_typemod(Oid type_oid, int32 typemod);
|
121
|
-
|
122
|
-
extern int32 type_maximum_size(Oid type_oid, int32 typemod);
|
123
|
-
|
124
|
-
/* quote.c */
|
125
|
-
extern char *quote_literal_cstr(const char *rawstr);
|
126
|
-
|
127
|
-
#endif /* BUILTINS_H */
|
@@ -1,28 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* bytea.h
|
4
|
-
* Declarations for BYTEA data type support.
|
5
|
-
*
|
6
|
-
*
|
7
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
8
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
9
|
-
*
|
10
|
-
* src/include/utils/bytea.h
|
11
|
-
*
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
#ifndef BYTEA_H
|
15
|
-
#define BYTEA_H
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
typedef enum
|
20
|
-
{
|
21
|
-
BYTEA_OUTPUT_ESCAPE,
|
22
|
-
BYTEA_OUTPUT_HEX
|
23
|
-
} ByteaOutputType;
|
24
|
-
|
25
|
-
extern PGDLLIMPORT int bytea_output; /* ByteaOutputType, but int for GUC
|
26
|
-
* enum */
|
27
|
-
|
28
|
-
#endif /* BYTEA_H */
|
@@ -1,231 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* catcache.h
|
4
|
-
* Low-level catalog cache definitions.
|
5
|
-
*
|
6
|
-
* NOTE: every catalog cache must have a corresponding unique index on
|
7
|
-
* the system table that it caches --- ie, the index must match the keys
|
8
|
-
* used to do lookups in this cache. All cache fetches are done with
|
9
|
-
* indexscans (under normal conditions). The index should be unique to
|
10
|
-
* guarantee that there can only be one matching row for a key combination.
|
11
|
-
*
|
12
|
-
*
|
13
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
14
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
15
|
-
*
|
16
|
-
* src/include/utils/catcache.h
|
17
|
-
*
|
18
|
-
*-------------------------------------------------------------------------
|
19
|
-
*/
|
20
|
-
#ifndef CATCACHE_H
|
21
|
-
#define CATCACHE_H
|
22
|
-
|
23
|
-
#include "access/htup.h"
|
24
|
-
#include "access/skey.h"
|
25
|
-
#include "lib/ilist.h"
|
26
|
-
#include "utils/relcache.h"
|
27
|
-
|
28
|
-
/*
|
29
|
-
* struct catctup: individual tuple in the cache.
|
30
|
-
* struct catclist: list of tuples matching a partial key.
|
31
|
-
* struct catcache: information for managing a cache.
|
32
|
-
* struct catcacheheader: information for managing all the caches.
|
33
|
-
*/
|
34
|
-
|
35
|
-
#define CATCACHE_MAXKEYS 4
|
36
|
-
|
37
|
-
|
38
|
-
/* function computing a datum's hash */
|
39
|
-
typedef uint32 (*CCHashFN) (Datum datum);
|
40
|
-
|
41
|
-
/* function computing equality of two datums */
|
42
|
-
typedef bool (*CCFastEqualFN) (Datum a, Datum b);
|
43
|
-
|
44
|
-
typedef struct catcache
|
45
|
-
{
|
46
|
-
int id; /* cache identifier --- see syscache.h */
|
47
|
-
int cc_nbuckets; /* # of hash buckets in this cache */
|
48
|
-
TupleDesc cc_tupdesc; /* tuple descriptor (copied from reldesc) */
|
49
|
-
dlist_head *cc_bucket; /* hash buckets */
|
50
|
-
CCHashFN cc_hashfunc[CATCACHE_MAXKEYS]; /* hash function for each key */
|
51
|
-
CCFastEqualFN cc_fastequal[CATCACHE_MAXKEYS]; /* fast equal function for
|
52
|
-
* each key */
|
53
|
-
int cc_keyno[CATCACHE_MAXKEYS]; /* AttrNumber of each key */
|
54
|
-
dlist_head cc_lists; /* list of CatCList structs */
|
55
|
-
int cc_ntup; /* # of tuples currently in this cache */
|
56
|
-
int cc_nkeys; /* # of keys (1..CATCACHE_MAXKEYS) */
|
57
|
-
const char *cc_relname; /* name of relation the tuples come from */
|
58
|
-
Oid cc_reloid; /* OID of relation the tuples come from */
|
59
|
-
Oid cc_indexoid; /* OID of index matching cache keys */
|
60
|
-
bool cc_relisshared; /* is relation shared across databases? */
|
61
|
-
slist_node cc_next; /* list link */
|
62
|
-
ScanKeyData cc_skey[CATCACHE_MAXKEYS]; /* precomputed key info for heap
|
63
|
-
* scans */
|
64
|
-
|
65
|
-
/*
|
66
|
-
* Keep these at the end, so that compiling catcache.c with CATCACHE_STATS
|
67
|
-
* doesn't break ABI for other modules
|
68
|
-
*/
|
69
|
-
#ifdef CATCACHE_STATS
|
70
|
-
long cc_searches; /* total # searches against this cache */
|
71
|
-
long cc_hits; /* # of matches against existing entry */
|
72
|
-
long cc_neg_hits; /* # of matches against negative entry */
|
73
|
-
long cc_newloads; /* # of successful loads of new entry */
|
74
|
-
|
75
|
-
/*
|
76
|
-
* cc_searches - (cc_hits + cc_neg_hits + cc_newloads) is number of failed
|
77
|
-
* searches, each of which will result in loading a negative entry
|
78
|
-
*/
|
79
|
-
long cc_invals; /* # of entries invalidated from cache */
|
80
|
-
long cc_lsearches; /* total # list-searches */
|
81
|
-
long cc_lhits; /* # of matches against existing lists */
|
82
|
-
#endif
|
83
|
-
} CatCache;
|
84
|
-
|
85
|
-
|
86
|
-
typedef struct catctup
|
87
|
-
{
|
88
|
-
int ct_magic; /* for identifying CatCTup entries */
|
89
|
-
#define CT_MAGIC 0x57261502
|
90
|
-
|
91
|
-
uint32 hash_value; /* hash value for this tuple's keys */
|
92
|
-
|
93
|
-
/*
|
94
|
-
* Lookup keys for the entry. By-reference datums point into the tuple for
|
95
|
-
* positive cache entries, and are separately allocated for negative ones.
|
96
|
-
*/
|
97
|
-
Datum keys[CATCACHE_MAXKEYS];
|
98
|
-
|
99
|
-
/*
|
100
|
-
* Each tuple in a cache is a member of a dlist that stores the elements
|
101
|
-
* of its hash bucket. We keep each dlist in LRU order to speed repeated
|
102
|
-
* lookups.
|
103
|
-
*/
|
104
|
-
dlist_node cache_elem; /* list member of per-bucket list */
|
105
|
-
|
106
|
-
/*
|
107
|
-
* A tuple marked "dead" must not be returned by subsequent searches.
|
108
|
-
* However, it won't be physically deleted from the cache until its
|
109
|
-
* refcount goes to zero. (If it's a member of a CatCList, the list's
|
110
|
-
* refcount must go to zero, too; also, remember to mark the list dead at
|
111
|
-
* the same time the tuple is marked.)
|
112
|
-
*
|
113
|
-
* A negative cache entry is an assertion that there is no tuple matching
|
114
|
-
* a particular key. This is just as useful as a normal entry so far as
|
115
|
-
* avoiding catalog searches is concerned. Management of positive and
|
116
|
-
* negative entries is identical.
|
117
|
-
*/
|
118
|
-
int refcount; /* number of active references */
|
119
|
-
bool dead; /* dead but not yet removed? */
|
120
|
-
bool negative; /* negative cache entry? */
|
121
|
-
HeapTupleData tuple; /* tuple management header */
|
122
|
-
|
123
|
-
/*
|
124
|
-
* The tuple may also be a member of at most one CatCList. (If a single
|
125
|
-
* catcache is list-searched with varying numbers of keys, we may have to
|
126
|
-
* make multiple entries for the same tuple because of this restriction.
|
127
|
-
* Currently, that's not expected to be common, so we accept the potential
|
128
|
-
* inefficiency.)
|
129
|
-
*/
|
130
|
-
struct catclist *c_list; /* containing CatCList, or NULL if none */
|
131
|
-
|
132
|
-
CatCache *my_cache; /* link to owning catcache */
|
133
|
-
/* properly aligned tuple data follows, unless a negative entry */
|
134
|
-
} CatCTup;
|
135
|
-
|
136
|
-
|
137
|
-
/*
|
138
|
-
* A CatCList describes the result of a partial search, ie, a search using
|
139
|
-
* only the first K key columns of an N-key cache. We store the keys used
|
140
|
-
* into the keys attribute to represent the stored key set. The CatCList
|
141
|
-
* object contains links to cache entries for all the table rows satisfying
|
142
|
-
* the partial key. (Note: none of these will be negative cache entries.)
|
143
|
-
*
|
144
|
-
* A CatCList is only a member of a per-cache list; we do not currently
|
145
|
-
* divide them into hash buckets.
|
146
|
-
*
|
147
|
-
* A list marked "dead" must not be returned by subsequent searches.
|
148
|
-
* However, it won't be physically deleted from the cache until its
|
149
|
-
* refcount goes to zero. (A list should be marked dead if any of its
|
150
|
-
* member entries are dead.)
|
151
|
-
*
|
152
|
-
* If "ordered" is true then the member tuples appear in the order of the
|
153
|
-
* cache's underlying index. This will be true in normal operation, but
|
154
|
-
* might not be true during bootstrap or recovery operations. (namespace.c
|
155
|
-
* is able to save some cycles when it is true.)
|
156
|
-
*/
|
157
|
-
typedef struct catclist
|
158
|
-
{
|
159
|
-
int cl_magic; /* for identifying CatCList entries */
|
160
|
-
#define CL_MAGIC 0x52765103
|
161
|
-
|
162
|
-
uint32 hash_value; /* hash value for lookup keys */
|
163
|
-
|
164
|
-
dlist_node cache_elem; /* list member of per-catcache list */
|
165
|
-
|
166
|
-
/*
|
167
|
-
* Lookup keys for the entry, with the first nkeys elements being valid.
|
168
|
-
* All by-reference are separately allocated.
|
169
|
-
*/
|
170
|
-
Datum keys[CATCACHE_MAXKEYS];
|
171
|
-
|
172
|
-
int refcount; /* number of active references */
|
173
|
-
bool dead; /* dead but not yet removed? */
|
174
|
-
bool ordered; /* members listed in index order? */
|
175
|
-
short nkeys; /* number of lookup keys specified */
|
176
|
-
int n_members; /* number of member tuples */
|
177
|
-
CatCache *my_cache; /* link to owning catcache */
|
178
|
-
CatCTup *members[FLEXIBLE_ARRAY_MEMBER]; /* members */
|
179
|
-
} CatCList;
|
180
|
-
|
181
|
-
|
182
|
-
typedef struct catcacheheader
|
183
|
-
{
|
184
|
-
slist_head ch_caches; /* head of list of CatCache structs */
|
185
|
-
int ch_ntup; /* # of tuples in all caches */
|
186
|
-
} CatCacheHeader;
|
187
|
-
|
188
|
-
|
189
|
-
/* this extern duplicates utils/memutils.h... */
|
190
|
-
extern PGDLLIMPORT MemoryContext CacheMemoryContext;
|
191
|
-
|
192
|
-
extern void CreateCacheMemoryContext(void);
|
193
|
-
|
194
|
-
extern CatCache *InitCatCache(int id, Oid reloid, Oid indexoid,
|
195
|
-
int nkeys, const int *key,
|
196
|
-
int nbuckets);
|
197
|
-
extern void InitCatCachePhase2(CatCache *cache, bool touch_index);
|
198
|
-
|
199
|
-
extern HeapTuple SearchCatCache(CatCache *cache,
|
200
|
-
Datum v1, Datum v2, Datum v3, Datum v4);
|
201
|
-
extern HeapTuple SearchCatCache1(CatCache *cache,
|
202
|
-
Datum v1);
|
203
|
-
extern HeapTuple SearchCatCache2(CatCache *cache,
|
204
|
-
Datum v1, Datum v2);
|
205
|
-
extern HeapTuple SearchCatCache3(CatCache *cache,
|
206
|
-
Datum v1, Datum v2, Datum v3);
|
207
|
-
extern HeapTuple SearchCatCache4(CatCache *cache,
|
208
|
-
Datum v1, Datum v2, Datum v3, Datum v4);
|
209
|
-
extern void ReleaseCatCache(HeapTuple tuple);
|
210
|
-
|
211
|
-
extern uint32 GetCatCacheHashValue(CatCache *cache,
|
212
|
-
Datum v1, Datum v2,
|
213
|
-
Datum v3, Datum v4);
|
214
|
-
|
215
|
-
extern CatCList *SearchCatCacheList(CatCache *cache, int nkeys,
|
216
|
-
Datum v1, Datum v2,
|
217
|
-
Datum v3);
|
218
|
-
extern void ReleaseCatCacheList(CatCList *list);
|
219
|
-
|
220
|
-
extern void ResetCatalogCaches(void);
|
221
|
-
extern void CatalogCacheFlushCatalog(Oid catId);
|
222
|
-
extern void CatCacheInvalidate(CatCache *cache, uint32 hashValue);
|
223
|
-
extern void PrepareToInvalidateCacheTuple(Relation relation,
|
224
|
-
HeapTuple tuple,
|
225
|
-
HeapTuple newtuple,
|
226
|
-
void (*function) (int, uint32, Oid));
|
227
|
-
|
228
|
-
extern void PrintCatCacheLeakWarning(HeapTuple tuple);
|
229
|
-
extern void PrintCatCacheListLeakWarning(CatCList *list);
|
230
|
-
|
231
|
-
#endif /* CATCACHE_H */
|