pg_query 2.0.3 → 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 +165 -0
- data/README.md +67 -29
- data/Rakefile +8 -23
- data/ext/pg_query/extconf.rb +21 -3
- data/ext/pg_query/include/pg_query.h +29 -4
- data/ext/pg_query/include/pg_query_enum_defs.c +551 -272
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +563 -470
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +5403 -3945
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +402 -330
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +1319 -1059
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +141 -118
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +1685 -1379
- data/ext/pg_query/include/{access → postgres/access}/amapi.h +47 -1
- data/ext/pg_query/include/{access → postgres/access}/attmap.h +5 -3
- data/ext/pg_query/include/{access → postgres/access}/attnum.h +2 -2
- data/ext/pg_query/include/{access → postgres/access}/clog.h +4 -2
- data/ext/pg_query/include/{access → postgres/access}/commit_ts.h +6 -9
- data/ext/pg_query/include/{access → postgres/access}/detoast.h +1 -11
- data/ext/pg_query/include/{access → postgres/access}/genam.h +21 -16
- data/ext/pg_query/include/{access → postgres/access}/gin.h +17 -4
- data/ext/pg_query/include/{access → postgres/access}/htup.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/htup_details.h +80 -88
- data/ext/pg_query/include/{access → postgres/access}/itup.h +61 -52
- 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 +17 -2
- data/ext/pg_query/include/postgres/access/rmgr.h +62 -0
- data/ext/pg_query/include/{access → postgres/access}/rmgrlist.h +24 -24
- 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 +4 -2
- data/ext/pg_query/include/{access → postgres/access}/sysattr.h +1 -1
- data/ext/pg_query/include/{access → postgres/access}/table.h +2 -1
- data/ext/pg_query/include/{access → postgres/access}/tableam.h +337 -62
- data/ext/pg_query/include/postgres/access/toast_compression.h +73 -0
- data/ext/pg_query/include/{access → postgres/access}/transam.h +123 -13
- 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 +60 -100
- data/ext/pg_query/include/{access → postgres/access}/twophase.h +5 -1
- data/ext/pg_query/include/{access → postgres/access}/xact.h +99 -32
- data/ext/pg_query/include/{access → postgres/access}/xlog.h +69 -165
- data/ext/pg_query/include/{access → postgres/access}/xlog_internal.h +147 -73
- data/ext/pg_query/include/postgres/access/xlogbackup.h +41 -0
- data/ext/pg_query/include/{access → postgres/access}/xlogdefs.h +13 -40
- data/ext/pg_query/include/postgres/access/xlogprefetcher.h +55 -0
- data/ext/pg_query/include/{access → postgres/access}/xlogreader.h +154 -37
- data/ext/pg_query/include/{access → postgres/access}/xlogrecord.h +34 -13
- data/ext/pg_query/include/postgres/access/xlogrecovery.h +158 -0
- data/ext/pg_query/include/postgres/archive/archive_module.h +59 -0
- data/ext/pg_query/include/{c.h → postgres/c.h} +245 -188
- data/ext/pg_query/include/{catalog → postgres/catalog}/catalog.h +6 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/catversion.h +6 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/dependency.h +14 -19
- data/ext/pg_query/include/postgres/catalog/genbki.h +143 -0
- data/ext/pg_query/include/{catalog → postgres/catalog}/index.h +20 -5
- data/ext/pg_query/include/postgres/catalog/indexing.h +54 -0
- data/ext/pg_query/include/{catalog → postgres/catalog}/namespace.h +5 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/objectaccess.h +73 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/objectaddress.h +12 -7
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate.h +14 -10
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate_d.h +2 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am.h +4 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute.h +45 -26
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute_d.h +19 -16
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid.h +7 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid_d.h +19 -9
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class.h +45 -15
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class_d.h +31 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation.h +35 -8
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation_d.h +21 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint.h +39 -13
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint_d.h +10 -4
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_control.h +13 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion.h +8 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion_d.h +4 -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 +11 -7
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger.h +9 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index.h +17 -7
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index_d.h +20 -17
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language.h +10 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace.h +7 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass.h +8 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator.h +21 -16
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator_d.h +37 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily.h +8 -4
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily_d.h +6 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table.h +20 -9
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table_d.h +2 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc.h +20 -11
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc_d.h +10 -8
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication.h +49 -6
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin.h +6 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin_d.h +5 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic.h +19 -12
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_d.h +2 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext.h +19 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext_d.h +7 -2
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform.h +8 -5
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger.h +24 -8
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger_d.h +4 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config.h +6 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict.h +8 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser.h +6 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template.h +6 -3
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template_d.h +3 -1
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type.h +56 -24
- data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type_d.h +70 -31
- data/ext/pg_query/include/{catalog → postgres/catalog}/storage.h +9 -7
- data/ext/pg_query/include/{commands → postgres/commands}/async.h +4 -5
- data/ext/pg_query/include/{commands → postgres/commands}/dbcommands.h +3 -1
- data/ext/pg_query/include/{commands → postgres/commands}/defrem.h +12 -24
- data/ext/pg_query/include/{commands → postgres/commands}/event_trigger.h +2 -2
- 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 +6 -4
- data/ext/pg_query/include/{commands → postgres/commands}/trigger.h +36 -25
- data/ext/pg_query/include/{commands → postgres/commands}/user.h +10 -4
- data/ext/pg_query/include/{commands → postgres/commands}/vacuum.h +140 -47
- data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
- data/ext/pg_query/include/{common → postgres/common}/file_perm.h +4 -4
- 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 +2 -6
- data/ext/pg_query/include/{common → postgres/common}/kwlookup.h +2 -2
- data/ext/pg_query/include/postgres/common/pg_prng.h +61 -0
- data/ext/pg_query/include/{common → postgres/common}/relpath.h +21 -14
- 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/postgres/common/string.h +44 -0
- data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +125 -0
- data/ext/pg_query/include/{common/unicode_combining_table.h → postgres/common/unicode_nonspacing_table.h} +138 -8
- 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 +50 -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 +98 -32
- data/ext/pg_query/include/{executor → postgres/executor}/functions.h +17 -3
- data/ext/pg_query/include/{executor → postgres/executor}/instrument.h +33 -16
- data/ext/pg_query/include/{executor → postgres/executor}/spi.h +42 -4
- 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} +33 -8
- data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
- data/ext/pg_query/include/{funcapi.h → postgres/funcapi.h} +22 -10
- 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 +12 -12
- data/ext/pg_query/include/postgres/kwlist_d.h +1119 -0
- data/ext/pg_query/include/postgres/lib/dshash.h +115 -0
- data/ext/pg_query/include/{lib → postgres/lib}/ilist.h +454 -22
- data/ext/pg_query/include/{lib → postgres/lib}/pairingheap.h +1 -1
- data/ext/pg_query/include/{lib → postgres/lib}/simplehash.h +158 -33
- data/ext/pg_query/include/postgres/lib/sort_template.h +432 -0
- data/ext/pg_query/include/{lib → postgres/lib}/stringinfo.h +3 -3
- data/ext/pg_query/include/{libpq → postgres/libpq}/auth.h +12 -4
- data/ext/pg_query/include/{libpq → postgres/libpq}/crypt.h +5 -4
- data/ext/pg_query/include/{libpq → postgres/libpq}/hba.h +54 -8
- data/ext/pg_query/include/{libpq → postgres/libpq}/libpq-be.h +45 -17
- data/ext/pg_query/include/{libpq → postgres/libpq}/libpq.h +31 -20
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqcomm.h +26 -71
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqformat.h +2 -2
- data/ext/pg_query/include/{libpq → postgres/libpq}/pqsignal.h +25 -13
- 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 +125 -25
- data/ext/pg_query/include/{mb → postgres/mb}/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/{miscadmin.h → postgres/miscadmin.h} +96 -65
- data/ext/pg_query/include/{nodes → postgres/nodes}/bitmapset.h +11 -7
- data/ext/pg_query/include/{nodes → postgres/nodes}/execnodes.h +351 -103
- data/ext/pg_query/include/{nodes → postgres/nodes}/extensible.h +8 -4
- data/ext/pg_query/include/{nodes → postgres/nodes}/lockoptions.h +1 -1
- data/ext/pg_query/include/{nodes → postgres/nodes}/makefuncs.h +19 -6
- data/ext/pg_query/include/{nodes → postgres/nodes}/memnodes.h +11 -6
- 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 +100 -496
- 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 +678 -207
- data/ext/pg_query/include/{nodes → postgres/nodes}/pathnodes.h +1282 -454
- data/ext/pg_query/include/{nodes → postgres/nodes}/pg_list.h +103 -73
- data/ext/pg_query/include/{nodes → postgres/nodes}/plannodes.h +474 -133
- data/ext/pg_query/include/{nodes → postgres/nodes}/primnodes.h +754 -254
- data/ext/pg_query/include/{nodes → postgres/nodes}/print.h +1 -1
- data/ext/pg_query/include/postgres/nodes/queryjumble.h +86 -0
- 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/postgres/nodes/value.h +90 -0
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/cost.h +14 -5
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo.h +9 -7
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo_gene.h +1 -1
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/optimizer.h +31 -28
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/paths.h +29 -12
- data/ext/pg_query/include/{optimizer → postgres/optimizer}/planmain.h +15 -17
- data/ext/pg_query/include/{parser → postgres/parser}/analyze.h +20 -5
- data/ext/pg_query/include/postgres/parser/kwlist.h +498 -0
- data/ext/pg_query/include/{parser → postgres/parser}/parse_agg.h +5 -8
- data/ext/pg_query/include/{parser → postgres/parser}/parse_coerce.h +6 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_expr.h +2 -3
- data/ext/pg_query/include/{parser → postgres/parser}/parse_func.h +2 -1
- data/ext/pg_query/include/{parser → postgres/parser}/parse_node.h +41 -11
- data/ext/pg_query/include/{parser → postgres/parser}/parse_oper.h +3 -5
- data/ext/pg_query/include/{parser → postgres/parser}/parse_relation.h +11 -5
- data/ext/pg_query/include/{parser → postgres/parser}/parse_type.h +4 -3
- data/ext/pg_query/include/postgres/parser/parser.h +68 -0
- 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 +2 -5
- data/ext/pg_query/include/{partitioning → postgres/partitioning}/partdefs.h +1 -1
- data/ext/pg_query/include/{pg_config.h → postgres/pg_config.h} +216 -228
- data/ext/pg_query/include/{pg_config_manual.h → postgres/pg_config_manual.h} +80 -58
- data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
- data/ext/pg_query/include/{pg_getopt.h → postgres/pg_getopt.h} +6 -6
- data/ext/pg_query/include/{pg_trace.h → postgres/pg_trace.h} +1 -1
- data/ext/pg_query/include/postgres/pgstat.h +778 -0
- data/ext/pg_query/include/{pgtime.h → postgres/pgtime.h} +16 -6
- data/ext/pg_query/include/{pl_gram.h → postgres/pl_gram.h} +116 -116
- 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} +10 -10
- data/ext/pg_query/include/{pl_unreserved_kwlist.h → postgres/pl_unreserved_kwlist.h} +3 -3
- data/ext/pg_query/include/{pl_unreserved_kwlist_d.h → postgres/pl_unreserved_kwlist_d.h} +60 -60
- data/ext/pg_query/include/{plerrcodes.h → postgres/plerrcodes.h} +9 -1
- data/ext/pg_query/include/{plpgsql.h → postgres/plpgsql.h} +79 -86
- data/ext/pg_query/include/{port → postgres/port}/atomics/arch-arm.h +9 -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 +3 -3
- 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 +129 -16
- 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} +107 -111
- 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 +17 -20
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker.h +3 -2
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker_internals.h +2 -2
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgwriter.h +6 -6
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/interrupt.h +1 -1
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/pgarch.h +7 -10
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/postmaster.h +21 -17
- data/ext/pg_query/include/postgres/postmaster/startup.h +41 -0
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/syslogger.h +16 -11
- data/ext/pg_query/include/{postmaster → postgres/postmaster}/walwriter.h +5 -3
- data/ext/pg_query/include/{regex → postgres/regex}/regex.h +27 -22
- data/ext/pg_query/include/{replication → postgres/replication}/logicallauncher.h +8 -5
- data/ext/pg_query/include/postgres/replication/logicalproto.h +274 -0
- data/ext/pg_query/include/postgres/replication/logicalworker.h +32 -0
- data/ext/pg_query/include/{replication → postgres/replication}/origin.h +8 -8
- data/ext/pg_query/include/postgres/replication/reorderbuffer.h +753 -0
- data/ext/pg_query/include/{replication → postgres/replication}/slot.h +42 -12
- data/ext/pg_query/include/{replication → postgres/replication}/syncrep.h +6 -12
- data/ext/pg_query/include/{replication → postgres/replication}/walreceiver.h +158 -20
- data/ext/pg_query/include/{replication → postgres/replication}/walsender.h +20 -20
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/prs2lock.h +1 -1
- data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteHandler.h +1 -6
- 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 +3 -3
- data/ext/pg_query/include/{storage → postgres/storage}/block.h +24 -37
- data/ext/pg_query/include/{storage → postgres/storage}/buf.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/bufmgr.h +196 -95
- data/ext/pg_query/include/{storage → postgres/storage}/bufpage.h +152 -101
- data/ext/pg_query/include/{storage → postgres/storage}/condition_variable.h +14 -3
- data/ext/pg_query/include/{storage → postgres/storage}/dsm.h +6 -6
- data/ext/pg_query/include/{storage → postgres/storage}/dsm_impl.h +6 -2
- data/ext/pg_query/include/{storage → postgres/storage}/fd.h +48 -14
- data/ext/pg_query/include/postgres/storage/fileset.h +40 -0
- data/ext/pg_query/include/{storage → postgres/storage}/ipc.h +5 -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 +96 -57
- data/ext/pg_query/include/{storage → postgres/storage}/large_object.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/latch.h +17 -13
- data/ext/pg_query/include/{storage → postgres/storage}/lmgr.h +7 -1
- data/ext/pg_query/include/{storage → postgres/storage}/lock.h +37 -25
- data/ext/pg_query/include/{storage → postgres/storage}/lockdefs.h +4 -4
- data/ext/pg_query/include/{storage → postgres/storage}/lwlock.h +21 -33
- data/ext/pg_query/include/{storage → postgres/storage}/lwlocknames.h +0 -1
- 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 +9 -7
- data/ext/pg_query/include/{storage → postgres/storage}/pmsignal.h +15 -4
- data/ext/pg_query/include/{storage → postgres/storage}/predicate.h +5 -5
- data/ext/pg_query/include/{storage → postgres/storage}/proc.h +200 -67
- data/ext/pg_query/include/postgres/storage/procarray.h +99 -0
- data/ext/pg_query/include/{storage → postgres/storage}/proclist_types.h +1 -1
- data/ext/pg_query/include/{storage → postgres/storage}/procsignal.h +5 -7
- data/ext/pg_query/include/postgres/storage/relfilelocator.h +99 -0
- data/ext/pg_query/include/{storage → postgres/storage}/s_lock.h +118 -298
- data/ext/pg_query/include/{storage → postgres/storage}/sharedfileset.h +3 -11
- data/ext/pg_query/include/{storage → postgres/storage}/shm_mq.h +5 -4
- 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 +5 -5
- data/ext/pg_query/include/{storage → postgres/storage}/sinvaladt.h +4 -2
- data/ext/pg_query/include/{storage → postgres/storage}/smgr.h +21 -17
- data/ext/pg_query/include/{storage → postgres/storage}/spin.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/standby.h +17 -9
- data/ext/pg_query/include/{storage → postgres/storage}/standbydefs.h +2 -2
- data/ext/pg_query/include/{storage → postgres/storage}/sync.h +9 -5
- data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtag.h +7 -2
- data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtaglist.h +3 -2
- 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 -2
- data/ext/pg_query/include/{tcop → postgres/tcop}/pquery.h +7 -1
- data/ext/pg_query/include/{tcop → postgres/tcop}/tcopprot.h +19 -14
- data/ext/pg_query/include/{tcop → postgres/tcop}/utility.h +7 -3
- data/ext/pg_query/include/{tsearch → postgres/tsearch}/ts_cache.h +3 -5
- data/ext/pg_query/include/{utils → postgres/utils}/acl.h +37 -71
- data/ext/pg_query/include/{utils → postgres/utils}/aclchk_internal.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/array.h +26 -2
- data/ext/pg_query/include/postgres/utils/backend_progress.h +45 -0
- data/ext/pg_query/include/postgres/utils/backend_status.h +342 -0
- data/ext/pg_query/include/{utils → postgres/utils}/builtins.h +20 -11
- data/ext/pg_query/include/{utils → postgres/utils}/bytea.h +3 -2
- 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 +48 -27
- data/ext/pg_query/include/{utils → postgres/utils}/datum.h +9 -1
- data/ext/pg_query/include/{utils → postgres/utils}/dsa.h +5 -1
- data/ext/pg_query/include/{utils → postgres/utils}/elog.h +154 -48
- data/ext/pg_query/include/{utils → postgres/utils}/errcodes.h +2 -0
- 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 +13 -12
- data/ext/pg_query/include/{utils → postgres/utils}/fmgroids.h +1353 -696
- data/ext/pg_query/include/{utils → postgres/utils}/fmgrprotos.h +243 -18
- data/ext/pg_query/include/{utils → postgres/utils}/fmgrtab.h +6 -5
- data/ext/pg_query/include/{utils → postgres/utils}/guc.h +120 -121
- data/ext/pg_query/include/postgres/utils/guc_hooks.h +163 -0
- data/ext/pg_query/include/{utils → postgres/utils}/guc_tables.h +71 -21
- data/ext/pg_query/include/{utils → postgres/utils}/hsearch.h +15 -11
- data/ext/pg_query/include/{utils → postgres/utils}/inval.h +7 -3
- data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
- data/ext/pg_query/include/{utils → postgres/utils}/lsyscache.h +16 -1
- data/ext/pg_query/include/{utils → postgres/utils}/memdebug.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/memutils.h +14 -53
- 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 +38 -9
- data/ext/pg_query/include/{utils → postgres/utils}/palloc.h +33 -4
- data/ext/pg_query/include/{utils → postgres/utils}/partcache.h +3 -2
- data/ext/pg_query/include/{utils → postgres/utils}/pg_locale.h +37 -21
- data/ext/pg_query/include/postgres/utils/pgstat_internal.h +814 -0
- data/ext/pg_query/include/{utils → postgres/utils}/plancache.h +6 -5
- data/ext/pg_query/include/{utils → postgres/utils}/portal.h +12 -1
- data/ext/pg_query/include/{utils → postgres/utils}/probes.h +59 -59
- 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/postgres/utils/regproc.h +39 -0
- data/ext/pg_query/include/{utils → postgres/utils}/rel.h +129 -61
- data/ext/pg_query/include/{utils → postgres/utils}/relcache.h +21 -14
- 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 +9 -1
- data/ext/pg_query/include/{utils → postgres/utils}/sharedtuplestore.h +1 -1
- data/ext/pg_query/include/{utils → postgres/utils}/snapmgr.h +38 -15
- data/ext/pg_query/include/{utils → postgres/utils}/snapshot.h +14 -1
- data/ext/pg_query/include/{utils → postgres/utils}/sortsupport.h +117 -2
- data/ext/pg_query/include/{utils → postgres/utils}/syscache.h +9 -1
- data/ext/pg_query/include/{utils → postgres/utils}/timeout.h +11 -4
- data/ext/pg_query/include/{utils → postgres/utils}/timestamp.h +46 -15
- data/ext/pg_query/include/{utils → postgres/utils}/tuplesort.h +209 -41
- data/ext/pg_query/include/{utils → postgres/utils}/tuplestore.h +2 -2
- data/ext/pg_query/include/{utils → postgres/utils}/typcache.h +24 -17
- data/ext/pg_query/include/{utils → postgres/utils}/varlena.h +17 -3
- data/ext/pg_query/include/postgres/utils/wait_event.h +294 -0
- data/ext/pg_query/include/{utils → postgres/utils}/xml.h +18 -8
- data/ext/pg_query/include/{postgres.h → postgres/varatt.h} +65 -471
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +7494 -6382
- data/ext/pg_query/include/protobuf/pg_query.pb.h +116922 -84792
- data/ext/pg_query/include/protobuf-c/protobuf-c.h +7 -3
- data/ext/pg_query/include/protobuf-c.h +7 -3
- data/ext/pg_query/pg_query.c +10 -1
- data/ext/pg_query/pg_query.pb-c.c +21026 -17002
- data/ext/pg_query/pg_query_deparse.c +1 -9896
- data/ext/pg_query/pg_query_fingerprint.c +162 -50
- data/ext/pg_query/pg_query_fingerprint.h +3 -1
- data/ext/pg_query/pg_query_internal.h +1 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +56 -12
- data/ext/pg_query/pg_query_normalize.c +259 -64
- data/ext/pg_query/pg_query_outfuncs.h +1 -0
- data/ext/pg_query/pg_query_outfuncs_json.c +71 -16
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +73 -12
- data/ext/pg_query/pg_query_parse.c +47 -5
- data/ext/pg_query/pg_query_parse_plpgsql.c +86 -21
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +43 -8
- data/ext/pg_query/pg_query_ruby.c +6 -1
- data/ext/pg_query/pg_query_ruby_freebsd.sym +2 -0
- data/ext/pg_query/pg_query_scan.c +3 -2
- data/ext/pg_query/pg_query_split.c +6 -5
- data/ext/pg_query/postgres_deparse.c +11067 -0
- data/ext/pg_query/postgres_deparse.h +9 -0
- data/ext/pg_query/protobuf-c.c +34 -27
- data/ext/pg_query/src_backend_catalog_namespace.c +27 -10
- data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
- data/ext/pg_query/src_backend_commands_define.c +11 -1
- data/ext/pg_query/src_backend_nodes_bitmapset.c +13 -70
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +103 -5894
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +102 -3830
- data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
- data/ext/pg_query/src_backend_nodes_list.c +99 -12
- data/ext/pg_query/src_backend_nodes_makefuncs.c +99 -4
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +325 -131
- data/ext/pg_query/src_backend_nodes_nodes.c +38 -0
- data/ext/pg_query/src_backend_nodes_value.c +28 -19
- data/ext/pg_query/src_backend_parser_gram.c +36104 -32074
- data/ext/pg_query/src_backend_parser_parser.c +53 -8
- data/ext/pg_query/src_backend_parser_scan.c +4893 -3701
- data/ext/pg_query/src_backend_parser_scansup.c +4 -28
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
- data/ext/pg_query/src_backend_tcop_postgres.c +133 -105
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +17 -7
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
- data/ext/pg_query/src_backend_utils_adt_numutils.c +489 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +187 -19
- data/ext/pg_query/src_backend_utils_error_assert.c +17 -18
- data/ext/pg_query/src_backend_utils_error_elog.c +513 -318
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +44 -17
- data/ext/pg_query/src_backend_utils_init_globals.c +9 -6
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +74 -131
- 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 +453 -314
- data/ext/pg_query/src_backend_utils_mmgr_generation.c +1039 -0
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +549 -76
- 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 +420 -0
- data/ext/pg_query/src_common_keywords.c +15 -2
- data/ext/pg_query/src_common_kwlist_d.h +545 -498
- 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 +717 -113
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +49 -22
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -18
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1136 -1195
- data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +2 -2
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +60 -60
- data/ext/pg_query/src_port_pg_bitutils.c +103 -40
- data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
- data/ext/pg_query/src_port_qsort.c +12 -224
- data/ext/pg_query/src_port_snprintf.c +51 -29
- data/ext/pg_query/src_port_strerror.c +9 -19
- data/ext/pg_query/src_port_strlcpy.c +79 -0
- data/lib/pg_query/deparse.rb +7 -1
- data/lib/pg_query/filter_columns.rb +7 -5
- data/lib/pg_query/fingerprint.rb +21 -9
- data/lib/pg_query/node.rb +18 -13
- data/lib/pg_query/param_refs.rb +1 -1
- data/lib/pg_query/parse.rb +141 -50
- data/lib/pg_query/pg_query_pb.rb +175 -3031
- data/lib/pg_query/treewalker.rb +26 -2
- data/lib/pg_query/truncate.rb +54 -8
- data/lib/pg_query/version.rb +1 -1
- data/lib/pg_query.rb +0 -1
- metadata +443 -380
- data/ext/pg_query/guc-file.c +0 -0
- data/ext/pg_query/include/access/rmgr.h +0 -35
- data/ext/pg_query/include/access/xloginsert.h +0 -64
- data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
- data/ext/pg_query/include/catalog/genbki.h +0 -64
- data/ext/pg_query/include/catalog/indexing.h +0 -366
- data/ext/pg_query/include/commands/variable.h +0 -38
- data/ext/pg_query/include/common/ip.h +0 -37
- data/ext/pg_query/include/common/string.h +0 -19
- data/ext/pg_query/include/getaddrinfo.h +0 -162
- data/ext/pg_query/include/kwlist_d.h +0 -1072
- data/ext/pg_query/include/nodes/value.h +0 -61
- data/ext/pg_query/include/parser/gram.h +0 -1067
- data/ext/pg_query/include/parser/kwlist.h +0 -477
- data/ext/pg_query/include/parser/parse_clause.h +0 -54
- data/ext/pg_query/include/parser/parse_collate.h +0 -27
- data/ext/pg_query/include/parser/parse_target.h +0 -46
- data/ext/pg_query/include/parser/parser.h +0 -41
- data/ext/pg_query/include/pg_config_os.h +0 -8
- data/ext/pg_query/include/pgstat.h +0 -1487
- data/ext/pg_query/include/portability/instr_time.h +0 -256
- data/ext/pg_query/include/postmaster/fork_process.h +0 -17
- data/ext/pg_query/include/replication/logicalproto.h +0 -110
- data/ext/pg_query/include/replication/logicalworker.h +0 -19
- data/ext/pg_query/include/replication/reorderbuffer.h +0 -467
- data/ext/pg_query/include/storage/relfilenode.h +0 -99
- data/ext/pg_query/include/utils/dynahash.h +0 -19
- 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/regproc.h +0 -28
- 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_libpq_pqcomm.c +0 -651
- data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
- data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2230
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -370
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1086
- data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1831
- data/ext/pg_query/src_common_string.c +0 -86
- data/ext/pg_query/src_port_erand48.c +0 -127
- data/ext/pg_query/src_port_pgsleep.c +0 -69
- data/ext/pg_query/src_port_random.c +0 -31
- data/ext/pg_query/src_port_strnlen.c +0 -39
- data/lib/pg_query/json_field_names.rb +0 -1402
- /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* Also, we have changed the API to return tuples in TupleTableSlots,
|
|
22
22
|
* so that there is a check to prevent attempted access to system columns.
|
|
23
23
|
*
|
|
24
|
-
* Portions Copyright (c) 1996-
|
|
24
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
25
25
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
26
26
|
*
|
|
27
27
|
* src/include/utils/tuplestore.h
|
|
@@ -56,7 +56,7 @@ extern void tuplestore_puttuple(Tuplestorestate *state, HeapTuple tuple);
|
|
|
56
56
|
extern void tuplestore_putvalues(Tuplestorestate *state, TupleDesc tdesc,
|
|
57
57
|
Datum *values, bool *isnull);
|
|
58
58
|
|
|
59
|
-
/*
|
|
59
|
+
/* Backwards compatibility macro */
|
|
60
60
|
#define tuplestore_donestoring(state) ((void) 0)
|
|
61
61
|
|
|
62
62
|
extern int tuplestore_alloc_read_pointer(Tuplestorestate *state, int eflags);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* The type cache exists to speed lookup of certain information about data
|
|
7
7
|
* types that is not directly available from a type's pg_type row.
|
|
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/utils/typcache.h
|
|
@@ -42,6 +42,7 @@ typedef struct TypeCacheEntry
|
|
|
42
42
|
char typstorage;
|
|
43
43
|
char typtype;
|
|
44
44
|
Oid typrelid;
|
|
45
|
+
Oid typsubscript;
|
|
45
46
|
Oid typelem;
|
|
46
47
|
Oid typcollation;
|
|
47
48
|
|
|
@@ -100,6 +101,11 @@ typedef struct TypeCacheEntry
|
|
|
100
101
|
FmgrInfo rng_canonical_finfo; /* canonicalization function, if any */
|
|
101
102
|
FmgrInfo rng_subdiff_finfo; /* difference function, if any */
|
|
102
103
|
|
|
104
|
+
/*
|
|
105
|
+
* Fields computed when TYPECACHE_MULTIRANGE_INFO is required.
|
|
106
|
+
*/
|
|
107
|
+
struct TypeCacheEntry *rngtype; /* multirange's range underlying type */
|
|
108
|
+
|
|
103
109
|
/*
|
|
104
110
|
* Domain's base type and typmod if it's a domain type. Zeroes if not
|
|
105
111
|
* domain, or if information hasn't been requested.
|
|
@@ -127,22 +133,23 @@ typedef struct TypeCacheEntry
|
|
|
127
133
|
} TypeCacheEntry;
|
|
128
134
|
|
|
129
135
|
/* Bit flags to indicate which fields a given caller needs to have set */
|
|
130
|
-
#define TYPECACHE_EQ_OPR
|
|
131
|
-
#define TYPECACHE_LT_OPR
|
|
132
|
-
#define TYPECACHE_GT_OPR
|
|
133
|
-
#define TYPECACHE_CMP_PROC
|
|
134
|
-
#define TYPECACHE_HASH_PROC
|
|
135
|
-
#define TYPECACHE_EQ_OPR_FINFO
|
|
136
|
-
#define TYPECACHE_CMP_PROC_FINFO
|
|
137
|
-
#define TYPECACHE_HASH_PROC_FINFO
|
|
138
|
-
#define TYPECACHE_TUPDESC
|
|
139
|
-
#define TYPECACHE_BTREE_OPFAMILY
|
|
140
|
-
#define TYPECACHE_HASH_OPFAMILY
|
|
141
|
-
#define TYPECACHE_RANGE_INFO
|
|
142
|
-
#define TYPECACHE_DOMAIN_BASE_INFO
|
|
143
|
-
#define TYPECACHE_DOMAIN_CONSTR_INFO
|
|
144
|
-
#define TYPECACHE_HASH_EXTENDED_PROC
|
|
145
|
-
#define TYPECACHE_HASH_EXTENDED_PROC_FINFO
|
|
136
|
+
#define TYPECACHE_EQ_OPR 0x00001
|
|
137
|
+
#define TYPECACHE_LT_OPR 0x00002
|
|
138
|
+
#define TYPECACHE_GT_OPR 0x00004
|
|
139
|
+
#define TYPECACHE_CMP_PROC 0x00008
|
|
140
|
+
#define TYPECACHE_HASH_PROC 0x00010
|
|
141
|
+
#define TYPECACHE_EQ_OPR_FINFO 0x00020
|
|
142
|
+
#define TYPECACHE_CMP_PROC_FINFO 0x00040
|
|
143
|
+
#define TYPECACHE_HASH_PROC_FINFO 0x00080
|
|
144
|
+
#define TYPECACHE_TUPDESC 0x00100
|
|
145
|
+
#define TYPECACHE_BTREE_OPFAMILY 0x00200
|
|
146
|
+
#define TYPECACHE_HASH_OPFAMILY 0x00400
|
|
147
|
+
#define TYPECACHE_RANGE_INFO 0x00800
|
|
148
|
+
#define TYPECACHE_DOMAIN_BASE_INFO 0x01000
|
|
149
|
+
#define TYPECACHE_DOMAIN_CONSTR_INFO 0x02000
|
|
150
|
+
#define TYPECACHE_HASH_EXTENDED_PROC 0x04000
|
|
151
|
+
#define TYPECACHE_HASH_EXTENDED_PROC_FINFO 0x08000
|
|
152
|
+
#define TYPECACHE_MULTIRANGE_INFO 0x10000
|
|
146
153
|
|
|
147
154
|
/* This value will not equal any valid tupledesc identifier, nor 0 */
|
|
148
155
|
#define INVALID_TUPLEDESC_IDENTIFIER ((uint64) 1)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* varlena.h
|
|
4
4
|
* Functions for the variable-length built-in types.
|
|
5
5
|
*
|
|
6
|
-
* Portions Copyright (c) 1996-
|
|
6
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
8
|
*
|
|
9
9
|
* src/include/utils/varlena.h
|
|
@@ -33,7 +33,21 @@ extern bool SplitDirectoriesString(char *rawstring, char separator,
|
|
|
33
33
|
List **namelist);
|
|
34
34
|
extern bool SplitGUCList(char *rawstring, char separator,
|
|
35
35
|
List **namelist);
|
|
36
|
-
extern text *replace_text_regexp(text *src_text,
|
|
37
|
-
text *replace_text,
|
|
36
|
+
extern text *replace_text_regexp(text *src_text, text *pattern_text,
|
|
37
|
+
text *replace_text,
|
|
38
|
+
int cflags, Oid collation,
|
|
39
|
+
int search_start, int n);
|
|
40
|
+
|
|
41
|
+
typedef struct ClosestMatchState
|
|
42
|
+
{
|
|
43
|
+
const char *source;
|
|
44
|
+
int min_d;
|
|
45
|
+
int max_d;
|
|
46
|
+
const char *match;
|
|
47
|
+
} ClosestMatchState;
|
|
48
|
+
|
|
49
|
+
extern void initClosestMatch(ClosestMatchState *state, const char *source, int max_d);
|
|
50
|
+
extern void updateClosestMatch(ClosestMatchState *state, const char *candidate);
|
|
51
|
+
extern const char *getClosestMatch(ClosestMatchState *state);
|
|
38
52
|
|
|
39
53
|
#endif
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
* wait_event.h
|
|
3
|
+
* Definitions related to wait event reporting
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2001-2023, PostgreSQL Global Development Group
|
|
6
|
+
*
|
|
7
|
+
* src/include/utils/wait_event.h
|
|
8
|
+
* ----------
|
|
9
|
+
*/
|
|
10
|
+
#ifndef WAIT_EVENT_H
|
|
11
|
+
#define WAIT_EVENT_H
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
/* ----------
|
|
15
|
+
* Wait Classes
|
|
16
|
+
* ----------
|
|
17
|
+
*/
|
|
18
|
+
#define PG_WAIT_LWLOCK 0x01000000U
|
|
19
|
+
#define PG_WAIT_LOCK 0x03000000U
|
|
20
|
+
#define PG_WAIT_BUFFER_PIN 0x04000000U
|
|
21
|
+
#define PG_WAIT_ACTIVITY 0x05000000U
|
|
22
|
+
#define PG_WAIT_CLIENT 0x06000000U
|
|
23
|
+
#define PG_WAIT_EXTENSION 0x07000000U
|
|
24
|
+
#define PG_WAIT_IPC 0x08000000U
|
|
25
|
+
#define PG_WAIT_TIMEOUT 0x09000000U
|
|
26
|
+
#define PG_WAIT_IO 0x0A000000U
|
|
27
|
+
|
|
28
|
+
/* ----------
|
|
29
|
+
* Wait Events - Activity
|
|
30
|
+
*
|
|
31
|
+
* Use this category when a process is waiting because it has no work to do,
|
|
32
|
+
* unless the "Client" or "Timeout" category describes the situation better.
|
|
33
|
+
* Typically, this should only be used for background processes.
|
|
34
|
+
* ----------
|
|
35
|
+
*/
|
|
36
|
+
typedef enum
|
|
37
|
+
{
|
|
38
|
+
WAIT_EVENT_ARCHIVER_MAIN = PG_WAIT_ACTIVITY,
|
|
39
|
+
WAIT_EVENT_AUTOVACUUM_MAIN,
|
|
40
|
+
WAIT_EVENT_BGWRITER_HIBERNATE,
|
|
41
|
+
WAIT_EVENT_BGWRITER_MAIN,
|
|
42
|
+
WAIT_EVENT_CHECKPOINTER_MAIN,
|
|
43
|
+
WAIT_EVENT_LOGICAL_APPLY_MAIN,
|
|
44
|
+
WAIT_EVENT_LOGICAL_LAUNCHER_MAIN,
|
|
45
|
+
WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN,
|
|
46
|
+
WAIT_EVENT_RECOVERY_WAL_STREAM,
|
|
47
|
+
WAIT_EVENT_SYSLOGGER_MAIN,
|
|
48
|
+
WAIT_EVENT_WAL_RECEIVER_MAIN,
|
|
49
|
+
WAIT_EVENT_WAL_SENDER_MAIN,
|
|
50
|
+
WAIT_EVENT_WAL_WRITER_MAIN
|
|
51
|
+
} WaitEventActivity;
|
|
52
|
+
|
|
53
|
+
/* ----------
|
|
54
|
+
* Wait Events - Client
|
|
55
|
+
*
|
|
56
|
+
* Use this category when a process is waiting to send data to or receive data
|
|
57
|
+
* from the frontend process to which it is connected. This is never used for
|
|
58
|
+
* a background process, which has no client connection.
|
|
59
|
+
* ----------
|
|
60
|
+
*/
|
|
61
|
+
typedef enum
|
|
62
|
+
{
|
|
63
|
+
WAIT_EVENT_CLIENT_READ = PG_WAIT_CLIENT,
|
|
64
|
+
WAIT_EVENT_CLIENT_WRITE,
|
|
65
|
+
WAIT_EVENT_GSS_OPEN_SERVER,
|
|
66
|
+
WAIT_EVENT_LIBPQWALRECEIVER_CONNECT,
|
|
67
|
+
WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE,
|
|
68
|
+
WAIT_EVENT_SSL_OPEN_SERVER,
|
|
69
|
+
WAIT_EVENT_WAL_SENDER_WAIT_WAL,
|
|
70
|
+
WAIT_EVENT_WAL_SENDER_WRITE_DATA,
|
|
71
|
+
} WaitEventClient;
|
|
72
|
+
|
|
73
|
+
/* ----------
|
|
74
|
+
* Wait Events - IPC
|
|
75
|
+
*
|
|
76
|
+
* Use this category when a process cannot complete the work it is doing because
|
|
77
|
+
* it is waiting for a notification from another process.
|
|
78
|
+
* ----------
|
|
79
|
+
*/
|
|
80
|
+
typedef enum
|
|
81
|
+
{
|
|
82
|
+
WAIT_EVENT_APPEND_READY = PG_WAIT_IPC,
|
|
83
|
+
WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND,
|
|
84
|
+
WAIT_EVENT_ARCHIVE_COMMAND,
|
|
85
|
+
WAIT_EVENT_BACKEND_TERMINATION,
|
|
86
|
+
WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE,
|
|
87
|
+
WAIT_EVENT_BGWORKER_SHUTDOWN,
|
|
88
|
+
WAIT_EVENT_BGWORKER_STARTUP,
|
|
89
|
+
WAIT_EVENT_BTREE_PAGE,
|
|
90
|
+
WAIT_EVENT_BUFFER_IO,
|
|
91
|
+
WAIT_EVENT_CHECKPOINT_DONE,
|
|
92
|
+
WAIT_EVENT_CHECKPOINT_START,
|
|
93
|
+
WAIT_EVENT_EXECUTE_GATHER,
|
|
94
|
+
WAIT_EVENT_HASH_BATCH_ALLOCATE,
|
|
95
|
+
WAIT_EVENT_HASH_BATCH_ELECT,
|
|
96
|
+
WAIT_EVENT_HASH_BATCH_LOAD,
|
|
97
|
+
WAIT_EVENT_HASH_BUILD_ALLOCATE,
|
|
98
|
+
WAIT_EVENT_HASH_BUILD_ELECT,
|
|
99
|
+
WAIT_EVENT_HASH_BUILD_HASH_INNER,
|
|
100
|
+
WAIT_EVENT_HASH_BUILD_HASH_OUTER,
|
|
101
|
+
WAIT_EVENT_HASH_GROW_BATCHES_DECIDE,
|
|
102
|
+
WAIT_EVENT_HASH_GROW_BATCHES_ELECT,
|
|
103
|
+
WAIT_EVENT_HASH_GROW_BATCHES_FINISH,
|
|
104
|
+
WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE,
|
|
105
|
+
WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION,
|
|
106
|
+
WAIT_EVENT_HASH_GROW_BUCKETS_ELECT,
|
|
107
|
+
WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE,
|
|
108
|
+
WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT,
|
|
109
|
+
WAIT_EVENT_LOGICAL_APPLY_SEND_DATA,
|
|
110
|
+
WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE,
|
|
111
|
+
WAIT_EVENT_LOGICAL_SYNC_DATA,
|
|
112
|
+
WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE,
|
|
113
|
+
WAIT_EVENT_MQ_INTERNAL,
|
|
114
|
+
WAIT_EVENT_MQ_PUT_MESSAGE,
|
|
115
|
+
WAIT_EVENT_MQ_RECEIVE,
|
|
116
|
+
WAIT_EVENT_MQ_SEND,
|
|
117
|
+
WAIT_EVENT_PARALLEL_BITMAP_SCAN,
|
|
118
|
+
WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN,
|
|
119
|
+
WAIT_EVENT_PARALLEL_FINISH,
|
|
120
|
+
WAIT_EVENT_PROCARRAY_GROUP_UPDATE,
|
|
121
|
+
WAIT_EVENT_PROC_SIGNAL_BARRIER,
|
|
122
|
+
WAIT_EVENT_PROMOTE,
|
|
123
|
+
WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT,
|
|
124
|
+
WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE,
|
|
125
|
+
WAIT_EVENT_RECOVERY_END_COMMAND,
|
|
126
|
+
WAIT_EVENT_RECOVERY_PAUSE,
|
|
127
|
+
WAIT_EVENT_REPLICATION_ORIGIN_DROP,
|
|
128
|
+
WAIT_EVENT_REPLICATION_SLOT_DROP,
|
|
129
|
+
WAIT_EVENT_RESTORE_COMMAND,
|
|
130
|
+
WAIT_EVENT_SAFE_SNAPSHOT,
|
|
131
|
+
WAIT_EVENT_SYNC_REP,
|
|
132
|
+
WAIT_EVENT_WAL_RECEIVER_EXIT,
|
|
133
|
+
WAIT_EVENT_WAL_RECEIVER_WAIT_START,
|
|
134
|
+
WAIT_EVENT_XACT_GROUP_UPDATE
|
|
135
|
+
} WaitEventIPC;
|
|
136
|
+
|
|
137
|
+
/* ----------
|
|
138
|
+
* Wait Events - Timeout
|
|
139
|
+
*
|
|
140
|
+
* Use this category when a process is waiting for a timeout to expire.
|
|
141
|
+
* ----------
|
|
142
|
+
*/
|
|
143
|
+
typedef enum
|
|
144
|
+
{
|
|
145
|
+
WAIT_EVENT_BASE_BACKUP_THROTTLE = PG_WAIT_TIMEOUT,
|
|
146
|
+
WAIT_EVENT_CHECKPOINT_WRITE_DELAY,
|
|
147
|
+
WAIT_EVENT_PG_SLEEP,
|
|
148
|
+
WAIT_EVENT_RECOVERY_APPLY_DELAY,
|
|
149
|
+
WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL,
|
|
150
|
+
WAIT_EVENT_REGISTER_SYNC_REQUEST,
|
|
151
|
+
WAIT_EVENT_SPIN_DELAY,
|
|
152
|
+
WAIT_EVENT_VACUUM_DELAY,
|
|
153
|
+
WAIT_EVENT_VACUUM_TRUNCATE
|
|
154
|
+
} WaitEventTimeout;
|
|
155
|
+
|
|
156
|
+
/* ----------
|
|
157
|
+
* Wait Events - IO
|
|
158
|
+
*
|
|
159
|
+
* Use this category when a process is waiting for a IO.
|
|
160
|
+
* ----------
|
|
161
|
+
*/
|
|
162
|
+
typedef enum
|
|
163
|
+
{
|
|
164
|
+
WAIT_EVENT_BASEBACKUP_READ = PG_WAIT_IO,
|
|
165
|
+
WAIT_EVENT_BASEBACKUP_SYNC,
|
|
166
|
+
WAIT_EVENT_BASEBACKUP_WRITE,
|
|
167
|
+
WAIT_EVENT_BUFFILE_READ,
|
|
168
|
+
WAIT_EVENT_BUFFILE_WRITE,
|
|
169
|
+
WAIT_EVENT_BUFFILE_TRUNCATE,
|
|
170
|
+
WAIT_EVENT_CONTROL_FILE_READ,
|
|
171
|
+
WAIT_EVENT_CONTROL_FILE_SYNC,
|
|
172
|
+
WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE,
|
|
173
|
+
WAIT_EVENT_CONTROL_FILE_WRITE,
|
|
174
|
+
WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE,
|
|
175
|
+
WAIT_EVENT_COPY_FILE_READ,
|
|
176
|
+
WAIT_EVENT_COPY_FILE_WRITE,
|
|
177
|
+
WAIT_EVENT_DATA_FILE_EXTEND,
|
|
178
|
+
WAIT_EVENT_DATA_FILE_FLUSH,
|
|
179
|
+
WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC,
|
|
180
|
+
WAIT_EVENT_DATA_FILE_PREFETCH,
|
|
181
|
+
WAIT_EVENT_DATA_FILE_READ,
|
|
182
|
+
WAIT_EVENT_DATA_FILE_SYNC,
|
|
183
|
+
WAIT_EVENT_DATA_FILE_TRUNCATE,
|
|
184
|
+
WAIT_EVENT_DATA_FILE_WRITE,
|
|
185
|
+
WAIT_EVENT_DSM_ALLOCATE,
|
|
186
|
+
WAIT_EVENT_DSM_FILL_ZERO_WRITE,
|
|
187
|
+
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ,
|
|
188
|
+
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC,
|
|
189
|
+
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE,
|
|
190
|
+
WAIT_EVENT_LOCK_FILE_CREATE_READ,
|
|
191
|
+
WAIT_EVENT_LOCK_FILE_CREATE_SYNC,
|
|
192
|
+
WAIT_EVENT_LOCK_FILE_CREATE_WRITE,
|
|
193
|
+
WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ,
|
|
194
|
+
WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC,
|
|
195
|
+
WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC,
|
|
196
|
+
WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE,
|
|
197
|
+
WAIT_EVENT_LOGICAL_REWRITE_SYNC,
|
|
198
|
+
WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE,
|
|
199
|
+
WAIT_EVENT_LOGICAL_REWRITE_WRITE,
|
|
200
|
+
WAIT_EVENT_RELATION_MAP_READ,
|
|
201
|
+
WAIT_EVENT_RELATION_MAP_REPLACE,
|
|
202
|
+
WAIT_EVENT_RELATION_MAP_WRITE,
|
|
203
|
+
WAIT_EVENT_REORDER_BUFFER_READ,
|
|
204
|
+
WAIT_EVENT_REORDER_BUFFER_WRITE,
|
|
205
|
+
WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ,
|
|
206
|
+
WAIT_EVENT_REPLICATION_SLOT_READ,
|
|
207
|
+
WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC,
|
|
208
|
+
WAIT_EVENT_REPLICATION_SLOT_SYNC,
|
|
209
|
+
WAIT_EVENT_REPLICATION_SLOT_WRITE,
|
|
210
|
+
WAIT_EVENT_SLRU_FLUSH_SYNC,
|
|
211
|
+
WAIT_EVENT_SLRU_READ,
|
|
212
|
+
WAIT_EVENT_SLRU_SYNC,
|
|
213
|
+
WAIT_EVENT_SLRU_WRITE,
|
|
214
|
+
WAIT_EVENT_SNAPBUILD_READ,
|
|
215
|
+
WAIT_EVENT_SNAPBUILD_SYNC,
|
|
216
|
+
WAIT_EVENT_SNAPBUILD_WRITE,
|
|
217
|
+
WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC,
|
|
218
|
+
WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE,
|
|
219
|
+
WAIT_EVENT_TIMELINE_HISTORY_READ,
|
|
220
|
+
WAIT_EVENT_TIMELINE_HISTORY_SYNC,
|
|
221
|
+
WAIT_EVENT_TIMELINE_HISTORY_WRITE,
|
|
222
|
+
WAIT_EVENT_TWOPHASE_FILE_READ,
|
|
223
|
+
WAIT_EVENT_TWOPHASE_FILE_SYNC,
|
|
224
|
+
WAIT_EVENT_TWOPHASE_FILE_WRITE,
|
|
225
|
+
WAIT_EVENT_VERSION_FILE_WRITE,
|
|
226
|
+
WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ,
|
|
227
|
+
WAIT_EVENT_WAL_BOOTSTRAP_SYNC,
|
|
228
|
+
WAIT_EVENT_WAL_BOOTSTRAP_WRITE,
|
|
229
|
+
WAIT_EVENT_WAL_COPY_READ,
|
|
230
|
+
WAIT_EVENT_WAL_COPY_SYNC,
|
|
231
|
+
WAIT_EVENT_WAL_COPY_WRITE,
|
|
232
|
+
WAIT_EVENT_WAL_INIT_SYNC,
|
|
233
|
+
WAIT_EVENT_WAL_INIT_WRITE,
|
|
234
|
+
WAIT_EVENT_WAL_READ,
|
|
235
|
+
WAIT_EVENT_WAL_SYNC,
|
|
236
|
+
WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN,
|
|
237
|
+
WAIT_EVENT_WAL_WRITE
|
|
238
|
+
} WaitEventIO;
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
extern const char *pgstat_get_wait_event(uint32 wait_event_info);
|
|
242
|
+
extern const char *pgstat_get_wait_event_type(uint32 wait_event_info);
|
|
243
|
+
static inline void pgstat_report_wait_start(uint32 wait_event_info);
|
|
244
|
+
static inline void pgstat_report_wait_end(void);
|
|
245
|
+
extern void pgstat_set_wait_event_storage(uint32 *wait_event_info);
|
|
246
|
+
extern void pgstat_reset_wait_event_storage(void);
|
|
247
|
+
|
|
248
|
+
extern PGDLLIMPORT uint32 *my_wait_event_info;
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
/* ----------
|
|
252
|
+
* pgstat_report_wait_start() -
|
|
253
|
+
*
|
|
254
|
+
* Called from places where server process needs to wait. This is called
|
|
255
|
+
* to report wait event information. The wait information is stored
|
|
256
|
+
* as 4-bytes where first byte represents the wait event class (type of
|
|
257
|
+
* wait, for different types of wait, refer WaitClass) and the next
|
|
258
|
+
* 3-bytes represent the actual wait event. Currently 2-bytes are used
|
|
259
|
+
* for wait event which is sufficient for current usage, 1-byte is
|
|
260
|
+
* reserved for future usage.
|
|
261
|
+
*
|
|
262
|
+
* Historically we used to make this reporting conditional on
|
|
263
|
+
* pgstat_track_activities, but the check for that seems to add more cost
|
|
264
|
+
* than it saves.
|
|
265
|
+
*
|
|
266
|
+
* my_wait_event_info initially points to local memory, making it safe to
|
|
267
|
+
* call this before MyProc has been initialized.
|
|
268
|
+
* ----------
|
|
269
|
+
*/
|
|
270
|
+
static inline void
|
|
271
|
+
pgstat_report_wait_start(uint32 wait_event_info)
|
|
272
|
+
{
|
|
273
|
+
/*
|
|
274
|
+
* Since this is a four-byte field which is always read and written as
|
|
275
|
+
* four-bytes, updates are atomic.
|
|
276
|
+
*/
|
|
277
|
+
*(volatile uint32 *) my_wait_event_info = wait_event_info;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/* ----------
|
|
281
|
+
* pgstat_report_wait_end() -
|
|
282
|
+
*
|
|
283
|
+
* Called to report end of a wait.
|
|
284
|
+
* ----------
|
|
285
|
+
*/
|
|
286
|
+
static inline void
|
|
287
|
+
pgstat_report_wait_end(void)
|
|
288
|
+
{
|
|
289
|
+
/* see pgstat_report_wait_start() */
|
|
290
|
+
*(volatile uint32 *) my_wait_event_info = 0;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
#endif /* WAIT_EVENT_H */
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Declarations for XML data type support.
|
|
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/utils/xml.h
|
|
@@ -47,8 +47,17 @@ typedef enum
|
|
|
47
47
|
/* struct PgXmlErrorContext is private to xml.c */
|
|
48
48
|
typedef struct PgXmlErrorContext PgXmlErrorContext;
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
static inline xmltype *
|
|
51
|
+
DatumGetXmlP(Datum X)
|
|
52
|
+
{
|
|
53
|
+
return (xmltype *) PG_DETOAST_DATUM(X);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
static inline Datum
|
|
57
|
+
XmlPGetDatum(const xmltype *X)
|
|
58
|
+
{
|
|
59
|
+
return PointerGetDatum(X);
|
|
60
|
+
}
|
|
52
61
|
|
|
53
62
|
#define PG_GETARG_XML_P(n) DatumGetXmlP(PG_GETARG_DATUM(n))
|
|
54
63
|
#define PG_RETURN_XML_P(x) PG_RETURN_POINTER(x)
|
|
@@ -64,21 +73,22 @@ extern xmltype *xmlconcat(List *args);
|
|
|
64
73
|
extern xmltype *xmlelement(XmlExpr *xexpr,
|
|
65
74
|
Datum *named_argvalue, bool *named_argnull,
|
|
66
75
|
Datum *argvalue, bool *argnull);
|
|
67
|
-
extern xmltype *xmlparse(text *data, XmlOptionType
|
|
76
|
+
extern xmltype *xmlparse(text *data, XmlOptionType xmloption_arg, bool preserve_whitespace);
|
|
68
77
|
extern xmltype *xmlpi(const char *target, text *arg, bool arg_is_null, bool *result_is_null);
|
|
69
78
|
extern xmltype *xmlroot(xmltype *data, text *version, int standalone);
|
|
70
79
|
extern bool xml_is_document(xmltype *arg);
|
|
71
|
-
extern text *
|
|
80
|
+
extern text *xmltotext_with_options(xmltype *data, XmlOptionType xmloption_arg,
|
|
81
|
+
bool indent);
|
|
72
82
|
extern char *escape_xml(const char *str);
|
|
73
83
|
|
|
74
84
|
extern char *map_sql_identifier_to_xml_name(const char *ident, bool fully_escaped, bool escape_period);
|
|
75
85
|
extern char *map_xml_name_to_sql_identifier(const char *name);
|
|
76
86
|
extern char *map_sql_value_to_xml_value(Datum value, Oid type, bool xml_escape_strings);
|
|
77
87
|
|
|
78
|
-
extern int
|
|
88
|
+
extern PGDLLIMPORT int xmlbinary; /* XmlBinaryType, but int for guc enum */
|
|
79
89
|
|
|
80
|
-
extern int
|
|
90
|
+
extern PGDLLIMPORT int xmloption; /* XmlOptionType, but int for guc enum */
|
|
81
91
|
|
|
82
|
-
extern const TableFuncRoutine XmlTableRoutine;
|
|
92
|
+
extern PGDLLIMPORT const TableFuncRoutine XmlTableRoutine;
|
|
83
93
|
|
|
84
94
|
#endif /* XML_H */
|