pg_query 4.2.1 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +31 -0
- data/README.md +6 -8
- data/Rakefile +5 -6
- data/ext/pg_query/extconf.rb +14 -4
- 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/{access → postgres/access}/amapi.h +3 -1
- data/ext/pg_query/include/{access → postgres/access}/attmap.h +5 -3
- data/ext/pg_query/include/{access → postgres/access}/attnum.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/clog.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/commit_ts.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/detoast.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/genam.h +7 -5
- data/ext/pg_query/include/{access → postgres/access}/gin.h +16 -3
- data/ext/pg_query/include/{access → postgres/access}/htup.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/htup_details.h +6 -2
- data/ext/pg_query/include/{access → postgres/access}/itup.h +61 -58
- data/ext/pg_query/include/{access → postgres/access}/parallel.h +2 -2
- data/ext/pg_query/include/{access → postgres/access}/printtup.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/relation.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/relscan.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/rmgrlist.h +2 -2
- data/ext/pg_query/include/{access → postgres/access}/sdir.h +12 -3
- data/ext/pg_query/include/{access → postgres/access}/skey.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/stratnum.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/sysattr.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/table.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/tableam.h +68 -45
- data/ext/pg_query/include/{access → postgres/access}/toast_compression.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/transam.h +1 -1
- data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
- data/ext/pg_query/include/{access → postgres/access}/tupconvert.h +5 -2
- data/ext/pg_query/include/{access → postgres/access}/tupdesc.h +2 -2
- data/ext/pg_query/include/{access → postgres/access}/tupmacs.h +58 -98
- data/ext/pg_query/include/{access → postgres/access}/twophase.h +2 -2
- data/ext/pg_query/include/{access → postgres/access}/xact.h +25 -18
- data/ext/pg_query/include/{access → postgres/access}/xlog.h +15 -16
- data/ext/pg_query/include/{access → postgres/access}/xlog_internal.h +100 -62
- data/ext/pg_query/include/postgres/access/xlogbackup.h +41 -0
- data/ext/pg_query/include/{access → postgres/access}/xlogdefs.h +6 -25
- data/ext/pg_query/include/{access → postgres/access}/xlogprefetcher.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/xlogreader.h +7 -6
- data/ext/pg_query/include/{access → postgres/access}/xlogrecord.h +17 -5
- data/ext/pg_query/include/{access → postgres/access}/xlogrecovery.h +4 -3
- data/ext/pg_query/include/postgres/archive/archive_module.h +59 -0
- data/ext/pg_query/include/{c.h → postgres/c.h} +144 -156
- data/ext/pg_query/include/{catalog → postgres/catalog}/catalog.h +4 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/catversion.h +6 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/dependency.h +5 -4
- data/ext/pg_query/include/{catalog → postgres/catalog}/genbki.h +7 -6
- data/ext/pg_query/include/{catalog → postgres/catalog}/index.h +4 -4
- data/ext/pg_query/include/{catalog → postgres/catalog}/indexing.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/namespace.h +2 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/objectaccess.h +10 -8
- data/ext/pg_query/include/{catalog → postgres/catalog}/objectaddress.h +3 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute.h +19 -17
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute_d.h +19 -19
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation_d.h +4 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint.h +2 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_control.h +9 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion.h +2 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_database.h +124 -0
- data/ext/pg_query/include/postgres/catalog/pg_database_d.h +52 -0
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily.h +3 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily_d.h +4 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication.h +2 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type_d.h +1 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/storage.h +6 -6
- data/ext/pg_query/include/{commands → postgres/commands}/async.h +1 -1
- data/ext/pg_query/include/{commands → postgres/commands}/dbcommands.h +2 -1
- data/ext/pg_query/include/{commands → postgres/commands}/defrem.h +2 -1
- data/ext/pg_query/include/{commands → postgres/commands}/event_trigger.h +1 -1
- data/ext/pg_query/include/{commands → postgres/commands}/explain.h +3 -1
- data/ext/pg_query/include/{commands → postgres/commands}/prepare.h +1 -1
- data/ext/pg_query/include/{commands → postgres/commands}/tablespace.h +4 -4
- data/ext/pg_query/include/{commands → postgres/commands}/trigger.h +15 -14
- data/ext/pg_query/include/{commands → postgres/commands}/user.h +9 -3
- data/ext/pg_query/include/{commands → postgres/commands}/vacuum.h +60 -14
- data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
- data/ext/pg_query/include/{common → postgres/common}/file_perm.h +1 -1
- data/ext/pg_query/include/{common → postgres/common}/hashfn.h +1 -1
- data/ext/pg_query/include/postgres/common/int.h +437 -0
- data/ext/pg_query/include/{common → postgres/common}/keywords.h +1 -1
- data/ext/pg_query/include/{common → postgres/common}/kwlookup.h +2 -2
- data/ext/pg_query/include/{common → postgres/common}/pg_prng.h +3 -2
- data/ext/pg_query/include/{common → postgres/common}/relpath.h +20 -13
- data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
- data/ext/pg_query/include/postgres/common/sha2.h +32 -0
- data/ext/pg_query/include/{common → postgres/common}/string.h +5 -3
- data/ext/pg_query/include/{common → postgres/common}/unicode_east_asian_fw_table.h +10 -10
- data/ext/pg_query/include/{common/unicode_combining_table.h → postgres/common/unicode_nonspacing_table.h} +31 -13
- data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5013 -0
- data/ext/pg_query/include/postgres/copyfuncs.switch.c +938 -0
- data/ext/pg_query/include/{datatype → postgres/datatype}/timestamp.h +11 -4
- data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3097 -0
- data/ext/pg_query/include/postgres/equalfuncs.switch.c +785 -0
- data/ext/pg_query/include/{executor → postgres/executor}/execdesc.h +1 -1
- data/ext/pg_query/include/{executor → postgres/executor}/executor.h +34 -17
- data/ext/pg_query/include/{executor → postgres/executor}/functions.h +1 -1
- data/ext/pg_query/include/{executor → postgres/executor}/instrument.h +1 -1
- data/ext/pg_query/include/{executor → postgres/executor}/spi.h +2 -2
- data/ext/pg_query/include/{executor → postgres/executor}/tablefunc.h +1 -1
- data/ext/pg_query/include/{executor → postgres/executor}/tuptable.h +18 -11
- data/ext/pg_query/include/{fmgr.h → postgres/fmgr.h} +21 -2
- data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
- data/ext/pg_query/include/{funcapi.h → postgres/funcapi.h} +12 -12
- data/ext/pg_query/include/postgres/gram.h +1127 -0
- data/ext/pg_query/include/{parser → postgres}/gramparse.h +4 -4
- data/ext/pg_query/include/{jit → postgres/jit}/jit.h +2 -2
- data/ext/pg_query/include/postgres/kwlist_d.h +1119 -0
- data/ext/pg_query/include/{lib → postgres/lib}/dshash.h +4 -1
- data/ext/pg_query/include/{lib → postgres/lib}/ilist.h +435 -22
- data/ext/pg_query/include/{lib → postgres/lib}/pairingheap.h +1 -1
- data/ext/pg_query/include/{lib → postgres/lib}/simplehash.h +9 -9
- data/ext/pg_query/include/{lib → postgres/lib}/sort_template.h +1 -1
- data/ext/pg_query/include/{lib → postgres/lib}/stringinfo.h +3 -3
- data/ext/pg_query/include/{libpq → postgres/libpq}/auth.h +8 -2
- data/ext/pg_query/include/{libpq → postgres/libpq}/crypt.h +1 -1
- data/ext/pg_query/include/{libpq → postgres/libpq}/hba.h +24 -17
- data/ext/pg_query/include/{libpq → postgres/libpq}/libpq-be.h +36 -25
- data/ext/pg_query/include/{libpq → postgres/libpq}/libpq.h +1 -1
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqcomm.h +10 -41
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqformat.h +2 -2
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqsignal.h +22 -10
- data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
- data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
- data/ext/pg_query/include/{mb → postgres/mb}/pg_wchar.h +35 -18
- data/ext/pg_query/include/{mb → postgres/mb}/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/{miscadmin.h → postgres/miscadmin.h} +27 -15
- data/ext/pg_query/include/{nodes → postgres/nodes}/bitmapset.h +11 -7
- data/ext/pg_query/include/{nodes → postgres/nodes}/execnodes.h +83 -30
- data/ext/pg_query/include/{nodes → postgres/nodes}/extensible.h +5 -3
- data/ext/pg_query/include/{nodes → postgres/nodes}/lockoptions.h +1 -1
- data/ext/pg_query/include/{nodes → postgres/nodes}/makefuncs.h +14 -2
- data/ext/pg_query/include/{nodes → postgres/nodes}/memnodes.h +7 -4
- data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
- data/ext/pg_query/include/{nodes → postgres/nodes}/nodeFuncs.h +89 -29
- data/ext/pg_query/include/{nodes → postgres/nodes}/nodes.h +96 -511
- data/ext/pg_query/include/postgres/nodes/nodetags.h +471 -0
- data/ext/pg_query/include/{nodes → postgres/nodes}/params.h +3 -3
- data/ext/pg_query/include/{nodes → postgres/nodes}/parsenodes.h +377 -139
- data/ext/pg_query/include/{nodes → postgres/nodes}/pathnodes.h +1090 -440
- data/ext/pg_query/include/{nodes → postgres/nodes}/pg_list.h +30 -7
- data/ext/pg_query/include/{nodes → postgres/nodes}/plannodes.h +367 -124
- data/ext/pg_query/include/{nodes → postgres/nodes}/primnodes.h +670 -222
- data/ext/pg_query/include/{nodes → postgres/nodes}/print.h +1 -1
- data/ext/pg_query/include/{utils → postgres/nodes}/queryjumble.h +5 -7
- data/ext/pg_query/include/postgres/nodes/replnodes.h +111 -0
- data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
- data/ext/pg_query/include/{nodes → postgres/nodes}/tidbitmap.h +1 -1
- data/ext/pg_query/include/{nodes → postgres/nodes}/value.h +12 -2
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/cost.h +6 -4
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo.h +1 -1
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo_gene.h +1 -1
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/optimizer.h +8 -8
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/paths.h +16 -7
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/planmain.h +3 -6
- data/ext/pg_query/include/{parser → postgres/parser}/analyze.h +4 -3
- data/ext/pg_query/include/{parser → postgres/parser}/kwlist.h +12 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_agg.h +4 -2
- data/ext/pg_query/include/{parser → postgres/parser}/parse_coerce.h +3 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_expr.h +1 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_func.h +1 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_node.h +22 -4
- data/ext/pg_query/include/{parser → postgres/parser}/parse_oper.h +3 -3
- data/ext/pg_query/include/{parser → postgres/parser}/parse_relation.h +8 -3
- data/ext/pg_query/include/{parser → postgres/parser}/parse_type.h +4 -3
- data/ext/pg_query/include/{parser → postgres/parser}/parser.h +4 -4
- data/ext/pg_query/include/{parser → postgres/parser}/parsetree.h +1 -1
- data/ext/pg_query/include/{parser → postgres/parser}/scanner.h +2 -2
- data/ext/pg_query/include/{parser → postgres/parser}/scansup.h +1 -1
- data/ext/pg_query/include/{partitioning → postgres/partitioning}/partdefs.h +1 -1
- data/ext/pg_query/include/{pg_config.h → postgres/pg_config.h} +158 -218
- data/ext/pg_query/include/{pg_config_manual.h → postgres/pg_config_manual.h} +8 -46
- data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
- data/ext/pg_query/include/{pg_getopt.h → postgres/pg_getopt.h} +1 -1
- data/ext/pg_query/include/{pg_trace.h → postgres/pg_trace.h} +1 -1
- data/ext/pg_query/include/{pgstat.h → postgres/pgstat.h} +173 -94
- data/ext/pg_query/include/{pgtime.h → postgres/pgtime.h} +3 -3
- data/ext/pg_query/include/{pl_gram.h → postgres/pl_gram.h} +66 -64
- data/ext/pg_query/include/{pl_reserved_kwlist.h → postgres/pl_reserved_kwlist.h} +1 -1
- data/ext/pg_query/include/{pl_reserved_kwlist_d.h → postgres/pl_reserved_kwlist_d.h} +1 -1
- data/ext/pg_query/include/{pl_unreserved_kwlist.h → postgres/pl_unreserved_kwlist.h} +2 -1
- data/ext/pg_query/include/{pl_unreserved_kwlist_d.h → postgres/pl_unreserved_kwlist_d.h} +48 -46
- data/ext/pg_query/include/{plpgsql.h → postgres/plpgsql.h} +28 -33
- data/ext/pg_query/include/{port → postgres/port}/atomics/arch-arm.h +3 -3
- data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
- data/ext/pg_query/include/{port → postgres/port}/atomics/arch-ppc.h +21 -21
- data/ext/pg_query/include/{port → postgres/port}/atomics/arch-x86.h +2 -2
- data/ext/pg_query/include/{port → postgres/port}/atomics/fallback.h +3 -3
- data/ext/pg_query/include/{port → postgres/port}/atomics/generic-gcc.h +1 -1
- data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +101 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +106 -0
- data/ext/pg_query/include/{port → postgres/port}/atomics/generic.h +1 -1
- data/ext/pg_query/include/{port → postgres/port}/atomics.h +2 -7
- data/ext/pg_query/include/{port → postgres/port}/pg_bitutils.h +62 -25
- data/ext/pg_query/include/{port → postgres/port}/pg_bswap.h +1 -1
- data/ext/pg_query/include/{port → postgres/port}/pg_crc32c.h +1 -1
- data/ext/pg_query/include/postgres/port/simd.h +375 -0
- data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
- data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/socket.h +26 -0
- data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
- data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
- data/ext/pg_query/include/postgres/port/win32.h +59 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
- data/ext/pg_query/include/postgres/port/win32_port.h +594 -0
- data/ext/pg_query/include/{port.h → postgres/port.h} +42 -75
- data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
- data/ext/pg_query/include/postgres/postgres.h +579 -0
- data/ext/pg_query/include/{postgres_ext.h → postgres/postgres_ext.h} +0 -1
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/autovacuum.h +1 -4
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker.h +2 -2
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker_internals.h +1 -1
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgwriter.h +2 -2
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/interrupt.h +1 -1
- data/ext/pg_query/include/postgres/postmaster/pgarch.h +36 -0
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/postmaster.h +6 -3
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/startup.h +3 -1
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/syslogger.h +2 -2
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/walwriter.h +3 -1
- data/ext/pg_query/include/{regex → postgres/regex}/regex.h +9 -6
- data/ext/pg_query/include/{replication → postgres/replication}/logicallauncher.h +6 -1
- data/ext/pg_query/include/{replication → postgres/replication}/logicalproto.h +30 -10
- data/ext/pg_query/include/postgres/replication/logicalworker.h +32 -0
- data/ext/pg_query/include/{replication → postgres/replication}/origin.h +4 -4
- data/ext/pg_query/include/{replication → postgres/replication}/reorderbuffer.h +113 -45
- data/ext/pg_query/include/{replication → postgres/replication}/slot.h +25 -6
- data/ext/pg_query/include/{replication → postgres/replication}/syncrep.h +2 -8
- data/ext/pg_query/include/{replication → postgres/replication}/walreceiver.h +15 -9
- data/ext/pg_query/include/{replication → postgres/replication}/walsender.h +13 -13
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/prs2lock.h +1 -1
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteHandler.h +1 -4
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteManip.h +11 -2
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteSupport.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/backendid.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/block.h +24 -31
- data/ext/pg_query/include/{storage → postgres/storage}/buf.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/bufmgr.h +183 -87
- data/ext/pg_query/include/{storage → postgres/storage}/bufpage.h +146 -93
- data/ext/pg_query/include/{storage → postgres/storage}/condition_variable.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/dsm.h +3 -6
- data/ext/pg_query/include/{storage → postgres/storage}/dsm_impl.h +4 -1
- data/ext/pg_query/include/{storage → postgres/storage}/fd.h +24 -20
- data/ext/pg_query/include/{storage → postgres/storage}/fileset.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/ipc.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/item.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/itemid.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/itemptr.h +94 -57
- data/ext/pg_query/include/{storage → postgres/storage}/large_object.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/latch.h +9 -1
- data/ext/pg_query/include/{storage → postgres/storage}/lmgr.h +6 -1
- data/ext/pg_query/include/{storage → postgres/storage}/lock.h +21 -13
- data/ext/pg_query/include/{storage → postgres/storage}/lockdefs.h +3 -3
- data/ext/pg_query/include/{storage → postgres/storage}/lwlock.h +16 -2
- data/ext/pg_query/include/{storage → postgres/storage}/off.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/pg_sema.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/pg_shmem.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/pmsignal.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/predicate.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/proc.h +22 -17
- data/ext/pg_query/include/{storage → postgres/storage}/procarray.h +3 -2
- data/ext/pg_query/include/{storage → postgres/storage}/proclist_types.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/procsignal.h +3 -1
- data/ext/pg_query/include/postgres/storage/relfilelocator.h +99 -0
- data/ext/pg_query/include/{storage → postgres/storage}/s_lock.h +66 -309
- data/ext/pg_query/include/{storage → postgres/storage}/sharedfileset.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/shm_mq.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/shm_toc.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/shmem.h +1 -23
- data/ext/pg_query/include/{storage → postgres/storage}/sinval.h +3 -3
- data/ext/pg_query/include/{storage → postgres/storage}/sinvaladt.h +4 -2
- data/ext/pg_query/include/{storage → postgres/storage}/smgr.h +12 -10
- data/ext/pg_query/include/{storage → postgres/storage}/spin.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/standby.h +9 -8
- data/ext/pg_query/include/{storage → postgres/storage}/standbydefs.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/sync.h +3 -3
- data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtag.h +7 -2
- data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtaglist.h +1 -1
- data/ext/pg_query/include/{tcop → postgres/tcop}/deparse_utility.h +1 -1
- data/ext/pg_query/include/{tcop → postgres/tcop}/dest.h +1 -3
- data/ext/pg_query/include/{tcop → postgres/tcop}/fastpath.h +1 -1
- data/ext/pg_query/include/{tcop → postgres/tcop}/pquery.h +1 -1
- data/ext/pg_query/include/{tcop → postgres/tcop}/tcopprot.h +3 -6
- data/ext/pg_query/include/{tcop → postgres/tcop}/utility.h +1 -1
- data/ext/pg_query/include/{tsearch → postgres/tsearch}/ts_cache.h +2 -4
- data/ext/pg_query/include/{utils → postgres/utils}/acl.h +26 -81
- data/ext/pg_query/include/{utils → postgres/utils}/aclchk_internal.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/array.h +19 -1
- data/ext/pg_query/include/{utils → postgres/utils}/backend_progress.h +2 -1
- data/ext/pg_query/include/{utils → postgres/utils}/backend_status.h +24 -3
- data/ext/pg_query/include/{utils → postgres/utils}/builtins.h +15 -6
- data/ext/pg_query/include/{utils → postgres/utils}/bytea.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/catcache.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/date.h +37 -9
- data/ext/pg_query/include/{utils → postgres/utils}/datetime.h +41 -21
- data/ext/pg_query/include/{utils → postgres/utils}/datum.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/dsa.h +5 -1
- data/ext/pg_query/include/{utils → postgres/utils}/elog.h +104 -29
- data/ext/pg_query/include/{utils → postgres/utils}/expandeddatum.h +14 -3
- data/ext/pg_query/include/{utils → postgres/utils}/expandedrecord.h +14 -4
- data/ext/pg_query/include/{utils → postgres/utils}/float.h +7 -6
- data/ext/pg_query/include/{utils → postgres/utils}/fmgroids.h +54 -1
- data/ext/pg_query/include/{utils → postgres/utils}/fmgrprotos.h +45 -3
- data/ext/pg_query/include/{utils → postgres/utils}/fmgrtab.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/guc.h +59 -86
- data/ext/pg_query/include/postgres/utils/guc_hooks.h +163 -0
- data/ext/pg_query/include/{utils → postgres/utils}/guc_tables.h +49 -3
- data/ext/pg_query/include/{utils → postgres/utils}/hsearch.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/inval.h +3 -3
- data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
- data/ext/pg_query/include/{utils → postgres/utils}/lsyscache.h +5 -1
- data/ext/pg_query/include/{utils → postgres/utils}/memdebug.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/memutils.h +7 -51
- data/ext/pg_query/include/postgres/utils/memutils_internal.h +136 -0
- data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +237 -0
- data/ext/pg_query/include/{utils → postgres/utils}/numeric.h +20 -5
- data/ext/pg_query/include/{utils → postgres/utils}/palloc.h +9 -2
- data/ext/pg_query/include/{utils → postgres/utils}/partcache.h +3 -2
- data/ext/pg_query/include/{utils → postgres/utils}/pg_locale.h +22 -14
- data/ext/pg_query/include/{utils → postgres/utils}/pgstat_internal.h +37 -7
- data/ext/pg_query/include/{utils → postgres/utils}/plancache.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/portal.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/probes.h +6 -6
- data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
- data/ext/pg_query/include/{utils → postgres/utils}/queryenvironment.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/regproc.h +3 -3
- data/ext/pg_query/include/{utils → postgres/utils}/rel.h +60 -43
- data/ext/pg_query/include/{utils → postgres/utils}/relcache.h +13 -8
- data/ext/pg_query/include/{utils → postgres/utils}/reltrigger.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/resowner.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/ruleutils.h +6 -1
- data/ext/pg_query/include/{utils → postgres/utils}/sharedtuplestore.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/snapmgr.h +4 -2
- data/ext/pg_query/include/{utils → postgres/utils}/snapshot.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/sortsupport.h +2 -2
- data/ext/pg_query/include/{utils → postgres/utils}/syscache.h +4 -1
- data/ext/pg_query/include/{utils → postgres/utils}/timeout.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/timestamp.h +41 -11
- data/ext/pg_query/include/{utils → postgres/utils}/tuplesort.h +189 -35
- data/ext/pg_query/include/{utils → postgres/utils}/tuplestore.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/typcache.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/varlena.h +13 -1
- data/ext/pg_query/include/{utils → postgres/utils}/wait_event.h +9 -4
- data/ext/pg_query/include/{utils → postgres/utils}/xml.h +15 -5
- data/ext/pg_query/include/{postgres.h → postgres/varatt.h} +7 -457
- 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/pg_query.c +10 -1
- data/ext/pg_query/pg_query.pb-c.c +19755 -17757
- data/ext/pg_query/pg_query_deparse.c +1 -10635
- data/ext/pg_query/pg_query_fingerprint.c +12 -8
- 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_json.c +6 -0
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +3 -2
- data/ext/pg_query/pg_query_parse.c +47 -5
- data/ext/pg_query/pg_query_parse_plpgsql.c +7 -5
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +1 -0
- data/ext/pg_query/pg_query_ruby.c +5 -0
- data/ext/pg_query/pg_query_ruby_freebsd.sym +2 -0
- data/ext/pg_query/pg_query_scan.c +1 -1
- data/ext/pg_query/pg_query_split.c +3 -3
- data/ext/pg_query/postgres_deparse.c +11067 -0
- data/ext/pg_query/postgres_deparse.h +9 -0
- 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_nodes.c +38 -0
- 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_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 +371 -249
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +33 -1
- data/ext/pg_query/src_backend_utils_init_globals.c +6 -3
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +21 -67
- data/ext/pg_query/src_backend_utils_misc_guc_tables.c +492 -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 +79 -5
- data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
- data/ext/pg_query/src_port_snprintf.c +6 -10
- data/ext/pg_query/src_port_strerror.c +1 -1
- data/ext/pg_query/src_port_strlcpy.c +79 -0
- data/lib/pg_query/fingerprint.rb +2 -3
- data/lib/pg_query/node.rb +16 -11
- data/lib/pg_query/parse.rb +1 -1
- data/lib/pg_query/pg_query_pb.rb +166 -3191
- data/lib/pg_query/treewalker.rb +23 -5
- data/lib/pg_query/version.rb +1 -1
- metadata +432 -380
- data/ext/pg_query/guc-file.c +0 -0
- 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/common/ip.h +0 -31
- data/ext/pg_query/include/getaddrinfo.h +0 -162
- data/ext/pg_query/include/kwlist_d.h +0 -1095
- data/ext/pg_query/include/parser/gram.h +0 -1101
- data/ext/pg_query/include/pg_config_os.h +0 -8
- data/ext/pg_query/include/portability/instr_time.h +0 -256
- data/ext/pg_query/include/postmaster/auxprocess.h +0 -20
- data/ext/pg_query/include/postmaster/fork_process.h +0 -17
- data/ext/pg_query/include/postmaster/pgarch.h +0 -73
- data/ext/pg_query/include/replication/logicalworker.h +0 -19
- 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/pidfile.h +0 -56
- data/ext/pg_query/include/utils/ps_status.h +0 -25
- 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_postmaster_postmaster.c +0 -2201
- 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
- data/ext/pg_query/src_port_strnlen.c +0 -39
- /data/ext/pg_query/include/{access → postgres/access}/rmgr.h +0 -0
- /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
- /data/ext/pg_query/include/{plerrcodes.h → postgres/plerrcodes.h} +0 -0
- /data/ext/pg_query/include/{storage → postgres/storage}/lwlocknames.h +0 -0
- /data/ext/pg_query/include/{utils → postgres/utils}/errcodes.h +0 -0
|
@@ -0,0 +1,579 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* postgres.h
|
|
4
|
+
* Primary include file for PostgreSQL server .c files
|
|
5
|
+
*
|
|
6
|
+
* This should be the first file included by PostgreSQL backend modules.
|
|
7
|
+
* Client-side code should include postgres_fe.h instead.
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
11
|
+
* Portions Copyright (c) 1995, Regents of the University of California
|
|
12
|
+
*
|
|
13
|
+
* src/include/postgres.h
|
|
14
|
+
*
|
|
15
|
+
*-------------------------------------------------------------------------
|
|
16
|
+
*/
|
|
17
|
+
/*
|
|
18
|
+
*----------------------------------------------------------------
|
|
19
|
+
* TABLE OF CONTENTS
|
|
20
|
+
*
|
|
21
|
+
* When adding stuff to this file, please try to put stuff
|
|
22
|
+
* into the relevant section, or add new sections as appropriate.
|
|
23
|
+
*
|
|
24
|
+
* section description
|
|
25
|
+
* ------- ------------------------------------------------
|
|
26
|
+
* 1) Datum type + support functions
|
|
27
|
+
* 2) miscellaneous
|
|
28
|
+
*
|
|
29
|
+
* NOTES
|
|
30
|
+
*
|
|
31
|
+
* In general, this file should contain declarations that are widely needed
|
|
32
|
+
* in the backend environment, but are of no interest outside the backend.
|
|
33
|
+
*
|
|
34
|
+
* Simple type definitions live in c.h, where they are shared with
|
|
35
|
+
* postgres_fe.h. We do that since those type definitions are needed by
|
|
36
|
+
* frontend modules that want to deal with binary data transmission to or
|
|
37
|
+
* from the backend. Type definitions in this file should be for
|
|
38
|
+
* representations that never escape the backend, such as Datum.
|
|
39
|
+
*
|
|
40
|
+
*----------------------------------------------------------------
|
|
41
|
+
*/
|
|
42
|
+
#ifndef POSTGRES_H
|
|
43
|
+
#define POSTGRES_H
|
|
44
|
+
|
|
45
|
+
#include "c.h"
|
|
46
|
+
#include "utils/elog.h"
|
|
47
|
+
#include "utils/palloc.h"
|
|
48
|
+
|
|
49
|
+
/* ----------------------------------------------------------------
|
|
50
|
+
* Section 1: Datum type + support functions
|
|
51
|
+
* ----------------------------------------------------------------
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
/*
|
|
55
|
+
* A Datum contains either a value of a pass-by-value type or a pointer to a
|
|
56
|
+
* value of a pass-by-reference type. Therefore, we require:
|
|
57
|
+
*
|
|
58
|
+
* sizeof(Datum) == sizeof(void *) == 4 or 8
|
|
59
|
+
*
|
|
60
|
+
* The functions below and the analogous functions for other types should be used to
|
|
61
|
+
* convert between a Datum and the appropriate C type.
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
typedef uintptr_t Datum;
|
|
65
|
+
|
|
66
|
+
/*
|
|
67
|
+
* A NullableDatum is used in places where both a Datum and its nullness needs
|
|
68
|
+
* to be stored. This can be more efficient than storing datums and nullness
|
|
69
|
+
* in separate arrays, due to better spatial locality, even if more space may
|
|
70
|
+
* be wasted due to padding.
|
|
71
|
+
*/
|
|
72
|
+
typedef struct NullableDatum
|
|
73
|
+
{
|
|
74
|
+
#define FIELDNO_NULLABLE_DATUM_DATUM 0
|
|
75
|
+
Datum value;
|
|
76
|
+
#define FIELDNO_NULLABLE_DATUM_ISNULL 1
|
|
77
|
+
bool isnull;
|
|
78
|
+
/* due to alignment padding this could be used for flags for free */
|
|
79
|
+
} NullableDatum;
|
|
80
|
+
|
|
81
|
+
#define SIZEOF_DATUM SIZEOF_VOID_P
|
|
82
|
+
|
|
83
|
+
/*
|
|
84
|
+
* DatumGetBool
|
|
85
|
+
* Returns boolean value of a datum.
|
|
86
|
+
*
|
|
87
|
+
* Note: any nonzero value will be considered true.
|
|
88
|
+
*/
|
|
89
|
+
static inline bool
|
|
90
|
+
DatumGetBool(Datum X)
|
|
91
|
+
{
|
|
92
|
+
return (X != 0);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/*
|
|
96
|
+
* BoolGetDatum
|
|
97
|
+
* Returns datum representation for a boolean.
|
|
98
|
+
*
|
|
99
|
+
* Note: any nonzero value will be considered true.
|
|
100
|
+
*/
|
|
101
|
+
static inline Datum
|
|
102
|
+
BoolGetDatum(bool X)
|
|
103
|
+
{
|
|
104
|
+
return (Datum) (X ? 1 : 0);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/*
|
|
108
|
+
* DatumGetChar
|
|
109
|
+
* Returns character value of a datum.
|
|
110
|
+
*/
|
|
111
|
+
static inline char
|
|
112
|
+
DatumGetChar(Datum X)
|
|
113
|
+
{
|
|
114
|
+
return (char) X;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/*
|
|
118
|
+
* CharGetDatum
|
|
119
|
+
* Returns datum representation for a character.
|
|
120
|
+
*/
|
|
121
|
+
static inline Datum
|
|
122
|
+
CharGetDatum(char X)
|
|
123
|
+
{
|
|
124
|
+
return (Datum) X;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/*
|
|
128
|
+
* Int8GetDatum
|
|
129
|
+
* Returns datum representation for an 8-bit integer.
|
|
130
|
+
*/
|
|
131
|
+
static inline Datum
|
|
132
|
+
Int8GetDatum(int8 X)
|
|
133
|
+
{
|
|
134
|
+
return (Datum) X;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/*
|
|
138
|
+
* DatumGetUInt8
|
|
139
|
+
* Returns 8-bit unsigned integer value of a datum.
|
|
140
|
+
*/
|
|
141
|
+
static inline uint8
|
|
142
|
+
DatumGetUInt8(Datum X)
|
|
143
|
+
{
|
|
144
|
+
return (uint8) X;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/*
|
|
148
|
+
* UInt8GetDatum
|
|
149
|
+
* Returns datum representation for an 8-bit unsigned integer.
|
|
150
|
+
*/
|
|
151
|
+
static inline Datum
|
|
152
|
+
UInt8GetDatum(uint8 X)
|
|
153
|
+
{
|
|
154
|
+
return (Datum) X;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/*
|
|
158
|
+
* DatumGetInt16
|
|
159
|
+
* Returns 16-bit integer value of a datum.
|
|
160
|
+
*/
|
|
161
|
+
static inline int16
|
|
162
|
+
DatumGetInt16(Datum X)
|
|
163
|
+
{
|
|
164
|
+
return (int16) X;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/*
|
|
168
|
+
* Int16GetDatum
|
|
169
|
+
* Returns datum representation for a 16-bit integer.
|
|
170
|
+
*/
|
|
171
|
+
static inline Datum
|
|
172
|
+
Int16GetDatum(int16 X)
|
|
173
|
+
{
|
|
174
|
+
return (Datum) X;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/*
|
|
178
|
+
* DatumGetUInt16
|
|
179
|
+
* Returns 16-bit unsigned integer value of a datum.
|
|
180
|
+
*/
|
|
181
|
+
static inline uint16
|
|
182
|
+
DatumGetUInt16(Datum X)
|
|
183
|
+
{
|
|
184
|
+
return (uint16) X;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/*
|
|
188
|
+
* UInt16GetDatum
|
|
189
|
+
* Returns datum representation for a 16-bit unsigned integer.
|
|
190
|
+
*/
|
|
191
|
+
static inline Datum
|
|
192
|
+
UInt16GetDatum(uint16 X)
|
|
193
|
+
{
|
|
194
|
+
return (Datum) X;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/*
|
|
198
|
+
* DatumGetInt32
|
|
199
|
+
* Returns 32-bit integer value of a datum.
|
|
200
|
+
*/
|
|
201
|
+
static inline int32
|
|
202
|
+
DatumGetInt32(Datum X)
|
|
203
|
+
{
|
|
204
|
+
return (int32) X;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/*
|
|
208
|
+
* Int32GetDatum
|
|
209
|
+
* Returns datum representation for a 32-bit integer.
|
|
210
|
+
*/
|
|
211
|
+
static inline Datum
|
|
212
|
+
Int32GetDatum(int32 X)
|
|
213
|
+
{
|
|
214
|
+
return (Datum) X;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/*
|
|
218
|
+
* DatumGetUInt32
|
|
219
|
+
* Returns 32-bit unsigned integer value of a datum.
|
|
220
|
+
*/
|
|
221
|
+
static inline uint32
|
|
222
|
+
DatumGetUInt32(Datum X)
|
|
223
|
+
{
|
|
224
|
+
return (uint32) X;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/*
|
|
228
|
+
* UInt32GetDatum
|
|
229
|
+
* Returns datum representation for a 32-bit unsigned integer.
|
|
230
|
+
*/
|
|
231
|
+
static inline Datum
|
|
232
|
+
UInt32GetDatum(uint32 X)
|
|
233
|
+
{
|
|
234
|
+
return (Datum) X;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/*
|
|
238
|
+
* DatumGetObjectId
|
|
239
|
+
* Returns object identifier value of a datum.
|
|
240
|
+
*/
|
|
241
|
+
static inline Oid
|
|
242
|
+
DatumGetObjectId(Datum X)
|
|
243
|
+
{
|
|
244
|
+
return (Oid) X;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/*
|
|
248
|
+
* ObjectIdGetDatum
|
|
249
|
+
* Returns datum representation for an object identifier.
|
|
250
|
+
*/
|
|
251
|
+
static inline Datum
|
|
252
|
+
ObjectIdGetDatum(Oid X)
|
|
253
|
+
{
|
|
254
|
+
return (Datum) X;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/*
|
|
258
|
+
* DatumGetTransactionId
|
|
259
|
+
* Returns transaction identifier value of a datum.
|
|
260
|
+
*/
|
|
261
|
+
static inline TransactionId
|
|
262
|
+
DatumGetTransactionId(Datum X)
|
|
263
|
+
{
|
|
264
|
+
return (TransactionId) X;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/*
|
|
268
|
+
* TransactionIdGetDatum
|
|
269
|
+
* Returns datum representation for a transaction identifier.
|
|
270
|
+
*/
|
|
271
|
+
static inline Datum
|
|
272
|
+
TransactionIdGetDatum(TransactionId X)
|
|
273
|
+
{
|
|
274
|
+
return (Datum) X;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/*
|
|
278
|
+
* MultiXactIdGetDatum
|
|
279
|
+
* Returns datum representation for a multixact identifier.
|
|
280
|
+
*/
|
|
281
|
+
static inline Datum
|
|
282
|
+
MultiXactIdGetDatum(MultiXactId X)
|
|
283
|
+
{
|
|
284
|
+
return (Datum) X;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/*
|
|
288
|
+
* DatumGetCommandId
|
|
289
|
+
* Returns command identifier value of a datum.
|
|
290
|
+
*/
|
|
291
|
+
static inline CommandId
|
|
292
|
+
DatumGetCommandId(Datum X)
|
|
293
|
+
{
|
|
294
|
+
return (CommandId) X;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/*
|
|
298
|
+
* CommandIdGetDatum
|
|
299
|
+
* Returns datum representation for a command identifier.
|
|
300
|
+
*/
|
|
301
|
+
static inline Datum
|
|
302
|
+
CommandIdGetDatum(CommandId X)
|
|
303
|
+
{
|
|
304
|
+
return (Datum) X;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/*
|
|
308
|
+
* DatumGetPointer
|
|
309
|
+
* Returns pointer value of a datum.
|
|
310
|
+
*/
|
|
311
|
+
static inline Pointer
|
|
312
|
+
DatumGetPointer(Datum X)
|
|
313
|
+
{
|
|
314
|
+
return (Pointer) X;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/*
|
|
318
|
+
* PointerGetDatum
|
|
319
|
+
* Returns datum representation for a pointer.
|
|
320
|
+
*/
|
|
321
|
+
static inline Datum
|
|
322
|
+
PointerGetDatum(const void *X)
|
|
323
|
+
{
|
|
324
|
+
return (Datum) X;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/*
|
|
328
|
+
* DatumGetCString
|
|
329
|
+
* Returns C string (null-terminated string) value of a datum.
|
|
330
|
+
*
|
|
331
|
+
* Note: C string is not a full-fledged Postgres type at present,
|
|
332
|
+
* but type input functions use this conversion for their inputs.
|
|
333
|
+
*/
|
|
334
|
+
static inline char *
|
|
335
|
+
DatumGetCString(Datum X)
|
|
336
|
+
{
|
|
337
|
+
return (char *) DatumGetPointer(X);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/*
|
|
341
|
+
* CStringGetDatum
|
|
342
|
+
* Returns datum representation for a C string (null-terminated string).
|
|
343
|
+
*
|
|
344
|
+
* Note: C string is not a full-fledged Postgres type at present,
|
|
345
|
+
* but type output functions use this conversion for their outputs.
|
|
346
|
+
* Note: CString is pass-by-reference; caller must ensure the pointed-to
|
|
347
|
+
* value has adequate lifetime.
|
|
348
|
+
*/
|
|
349
|
+
static inline Datum
|
|
350
|
+
CStringGetDatum(const char *X)
|
|
351
|
+
{
|
|
352
|
+
return PointerGetDatum(X);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/*
|
|
356
|
+
* DatumGetName
|
|
357
|
+
* Returns name value of a datum.
|
|
358
|
+
*/
|
|
359
|
+
static inline Name
|
|
360
|
+
DatumGetName(Datum X)
|
|
361
|
+
{
|
|
362
|
+
return (Name) DatumGetPointer(X);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
/*
|
|
366
|
+
* NameGetDatum
|
|
367
|
+
* Returns datum representation for a name.
|
|
368
|
+
*
|
|
369
|
+
* Note: Name is pass-by-reference; caller must ensure the pointed-to
|
|
370
|
+
* value has adequate lifetime.
|
|
371
|
+
*/
|
|
372
|
+
static inline Datum
|
|
373
|
+
NameGetDatum(const NameData *X)
|
|
374
|
+
{
|
|
375
|
+
return CStringGetDatum(NameStr(*X));
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/*
|
|
379
|
+
* DatumGetInt64
|
|
380
|
+
* Returns 64-bit integer value of a datum.
|
|
381
|
+
*
|
|
382
|
+
* Note: this function hides whether int64 is pass by value or by reference.
|
|
383
|
+
*/
|
|
384
|
+
static inline int64
|
|
385
|
+
DatumGetInt64(Datum X)
|
|
386
|
+
{
|
|
387
|
+
#ifdef USE_FLOAT8_BYVAL
|
|
388
|
+
return (int64) X;
|
|
389
|
+
#else
|
|
390
|
+
return *((int64 *) DatumGetPointer(X));
|
|
391
|
+
#endif
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/*
|
|
395
|
+
* Int64GetDatum
|
|
396
|
+
* Returns datum representation for a 64-bit integer.
|
|
397
|
+
*
|
|
398
|
+
* Note: if int64 is pass by reference, this function returns a reference
|
|
399
|
+
* to palloc'd space.
|
|
400
|
+
*/
|
|
401
|
+
#ifdef USE_FLOAT8_BYVAL
|
|
402
|
+
static inline Datum
|
|
403
|
+
Int64GetDatum(int64 X)
|
|
404
|
+
{
|
|
405
|
+
return (Datum) X;
|
|
406
|
+
}
|
|
407
|
+
#else
|
|
408
|
+
extern Datum Int64GetDatum(int64 X);
|
|
409
|
+
#endif
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
/*
|
|
413
|
+
* DatumGetUInt64
|
|
414
|
+
* Returns 64-bit unsigned integer value of a datum.
|
|
415
|
+
*
|
|
416
|
+
* Note: this function hides whether int64 is pass by value or by reference.
|
|
417
|
+
*/
|
|
418
|
+
static inline uint64
|
|
419
|
+
DatumGetUInt64(Datum X)
|
|
420
|
+
{
|
|
421
|
+
#ifdef USE_FLOAT8_BYVAL
|
|
422
|
+
return (uint64) X;
|
|
423
|
+
#else
|
|
424
|
+
return *((uint64 *) DatumGetPointer(X));
|
|
425
|
+
#endif
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
/*
|
|
429
|
+
* UInt64GetDatum
|
|
430
|
+
* Returns datum representation for a 64-bit unsigned integer.
|
|
431
|
+
*
|
|
432
|
+
* Note: if int64 is pass by reference, this function returns a reference
|
|
433
|
+
* to palloc'd space.
|
|
434
|
+
*/
|
|
435
|
+
static inline Datum
|
|
436
|
+
UInt64GetDatum(uint64 X)
|
|
437
|
+
{
|
|
438
|
+
#ifdef USE_FLOAT8_BYVAL
|
|
439
|
+
return (Datum) X;
|
|
440
|
+
#else
|
|
441
|
+
return Int64GetDatum((int64) X);
|
|
442
|
+
#endif
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
/*
|
|
446
|
+
* Float <-> Datum conversions
|
|
447
|
+
*
|
|
448
|
+
* These have to be implemented as inline functions rather than macros, when
|
|
449
|
+
* passing by value, because many machines pass int and float function
|
|
450
|
+
* parameters/results differently; so we need to play weird games with unions.
|
|
451
|
+
*/
|
|
452
|
+
|
|
453
|
+
/*
|
|
454
|
+
* DatumGetFloat4
|
|
455
|
+
* Returns 4-byte floating point value of a datum.
|
|
456
|
+
*/
|
|
457
|
+
static inline float4
|
|
458
|
+
DatumGetFloat4(Datum X)
|
|
459
|
+
{
|
|
460
|
+
union
|
|
461
|
+
{
|
|
462
|
+
int32 value;
|
|
463
|
+
float4 retval;
|
|
464
|
+
} myunion;
|
|
465
|
+
|
|
466
|
+
myunion.value = DatumGetInt32(X);
|
|
467
|
+
return myunion.retval;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
/*
|
|
471
|
+
* Float4GetDatum
|
|
472
|
+
* Returns datum representation for a 4-byte floating point number.
|
|
473
|
+
*/
|
|
474
|
+
static inline Datum
|
|
475
|
+
Float4GetDatum(float4 X)
|
|
476
|
+
{
|
|
477
|
+
union
|
|
478
|
+
{
|
|
479
|
+
float4 value;
|
|
480
|
+
int32 retval;
|
|
481
|
+
} myunion;
|
|
482
|
+
|
|
483
|
+
myunion.value = X;
|
|
484
|
+
return Int32GetDatum(myunion.retval);
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
/*
|
|
488
|
+
* DatumGetFloat8
|
|
489
|
+
* Returns 8-byte floating point value of a datum.
|
|
490
|
+
*
|
|
491
|
+
* Note: this function hides whether float8 is pass by value or by reference.
|
|
492
|
+
*/
|
|
493
|
+
static inline float8
|
|
494
|
+
DatumGetFloat8(Datum X)
|
|
495
|
+
{
|
|
496
|
+
#ifdef USE_FLOAT8_BYVAL
|
|
497
|
+
union
|
|
498
|
+
{
|
|
499
|
+
int64 value;
|
|
500
|
+
float8 retval;
|
|
501
|
+
} myunion;
|
|
502
|
+
|
|
503
|
+
myunion.value = DatumGetInt64(X);
|
|
504
|
+
return myunion.retval;
|
|
505
|
+
#else
|
|
506
|
+
return *((float8 *) DatumGetPointer(X));
|
|
507
|
+
#endif
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
/*
|
|
511
|
+
* Float8GetDatum
|
|
512
|
+
* Returns datum representation for an 8-byte floating point number.
|
|
513
|
+
*
|
|
514
|
+
* Note: if float8 is pass by reference, this function returns a reference
|
|
515
|
+
* to palloc'd space.
|
|
516
|
+
*/
|
|
517
|
+
#ifdef USE_FLOAT8_BYVAL
|
|
518
|
+
static inline Datum
|
|
519
|
+
Float8GetDatum(float8 X)
|
|
520
|
+
{
|
|
521
|
+
union
|
|
522
|
+
{
|
|
523
|
+
float8 value;
|
|
524
|
+
int64 retval;
|
|
525
|
+
} myunion;
|
|
526
|
+
|
|
527
|
+
myunion.value = X;
|
|
528
|
+
return Int64GetDatum(myunion.retval);
|
|
529
|
+
}
|
|
530
|
+
#else
|
|
531
|
+
extern Datum Float8GetDatum(float8 X);
|
|
532
|
+
#endif
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
/*
|
|
536
|
+
* Int64GetDatumFast
|
|
537
|
+
* Float8GetDatumFast
|
|
538
|
+
*
|
|
539
|
+
* These macros are intended to allow writing code that does not depend on
|
|
540
|
+
* whether int64 and float8 are pass-by-reference types, while not
|
|
541
|
+
* sacrificing performance when they are. The argument must be a variable
|
|
542
|
+
* that will exist and have the same value for as long as the Datum is needed.
|
|
543
|
+
* In the pass-by-ref case, the address of the variable is taken to use as
|
|
544
|
+
* the Datum. In the pass-by-val case, these are the same as the non-Fast
|
|
545
|
+
* functions, except for asserting that the variable is of the correct type.
|
|
546
|
+
*/
|
|
547
|
+
|
|
548
|
+
#ifdef USE_FLOAT8_BYVAL
|
|
549
|
+
#define Int64GetDatumFast(X) \
|
|
550
|
+
(AssertVariableIsOfTypeMacro(X, int64), Int64GetDatum(X))
|
|
551
|
+
#define Float8GetDatumFast(X) \
|
|
552
|
+
(AssertVariableIsOfTypeMacro(X, double), Float8GetDatum(X))
|
|
553
|
+
#else
|
|
554
|
+
#define Int64GetDatumFast(X) \
|
|
555
|
+
(AssertVariableIsOfTypeMacro(X, int64), PointerGetDatum(&(X)))
|
|
556
|
+
#define Float8GetDatumFast(X) \
|
|
557
|
+
(AssertVariableIsOfTypeMacro(X, double), PointerGetDatum(&(X)))
|
|
558
|
+
#endif
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
/* ----------------------------------------------------------------
|
|
562
|
+
* Section 2: miscellaneous
|
|
563
|
+
* ----------------------------------------------------------------
|
|
564
|
+
*/
|
|
565
|
+
|
|
566
|
+
/*
|
|
567
|
+
* NON_EXEC_STATIC: It's sometimes useful to define a variable or function
|
|
568
|
+
* that is normally static but extern when using EXEC_BACKEND (see
|
|
569
|
+
* pg_config_manual.h). There would then typically be some code in
|
|
570
|
+
* postmaster.c that uses those extern symbols to transfer state between
|
|
571
|
+
* processes or do whatever other things it needs to do in EXEC_BACKEND mode.
|
|
572
|
+
*/
|
|
573
|
+
#ifdef EXEC_BACKEND
|
|
574
|
+
#define NON_EXEC_STATIC
|
|
575
|
+
#else
|
|
576
|
+
#define NON_EXEC_STATIC static
|
|
577
|
+
#endif
|
|
578
|
+
|
|
579
|
+
#endif /* POSTGRES_H */
|
|
@@ -46,7 +46,6 @@ typedef unsigned int Oid;
|
|
|
46
46
|
/* Define a signed 64-bit integer type for use in client API declarations. */
|
|
47
47
|
typedef PG_INT64_TYPE pg_int64;
|
|
48
48
|
|
|
49
|
-
|
|
50
49
|
/*
|
|
51
50
|
* Identifiers of error message fields. Kept here to keep common
|
|
52
51
|
* between frontend and backend, and also to export them to libpq
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* header file for integrated autovacuum daemon
|
|
5
5
|
*
|
|
6
6
|
*
|
|
7
|
-
* Portions Copyright (c) 1996-
|
|
7
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
8
8
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
9
9
|
*
|
|
10
10
|
* src/include/postmaster/autovacuum.h
|
|
@@ -63,9 +63,6 @@ extern int StartAutoVacWorker(void);
|
|
|
63
63
|
/* called from postmaster when a worker could not be forked */
|
|
64
64
|
extern void AutoVacWorkerFailed(void);
|
|
65
65
|
|
|
66
|
-
/* autovacuum cost-delay balancer */
|
|
67
|
-
extern void AutoVacuumUpdateDelay(void);
|
|
68
|
-
|
|
69
66
|
#ifdef EXEC_BACKEND
|
|
70
67
|
extern void AutoVacLauncherMain(int argc, char *argv[]) pg_attribute_noreturn();
|
|
71
68
|
extern void AutoVacWorkerMain(int argc, char *argv[]) pg_attribute_noreturn();
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
* different) code.
|
|
32
32
|
*
|
|
33
33
|
*
|
|
34
|
-
* Portions Copyright (c) 1996-
|
|
34
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
35
35
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
36
36
|
*
|
|
37
37
|
* IDENTIFICATION
|
|
@@ -121,7 +121,7 @@ extern bool RegisterDynamicBackgroundWorker(BackgroundWorker *worker,
|
|
|
121
121
|
/* Query the status of a bgworker */
|
|
122
122
|
extern BgwHandleStatus GetBackgroundWorkerPid(BackgroundWorkerHandle *handle,
|
|
123
123
|
pid_t *pidp);
|
|
124
|
-
extern BgwHandleStatus WaitForBackgroundWorkerStartup(BackgroundWorkerHandle *handle, pid_t *
|
|
124
|
+
extern BgwHandleStatus WaitForBackgroundWorkerStartup(BackgroundWorkerHandle *handle, pid_t *pidp);
|
|
125
125
|
extern BgwHandleStatus
|
|
126
126
|
WaitForBackgroundWorkerShutdown(BackgroundWorkerHandle *);
|
|
127
127
|
extern const char *GetBackgroundWorkerTypeByPid(pid_t pid);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* bgworker_internals.h
|
|
3
3
|
* POSTGRES pluggable background workers internals
|
|
4
4
|
*
|
|
5
|
-
* Portions Copyright (c) 1996-
|
|
5
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
6
6
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
7
7
|
*
|
|
8
8
|
* IDENTIFICATION
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* The bgwriter process used to handle checkpointing duties too. Now
|
|
7
7
|
* there is a separate process, but we did not bother to split this header.
|
|
8
8
|
*
|
|
9
|
-
* Portions Copyright (c) 1996-
|
|
9
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
10
10
|
*
|
|
11
11
|
* src/include/postmaster/bgwriter.h
|
|
12
12
|
*
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
#define _BGWRITER_H
|
|
17
17
|
|
|
18
18
|
#include "storage/block.h"
|
|
19
|
-
#include "storage/
|
|
19
|
+
#include "storage/relfilelocator.h"
|
|
20
20
|
#include "storage/smgr.h"
|
|
21
21
|
#include "storage/sync.h"
|
|
22
22
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* have their own implementations, but we provide a few generic things
|
|
8
8
|
* here to facilitate code reuse.
|
|
9
9
|
*
|
|
10
|
-
* Portions Copyright (c) 1996-
|
|
10
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
11
11
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
12
12
|
*
|
|
13
13
|
* IDENTIFICATION
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pgarch.h
|
|
4
|
+
* Exports from postmaster/pgarch.c.
|
|
5
|
+
*
|
|
6
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
7
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
|
+
*
|
|
9
|
+
* src/include/postmaster/pgarch.h
|
|
10
|
+
*
|
|
11
|
+
*-------------------------------------------------------------------------
|
|
12
|
+
*/
|
|
13
|
+
#ifndef _PGARCH_H
|
|
14
|
+
#define _PGARCH_H
|
|
15
|
+
|
|
16
|
+
/* ----------
|
|
17
|
+
* Archiver control info.
|
|
18
|
+
*
|
|
19
|
+
* We expect that archivable files within pg_wal will have names between
|
|
20
|
+
* MIN_XFN_CHARS and MAX_XFN_CHARS in length, consisting only of characters
|
|
21
|
+
* appearing in VALID_XFN_CHARS. The status files in archive_status have
|
|
22
|
+
* corresponding names with ".ready" or ".done" appended.
|
|
23
|
+
* ----------
|
|
24
|
+
*/
|
|
25
|
+
#define MIN_XFN_CHARS 16
|
|
26
|
+
#define MAX_XFN_CHARS 40
|
|
27
|
+
#define VALID_XFN_CHARS "0123456789ABCDEF.history.backup.partial"
|
|
28
|
+
|
|
29
|
+
extern Size PgArchShmemSize(void);
|
|
30
|
+
extern void PgArchShmemInit(void);
|
|
31
|
+
extern bool PgArchCanRestart(void);
|
|
32
|
+
extern void PgArchiverMain(void) pg_attribute_noreturn();
|
|
33
|
+
extern void PgArchWakeup(void);
|
|
34
|
+
extern void PgArchForceDirScan(void);
|
|
35
|
+
|
|
36
|
+
#endif /* _PGARCH_H */
|