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
@@ -10,10 +10,9 @@
|
|
10
10
|
/*-------------------------------------------------------------------------
|
11
11
|
*
|
12
12
|
* scansup.c
|
13
|
-
* support routines
|
14
|
-
* backend as well as the bootstrap backend
|
13
|
+
* scanner support routines used by the core lexer
|
15
14
|
*
|
16
|
-
* Portions Copyright (c) 1996-
|
15
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
17
16
|
* Portions Copyright (c) 1994, Regents of the University of California
|
18
17
|
*
|
19
18
|
*
|
@@ -29,19 +28,6 @@
|
|
29
28
|
#include "mb/pg_wchar.h"
|
30
29
|
#include "parser/scansup.h"
|
31
30
|
|
32
|
-
/* ----------------
|
33
|
-
* scanstr
|
34
|
-
*
|
35
|
-
* if the string passed in has escaped codes, map the escape codes to actual
|
36
|
-
* chars
|
37
|
-
*
|
38
|
-
* the string returned is palloc'd and should eventually be pfree'd by the
|
39
|
-
* caller!
|
40
|
-
* ----------------
|
41
|
-
*/
|
42
|
-
|
43
|
-
|
44
|
-
|
45
31
|
|
46
32
|
/*
|
47
33
|
* downcase_truncate_identifier() --- do appropriate downcasing and
|
@@ -119,20 +105,10 @@ truncate_identifier(char *ident, int len, bool warn)
|
|
119
105
|
{
|
120
106
|
len = pg_mbcliplen(ident, len, NAMEDATALEN - 1);
|
121
107
|
if (warn)
|
122
|
-
{
|
123
|
-
/*
|
124
|
-
* We avoid using %.*s here because it can misbehave if the data
|
125
|
-
* is not valid in what libc thinks is the prevailing encoding.
|
126
|
-
*/
|
127
|
-
char buf[NAMEDATALEN];
|
128
|
-
|
129
|
-
memcpy(buf, ident, len);
|
130
|
-
buf[len] = '\0';
|
131
108
|
ereport(NOTICE,
|
132
109
|
(errcode(ERRCODE_NAME_TOO_LONG),
|
133
|
-
errmsg("identifier \"%s\" will be truncated to \"
|
134
|
-
ident,
|
135
|
-
}
|
110
|
+
errmsg("identifier \"%s\" will be truncated to \"%.*s\"",
|
111
|
+
ident, len, ident)));
|
136
112
|
ident[len] = '\0';
|
137
113
|
}
|
138
114
|
}
|
@@ -154,6 +130,7 @@ scanner_isspace(char ch)
|
|
154
130
|
ch == '\t' ||
|
155
131
|
ch == '\n' ||
|
156
132
|
ch == '\r' ||
|
133
|
+
ch == '\v' ||
|
157
134
|
ch == '\f')
|
158
135
|
return true;
|
159
136
|
return false;
|
@@ -15,7 +15,7 @@
|
|
15
15
|
* exit-time cleanup for either a postmaster or a backend.
|
16
16
|
*
|
17
17
|
*
|
18
|
-
* Portions Copyright (c) 1996-
|
18
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
19
19
|
* Portions Copyright (c) 1994, Regents of the University of California
|
20
20
|
*
|
21
21
|
*
|
@@ -173,9 +173,9 @@ void proc_exit(int code) { printf("Terminating process due to FATAL error\n"); e
|
|
173
173
|
* cancel_before_shmem_exit
|
174
174
|
*
|
175
175
|
* this function removes a previously-registered before_shmem_exit
|
176
|
-
* callback.
|
177
|
-
*
|
178
|
-
*
|
176
|
+
* callback. We only look at the latest entry for removal, as we
|
177
|
+
* expect callers to add and remove temporary before_shmem_exit
|
178
|
+
* callbacks in strict LIFO order.
|
179
179
|
* ----------------------------------------------------------------
|
180
180
|
*/
|
181
181
|
|
@@ -190,3 +190,12 @@ void proc_exit(int code) { printf("Terminating process due to FATAL error\n"); e
|
|
190
190
|
* ----------------------------------------------------------------
|
191
191
|
*/
|
192
192
|
|
193
|
+
|
194
|
+
/* ----------------------------------------------------------------
|
195
|
+
* check_on_shmem_exit_lists_are_empty
|
196
|
+
*
|
197
|
+
* Debugging check that no shmem cleanup handlers have been registered
|
198
|
+
* prematurely in the current process.
|
199
|
+
* ----------------------------------------------------------------
|
200
|
+
*/
|
201
|
+
|
@@ -1,12 +1,12 @@
|
|
1
1
|
/*--------------------------------------------------------------------
|
2
2
|
* Symbols referenced in this file:
|
3
|
-
* - whereToSendOutput
|
4
3
|
* - debug_query_string
|
5
|
-
* - ProcessInterrupts
|
6
|
-
* - check_stack_depth
|
7
4
|
* - stack_is_too_deep
|
8
5
|
* - stack_base_ptr
|
9
6
|
* - max_stack_depth_bytes
|
7
|
+
* - whereToSendOutput
|
8
|
+
* - ProcessInterrupts
|
9
|
+
* - check_stack_depth
|
10
10
|
* - max_stack_depth
|
11
11
|
*--------------------------------------------------------------------
|
12
12
|
*/
|
@@ -16,7 +16,7 @@
|
|
16
16
|
* postgres.c
|
17
17
|
* POSTGRES C Backend Interface
|
18
18
|
*
|
19
|
-
* Portions Copyright (c) 1996-
|
19
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
20
20
|
* Portions Copyright (c) 1994, Regents of the University of California
|
21
21
|
*
|
22
22
|
*
|
@@ -36,17 +36,12 @@
|
|
36
36
|
#include <limits.h>
|
37
37
|
#include <signal.h>
|
38
38
|
#include <unistd.h>
|
39
|
+
#include <sys/resource.h>
|
39
40
|
#include <sys/socket.h>
|
40
|
-
#ifdef HAVE_SYS_SELECT_H
|
41
|
-
#include <sys/select.h>
|
42
|
-
#endif
|
43
|
-
#ifdef HAVE_SYS_RESOURCE_H
|
44
41
|
#include <sys/time.h>
|
45
|
-
#include <sys/resource.h>
|
46
|
-
#endif
|
47
42
|
|
48
|
-
#
|
49
|
-
#include
|
43
|
+
#ifdef USE_VALGRIND
|
44
|
+
#include <valgrind/valgrind.h>
|
50
45
|
#endif
|
51
46
|
|
52
47
|
#include "access/parallel.h"
|
@@ -54,7 +49,9 @@
|
|
54
49
|
#include "access/xact.h"
|
55
50
|
#include "catalog/pg_type.h"
|
56
51
|
#include "commands/async.h"
|
52
|
+
#include "commands/event_trigger.h"
|
57
53
|
#include "commands/prepare.h"
|
54
|
+
#include "common/pg_prng.h"
|
58
55
|
#include "jit/jit.h"
|
59
56
|
#include "libpq/libpq.h"
|
60
57
|
#include "libpq/pqformat.h"
|
@@ -79,6 +76,7 @@
|
|
79
76
|
#include "rewrite/rewriteHandler.h"
|
80
77
|
#include "storage/bufmgr.h"
|
81
78
|
#include "storage/ipc.h"
|
79
|
+
#include "storage/pmsignal.h"
|
82
80
|
#include "storage/proc.h"
|
83
81
|
#include "storage/procsignal.h"
|
84
82
|
#include "storage/sinval.h"
|
@@ -86,12 +84,15 @@
|
|
86
84
|
#include "tcop/pquery.h"
|
87
85
|
#include "tcop/tcopprot.h"
|
88
86
|
#include "tcop/utility.h"
|
87
|
+
#include "utils/guc_hooks.h"
|
88
|
+
#include "utils/injection_point.h"
|
89
89
|
#include "utils/lsyscache.h"
|
90
90
|
#include "utils/memutils.h"
|
91
91
|
#include "utils/ps_status.h"
|
92
92
|
#include "utils/snapmgr.h"
|
93
93
|
#include "utils/timeout.h"
|
94
94
|
#include "utils/timestamp.h"
|
95
|
+
#include "utils/varlena.h"
|
95
96
|
|
96
97
|
/* ----------------
|
97
98
|
* global variables
|
@@ -116,8 +117,25 @@ __thread int max_stack_depth = 100;
|
|
116
117
|
/* wait N seconds to allow attach from a debugger */
|
117
118
|
|
118
119
|
|
120
|
+
/* Time between checks that the client is still connected. */
|
121
|
+
|
122
|
+
|
123
|
+
/* flags for non-system relation kinds to restrict use */
|
119
124
|
|
120
125
|
|
126
|
+
/* ----------------
|
127
|
+
* private typedefs etc
|
128
|
+
* ----------------
|
129
|
+
*/
|
130
|
+
|
131
|
+
/* type of argument for bind_param_error_callback */
|
132
|
+
typedef struct BindParamCbData
|
133
|
+
{
|
134
|
+
const char *portalName;
|
135
|
+
int paramno; /* zero-based param number, or -1 initially */
|
136
|
+
const char *paramval; /* textual input string, if available */
|
137
|
+
} BindParamCbData;
|
138
|
+
|
121
139
|
/* ----------------
|
122
140
|
* private variables
|
123
141
|
* ----------------
|
@@ -129,19 +147,10 @@ static __thread long max_stack_depth_bytes = 100 * 1024L;
|
|
129
147
|
|
130
148
|
/*
|
131
149
|
* Stack base pointer -- initialized by PostmasterMain and inherited by
|
132
|
-
* subprocesses
|
133
|
-
* it directly. Newer versions use set_stack_base(), but we want to stay
|
134
|
-
* binary-compatible for the time being.
|
150
|
+
* subprocesses (but see also InitPostmasterChild).
|
135
151
|
*/
|
136
|
-
__thread char
|
137
|
-
|
152
|
+
static __thread char *stack_base_ptr = NULL;
|
138
153
|
|
139
|
-
/*
|
140
|
-
* On IA64 we also have to remember the register stack base.
|
141
|
-
*/
|
142
|
-
#if defined(__ia64__) || defined(__ia64)
|
143
|
-
char *register_stack_base_ptr = NULL;
|
144
|
-
#endif
|
145
154
|
|
146
155
|
/*
|
147
156
|
* Flag to keep track of whether we have started a transaction.
|
@@ -179,7 +188,6 @@ char *register_stack_base_ptr = NULL;
|
|
179
188
|
|
180
189
|
|
181
190
|
|
182
|
-
|
183
191
|
/* reused buffer to pass to SendRowDescriptionMessage() */
|
184
192
|
|
185
193
|
|
@@ -193,12 +201,11 @@ static int interactive_getc(void);
|
|
193
201
|
static int SocketBackend(StringInfo inBuf);
|
194
202
|
static int ReadCommand(StringInfo inBuf);
|
195
203
|
static void forbidden_in_wal_sender(char firstchar);
|
196
|
-
static List *pg_rewrite_query(Query *query);
|
197
204
|
static bool check_log_statement(List *stmt_list);
|
198
205
|
static int errdetail_execute(List *raw_parsetree_list);
|
199
206
|
static int errdetail_params(ParamListInfo params);
|
200
207
|
static int errdetail_abort(void);
|
201
|
-
static
|
208
|
+
static void bind_param_error_callback(void *arg);
|
202
209
|
static void start_xact_command(void);
|
203
210
|
static void finish_xact_command(void);
|
204
211
|
static bool IsTransactionExitStmt(Node *parsetree);
|
@@ -210,6 +217,36 @@ static void enable_statement_timeout(void);
|
|
210
217
|
static void disable_statement_timeout(void);
|
211
218
|
|
212
219
|
|
220
|
+
/* ----------------------------------------------------------------
|
221
|
+
* infrastructure for valgrind debugging
|
222
|
+
* ----------------------------------------------------------------
|
223
|
+
*/
|
224
|
+
#ifdef USE_VALGRIND
|
225
|
+
/* This variable should be set at the top of the main loop. */
|
226
|
+
static unsigned int old_valgrind_error_count;
|
227
|
+
|
228
|
+
/*
|
229
|
+
* If Valgrind detected any errors since old_valgrind_error_count was updated,
|
230
|
+
* report the current query as the cause. This should be called at the end
|
231
|
+
* of message processing.
|
232
|
+
*/
|
233
|
+
static void
|
234
|
+
valgrind_report_error_query(const char *query)
|
235
|
+
{
|
236
|
+
unsigned int valgrind_error_count = VALGRIND_COUNT_ERRORS;
|
237
|
+
|
238
|
+
if (unlikely(valgrind_error_count != old_valgrind_error_count) &&
|
239
|
+
query != NULL)
|
240
|
+
VALGRIND_PRINTF("Valgrind detected %u error(s) during execution of \"%s\"\n",
|
241
|
+
valgrind_error_count - old_valgrind_error_count,
|
242
|
+
query);
|
243
|
+
}
|
244
|
+
|
245
|
+
#else /* !USE_VALGRIND */
|
246
|
+
#define valgrind_report_error_query(query) ((void) 0)
|
247
|
+
#endif /* USE_VALGRIND */
|
248
|
+
|
249
|
+
|
213
250
|
/* ----------------------------------------------------------------
|
214
251
|
* routines to obtain user input
|
215
252
|
* ----------------------------------------------------------------
|
@@ -291,6 +328,8 @@ static void disable_statement_timeout(void);
|
|
291
328
|
*/
|
292
329
|
#ifdef COPY_PARSE_PLAN_TREES
|
293
330
|
#endif
|
331
|
+
#ifdef WRITE_READ_PARSE_PLAN_TREES
|
332
|
+
#endif
|
294
333
|
|
295
334
|
/*
|
296
335
|
* Given a raw parsetree (gram.y output), and optionally information about
|
@@ -304,9 +343,17 @@ static void disable_statement_timeout(void);
|
|
304
343
|
|
305
344
|
|
306
345
|
/*
|
307
|
-
* Do parse analysis and rewriting. This is the same as
|
308
|
-
* except that
|
309
|
-
*
|
346
|
+
* Do parse analysis and rewriting. This is the same as
|
347
|
+
* pg_analyze_and_rewrite_fixedparams except that it's okay to deduce
|
348
|
+
* information about $n symbol datatypes from context.
|
349
|
+
*/
|
350
|
+
|
351
|
+
|
352
|
+
/*
|
353
|
+
* Do parse analysis and rewriting. This is the same as
|
354
|
+
* pg_analyze_and_rewrite_fixedparams except that, instead of a fixed list of
|
355
|
+
* parameter datatypes, a parser callback is supplied that can do
|
356
|
+
* external-parameter resolution and possibly other things.
|
310
357
|
*/
|
311
358
|
|
312
359
|
|
@@ -433,6 +480,13 @@ static void disable_statement_timeout(void);
|
|
433
480
|
*/
|
434
481
|
|
435
482
|
|
483
|
+
/*
|
484
|
+
* bind_param_error_callback
|
485
|
+
*
|
486
|
+
* Error context callback used while parsing parameters in a Bind message
|
487
|
+
*/
|
488
|
+
|
489
|
+
|
436
490
|
/*
|
437
491
|
* exec_describe_statement_message
|
438
492
|
*
|
@@ -485,8 +539,8 @@ static void disable_statement_timeout(void);
|
|
485
539
|
/*
|
486
540
|
* quickdie() occurs when signaled SIGQUIT by the postmaster.
|
487
541
|
*
|
488
|
-
*
|
489
|
-
* so we need to stop what we're doing and exit.
|
542
|
+
* Either some backend has bought the farm, or we've been told to shut down
|
543
|
+
* "immediately"; so we need to stop what we're doing and exit.
|
490
544
|
*/
|
491
545
|
|
492
546
|
|
@@ -506,10 +560,18 @@ static void disable_statement_timeout(void);
|
|
506
560
|
|
507
561
|
|
508
562
|
/*
|
509
|
-
*
|
510
|
-
*
|
511
|
-
|
512
|
-
|
563
|
+
* Tell the next CHECK_FOR_INTERRUPTS() to check for a particular type of
|
564
|
+
* recovery conflict. Runs in a SIGUSR1 handler.
|
565
|
+
*/
|
566
|
+
|
567
|
+
|
568
|
+
/*
|
569
|
+
* Check one individual conflict reason.
|
570
|
+
*/
|
571
|
+
|
572
|
+
|
573
|
+
/*
|
574
|
+
* Check each possible recovery conflict reason.
|
513
575
|
*/
|
514
576
|
|
515
577
|
|
@@ -529,45 +591,6 @@ static void disable_statement_timeout(void);
|
|
529
591
|
void ProcessInterrupts(void) {}
|
530
592
|
|
531
593
|
|
532
|
-
|
533
|
-
/*
|
534
|
-
* IA64-specific code to fetch the AR.BSP register for stack depth checks.
|
535
|
-
*
|
536
|
-
* We currently support gcc, icc, and HP-UX's native compiler here.
|
537
|
-
*
|
538
|
-
* Note: while icc accepts gcc asm blocks on x86[_64], this is not true on
|
539
|
-
* ia64 (at least not in icc versions before 12.x). So we have to carry a
|
540
|
-
* separate implementation for it.
|
541
|
-
*/
|
542
|
-
#if defined(__ia64__) || defined(__ia64)
|
543
|
-
|
544
|
-
#if defined(__hpux) && !defined(__GNUC__) && !defined(__INTEL_COMPILER)
|
545
|
-
/* Assume it's HP-UX native compiler */
|
546
|
-
#include <ia64/sys/inline.h>
|
547
|
-
#define ia64_get_bsp() ((char *) (_Asm_mov_from_ar(_AREG_BSP, _NO_FENCE)))
|
548
|
-
#elif defined(__INTEL_COMPILER)
|
549
|
-
/* icc */
|
550
|
-
#include <asm/ia64regs.h>
|
551
|
-
#define ia64_get_bsp() ((char *) __getReg(_IA64_REG_AR_BSP))
|
552
|
-
#else
|
553
|
-
/* gcc */
|
554
|
-
static __inline__ char *
|
555
|
-
ia64_get_bsp(void)
|
556
|
-
{
|
557
|
-
char *ret;
|
558
|
-
|
559
|
-
/* the ;; is a "stop", seems to be required before fetching BSP */
|
560
|
-
__asm__ __volatile__(
|
561
|
-
";;\n"
|
562
|
-
" mov %0=ar.bsp \n"
|
563
|
-
: "=r"(ret));
|
564
|
-
|
565
|
-
return ret;
|
566
|
-
}
|
567
|
-
#endif
|
568
|
-
#endif /* IA64 */
|
569
|
-
|
570
|
-
|
571
594
|
/*
|
572
595
|
* set_stack_base: set up reference point for stack depth checking
|
573
596
|
*
|
@@ -575,14 +598,9 @@ ia64_get_bsp(void)
|
|
575
598
|
*/
|
576
599
|
#ifndef HAVE__BUILTIN_FRAME_ADDRESS
|
577
600
|
#endif
|
578
|
-
#if defined(__ia64__) || defined(__ia64)
|
579
|
-
#else
|
580
|
-
#endif
|
581
601
|
#ifdef HAVE__BUILTIN_FRAME_ADDRESS
|
582
602
|
#else
|
583
603
|
#endif
|
584
|
-
#if defined(__ia64__) || defined(__ia64)
|
585
|
-
#endif
|
586
604
|
|
587
605
|
/*
|
588
606
|
* restore_stack_base: restore reference point for stack depth checking
|
@@ -593,9 +611,7 @@ ia64_get_bsp(void)
|
|
593
611
|
* the main thread's stack, so it sets the base pointer before the call, and
|
594
612
|
* restores it afterwards.
|
595
613
|
*/
|
596
|
-
|
597
|
-
#else
|
598
|
-
#endif
|
614
|
+
|
599
615
|
|
600
616
|
/*
|
601
617
|
* check_stack_depth/stack_is_too_deep: check for excessively deep recursion
|
@@ -651,22 +667,6 @@ stack_is_too_deep(void)
|
|
651
667
|
stack_base_ptr != NULL)
|
652
668
|
return true;
|
653
669
|
|
654
|
-
/*
|
655
|
-
* On IA64 there is a separate "register" stack that requires its own
|
656
|
-
* independent check. For this, we have to measure the change in the
|
657
|
-
* "BSP" pointer from PostgresMain to here. Logic is just as above,
|
658
|
-
* except that we know IA64's register stack grows up.
|
659
|
-
*
|
660
|
-
* Note we assume that the same max_stack_depth applies to both stacks.
|
661
|
-
*/
|
662
|
-
#if defined(__ia64__) || defined(__ia64)
|
663
|
-
stack_depth = (long) (ia64_get_bsp() - register_stack_base_ptr);
|
664
|
-
|
665
|
-
if (stack_depth > max_stack_depth_bytes &&
|
666
|
-
register_stack_base_ptr != NULL)
|
667
|
-
return true;
|
668
|
-
#endif /* IA64 */
|
669
|
-
|
670
670
|
return false;
|
671
671
|
}
|
672
672
|
|
@@ -676,6 +676,40 @@ stack_is_too_deep(void)
|
|
676
676
|
/* GUC assign hook for max_stack_depth */
|
677
677
|
|
678
678
|
|
679
|
+
/*
|
680
|
+
* GUC check_hook for client_connection_check_interval
|
681
|
+
*/
|
682
|
+
|
683
|
+
|
684
|
+
/*
|
685
|
+
* GUC check_hook for log_parser_stats, log_planner_stats, log_executor_stats
|
686
|
+
*
|
687
|
+
* This function and check_log_stats interact to prevent their variables from
|
688
|
+
* being set in a disallowed combination. This is a hack that doesn't really
|
689
|
+
* work right; for example it might fail while applying pg_db_role_setting
|
690
|
+
* values even though the final state would have been acceptable. However,
|
691
|
+
* since these variables are legacy settings with little production usage,
|
692
|
+
* we tolerate that.
|
693
|
+
*/
|
694
|
+
|
695
|
+
|
696
|
+
/*
|
697
|
+
* GUC check_hook for log_statement_stats
|
698
|
+
*/
|
699
|
+
|
700
|
+
|
701
|
+
/* GUC assign hook for transaction_timeout */
|
702
|
+
|
703
|
+
|
704
|
+
/*
|
705
|
+
* GUC check_hook for restrict_nonsystem_relation_kind
|
706
|
+
*/
|
707
|
+
|
708
|
+
|
709
|
+
/*
|
710
|
+
* GUC assign_hook for restrict_nonsystem_relation_kind
|
711
|
+
*/
|
712
|
+
|
679
713
|
|
680
714
|
/*
|
681
715
|
* set_debug_options --- apply "-d N" command line option
|
@@ -694,7 +728,7 @@ stack_is_too_deep(void)
|
|
694
728
|
|
695
729
|
/* ----------------------------------------------------------------
|
696
730
|
* process_postgres_switches
|
697
|
-
* Parse command line arguments for
|
731
|
+
* Parse command line arguments for backends
|
698
732
|
*
|
699
733
|
* This is called twice, once for the "secure" options coming from the
|
700
734
|
* postmaster or command line, and once for the "insecure" options coming
|
@@ -717,19 +751,30 @@ stack_is_too_deep(void)
|
|
717
751
|
#endif
|
718
752
|
|
719
753
|
|
754
|
+
/*
|
755
|
+
* PostgresSingleUserMain
|
756
|
+
* Entry point for single user mode. argc/argv are the command line
|
757
|
+
* arguments to be used.
|
758
|
+
*
|
759
|
+
* Performs single user specific setup then calls PostgresMain() to actually
|
760
|
+
* process queries. Single user mode specific setup should go here, rather
|
761
|
+
* than PostgresMain() or InitPostgres() when reasonably possible.
|
762
|
+
*/
|
763
|
+
|
764
|
+
|
765
|
+
|
720
766
|
/* ----------------------------------------------------------------
|
721
767
|
* PostgresMain
|
722
|
-
* postgres main loop -- all backends, interactive or otherwise
|
768
|
+
* postgres main loop -- all backends, interactive or otherwise loop here
|
769
|
+
*
|
770
|
+
* dbname is the name of the database to connect to, username is the
|
771
|
+
* PostgreSQL user name to be used for the session.
|
723
772
|
*
|
724
|
-
*
|
725
|
-
*
|
726
|
-
* dbname is the name of the database to connect to, or NULL if the database
|
727
|
-
* name should be extracted from the command line arguments or defaulted.
|
728
|
-
* username is the PostgreSQL user name to be used for the session.
|
773
|
+
* NB: Single user mode specific setup should go to PostgresSingleUserMain()
|
774
|
+
* if reasonably possible.
|
729
775
|
* ----------------------------------------------------------------
|
730
776
|
*/
|
731
|
-
#ifdef
|
732
|
-
#else
|
777
|
+
#ifdef USE_VALGRIND
|
733
778
|
#endif
|
734
779
|
|
735
780
|
/*
|
@@ -747,11 +792,8 @@ stack_is_too_deep(void)
|
|
747
792
|
*
|
748
793
|
* Return -1 if unknown
|
749
794
|
*/
|
750
|
-
#if defined(HAVE_GETRLIMIT)
|
751
|
-
#else
|
752
|
-
#if defined(WIN32) || defined(__CYGWIN__)
|
753
|
-
#else /* not windows ... give up */
|
754
|
-
#endif
|
795
|
+
#if defined(HAVE_GETRLIMIT)
|
796
|
+
#else
|
755
797
|
#endif
|
756
798
|
|
757
799
|
|
@@ -760,11 +802,11 @@ stack_is_too_deep(void)
|
|
760
802
|
|
761
803
|
|
762
804
|
|
763
|
-
#
|
805
|
+
#ifndef WIN32
|
764
806
|
#if defined(__darwin__)
|
765
807
|
#else
|
766
808
|
#endif
|
767
|
-
#endif /*
|
809
|
+
#endif /* !WIN32 */
|
768
810
|
|
769
811
|
/*
|
770
812
|
* on_proc_exit handler to log end of session
|
@@ -0,0 +1,140 @@
|
|
1
|
+
/*--------------------------------------------------------------------
|
2
|
+
* Symbols referenced in this file:
|
3
|
+
* - pgStatSessionEndCause
|
4
|
+
*--------------------------------------------------------------------
|
5
|
+
*/
|
6
|
+
|
7
|
+
/* -------------------------------------------------------------------------
|
8
|
+
*
|
9
|
+
* pgstat_database.c
|
10
|
+
* Implementation of database statistics.
|
11
|
+
*
|
12
|
+
* This file contains the implementation of database statistics. It is kept
|
13
|
+
* separate from pgstat.c to enforce the line between the statistics access /
|
14
|
+
* storage implementation and the details about individual types of
|
15
|
+
* statistics.
|
16
|
+
*
|
17
|
+
* Copyright (c) 2001-2024, PostgreSQL Global Development Group
|
18
|
+
*
|
19
|
+
* IDENTIFICATION
|
20
|
+
* src/backend/utils/activity/pgstat_database.c
|
21
|
+
* -------------------------------------------------------------------------
|
22
|
+
*/
|
23
|
+
|
24
|
+
#include "postgres.h"
|
25
|
+
|
26
|
+
#include "storage/procsignal.h"
|
27
|
+
#include "utils/pgstat_internal.h"
|
28
|
+
#include "utils/timestamp.h"
|
29
|
+
|
30
|
+
|
31
|
+
static bool pgstat_should_report_connstat(void);
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
__thread SessionEndType pgStatSessionEndCause = DISCONNECT_NORMAL;
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
/*
|
48
|
+
* Remove entry for the database being dropped.
|
49
|
+
*/
|
50
|
+
|
51
|
+
|
52
|
+
/*
|
53
|
+
* Called from autovacuum.c to report startup of an autovacuum process.
|
54
|
+
* We are called before InitPostgres is done, so can't rely on MyDatabaseId;
|
55
|
+
* the db OID must be passed in, instead.
|
56
|
+
*/
|
57
|
+
|
58
|
+
|
59
|
+
/*
|
60
|
+
* Report a Hot Standby recovery conflict.
|
61
|
+
*/
|
62
|
+
|
63
|
+
|
64
|
+
/*
|
65
|
+
* Report a detected deadlock.
|
66
|
+
*/
|
67
|
+
|
68
|
+
|
69
|
+
/*
|
70
|
+
* Report one or more checksum failures.
|
71
|
+
*/
|
72
|
+
|
73
|
+
|
74
|
+
/*
|
75
|
+
* Report one checksum failure in the current database.
|
76
|
+
*/
|
77
|
+
|
78
|
+
|
79
|
+
/*
|
80
|
+
* Report creation of temporary file.
|
81
|
+
*/
|
82
|
+
|
83
|
+
|
84
|
+
/*
|
85
|
+
* Notify stats system of a new connection.
|
86
|
+
*/
|
87
|
+
|
88
|
+
|
89
|
+
/*
|
90
|
+
* Notify the stats system of a disconnect.
|
91
|
+
*/
|
92
|
+
|
93
|
+
|
94
|
+
/*
|
95
|
+
* Support function for the SQL-callable pgstat* functions. Returns
|
96
|
+
* the collected statistics for one database or NULL. NULL doesn't mean
|
97
|
+
* that the database doesn't exist, just that there are no statistics, so the
|
98
|
+
* caller is better off to report ZERO instead.
|
99
|
+
*/
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
/*
|
105
|
+
* Subroutine for pgstat_report_stat(): Handle xact commit/rollback and I/O
|
106
|
+
* timings.
|
107
|
+
*/
|
108
|
+
|
109
|
+
|
110
|
+
/*
|
111
|
+
* We report session statistics only for normal backend processes. Parallel
|
112
|
+
* workers run in parallel, so they don't contribute to session times, even
|
113
|
+
* though they use CPU time. Walsender processes could be considered here,
|
114
|
+
* but they have different session characteristics from normal backends (for
|
115
|
+
* example, they are always "active"), so they would skew session statistics.
|
116
|
+
*/
|
117
|
+
|
118
|
+
|
119
|
+
/*
|
120
|
+
* Find or create a local PgStat_StatDBEntry entry for dboid.
|
121
|
+
*/
|
122
|
+
|
123
|
+
|
124
|
+
/*
|
125
|
+
* Reset the database's reset timestamp, without resetting the contents of the
|
126
|
+
* database stats.
|
127
|
+
*/
|
128
|
+
|
129
|
+
|
130
|
+
/*
|
131
|
+
* Flush out pending stats for the entry
|
132
|
+
*
|
133
|
+
* If nowait is true, this function returns false if lock could not
|
134
|
+
* immediately acquired, otherwise true is returned.
|
135
|
+
*/
|
136
|
+
#define PGSTAT_ACCUM_DBCOUNT(item) \
|
137
|
+
(sharedent)->stats.item += (pendingent)->item
|
138
|
+
#undef PGSTAT_ACCUM_DBCOUNT
|
139
|
+
|
140
|
+
|