pg_query 5.1.0 → 6.0.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 +18 -0
- data/README.md +1 -1
- data/Rakefile +2 -2
- data/ext/pg_query/include/pg_query.h +4 -3
- data/ext/pg_query/include/pg_query_enum_defs.c +424 -154
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +68 -4
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +2952 -1845
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +51 -3
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +210 -23
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +17 -1
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +271 -52
- data/ext/pg_query/include/postgres/access/amapi.h +10 -3
- data/ext/pg_query/include/postgres/access/attmap.h +1 -1
- data/ext/pg_query/include/postgres/access/attnum.h +1 -1
- 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 +2 -3
- data/ext/pg_query/include/postgres/access/commit_ts.h +2 -3
- data/ext/pg_query/include/postgres/access/detoast.h +1 -1
- data/ext/pg_query/include/postgres/access/genam.h +8 -4
- data/ext/pg_query/include/postgres/access/gin.h +1 -1
- data/ext/pg_query/include/postgres/access/htup.h +1 -1
- data/ext/pg_query/include/postgres/access/htup_details.h +11 -11
- data/ext/pg_query/include/postgres/access/itup.h +3 -3
- data/ext/pg_query/include/postgres/access/parallel.h +1 -2
- data/ext/pg_query/include/postgres/access/printtup.h +1 -1
- data/ext/pg_query/include/postgres/access/relation.h +1 -1
- data/ext/pg_query/include/postgres/access/relscan.h +1 -1
- data/ext/pg_query/include/postgres/access/rmgrlist.h +1 -1
- data/ext/pg_query/include/postgres/access/sdir.h +1 -1
- data/ext/pg_query/include/postgres/access/skey.h +1 -1
- data/ext/pg_query/include/postgres/access/slru.h +221 -0
- data/ext/pg_query/include/postgres/access/stratnum.h +1 -1
- data/ext/pg_query/include/postgres/access/sysattr.h +1 -1
- data/ext/pg_query/include/postgres/access/table.h +1 -1
- data/ext/pg_query/include/postgres/access/tableam.h +33 -24
- data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
- data/ext/pg_query/include/postgres/access/toast_compression.h +2 -2
- data/ext/pg_query/include/postgres/access/transam.h +7 -7
- data/ext/pg_query/include/postgres/access/tsmapi.h +1 -1
- data/ext/pg_query/include/postgres/access/tupconvert.h +1 -1
- data/ext/pg_query/include/postgres/access/tupdesc.h +5 -5
- data/ext/pg_query/include/postgres/access/tupmacs.h +1 -1
- data/ext/pg_query/include/postgres/access/twophase.h +2 -2
- data/ext/pg_query/include/postgres/access/xact.h +5 -5
- data/ext/pg_query/include/postgres/access/xlog.h +20 -12
- data/ext/pg_query/include/postgres/access/xlog_internal.h +4 -3
- data/ext/pg_query/include/postgres/access/xlogbackup.h +3 -1
- data/ext/pg_query/include/postgres/access/xlogdefs.h +5 -5
- data/ext/pg_query/include/postgres/access/xlogprefetcher.h +2 -2
- data/ext/pg_query/include/postgres/access/xlogreader.h +2 -2
- data/ext/pg_query/include/postgres/access/xlogrecord.h +3 -3
- data/ext/pg_query/include/postgres/access/xlogrecovery.h +4 -4
- data/ext/pg_query/include/postgres/archive/archive_module.h +9 -1
- data/ext/pg_query/include/postgres/c.h +31 -36
- data/ext/pg_query/include/postgres/catalog/catalog.h +3 -1
- data/ext/pg_query/include/postgres/catalog/catversion.h +2 -2
- data/ext/pg_query/include/postgres/catalog/dependency.h +17 -59
- data/ext/pg_query/include/postgres/catalog/genbki.h +12 -6
- data/ext/pg_query/include/postgres/catalog/index.h +22 -18
- data/ext/pg_query/include/postgres/catalog/indexing.h +1 -1
- data/ext/pg_query/include/postgres/catalog/namespace.h +18 -19
- data/ext/pg_query/include/postgres/catalog/objectaccess.h +2 -2
- data/ext/pg_query/include/postgres/catalog/objectaddress.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +4 -2
- data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_am.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_am_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_attribute.h +31 -14
- data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +3 -3
- data/ext/pg_query/include/postgres/catalog/pg_authid.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +2 -1
- data/ext/pg_query/include/postgres/catalog/pg_class.h +10 -5
- data/ext/pg_query/include/postgres/catalog/pg_class_d.h +4 -2
- data/ext/pg_query/include/postgres/catalog/pg_collation.h +11 -5
- data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +5 -2
- data/ext/pg_query/include/postgres/catalog/pg_constraint.h +15 -10
- data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +2 -1
- data/ext/pg_query/include/postgres/catalog/pg_control.h +5 -3
- data/ext/pg_query/include/postgres/catalog/pg_conversion.h +8 -4
- data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_database.h +9 -4
- data/ext/pg_query/include/postgres/catalog/pg_database_d.h +13 -12
- data/ext/pg_query/include/postgres/catalog/pg_depend.h +3 -3
- data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_index.h +5 -3
- data/ext/pg_query/include/postgres/catalog/pg_index_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_language.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_language_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_namespace.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_opclass.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_operator.h +20 -3
- data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +4 -2
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_proc.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_publication.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_statistic.h +10 -4
- data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +7 -3
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +10 -7
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +3 -3
- data/ext/pg_query/include/postgres/catalog/pg_transform.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_trigger.h +4 -4
- data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_type.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_type_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/storage.h +1 -1
- data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
- data/ext/pg_query/include/postgres/commands/async.h +2 -6
- data/ext/pg_query/include/postgres/commands/dbcommands.h +1 -1
- data/ext/pg_query/include/postgres/commands/defrem.h +6 -6
- data/ext/pg_query/include/postgres/commands/event_trigger.h +5 -2
- data/ext/pg_query/include/postgres/commands/explain.h +19 -3
- data/ext/pg_query/include/postgres/commands/prepare.h +1 -1
- data/ext/pg_query/include/postgres/commands/tablespace.h +1 -1
- data/ext/pg_query/include/postgres/commands/trigger.h +1 -1
- data/ext/pg_query/include/postgres/commands/vacuum.h +28 -26
- data/ext/pg_query/include/postgres/common/cryptohash.h +2 -2
- data/ext/pg_query/include/postgres/common/file_perm.h +1 -1
- data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
- data/ext/pg_query/include/postgres/common/hashfn.h +16 -1
- data/ext/pg_query/include/postgres/common/hashfn_unstable.h +453 -0
- data/ext/pg_query/include/postgres/common/int.h +79 -4
- data/ext/pg_query/include/postgres/common/keywords.h +1 -1
- data/ext/pg_query/include/postgres/common/kwlookup.h +1 -1
- data/ext/pg_query/include/postgres/common/pg_prng.h +2 -1
- data/ext/pg_query/include/postgres/common/relpath.h +4 -4
- data/ext/pg_query/include/postgres/common/scram-common.h +1 -1
- data/ext/pg_query/include/postgres/common/sha2.h +1 -1
- data/ext/pg_query/include/postgres/common/string.h +1 -1
- data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +2 -3
- data/ext/pg_query/include/postgres/copyfuncs.funcs.c +278 -30
- data/ext/pg_query/include/postgres/copyfuncs.switch.c +55 -4
- data/ext/pg_query/include/postgres/datatype/timestamp.h +28 -2
- data/ext/pg_query/include/postgres/equalfuncs.funcs.c +239 -26
- data/ext/pg_query/include/postgres/equalfuncs.switch.c +55 -4
- data/ext/pg_query/include/postgres/executor/execdesc.h +1 -1
- data/ext/pg_query/include/postgres/executor/executor.h +6 -5
- data/ext/pg_query/include/postgres/executor/functions.h +2 -1
- data/ext/pg_query/include/postgres/executor/instrument.h +5 -3
- data/ext/pg_query/include/postgres/executor/spi.h +2 -8
- data/ext/pg_query/include/postgres/executor/tablefunc.h +1 -1
- data/ext/pg_query/include/postgres/executor/tuptable.h +31 -2
- data/ext/pg_query/include/postgres/fmgr.h +2 -2
- data/ext/pg_query/include/postgres/foreign/fdwapi.h +1 -1
- data/ext/pg_query/include/postgres/funcapi.h +2 -2
- data/ext/pg_query/include/postgres/gram.h +871 -830
- data/ext/pg_query/include/postgres/gramparse.h +1 -1
- data/ext/pg_query/include/postgres/jit/jit.h +4 -3
- data/ext/pg_query/include/postgres/kwlist_d.h +511 -466
- data/ext/pg_query/include/postgres/lib/dshash.h +25 -10
- data/ext/pg_query/include/postgres/lib/ilist.h +1 -1
- data/ext/pg_query/include/postgres/lib/pairingheap.h +1 -1
- data/ext/pg_query/include/postgres/lib/simplehash.h +40 -18
- data/ext/pg_query/include/postgres/lib/sort_template.h +14 -1
- data/ext/pg_query/include/postgres/lib/stringinfo.h +93 -11
- data/ext/pg_query/include/postgres/libpq/auth.h +1 -1
- data/ext/pg_query/include/postgres/libpq/crypt.h +2 -2
- data/ext/pg_query/include/postgres/libpq/hba.h +4 -4
- data/ext/pg_query/include/postgres/libpq/libpq-be.h +29 -25
- data/ext/pg_query/include/postgres/libpq/libpq.h +6 -7
- data/ext/pg_query/include/postgres/libpq/pqcomm.h +26 -20
- data/ext/pg_query/include/postgres/libpq/pqformat.h +2 -3
- data/ext/pg_query/include/postgres/libpq/pqsignal.h +1 -1
- data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
- data/ext/pg_query/include/postgres/libpq/sasl.h +1 -1
- data/ext/pg_query/include/postgres/libpq/scram.h +1 -1
- data/ext/pg_query/include/postgres/mb/pg_wchar.h +102 -82
- data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/postgres/miscadmin.h +64 -52
- data/ext/pg_query/include/postgres/nodes/bitmapset.h +17 -3
- data/ext/pg_query/include/postgres/nodes/execnodes.h +109 -25
- data/ext/pg_query/include/postgres/nodes/extensible.h +1 -1
- data/ext/pg_query/include/postgres/nodes/lockoptions.h +4 -4
- data/ext/pg_query/include/postgres/nodes/makefuncs.h +8 -2
- data/ext/pg_query/include/postgres/nodes/memnodes.h +43 -4
- data/ext/pg_query/include/postgres/nodes/miscnodes.h +1 -1
- data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +1 -1
- data/ext/pg_query/include/postgres/nodes/nodes.h +30 -41
- data/ext/pg_query/include/postgres/nodes/nodetags.h +464 -444
- data/ext/pg_query/include/postgres/nodes/params.h +1 -1
- data/ext/pg_query/include/postgres/nodes/parsenodes.h +358 -175
- data/ext/pg_query/include/postgres/nodes/pathnodes.h +60 -9
- data/ext/pg_query/include/postgres/nodes/pg_list.h +62 -11
- data/ext/pg_query/include/postgres/nodes/plannodes.h +11 -10
- data/ext/pg_query/include/postgres/nodes/primnodes.h +344 -50
- data/ext/pg_query/include/postgres/nodes/print.h +1 -1
- data/ext/pg_query/include/postgres/nodes/queryjumble.h +2 -2
- data/ext/pg_query/include/postgres/nodes/replnodes.h +23 -2
- data/ext/pg_query/include/postgres/nodes/supportnodes.h +1 -1
- data/ext/pg_query/include/postgres/nodes/tidbitmap.h +1 -1
- data/ext/pg_query/include/postgres/nodes/value.h +1 -1
- data/ext/pg_query/include/postgres/optimizer/cost.h +5 -4
- data/ext/pg_query/include/postgres/optimizer/geqo.h +1 -1
- data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +1 -1
- data/ext/pg_query/include/postgres/optimizer/optimizer.h +5 -2
- data/ext/pg_query/include/postgres/optimizer/paths.h +13 -8
- data/ext/pg_query/include/postgres/optimizer/planmain.h +7 -1
- data/ext/pg_query/include/postgres/parser/analyze.h +3 -1
- data/ext/pg_query/include/postgres/parser/kwlist.h +22 -2
- data/ext/pg_query/include/postgres/parser/parse_agg.h +1 -1
- data/ext/pg_query/include/postgres/parser/parse_coerce.h +2 -2
- data/ext/pg_query/include/postgres/parser/parse_expr.h +1 -1
- data/ext/pg_query/include/postgres/parser/parse_func.h +2 -2
- data/ext/pg_query/include/postgres/parser/parse_node.h +3 -2
- data/ext/pg_query/include/postgres/parser/parse_oper.h +4 -1
- data/ext/pg_query/include/postgres/parser/parse_relation.h +1 -1
- data/ext/pg_query/include/postgres/parser/parse_type.h +2 -2
- data/ext/pg_query/include/postgres/parser/parser.h +3 -3
- data/ext/pg_query/include/postgres/parser/parsetree.h +1 -1
- data/ext/pg_query/include/postgres/parser/scanner.h +1 -1
- data/ext/pg_query/include/postgres/parser/scansup.h +1 -1
- data/ext/pg_query/include/postgres/partitioning/partdefs.h +1 -1
- data/ext/pg_query/include/postgres/pg_config.h +34 -34
- data/ext/pg_query/include/postgres/pg_config_manual.h +21 -8
- data/ext/pg_query/include/postgres/pg_getopt.h +1 -1
- data/ext/pg_query/include/postgres/pg_trace.h +1 -1
- data/ext/pg_query/include/postgres/pgstat.h +13 -11
- data/ext/pg_query/include/postgres/pgtime.h +1 -1
- data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +1 -1
- data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +1 -1
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +1 -1
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +1 -1
- data/ext/pg_query/include/postgres/plerrcodes.h +4 -4
- data/ext/pg_query/include/postgres/plpgsql.h +15 -13
- data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +1 -1
- data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +1 -1
- data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +3 -1
- data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +3 -1
- data/ext/pg_query/include/postgres/port/atomics/fallback.h +1 -1
- data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +38 -1
- data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +19 -1
- data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +16 -1
- data/ext/pg_query/include/postgres/port/atomics/generic.h +38 -2
- data/ext/pg_query/include/postgres/port/atomics.h +93 -6
- data/ext/pg_query/include/postgres/port/pg_bitutils.h +91 -9
- data/ext/pg_query/include/postgres/port/pg_bswap.h +1 -1
- data/ext/pg_query/include/postgres/port/pg_crc32c.h +10 -1
- data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
- data/ext/pg_query/include/postgres/port/simd.h +48 -1
- data/ext/pg_query/include/postgres/port/win32/sys/socket.h +8 -0
- data/ext/pg_query/include/postgres/port/win32_port.h +1 -11
- data/ext/pg_query/include/postgres/port.h +7 -3
- data/ext/pg_query/include/postgres/portability/instr_time.h +1 -1
- data/ext/pg_query/include/postgres/postgres.h +1 -1
- data/ext/pg_query/include/postgres/postmaster/autovacuum.h +5 -16
- data/ext/pg_query/include/postgres/postmaster/bgworker.h +8 -6
- data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +3 -7
- data/ext/pg_query/include/postgres/postmaster/bgwriter.h +3 -3
- data/ext/pg_query/include/postgres/postmaster/interrupt.h +1 -1
- data/ext/pg_query/include/postgres/postmaster/pgarch.h +2 -2
- data/ext/pg_query/include/postgres/postmaster/postmaster.h +25 -5
- data/ext/pg_query/include/postgres/postmaster/startup.h +2 -2
- data/ext/pg_query/include/postgres/postmaster/syslogger.h +2 -4
- data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
- data/ext/pg_query/include/postgres/postmaster/walwriter.h +2 -2
- data/ext/pg_query/include/postgres/regex/regex.h +92 -9
- data/ext/pg_query/include/postgres/replication/logicallauncher.h +1 -1
- data/ext/pg_query/include/postgres/replication/logicalproto.h +2 -2
- data/ext/pg_query/include/postgres/replication/logicalworker.h +2 -1
- data/ext/pg_query/include/postgres/replication/origin.h +1 -1
- data/ext/pg_query/include/postgres/replication/reorderbuffer.h +18 -28
- data/ext/pg_query/include/postgres/replication/slot.h +41 -5
- data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
- data/ext/pg_query/include/postgres/replication/syncrep.h +1 -1
- data/ext/pg_query/include/postgres/replication/walreceiver.h +37 -11
- data/ext/pg_query/include/postgres/replication/walsender.h +5 -3
- data/ext/pg_query/include/postgres/rewrite/prs2lock.h +1 -1
- data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +7 -1
- data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +2 -2
- data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +1 -1
- data/ext/pg_query/include/postgres/storage/block.h +1 -1
- data/ext/pg_query/include/postgres/storage/buf.h +1 -1
- data/ext/pg_query/include/postgres/storage/bufmgr.h +59 -41
- data/ext/pg_query/include/postgres/storage/bufpage.h +1 -1
- data/ext/pg_query/include/postgres/storage/condition_variable.h +1 -1
- data/ext/pg_query/include/postgres/storage/dsm.h +1 -1
- data/ext/pg_query/include/postgres/storage/dsm_impl.h +2 -2
- data/ext/pg_query/include/postgres/storage/fd.h +30 -13
- data/ext/pg_query/include/postgres/storage/fileset.h +1 -1
- data/ext/pg_query/include/postgres/storage/ipc.h +4 -1
- data/ext/pg_query/include/postgres/storage/item.h +1 -1
- data/ext/pg_query/include/postgres/storage/itemid.h +1 -1
- data/ext/pg_query/include/postgres/storage/itemptr.h +1 -1
- data/ext/pg_query/include/postgres/storage/large_object.h +1 -1
- data/ext/pg_query/include/postgres/storage/latch.h +4 -2
- data/ext/pg_query/include/postgres/storage/lmgr.h +8 -2
- data/ext/pg_query/include/postgres/storage/lock.h +19 -19
- data/ext/pg_query/include/postgres/storage/lockdefs.h +1 -1
- data/ext/pg_query/include/postgres/storage/lwlock.h +17 -9
- data/ext/pg_query/include/postgres/storage/lwlocknames.h +7 -10
- data/ext/pg_query/include/postgres/storage/off.h +1 -1
- data/ext/pg_query/include/postgres/storage/pg_sema.h +1 -1
- data/ext/pg_query/include/postgres/storage/pg_shmem.h +5 -4
- data/ext/pg_query/include/postgres/storage/pmsignal.h +2 -2
- data/ext/pg_query/include/postgres/storage/predicate.h +1 -5
- data/ext/pg_query/include/postgres/storage/proc.h +48 -23
- data/ext/pg_query/include/postgres/storage/procarray.h +5 -1
- data/ext/pg_query/include/postgres/storage/proclist_types.h +11 -9
- data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
- data/ext/pg_query/include/postgres/storage/procsignal.h +8 -6
- data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
- data/ext/pg_query/include/postgres/storage/relfilelocator.h +16 -15
- data/ext/pg_query/include/postgres/storage/s_lock.h +7 -27
- data/ext/pg_query/include/postgres/storage/sharedfileset.h +1 -1
- data/ext/pg_query/include/postgres/storage/shm_mq.h +2 -2
- data/ext/pg_query/include/postgres/storage/shm_toc.h +1 -1
- data/ext/pg_query/include/postgres/storage/shmem.h +1 -1
- data/ext/pg_query/include/postgres/storage/sinval.h +3 -3
- data/ext/pg_query/include/postgres/storage/smgr.h +41 -27
- data/ext/pg_query/include/postgres/storage/spin.h +1 -1
- data/ext/pg_query/include/postgres/storage/standby.h +13 -3
- data/ext/pg_query/include/postgres/storage/standbydefs.h +2 -2
- data/ext/pg_query/include/postgres/storage/sync.h +4 -4
- data/ext/pg_query/include/postgres/tcop/cmdtag.h +1 -2
- data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +3 -2
- data/ext/pg_query/include/postgres/tcop/deparse_utility.h +2 -2
- data/ext/pg_query/include/postgres/tcop/dest.h +3 -2
- data/ext/pg_query/include/postgres/tcop/fastpath.h +1 -1
- data/ext/pg_query/include/postgres/tcop/pquery.h +1 -1
- data/ext/pg_query/include/postgres/tcop/tcopprot.h +9 -5
- data/ext/pg_query/include/postgres/tcop/utility.h +2 -2
- data/ext/pg_query/include/postgres/tsearch/ts_cache.h +1 -1
- data/ext/pg_query/include/postgres/utils/acl.h +19 -7
- data/ext/pg_query/include/postgres/utils/aclchk_internal.h +1 -1
- data/ext/pg_query/include/postgres/utils/array.h +1 -2
- data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
- data/ext/pg_query/include/postgres/utils/backend_progress.h +3 -2
- data/ext/pg_query/include/postgres/utils/backend_status.h +8 -10
- data/ext/pg_query/include/postgres/utils/builtins.h +4 -1
- data/ext/pg_query/include/postgres/utils/bytea.h +2 -2
- data/ext/pg_query/include/postgres/utils/catcache.h +5 -6
- data/ext/pg_query/include/postgres/utils/date.h +1 -1
- data/ext/pg_query/include/postgres/utils/datetime.h +4 -1
- data/ext/pg_query/include/postgres/utils/datum.h +1 -1
- data/ext/pg_query/include/postgres/utils/dsa.h +44 -5
- data/ext/pg_query/include/postgres/utils/elog.h +3 -8
- data/ext/pg_query/include/postgres/utils/errcodes.h +1 -3
- data/ext/pg_query/include/postgres/utils/expandeddatum.h +1 -1
- data/ext/pg_query/include/postgres/utils/expandedrecord.h +1 -1
- data/ext/pg_query/include/postgres/utils/float.h +1 -1
- data/ext/pg_query/include/postgres/utils/fmgroids.h +49 -16
- data/ext/pg_query/include/postgres/utils/fmgrprotos.h +47 -14
- data/ext/pg_query/include/postgres/utils/fmgrtab.h +1 -1
- data/ext/pg_query/include/postgres/utils/guc.h +20 -6
- data/ext/pg_query/include/postgres/utils/guc_hooks.h +23 -2
- data/ext/pg_query/include/postgres/utils/guc_tables.h +6 -5
- data/ext/pg_query/include/postgres/utils/hsearch.h +2 -2
- data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
- data/ext/pg_query/include/postgres/utils/inval.h +1 -1
- data/ext/pg_query/include/postgres/utils/logtape.h +5 -5
- data/ext/pg_query/include/postgres/utils/lsyscache.h +6 -3
- data/ext/pg_query/include/postgres/utils/memdebug.h +1 -1
- data/ext/pg_query/include/postgres/utils/memutils.h +12 -5
- data/ext/pg_query/include/postgres/utils/memutils_internal.h +53 -13
- data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +25 -9
- data/ext/pg_query/include/postgres/utils/numeric.h +6 -1
- data/ext/pg_query/include/postgres/utils/palloc.h +1 -15
- data/ext/pg_query/include/postgres/utils/partcache.h +1 -1
- data/ext/pg_query/include/postgres/utils/pg_locale.h +8 -7
- data/ext/pg_query/include/postgres/utils/pgstat_internal.h +11 -17
- data/ext/pg_query/include/postgres/utils/plancache.h +5 -3
- data/ext/pg_query/include/postgres/utils/portal.h +9 -9
- data/ext/pg_query/include/postgres/utils/queryenvironment.h +2 -2
- data/ext/pg_query/include/postgres/utils/regproc.h +1 -1
- data/ext/pg_query/include/postgres/utils/rel.h +14 -15
- data/ext/pg_query/include/postgres/utils/relcache.h +2 -5
- data/ext/pg_query/include/postgres/utils/reltrigger.h +1 -1
- data/ext/pg_query/include/postgres/utils/resowner.h +90 -9
- data/ext/pg_query/include/postgres/utils/ruleutils.h +1 -1
- data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +1 -1
- data/ext/pg_query/include/postgres/utils/snapmgr.h +1 -52
- data/ext/pg_query/include/postgres/utils/snapshot.h +2 -2
- data/ext/pg_query/include/postgres/utils/sortsupport.h +1 -1
- data/ext/pg_query/include/postgres/utils/syscache.h +2 -98
- data/ext/pg_query/include/postgres/utils/timeout.h +3 -2
- data/ext/pg_query/include/postgres/utils/timestamp.h +1 -1
- data/ext/pg_query/include/postgres/utils/tuplesort.h +36 -9
- data/ext/pg_query/include/postgres/utils/tuplestore.h +2 -5
- data/ext/pg_query/include/postgres/utils/typcache.h +2 -1
- data/ext/pg_query/include/postgres/utils/varlena.h +1 -1
- data/ext/pg_query/include/postgres/utils/wait_event.h +28 -214
- data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
- data/ext/pg_query/include/postgres/utils/xml.h +4 -4
- data/ext/pg_query/include/postgres/varatt.h +1 -1
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1546 -792
- data/ext/pg_query/include/protobuf/pg_query.pb.h +58365 -46595
- data/ext/pg_query/pg_query.pb-c.c +6598 -3739
- data/ext/pg_query/pg_query_normalize.c +42 -1
- data/ext/pg_query/pg_query_outfuncs_json.c +3 -1
- data/ext/pg_query/pg_query_parse_plpgsql.c +12 -13
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +2 -2
- data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -1
- data/ext/pg_query/pg_query_scan.c +1 -1
- data/ext/pg_query/postgres_deparse.c +409 -21
- data/ext/pg_query/src_backend_catalog_namespace.c +241 -66
- data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -3
- data/ext/pg_query/src_backend_commands_define.c +2 -3
- data/ext/pg_query/src_backend_nodes_bitmapset.c +137 -94
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +1 -1
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +1 -1
- data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
- data/ext/pg_query/src_backend_nodes_list.c +3 -7
- data/ext/pg_query/src_backend_nodes_makefuncs.c +59 -20
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +109 -2
- data/ext/pg_query/src_backend_nodes_value.c +1 -1
- data/ext/pg_query/src_backend_parser_gram.c +34490 -32135
- data/ext/pg_query/src_backend_parser_parser.c +8 -8
- data/ext/pg_query/src_backend_parser_scan.c +5637 -3028
- data/ext/pg_query/src_backend_parser_scansup.c +2 -1
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
- data/ext/pg_query/src_backend_tcop_postgres.c +34 -10
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +2 -2
- data/ext/pg_query/src_backend_utils_adt_datum.c +8 -6
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_numutils.c +4 -5
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +101 -28
- data/ext/pg_query/src_backend_utils_error_assert.c +1 -1
- data/ext/pg_query/src_backend_utils_error_elog.c +47 -42
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +4 -2
- data/ext/pg_query/src_backend_utils_init_globals.c +15 -3
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +11 -18
- data/ext/pg_query/src_backend_utils_misc_guc_tables.c +16 -6
- data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +8 -5
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +308 -238
- data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
- data/ext/pg_query/src_backend_utils_mmgr_generation.c +273 -197
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +270 -215
- data/ext/pg_query/src_backend_utils_mmgr_slab.c +154 -96
- data/ext/pg_query/src_common_encnames.c +43 -44
- data/ext/pg_query/src_common_hashfn.c +1 -1
- data/ext/pg_query/src_common_keywords.c +1 -1
- data/ext/pg_query/src_common_kwlist_d.h +511 -466
- 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 +18 -1
- data/ext/pg_query/src_common_wchar.c +45 -108
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +99 -5
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +242 -143
- data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +19 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +1 -1
- data/ext/pg_query/src_port_pg_bitutils.c +173 -28
- data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
- data/ext/pg_query/src_port_snprintf.c +1 -1
- data/ext/pg_query/src_port_strerror.c +1 -3
- data/ext/pg_query/src_port_strlcpy.c +1 -1
- data/lib/pg_query/param_refs.rb +1 -1
- data/lib/pg_query/pg_query_pb.rb +26 -3
- data/lib/pg_query/treewalker.rb +38 -11
- data/lib/pg_query/truncate.rb +1 -1
- data/lib/pg_query/version.rb +1 -1
- metadata +25 -11
- data/ext/pg_query/include/postgres/storage/backendid.h +0 -37
- data/ext/pg_query/include/postgres/storage/sinvaladt.h +0 -45
- data/ext/pg_query/src_backend_nodes_nodes.c +0 -38
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Note this is read in MinGW as well as native Windows builds,
|
|
7
7
|
* but not in Cygwin builds.
|
|
8
8
|
*
|
|
9
|
-
* Portions Copyright (c) 1996-
|
|
9
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
10
10
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
11
11
|
*
|
|
12
12
|
* src/include/port/win32_port.h
|
|
@@ -84,14 +84,6 @@
|
|
|
84
84
|
/* Windows doesn't have fsync() as such, use _commit() */
|
|
85
85
|
#define fsync(fd) _commit(fd)
|
|
86
86
|
|
|
87
|
-
/*
|
|
88
|
-
* For historical reasons, we allow setting wal_sync_method to
|
|
89
|
-
* fsync_writethrough on Windows, even though it's really identical to fsync
|
|
90
|
-
* (both code paths wind up at _commit()).
|
|
91
|
-
*/
|
|
92
|
-
#define HAVE_FSYNC_WRITETHROUGH
|
|
93
|
-
#define FSYNC_WRITETHROUGH_IS_FSYNC
|
|
94
|
-
|
|
95
87
|
#define USES_WINSOCK
|
|
96
88
|
|
|
97
89
|
/*
|
|
@@ -455,8 +447,6 @@ extern int _pglstat64(const char *name, struct stat *buf);
|
|
|
455
447
|
#define strcoll_l _strcoll_l
|
|
456
448
|
#define strxfrm_l _strxfrm_l
|
|
457
449
|
#define wcscoll_l _wcscoll_l
|
|
458
|
-
#define wcstombs_l _wcstombs_l
|
|
459
|
-
#define mbstowcs_l _mbstowcs_l
|
|
460
450
|
|
|
461
451
|
/*
|
|
462
452
|
* Versions of libintl >= 0.18? try to replace setlocale() with a macro
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* port.h
|
|
4
4
|
* Header for src/port/ compatibility functions.
|
|
5
5
|
*
|
|
6
|
-
* Portions Copyright (c) 1996-
|
|
6
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
8
|
*
|
|
9
9
|
* src/include/port.h
|
|
@@ -137,7 +137,7 @@ extern int validate_exec(const char *path);
|
|
|
137
137
|
extern int find_my_exec(const char *argv0, char *retpath);
|
|
138
138
|
extern int find_other_exec(const char *argv0, const char *target,
|
|
139
139
|
const char *versionstr, char *retpath);
|
|
140
|
-
extern char *pipe_read_line(char *cmd
|
|
140
|
+
extern char *pipe_read_line(char *cmd);
|
|
141
141
|
|
|
142
142
|
/* Doesn't belong here, but this is used with find_other_exec(), so... */
|
|
143
143
|
#define PG_BACKEND_VERSIONSTR "postgres (PostgreSQL) " PG_VERSION "\n"
|
|
@@ -432,12 +432,16 @@ extern size_t strlcpy(char *dst, const char *src, size_t siz);
|
|
|
432
432
|
extern size_t strnlen(const char *str, size_t maxlen);
|
|
433
433
|
#endif
|
|
434
434
|
|
|
435
|
-
/*
|
|
435
|
+
/* port/user.c */
|
|
436
436
|
#ifndef WIN32
|
|
437
437
|
extern bool pg_get_user_name(uid_t user_id, char *buffer, size_t buflen);
|
|
438
438
|
extern bool pg_get_user_home_dir(uid_t user_id, char *buffer, size_t buflen);
|
|
439
439
|
#endif
|
|
440
440
|
|
|
441
|
+
/*
|
|
442
|
+
* Callers should use the qsort() macro defined below instead of calling
|
|
443
|
+
* pg_qsort() directly.
|
|
444
|
+
*/
|
|
441
445
|
extern void pg_qsort(void *base, size_t nel, size_t elsize,
|
|
442
446
|
int (*cmp) (const void *, const void *));
|
|
443
447
|
extern int pg_qsort_strcmp(const void *a, const void *b);
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Client-side code should include postgres_fe.h instead.
|
|
8
8
|
*
|
|
9
9
|
*
|
|
10
|
-
* Portions Copyright (c) 1996-
|
|
10
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
11
11
|
* Portions Copyright (c) 1995, Regents of the University of California
|
|
12
12
|
*
|
|
13
13
|
* src/include/postgres.h
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* header file for integrated autovacuum daemon
|
|
5
5
|
*
|
|
6
6
|
*
|
|
7
|
-
* Portions Copyright (c) 1996-
|
|
7
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
8
8
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
9
9
|
*
|
|
10
10
|
* src/include/postmaster/autovacuum.h
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
typedef enum
|
|
24
24
|
{
|
|
25
|
-
AVW_BRINSummarizeRange
|
|
25
|
+
AVW_BRINSummarizeRange,
|
|
26
26
|
} AutoVacuumWorkItemType;
|
|
27
27
|
|
|
28
28
|
|
|
@@ -49,26 +49,15 @@ extern PGDLLIMPORT int Log_autovacuum_min_duration;
|
|
|
49
49
|
|
|
50
50
|
/* Status inquiry functions */
|
|
51
51
|
extern bool AutoVacuumingActive(void);
|
|
52
|
-
extern bool IsAutoVacuumLauncherProcess(void);
|
|
53
|
-
extern bool IsAutoVacuumWorkerProcess(void);
|
|
54
52
|
|
|
55
|
-
|
|
56
|
-
(IsAutoVacuumLauncherProcess() || IsAutoVacuumWorkerProcess())
|
|
57
|
-
|
|
58
|
-
/* Functions to start autovacuum process, called from postmaster */
|
|
53
|
+
/* called from postmaster at server startup */
|
|
59
54
|
extern void autovac_init(void);
|
|
60
|
-
extern int StartAutoVacLauncher(void);
|
|
61
|
-
extern int StartAutoVacWorker(void);
|
|
62
55
|
|
|
63
56
|
/* called from postmaster when a worker could not be forked */
|
|
64
57
|
extern void AutoVacWorkerFailed(void);
|
|
65
58
|
|
|
66
|
-
|
|
67
|
-
extern void
|
|
68
|
-
extern void AutoVacWorkerMain(int argc, char *argv[]) pg_attribute_noreturn();
|
|
69
|
-
extern void AutovacuumWorkerIAm(void);
|
|
70
|
-
extern void AutovacuumLauncherIAm(void);
|
|
71
|
-
#endif
|
|
59
|
+
extern void AutoVacLauncherMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
|
|
60
|
+
extern void AutoVacWorkerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
|
|
72
61
|
|
|
73
62
|
extern bool AutoVacuumRequestWork(AutoVacuumWorkItemType type,
|
|
74
63
|
Oid relationId, BlockNumber blkno);
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
* different) code.
|
|
32
32
|
*
|
|
33
33
|
*
|
|
34
|
-
* Portions Copyright (c) 1996-
|
|
34
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
35
35
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
36
36
|
*
|
|
37
37
|
* IDENTIFICATION
|
|
@@ -78,7 +78,7 @@ typedef enum
|
|
|
78
78
|
{
|
|
79
79
|
BgWorkerStart_PostmasterStart,
|
|
80
80
|
BgWorkerStart_ConsistentState,
|
|
81
|
-
BgWorkerStart_RecoveryFinished
|
|
81
|
+
BgWorkerStart_RecoveryFinished,
|
|
82
82
|
} BgWorkerStartTime;
|
|
83
83
|
|
|
84
84
|
#define BGW_DEFAULT_RESTART_INTERVAL 60
|
|
@@ -93,7 +93,7 @@ typedef struct BackgroundWorker
|
|
|
93
93
|
int bgw_flags;
|
|
94
94
|
BgWorkerStartTime bgw_start_time;
|
|
95
95
|
int bgw_restart_time; /* in seconds, or BGW_NEVER_RESTART */
|
|
96
|
-
char bgw_library_name[
|
|
96
|
+
char bgw_library_name[MAXPGPATH];
|
|
97
97
|
char bgw_function_name[BGW_MAXLEN];
|
|
98
98
|
Datum bgw_main_arg;
|
|
99
99
|
char bgw_extra[BGW_EXTRALEN];
|
|
@@ -105,7 +105,7 @@ typedef enum BgwHandleStatus
|
|
|
105
105
|
BGWH_STARTED, /* worker is running */
|
|
106
106
|
BGWH_NOT_YET_STARTED, /* worker hasn't been started yet */
|
|
107
107
|
BGWH_STOPPED, /* worker has exited */
|
|
108
|
-
BGWH_POSTMASTER_DIED /* postmaster died; worker status unclear */
|
|
108
|
+
BGWH_POSTMASTER_DIED, /* postmaster died; worker status unclear */
|
|
109
109
|
} BgwHandleStatus;
|
|
110
110
|
|
|
111
111
|
struct BackgroundWorkerHandle;
|
|
@@ -150,9 +150,11 @@ extern void BackgroundWorkerInitializeConnectionByOid(Oid dboid, Oid useroid, ui
|
|
|
150
150
|
* Flags to BackgroundWorkerInitializeConnection et al
|
|
151
151
|
*
|
|
152
152
|
*
|
|
153
|
-
* Allow bypassing datallowconn restrictions when connecting
|
|
153
|
+
* Allow bypassing datallowconn restrictions and login check when connecting
|
|
154
|
+
* to database
|
|
154
155
|
*/
|
|
155
|
-
#define BGWORKER_BYPASS_ALLOWCONN
|
|
156
|
+
#define BGWORKER_BYPASS_ALLOWCONN 0x0001
|
|
157
|
+
#define BGWORKER_BYPASS_ROLELOGINCHECK 0x0002
|
|
156
158
|
|
|
157
159
|
|
|
158
160
|
/* Block/unblock signals in a background worker process */
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* bgworker_internals.h
|
|
3
3
|
* POSTGRES pluggable background workers internals
|
|
4
4
|
*
|
|
5
|
-
* Portions Copyright (c) 1996-
|
|
5
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
6
6
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
7
7
|
*
|
|
8
8
|
* IDENTIFICATION
|
|
@@ -54,11 +54,7 @@ extern void BackgroundWorkerStopNotifications(pid_t pid);
|
|
|
54
54
|
extern void ForgetUnstartedBackgroundWorkers(void);
|
|
55
55
|
extern void ResetBackgroundWorkerCrashTimes(void);
|
|
56
56
|
|
|
57
|
-
/*
|
|
58
|
-
extern void
|
|
59
|
-
|
|
60
|
-
#ifdef EXEC_BACKEND
|
|
61
|
-
extern BackgroundWorker *BackgroundWorkerEntry(int slotno);
|
|
62
|
-
#endif
|
|
57
|
+
/* Entry point for background worker processes */
|
|
58
|
+
extern void BackgroundWorkerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
|
|
63
59
|
|
|
64
60
|
#endif /* BGWORKER_INTERNALS_H */
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* The bgwriter process used to handle checkpointing duties too. Now
|
|
7
7
|
* there is a separate process, but we did not bother to split this header.
|
|
8
8
|
*
|
|
9
|
-
* Portions Copyright (c) 1996-
|
|
9
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
10
10
|
*
|
|
11
11
|
* src/include/postmaster/bgwriter.h
|
|
12
12
|
*
|
|
@@ -27,8 +27,8 @@ extern PGDLLIMPORT int CheckPointTimeout;
|
|
|
27
27
|
extern PGDLLIMPORT int CheckPointWarning;
|
|
28
28
|
extern PGDLLIMPORT double CheckPointCompletionTarget;
|
|
29
29
|
|
|
30
|
-
extern void BackgroundWriterMain(
|
|
31
|
-
extern void CheckpointerMain(
|
|
30
|
+
extern void BackgroundWriterMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
|
|
31
|
+
extern void CheckpointerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
|
|
32
32
|
|
|
33
33
|
extern void RequestCheckpoint(int flags);
|
|
34
34
|
extern void CheckpointWriteDelay(int flags, double progress);
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* have their own implementations, but we provide a few generic things
|
|
8
8
|
* here to facilitate code reuse.
|
|
9
9
|
*
|
|
10
|
-
* Portions Copyright (c) 1996-
|
|
10
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
11
11
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
12
12
|
*
|
|
13
13
|
* IDENTIFICATION
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pgarch.h
|
|
4
4
|
* Exports from postmaster/pgarch.c.
|
|
5
5
|
*
|
|
6
|
-
* Portions Copyright (c) 1996-
|
|
6
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
8
|
*
|
|
9
9
|
* src/include/postmaster/pgarch.h
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
extern Size PgArchShmemSize(void);
|
|
30
30
|
extern void PgArchShmemInit(void);
|
|
31
31
|
extern bool PgArchCanRestart(void);
|
|
32
|
-
extern void PgArchiverMain(
|
|
32
|
+
extern void PgArchiverMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
|
|
33
33
|
extern void PgArchWakeup(void);
|
|
34
34
|
extern void PgArchForceDirScan(void);
|
|
35
35
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* postmaster.h
|
|
4
4
|
* Exports from postmaster/postmaster.c.
|
|
5
5
|
*
|
|
6
|
-
* Portions Copyright (c) 1996-
|
|
6
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
8
|
*
|
|
9
9
|
* src/include/postmaster/postmaster.h
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
#ifndef _POSTMASTER_H
|
|
14
14
|
#define _POSTMASTER_H
|
|
15
15
|
|
|
16
|
+
#include "miscadmin.h"
|
|
17
|
+
|
|
16
18
|
/* GUC options */
|
|
17
19
|
extern PGDLLIMPORT bool EnableSSL;
|
|
18
20
|
extern PGDLLIMPORT int SuperuserReservedConnections;
|
|
@@ -50,6 +52,8 @@ extern PGDLLIMPORT int postmaster_alive_fds[2];
|
|
|
50
52
|
|
|
51
53
|
extern PGDLLIMPORT const char *progname;
|
|
52
54
|
|
|
55
|
+
extern PGDLLIMPORT bool LoadedSSL;
|
|
56
|
+
|
|
53
57
|
extern void PostmasterMain(int argc, char *argv[]) pg_attribute_noreturn();
|
|
54
58
|
extern void ClosePostmasterPorts(bool am_syslogger);
|
|
55
59
|
extern void InitProcessGlobals(void);
|
|
@@ -58,12 +62,28 @@ extern int MaxLivePostmasterChildren(void);
|
|
|
58
62
|
|
|
59
63
|
extern bool PostmasterMarkPIDForWorkerNotify(int);
|
|
60
64
|
|
|
61
|
-
|
|
62
|
-
extern pid_t postmaster_forkexec(int argc, char *argv[]);
|
|
63
|
-
extern void SubPostmasterMain(int argc, char *argv[]) pg_attribute_noreturn();
|
|
65
|
+
extern void processCancelRequest(int backendPID, int32 cancelAuthCode);
|
|
64
66
|
|
|
67
|
+
#ifdef EXEC_BACKEND
|
|
65
68
|
extern Size ShmemBackendArraySize(void);
|
|
66
69
|
extern void ShmemBackendArrayAllocation(void);
|
|
70
|
+
|
|
71
|
+
#ifdef WIN32
|
|
72
|
+
extern void pgwin32_register_deadchild_callback(HANDLE procHandle, DWORD procId);
|
|
73
|
+
#endif
|
|
74
|
+
#endif
|
|
75
|
+
|
|
76
|
+
/* defined in globals.c */
|
|
77
|
+
extern PGDLLIMPORT struct ClientSocket *MyClientSocket;
|
|
78
|
+
|
|
79
|
+
/* prototypes for functions in launch_backend.c */
|
|
80
|
+
extern pid_t postmaster_child_launch(BackendType child_type,
|
|
81
|
+
char *startup_data,
|
|
82
|
+
size_t startup_data_len,
|
|
83
|
+
struct ClientSocket *client_sock);
|
|
84
|
+
const char *PostmasterChildName(BackendType child_type);
|
|
85
|
+
#ifdef EXEC_BACKEND
|
|
86
|
+
extern void SubPostmasterMain(int argc, char *argv[]) pg_attribute_noreturn();
|
|
67
87
|
#endif
|
|
68
88
|
|
|
69
89
|
/*
|
|
@@ -72,7 +92,7 @@ extern void ShmemBackendArrayAllocation(void);
|
|
|
72
92
|
* by using a 64bit state; but it's unlikely to be worthwhile as 2^18-1
|
|
73
93
|
* backends exceed currently realistic configurations. Even if that limitation
|
|
74
94
|
* were removed, we still could not a) exceed 2^23-1 because inval.c stores
|
|
75
|
-
* the
|
|
95
|
+
* the ProcNumber as a 3-byte signed integer, b) INT_MAX/4 because some places
|
|
76
96
|
* compute 4*MaxBackends without any overflow check. This is rechecked in the
|
|
77
97
|
* relevant GUC check hooks and in RegisterBackgroundWorker().
|
|
78
98
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* startup.h
|
|
4
4
|
* Exports from postmaster/startup.c.
|
|
5
5
|
*
|
|
6
|
-
* Portions Copyright (c) 1996-
|
|
6
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
7
7
|
*
|
|
8
8
|
* src/include/postmaster/startup.h
|
|
9
9
|
*
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
extern PGDLLIMPORT int log_startup_progress_interval;
|
|
27
27
|
|
|
28
28
|
extern void HandleStartupProcInterrupts(void);
|
|
29
|
-
extern void StartupProcessMain(
|
|
29
|
+
extern void StartupProcessMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
|
|
30
30
|
extern void PreRestoreCommand(void);
|
|
31
31
|
extern void PostRestoreCommand(void);
|
|
32
32
|
extern bool IsPromoteSignaled(void);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* syslogger.h
|
|
4
4
|
* Exports from postmaster/syslogger.c.
|
|
5
5
|
*
|
|
6
|
-
* Copyright (c) 2004-
|
|
6
|
+
* Copyright (c) 2004-2024, PostgreSQL Global Development Group
|
|
7
7
|
*
|
|
8
8
|
* src/include/postmaster/syslogger.h
|
|
9
9
|
*
|
|
@@ -86,9 +86,7 @@ extern int SysLogger_Start(void);
|
|
|
86
86
|
|
|
87
87
|
extern void write_syslogger_file(const char *buffer, int count, int destination);
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
extern void SysLoggerMain(int argc, char *argv[]) pg_attribute_noreturn();
|
|
91
|
-
#endif
|
|
89
|
+
extern void SysLoggerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
|
|
92
90
|
|
|
93
91
|
extern bool CheckLogrotateSignal(void);
|
|
94
92
|
extern void RemoveLogrotateSignalFiles(void);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* walsummarizer.h
|
|
4
|
+
*
|
|
5
|
+
* Header file for background WAL summarization process.
|
|
6
|
+
*
|
|
7
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
8
|
+
*
|
|
9
|
+
* IDENTIFICATION
|
|
10
|
+
* src/include/postmaster/walsummarizer.h
|
|
11
|
+
*
|
|
12
|
+
*-------------------------------------------------------------------------
|
|
13
|
+
*/
|
|
14
|
+
#ifndef WALSUMMARIZER_H
|
|
15
|
+
#define WALSUMMARIZER_H
|
|
16
|
+
|
|
17
|
+
#include "access/xlogdefs.h"
|
|
18
|
+
|
|
19
|
+
extern PGDLLIMPORT bool summarize_wal;
|
|
20
|
+
extern PGDLLIMPORT int wal_summary_keep_time;
|
|
21
|
+
|
|
22
|
+
extern Size WalSummarizerShmemSize(void);
|
|
23
|
+
extern void WalSummarizerShmemInit(void);
|
|
24
|
+
extern void WalSummarizerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
|
|
25
|
+
|
|
26
|
+
extern void GetWalSummarizerState(TimeLineID *summarized_tli,
|
|
27
|
+
XLogRecPtr *summarized_lsn,
|
|
28
|
+
XLogRecPtr *pending_lsn,
|
|
29
|
+
int *summarizer_pid);
|
|
30
|
+
extern XLogRecPtr GetOldestUnsummarizedLSN(TimeLineID *tli,
|
|
31
|
+
bool *lsn_is_exact);
|
|
32
|
+
extern void SetWalSummarizerLatch(void);
|
|
33
|
+
extern void WaitForWalSummarization(XLogRecPtr lsn);
|
|
34
|
+
|
|
35
|
+
#endif
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* walwriter.h
|
|
4
4
|
* Exports from postmaster/walwriter.c.
|
|
5
5
|
*
|
|
6
|
-
* Portions Copyright (c) 1996-
|
|
6
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
7
7
|
*
|
|
8
8
|
* src/include/postmaster/walwriter.h
|
|
9
9
|
*
|
|
@@ -18,6 +18,6 @@
|
|
|
18
18
|
extern PGDLLIMPORT int WalWriterDelay;
|
|
19
19
|
extern PGDLLIMPORT int WalWriterFlushAfter;
|
|
20
20
|
|
|
21
|
-
extern void WalWriterMain(
|
|
21
|
+
extern void WalWriterMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
|
|
22
22
|
|
|
23
23
|
#endif /* _WALWRITER_H */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
#ifndef
|
|
2
|
-
#define
|
|
1
|
+
#ifndef _PG_REGEX_H_
|
|
2
|
+
#define _PG_REGEX_H_ /* never again */
|
|
3
3
|
/*
|
|
4
4
|
* regular expressions
|
|
5
5
|
*
|
|
@@ -32,6 +32,84 @@
|
|
|
32
32
|
* src/include/regex/regex.h
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
+
/*
|
|
36
|
+
* This is an implementation of POSIX regex_t, so it clashes with the
|
|
37
|
+
* system-provided <regex.h> header. That header might be unintentionally
|
|
38
|
+
* included already, so we force that to happen now on all systems to show that
|
|
39
|
+
* we can cope and that we completely replace the system regex interfaces.
|
|
40
|
+
*
|
|
41
|
+
* Note that we avoided using _REGEX_H_ as an include guard, as that confuses
|
|
42
|
+
* matters on BSD family systems including macOS that use the same include
|
|
43
|
+
* guard.
|
|
44
|
+
*/
|
|
45
|
+
#ifndef _WIN32
|
|
46
|
+
#include <regex.h>
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
/* Avoid redefinition errors due to the system header. */
|
|
50
|
+
#undef REG_UBACKREF
|
|
51
|
+
#undef REG_ULOOKAROUND
|
|
52
|
+
#undef REG_UBOUNDS
|
|
53
|
+
#undef REG_UBRACES
|
|
54
|
+
#undef REG_UBSALNUM
|
|
55
|
+
#undef REG_UPBOTCH
|
|
56
|
+
#undef REG_UBBS
|
|
57
|
+
#undef REG_UNONPOSIX
|
|
58
|
+
#undef REG_UUNSPEC
|
|
59
|
+
#undef REG_UUNPORT
|
|
60
|
+
#undef REG_ULOCALE
|
|
61
|
+
#undef REG_UEMPTYMATCH
|
|
62
|
+
#undef REG_UIMPOSSIBLE
|
|
63
|
+
#undef REG_USHORTEST
|
|
64
|
+
#undef REG_BASIC
|
|
65
|
+
#undef REG_EXTENDED
|
|
66
|
+
#undef REG_ADVF
|
|
67
|
+
#undef REG_ADVANCED
|
|
68
|
+
#undef REG_QUOTE
|
|
69
|
+
#undef REG_NOSPEC
|
|
70
|
+
#undef REG_ICASE
|
|
71
|
+
#undef REG_NOSUB
|
|
72
|
+
#undef REG_EXPANDED
|
|
73
|
+
#undef REG_NLSTOP
|
|
74
|
+
#undef REG_NLANCH
|
|
75
|
+
#undef REG_NEWLINE
|
|
76
|
+
#undef REG_PEND
|
|
77
|
+
#undef REG_EXPECT
|
|
78
|
+
#undef REG_BOSONLY
|
|
79
|
+
#undef REG_DUMP
|
|
80
|
+
#undef REG_FAKE
|
|
81
|
+
#undef REG_PROGRESS
|
|
82
|
+
#undef REG_NOTBOL
|
|
83
|
+
#undef REG_NOTEOL
|
|
84
|
+
#undef REG_STARTEND
|
|
85
|
+
#undef REG_FTRACE
|
|
86
|
+
#undef REG_MTRACE
|
|
87
|
+
#undef REG_SMALL
|
|
88
|
+
#undef REG_OKAY
|
|
89
|
+
#undef REG_NOMATCH
|
|
90
|
+
#undef REG_BADPAT
|
|
91
|
+
#undef REG_ECOLLATE
|
|
92
|
+
#undef REG_ECTYPE
|
|
93
|
+
#undef REG_EESCAPE
|
|
94
|
+
#undef REG_ESUBREG
|
|
95
|
+
#undef REG_EBRACK
|
|
96
|
+
#undef REG_EPAREN
|
|
97
|
+
#undef REG_EBRACE
|
|
98
|
+
#undef REG_BADBR
|
|
99
|
+
#undef REG_ERANGE
|
|
100
|
+
#undef REG_ESPACE
|
|
101
|
+
#undef REG_BADRPT
|
|
102
|
+
#undef REG_ASSERT
|
|
103
|
+
#undef REG_INVARG
|
|
104
|
+
#undef REG_MIXED
|
|
105
|
+
#undef REG_BADOPT
|
|
106
|
+
#undef REG_ETOOBIG
|
|
107
|
+
#undef REG_ECOLORS
|
|
108
|
+
#undef REG_ATOI
|
|
109
|
+
#undef REG_ITOA
|
|
110
|
+
#undef REG_PREFIX
|
|
111
|
+
#undef REG_EXACT
|
|
112
|
+
|
|
35
113
|
/*
|
|
36
114
|
* Add your own defines, if needed, here.
|
|
37
115
|
*/
|
|
@@ -45,7 +123,7 @@
|
|
|
45
123
|
* regoff_t has to be large enough to hold either off_t or ssize_t,
|
|
46
124
|
* and must be signed; it's only a guess that long is suitable.
|
|
47
125
|
*/
|
|
48
|
-
typedef long
|
|
126
|
+
typedef long pg_regoff_t;
|
|
49
127
|
|
|
50
128
|
/*
|
|
51
129
|
* other interface types
|
|
@@ -79,19 +157,19 @@ typedef struct
|
|
|
79
157
|
/* the rest is opaque pointers to hidden innards */
|
|
80
158
|
char *re_guts; /* `char *' is more portable than `void *' */
|
|
81
159
|
char *re_fns;
|
|
82
|
-
}
|
|
160
|
+
} pg_regex_t;
|
|
83
161
|
|
|
84
162
|
/* result reporting (may acquire more fields later) */
|
|
85
163
|
typedef struct
|
|
86
164
|
{
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
165
|
+
pg_regoff_t rm_so; /* start of substring */
|
|
166
|
+
pg_regoff_t rm_eo; /* end of substring */
|
|
167
|
+
} pg_regmatch_t;
|
|
90
168
|
|
|
91
169
|
/* supplementary control and reporting */
|
|
92
170
|
typedef struct
|
|
93
171
|
{
|
|
94
|
-
|
|
172
|
+
pg_regmatch_t rm_extend; /* see REG_EXPECT */
|
|
95
173
|
} rm_detail_t;
|
|
96
174
|
|
|
97
175
|
|
|
@@ -164,6 +242,11 @@ typedef struct
|
|
|
164
242
|
#define REG_EXACT (-2) /* identified an exact match */
|
|
165
243
|
|
|
166
244
|
|
|
245
|
+
/* Redirect the standard typenames to our typenames. */
|
|
246
|
+
#define regoff_t pg_regoff_t
|
|
247
|
+
#define regex_t pg_regex_t
|
|
248
|
+
#define regmatch_t pg_regmatch_t
|
|
249
|
+
|
|
167
250
|
|
|
168
251
|
/*
|
|
169
252
|
* the prototypes for exported functions
|
|
@@ -186,4 +269,4 @@ extern bool RE_compile_and_execute(text *text_re, char *dat, int dat_len,
|
|
|
186
269
|
int cflags, Oid collation,
|
|
187
270
|
int nmatch, regmatch_t *pmatch);
|
|
188
271
|
|
|
189
|
-
#endif /*
|
|
272
|
+
#endif /* _PG_REGEX_H_ */
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* logicallauncher.h
|
|
4
4
|
* Exports for logical replication launcher.
|
|
5
5
|
*
|
|
6
|
-
* Portions Copyright (c) 2016-
|
|
6
|
+
* Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group
|
|
7
7
|
*
|
|
8
8
|
* src/include/replication/logicallauncher.h
|
|
9
9
|
*
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* logicalproto.h
|
|
4
4
|
* logical replication protocol
|
|
5
5
|
*
|
|
6
|
-
* Copyright (c) 2015-
|
|
6
|
+
* Copyright (c) 2015-2024, PostgreSQL Global Development Group
|
|
7
7
|
*
|
|
8
8
|
* IDENTIFICATION
|
|
9
9
|
* src/include/replication/logicalproto.h
|
|
@@ -74,7 +74,7 @@ typedef enum LogicalRepMsgType
|
|
|
74
74
|
LOGICAL_REP_MSG_STREAM_STOP = 'E',
|
|
75
75
|
LOGICAL_REP_MSG_STREAM_COMMIT = 'c',
|
|
76
76
|
LOGICAL_REP_MSG_STREAM_ABORT = 'A',
|
|
77
|
-
LOGICAL_REP_MSG_STREAM_PREPARE = 'p'
|
|
77
|
+
LOGICAL_REP_MSG_STREAM_PREPARE = 'p',
|
|
78
78
|
} LogicalRepMsgType;
|
|
79
79
|
|
|
80
80
|
/*
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* logicalworker.h
|
|
4
4
|
* Exports for logical replication workers.
|
|
5
5
|
*
|
|
6
|
-
* Portions Copyright (c) 2016-
|
|
6
|
+
* Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group
|
|
7
7
|
*
|
|
8
8
|
* src/include/replication/logicalworker.h
|
|
9
9
|
*
|
|
@@ -18,6 +18,7 @@ extern PGDLLIMPORT volatile sig_atomic_t ParallelApplyMessagePending;
|
|
|
18
18
|
|
|
19
19
|
extern void ApplyWorkerMain(Datum main_arg);
|
|
20
20
|
extern void ParallelApplyWorkerMain(Datum main_arg);
|
|
21
|
+
extern void TablesyncWorkerMain(Datum main_arg);
|
|
21
22
|
|
|
22
23
|
extern bool IsLogicalWorker(void);
|
|
23
24
|
extern bool IsLogicalParallelApplyWorker(void);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* origin.h
|
|
3
3
|
* Exports from replication/logical/origin.c
|
|
4
4
|
*
|
|
5
|
-
* Copyright (c) 2013-
|
|
5
|
+
* Copyright (c) 2013-2024, PostgreSQL Global Development Group
|
|
6
6
|
*
|
|
7
7
|
* src/include/replication/origin.h
|
|
8
8
|
*-------------------------------------------------------------------------
|