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
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* for developers. If you edit any of these, be sure to do a *full*
|
|
7
7
|
* rebuild (and an initdb if noted).
|
|
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
|
* src/include/pg_config_manual.h
|
|
@@ -114,17 +114,6 @@
|
|
|
114
114
|
*/
|
|
115
115
|
#define MAXPGPATH 1024
|
|
116
116
|
|
|
117
|
-
/*
|
|
118
|
-
* PG_SOMAXCONN: maximum accept-queue length limit passed to
|
|
119
|
-
* listen(2). You'd think we should use SOMAXCONN from
|
|
120
|
-
* <sys/socket.h>, but on many systems that symbol is much smaller
|
|
121
|
-
* than the kernel's actual limit. In any case, this symbol need be
|
|
122
|
-
* twiddled only if you have a kernel that refuses large limit values,
|
|
123
|
-
* rather than silently reducing the value to what it can handle
|
|
124
|
-
* (which is what most if not all Unixen do).
|
|
125
|
-
*/
|
|
126
|
-
#define PG_SOMAXCONN 10000
|
|
127
|
-
|
|
128
117
|
/*
|
|
129
118
|
* You can try changing this if you have a machine with bytes of
|
|
130
119
|
* another size, but no guarantee...
|
|
@@ -152,13 +141,6 @@
|
|
|
152
141
|
#define EXEC_BACKEND
|
|
153
142
|
#endif
|
|
154
143
|
|
|
155
|
-
/*
|
|
156
|
-
* Define this if your operating system supports link()
|
|
157
|
-
*/
|
|
158
|
-
#if !defined(WIN32) && !defined(__CYGWIN__)
|
|
159
|
-
#define HAVE_WORKING_LINK 1
|
|
160
|
-
#endif
|
|
161
|
-
|
|
162
144
|
/*
|
|
163
145
|
* USE_POSIX_FADVISE controls whether Postgres will attempt to use the
|
|
164
146
|
* posix_fadvise() kernel call. Usually the automatic configure tests are
|
|
@@ -234,32 +216,6 @@
|
|
|
234
216
|
*/
|
|
235
217
|
#define DEFAULT_EVENT_SOURCE "PostgreSQL"
|
|
236
218
|
|
|
237
|
-
/*
|
|
238
|
-
* On PPC machines, decide whether to use the mutex hint bit in LWARX
|
|
239
|
-
* instructions. Setting the hint bit will slightly improve spinlock
|
|
240
|
-
* performance on POWER6 and later machines, but does nothing before that,
|
|
241
|
-
* and will result in illegal-instruction failures on some pre-POWER4
|
|
242
|
-
* machines. By default we use the hint bit when building for 64-bit PPC,
|
|
243
|
-
* which should be safe in nearly all cases. You might want to override
|
|
244
|
-
* this if you are building 32-bit code for a known-recent PPC machine.
|
|
245
|
-
*/
|
|
246
|
-
#ifdef HAVE_PPC_LWARX_MUTEX_HINT /* must have assembler support in any case */
|
|
247
|
-
#if defined(__ppc64__) || defined(__powerpc64__)
|
|
248
|
-
#define USE_PPC_LWARX_MUTEX_HINT
|
|
249
|
-
#endif
|
|
250
|
-
#endif
|
|
251
|
-
|
|
252
|
-
/*
|
|
253
|
-
* On PPC machines, decide whether to use LWSYNC instructions in place of
|
|
254
|
-
* ISYNC and SYNC. This provides slightly better performance, but will
|
|
255
|
-
* result in illegal-instruction failures on some pre-POWER4 machines.
|
|
256
|
-
* By default we use LWSYNC when building for 64-bit PPC, which should be
|
|
257
|
-
* safe in nearly all cases.
|
|
258
|
-
*/
|
|
259
|
-
#if defined(__ppc64__) || defined(__powerpc64__)
|
|
260
|
-
#define USE_PPC_LWSYNC
|
|
261
|
-
#endif
|
|
262
|
-
|
|
263
219
|
/*
|
|
264
220
|
* Assumed cache line size. This doesn't affect correctness, but can be used
|
|
265
221
|
* for low-level optimizations. Currently, this is used to pad some data
|
|
@@ -271,6 +227,12 @@
|
|
|
271
227
|
*/
|
|
272
228
|
#define PG_CACHE_LINE_SIZE 128
|
|
273
229
|
|
|
230
|
+
/*
|
|
231
|
+
* Assumed alignment requirement for direct I/O. 4K corresponds to common
|
|
232
|
+
* sector and memory page size.
|
|
233
|
+
*/
|
|
234
|
+
#define PG_IO_ALIGN_SIZE 4096
|
|
235
|
+
|
|
274
236
|
/*
|
|
275
237
|
*------------------------------------------------------------------------
|
|
276
238
|
* The following symbols are for enabling debugging code, not for
|
|
@@ -355,7 +317,7 @@
|
|
|
355
317
|
|
|
356
318
|
/*
|
|
357
319
|
* Recover memory used for relcache entries when invalidated. See
|
|
358
|
-
*
|
|
320
|
+
* RelationBuildDesc() in src/backend/utils/cache/relcache.c.
|
|
359
321
|
*
|
|
360
322
|
* This is active automatically for clobber-cache builds when clobbering is
|
|
361
323
|
* active, but can be overridden here by explicitly defining
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* Portions Copyright (c) 1987, 1993, 1994
|
|
12
12
|
* The Regents of the University of California. All rights reserved.
|
|
13
13
|
*
|
|
14
|
-
* Portions Copyright (c) 2003-
|
|
14
|
+
* Portions Copyright (c) 2003-2023, PostgreSQL Global Development Group
|
|
15
15
|
*
|
|
16
16
|
* src/include/pg_getopt.h
|
|
17
17
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Definitions for the PostgreSQL cumulative statistics system.
|
|
5
5
|
*
|
|
6
|
-
* Copyright (c) 2001-
|
|
6
|
+
* Copyright (c) 2001-2023, PostgreSQL Global Development Group
|
|
7
7
|
*
|
|
8
8
|
* src/include/pgstat.h
|
|
9
9
|
* ----------
|
|
@@ -48,6 +48,7 @@ typedef enum PgStat_Kind
|
|
|
48
48
|
PGSTAT_KIND_ARCHIVER,
|
|
49
49
|
PGSTAT_KIND_BGWRITER,
|
|
50
50
|
PGSTAT_KIND_CHECKPOINTER,
|
|
51
|
+
PGSTAT_KIND_IO,
|
|
51
52
|
PGSTAT_KIND_SLRU,
|
|
52
53
|
PGSTAT_KIND_WAL,
|
|
53
54
|
} PgStat_Kind;
|
|
@@ -105,20 +106,11 @@ typedef int64 PgStat_Counter;
|
|
|
105
106
|
*/
|
|
106
107
|
typedef struct PgStat_FunctionCounts
|
|
107
108
|
{
|
|
108
|
-
PgStat_Counter
|
|
109
|
-
instr_time
|
|
110
|
-
instr_time
|
|
109
|
+
PgStat_Counter numcalls;
|
|
110
|
+
instr_time total_time;
|
|
111
|
+
instr_time self_time;
|
|
111
112
|
} PgStat_FunctionCounts;
|
|
112
113
|
|
|
113
|
-
/* ----------
|
|
114
|
-
* PgStat_BackendFunctionEntry Non-flushed function stats.
|
|
115
|
-
* ----------
|
|
116
|
-
*/
|
|
117
|
-
typedef struct PgStat_BackendFunctionEntry
|
|
118
|
-
{
|
|
119
|
-
PgStat_FunctionCounts f_counts;
|
|
120
|
-
} PgStat_BackendFunctionEntry;
|
|
121
|
-
|
|
122
114
|
/*
|
|
123
115
|
* Working state needed to accumulate per-function-call timing statistics.
|
|
124
116
|
*/
|
|
@@ -132,7 +124,7 @@ typedef struct PgStat_FunctionCallUsage
|
|
|
132
124
|
/* Backend-wide total time as of function start */
|
|
133
125
|
instr_time save_total;
|
|
134
126
|
/* system clock as of function start */
|
|
135
|
-
instr_time
|
|
127
|
+
instr_time start;
|
|
136
128
|
} PgStat_FunctionCallUsage;
|
|
137
129
|
|
|
138
130
|
/* ----------
|
|
@@ -159,31 +151,32 @@ typedef struct PgStat_BackendSubEntry
|
|
|
159
151
|
* the index AM, while tuples_fetched is the number of tuples successfully
|
|
160
152
|
* fetched by heap_fetch under the control of simple indexscans for this index.
|
|
161
153
|
*
|
|
162
|
-
* tuples_inserted/updated/deleted/hot_updated count attempted
|
|
163
|
-
* regardless of whether the transaction committed. delta_live_tuples,
|
|
154
|
+
* tuples_inserted/updated/deleted/hot_updated/newpage_updated count attempted
|
|
155
|
+
* actions, regardless of whether the transaction committed. delta_live_tuples,
|
|
164
156
|
* delta_dead_tuples, and changed_tuples are set depending on commit or abort.
|
|
165
157
|
* Note that delta_live_tuples and delta_dead_tuples can be negative!
|
|
166
158
|
* ----------
|
|
167
159
|
*/
|
|
168
160
|
typedef struct PgStat_TableCounts
|
|
169
161
|
{
|
|
170
|
-
PgStat_Counter
|
|
162
|
+
PgStat_Counter numscans;
|
|
171
163
|
|
|
172
|
-
PgStat_Counter
|
|
173
|
-
PgStat_Counter
|
|
164
|
+
PgStat_Counter tuples_returned;
|
|
165
|
+
PgStat_Counter tuples_fetched;
|
|
174
166
|
|
|
175
|
-
PgStat_Counter
|
|
176
|
-
PgStat_Counter
|
|
177
|
-
PgStat_Counter
|
|
178
|
-
PgStat_Counter
|
|
179
|
-
|
|
167
|
+
PgStat_Counter tuples_inserted;
|
|
168
|
+
PgStat_Counter tuples_updated;
|
|
169
|
+
PgStat_Counter tuples_deleted;
|
|
170
|
+
PgStat_Counter tuples_hot_updated;
|
|
171
|
+
PgStat_Counter tuples_newpage_updated;
|
|
172
|
+
bool truncdropped;
|
|
180
173
|
|
|
181
|
-
PgStat_Counter
|
|
182
|
-
PgStat_Counter
|
|
183
|
-
PgStat_Counter
|
|
174
|
+
PgStat_Counter delta_live_tuples;
|
|
175
|
+
PgStat_Counter delta_dead_tuples;
|
|
176
|
+
PgStat_Counter changed_tuples;
|
|
184
177
|
|
|
185
|
-
PgStat_Counter
|
|
186
|
-
PgStat_Counter
|
|
178
|
+
PgStat_Counter blocks_fetched;
|
|
179
|
+
PgStat_Counter blocks_hit;
|
|
187
180
|
} PgStat_TableCounts;
|
|
188
181
|
|
|
189
182
|
/* ----------
|
|
@@ -203,10 +196,10 @@ typedef struct PgStat_TableCounts
|
|
|
203
196
|
*/
|
|
204
197
|
typedef struct PgStat_TableStatus
|
|
205
198
|
{
|
|
206
|
-
Oid
|
|
207
|
-
bool
|
|
199
|
+
Oid id; /* table's OID */
|
|
200
|
+
bool shared; /* is it a shared catalog? */
|
|
208
201
|
struct PgStat_TableXactStatus *trans; /* lowest subxact's counts */
|
|
209
|
-
PgStat_TableCounts
|
|
202
|
+
PgStat_TableCounts counts; /* event counts to be sent */
|
|
210
203
|
Relation relation; /* rel that is using this entry */
|
|
211
204
|
} PgStat_TableStatus;
|
|
212
205
|
|
|
@@ -242,7 +235,7 @@ typedef struct PgStat_TableXactStatus
|
|
|
242
235
|
* ------------------------------------------------------------
|
|
243
236
|
*/
|
|
244
237
|
|
|
245
|
-
#define PGSTAT_FILE_FORMAT_ID
|
|
238
|
+
#define PGSTAT_FILE_FORMAT_ID 0x01A5BCAC
|
|
246
239
|
|
|
247
240
|
typedef struct PgStat_ArchiverStats
|
|
248
241
|
{
|
|
@@ -276,56 +269,101 @@ typedef struct PgStat_CheckpointerStats
|
|
|
276
269
|
PgStat_Counter buf_fsync_backend;
|
|
277
270
|
} PgStat_CheckpointerStats;
|
|
278
271
|
|
|
272
|
+
|
|
273
|
+
/*
|
|
274
|
+
* Types related to counting IO operations
|
|
275
|
+
*/
|
|
276
|
+
typedef enum IOObject
|
|
277
|
+
{
|
|
278
|
+
IOOBJECT_RELATION,
|
|
279
|
+
IOOBJECT_TEMP_RELATION,
|
|
280
|
+
} IOObject;
|
|
281
|
+
|
|
282
|
+
#define IOOBJECT_NUM_TYPES (IOOBJECT_TEMP_RELATION + 1)
|
|
283
|
+
|
|
284
|
+
typedef enum IOContext
|
|
285
|
+
{
|
|
286
|
+
IOCONTEXT_BULKREAD,
|
|
287
|
+
IOCONTEXT_BULKWRITE,
|
|
288
|
+
IOCONTEXT_NORMAL,
|
|
289
|
+
IOCONTEXT_VACUUM,
|
|
290
|
+
} IOContext;
|
|
291
|
+
|
|
292
|
+
#define IOCONTEXT_NUM_TYPES (IOCONTEXT_VACUUM + 1)
|
|
293
|
+
|
|
294
|
+
typedef enum IOOp
|
|
295
|
+
{
|
|
296
|
+
IOOP_EVICT,
|
|
297
|
+
IOOP_EXTEND,
|
|
298
|
+
IOOP_FSYNC,
|
|
299
|
+
IOOP_HIT,
|
|
300
|
+
IOOP_READ,
|
|
301
|
+
IOOP_REUSE,
|
|
302
|
+
IOOP_WRITE,
|
|
303
|
+
IOOP_WRITEBACK,
|
|
304
|
+
} IOOp;
|
|
305
|
+
|
|
306
|
+
#define IOOP_NUM_TYPES (IOOP_WRITEBACK + 1)
|
|
307
|
+
|
|
308
|
+
typedef struct PgStat_BktypeIO
|
|
309
|
+
{
|
|
310
|
+
PgStat_Counter counts[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES];
|
|
311
|
+
PgStat_Counter times[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES];
|
|
312
|
+
} PgStat_BktypeIO;
|
|
313
|
+
|
|
314
|
+
typedef struct PgStat_IO
|
|
315
|
+
{
|
|
316
|
+
TimestampTz stat_reset_timestamp;
|
|
317
|
+
PgStat_BktypeIO stats[BACKEND_NUM_TYPES];
|
|
318
|
+
} PgStat_IO;
|
|
319
|
+
|
|
320
|
+
|
|
279
321
|
typedef struct PgStat_StatDBEntry
|
|
280
322
|
{
|
|
281
|
-
PgStat_Counter
|
|
282
|
-
PgStat_Counter
|
|
283
|
-
PgStat_Counter
|
|
284
|
-
PgStat_Counter
|
|
285
|
-
PgStat_Counter
|
|
286
|
-
PgStat_Counter
|
|
287
|
-
PgStat_Counter
|
|
288
|
-
PgStat_Counter
|
|
289
|
-
PgStat_Counter
|
|
323
|
+
PgStat_Counter xact_commit;
|
|
324
|
+
PgStat_Counter xact_rollback;
|
|
325
|
+
PgStat_Counter blocks_fetched;
|
|
326
|
+
PgStat_Counter blocks_hit;
|
|
327
|
+
PgStat_Counter tuples_returned;
|
|
328
|
+
PgStat_Counter tuples_fetched;
|
|
329
|
+
PgStat_Counter tuples_inserted;
|
|
330
|
+
PgStat_Counter tuples_updated;
|
|
331
|
+
PgStat_Counter tuples_deleted;
|
|
290
332
|
TimestampTz last_autovac_time;
|
|
291
|
-
PgStat_Counter
|
|
292
|
-
PgStat_Counter
|
|
293
|
-
PgStat_Counter
|
|
294
|
-
PgStat_Counter
|
|
295
|
-
PgStat_Counter
|
|
296
|
-
PgStat_Counter
|
|
297
|
-
PgStat_Counter
|
|
298
|
-
PgStat_Counter
|
|
299
|
-
PgStat_Counter
|
|
333
|
+
PgStat_Counter conflict_tablespace;
|
|
334
|
+
PgStat_Counter conflict_lock;
|
|
335
|
+
PgStat_Counter conflict_snapshot;
|
|
336
|
+
PgStat_Counter conflict_logicalslot;
|
|
337
|
+
PgStat_Counter conflict_bufferpin;
|
|
338
|
+
PgStat_Counter conflict_startup_deadlock;
|
|
339
|
+
PgStat_Counter temp_files;
|
|
340
|
+
PgStat_Counter temp_bytes;
|
|
341
|
+
PgStat_Counter deadlocks;
|
|
342
|
+
PgStat_Counter checksum_failures;
|
|
300
343
|
TimestampTz last_checksum_failure;
|
|
301
|
-
PgStat_Counter
|
|
302
|
-
PgStat_Counter
|
|
303
|
-
PgStat_Counter
|
|
304
|
-
PgStat_Counter
|
|
305
|
-
PgStat_Counter
|
|
306
|
-
PgStat_Counter
|
|
307
|
-
PgStat_Counter
|
|
308
|
-
PgStat_Counter
|
|
309
|
-
PgStat_Counter
|
|
344
|
+
PgStat_Counter blk_read_time; /* times in microseconds */
|
|
345
|
+
PgStat_Counter blk_write_time;
|
|
346
|
+
PgStat_Counter sessions;
|
|
347
|
+
PgStat_Counter session_time;
|
|
348
|
+
PgStat_Counter active_time;
|
|
349
|
+
PgStat_Counter idle_in_transaction_time;
|
|
350
|
+
PgStat_Counter sessions_abandoned;
|
|
351
|
+
PgStat_Counter sessions_fatal;
|
|
352
|
+
PgStat_Counter sessions_killed;
|
|
310
353
|
|
|
311
354
|
TimestampTz stat_reset_timestamp;
|
|
312
355
|
} PgStat_StatDBEntry;
|
|
313
356
|
|
|
314
357
|
typedef struct PgStat_StatFuncEntry
|
|
315
358
|
{
|
|
316
|
-
PgStat_Counter
|
|
359
|
+
PgStat_Counter numcalls;
|
|
317
360
|
|
|
318
|
-
PgStat_Counter
|
|
319
|
-
PgStat_Counter
|
|
361
|
+
PgStat_Counter total_time; /* times in microseconds */
|
|
362
|
+
PgStat_Counter self_time;
|
|
320
363
|
} PgStat_StatFuncEntry;
|
|
321
364
|
|
|
322
365
|
typedef struct PgStat_StatReplSlotEntry
|
|
323
366
|
{
|
|
324
|
-
/*
|
|
325
|
-
* In PG 15 this field is unused, but not removed, to avoid changing
|
|
326
|
-
* PGSTAT_FILE_FORMAT_ID.
|
|
327
|
-
*/
|
|
328
|
-
NameData slotname_unused;
|
|
329
367
|
PgStat_Counter spill_txns;
|
|
330
368
|
PgStat_Counter spill_count;
|
|
331
369
|
PgStat_Counter spill_bytes;
|
|
@@ -359,6 +397,7 @@ typedef struct PgStat_StatSubEntry
|
|
|
359
397
|
typedef struct PgStat_StatTabEntry
|
|
360
398
|
{
|
|
361
399
|
PgStat_Counter numscans;
|
|
400
|
+
TimestampTz lastscan;
|
|
362
401
|
|
|
363
402
|
PgStat_Counter tuples_returned;
|
|
364
403
|
PgStat_Counter tuples_fetched;
|
|
@@ -367,23 +406,24 @@ typedef struct PgStat_StatTabEntry
|
|
|
367
406
|
PgStat_Counter tuples_updated;
|
|
368
407
|
PgStat_Counter tuples_deleted;
|
|
369
408
|
PgStat_Counter tuples_hot_updated;
|
|
409
|
+
PgStat_Counter tuples_newpage_updated;
|
|
370
410
|
|
|
371
|
-
PgStat_Counter
|
|
372
|
-
PgStat_Counter
|
|
373
|
-
PgStat_Counter
|
|
374
|
-
PgStat_Counter
|
|
411
|
+
PgStat_Counter live_tuples;
|
|
412
|
+
PgStat_Counter dead_tuples;
|
|
413
|
+
PgStat_Counter mod_since_analyze;
|
|
414
|
+
PgStat_Counter ins_since_vacuum;
|
|
375
415
|
|
|
376
416
|
PgStat_Counter blocks_fetched;
|
|
377
417
|
PgStat_Counter blocks_hit;
|
|
378
418
|
|
|
379
|
-
TimestampTz
|
|
419
|
+
TimestampTz last_vacuum_time; /* user initiated vacuum */
|
|
380
420
|
PgStat_Counter vacuum_count;
|
|
381
|
-
TimestampTz
|
|
382
|
-
PgStat_Counter
|
|
383
|
-
TimestampTz
|
|
421
|
+
TimestampTz last_autovacuum_time; /* autovacuum initiated */
|
|
422
|
+
PgStat_Counter autovacuum_count;
|
|
423
|
+
TimestampTz last_analyze_time; /* user initiated */
|
|
384
424
|
PgStat_Counter analyze_count;
|
|
385
|
-
TimestampTz
|
|
386
|
-
PgStat_Counter
|
|
425
|
+
TimestampTz last_autoanalyze_time; /* autovacuum initiated */
|
|
426
|
+
PgStat_Counter autoanalyze_count;
|
|
387
427
|
} PgStat_StatTabEntry;
|
|
388
428
|
|
|
389
429
|
typedef struct PgStat_WalStats
|
|
@@ -399,6 +439,21 @@ typedef struct PgStat_WalStats
|
|
|
399
439
|
TimestampTz stat_reset_timestamp;
|
|
400
440
|
} PgStat_WalStats;
|
|
401
441
|
|
|
442
|
+
/*
|
|
443
|
+
* This struct stores wal-related durations as instr_time, which makes it
|
|
444
|
+
* cheaper and easier to accumulate them, by not requiring type
|
|
445
|
+
* conversions. During stats flush instr_time will be converted into
|
|
446
|
+
* microseconds.
|
|
447
|
+
*/
|
|
448
|
+
typedef struct PgStat_PendingWalStats
|
|
449
|
+
{
|
|
450
|
+
PgStat_Counter wal_buffers_full;
|
|
451
|
+
PgStat_Counter wal_write;
|
|
452
|
+
PgStat_Counter wal_sync;
|
|
453
|
+
instr_time wal_write_time;
|
|
454
|
+
instr_time wal_sync_time;
|
|
455
|
+
} PgStat_PendingWalStats;
|
|
456
|
+
|
|
402
457
|
|
|
403
458
|
/*
|
|
404
459
|
* Functions in pgstat.c
|
|
@@ -421,7 +476,7 @@ extern long pgstat_report_stat(bool force);
|
|
|
421
476
|
extern void pgstat_force_next_flush(void);
|
|
422
477
|
|
|
423
478
|
extern void pgstat_reset_counters(void);
|
|
424
|
-
extern void pgstat_reset(PgStat_Kind kind, Oid dboid, Oid
|
|
479
|
+
extern void pgstat_reset(PgStat_Kind kind, Oid dboid, Oid objoid);
|
|
425
480
|
extern void pgstat_reset_of_kind(PgStat_Kind kind);
|
|
426
481
|
|
|
427
482
|
/* stats accessors */
|
|
@@ -457,6 +512,29 @@ extern void pgstat_report_checkpointer(void);
|
|
|
457
512
|
extern PgStat_CheckpointerStats *pgstat_fetch_stat_checkpointer(void);
|
|
458
513
|
|
|
459
514
|
|
|
515
|
+
/*
|
|
516
|
+
* Functions in pgstat_io.c
|
|
517
|
+
*/
|
|
518
|
+
|
|
519
|
+
extern bool pgstat_bktype_io_stats_valid(PgStat_BktypeIO *backend_io,
|
|
520
|
+
BackendType bktype);
|
|
521
|
+
extern void pgstat_count_io_op(IOObject io_object, IOContext io_context, IOOp io_op);
|
|
522
|
+
extern void pgstat_count_io_op_n(IOObject io_object, IOContext io_context, IOOp io_op, uint32 cnt);
|
|
523
|
+
extern instr_time pgstat_prepare_io_time(void);
|
|
524
|
+
extern void pgstat_count_io_op_time(IOObject io_object, IOContext io_context,
|
|
525
|
+
IOOp io_op, instr_time start_time, uint32 cnt);
|
|
526
|
+
|
|
527
|
+
extern PgStat_IO *pgstat_fetch_stat_io(void);
|
|
528
|
+
extern const char *pgstat_get_io_context_name(IOContext io_context);
|
|
529
|
+
extern const char *pgstat_get_io_object_name(IOObject io_object);
|
|
530
|
+
|
|
531
|
+
extern bool pgstat_tracks_io_bktype(BackendType bktype);
|
|
532
|
+
extern bool pgstat_tracks_io_object(BackendType bktype,
|
|
533
|
+
IOObject io_object, IOContext io_context);
|
|
534
|
+
extern bool pgstat_tracks_io_op(BackendType bktype, IOObject io_object,
|
|
535
|
+
IOContext io_context, IOOp io_op);
|
|
536
|
+
|
|
537
|
+
|
|
460
538
|
/*
|
|
461
539
|
* Functions in pgstat_database.c
|
|
462
540
|
*/
|
|
@@ -478,7 +556,8 @@ extern void pgstat_report_connect(Oid dboid);
|
|
|
478
556
|
#define pgstat_count_conn_txn_idle_time(n) \
|
|
479
557
|
(pgStatTransactionIdleTime += (n))
|
|
480
558
|
|
|
481
|
-
extern PgStat_StatDBEntry *pgstat_fetch_stat_dbentry(Oid
|
|
559
|
+
extern PgStat_StatDBEntry *pgstat_fetch_stat_dbentry(Oid dboid);
|
|
560
|
+
|
|
482
561
|
|
|
483
562
|
/*
|
|
484
563
|
* Functions in pgstat_function.c
|
|
@@ -493,8 +572,8 @@ extern void pgstat_init_function_usage(struct FunctionCallInfoBaseData *fcinfo,
|
|
|
493
572
|
extern void pgstat_end_function_usage(PgStat_FunctionCallUsage *fcu,
|
|
494
573
|
bool finalize);
|
|
495
574
|
|
|
496
|
-
extern PgStat_StatFuncEntry *pgstat_fetch_stat_funcentry(Oid
|
|
497
|
-
extern
|
|
575
|
+
extern PgStat_StatFuncEntry *pgstat_fetch_stat_funcentry(Oid func_id);
|
|
576
|
+
extern PgStat_FunctionCounts *find_funcstat_entry(Oid func_id);
|
|
498
577
|
|
|
499
578
|
|
|
500
579
|
/*
|
|
@@ -503,7 +582,7 @@ extern PgStat_BackendFunctionEntry *find_funcstat_entry(Oid func_id);
|
|
|
503
582
|
|
|
504
583
|
extern void pgstat_create_relation(Relation rel);
|
|
505
584
|
extern void pgstat_drop_relation(Relation rel);
|
|
506
|
-
extern void pgstat_copy_relation_stats(Relation
|
|
585
|
+
extern void pgstat_copy_relation_stats(Relation dst, Relation src);
|
|
507
586
|
|
|
508
587
|
extern void pgstat_init_relation(Relation rel);
|
|
509
588
|
extern void pgstat_assoc_relation(Relation rel);
|
|
@@ -529,41 +608,41 @@ extern void pgstat_report_analyze(Relation rel,
|
|
|
529
608
|
#define pgstat_count_heap_scan(rel) \
|
|
530
609
|
do { \
|
|
531
610
|
if (pgstat_should_count_relation(rel)) \
|
|
532
|
-
(rel)->pgstat_info->
|
|
611
|
+
(rel)->pgstat_info->counts.numscans++; \
|
|
533
612
|
} while (0)
|
|
534
613
|
#define pgstat_count_heap_getnext(rel) \
|
|
535
614
|
do { \
|
|
536
615
|
if (pgstat_should_count_relation(rel)) \
|
|
537
|
-
(rel)->pgstat_info->
|
|
616
|
+
(rel)->pgstat_info->counts.tuples_returned++; \
|
|
538
617
|
} while (0)
|
|
539
618
|
#define pgstat_count_heap_fetch(rel) \
|
|
540
619
|
do { \
|
|
541
620
|
if (pgstat_should_count_relation(rel)) \
|
|
542
|
-
(rel)->pgstat_info->
|
|
621
|
+
(rel)->pgstat_info->counts.tuples_fetched++; \
|
|
543
622
|
} while (0)
|
|
544
623
|
#define pgstat_count_index_scan(rel) \
|
|
545
624
|
do { \
|
|
546
625
|
if (pgstat_should_count_relation(rel)) \
|
|
547
|
-
(rel)->pgstat_info->
|
|
626
|
+
(rel)->pgstat_info->counts.numscans++; \
|
|
548
627
|
} while (0)
|
|
549
628
|
#define pgstat_count_index_tuples(rel, n) \
|
|
550
629
|
do { \
|
|
551
630
|
if (pgstat_should_count_relation(rel)) \
|
|
552
|
-
(rel)->pgstat_info->
|
|
631
|
+
(rel)->pgstat_info->counts.tuples_returned += (n); \
|
|
553
632
|
} while (0)
|
|
554
633
|
#define pgstat_count_buffer_read(rel) \
|
|
555
634
|
do { \
|
|
556
635
|
if (pgstat_should_count_relation(rel)) \
|
|
557
|
-
(rel)->pgstat_info->
|
|
636
|
+
(rel)->pgstat_info->counts.blocks_fetched++; \
|
|
558
637
|
} while (0)
|
|
559
638
|
#define pgstat_count_buffer_hit(rel) \
|
|
560
639
|
do { \
|
|
561
640
|
if (pgstat_should_count_relation(rel)) \
|
|
562
|
-
(rel)->pgstat_info->
|
|
641
|
+
(rel)->pgstat_info->counts.blocks_hit++; \
|
|
563
642
|
} while (0)
|
|
564
643
|
|
|
565
644
|
extern void pgstat_count_heap_insert(Relation rel, PgStat_Counter n);
|
|
566
|
-
extern void pgstat_count_heap_update(Relation rel, bool hot);
|
|
645
|
+
extern void pgstat_count_heap_update(Relation rel, bool hot, bool newpage);
|
|
567
646
|
extern void pgstat_count_heap_delete(Relation rel);
|
|
568
647
|
extern void pgstat_count_truncate(Relation rel);
|
|
569
648
|
extern void pgstat_update_heap_dead_tuples(Relation rel, int delta);
|
|
@@ -575,7 +654,7 @@ extern void pgstat_twophase_postabort(TransactionId xid, uint16 info,
|
|
|
575
654
|
|
|
576
655
|
extern PgStat_StatTabEntry *pgstat_fetch_stat_tabentry(Oid relid);
|
|
577
656
|
extern PgStat_StatTabEntry *pgstat_fetch_stat_tabentry_ext(bool shared,
|
|
578
|
-
Oid
|
|
657
|
+
Oid reloid);
|
|
579
658
|
extern PgStat_TableStatus *find_tabstat_entry(Oid rel_id);
|
|
580
659
|
|
|
581
660
|
|
|
@@ -685,7 +764,7 @@ extern PGDLLIMPORT PgStat_Counter pgStatActiveTime;
|
|
|
685
764
|
extern PGDLLIMPORT PgStat_Counter pgStatTransactionIdleTime;
|
|
686
765
|
|
|
687
766
|
/* updated by the traffic cop and in errfinish() */
|
|
688
|
-
extern PGDLLIMPORT __thread
|
|
767
|
+
extern PGDLLIMPORT __thread SessionEndType pgStatSessionEndCause;
|
|
689
768
|
|
|
690
769
|
|
|
691
770
|
/*
|
|
@@ -693,7 +772,7 @@ extern PGDLLIMPORT __thread SessionEndType pgStatSessionEndCause;
|
|
|
693
772
|
*/
|
|
694
773
|
|
|
695
774
|
/* updated directly by backends and background processes */
|
|
696
|
-
extern PGDLLIMPORT
|
|
775
|
+
extern PGDLLIMPORT PgStat_PendingWalStats PendingWalStats;
|
|
697
776
|
|
|
698
777
|
|
|
699
778
|
#endif /* PGSTAT_H */
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pgtime.h
|
|
4
4
|
* PostgreSQL internal timezone library
|
|
5
5
|
*
|
|
6
|
-
* Portions Copyright (c) 1996-
|
|
6
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
7
7
|
*
|
|
8
8
|
* IDENTIFICATION
|
|
9
9
|
* src/include/pgtime.h
|
|
@@ -75,8 +75,8 @@ extern bool pg_tz_acceptable(pg_tz *tz);
|
|
|
75
75
|
|
|
76
76
|
/* these functions are in strftime.c */
|
|
77
77
|
|
|
78
|
-
extern size_t pg_strftime(char *s, size_t
|
|
79
|
-
const struct pg_tm *
|
|
78
|
+
extern size_t pg_strftime(char *s, size_t maxsize, const char *format,
|
|
79
|
+
const struct pg_tm *t);
|
|
80
80
|
|
|
81
81
|
/* these functions and variables are in pgtz.c */
|
|
82
82
|
|