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
@@ -1,74 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* postgres_ext.h
|
4
|
-
*
|
5
|
-
* This file contains declarations of things that are visible everywhere
|
6
|
-
* in PostgreSQL *and* are visible to clients of frontend interface libraries.
|
7
|
-
* For example, the Oid type is part of the API of libpq and other libraries.
|
8
|
-
*
|
9
|
-
* Declarations which are specific to a particular interface should
|
10
|
-
* go in the header file for that interface (such as libpq-fe.h). This
|
11
|
-
* file is only for fundamental Postgres declarations.
|
12
|
-
*
|
13
|
-
* User-written C functions don't count as "external to Postgres."
|
14
|
-
* Those function much as local modifications to the backend itself, and
|
15
|
-
* use header files that are otherwise internal to Postgres to interface
|
16
|
-
* with the backend.
|
17
|
-
*
|
18
|
-
* src/include/postgres_ext.h
|
19
|
-
*
|
20
|
-
*-------------------------------------------------------------------------
|
21
|
-
*/
|
22
|
-
|
23
|
-
#ifndef POSTGRES_EXT_H
|
24
|
-
#define POSTGRES_EXT_H
|
25
|
-
|
26
|
-
#include "pg_config_ext.h"
|
27
|
-
|
28
|
-
/*
|
29
|
-
* Object ID is a fundamental type in Postgres.
|
30
|
-
*/
|
31
|
-
typedef unsigned int Oid;
|
32
|
-
|
33
|
-
#ifdef __cplusplus
|
34
|
-
#define InvalidOid (Oid(0))
|
35
|
-
#else
|
36
|
-
#define InvalidOid ((Oid) 0)
|
37
|
-
#endif
|
38
|
-
|
39
|
-
#define OID_MAX UINT_MAX
|
40
|
-
/* you will need to include <limits.h> to use the above #define */
|
41
|
-
|
42
|
-
#define atooid(x) ((Oid) strtoul((x), NULL, 10))
|
43
|
-
/* the above needs <stdlib.h> */
|
44
|
-
|
45
|
-
|
46
|
-
/* Define a signed 64-bit integer type for use in client API declarations. */
|
47
|
-
typedef PG_INT64_TYPE pg_int64;
|
48
|
-
|
49
|
-
|
50
|
-
/*
|
51
|
-
* Identifiers of error message fields. Kept here to keep common
|
52
|
-
* between frontend and backend, and also to export them to libpq
|
53
|
-
* applications.
|
54
|
-
*/
|
55
|
-
#define PG_DIAG_SEVERITY 'S'
|
56
|
-
#define PG_DIAG_SEVERITY_NONLOCALIZED 'V'
|
57
|
-
#define PG_DIAG_SQLSTATE 'C'
|
58
|
-
#define PG_DIAG_MESSAGE_PRIMARY 'M'
|
59
|
-
#define PG_DIAG_MESSAGE_DETAIL 'D'
|
60
|
-
#define PG_DIAG_MESSAGE_HINT 'H'
|
61
|
-
#define PG_DIAG_STATEMENT_POSITION 'P'
|
62
|
-
#define PG_DIAG_INTERNAL_POSITION 'p'
|
63
|
-
#define PG_DIAG_INTERNAL_QUERY 'q'
|
64
|
-
#define PG_DIAG_CONTEXT 'W'
|
65
|
-
#define PG_DIAG_SCHEMA_NAME 's'
|
66
|
-
#define PG_DIAG_TABLE_NAME 't'
|
67
|
-
#define PG_DIAG_COLUMN_NAME 'c'
|
68
|
-
#define PG_DIAG_DATATYPE_NAME 'd'
|
69
|
-
#define PG_DIAG_CONSTRAINT_NAME 'n'
|
70
|
-
#define PG_DIAG_SOURCE_FILE 'F'
|
71
|
-
#define PG_DIAG_SOURCE_LINE 'L'
|
72
|
-
#define PG_DIAG_SOURCE_FUNCTION 'R'
|
73
|
-
|
74
|
-
#endif /* POSTGRES_EXT_H */
|
@@ -1,83 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* autovacuum.h
|
4
|
-
* header file for integrated autovacuum daemon
|
5
|
-
*
|
6
|
-
*
|
7
|
-
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
8
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
9
|
-
*
|
10
|
-
* src/include/postmaster/autovacuum.h
|
11
|
-
*
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
#ifndef AUTOVACUUM_H
|
15
|
-
#define AUTOVACUUM_H
|
16
|
-
|
17
|
-
#include "storage/block.h"
|
18
|
-
|
19
|
-
/*
|
20
|
-
* Other processes can request specific work from autovacuum, identified by
|
21
|
-
* AutoVacuumWorkItem elements.
|
22
|
-
*/
|
23
|
-
typedef enum
|
24
|
-
{
|
25
|
-
AVW_BRINSummarizeRange
|
26
|
-
} AutoVacuumWorkItemType;
|
27
|
-
|
28
|
-
|
29
|
-
/* GUC variables */
|
30
|
-
extern bool autovacuum_start_daemon;
|
31
|
-
extern int autovacuum_max_workers;
|
32
|
-
extern int autovacuum_work_mem;
|
33
|
-
extern int autovacuum_naptime;
|
34
|
-
extern int autovacuum_vac_thresh;
|
35
|
-
extern double autovacuum_vac_scale;
|
36
|
-
extern int autovacuum_vac_ins_thresh;
|
37
|
-
extern double autovacuum_vac_ins_scale;
|
38
|
-
extern int autovacuum_anl_thresh;
|
39
|
-
extern double autovacuum_anl_scale;
|
40
|
-
extern int autovacuum_freeze_max_age;
|
41
|
-
extern int autovacuum_multixact_freeze_max_age;
|
42
|
-
extern double autovacuum_vac_cost_delay;
|
43
|
-
extern int autovacuum_vac_cost_limit;
|
44
|
-
|
45
|
-
/* autovacuum launcher PID, only valid when worker is shutting down */
|
46
|
-
extern int AutovacuumLauncherPid;
|
47
|
-
|
48
|
-
extern int Log_autovacuum_min_duration;
|
49
|
-
|
50
|
-
/* Status inquiry functions */
|
51
|
-
extern bool AutoVacuumingActive(void);
|
52
|
-
extern bool IsAutoVacuumLauncherProcess(void);
|
53
|
-
extern bool IsAutoVacuumWorkerProcess(void);
|
54
|
-
|
55
|
-
#define IsAnyAutoVacuumProcess() \
|
56
|
-
(IsAutoVacuumLauncherProcess() || IsAutoVacuumWorkerProcess())
|
57
|
-
|
58
|
-
/* Functions to start autovacuum process, called from postmaster */
|
59
|
-
extern void autovac_init(void);
|
60
|
-
extern int StartAutoVacLauncher(void);
|
61
|
-
extern int StartAutoVacWorker(void);
|
62
|
-
|
63
|
-
/* called from postmaster when a worker could not be forked */
|
64
|
-
extern void AutoVacWorkerFailed(void);
|
65
|
-
|
66
|
-
/* autovacuum cost-delay balancer */
|
67
|
-
extern void AutoVacuumUpdateDelay(void);
|
68
|
-
|
69
|
-
#ifdef EXEC_BACKEND
|
70
|
-
extern void AutoVacLauncherMain(int argc, char *argv[]) pg_attribute_noreturn();
|
71
|
-
extern void AutoVacWorkerMain(int argc, char *argv[]) pg_attribute_noreturn();
|
72
|
-
extern void AutovacuumWorkerIAm(void);
|
73
|
-
extern void AutovacuumLauncherIAm(void);
|
74
|
-
#endif
|
75
|
-
|
76
|
-
extern bool AutoVacuumRequestWork(AutoVacuumWorkItemType type,
|
77
|
-
Oid relationId, BlockNumber blkno);
|
78
|
-
|
79
|
-
/* shared memory stuff */
|
80
|
-
extern Size AutoVacuumShmemSize(void);
|
81
|
-
extern void AutoVacuumShmemInit(void);
|
82
|
-
|
83
|
-
#endif /* AUTOVACUUM_H */
|
@@ -1,161 +0,0 @@
|
|
1
|
-
/*--------------------------------------------------------------------
|
2
|
-
* bgworker.h
|
3
|
-
* POSTGRES pluggable background workers interface
|
4
|
-
*
|
5
|
-
* A background worker is a process able to run arbitrary, user-supplied code,
|
6
|
-
* including normal transactions.
|
7
|
-
*
|
8
|
-
* Any external module loaded via shared_preload_libraries can register a
|
9
|
-
* worker. Workers can also be registered dynamically at runtime. In either
|
10
|
-
* case, the worker process is forked from the postmaster and runs the
|
11
|
-
* user-supplied "main" function. This code may connect to a database and
|
12
|
-
* run transactions. Workers can remain active indefinitely, but will be
|
13
|
-
* terminated if a shutdown or crash occurs.
|
14
|
-
*
|
15
|
-
* If the fork() call fails in the postmaster, it will try again later. Note
|
16
|
-
* that the failure can only be transient (fork failure due to high load,
|
17
|
-
* memory pressure, too many processes, etc); more permanent problems, like
|
18
|
-
* failure to connect to a database, are detected later in the worker and dealt
|
19
|
-
* with just by having the worker exit normally. A worker which exits with
|
20
|
-
* a return code of 0 will never be restarted and will be removed from worker
|
21
|
-
* list. A worker which exits with a return code of 1 will be restarted after
|
22
|
-
* the configured restart interval (unless that interval is BGW_NEVER_RESTART).
|
23
|
-
* The TerminateBackgroundWorker() function can be used to terminate a
|
24
|
-
* dynamically registered background worker; the worker will be sent a SIGTERM
|
25
|
-
* and will not be restarted after it exits. Whenever the postmaster knows
|
26
|
-
* that a worker will not be restarted, it unregisters the worker, freeing up
|
27
|
-
* that worker's slot for use by a new worker.
|
28
|
-
*
|
29
|
-
* Note that there might be more than one worker in a database concurrently,
|
30
|
-
* and the same module may request more than one worker running the same (or
|
31
|
-
* different) code.
|
32
|
-
*
|
33
|
-
*
|
34
|
-
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
35
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
36
|
-
*
|
37
|
-
* IDENTIFICATION
|
38
|
-
* src/include/postmaster/bgworker.h
|
39
|
-
*--------------------------------------------------------------------
|
40
|
-
*/
|
41
|
-
#ifndef BGWORKER_H
|
42
|
-
#define BGWORKER_H
|
43
|
-
|
44
|
-
/*---------------------------------------------------------------------
|
45
|
-
* External module API.
|
46
|
-
*---------------------------------------------------------------------
|
47
|
-
*/
|
48
|
-
|
49
|
-
/*
|
50
|
-
* Pass this flag to have your worker be able to connect to shared memory.
|
51
|
-
*/
|
52
|
-
#define BGWORKER_SHMEM_ACCESS 0x0001
|
53
|
-
|
54
|
-
/*
|
55
|
-
* This flag means the bgworker requires a database connection. The connection
|
56
|
-
* is not established automatically; the worker must establish it later.
|
57
|
-
* It requires that BGWORKER_SHMEM_ACCESS was passed too.
|
58
|
-
*/
|
59
|
-
#define BGWORKER_BACKEND_DATABASE_CONNECTION 0x0002
|
60
|
-
|
61
|
-
/*
|
62
|
-
* This class is used internally for parallel queries, to keep track of the
|
63
|
-
* number of active parallel workers and make sure we never launch more than
|
64
|
-
* max_parallel_workers parallel workers at the same time. Third party
|
65
|
-
* background workers should not use this class.
|
66
|
-
*/
|
67
|
-
#define BGWORKER_CLASS_PARALLEL 0x0010
|
68
|
-
/* add additional bgworker classes here */
|
69
|
-
|
70
|
-
|
71
|
-
typedef void (*bgworker_main_type) (Datum main_arg);
|
72
|
-
|
73
|
-
/*
|
74
|
-
* Points in time at which a bgworker can request to be started
|
75
|
-
*/
|
76
|
-
typedef enum
|
77
|
-
{
|
78
|
-
BgWorkerStart_PostmasterStart,
|
79
|
-
BgWorkerStart_ConsistentState,
|
80
|
-
BgWorkerStart_RecoveryFinished
|
81
|
-
} BgWorkerStartTime;
|
82
|
-
|
83
|
-
#define BGW_DEFAULT_RESTART_INTERVAL 60
|
84
|
-
#define BGW_NEVER_RESTART -1
|
85
|
-
#define BGW_MAXLEN 96
|
86
|
-
#define BGW_EXTRALEN 128
|
87
|
-
|
88
|
-
typedef struct BackgroundWorker
|
89
|
-
{
|
90
|
-
char bgw_name[BGW_MAXLEN];
|
91
|
-
char bgw_type[BGW_MAXLEN];
|
92
|
-
int bgw_flags;
|
93
|
-
BgWorkerStartTime bgw_start_time;
|
94
|
-
int bgw_restart_time; /* in seconds, or BGW_NEVER_RESTART */
|
95
|
-
char bgw_library_name[BGW_MAXLEN];
|
96
|
-
char bgw_function_name[BGW_MAXLEN];
|
97
|
-
Datum bgw_main_arg;
|
98
|
-
char bgw_extra[BGW_EXTRALEN];
|
99
|
-
pid_t bgw_notify_pid; /* SIGUSR1 this backend on start/stop */
|
100
|
-
} BackgroundWorker;
|
101
|
-
|
102
|
-
typedef enum BgwHandleStatus
|
103
|
-
{
|
104
|
-
BGWH_STARTED, /* worker is running */
|
105
|
-
BGWH_NOT_YET_STARTED, /* worker hasn't been started yet */
|
106
|
-
BGWH_STOPPED, /* worker has exited */
|
107
|
-
BGWH_POSTMASTER_DIED /* postmaster died; worker status unclear */
|
108
|
-
} BgwHandleStatus;
|
109
|
-
|
110
|
-
struct BackgroundWorkerHandle;
|
111
|
-
typedef struct BackgroundWorkerHandle BackgroundWorkerHandle;
|
112
|
-
|
113
|
-
/* Register a new bgworker during shared_preload_libraries */
|
114
|
-
extern void RegisterBackgroundWorker(BackgroundWorker *worker);
|
115
|
-
|
116
|
-
/* Register a new bgworker from a regular backend */
|
117
|
-
extern bool RegisterDynamicBackgroundWorker(BackgroundWorker *worker,
|
118
|
-
BackgroundWorkerHandle **handle);
|
119
|
-
|
120
|
-
/* Query the status of a bgworker */
|
121
|
-
extern BgwHandleStatus GetBackgroundWorkerPid(BackgroundWorkerHandle *handle,
|
122
|
-
pid_t *pidp);
|
123
|
-
extern BgwHandleStatus WaitForBackgroundWorkerStartup(BackgroundWorkerHandle *handle, pid_t *pid);
|
124
|
-
extern BgwHandleStatus
|
125
|
-
WaitForBackgroundWorkerShutdown(BackgroundWorkerHandle *);
|
126
|
-
extern const char *GetBackgroundWorkerTypeByPid(pid_t pid);
|
127
|
-
|
128
|
-
/* Terminate a bgworker */
|
129
|
-
extern void TerminateBackgroundWorker(BackgroundWorkerHandle *handle);
|
130
|
-
|
131
|
-
/* This is valid in a running worker */
|
132
|
-
extern PGDLLIMPORT BackgroundWorker *MyBgworkerEntry;
|
133
|
-
|
134
|
-
/*
|
135
|
-
* Connect to the specified database, as the specified user. Only a worker
|
136
|
-
* that passed BGWORKER_BACKEND_DATABASE_CONNECTION during registration may
|
137
|
-
* call this.
|
138
|
-
*
|
139
|
-
* If username is NULL, bootstrapping superuser is used.
|
140
|
-
* If dbname is NULL, connection is made to no specific database;
|
141
|
-
* only shared catalogs can be accessed.
|
142
|
-
*/
|
143
|
-
extern void BackgroundWorkerInitializeConnection(const char *dbname, const char *username, uint32 flags);
|
144
|
-
|
145
|
-
/* Just like the above, but specifying database and user by OID. */
|
146
|
-
extern void BackgroundWorkerInitializeConnectionByOid(Oid dboid, Oid useroid, uint32 flags);
|
147
|
-
|
148
|
-
/*
|
149
|
-
* Flags to BackgroundWorkerInitializeConnection et al
|
150
|
-
*
|
151
|
-
*
|
152
|
-
* Allow bypassing datallowconn restrictions when connecting to database
|
153
|
-
*/
|
154
|
-
#define BGWORKER_BYPASS_ALLOWCONN 1
|
155
|
-
|
156
|
-
|
157
|
-
/* Block/unblock signals in a background worker process */
|
158
|
-
extern void BackgroundWorkerBlockSignals(void);
|
159
|
-
extern void BackgroundWorkerUnblockSignals(void);
|
160
|
-
|
161
|
-
#endif /* BGWORKER_H */
|
@@ -1,64 +0,0 @@
|
|
1
|
-
/*--------------------------------------------------------------------
|
2
|
-
* bgworker_internals.h
|
3
|
-
* POSTGRES pluggable background workers internals
|
4
|
-
*
|
5
|
-
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
6
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
7
|
-
*
|
8
|
-
* IDENTIFICATION
|
9
|
-
* src/include/postmaster/bgworker_internals.h
|
10
|
-
*--------------------------------------------------------------------
|
11
|
-
*/
|
12
|
-
#ifndef BGWORKER_INTERNALS_H
|
13
|
-
#define BGWORKER_INTERNALS_H
|
14
|
-
|
15
|
-
#include "datatype/timestamp.h"
|
16
|
-
#include "lib/ilist.h"
|
17
|
-
#include "postmaster/bgworker.h"
|
18
|
-
|
19
|
-
/* GUC options */
|
20
|
-
|
21
|
-
/*
|
22
|
-
* Maximum possible value of parallel workers.
|
23
|
-
*/
|
24
|
-
#define MAX_PARALLEL_WORKER_LIMIT 1024
|
25
|
-
|
26
|
-
/*
|
27
|
-
* List of background workers, private to postmaster.
|
28
|
-
*
|
29
|
-
* A worker that requests a database connection during registration will have
|
30
|
-
* rw_backend set, and will be present in BackendList. Note: do not rely on
|
31
|
-
* rw_backend being non-NULL for shmem-connected workers!
|
32
|
-
*/
|
33
|
-
typedef struct RegisteredBgWorker
|
34
|
-
{
|
35
|
-
BackgroundWorker rw_worker; /* its registry entry */
|
36
|
-
struct bkend *rw_backend; /* its BackendList entry, or NULL */
|
37
|
-
pid_t rw_pid; /* 0 if not running */
|
38
|
-
int rw_child_slot;
|
39
|
-
TimestampTz rw_crashed_at; /* if not 0, time it last crashed */
|
40
|
-
int rw_shmem_slot;
|
41
|
-
bool rw_terminate;
|
42
|
-
slist_node rw_lnode; /* list link */
|
43
|
-
} RegisteredBgWorker;
|
44
|
-
|
45
|
-
extern slist_head BackgroundWorkerList;
|
46
|
-
|
47
|
-
extern Size BackgroundWorkerShmemSize(void);
|
48
|
-
extern void BackgroundWorkerShmemInit(void);
|
49
|
-
extern void BackgroundWorkerStateChange(bool allow_new_workers);
|
50
|
-
extern void ForgetBackgroundWorker(slist_mutable_iter *cur);
|
51
|
-
extern void ReportBackgroundWorkerPID(RegisteredBgWorker *);
|
52
|
-
extern void ReportBackgroundWorkerExit(slist_mutable_iter *cur);
|
53
|
-
extern void BackgroundWorkerStopNotifications(pid_t pid);
|
54
|
-
extern void ForgetUnstartedBackgroundWorkers(void);
|
55
|
-
extern void ResetBackgroundWorkerCrashTimes(void);
|
56
|
-
|
57
|
-
/* Function to start a background worker, called from postmaster.c */
|
58
|
-
extern void StartBackgroundWorker(void) pg_attribute_noreturn();
|
59
|
-
|
60
|
-
#ifdef EXEC_BACKEND
|
61
|
-
extern BackgroundWorker *BackgroundWorkerEntry(int slotno);
|
62
|
-
#endif
|
63
|
-
|
64
|
-
#endif /* BGWORKER_INTERNALS_H */
|
@@ -1,45 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* bgwriter.h
|
4
|
-
* Exports from postmaster/bgwriter.c and postmaster/checkpointer.c.
|
5
|
-
*
|
6
|
-
* The bgwriter process used to handle checkpointing duties too. Now
|
7
|
-
* there is a separate process, but we did not bother to split this header.
|
8
|
-
*
|
9
|
-
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
10
|
-
*
|
11
|
-
* src/include/postmaster/bgwriter.h
|
12
|
-
*
|
13
|
-
*-------------------------------------------------------------------------
|
14
|
-
*/
|
15
|
-
#ifndef _BGWRITER_H
|
16
|
-
#define _BGWRITER_H
|
17
|
-
|
18
|
-
#include "storage/block.h"
|
19
|
-
#include "storage/relfilenode.h"
|
20
|
-
#include "storage/smgr.h"
|
21
|
-
#include "storage/sync.h"
|
22
|
-
|
23
|
-
|
24
|
-
/* GUC options */
|
25
|
-
extern int BgWriterDelay;
|
26
|
-
extern int CheckPointTimeout;
|
27
|
-
extern int CheckPointWarning;
|
28
|
-
extern double CheckPointCompletionTarget;
|
29
|
-
|
30
|
-
extern void BackgroundWriterMain(void) pg_attribute_noreturn();
|
31
|
-
extern void CheckpointerMain(void) pg_attribute_noreturn();
|
32
|
-
|
33
|
-
extern void RequestCheckpoint(int flags);
|
34
|
-
extern void CheckpointWriteDelay(int flags, double progress);
|
35
|
-
|
36
|
-
extern bool ForwardSyncRequest(const FileTag *ftag, SyncRequestType type);
|
37
|
-
|
38
|
-
extern void AbsorbSyncRequests(void);
|
39
|
-
|
40
|
-
extern Size CheckpointerShmemSize(void);
|
41
|
-
extern void CheckpointerShmemInit(void);
|
42
|
-
|
43
|
-
extern bool FirstCallSinceLastCheckpoint(void);
|
44
|
-
|
45
|
-
#endif /* _BGWRITER_H */
|
@@ -1,17 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* fork_process.h
|
4
|
-
* Exports from postmaster/fork_process.c.
|
5
|
-
*
|
6
|
-
* Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
7
|
-
*
|
8
|
-
* src/include/postmaster/fork_process.h
|
9
|
-
*
|
10
|
-
*-------------------------------------------------------------------------
|
11
|
-
*/
|
12
|
-
#ifndef FORK_PROCESS_H
|
13
|
-
#define FORK_PROCESS_H
|
14
|
-
|
15
|
-
extern pid_t fork_process(void);
|
16
|
-
|
17
|
-
#endif /* FORK_PROCESS_H */
|
@@ -1,32 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* interrupt.h
|
4
|
-
* Interrupt handling routines.
|
5
|
-
*
|
6
|
-
* Responses to interrupts are fairly varied and many types of backends
|
7
|
-
* have their own implementations, but we provide a few generic things
|
8
|
-
* here to facilitate code reuse.
|
9
|
-
*
|
10
|
-
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
11
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
12
|
-
*
|
13
|
-
* IDENTIFICATION
|
14
|
-
* src/include/postmaster/interrupt.h
|
15
|
-
*
|
16
|
-
*-------------------------------------------------------------------------
|
17
|
-
*/
|
18
|
-
|
19
|
-
#ifndef INTERRUPT_H
|
20
|
-
#define INTERRUPT_H
|
21
|
-
|
22
|
-
#include <signal.h>
|
23
|
-
|
24
|
-
extern PGDLLIMPORT volatile sig_atomic_t ConfigReloadPending;
|
25
|
-
extern PGDLLIMPORT volatile sig_atomic_t ShutdownRequestPending;
|
26
|
-
|
27
|
-
extern void HandleMainLoopInterrupts(void);
|
28
|
-
extern void SignalHandlerForConfigReload(SIGNAL_ARGS);
|
29
|
-
extern void SignalHandlerForCrashExit(SIGNAL_ARGS);
|
30
|
-
extern void SignalHandlerForShutdownRequest(SIGNAL_ARGS);
|
31
|
-
|
32
|
-
#endif
|
@@ -1,39 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* pgarch.h
|
4
|
-
* Exports from postmaster/pgarch.c.
|
5
|
-
*
|
6
|
-
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
7
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
8
|
-
*
|
9
|
-
* src/include/postmaster/pgarch.h
|
10
|
-
*
|
11
|
-
*-------------------------------------------------------------------------
|
12
|
-
*/
|
13
|
-
#ifndef _PGARCH_H
|
14
|
-
#define _PGARCH_H
|
15
|
-
|
16
|
-
/* ----------
|
17
|
-
* Archiver control info.
|
18
|
-
*
|
19
|
-
* We expect that archivable files within pg_wal will have names between
|
20
|
-
* MIN_XFN_CHARS and MAX_XFN_CHARS in length, consisting only of characters
|
21
|
-
* appearing in VALID_XFN_CHARS. The status files in archive_status have
|
22
|
-
* corresponding names with ".ready" or ".done" appended.
|
23
|
-
* ----------
|
24
|
-
*/
|
25
|
-
#define MIN_XFN_CHARS 16
|
26
|
-
#define MAX_XFN_CHARS 40
|
27
|
-
#define VALID_XFN_CHARS "0123456789ABCDEF.history.backup.partial"
|
28
|
-
|
29
|
-
/* ----------
|
30
|
-
* Functions called from postmaster
|
31
|
-
* ----------
|
32
|
-
*/
|
33
|
-
extern int pgarch_start(void);
|
34
|
-
|
35
|
-
#ifdef EXEC_BACKEND
|
36
|
-
extern void PgArchiverMain(int argc, char *argv[]) pg_attribute_noreturn();
|
37
|
-
#endif
|
38
|
-
|
39
|
-
#endif /* _PGARCH_H */
|
@@ -1,77 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* postmaster.h
|
4
|
-
* Exports from postmaster/postmaster.c.
|
5
|
-
*
|
6
|
-
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
7
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
8
|
-
*
|
9
|
-
* src/include/postmaster/postmaster.h
|
10
|
-
*
|
11
|
-
*-------------------------------------------------------------------------
|
12
|
-
*/
|
13
|
-
#ifndef _POSTMASTER_H
|
14
|
-
#define _POSTMASTER_H
|
15
|
-
|
16
|
-
/* GUC options */
|
17
|
-
extern bool EnableSSL;
|
18
|
-
extern int ReservedBackends;
|
19
|
-
extern PGDLLIMPORT int PostPortNumber;
|
20
|
-
extern int Unix_socket_permissions;
|
21
|
-
extern char *Unix_socket_group;
|
22
|
-
extern char *Unix_socket_directories;
|
23
|
-
extern char *ListenAddresses;
|
24
|
-
extern __thread bool ClientAuthInProgress;
|
25
|
-
extern int PreAuthDelay;
|
26
|
-
extern int AuthenticationTimeout;
|
27
|
-
extern bool Log_connections;
|
28
|
-
extern bool log_hostname;
|
29
|
-
extern bool enable_bonjour;
|
30
|
-
extern char *bonjour_name;
|
31
|
-
extern bool restart_after_crash;
|
32
|
-
|
33
|
-
#ifdef WIN32
|
34
|
-
extern HANDLE PostmasterHandle;
|
35
|
-
#else
|
36
|
-
extern int postmaster_alive_fds[2];
|
37
|
-
|
38
|
-
/*
|
39
|
-
* Constants that represent which of postmaster_alive_fds is held by
|
40
|
-
* postmaster, and which is used in children to check for postmaster death.
|
41
|
-
*/
|
42
|
-
#define POSTMASTER_FD_WATCH 0 /* used in children to check for
|
43
|
-
* postmaster death */
|
44
|
-
#define POSTMASTER_FD_OWN 1 /* kept open by postmaster only */
|
45
|
-
#endif
|
46
|
-
|
47
|
-
extern PGDLLIMPORT const char *progname;
|
48
|
-
|
49
|
-
extern void PostmasterMain(int argc, char *argv[]) pg_attribute_noreturn();
|
50
|
-
extern void ClosePostmasterPorts(bool am_syslogger);
|
51
|
-
extern void InitProcessGlobals(void);
|
52
|
-
|
53
|
-
extern int MaxLivePostmasterChildren(void);
|
54
|
-
|
55
|
-
extern bool PostmasterMarkPIDForWorkerNotify(int);
|
56
|
-
|
57
|
-
#ifdef EXEC_BACKEND
|
58
|
-
extern pid_t postmaster_forkexec(int argc, char *argv[]);
|
59
|
-
extern void SubPostmasterMain(int argc, char *argv[]) pg_attribute_noreturn();
|
60
|
-
|
61
|
-
extern Size ShmemBackendArraySize(void);
|
62
|
-
extern void ShmemBackendArrayAllocation(void);
|
63
|
-
#endif
|
64
|
-
|
65
|
-
/*
|
66
|
-
* Note: MAX_BACKENDS is limited to 2^18-1 because that's the width reserved
|
67
|
-
* for buffer references in buf_internals.h. This limitation could be lifted
|
68
|
-
* by using a 64bit state; but it's unlikely to be worthwhile as 2^18-1
|
69
|
-
* backends exceed currently realistic configurations. Even if that limitation
|
70
|
-
* were removed, we still could not a) exceed 2^23-1 because inval.c stores
|
71
|
-
* the backend ID as a 3-byte signed integer, b) INT_MAX/4 because some places
|
72
|
-
* compute 4*MaxBackends without any overflow check. This is rechecked in the
|
73
|
-
* relevant GUC check hooks and in RegisterBackgroundWorker().
|
74
|
-
*/
|
75
|
-
#define MAX_BACKENDS 0x3FFFF
|
76
|
-
|
77
|
-
#endif /* _POSTMASTER_H */
|
@@ -1,98 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* syslogger.h
|
4
|
-
* Exports from postmaster/syslogger.c.
|
5
|
-
*
|
6
|
-
* Copyright (c) 2004-2020, PostgreSQL Global Development Group
|
7
|
-
*
|
8
|
-
* src/include/postmaster/syslogger.h
|
9
|
-
*
|
10
|
-
*-------------------------------------------------------------------------
|
11
|
-
*/
|
12
|
-
#ifndef _SYSLOGGER_H
|
13
|
-
#define _SYSLOGGER_H
|
14
|
-
|
15
|
-
#include <limits.h> /* for PIPE_BUF */
|
16
|
-
|
17
|
-
|
18
|
-
/*
|
19
|
-
* Primitive protocol structure for writing to syslogger pipe(s). The idea
|
20
|
-
* here is to divide long messages into chunks that are not more than
|
21
|
-
* PIPE_BUF bytes long, which according to POSIX spec must be written into
|
22
|
-
* the pipe atomically. The pipe reader then uses the protocol headers to
|
23
|
-
* reassemble the parts of a message into a single string. The reader can
|
24
|
-
* also cope with non-protocol data coming down the pipe, though we cannot
|
25
|
-
* guarantee long strings won't get split apart.
|
26
|
-
*
|
27
|
-
* We use non-nul bytes in is_last to make the protocol a tiny bit
|
28
|
-
* more robust against finding a false double nul byte prologue. But
|
29
|
-
* we still might find it in the len and/or pid bytes unless we're careful.
|
30
|
-
*/
|
31
|
-
|
32
|
-
#ifdef PIPE_BUF
|
33
|
-
/* Are there any systems with PIPE_BUF > 64K? Unlikely, but ... */
|
34
|
-
#if PIPE_BUF > 65536
|
35
|
-
#define PIPE_CHUNK_SIZE 65536
|
36
|
-
#else
|
37
|
-
#define PIPE_CHUNK_SIZE ((int) PIPE_BUF)
|
38
|
-
#endif
|
39
|
-
#else /* not defined */
|
40
|
-
/* POSIX says the value of PIPE_BUF must be at least 512, so use that */
|
41
|
-
#define PIPE_CHUNK_SIZE 512
|
42
|
-
#endif
|
43
|
-
|
44
|
-
typedef struct
|
45
|
-
{
|
46
|
-
char nuls[2]; /* always \0\0 */
|
47
|
-
uint16 len; /* size of this chunk (counts data only) */
|
48
|
-
int32 pid; /* writer's pid */
|
49
|
-
char is_last; /* last chunk of message? 't' or 'f' ('T' or
|
50
|
-
* 'F' for CSV case) */
|
51
|
-
char data[FLEXIBLE_ARRAY_MEMBER]; /* data payload starts here */
|
52
|
-
} PipeProtoHeader;
|
53
|
-
|
54
|
-
typedef union
|
55
|
-
{
|
56
|
-
PipeProtoHeader proto;
|
57
|
-
char filler[PIPE_CHUNK_SIZE];
|
58
|
-
} PipeProtoChunk;
|
59
|
-
|
60
|
-
#define PIPE_HEADER_SIZE offsetof(PipeProtoHeader, data)
|
61
|
-
#define PIPE_MAX_PAYLOAD ((int) (PIPE_CHUNK_SIZE - PIPE_HEADER_SIZE))
|
62
|
-
|
63
|
-
|
64
|
-
/* GUC options */
|
65
|
-
extern bool Logging_collector;
|
66
|
-
extern int Log_RotationAge;
|
67
|
-
extern int Log_RotationSize;
|
68
|
-
extern PGDLLIMPORT char *Log_directory;
|
69
|
-
extern PGDLLIMPORT char *Log_filename;
|
70
|
-
extern bool Log_truncate_on_rotation;
|
71
|
-
extern int Log_file_mode;
|
72
|
-
|
73
|
-
#ifndef WIN32
|
74
|
-
extern int syslogPipe[2];
|
75
|
-
#else
|
76
|
-
extern HANDLE syslogPipe[2];
|
77
|
-
#endif
|
78
|
-
|
79
|
-
|
80
|
-
extern int SysLogger_Start(void);
|
81
|
-
|
82
|
-
extern void write_syslogger_file(const char *buffer, int count, int dest);
|
83
|
-
|
84
|
-
#ifdef EXEC_BACKEND
|
85
|
-
extern void SysLoggerMain(int argc, char *argv[]) pg_attribute_noreturn();
|
86
|
-
#endif
|
87
|
-
|
88
|
-
extern bool CheckLogrotateSignal(void);
|
89
|
-
extern void RemoveLogrotateSignalFiles(void);
|
90
|
-
|
91
|
-
/*
|
92
|
-
* Name of files saving meta-data information about the log
|
93
|
-
* files currently in use by the syslogger
|
94
|
-
*/
|
95
|
-
#define LOG_METAINFO_DATAFILE "current_logfiles"
|
96
|
-
#define LOG_METAINFO_DATAFILE_TMP LOG_METAINFO_DATAFILE ".tmp"
|
97
|
-
|
98
|
-
#endif /* _SYSLOGGER_H */
|