pg_query 4.2.3 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +6 -8
- data/Rakefile +3 -3
- data/ext/pg_query/extconf.rb +1 -3
- data/ext/pg_query/include/access/amapi.h +3 -1
- data/ext/pg_query/include/access/attmap.h +5 -3
- data/ext/pg_query/include/access/attnum.h +1 -1
- data/ext/pg_query/include/access/clog.h +1 -1
- data/ext/pg_query/include/access/commit_ts.h +1 -1
- data/ext/pg_query/include/access/detoast.h +1 -1
- data/ext/pg_query/include/access/genam.h +7 -5
- data/ext/pg_query/include/access/gin.h +16 -3
- data/ext/pg_query/include/access/htup.h +1 -1
- data/ext/pg_query/include/access/htup_details.h +6 -2
- data/ext/pg_query/include/access/itup.h +61 -58
- 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 +1 -1
- data/ext/pg_query/include/access/rmgrlist.h +2 -2
- data/ext/pg_query/include/access/sdir.h +12 -3
- data/ext/pg_query/include/access/skey.h +1 -1
- data/ext/pg_query/include/access/stratnum.h +1 -1
- data/ext/pg_query/include/access/sysattr.h +1 -1
- data/ext/pg_query/include/access/table.h +1 -1
- data/ext/pg_query/include/access/tableam.h +68 -45
- data/ext/pg_query/include/access/toast_compression.h +1 -1
- data/ext/pg_query/include/access/transam.h +1 -1
- data/ext/pg_query/include/access/tsmapi.h +82 -0
- data/ext/pg_query/include/access/tupconvert.h +5 -2
- data/ext/pg_query/include/access/tupdesc.h +2 -2
- data/ext/pg_query/include/access/tupmacs.h +58 -98
- data/ext/pg_query/include/access/twophase.h +2 -2
- data/ext/pg_query/include/access/xact.h +25 -18
- data/ext/pg_query/include/access/xlog.h +15 -16
- data/ext/pg_query/include/access/xlog_internal.h +100 -62
- data/ext/pg_query/include/access/xlogbackup.h +41 -0
- data/ext/pg_query/include/access/xlogdefs.h +6 -25
- data/ext/pg_query/include/access/xlogprefetcher.h +1 -1
- data/ext/pg_query/include/access/xlogreader.h +7 -6
- data/ext/pg_query/include/access/xlogrecord.h +17 -5
- data/ext/pg_query/include/access/xlogrecovery.h +4 -3
- data/ext/pg_query/include/archive/archive_module.h +59 -0
- data/ext/pg_query/include/c.h +144 -156
- data/ext/pg_query/include/catalog/catalog.h +4 -3
- data/ext/pg_query/include/catalog/catversion.h +6 -2
- data/ext/pg_query/include/catalog/dependency.h +5 -4
- data/ext/pg_query/include/catalog/genbki.h +7 -6
- data/ext/pg_query/include/catalog/index.h +4 -4
- data/ext/pg_query/include/catalog/indexing.h +1 -1
- data/ext/pg_query/include/catalog/namespace.h +2 -2
- data/ext/pg_query/include/catalog/objectaccess.h +10 -8
- data/ext/pg_query/include/catalog/objectaddress.h +3 -3
- data/ext/pg_query/include/catalog/pg_aggregate.h +1 -1
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_am.h +1 -1
- data/ext/pg_query/include/catalog/pg_am_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_attribute.h +19 -17
- data/ext/pg_query/include/catalog/pg_attribute_d.h +19 -19
- data/ext/pg_query/include/catalog/pg_authid.h +1 -1
- data/ext/pg_query/include/catalog/pg_authid_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_class.h +1 -1
- data/ext/pg_query/include/catalog/pg_class_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_collation.h +3 -1
- data/ext/pg_query/include/catalog/pg_collation_d.h +4 -3
- data/ext/pg_query/include/catalog/pg_constraint.h +2 -2
- data/ext/pg_query/include/catalog/pg_constraint_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_control.h +9 -1
- data/ext/pg_query/include/catalog/pg_conversion.h +2 -2
- data/ext/pg_query/include/catalog/pg_conversion_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_database.h +124 -0
- data/ext/pg_query/include/catalog/pg_database_d.h +52 -0
- data/ext/pg_query/include/catalog/pg_depend.h +1 -1
- data/ext/pg_query/include/catalog/pg_depend_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_event_trigger.h +1 -1
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_index.h +1 -1
- data/ext/pg_query/include/catalog/pg_index_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_language.h +1 -1
- data/ext/pg_query/include/catalog/pg_language_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_namespace.h +1 -1
- data/ext/pg_query/include/catalog/pg_namespace_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_opclass.h +1 -1
- data/ext/pg_query/include/catalog/pg_opclass_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_operator.h +1 -1
- data/ext/pg_query/include/catalog/pg_operator_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_opfamily.h +3 -2
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +4 -2
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +1 -1
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_proc.h +1 -1
- data/ext/pg_query/include/catalog/pg_proc_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_publication.h +2 -5
- data/ext/pg_query/include/catalog/pg_publication_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_replication_origin.h +1 -1
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_statistic.h +1 -1
- data/ext/pg_query/include/catalog/pg_statistic_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +1 -1
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_transform.h +1 -1
- data/ext/pg_query/include/catalog/pg_transform_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_trigger.h +1 -1
- data/ext/pg_query/include/catalog/pg_trigger_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_ts_config.h +1 -1
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_ts_dict.h +1 -1
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_ts_parser.h +1 -1
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_ts_template.h +1 -1
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +1 -1
- data/ext/pg_query/include/catalog/pg_type.h +1 -1
- data/ext/pg_query/include/catalog/pg_type_d.h +1 -1
- data/ext/pg_query/include/catalog/storage.h +6 -6
- data/ext/pg_query/include/commands/async.h +1 -1
- data/ext/pg_query/include/commands/dbcommands.h +2 -1
- data/ext/pg_query/include/commands/defrem.h +2 -1
- data/ext/pg_query/include/commands/event_trigger.h +1 -1
- data/ext/pg_query/include/commands/explain.h +3 -1
- data/ext/pg_query/include/commands/prepare.h +1 -1
- data/ext/pg_query/include/commands/tablespace.h +4 -4
- data/ext/pg_query/include/commands/trigger.h +15 -14
- data/ext/pg_query/include/commands/user.h +9 -3
- data/ext/pg_query/include/commands/vacuum.h +60 -14
- data/ext/pg_query/include/common/cryptohash.h +39 -0
- data/ext/pg_query/include/common/file_perm.h +1 -1
- data/ext/pg_query/include/common/hashfn.h +1 -1
- data/ext/pg_query/include/common/int.h +437 -0
- data/ext/pg_query/include/common/ip.h +4 -2
- data/ext/pg_query/include/common/keywords.h +1 -1
- data/ext/pg_query/include/common/kwlookup.h +2 -2
- data/ext/pg_query/include/common/pg_prng.h +3 -2
- data/ext/pg_query/include/common/relpath.h +20 -13
- data/ext/pg_query/include/common/scram-common.h +70 -0
- data/ext/pg_query/include/common/sha2.h +32 -0
- data/ext/pg_query/include/common/string.h +5 -3
- data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +10 -10
- data/ext/pg_query/include/common/{unicode_combining_table.h → unicode_nonspacing_table.h} +31 -13
- data/ext/pg_query/include/copyfuncs.funcs.c +5013 -0
- data/ext/pg_query/include/copyfuncs.switch.c +938 -0
- data/ext/pg_query/include/datatype/timestamp.h +11 -4
- data/ext/pg_query/include/equalfuncs.funcs.c +3097 -0
- data/ext/pg_query/include/equalfuncs.switch.c +785 -0
- data/ext/pg_query/include/executor/execdesc.h +1 -1
- data/ext/pg_query/include/executor/executor.h +34 -17
- data/ext/pg_query/include/executor/functions.h +1 -1
- data/ext/pg_query/include/executor/instrument.h +1 -1
- data/ext/pg_query/include/executor/spi.h +2 -2
- data/ext/pg_query/include/executor/tablefunc.h +1 -1
- data/ext/pg_query/include/executor/tuptable.h +18 -11
- data/ext/pg_query/include/fmgr.h +21 -2
- data/ext/pg_query/include/foreign/fdwapi.h +294 -0
- data/ext/pg_query/include/funcapi.h +12 -12
- data/ext/pg_query/include/gram.h +1127 -0
- data/ext/pg_query/include/{parser/gramparse.h → gramparse.h} +4 -4
- data/ext/pg_query/include/jit/jit.h +2 -2
- data/ext/pg_query/include/kwlist_d.h +534 -510
- data/ext/pg_query/include/lib/dshash.h +4 -1
- data/ext/pg_query/include/lib/ilist.h +435 -22
- data/ext/pg_query/include/lib/pairingheap.h +1 -1
- data/ext/pg_query/include/lib/simplehash.h +9 -9
- data/ext/pg_query/include/lib/sort_template.h +1 -1
- data/ext/pg_query/include/lib/stringinfo.h +3 -3
- data/ext/pg_query/include/libpq/auth.h +8 -2
- data/ext/pg_query/include/libpq/crypt.h +1 -1
- data/ext/pg_query/include/libpq/hba.h +24 -17
- data/ext/pg_query/include/libpq/libpq-be.h +36 -25
- data/ext/pg_query/include/libpq/libpq.h +1 -1
- data/ext/pg_query/include/libpq/pqcomm.h +10 -41
- data/ext/pg_query/include/libpq/pqformat.h +2 -2
- data/ext/pg_query/include/libpq/pqsignal.h +22 -10
- data/ext/pg_query/include/libpq/sasl.h +136 -0
- data/ext/pg_query/include/libpq/scram.h +37 -0
- data/ext/pg_query/include/mb/pg_wchar.h +35 -18
- data/ext/pg_query/include/mb/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/miscadmin.h +26 -14
- data/ext/pg_query/include/nodes/bitmapset.h +11 -7
- data/ext/pg_query/include/nodes/execnodes.h +83 -30
- data/ext/pg_query/include/nodes/extensible.h +5 -3
- data/ext/pg_query/include/nodes/lockoptions.h +1 -1
- data/ext/pg_query/include/nodes/makefuncs.h +14 -2
- data/ext/pg_query/include/nodes/memnodes.h +7 -4
- data/ext/pg_query/include/nodes/miscnodes.h +56 -0
- data/ext/pg_query/include/nodes/nodeFuncs.h +89 -29
- data/ext/pg_query/include/nodes/nodes.h +95 -510
- data/ext/pg_query/include/nodes/nodetags.h +471 -0
- data/ext/pg_query/include/nodes/params.h +3 -3
- data/ext/pg_query/include/nodes/parsenodes.h +377 -139
- data/ext/pg_query/include/nodes/pathnodes.h +1090 -440
- data/ext/pg_query/include/nodes/pg_list.h +30 -7
- data/ext/pg_query/include/nodes/plannodes.h +367 -124
- data/ext/pg_query/include/nodes/primnodes.h +670 -222
- data/ext/pg_query/include/nodes/print.h +1 -1
- data/ext/pg_query/include/{utils → nodes}/queryjumble.h +5 -7
- data/ext/pg_query/include/nodes/replnodes.h +111 -0
- data/ext/pg_query/include/nodes/supportnodes.h +346 -0
- data/ext/pg_query/include/nodes/tidbitmap.h +1 -1
- data/ext/pg_query/include/nodes/value.h +12 -2
- data/ext/pg_query/include/optimizer/cost.h +6 -4
- data/ext/pg_query/include/optimizer/geqo.h +1 -1
- data/ext/pg_query/include/optimizer/geqo_gene.h +1 -1
- data/ext/pg_query/include/optimizer/optimizer.h +8 -8
- data/ext/pg_query/include/optimizer/paths.h +16 -7
- data/ext/pg_query/include/optimizer/planmain.h +3 -6
- data/ext/pg_query/include/parser/analyze.h +4 -3
- data/ext/pg_query/include/parser/kwlist.h +12 -1
- data/ext/pg_query/include/parser/parse_agg.h +4 -2
- data/ext/pg_query/include/parser/parse_coerce.h +3 -1
- data/ext/pg_query/include/parser/parse_expr.h +1 -1
- data/ext/pg_query/include/parser/parse_func.h +1 -1
- data/ext/pg_query/include/parser/parse_node.h +22 -4
- data/ext/pg_query/include/parser/parse_oper.h +3 -3
- data/ext/pg_query/include/parser/parse_relation.h +8 -3
- data/ext/pg_query/include/parser/parse_type.h +4 -3
- data/ext/pg_query/include/parser/parser.h +1 -1
- data/ext/pg_query/include/parser/parsetree.h +1 -1
- data/ext/pg_query/include/parser/scanner.h +2 -2
- data/ext/pg_query/include/parser/scansup.h +1 -1
- data/ext/pg_query/include/partitioning/partdefs.h +1 -1
- data/ext/pg_query/include/pg_config.h +21 -216
- data/ext/pg_query/include/pg_config_manual.h +8 -46
- data/ext/pg_query/include/pg_getopt.h +1 -1
- data/ext/pg_query/include/pg_query.h +27 -3
- data/ext/pg_query/include/pg_query_enum_defs.c +311 -149
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +545 -489
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +5092 -4432
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +385 -343
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +1294 -1161
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +137 -123
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +1657 -1496
- data/ext/pg_query/include/pg_trace.h +1 -1
- data/ext/pg_query/include/pgstat.h +172 -93
- data/ext/pg_query/include/pgtime.h +3 -3
- data/ext/pg_query/include/pl_gram.h +64 -62
- data/ext/pg_query/include/pl_reserved_kwlist.h +1 -1
- data/ext/pg_query/include/pl_reserved_kwlist_d.h +1 -1
- data/ext/pg_query/include/pl_unreserved_kwlist.h +2 -1
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +48 -46
- data/ext/pg_query/include/plpgsql.h +17 -22
- data/ext/pg_query/include/port/atomics/arch-arm.h +3 -3
- data/ext/pg_query/include/port/atomics/arch-ppc.h +21 -21
- data/ext/pg_query/include/port/atomics/arch-x86.h +2 -2
- data/ext/pg_query/include/port/atomics/fallback.h +3 -3
- data/ext/pg_query/include/port/atomics/generic-gcc.h +1 -1
- data/ext/pg_query/include/port/atomics/generic.h +1 -1
- data/ext/pg_query/include/port/atomics.h +2 -7
- data/ext/pg_query/include/port/pg_bitutils.h +62 -25
- 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/simd.h +375 -0
- data/ext/pg_query/include/port.h +42 -75
- data/ext/pg_query/include/portability/instr_time.h +81 -140
- data/ext/pg_query/include/postgres.h +205 -434
- data/ext/pg_query/include/postgres_ext.h +0 -1
- data/ext/pg_query/include/postmaster/autovacuum.h +1 -4
- data/ext/pg_query/include/postmaster/auxprocess.h +1 -1
- data/ext/pg_query/include/postmaster/bgworker.h +2 -2
- data/ext/pg_query/include/postmaster/bgworker_internals.h +1 -1
- data/ext/pg_query/include/postmaster/bgwriter.h +2 -2
- 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 +1 -38
- data/ext/pg_query/include/postmaster/postmaster.h +5 -2
- data/ext/pg_query/include/postmaster/startup.h +3 -1
- data/ext/pg_query/include/postmaster/syslogger.h +2 -2
- data/ext/pg_query/include/postmaster/walwriter.h +3 -1
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +6186 -5585
- data/ext/pg_query/include/protobuf/pg_query.pb.h +112443 -91222
- data/ext/pg_query/include/regex/regex.h +9 -6
- data/ext/pg_query/include/replication/logicallauncher.h +6 -1
- data/ext/pg_query/include/replication/logicalproto.h +30 -10
- data/ext/pg_query/include/replication/logicalworker.h +14 -1
- data/ext/pg_query/include/replication/origin.h +4 -4
- data/ext/pg_query/include/replication/reorderbuffer.h +113 -45
- data/ext/pg_query/include/replication/slot.h +25 -6
- data/ext/pg_query/include/replication/syncrep.h +2 -8
- data/ext/pg_query/include/replication/walreceiver.h +15 -9
- data/ext/pg_query/include/replication/walsender.h +13 -13
- data/ext/pg_query/include/rewrite/prs2lock.h +1 -1
- data/ext/pg_query/include/rewrite/rewriteHandler.h +1 -4
- data/ext/pg_query/include/rewrite/rewriteManip.h +11 -2
- data/ext/pg_query/include/rewrite/rewriteSupport.h +1 -1
- data/ext/pg_query/include/src_backend_nodes_copyfuncs.funcs.c +5321 -0
- data/ext/pg_query/include/src_backend_nodes_equalfuncs.funcs.c +3354 -0
- data/ext/pg_query/include/storage/backendid.h +1 -1
- data/ext/pg_query/include/storage/block.h +24 -31
- data/ext/pg_query/include/storage/buf.h +1 -1
- data/ext/pg_query/include/storage/bufmgr.h +183 -87
- data/ext/pg_query/include/storage/bufpage.h +146 -93
- data/ext/pg_query/include/storage/condition_variable.h +2 -2
- data/ext/pg_query/include/storage/dsm.h +3 -6
- data/ext/pg_query/include/storage/dsm_impl.h +4 -1
- data/ext/pg_query/include/storage/fd.h +24 -20
- data/ext/pg_query/include/storage/fileset.h +1 -1
- data/ext/pg_query/include/storage/ipc.h +1 -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 +94 -57
- data/ext/pg_query/include/storage/large_object.h +1 -1
- data/ext/pg_query/include/storage/latch.h +9 -1
- data/ext/pg_query/include/storage/lmgr.h +6 -1
- data/ext/pg_query/include/storage/lock.h +21 -13
- data/ext/pg_query/include/storage/lockdefs.h +3 -3
- data/ext/pg_query/include/storage/lwlock.h +16 -2
- 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 +1 -1
- data/ext/pg_query/include/storage/pmsignal.h +1 -1
- data/ext/pg_query/include/storage/predicate.h +2 -2
- data/ext/pg_query/include/storage/proc.h +22 -17
- data/ext/pg_query/include/storage/procarray.h +3 -2
- data/ext/pg_query/include/storage/proclist_types.h +1 -1
- data/ext/pg_query/include/storage/procsignal.h +3 -1
- data/ext/pg_query/include/storage/relfilelocator.h +99 -0
- data/ext/pg_query/include/storage/s_lock.h +66 -309
- data/ext/pg_query/include/storage/sharedfileset.h +1 -1
- data/ext/pg_query/include/storage/shm_mq.h +1 -1
- data/ext/pg_query/include/storage/shm_toc.h +1 -1
- data/ext/pg_query/include/storage/shmem.h +1 -23
- data/ext/pg_query/include/storage/sinval.h +3 -3
- data/ext/pg_query/include/storage/sinvaladt.h +4 -2
- data/ext/pg_query/include/storage/smgr.h +12 -10
- data/ext/pg_query/include/storage/spin.h +1 -1
- data/ext/pg_query/include/storage/standby.h +9 -8
- data/ext/pg_query/include/storage/standbydefs.h +1 -1
- data/ext/pg_query/include/storage/sync.h +3 -3
- data/ext/pg_query/include/tcop/cmdtag.h +7 -2
- data/ext/pg_query/include/tcop/cmdtaglist.h +1 -1
- data/ext/pg_query/include/tcop/deparse_utility.h +1 -1
- data/ext/pg_query/include/tcop/dest.h +1 -3
- data/ext/pg_query/include/tcop/fastpath.h +1 -1
- data/ext/pg_query/include/tcop/pquery.h +1 -1
- data/ext/pg_query/include/tcop/tcopprot.h +1 -4
- data/ext/pg_query/include/tcop/utility.h +1 -1
- data/ext/pg_query/include/tsearch/ts_cache.h +2 -4
- data/ext/pg_query/include/utils/acl.h +26 -81
- data/ext/pg_query/include/utils/aclchk_internal.h +1 -1
- data/ext/pg_query/include/utils/array.h +19 -1
- data/ext/pg_query/include/utils/backend_progress.h +2 -1
- data/ext/pg_query/include/utils/backend_status.h +24 -3
- data/ext/pg_query/include/utils/builtins.h +14 -5
- data/ext/pg_query/include/utils/bytea.h +1 -1
- data/ext/pg_query/include/utils/catcache.h +1 -1
- data/ext/pg_query/include/utils/date.h +37 -9
- data/ext/pg_query/include/utils/datetime.h +41 -21
- data/ext/pg_query/include/utils/datum.h +1 -1
- data/ext/pg_query/include/utils/dsa.h +5 -1
- data/ext/pg_query/include/utils/elog.h +101 -26
- data/ext/pg_query/include/utils/expandeddatum.h +14 -3
- data/ext/pg_query/include/utils/expandedrecord.h +14 -4
- data/ext/pg_query/include/utils/float.h +7 -6
- data/ext/pg_query/include/utils/fmgroids.h +54 -1
- data/ext/pg_query/include/utils/fmgrprotos.h +45 -3
- data/ext/pg_query/include/utils/fmgrtab.h +1 -1
- data/ext/pg_query/include/utils/guc.h +55 -82
- data/ext/pg_query/include/utils/guc_hooks.h +163 -0
- data/ext/pg_query/include/utils/guc_tables.h +49 -3
- data/ext/pg_query/include/utils/hsearch.h +1 -1
- data/ext/pg_query/include/utils/inval.h +3 -3
- data/ext/pg_query/include/utils/logtape.h +77 -0
- data/ext/pg_query/include/utils/lsyscache.h +5 -1
- data/ext/pg_query/include/utils/memdebug.h +1 -1
- data/ext/pg_query/include/utils/memutils.h +5 -49
- data/ext/pg_query/include/utils/memutils_internal.h +136 -0
- data/ext/pg_query/include/utils/memutils_memorychunk.h +237 -0
- data/ext/pg_query/include/utils/numeric.h +20 -5
- data/ext/pg_query/include/utils/palloc.h +8 -1
- data/ext/pg_query/include/utils/partcache.h +3 -2
- data/ext/pg_query/include/utils/pg_locale.h +22 -14
- data/ext/pg_query/include/utils/pgstat_internal.h +37 -7
- data/ext/pg_query/include/utils/pidfile.h +1 -1
- data/ext/pg_query/include/utils/plancache.h +1 -1
- data/ext/pg_query/include/utils/portal.h +1 -1
- data/ext/pg_query/include/utils/probes.h +6 -6
- data/ext/pg_query/include/utils/ps_status.h +23 -1
- data/ext/pg_query/include/utils/queryenvironment.h +1 -1
- data/ext/pg_query/include/utils/regproc.h +3 -3
- data/ext/pg_query/include/utils/rel.h +60 -43
- data/ext/pg_query/include/utils/relcache.h +13 -8
- 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/ruleutils.h +6 -1
- data/ext/pg_query/include/utils/sharedtuplestore.h +1 -1
- data/ext/pg_query/include/utils/snapmgr.h +4 -2
- data/ext/pg_query/include/utils/snapshot.h +1 -1
- data/ext/pg_query/include/utils/sortsupport.h +2 -2
- data/ext/pg_query/include/utils/syscache.h +4 -1
- data/ext/pg_query/include/utils/timeout.h +1 -1
- data/ext/pg_query/include/utils/timestamp.h +41 -11
- data/ext/pg_query/include/utils/tuplesort.h +189 -35
- data/ext/pg_query/include/utils/tuplestore.h +1 -1
- data/ext/pg_query/include/utils/typcache.h +1 -1
- data/ext/pg_query/include/utils/varlena.h +13 -1
- data/ext/pg_query/include/utils/wait_event.h +9 -4
- data/ext/pg_query/include/utils/xml.h +15 -5
- data/ext/pg_query/include/varatt.h +358 -0
- data/ext/pg_query/pg_query.c +1 -1
- data/ext/pg_query/pg_query.pb-c.c +19755 -17757
- data/ext/pg_query/pg_query_fingerprint.c +8 -3
- data/ext/pg_query/pg_query_fingerprint.h +1 -1
- data/ext/pg_query/pg_query_internal.h +1 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +1 -0
- data/ext/pg_query/pg_query_normalize.c +1 -1
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +2 -2
- data/ext/pg_query/pg_query_parse.c +46 -4
- data/ext/pg_query/pg_query_parse_plpgsql.c +1 -1
- data/ext/pg_query/pg_query_scan.c +1 -1
- data/ext/pg_query/pg_query_split.c +2 -2
- data/ext/pg_query/postgres_deparse.c +503 -105
- data/ext/pg_query/src_backend_catalog_namespace.c +7 -2
- data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -1
- data/ext/pg_query/src_backend_commands_define.c +1 -1
- data/ext/pg_query/src_backend_nodes_bitmapset.c +11 -70
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +96 -6202
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +95 -4068
- data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
- data/ext/pg_query/src_backend_nodes_list.c +14 -2
- data/ext/pg_query/src_backend_nodes_makefuncs.c +95 -1
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +283 -132
- data/ext/pg_query/src_backend_nodes_value.c +1 -1
- data/ext/pg_query/src_backend_parser_gram.c +33208 -31806
- data/ext/pg_query/src_backend_parser_parser.c +28 -2
- data/ext/pg_query/src_backend_parser_scan.c +4318 -3329
- data/ext/pg_query/src_backend_parser_scansup.c +1 -1
- data/ext/pg_query/src_backend_postmaster_postmaster.c +129 -110
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
- data/ext/pg_query/src_backend_tcop_postgres.c +66 -87
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_datum.c +5 -7
- 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 +489 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +79 -5
- data/ext/pg_query/src_backend_utils_error_assert.c +4 -7
- data/ext/pg_query/src_backend_utils_error_elog.c +354 -97
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +33 -1
- data/ext/pg_query/src_backend_utils_init_globals.c +5 -2
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +13 -4
- data/ext/pg_query/src_backend_utils_misc_guc_tables.c +494 -0
- data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +163 -0
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +449 -312
- data/ext/pg_query/src_backend_utils_mmgr_generation.c +1039 -0
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +398 -49
- data/ext/pg_query/src_backend_utils_mmgr_slab.c +1021 -0
- data/ext/pg_query/src_common_encnames.c +4 -1
- 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 +534 -510
- data/ext/pg_query/src_common_kwlookup.c +1 -1
- data/ext/pg_query/src_common_psprintf.c +1 -1
- data/ext/pg_query/src_common_stringinfo.c +4 -4
- data/ext/pg_query/src_common_wchar.c +9 -8
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +661 -694
- 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 +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +48 -46
- data/ext/pg_query/src_port_pg_bitutils.c +1 -1
- data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
- data/ext/pg_query/src_port_snprintf.c +3 -7
- data/ext/pg_query/src_port_strerror.c +1 -1
- data/ext/pg_query/src_port_strnlen.c +1 -1
- data/lib/pg_query/pg_query_pb.rb +166 -3191
- data/lib/pg_query/treewalker.rb +7 -2
- data/lib/pg_query/version.rb +1 -1
- metadata +43 -24
- data/ext/pg_query/include/catalog/pg_parameter_acl.h +0 -60
- data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +0 -34
- data/ext/pg_query/include/commands/variable.h +0 -38
- data/ext/pg_query/include/getaddrinfo.h +0 -162
- data/ext/pg_query/include/parser/gram.h +0 -1101
- data/ext/pg_query/include/storage/relfilenode.h +0 -99
- data/ext/pg_query/include/utils/dynahash.h +0 -20
- data/ext/pg_query/include/utils/pg_lsn.h +0 -29
- data/ext/pg_query/include/utils/rls.h +0 -50
- data/ext/pg_query/include/utils/tzparser.h +0 -39
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -371
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1116
- data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1993
- data/ext/pg_query/src_common_pg_prng.c +0 -152
- data/ext/pg_query/src_common_string.c +0 -92
- data/ext/pg_query/src_port_pgsleep.c +0 -69
@@ -6,7 +6,7 @@
|
|
6
6
|
* These macros can be used to avoid a catalog lookup when a specific
|
7
7
|
* fmgr-callable function needs to be referenced.
|
8
8
|
*
|
9
|
-
* Portions Copyright (c) 1996-
|
9
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
10
10
|
* Portions Copyright (c) 1994, Regents of the University of California
|
11
11
|
*
|
12
12
|
* NOTES
|
@@ -3169,6 +3169,7 @@
|
|
3169
3169
|
#define F_PG_SHOW_REPLICATION_ORIGIN_STATUS 6014
|
3170
3170
|
#define F_JSONB_SUBSCRIPT_HANDLER 6098
|
3171
3171
|
#define F_PG_LSN 6103
|
3172
|
+
#define F_PG_STAT_GET_BACKEND_SUBXACT 6107
|
3172
3173
|
#define F_PG_STAT_GET_SUBSCRIPTION 6118
|
3173
3174
|
#define F_PG_GET_PUBLICATION_TABLES 6119
|
3174
3175
|
#define F_PG_GET_REPLICA_IDENTITY_INDEX 6120
|
@@ -3218,6 +3219,22 @@
|
|
3218
3219
|
#define F_HAS_PARAMETER_PRIVILEGE_NAME_TEXT_TEXT 6205
|
3219
3220
|
#define F_HAS_PARAMETER_PRIVILEGE_OID_TEXT_TEXT 6206
|
3220
3221
|
#define F_HAS_PARAMETER_PRIVILEGE_TEXT_TEXT 6207
|
3222
|
+
#define F_PG_READ_FILE_TEXT_BOOL 6208
|
3223
|
+
#define F_PG_READ_BINARY_FILE_TEXT_BOOL 6209
|
3224
|
+
#define F_PG_INPUT_IS_VALID 6210
|
3225
|
+
#define F_PG_INPUT_ERROR_INFO 6211
|
3226
|
+
#define F_RANDOM_NORMAL 6212
|
3227
|
+
#define F_PG_SPLIT_WALFILE_NAME 6213
|
3228
|
+
#define F_PG_STAT_GET_IO 6214
|
3229
|
+
#define F_ARRAY_SHUFFLE 6215
|
3230
|
+
#define F_ARRAY_SAMPLE 6216
|
3231
|
+
#define F_PG_STAT_GET_TUPLES_NEWPAGE_UPDATED 6217
|
3232
|
+
#define F_PG_STAT_GET_XACT_TUPLES_NEWPAGE_UPDATED 6218
|
3233
|
+
#define F_ERF 6219
|
3234
|
+
#define F_ERFC 6220
|
3235
|
+
#define F_DATE_ADD_TIMESTAMPTZ_INTERVAL 6221
|
3236
|
+
#define F_DATE_ADD_TIMESTAMPTZ_INTERVAL_TEXT 6222
|
3237
|
+
#define F_DATE_SUBTRACT_TIMESTAMPTZ_INTERVAL 6223
|
3221
3238
|
#define F_PG_GET_WAL_RESOURCE_MANAGERS 6224
|
3222
3239
|
#define F_MULTIRANGE_AGG_TRANSFN 6225
|
3223
3240
|
#define F_MULTIRANGE_AGG_FINALFN 6226
|
@@ -3257,5 +3274,41 @@
|
|
3257
3274
|
#define F_PG_LS_LOGICALSNAPDIR 6270
|
3258
3275
|
#define F_PG_LS_LOGICALMAPDIR 6271
|
3259
3276
|
#define F_PG_LS_REPLSLOTDIR 6272
|
3277
|
+
#define F_DATE_SUBTRACT_TIMESTAMPTZ_INTERVAL_TEXT 6273
|
3278
|
+
#define F_GENERATE_SERIES_TIMESTAMPTZ_TIMESTAMPTZ_INTERVAL_TEXT 6274
|
3279
|
+
#define F_JSON_AGG_STRICT_TRANSFN 6275
|
3280
|
+
#define F_JSON_AGG_STRICT 6276
|
3281
|
+
#define F_JSON_OBJECT_AGG_STRICT_TRANSFN 6277
|
3282
|
+
#define F_JSON_OBJECT_AGG_UNIQUE_TRANSFN 6278
|
3283
|
+
#define F_JSON_OBJECT_AGG_UNIQUE_STRICT_TRANSFN 6279
|
3284
|
+
#define F_JSON_OBJECT_AGG_STRICT 6280
|
3285
|
+
#define F_JSON_OBJECT_AGG_UNIQUE 6281
|
3286
|
+
#define F_JSON_OBJECT_AGG_UNIQUE_STRICT 6282
|
3287
|
+
#define F_JSONB_AGG_STRICT_TRANSFN 6283
|
3288
|
+
#define F_JSONB_AGG_STRICT 6284
|
3289
|
+
#define F_JSONB_OBJECT_AGG_STRICT_TRANSFN 6285
|
3290
|
+
#define F_JSONB_OBJECT_AGG_UNIQUE_TRANSFN 6286
|
3291
|
+
#define F_JSONB_OBJECT_AGG_UNIQUE_STRICT_TRANSFN 6287
|
3292
|
+
#define F_JSONB_OBJECT_AGG_STRICT 6288
|
3293
|
+
#define F_JSONB_OBJECT_AGG_UNIQUE 6289
|
3294
|
+
#define F_JSONB_OBJECT_AGG_UNIQUE_STRICT 6290
|
3295
|
+
#define F_ANY_VALUE 6291
|
3296
|
+
#define F_ANY_VALUE_TRANSFN 6292
|
3297
|
+
#define F_ARRAY_AGG_COMBINE 6293
|
3298
|
+
#define F_ARRAY_AGG_SERIALIZE 6294
|
3299
|
+
#define F_ARRAY_AGG_DESERIALIZE 6295
|
3300
|
+
#define F_ARRAY_AGG_ARRAY_COMBINE 6296
|
3301
|
+
#define F_ARRAY_AGG_ARRAY_SERIALIZE 6297
|
3302
|
+
#define F_ARRAY_AGG_ARRAY_DESERIALIZE 6298
|
3303
|
+
#define F_STRING_AGG_COMBINE 6299
|
3304
|
+
#define F_STRING_AGG_SERIALIZE 6300
|
3305
|
+
#define F_STRING_AGG_DESERIALIZE 6301
|
3306
|
+
#define F_PG_LOG_STANDBY_SNAPSHOT 6305
|
3307
|
+
#define F_WINDOW_PERCENT_RANK_SUPPORT 6306
|
3308
|
+
#define F_WINDOW_CUME_DIST_SUPPORT 6307
|
3309
|
+
#define F_WINDOW_NTILE_SUPPORT 6308
|
3310
|
+
#define F_PG_STAT_GET_DB_CONFLICT_LOGICALSLOT 6309
|
3311
|
+
#define F_PG_STAT_GET_LASTSCAN 6310
|
3312
|
+
#define F_SYSTEM_USER 6311
|
3260
3313
|
|
3261
3314
|
#endif /* FMGROIDS_H */
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* fmgrprotos.h
|
4
4
|
* Prototypes for built-in functions.
|
5
5
|
*
|
6
|
-
* Portions Copyright (c) 1996-
|
6
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
8
8
|
*
|
9
9
|
* NOTES
|
@@ -1939,9 +1939,9 @@ extern Datum numeric_sortsupport(PG_FUNCTION_ARGS);
|
|
1939
1939
|
extern Datum gist_poly_distance(PG_FUNCTION_ARGS);
|
1940
1940
|
extern Datum dist_cpoint(PG_FUNCTION_ARGS);
|
1941
1941
|
extern Datum dist_polyp(PG_FUNCTION_ARGS);
|
1942
|
-
extern Datum
|
1942
|
+
extern Datum pg_read_file_off_len_missing(PG_FUNCTION_ARGS);
|
1943
1943
|
extern Datum show_config_by_name_missing_ok(PG_FUNCTION_ARGS);
|
1944
|
-
extern Datum
|
1944
|
+
extern Datum pg_read_binary_file_off_len_missing(PG_FUNCTION_ARGS);
|
1945
1945
|
extern Datum pg_notification_queue_usage(PG_FUNCTION_ARGS);
|
1946
1946
|
extern Datum pg_ls_dir(PG_FUNCTION_ARGS);
|
1947
1947
|
extern Datum row_security_active(PG_FUNCTION_ARGS);
|
@@ -2745,6 +2745,7 @@ extern Datum pg_replication_origin_progress(PG_FUNCTION_ARGS);
|
|
2745
2745
|
extern Datum pg_show_replication_origin_status(PG_FUNCTION_ARGS);
|
2746
2746
|
extern Datum jsonb_subscript_handler(PG_FUNCTION_ARGS);
|
2747
2747
|
extern Datum numeric_pg_lsn(PG_FUNCTION_ARGS);
|
2748
|
+
extern Datum pg_stat_get_backend_subxact(PG_FUNCTION_ARGS);
|
2748
2749
|
extern Datum pg_stat_get_subscription(PG_FUNCTION_ARGS);
|
2749
2750
|
extern Datum pg_get_publication_tables(PG_FUNCTION_ARGS);
|
2750
2751
|
extern Datum pg_get_replica_identity_index(PG_FUNCTION_ARGS);
|
@@ -2788,6 +2789,20 @@ extern Datum extract_interval(PG_FUNCTION_ARGS);
|
|
2788
2789
|
extern Datum has_parameter_privilege_name_name(PG_FUNCTION_ARGS);
|
2789
2790
|
extern Datum has_parameter_privilege_id_name(PG_FUNCTION_ARGS);
|
2790
2791
|
extern Datum has_parameter_privilege_name(PG_FUNCTION_ARGS);
|
2792
|
+
extern Datum pg_read_file_all_missing(PG_FUNCTION_ARGS);
|
2793
|
+
extern Datum pg_read_binary_file_all_missing(PG_FUNCTION_ARGS);
|
2794
|
+
extern Datum pg_input_is_valid(PG_FUNCTION_ARGS);
|
2795
|
+
extern Datum pg_input_error_info(PG_FUNCTION_ARGS);
|
2796
|
+
extern Datum drandom_normal(PG_FUNCTION_ARGS);
|
2797
|
+
extern Datum pg_split_walfile_name(PG_FUNCTION_ARGS);
|
2798
|
+
extern Datum pg_stat_get_io(PG_FUNCTION_ARGS);
|
2799
|
+
extern Datum array_shuffle(PG_FUNCTION_ARGS);
|
2800
|
+
extern Datum array_sample(PG_FUNCTION_ARGS);
|
2801
|
+
extern Datum pg_stat_get_tuples_newpage_updated(PG_FUNCTION_ARGS);
|
2802
|
+
extern Datum pg_stat_get_xact_tuples_newpage_updated(PG_FUNCTION_ARGS);
|
2803
|
+
extern Datum derf(PG_FUNCTION_ARGS);
|
2804
|
+
extern Datum derfc(PG_FUNCTION_ARGS);
|
2805
|
+
extern Datum timestamptz_pl_interval_at_zone(PG_FUNCTION_ARGS);
|
2791
2806
|
extern Datum pg_get_wal_resource_managers(PG_FUNCTION_ARGS);
|
2792
2807
|
extern Datum multirange_agg_transfn(PG_FUNCTION_ARGS);
|
2793
2808
|
extern Datum pg_stat_have_stats(PG_FUNCTION_ARGS);
|
@@ -2825,5 +2840,32 @@ extern Datum regexp_substr(PG_FUNCTION_ARGS);
|
|
2825
2840
|
extern Datum pg_ls_logicalsnapdir(PG_FUNCTION_ARGS);
|
2826
2841
|
extern Datum pg_ls_logicalmapdir(PG_FUNCTION_ARGS);
|
2827
2842
|
extern Datum pg_ls_replslotdir(PG_FUNCTION_ARGS);
|
2843
|
+
extern Datum timestamptz_mi_interval_at_zone(PG_FUNCTION_ARGS);
|
2844
|
+
extern Datum generate_series_timestamptz_at_zone(PG_FUNCTION_ARGS);
|
2845
|
+
extern Datum json_agg_strict_transfn(PG_FUNCTION_ARGS);
|
2846
|
+
extern Datum json_object_agg_strict_transfn(PG_FUNCTION_ARGS);
|
2847
|
+
extern Datum json_object_agg_unique_transfn(PG_FUNCTION_ARGS);
|
2848
|
+
extern Datum json_object_agg_unique_strict_transfn(PG_FUNCTION_ARGS);
|
2849
|
+
extern Datum jsonb_agg_strict_transfn(PG_FUNCTION_ARGS);
|
2850
|
+
extern Datum jsonb_object_agg_strict_transfn(PG_FUNCTION_ARGS);
|
2851
|
+
extern Datum jsonb_object_agg_unique_transfn(PG_FUNCTION_ARGS);
|
2852
|
+
extern Datum jsonb_object_agg_unique_strict_transfn(PG_FUNCTION_ARGS);
|
2853
|
+
extern Datum any_value_transfn(PG_FUNCTION_ARGS);
|
2854
|
+
extern Datum array_agg_combine(PG_FUNCTION_ARGS);
|
2855
|
+
extern Datum array_agg_serialize(PG_FUNCTION_ARGS);
|
2856
|
+
extern Datum array_agg_deserialize(PG_FUNCTION_ARGS);
|
2857
|
+
extern Datum array_agg_array_combine(PG_FUNCTION_ARGS);
|
2858
|
+
extern Datum array_agg_array_serialize(PG_FUNCTION_ARGS);
|
2859
|
+
extern Datum array_agg_array_deserialize(PG_FUNCTION_ARGS);
|
2860
|
+
extern Datum string_agg_combine(PG_FUNCTION_ARGS);
|
2861
|
+
extern Datum string_agg_serialize(PG_FUNCTION_ARGS);
|
2862
|
+
extern Datum string_agg_deserialize(PG_FUNCTION_ARGS);
|
2863
|
+
extern Datum pg_log_standby_snapshot(PG_FUNCTION_ARGS);
|
2864
|
+
extern Datum window_percent_rank_support(PG_FUNCTION_ARGS);
|
2865
|
+
extern Datum window_cume_dist_support(PG_FUNCTION_ARGS);
|
2866
|
+
extern Datum window_ntile_support(PG_FUNCTION_ARGS);
|
2867
|
+
extern Datum pg_stat_get_db_conflict_logicalslot(PG_FUNCTION_ARGS);
|
2868
|
+
extern Datum pg_stat_get_lastscan(PG_FUNCTION_ARGS);
|
2869
|
+
extern Datum system_user(PG_FUNCTION_ARGS);
|
2828
2870
|
|
2829
2871
|
#endif /* FMGRPROTOS_H */
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* fmgrtab.h
|
4
4
|
* The function manager's table of internal functions.
|
5
5
|
*
|
6
|
-
* Portions Copyright (c) 1996-
|
6
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
8
8
|
*
|
9
9
|
* src/include/utils/fmgrtab.h
|
@@ -1,10 +1,9 @@
|
|
1
1
|
/*--------------------------------------------------------------------
|
2
2
|
* guc.h
|
3
3
|
*
|
4
|
-
* External declarations pertaining to
|
5
|
-
* backend/utils/misc/guc-file.l
|
4
|
+
* External declarations pertaining to Grand Unified Configuration.
|
6
5
|
*
|
7
|
-
* Copyright (c) 2000-
|
6
|
+
* Copyright (c) 2000-2023, PostgreSQL Global Development Group
|
8
7
|
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
9
8
|
*
|
10
9
|
* src/include/utils/guc.h
|
@@ -203,46 +202,42 @@ typedef enum
|
|
203
202
|
#define GUC_QUALIFIER_SEPARATOR '.'
|
204
203
|
|
205
204
|
/*
|
206
|
-
*
|
205
|
+
* Bit values in "flags" of a GUC variable. Note that these don't appear
|
206
|
+
* on disk, so we can reassign their values freely.
|
207
207
|
*/
|
208
|
-
#define GUC_LIST_INPUT
|
209
|
-
#define GUC_LIST_QUOTE
|
210
|
-
#define GUC_NO_SHOW_ALL
|
211
|
-
#define
|
212
|
-
#define
|
213
|
-
#define
|
214
|
-
#define
|
215
|
-
#define
|
216
|
-
#define
|
217
|
-
#define
|
218
|
-
#define
|
219
|
-
#define
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
#define
|
224
|
-
|
225
|
-
#define
|
226
|
-
#define
|
227
|
-
#define
|
228
|
-
|
229
|
-
#define
|
230
|
-
#define
|
231
|
-
|
232
|
-
#define
|
233
|
-
|
234
|
-
#define
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
#define GUC_UNIT (GUC_UNIT_MEMORY | GUC_UNIT_TIME)
|
243
|
-
|
244
|
-
|
245
|
-
/* GUC vars that are actually declared in guc.c, rather than elsewhere */
|
208
|
+
#define GUC_LIST_INPUT 0x000001 /* input can be list format */
|
209
|
+
#define GUC_LIST_QUOTE 0x000002 /* double-quote list elements */
|
210
|
+
#define GUC_NO_SHOW_ALL 0x000004 /* exclude from SHOW ALL */
|
211
|
+
#define GUC_NO_RESET 0x000008 /* disallow RESET and SAVE */
|
212
|
+
#define GUC_NO_RESET_ALL 0x000010 /* exclude from RESET ALL */
|
213
|
+
#define GUC_EXPLAIN 0x000020 /* include in EXPLAIN */
|
214
|
+
#define GUC_REPORT 0x000040 /* auto-report changes to client */
|
215
|
+
#define GUC_NOT_IN_SAMPLE 0x000080 /* not in postgresql.conf.sample */
|
216
|
+
#define GUC_DISALLOW_IN_FILE 0x000100 /* can't set in postgresql.conf */
|
217
|
+
#define GUC_CUSTOM_PLACEHOLDER 0x000200 /* placeholder for custom variable */
|
218
|
+
#define GUC_SUPERUSER_ONLY 0x000400 /* show only to superusers */
|
219
|
+
#define GUC_IS_NAME 0x000800 /* limit string to NAMEDATALEN-1 */
|
220
|
+
#define GUC_NOT_WHILE_SEC_REST 0x001000 /* can't set if security restricted */
|
221
|
+
#define GUC_DISALLOW_IN_AUTO_FILE \
|
222
|
+
0x002000 /* can't set in PG_AUTOCONF_FILENAME */
|
223
|
+
#define GUC_RUNTIME_COMPUTED 0x004000 /* delay processing in 'postgres -C' */
|
224
|
+
|
225
|
+
#define GUC_UNIT_KB 0x01000000 /* value is in kilobytes */
|
226
|
+
#define GUC_UNIT_BLOCKS 0x02000000 /* value is in blocks */
|
227
|
+
#define GUC_UNIT_XBLOCKS 0x03000000 /* value is in xlog blocks */
|
228
|
+
#define GUC_UNIT_MB 0x04000000 /* value is in megabytes */
|
229
|
+
#define GUC_UNIT_BYTE 0x05000000 /* value is in bytes */
|
230
|
+
#define GUC_UNIT_MEMORY 0x0F000000 /* mask for size-related units */
|
231
|
+
|
232
|
+
#define GUC_UNIT_MS 0x10000000 /* value is in milliseconds */
|
233
|
+
#define GUC_UNIT_S 0x20000000 /* value is in seconds */
|
234
|
+
#define GUC_UNIT_MIN 0x30000000 /* value is in minutes */
|
235
|
+
#define GUC_UNIT_TIME 0x70000000 /* mask for time-related units */
|
236
|
+
|
237
|
+
#define GUC_UNIT (GUC_UNIT_MEMORY | GUC_UNIT_TIME)
|
238
|
+
|
239
|
+
|
240
|
+
/* GUC vars that are actually defined in guc_tables.c, rather than elsewhere */
|
246
241
|
extern PGDLLIMPORT bool Debug_print_plan;
|
247
242
|
extern PGDLLIMPORT bool Debug_print_parse;
|
248
243
|
extern PGDLLIMPORT bool Debug_print_rewritten;
|
@@ -269,7 +264,6 @@ extern PGDLLIMPORT int log_temp_files;
|
|
269
264
|
extern PGDLLIMPORT double log_statement_sample_rate;
|
270
265
|
extern PGDLLIMPORT double log_xact_sample_rate;
|
271
266
|
extern PGDLLIMPORT __thread char *backtrace_functions;
|
272
|
-
extern PGDLLIMPORT __thread char *backtrace_symbol_list;
|
273
267
|
|
274
268
|
extern PGDLLIMPORT int temp_file_limit;
|
275
269
|
|
@@ -307,7 +301,7 @@ extern void DefineCustomBoolVariable(const char *name,
|
|
307
301
|
int flags,
|
308
302
|
GucBoolCheckHook check_hook,
|
309
303
|
GucBoolAssignHook assign_hook,
|
310
|
-
GucShowHook show_hook);
|
304
|
+
GucShowHook show_hook) pg_attribute_nonnull(1, 4);
|
311
305
|
|
312
306
|
extern void DefineCustomIntVariable(const char *name,
|
313
307
|
const char *short_desc,
|
@@ -320,7 +314,7 @@ extern void DefineCustomIntVariable(const char *name,
|
|
320
314
|
int flags,
|
321
315
|
GucIntCheckHook check_hook,
|
322
316
|
GucIntAssignHook assign_hook,
|
323
|
-
GucShowHook show_hook);
|
317
|
+
GucShowHook show_hook) pg_attribute_nonnull(1, 4);
|
324
318
|
|
325
319
|
extern void DefineCustomRealVariable(const char *name,
|
326
320
|
const char *short_desc,
|
@@ -333,7 +327,7 @@ extern void DefineCustomRealVariable(const char *name,
|
|
333
327
|
int flags,
|
334
328
|
GucRealCheckHook check_hook,
|
335
329
|
GucRealAssignHook assign_hook,
|
336
|
-
GucShowHook show_hook);
|
330
|
+
GucShowHook show_hook) pg_attribute_nonnull(1, 4);
|
337
331
|
|
338
332
|
extern void DefineCustomStringVariable(const char *name,
|
339
333
|
const char *short_desc,
|
@@ -344,7 +338,7 @@ extern void DefineCustomStringVariable(const char *name,
|
|
344
338
|
int flags,
|
345
339
|
GucStringCheckHook check_hook,
|
346
340
|
GucStringAssignHook assign_hook,
|
347
|
-
GucShowHook show_hook);
|
341
|
+
GucShowHook show_hook) pg_attribute_nonnull(1, 4);
|
348
342
|
|
349
343
|
extern void DefineCustomEnumVariable(const char *name,
|
350
344
|
const char *short_desc,
|
@@ -356,7 +350,7 @@ extern void DefineCustomEnumVariable(const char *name,
|
|
356
350
|
int flags,
|
357
351
|
GucEnumCheckHook check_hook,
|
358
352
|
GucEnumAssignHook assign_hook,
|
359
|
-
GucShowHook show_hook);
|
353
|
+
GucShowHook show_hook) pg_attribute_nonnull(1, 4);
|
360
354
|
|
361
355
|
extern void MarkGUCPrefixReserved(const char *className);
|
362
356
|
|
@@ -371,7 +365,6 @@ extern void ProcessConfigFile(GucContext context);
|
|
371
365
|
extern char *convert_GUC_name_for_parameter_acl(const char *name);
|
372
366
|
extern bool check_GUC_name_for_parameter_acl(const char *name);
|
373
367
|
extern void InitializeGUCOptions(void);
|
374
|
-
extern void InitializeWalConsistencyChecking(void);
|
375
368
|
extern bool SelectConfigFiles(const char *userDoption, const char *progname);
|
376
369
|
extern void ResetAllOptions(void);
|
377
370
|
extern void AtStart_GUC(void);
|
@@ -380,6 +373,7 @@ extern void AtEOXact_GUC(bool isCommit, int nestLevel);
|
|
380
373
|
extern void BeginReportingGUCOptions(void);
|
381
374
|
extern void ReportChangedGUCOptions(void);
|
382
375
|
extern void ParseLongOption(const char *string, char **name, char **value);
|
376
|
+
extern const char *get_config_unit_name(int flags);
|
383
377
|
extern bool parse_int(const char *value, int *result, int flags,
|
384
378
|
const char **hintmsg);
|
385
379
|
extern bool parse_real(const char *value, double *result, int flags,
|
@@ -396,15 +390,6 @@ extern int set_config_option_ext(const char *name, const char *value,
|
|
396
390
|
extern void AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt);
|
397
391
|
extern char *GetConfigOptionByName(const char *name, const char **varname,
|
398
392
|
bool missing_ok);
|
399
|
-
extern void GetConfigOptionByNum(int varnum, const char **values, bool *noshow);
|
400
|
-
extern int GetNumConfigOptions(void);
|
401
|
-
|
402
|
-
extern void SetPGVariable(const char *name, List *args, bool is_local);
|
403
|
-
extern void GetPGVariable(const char *name, DestReceiver *dest);
|
404
|
-
extern TupleDesc GetPGVariableResultDesc(const char *name);
|
405
|
-
|
406
|
-
extern void ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel);
|
407
|
-
extern char *ExtractSetVariableArgs(VariableSetStmt *stmt);
|
408
393
|
|
409
394
|
extern void ProcessGUCArray(ArrayType *array,
|
410
395
|
GucContext context, GucSource source, GucAction action);
|
@@ -412,6 +397,11 @@ extern ArrayType *GUCArrayAdd(ArrayType *array, const char *name, const char *va
|
|
412
397
|
extern ArrayType *GUCArrayDelete(ArrayType *array, const char *name);
|
413
398
|
extern ArrayType *GUCArrayReset(ArrayType *array);
|
414
399
|
|
400
|
+
extern void *guc_malloc(int elevel, size_t size);
|
401
|
+
extern pg_nodiscard void *guc_realloc(int elevel, void *old, size_t size);
|
402
|
+
extern char *guc_strdup(int elevel, const char *src);
|
403
|
+
extern void guc_free(void *ptr);
|
404
|
+
|
415
405
|
#ifdef EXEC_BACKEND
|
416
406
|
extern void write_nondefault_variables(GucContext context);
|
417
407
|
extern void read_nondefault_variables(void);
|
@@ -422,6 +412,13 @@ extern Size EstimateGUCStateSpace(void);
|
|
422
412
|
extern void SerializeGUCState(Size maxsize, char *start_address);
|
423
413
|
extern void RestoreGUCState(void *gucstate);
|
424
414
|
|
415
|
+
/* Functions exported by guc_funcs.c */
|
416
|
+
extern void ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel);
|
417
|
+
extern char *ExtractSetVariableArgs(VariableSetStmt *stmt);
|
418
|
+
extern void SetPGVariable(const char *name, List *args, bool is_local);
|
419
|
+
extern void GetPGVariable(const char *name, DestReceiver *dest);
|
420
|
+
extern TupleDesc GetPGVariableResultDesc(const char *name);
|
421
|
+
|
425
422
|
/* Support for messages reported from GUC check hooks */
|
426
423
|
|
427
424
|
extern PGDLLIMPORT char *GUC_check_errmsg_string;
|
@@ -442,28 +439,4 @@ extern void GUC_check_errcode(int sqlerrcode);
|
|
442
439
|
pre_format_elog_string(errno, TEXTDOMAIN), \
|
443
440
|
GUC_check_errhint_string = format_elog_string
|
444
441
|
|
445
|
-
|
446
|
-
/*
|
447
|
-
* The following functions are not in guc.c, but are declared here to avoid
|
448
|
-
* having to include guc.h in some widely used headers that it really doesn't
|
449
|
-
* belong in.
|
450
|
-
*/
|
451
|
-
|
452
|
-
/* in commands/tablespace.c */
|
453
|
-
extern bool check_default_tablespace(char **newval, void **extra, GucSource source);
|
454
|
-
extern bool check_temp_tablespaces(char **newval, void **extra, GucSource source);
|
455
|
-
extern void assign_temp_tablespaces(const char *newval, void *extra);
|
456
|
-
|
457
|
-
/* in catalog/namespace.c */
|
458
|
-
extern bool check_search_path(char **newval, void **extra, GucSource source);
|
459
|
-
extern void assign_search_path(const char *newval, void *extra);
|
460
|
-
|
461
|
-
/* in access/transam/xlog.c */
|
462
|
-
extern bool check_wal_buffers(int *newval, void **extra, GucSource source);
|
463
|
-
extern void assign_xlog_sync_method(int new_sync_method, void *extra);
|
464
|
-
|
465
|
-
/* in access/transam/xlogprefetcher.c */
|
466
|
-
extern bool check_recovery_prefetch(int *new_value, void **extra, GucSource source);
|
467
|
-
extern void assign_recovery_prefetch(int new_value, void *extra);
|
468
|
-
|
469
442
|
#endif /* GUC_H */
|
@@ -0,0 +1,163 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* guc_hooks.h
|
4
|
+
* Declarations of per-variable callback functions used by GUC.
|
5
|
+
*
|
6
|
+
* These functions are scattered throughout the system, but we
|
7
|
+
* declare them all here to avoid having to propagate guc.h into
|
8
|
+
* a lot of unrelated header files.
|
9
|
+
*
|
10
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
11
|
+
*
|
12
|
+
* src/include/utils/guc_hooks.h
|
13
|
+
*
|
14
|
+
*-------------------------------------------------------------------------
|
15
|
+
*/
|
16
|
+
#ifndef GUC_HOOKS_H
|
17
|
+
#define GUC_HOOKS_H 1
|
18
|
+
|
19
|
+
#include "utils/guc.h"
|
20
|
+
|
21
|
+
/*
|
22
|
+
* See guc.h for the typedefs that these hook functions should match
|
23
|
+
* (GucBoolCheckHook and so on).
|
24
|
+
*
|
25
|
+
* Please keep the declarations in order by GUC variable name.
|
26
|
+
*/
|
27
|
+
|
28
|
+
extern bool check_application_name(char **newval, void **extra,
|
29
|
+
GucSource source);
|
30
|
+
extern void assign_application_name(const char *newval, void *extra);
|
31
|
+
extern const char *show_archive_command(void);
|
32
|
+
extern bool check_autovacuum_max_workers(int *newval, void **extra,
|
33
|
+
GucSource source);
|
34
|
+
extern bool check_autovacuum_work_mem(int *newval, void **extra,
|
35
|
+
GucSource source);
|
36
|
+
extern bool check_vacuum_buffer_usage_limit(int *newval, void **extra,
|
37
|
+
GucSource source);
|
38
|
+
extern bool check_backtrace_functions(char **newval, void **extra,
|
39
|
+
GucSource source);
|
40
|
+
extern void assign_backtrace_functions(const char *newval, void *extra);
|
41
|
+
extern bool check_bonjour(bool *newval, void **extra, GucSource source);
|
42
|
+
extern bool check_canonical_path(char **newval, void **extra, GucSource source);
|
43
|
+
extern void assign_checkpoint_completion_target(double newval, void *extra);
|
44
|
+
extern bool check_client_connection_check_interval(int *newval, void **extra,
|
45
|
+
GucSource source);
|
46
|
+
extern bool check_client_encoding(char **newval, void **extra, GucSource source);
|
47
|
+
extern void assign_client_encoding(const char *newval, void *extra);
|
48
|
+
extern bool check_cluster_name(char **newval, void **extra, GucSource source);
|
49
|
+
extern const char *show_data_directory_mode(void);
|
50
|
+
extern bool check_datestyle(char **newval, void **extra, GucSource source);
|
51
|
+
extern void assign_datestyle(const char *newval, void *extra);
|
52
|
+
extern bool check_debug_io_direct(char **newval, void **extra, GucSource source);
|
53
|
+
extern void assign_debug_io_direct(const char *newval, void *extra);
|
54
|
+
extern bool check_default_table_access_method(char **newval, void **extra,
|
55
|
+
GucSource source);
|
56
|
+
extern bool check_default_tablespace(char **newval, void **extra,
|
57
|
+
GucSource source);
|
58
|
+
extern bool check_default_text_search_config(char **newval, void **extra, GucSource source);
|
59
|
+
extern void assign_default_text_search_config(const char *newval, void *extra);
|
60
|
+
extern bool check_default_with_oids(bool *newval, void **extra,
|
61
|
+
GucSource source);
|
62
|
+
extern bool check_effective_io_concurrency(int *newval, void **extra,
|
63
|
+
GucSource source);
|
64
|
+
extern bool check_huge_page_size(int *newval, void **extra, GucSource source);
|
65
|
+
extern const char *show_in_hot_standby(void);
|
66
|
+
extern bool check_locale_messages(char **newval, void **extra, GucSource source);
|
67
|
+
extern void assign_locale_messages(const char *newval, void *extra);
|
68
|
+
extern bool check_locale_monetary(char **newval, void **extra, GucSource source);
|
69
|
+
extern void assign_locale_monetary(const char *newval, void *extra);
|
70
|
+
extern bool check_locale_numeric(char **newval, void **extra, GucSource source);
|
71
|
+
extern void assign_locale_numeric(const char *newval, void *extra);
|
72
|
+
extern bool check_locale_time(char **newval, void **extra, GucSource source);
|
73
|
+
extern void assign_locale_time(const char *newval, void *extra);
|
74
|
+
extern bool check_log_destination(char **newval, void **extra,
|
75
|
+
GucSource source);
|
76
|
+
extern void assign_log_destination(const char *newval, void *extra);
|
77
|
+
extern const char *show_log_file_mode(void);
|
78
|
+
extern bool check_log_stats(bool *newval, void **extra, GucSource source);
|
79
|
+
extern bool check_log_timezone(char **newval, void **extra, GucSource source);
|
80
|
+
extern void assign_log_timezone(const char *newval, void *extra);
|
81
|
+
extern const char *show_log_timezone(void);
|
82
|
+
extern bool check_maintenance_io_concurrency(int *newval, void **extra,
|
83
|
+
GucSource source);
|
84
|
+
extern void assign_maintenance_io_concurrency(int newval, void *extra);
|
85
|
+
extern bool check_max_connections(int *newval, void **extra, GucSource source);
|
86
|
+
extern bool check_max_wal_senders(int *newval, void **extra, GucSource source);
|
87
|
+
extern void assign_max_wal_size(int newval, void *extra);
|
88
|
+
extern bool check_max_worker_processes(int *newval, void **extra,
|
89
|
+
GucSource source);
|
90
|
+
extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
|
91
|
+
extern void assign_max_stack_depth(int newval, void *extra);
|
92
|
+
extern bool check_primary_slot_name(char **newval, void **extra,
|
93
|
+
GucSource source);
|
94
|
+
extern bool check_random_seed(double *newval, void **extra, GucSource source);
|
95
|
+
extern void assign_random_seed(double newval, void *extra);
|
96
|
+
extern const char *show_random_seed(void);
|
97
|
+
extern bool check_recovery_prefetch(int *new_value, void **extra,
|
98
|
+
GucSource source);
|
99
|
+
extern void assign_recovery_prefetch(int new_value, void *extra);
|
100
|
+
extern bool check_recovery_target(char **newval, void **extra,
|
101
|
+
GucSource source);
|
102
|
+
extern void assign_recovery_target(const char *newval, void *extra);
|
103
|
+
extern bool check_recovery_target_lsn(char **newval, void **extra,
|
104
|
+
GucSource source);
|
105
|
+
extern void assign_recovery_target_lsn(const char *newval, void *extra);
|
106
|
+
extern bool check_recovery_target_name(char **newval, void **extra,
|
107
|
+
GucSource source);
|
108
|
+
extern void assign_recovery_target_name(const char *newval, void *extra);
|
109
|
+
extern bool check_recovery_target_time(char **newval, void **extra,
|
110
|
+
GucSource source);
|
111
|
+
extern void assign_recovery_target_time(const char *newval, void *extra);
|
112
|
+
extern bool check_recovery_target_timeline(char **newval, void **extra,
|
113
|
+
GucSource source);
|
114
|
+
extern void assign_recovery_target_timeline(const char *newval, void *extra);
|
115
|
+
extern bool check_recovery_target_xid(char **newval, void **extra,
|
116
|
+
GucSource source);
|
117
|
+
extern void assign_recovery_target_xid(const char *newval, void *extra);
|
118
|
+
extern bool check_role(char **newval, void **extra, GucSource source);
|
119
|
+
extern void assign_role(const char *newval, void *extra);
|
120
|
+
extern const char *show_role(void);
|
121
|
+
extern bool check_search_path(char **newval, void **extra, GucSource source);
|
122
|
+
extern void assign_search_path(const char *newval, void *extra);
|
123
|
+
extern bool check_session_authorization(char **newval, void **extra, GucSource source);
|
124
|
+
extern void assign_session_authorization(const char *newval, void *extra);
|
125
|
+
extern void assign_session_replication_role(int newval, void *extra);
|
126
|
+
extern void assign_stats_fetch_consistency(int newval, void *extra);
|
127
|
+
extern bool check_ssl(bool *newval, void **extra, GucSource source);
|
128
|
+
extern bool check_stage_log_stats(bool *newval, void **extra, GucSource source);
|
129
|
+
extern bool check_synchronous_standby_names(char **newval, void **extra,
|
130
|
+
GucSource source);
|
131
|
+
extern void assign_synchronous_standby_names(const char *newval, void *extra);
|
132
|
+
extern void assign_synchronous_commit(int newval, void *extra);
|
133
|
+
extern void assign_syslog_facility(int newval, void *extra);
|
134
|
+
extern void assign_syslog_ident(const char *newval, void *extra);
|
135
|
+
extern void assign_tcp_keepalives_count(int newval, void *extra);
|
136
|
+
extern const char *show_tcp_keepalives_count(void);
|
137
|
+
extern void assign_tcp_keepalives_idle(int newval, void *extra);
|
138
|
+
extern const char *show_tcp_keepalives_idle(void);
|
139
|
+
extern void assign_tcp_keepalives_interval(int newval, void *extra);
|
140
|
+
extern const char *show_tcp_keepalives_interval(void);
|
141
|
+
extern void assign_tcp_user_timeout(int newval, void *extra);
|
142
|
+
extern const char *show_tcp_user_timeout(void);
|
143
|
+
extern bool check_temp_buffers(int *newval, void **extra, GucSource source);
|
144
|
+
extern bool check_temp_tablespaces(char **newval, void **extra,
|
145
|
+
GucSource source);
|
146
|
+
extern void assign_temp_tablespaces(const char *newval, void *extra);
|
147
|
+
extern bool check_timezone(char **newval, void **extra, GucSource source);
|
148
|
+
extern void assign_timezone(const char *newval, void *extra);
|
149
|
+
extern const char *show_timezone(void);
|
150
|
+
extern bool check_timezone_abbreviations(char **newval, void **extra,
|
151
|
+
GucSource source);
|
152
|
+
extern void assign_timezone_abbreviations(const char *newval, void *extra);
|
153
|
+
extern bool check_transaction_deferrable(bool *newval, void **extra, GucSource source);
|
154
|
+
extern bool check_transaction_isolation(int *newval, void **extra, GucSource source);
|
155
|
+
extern bool check_transaction_read_only(bool *newval, void **extra, GucSource source);
|
156
|
+
extern const char *show_unix_socket_permissions(void);
|
157
|
+
extern bool check_wal_buffers(int *newval, void **extra, GucSource source);
|
158
|
+
extern bool check_wal_consistency_checking(char **newval, void **extra,
|
159
|
+
GucSource source);
|
160
|
+
extern void assign_wal_consistency_checking(const char *newval, void *extra);
|
161
|
+
extern void assign_xlog_sync_method(int new_sync_method, void *extra);
|
162
|
+
|
163
|
+
#endif /* GUC_HOOKS_H */
|