pg_query 2.1.0 → 4.2.1
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 +104 -0
- data/README.md +59 -31
- data/Rakefile +2 -2
- data/ext/pg_query/extconf.rb +8 -2
- data/ext/pg_query/include/access/amapi.h +45 -1
- data/ext/pg_query/include/access/attmap.h +1 -1
- data/ext/pg_query/include/access/attnum.h +2 -2
- data/ext/pg_query/include/access/clog.h +4 -2
- data/ext/pg_query/include/access/commit_ts.h +6 -9
- data/ext/pg_query/include/access/detoast.h +1 -11
- data/ext/pg_query/include/access/genam.h +15 -12
- data/ext/pg_query/include/access/gin.h +2 -2
- data/ext/pg_query/include/access/htup.h +1 -1
- data/ext/pg_query/include/access/htup_details.h +75 -87
- data/ext/pg_query/include/access/itup.h +7 -1
- data/ext/pg_query/include/access/parallel.h +2 -2
- data/ext/pg_query/include/access/printtup.h +1 -1
- data/ext/pg_query/include/access/relation.h +1 -1
- data/ext/pg_query/include/access/relscan.h +17 -2
- data/ext/pg_query/include/access/rmgr.h +30 -3
- data/ext/pg_query/include/access/rmgrlist.h +23 -23
- data/ext/pg_query/include/access/sdir.h +1 -1
- data/ext/pg_query/include/access/skey.h +1 -1
- data/ext/pg_query/include/access/stratnum.h +4 -2
- data/ext/pg_query/include/access/sysattr.h +1 -1
- data/ext/pg_query/include/access/table.h +2 -1
- data/ext/pg_query/include/access/tableam.h +272 -20
- data/ext/pg_query/include/access/toast_compression.h +73 -0
- data/ext/pg_query/include/access/transam.h +123 -13
- data/ext/pg_query/include/access/tupconvert.h +1 -1
- data/ext/pg_query/include/access/tupdesc.h +1 -1
- data/ext/pg_query/include/access/tupmacs.h +3 -3
- data/ext/pg_query/include/access/twophase.h +5 -1
- data/ext/pg_query/include/access/xact.h +79 -19
- data/ext/pg_query/include/access/xlog.h +60 -155
- data/ext/pg_query/include/access/xlog_internal.h +50 -14
- data/ext/pg_query/include/access/xlogdefs.h +8 -16
- data/ext/pg_query/include/access/xlogprefetcher.h +55 -0
- data/ext/pg_query/include/access/xlogreader.h +148 -32
- data/ext/pg_query/include/access/xlogrecord.h +18 -9
- data/ext/pg_query/include/access/xlogrecovery.h +157 -0
- data/ext/pg_query/include/c.h +101 -44
- data/ext/pg_query/include/catalog/catalog.h +3 -1
- data/ext/pg_query/include/catalog/catversion.h +2 -2
- data/ext/pg_query/include/catalog/dependency.h +10 -16
- data/ext/pg_query/include/catalog/genbki.h +83 -5
- data/ext/pg_query/include/catalog/index.h +18 -3
- data/ext/pg_query/include/catalog/indexing.h +12 -324
- data/ext/pg_query/include/catalog/namespace.h +4 -2
- data/ext/pg_query/include/catalog/objectaccess.h +70 -2
- data/ext/pg_query/include/catalog/objectaddress.h +11 -6
- data/ext/pg_query/include/catalog/pg_aggregate.h +14 -10
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_am.h +4 -1
- data/ext/pg_query/include/catalog/pg_am_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_attribute.h +27 -10
- data/ext/pg_query/include/catalog/pg_attribute_d.h +21 -18
- data/ext/pg_query/include/catalog/pg_authid.h +7 -2
- data/ext/pg_query/include/catalog/pg_authid_d.h +17 -9
- data/ext/pg_query/include/catalog/pg_class.h +45 -15
- data/ext/pg_query/include/catalog/pg_class_d.h +31 -2
- data/ext/pg_query/include/catalog/pg_collation.h +33 -8
- data/ext/pg_query/include/catalog/pg_collation_d.h +20 -3
- data/ext/pg_query/include/catalog/pg_constraint.h +38 -12
- data/ext/pg_query/include/catalog/pg_constraint_d.h +10 -4
- data/ext/pg_query/include/catalog/pg_control.h +5 -5
- data/ext/pg_query/include/catalog/pg_conversion.h +7 -4
- data/ext/pg_query/include/catalog/pg_conversion_d.h +4 -1
- data/ext/pg_query/include/catalog/pg_depend.h +11 -7
- data/ext/pg_query/include/catalog/pg_depend_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_event_trigger.h +9 -3
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_index.h +17 -7
- data/ext/pg_query/include/catalog/pg_index_d.h +20 -17
- data/ext/pg_query/include/catalog/pg_language.h +10 -5
- data/ext/pg_query/include/catalog/pg_language_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_namespace.h +7 -2
- data/ext/pg_query/include/catalog/pg_namespace_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_opclass.h +8 -5
- data/ext/pg_query/include/catalog/pg_opclass_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_operator.h +21 -16
- data/ext/pg_query/include/catalog/pg_operator_d.h +37 -1
- data/ext/pg_query/include/catalog/pg_opfamily.h +6 -3
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_parameter_acl.h +60 -0
- data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +34 -0
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +20 -9
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_proc.h +20 -11
- data/ext/pg_query/include/catalog/pg_proc_d.h +10 -8
- data/ext/pg_query/include/catalog/pg_publication.h +50 -4
- data/ext/pg_query/include/catalog/pg_publication_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_replication_origin.h +6 -1
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +5 -1
- data/ext/pg_query/include/catalog/pg_statistic.h +19 -12
- data/ext/pg_query/include/catalog/pg_statistic_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +19 -5
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +7 -2
- data/ext/pg_query/include/catalog/pg_transform.h +8 -5
- data/ext/pg_query/include/catalog/pg_transform_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_trigger.h +24 -8
- data/ext/pg_query/include/catalog/pg_trigger_d.h +4 -1
- data/ext/pg_query/include/catalog/pg_ts_config.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_dict.h +8 -3
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_parser.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_template.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_type.h +56 -24
- data/ext/pg_query/include/catalog/pg_type_d.h +70 -31
- data/ext/pg_query/include/catalog/storage.h +5 -3
- data/ext/pg_query/include/commands/async.h +4 -5
- data/ext/pg_query/include/commands/dbcommands.h +2 -1
- data/ext/pg_query/include/commands/defrem.h +11 -24
- data/ext/pg_query/include/commands/event_trigger.h +2 -2
- data/ext/pg_query/include/commands/explain.h +1 -1
- data/ext/pg_query/include/commands/prepare.h +1 -1
- data/ext/pg_query/include/commands/tablespace.h +3 -1
- data/ext/pg_query/include/commands/trigger.h +27 -17
- data/ext/pg_query/include/commands/user.h +2 -2
- data/ext/pg_query/include/commands/vacuum.h +88 -41
- data/ext/pg_query/include/commands/variable.h +1 -1
- data/ext/pg_query/include/common/file_perm.h +4 -4
- data/ext/pg_query/include/common/hashfn.h +1 -1
- data/ext/pg_query/include/common/ip.h +1 -7
- data/ext/pg_query/include/common/keywords.h +2 -6
- data/ext/pg_query/include/common/kwlookup.h +1 -1
- data/ext/pg_query/include/common/pg_prng.h +60 -0
- data/ext/pg_query/include/common/relpath.h +2 -2
- data/ext/pg_query/include/common/string.h +24 -1
- data/ext/pg_query/include/common/unicode_combining_table.h +114 -2
- data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +125 -0
- data/ext/pg_query/include/datatype/timestamp.h +40 -1
- data/ext/pg_query/include/executor/execdesc.h +1 -1
- data/ext/pg_query/include/executor/executor.h +65 -22
- data/ext/pg_query/include/executor/functions.h +17 -3
- data/ext/pg_query/include/executor/instrument.h +33 -16
- data/ext/pg_query/include/executor/spi.h +41 -3
- data/ext/pg_query/include/executor/tablefunc.h +1 -1
- data/ext/pg_query/include/executor/tuptable.h +1 -1
- data/ext/pg_query/include/fmgr.h +13 -7
- data/ext/pg_query/include/funcapi.h +16 -4
- data/ext/pg_query/include/getaddrinfo.h +1 -1
- data/ext/pg_query/include/jit/jit.h +11 -11
- data/ext/pg_query/include/kwlist_d.h +517 -494
- data/ext/pg_query/include/lib/dshash.h +112 -0
- data/ext/pg_query/include/lib/ilist.h +20 -1
- data/ext/pg_query/include/lib/pairingheap.h +1 -1
- data/ext/pg_query/include/lib/simplehash.h +150 -25
- data/ext/pg_query/include/lib/sort_template.h +432 -0
- data/ext/pg_query/include/lib/stringinfo.h +1 -1
- data/ext/pg_query/include/libpq/auth.h +6 -4
- data/ext/pg_query/include/libpq/crypt.h +5 -4
- data/ext/pg_query/include/libpq/hba.h +43 -4
- data/ext/pg_query/include/libpq/libpq-be.h +23 -6
- data/ext/pg_query/include/libpq/libpq.h +31 -20
- data/ext/pg_query/include/libpq/pqcomm.h +17 -31
- data/ext/pg_query/include/libpq/pqformat.h +1 -1
- data/ext/pg_query/include/libpq/pqsignal.h +4 -4
- data/ext/pg_query/include/mb/pg_wchar.h +106 -23
- data/ext/pg_query/include/mb/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/miscadmin.h +71 -52
- data/ext/pg_query/include/nodes/bitmapset.h +1 -1
- data/ext/pg_query/include/nodes/execnodes.h +272 -80
- data/ext/pg_query/include/nodes/extensible.h +4 -2
- data/ext/pg_query/include/nodes/lockoptions.h +1 -1
- data/ext/pg_query/include/nodes/makefuncs.h +7 -6
- data/ext/pg_query/include/nodes/memnodes.h +5 -3
- data/ext/pg_query/include/nodes/nodeFuncs.h +1 -1
- data/ext/pg_query/include/nodes/nodes.h +30 -11
- data/ext/pg_query/include/nodes/params.h +1 -1
- data/ext/pg_query/include/nodes/parsenodes.h +327 -94
- data/ext/pg_query/include/nodes/pathnodes.h +245 -67
- data/ext/pg_query/include/nodes/pg_list.h +75 -68
- data/ext/pg_query/include/nodes/plannodes.h +128 -30
- data/ext/pg_query/include/nodes/primnodes.h +99 -47
- data/ext/pg_query/include/nodes/print.h +1 -1
- data/ext/pg_query/include/nodes/tidbitmap.h +1 -1
- data/ext/pg_query/include/nodes/value.h +58 -39
- data/ext/pg_query/include/optimizer/cost.h +9 -2
- data/ext/pg_query/include/optimizer/geqo.h +9 -7
- data/ext/pg_query/include/optimizer/geqo_gene.h +1 -1
- data/ext/pg_query/include/optimizer/optimizer.h +25 -22
- data/ext/pg_query/include/optimizer/paths.h +6 -6
- data/ext/pg_query/include/optimizer/planmain.h +15 -14
- data/ext/pg_query/include/parser/analyze.h +19 -5
- data/ext/pg_query/include/parser/gram.h +947 -913
- data/ext/pg_query/include/parser/gramparse.h +1 -1
- data/ext/pg_query/include/parser/kwlist.h +463 -453
- data/ext/pg_query/include/parser/parse_agg.h +2 -7
- data/ext/pg_query/include/parser/parse_coerce.h +4 -1
- data/ext/pg_query/include/parser/parse_expr.h +2 -3
- data/ext/pg_query/include/parser/parse_func.h +2 -1
- data/ext/pg_query/include/parser/parse_node.h +21 -9
- data/ext/pg_query/include/parser/parse_oper.h +1 -3
- data/ext/pg_query/include/parser/parse_relation.h +5 -4
- data/ext/pg_query/include/parser/parse_type.h +1 -1
- data/ext/pg_query/include/parser/parser.h +31 -4
- data/ext/pg_query/include/parser/parsetree.h +1 -1
- data/ext/pg_query/include/parser/scanner.h +1 -1
- data/ext/pg_query/include/parser/scansup.h +2 -5
- data/ext/pg_query/include/partitioning/partdefs.h +1 -1
- data/ext/pg_query/include/pg_config.h +94 -46
- data/ext/pg_query/include/pg_config_manual.h +74 -21
- data/ext/pg_query/include/pg_getopt.h +6 -6
- data/ext/pg_query/include/pg_query.h +5 -4
- data/ext/pg_query/include/pg_query_enum_defs.c +358 -241
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +44 -7
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +1220 -422
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +43 -13
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +152 -26
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +11 -2
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +174 -30
- data/ext/pg_query/include/pg_trace.h +1 -1
- data/ext/pg_query/include/pgstat.h +449 -1237
- data/ext/pg_query/include/pgtime.h +14 -4
- data/ext/pg_query/include/pl_gram.h +126 -128
- data/ext/pg_query/include/pl_reserved_kwlist.h +1 -1
- data/ext/pg_query/include/pl_reserved_kwlist_d.h +10 -10
- data/ext/pg_query/include/pl_unreserved_kwlist.h +2 -3
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +54 -56
- data/ext/pg_query/include/plerrcodes.h +9 -1
- data/ext/pg_query/include/plpgsql.h +52 -54
- data/ext/pg_query/include/port/atomics/arch-arm.h +7 -1
- data/ext/pg_query/include/port/atomics/arch-ppc.h +1 -1
- data/ext/pg_query/include/port/atomics/arch-x86.h +1 -1
- data/ext/pg_query/include/port/atomics/fallback.h +1 -1
- data/ext/pg_query/include/port/atomics/generic-gcc.h +3 -3
- data/ext/pg_query/include/port/atomics/generic.h +1 -1
- data/ext/pg_query/include/port/atomics.h +1 -1
- data/ext/pg_query/include/port/pg_bitutils.h +88 -12
- data/ext/pg_query/include/port/pg_bswap.h +1 -1
- data/ext/pg_query/include/port/pg_crc32c.h +1 -1
- data/ext/pg_query/include/port.h +72 -43
- data/ext/pg_query/include/portability/instr_time.h +1 -1
- data/ext/pg_query/include/postgres.h +60 -16
- data/ext/pg_query/include/postmaster/autovacuum.h +17 -17
- data/ext/pg_query/include/postmaster/auxprocess.h +20 -0
- data/ext/pg_query/include/postmaster/bgworker.h +2 -1
- data/ext/pg_query/include/postmaster/bgworker_internals.h +2 -2
- data/ext/pg_query/include/postmaster/bgwriter.h +5 -5
- data/ext/pg_query/include/postmaster/fork_process.h +1 -1
- data/ext/pg_query/include/postmaster/interrupt.h +1 -1
- data/ext/pg_query/include/postmaster/pgarch.h +42 -8
- data/ext/pg_query/include/postmaster/postmaster.h +18 -17
- data/ext/pg_query/include/postmaster/startup.h +39 -0
- data/ext/pg_query/include/postmaster/syslogger.h +15 -10
- data/ext/pg_query/include/postmaster/walwriter.h +3 -3
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1422 -916
- data/ext/pg_query/include/protobuf/pg_query.pb.h +43678 -32769
- data/ext/pg_query/include/regex/regex.h +18 -16
- data/ext/pg_query/include/replication/logicallauncher.h +3 -5
- data/ext/pg_query/include/replication/logicalproto.h +161 -17
- data/ext/pg_query/include/replication/logicalworker.h +1 -1
- data/ext/pg_query/include/replication/origin.h +7 -7
- data/ext/pg_query/include/replication/reorderbuffer.h +262 -44
- data/ext/pg_query/include/replication/slot.h +23 -12
- data/ext/pg_query/include/replication/syncrep.h +5 -5
- data/ext/pg_query/include/replication/walreceiver.h +145 -13
- data/ext/pg_query/include/replication/walsender.h +8 -8
- data/ext/pg_query/include/rewrite/prs2lock.h +1 -1
- data/ext/pg_query/include/rewrite/rewriteHandler.h +1 -3
- data/ext/pg_query/include/rewrite/rewriteManip.h +1 -1
- data/ext/pg_query/include/rewrite/rewriteSupport.h +1 -1
- data/ext/pg_query/include/storage/backendid.h +3 -3
- data/ext/pg_query/include/storage/block.h +4 -10
- data/ext/pg_query/include/storage/buf.h +1 -1
- data/ext/pg_query/include/storage/bufmgr.h +19 -14
- data/ext/pg_query/include/storage/bufpage.h +6 -8
- data/ext/pg_query/include/storage/condition_variable.h +13 -2
- data/ext/pg_query/include/storage/dsm.h +4 -1
- data/ext/pg_query/include/storage/dsm_impl.h +3 -2
- data/ext/pg_query/include/storage/fd.h +33 -3
- data/ext/pg_query/include/storage/fileset.h +40 -0
- data/ext/pg_query/include/storage/ipc.h +4 -1
- data/ext/pg_query/include/storage/item.h +1 -1
- data/ext/pg_query/include/storage/itemid.h +1 -1
- data/ext/pg_query/include/storage/itemptr.h +3 -1
- data/ext/pg_query/include/storage/large_object.h +2 -2
- data/ext/pg_query/include/storage/latch.h +9 -13
- data/ext/pg_query/include/storage/lmgr.h +2 -1
- data/ext/pg_query/include/storage/lock.h +17 -13
- data/ext/pg_query/include/storage/lockdefs.h +2 -2
- data/ext/pg_query/include/storage/lwlock.h +6 -32
- data/ext/pg_query/include/storage/lwlocknames.h +0 -1
- data/ext/pg_query/include/storage/off.h +1 -1
- data/ext/pg_query/include/storage/pg_sema.h +1 -1
- data/ext/pg_query/include/storage/pg_shmem.h +9 -7
- data/ext/pg_query/include/storage/pmsignal.h +15 -4
- data/ext/pg_query/include/storage/predicate.h +4 -4
- data/ext/pg_query/include/storage/proc.h +183 -55
- data/ext/pg_query/include/storage/procarray.h +98 -0
- data/ext/pg_query/include/storage/proclist_types.h +1 -1
- data/ext/pg_query/include/storage/procsignal.h +3 -7
- data/ext/pg_query/include/storage/relfilenode.h +1 -1
- data/ext/pg_query/include/storage/s_lock.h +67 -4
- data/ext/pg_query/include/storage/sharedfileset.h +3 -11
- data/ext/pg_query/include/storage/shm_mq.h +5 -4
- data/ext/pg_query/include/storage/shm_toc.h +1 -1
- data/ext/pg_query/include/storage/shmem.h +1 -1
- data/ext/pg_query/include/storage/sinval.h +3 -3
- data/ext/pg_query/include/storage/sinvaladt.h +1 -1
- data/ext/pg_query/include/storage/smgr.h +10 -8
- data/ext/pg_query/include/storage/spin.h +2 -2
- data/ext/pg_query/include/storage/standby.h +13 -6
- data/ext/pg_query/include/storage/standbydefs.h +2 -2
- data/ext/pg_query/include/storage/sync.h +7 -3
- data/ext/pg_query/include/tcop/cmdtag.h +1 -1
- data/ext/pg_query/include/tcop/cmdtaglist.h +3 -2
- data/ext/pg_query/include/tcop/deparse_utility.h +1 -1
- data/ext/pg_query/include/tcop/dest.h +1 -1
- data/ext/pg_query/include/tcop/fastpath.h +1 -2
- data/ext/pg_query/include/tcop/pquery.h +7 -1
- data/ext/pg_query/include/tcop/tcopprot.h +19 -11
- data/ext/pg_query/include/tcop/utility.h +7 -3
- data/ext/pg_query/include/tsearch/ts_cache.h +2 -2
- data/ext/pg_query/include/utils/acl.h +24 -3
- data/ext/pg_query/include/utils/aclchk_internal.h +1 -1
- data/ext/pg_query/include/utils/array.h +7 -2
- data/ext/pg_query/include/utils/backend_progress.h +44 -0
- data/ext/pg_query/include/utils/backend_status.h +321 -0
- data/ext/pg_query/include/utils/builtins.h +11 -11
- data/ext/pg_query/include/utils/bytea.h +3 -2
- data/ext/pg_query/include/utils/catcache.h +1 -1
- data/ext/pg_query/include/utils/date.h +1 -1
- data/ext/pg_query/include/utils/datetime.h +8 -7
- data/ext/pg_query/include/utils/datum.h +9 -1
- data/ext/pg_query/include/utils/dsa.h +1 -1
- data/ext/pg_query/include/utils/dynahash.h +4 -3
- data/ext/pg_query/include/utils/elog.h +52 -21
- data/ext/pg_query/include/utils/errcodes.h +2 -0
- data/ext/pg_query/include/utils/expandeddatum.h +1 -1
- data/ext/pg_query/include/utils/expandedrecord.h +1 -1
- data/ext/pg_query/include/utils/float.h +7 -7
- data/ext/pg_query/include/utils/fmgroids.h +1300 -696
- data/ext/pg_query/include/utils/fmgrprotos.h +199 -16
- data/ext/pg_query/include/utils/fmgrtab.h +6 -5
- data/ext/pg_query/include/utils/guc.h +69 -43
- data/ext/pg_query/include/utils/guc_tables.h +23 -19
- data/ext/pg_query/include/utils/hsearch.h +15 -11
- data/ext/pg_query/include/utils/inval.h +5 -1
- data/ext/pg_query/include/utils/lsyscache.h +11 -1
- data/ext/pg_query/include/utils/memdebug.h +1 -1
- data/ext/pg_query/include/utils/memutils.h +8 -3
- data/ext/pg_query/include/utils/numeric.h +19 -5
- data/ext/pg_query/include/utils/palloc.h +25 -3
- data/ext/pg_query/include/utils/partcache.h +1 -1
- data/ext/pg_query/include/utils/pg_locale.h +17 -9
- data/ext/pg_query/include/utils/pg_lsn.h +1 -1
- data/ext/pg_query/include/utils/pgstat_internal.h +784 -0
- data/ext/pg_query/include/utils/pidfile.h +1 -1
- data/ext/pg_query/include/utils/plancache.h +6 -5
- data/ext/pg_query/include/utils/portal.h +12 -1
- data/ext/pg_query/include/utils/ps_status.h +1 -1
- data/ext/pg_query/include/utils/queryenvironment.h +1 -1
- data/ext/pg_query/include/utils/queryjumble.h +88 -0
- data/ext/pg_query/include/utils/regproc.h +14 -3
- data/ext/pg_query/include/utils/rel.h +71 -20
- data/ext/pg_query/include/utils/relcache.h +9 -7
- data/ext/pg_query/include/utils/reltrigger.h +1 -1
- data/ext/pg_query/include/utils/resowner.h +1 -1
- data/ext/pg_query/include/utils/rls.h +2 -2
- data/ext/pg_query/include/utils/ruleutils.h +4 -1
- data/ext/pg_query/include/utils/sharedtuplestore.h +1 -1
- data/ext/pg_query/include/utils/snapmgr.h +35 -14
- data/ext/pg_query/include/utils/snapshot.h +14 -1
- data/ext/pg_query/include/utils/sortsupport.h +117 -2
- data/ext/pg_query/include/utils/syscache.h +6 -1
- data/ext/pg_query/include/utils/timeout.h +11 -4
- data/ext/pg_query/include/utils/timestamp.h +6 -5
- data/ext/pg_query/include/utils/tuplesort.h +25 -11
- data/ext/pg_query/include/utils/tuplestore.h +2 -2
- data/ext/pg_query/include/utils/typcache.h +24 -17
- data/ext/pg_query/include/utils/tzparser.h +1 -1
- data/ext/pg_query/include/utils/varlena.h +5 -3
- data/ext/pg_query/include/utils/wait_event.h +289 -0
- data/ext/pg_query/include/utils/xml.h +4 -4
- data/ext/pg_query/pg_query.pb-c.c +4318 -2307
- data/ext/pg_query/pg_query_deparse.c +1114 -381
- data/ext/pg_query/pg_query_fingerprint.c +46 -10
- data/ext/pg_query/pg_query_fingerprint.h +3 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +55 -12
- data/ext/pg_query/pg_query_normalize.c +163 -20
- data/ext/pg_query/pg_query_outfuncs.h +1 -0
- data/ext/pg_query/pg_query_outfuncs_json.c +65 -16
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +70 -10
- data/ext/pg_query/pg_query_parse.c +1 -1
- data/ext/pg_query/pg_query_parse_plpgsql.c +79 -16
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +42 -8
- data/ext/pg_query/pg_query_ruby.c +1 -1
- data/ext/pg_query/pg_query_scan.c +2 -1
- data/ext/pg_query/pg_query_split.c +3 -2
- data/ext/pg_query/src_backend_catalog_namespace.c +21 -9
- data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
- data/ext/pg_query/src_backend_commands_define.c +11 -1
- data/ext/pg_query/src_backend_nodes_bitmapset.c +3 -1
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +424 -109
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +291 -46
- data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
- data/ext/pg_query/src_backend_nodes_list.c +86 -11
- data/ext/pg_query/src_backend_nodes_makefuncs.c +5 -4
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +55 -12
- data/ext/pg_query/src_backend_nodes_value.c +28 -19
- data/ext/pg_query/src_backend_parser_gram.c +33890 -31262
- data/ext/pg_query/src_backend_parser_parser.c +26 -7
- data/ext/pg_query/src_backend_parser_scan.c +644 -441
- data/ext/pg_query/src_backend_parser_scansup.c +4 -28
- data/ext/pg_query/src_backend_postmaster_postmaster.c +77 -106
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +5 -4
- data/ext/pg_query/src_backend_tcop_postgres.c +73 -24
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +13 -1
- 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_ruleutils.c +109 -15
- data/ext/pg_query/src_backend_utils_error_assert.c +16 -14
- data/ext/pg_query/src_backend_utils_error_elog.c +172 -99
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +12 -17
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +40 -10
- data/ext/pg_query/src_backend_utils_init_globals.c +5 -5
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +55 -66
- data/ext/pg_query/src_backend_utils_misc_guc.c +207 -45
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +7 -5
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +123 -35
- data/ext/pg_query/src_common_encnames.c +1 -1
- 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 +517 -494
- data/ext/pg_query/src_common_kwlookup.c +1 -1
- data/ext/pg_query/src_common_pg_prng.c +152 -0
- data/ext/pg_query/src_common_psprintf.c +1 -1
- data/ext/pg_query/src_common_string.c +7 -1
- data/ext/pg_query/src_common_stringinfo.c +1 -1
- data/ext/pg_query/src_common_wchar.c +712 -109
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +49 -22
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -18
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1235 -1261
- 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 +2 -2
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +54 -56
- data/ext/pg_query/src_port_pg_bitutils.c +41 -52
- data/ext/pg_query/src_port_pgsleep.c +1 -1
- data/ext/pg_query/src_port_pgstrcasecmp.c +1 -1
- data/ext/pg_query/src_port_qsort.c +12 -224
- data/ext/pg_query/src_port_snprintf.c +46 -20
- data/ext/pg_query/src_port_strerror.c +9 -19
- data/ext/pg_query/src_port_strnlen.c +1 -1
- data/lib/pg_query/deparse.rb +7 -1
- data/lib/pg_query/filter_columns.rb +6 -4
- data/lib/pg_query/fingerprint.rb +18 -3
- data/lib/pg_query/node.rb +2 -2
- data/lib/pg_query/param_refs.rb +1 -1
- data/lib/pg_query/parse.rb +87 -51
- data/lib/pg_query/pg_query_pb.rb +1109 -942
- data/lib/pg_query/treewalker.rb +6 -0
- data/lib/pg_query/truncate.rb +54 -8
- data/lib/pg_query/version.rb +1 -1
- metadata +29 -18
- data/ext/pg_query/include/access/xloginsert.h +0 -64
- data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
- data/ext/pg_query/include/parser/parse_clause.h +0 -54
- data/ext/pg_query/include/parser/parse_collate.h +0 -27
- data/ext/pg_query/include/parser/parse_target.h +0 -46
- data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -651
- data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
- data/ext/pg_query/src_port_erand48.c +0 -127
- data/ext/pg_query/src_port_random.c +0 -31
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Over time, this has also become the preferred place for widely known
|
|
11
11
|
* resource-limitation stuff, such as work_mem and check_stack_depth().
|
|
12
12
|
*
|
|
13
|
-
* Portions Copyright (c) 1996-
|
|
13
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
14
14
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
15
15
|
*
|
|
16
16
|
* src/include/miscadmin.h
|
|
@@ -57,6 +57,15 @@
|
|
|
57
57
|
* allowing die interrupts: HOLD_CANCEL_INTERRUPTS() and
|
|
58
58
|
* RESUME_CANCEL_INTERRUPTS().
|
|
59
59
|
*
|
|
60
|
+
* Note that ProcessInterrupts() has also acquired a number of tasks that
|
|
61
|
+
* do not necessarily cause a query-cancel-or-die response. Hence, it's
|
|
62
|
+
* possible that it will just clear InterruptPending and return.
|
|
63
|
+
*
|
|
64
|
+
* INTERRUPTS_PENDING_CONDITION() can be checked to see whether an
|
|
65
|
+
* interrupt needs to be serviced, without trying to do so immediately.
|
|
66
|
+
* Some callers are also interested in INTERRUPTS_CAN_BE_PROCESSED(),
|
|
67
|
+
* which tells whether ProcessInterrupts is sure to clear the interrupt.
|
|
68
|
+
*
|
|
60
69
|
* Special mechanisms are used to let an interrupt be accepted when we are
|
|
61
70
|
* waiting for a lock or when we are waiting for command input (but, of
|
|
62
71
|
* course, only if the interrupt holdoff counter is zero). See the
|
|
@@ -82,8 +91,12 @@ extern PGDLLIMPORT __thread volatile sig_atomic_t InterruptPending;
|
|
|
82
91
|
extern PGDLLIMPORT volatile sig_atomic_t QueryCancelPending;
|
|
83
92
|
extern PGDLLIMPORT volatile sig_atomic_t ProcDiePending;
|
|
84
93
|
extern PGDLLIMPORT volatile sig_atomic_t IdleInTransactionSessionTimeoutPending;
|
|
94
|
+
extern PGDLLIMPORT volatile sig_atomic_t IdleSessionTimeoutPending;
|
|
85
95
|
extern PGDLLIMPORT volatile sig_atomic_t ProcSignalBarrierPending;
|
|
96
|
+
extern PGDLLIMPORT volatile sig_atomic_t LogMemoryContextPending;
|
|
97
|
+
extern PGDLLIMPORT volatile sig_atomic_t IdleStatsUpdateTimeoutPending;
|
|
86
98
|
|
|
99
|
+
extern PGDLLIMPORT volatile sig_atomic_t CheckClientConnectionPending;
|
|
87
100
|
extern PGDLLIMPORT volatile sig_atomic_t ClientConnectionLost;
|
|
88
101
|
|
|
89
102
|
/* these are marked volatile because they are examined by signal handlers: */
|
|
@@ -94,24 +107,27 @@ extern PGDLLIMPORT __thread volatile uint32 CritSectionCount;
|
|
|
94
107
|
/* in tcop/postgres.c */
|
|
95
108
|
extern void ProcessInterrupts(void);
|
|
96
109
|
|
|
110
|
+
/* Test whether an interrupt is pending */
|
|
97
111
|
#ifndef WIN32
|
|
112
|
+
#define INTERRUPTS_PENDING_CONDITION() \
|
|
113
|
+
(unlikely(InterruptPending))
|
|
114
|
+
#else
|
|
115
|
+
#define INTERRUPTS_PENDING_CONDITION() \
|
|
116
|
+
(unlikely(UNBLOCKED_SIGNAL_QUEUE()) ? pgwin32_dispatch_queued_signals() : 0, \
|
|
117
|
+
unlikely(InterruptPending))
|
|
118
|
+
#endif
|
|
98
119
|
|
|
120
|
+
/* Service interrupt, if one is pending and it's safe to service it now */
|
|
99
121
|
#define CHECK_FOR_INTERRUPTS() \
|
|
100
122
|
do { \
|
|
101
|
-
if (
|
|
102
|
-
ProcessInterrupts(); \
|
|
103
|
-
} while(0)
|
|
104
|
-
#else /* WIN32 */
|
|
105
|
-
|
|
106
|
-
#define CHECK_FOR_INTERRUPTS() \
|
|
107
|
-
do { \
|
|
108
|
-
if (unlikely(UNBLOCKED_SIGNAL_QUEUE())) \
|
|
109
|
-
pgwin32_dispatch_queued_signals(); \
|
|
110
|
-
if (unlikely(InterruptPending)) \
|
|
123
|
+
if (INTERRUPTS_PENDING_CONDITION()) \
|
|
111
124
|
ProcessInterrupts(); \
|
|
112
125
|
} while(0)
|
|
113
|
-
#endif /* WIN32 */
|
|
114
126
|
|
|
127
|
+
/* Is ProcessInterrupts() guaranteed to clear InterruptPending? */
|
|
128
|
+
#define INTERRUPTS_CAN_BE_PROCESSED() \
|
|
129
|
+
(InterruptHoldoffCount == 0 && CritSectionCount == 0 && \
|
|
130
|
+
QueryCancelHoldoffCount == 0)
|
|
115
131
|
|
|
116
132
|
#define HOLD_INTERRUPTS() (InterruptHoldoffCount++)
|
|
117
133
|
|
|
@@ -146,7 +162,7 @@ do { \
|
|
|
146
162
|
* from utils/init/globals.c
|
|
147
163
|
*/
|
|
148
164
|
extern PGDLLIMPORT pid_t PostmasterPid;
|
|
149
|
-
extern PGDLLIMPORT
|
|
165
|
+
extern PGDLLIMPORT bool IsPostmasterEnvironment;
|
|
150
166
|
extern PGDLLIMPORT bool IsUnderPostmaster;
|
|
151
167
|
extern PGDLLIMPORT bool IsBackgroundWorker;
|
|
152
168
|
extern PGDLLIMPORT bool IsBinaryUpgrade;
|
|
@@ -167,15 +183,15 @@ extern PGDLLIMPORT pg_time_t MyStartTime;
|
|
|
167
183
|
extern PGDLLIMPORT TimestampTz MyStartTimestamp;
|
|
168
184
|
extern PGDLLIMPORT struct Port *MyProcPort;
|
|
169
185
|
extern PGDLLIMPORT struct Latch *MyLatch;
|
|
170
|
-
extern int32 MyCancelKey;
|
|
171
|
-
extern int
|
|
186
|
+
extern PGDLLIMPORT int32 MyCancelKey;
|
|
187
|
+
extern PGDLLIMPORT int MyPMChildSlot;
|
|
172
188
|
|
|
173
|
-
extern char OutputFileName[];
|
|
189
|
+
extern PGDLLIMPORT char OutputFileName[];
|
|
174
190
|
extern PGDLLIMPORT char my_exec_path[];
|
|
175
|
-
extern char pkglib_path[];
|
|
191
|
+
extern PGDLLIMPORT char pkglib_path[];
|
|
176
192
|
|
|
177
193
|
#ifdef EXEC_BACKEND
|
|
178
|
-
extern char postgres_exec_path[];
|
|
194
|
+
extern PGDLLIMPORT char postgres_exec_path[];
|
|
179
195
|
#endif
|
|
180
196
|
|
|
181
197
|
/*
|
|
@@ -240,27 +256,25 @@ extern PGDLLIMPORT int IntervalStyle;
|
|
|
240
256
|
|
|
241
257
|
#define MAXTZLEN 10 /* max TZ name len, not counting tr. null */
|
|
242
258
|
|
|
243
|
-
extern bool enableFsync;
|
|
259
|
+
extern PGDLLIMPORT bool enableFsync;
|
|
244
260
|
extern PGDLLIMPORT bool allowSystemTableMods;
|
|
245
261
|
extern PGDLLIMPORT int work_mem;
|
|
246
262
|
extern PGDLLIMPORT double hash_mem_multiplier;
|
|
247
263
|
extern PGDLLIMPORT int maintenance_work_mem;
|
|
248
264
|
extern PGDLLIMPORT int max_parallel_maintenance_workers;
|
|
249
265
|
|
|
250
|
-
extern int
|
|
251
|
-
extern int
|
|
252
|
-
extern int
|
|
253
|
-
extern int
|
|
254
|
-
extern double VacuumCostDelay;
|
|
266
|
+
extern PGDLLIMPORT int VacuumCostPageHit;
|
|
267
|
+
extern PGDLLIMPORT int VacuumCostPageMiss;
|
|
268
|
+
extern PGDLLIMPORT int VacuumCostPageDirty;
|
|
269
|
+
extern PGDLLIMPORT int VacuumCostLimit;
|
|
270
|
+
extern PGDLLIMPORT double VacuumCostDelay;
|
|
255
271
|
|
|
256
|
-
extern int64 VacuumPageHit;
|
|
257
|
-
extern int64 VacuumPageMiss;
|
|
258
|
-
extern int64 VacuumPageDirty;
|
|
272
|
+
extern PGDLLIMPORT int64 VacuumPageHit;
|
|
273
|
+
extern PGDLLIMPORT int64 VacuumPageMiss;
|
|
274
|
+
extern PGDLLIMPORT int64 VacuumPageDirty;
|
|
259
275
|
|
|
260
|
-
extern int
|
|
261
|
-
extern bool VacuumCostActive;
|
|
262
|
-
|
|
263
|
-
extern double vacuum_cleanup_index_scale_factor;
|
|
276
|
+
extern PGDLLIMPORT int VacuumCostBalance;
|
|
277
|
+
extern PGDLLIMPORT bool VacuumCostActive;
|
|
264
278
|
|
|
265
279
|
|
|
266
280
|
/* in tcop/postgres.c */
|
|
@@ -286,7 +300,7 @@ extern void PreventCommandIfParallelMode(const char *cmdname);
|
|
|
286
300
|
extern void PreventCommandDuringRecovery(const char *cmdname);
|
|
287
301
|
|
|
288
302
|
/* in utils/misc/guc.c */
|
|
289
|
-
extern int
|
|
303
|
+
extern PGDLLIMPORT int trace_recovery_messages;
|
|
290
304
|
extern int trace_recovery(int trace_level);
|
|
291
305
|
|
|
292
306
|
/*****************************************************************************
|
|
@@ -299,7 +313,7 @@ extern int trace_recovery(int trace_level);
|
|
|
299
313
|
#define SECURITY_RESTRICTED_OPERATION 0x0002
|
|
300
314
|
#define SECURITY_NOFORCE_RLS 0x0004
|
|
301
315
|
|
|
302
|
-
extern char *DatabasePath;
|
|
316
|
+
extern PGDLLIMPORT char *DatabasePath;
|
|
303
317
|
|
|
304
318
|
/* now in utils/init/miscinit.c */
|
|
305
319
|
extern void InitPostmasterChild(void);
|
|
@@ -321,11 +335,10 @@ typedef enum BackendType
|
|
|
321
335
|
B_WAL_SENDER,
|
|
322
336
|
B_WAL_WRITER,
|
|
323
337
|
B_ARCHIVER,
|
|
324
|
-
B_STATS_COLLECTOR,
|
|
325
338
|
B_LOGGER,
|
|
326
339
|
} BackendType;
|
|
327
340
|
|
|
328
|
-
extern BackendType MyBackendType;
|
|
341
|
+
extern PGDLLIMPORT BackendType MyBackendType;
|
|
329
342
|
|
|
330
343
|
extern const char *GetBackendTypeDesc(BackendType backendType);
|
|
331
344
|
|
|
@@ -388,7 +401,7 @@ typedef enum ProcessingMode
|
|
|
388
401
|
NormalProcessing /* normal processing */
|
|
389
402
|
} ProcessingMode;
|
|
390
403
|
|
|
391
|
-
extern ProcessingMode Mode;
|
|
404
|
+
extern PGDLLIMPORT ProcessingMode Mode;
|
|
392
405
|
|
|
393
406
|
#define IsBootstrapProcessingMode() (Mode == BootstrapProcessing)
|
|
394
407
|
#define IsInitProcessingMode() (Mode == InitProcessing)
|
|
@@ -408,16 +421,17 @@ extern ProcessingMode Mode;
|
|
|
408
421
|
/*
|
|
409
422
|
* Auxiliary-process type identifiers. These used to be in bootstrap.h
|
|
410
423
|
* but it seems saner to have them here, with the ProcessingMode stuff.
|
|
411
|
-
* The MyAuxProcType global is defined and set in
|
|
424
|
+
* The MyAuxProcType global is defined and set in auxprocess.c.
|
|
425
|
+
*
|
|
426
|
+
* Make sure to list in the glossary any items you add here.
|
|
412
427
|
*/
|
|
413
428
|
|
|
414
429
|
typedef enum
|
|
415
430
|
{
|
|
416
431
|
NotAnAuxProcess = -1,
|
|
417
|
-
|
|
418
|
-
BootstrapProcess,
|
|
419
|
-
StartupProcess,
|
|
432
|
+
StartupProcess = 0,
|
|
420
433
|
BgWriterProcess,
|
|
434
|
+
ArchiverProcess,
|
|
421
435
|
CheckpointerProcess,
|
|
422
436
|
WalWriterProcess,
|
|
423
437
|
WalReceiverProcess,
|
|
@@ -425,11 +439,11 @@ typedef enum
|
|
|
425
439
|
NUM_AUXPROCTYPES /* Must be last! */
|
|
426
440
|
} AuxProcType;
|
|
427
441
|
|
|
428
|
-
extern AuxProcType MyAuxProcType;
|
|
442
|
+
extern PGDLLIMPORT AuxProcType MyAuxProcType;
|
|
429
443
|
|
|
430
|
-
#define AmBootstrapProcess() (MyAuxProcType == BootstrapProcess)
|
|
431
444
|
#define AmStartupProcess() (MyAuxProcType == StartupProcess)
|
|
432
445
|
#define AmBackgroundWriterProcess() (MyAuxProcType == BgWriterProcess)
|
|
446
|
+
#define AmArchiverProcess() (MyAuxProcType == ArchiverProcess)
|
|
433
447
|
#define AmCheckpointerProcess() (MyAuxProcType == CheckpointerProcess)
|
|
434
448
|
#define AmWalWriterProcess() (MyAuxProcType == WalWriterProcess)
|
|
435
449
|
#define AmWalReceiverProcess() (MyAuxProcType == WalReceiverProcess)
|
|
@@ -443,16 +457,21 @@ extern AuxProcType MyAuxProcType;
|
|
|
443
457
|
/* in utils/init/postinit.c */
|
|
444
458
|
extern void pg_split_opts(char **argv, int *argcp, const char *optstr);
|
|
445
459
|
extern void InitializeMaxBackends(void);
|
|
446
|
-
extern void InitPostgres(const char *in_dbname, Oid dboid,
|
|
447
|
-
|
|
460
|
+
extern void InitPostgres(const char *in_dbname, Oid dboid,
|
|
461
|
+
const char *username, Oid useroid,
|
|
462
|
+
bool load_session_libraries,
|
|
463
|
+
bool override_allow_connections,
|
|
464
|
+
char *out_dbname);
|
|
448
465
|
extern void BaseInit(void);
|
|
449
466
|
|
|
450
467
|
/* in utils/init/miscinit.c */
|
|
451
|
-
extern bool IgnoreSystemIndexes;
|
|
468
|
+
extern PGDLLIMPORT bool IgnoreSystemIndexes;
|
|
452
469
|
extern PGDLLIMPORT bool process_shared_preload_libraries_in_progress;
|
|
453
|
-
extern
|
|
454
|
-
extern
|
|
455
|
-
extern char *
|
|
470
|
+
extern PGDLLIMPORT bool process_shared_preload_libraries_done;
|
|
471
|
+
extern PGDLLIMPORT bool process_shmem_requests_in_progress;
|
|
472
|
+
extern PGDLLIMPORT char *session_preload_libraries_string;
|
|
473
|
+
extern PGDLLIMPORT char *shared_preload_libraries_string;
|
|
474
|
+
extern PGDLLIMPORT char *local_preload_libraries_string;
|
|
456
475
|
|
|
457
476
|
extern void CreateDataDirLockFile(bool amPostmaster);
|
|
458
477
|
extern void CreateSocketLockFile(const char *socketfile, bool amPostmaster,
|
|
@@ -463,14 +482,14 @@ extern bool RecheckDataDirLockFile(void);
|
|
|
463
482
|
extern void ValidatePgVersion(const char *path);
|
|
464
483
|
extern void process_shared_preload_libraries(void);
|
|
465
484
|
extern void process_session_preload_libraries(void);
|
|
485
|
+
extern void process_shmem_requests(void);
|
|
466
486
|
extern void pg_bindtextdomain(const char *domain);
|
|
467
487
|
extern bool has_rolreplication(Oid roleid);
|
|
468
488
|
|
|
469
|
-
|
|
470
|
-
extern
|
|
471
|
-
extern void CancelBackup(void);
|
|
489
|
+
typedef void (*shmem_request_hook_type) (void);
|
|
490
|
+
extern PGDLLIMPORT shmem_request_hook_type shmem_request_hook;
|
|
472
491
|
|
|
473
492
|
/* in executor/nodeHash.c */
|
|
474
|
-
extern
|
|
493
|
+
extern size_t get_hash_memory_limit(void);
|
|
475
494
|
|
|
476
495
|
#endif /* MISCADMIN_H */
|