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
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* POSTGRES shared cache invalidation communication definitions.
|
|
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/storage/sinval.h
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
#include <signal.h>
|
|
18
18
|
|
|
19
|
-
#include "storage/
|
|
19
|
+
#include "storage/relfilelocator.h"
|
|
20
20
|
|
|
21
21
|
/*
|
|
22
22
|
* We support several types of shared-invalidation messages:
|
|
@@ -90,7 +90,7 @@ typedef struct
|
|
|
90
90
|
int8 id; /* type field --- must be first */
|
|
91
91
|
int8 backend_hi; /* high bits of backend ID, if temprel */
|
|
92
92
|
uint16 backend_lo; /* low bits of backend ID, if temprel */
|
|
93
|
-
|
|
93
|
+
RelFileLocator rlocator; /* spcOid, dbOid, relNumber */
|
|
94
94
|
} SharedInvalSmgrMsg;
|
|
95
95
|
|
|
96
96
|
#define SHAREDINVALRELMAP_ID (-4)
|
|
@@ -123,9 +123,9 @@ typedef union
|
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
/* Counter of messages processed; don't worry about overflow. */
|
|
126
|
-
extern uint64 SharedInvalidMessageCounter;
|
|
126
|
+
extern PGDLLIMPORT uint64 SharedInvalidMessageCounter;
|
|
127
127
|
|
|
128
|
-
extern volatile sig_atomic_t catchupInterruptPending;
|
|
128
|
+
extern PGDLLIMPORT volatile sig_atomic_t catchupInterruptPending;
|
|
129
129
|
|
|
130
130
|
extern void SendSharedInvalidMessages(const SharedInvalidationMessage *msgs,
|
|
131
131
|
int n);
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* The struct type SharedInvalidationMessage, defining the contents of
|
|
13
13
|
* a single message, is defined in sinval.h.
|
|
14
14
|
*
|
|
15
|
-
* Portions Copyright (c) 1996-
|
|
15
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
16
16
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
17
17
|
*
|
|
18
18
|
* src/include/storage/sinvaladt.h
|
|
@@ -32,7 +32,9 @@ extern Size SInvalShmemSize(void);
|
|
|
32
32
|
extern void CreateSharedInvalidationState(void);
|
|
33
33
|
extern void SharedInvalBackendInit(bool sendOnly);
|
|
34
34
|
extern PGPROC *BackendIdGetProc(int backendID);
|
|
35
|
-
extern void BackendIdGetTransactionIds(int backendID, TransactionId *xid,
|
|
35
|
+
extern void BackendIdGetTransactionIds(int backendID, TransactionId *xid,
|
|
36
|
+
TransactionId *xmin, int *nsubxid,
|
|
37
|
+
bool *overflowed);
|
|
36
38
|
|
|
37
39
|
extern void SIInsertDataEntries(const SharedInvalidationMessage *data, int n);
|
|
38
40
|
extern int SIGetDataEntries(SharedInvalidationMessage *data, int datasize);
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* storage manager switch public interface declarations.
|
|
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/storage/smgr.h
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
#include "lib/ilist.h"
|
|
18
18
|
#include "storage/block.h"
|
|
19
|
-
#include "storage/
|
|
19
|
+
#include "storage/relfilelocator.h"
|
|
20
20
|
|
|
21
21
|
/*
|
|
22
22
|
* smgr.c maintains a table of SMgrRelation objects, which are essentially
|
|
@@ -38,22 +38,20 @@
|
|
|
38
38
|
*/
|
|
39
39
|
typedef struct SMgrRelationData
|
|
40
40
|
{
|
|
41
|
-
/*
|
|
42
|
-
|
|
41
|
+
/* rlocator is the hashtable lookup key, so it must be first! */
|
|
42
|
+
RelFileLocatorBackend smgr_rlocator; /* relation physical identifier */
|
|
43
43
|
|
|
44
44
|
/* pointer to owning pointer, or NULL if none */
|
|
45
45
|
struct SMgrRelationData **smgr_owner;
|
|
46
46
|
|
|
47
47
|
/*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* happens. In all three cases, InvalidBlockNumber means "unknown".
|
|
48
|
+
* The following fields are reset to InvalidBlockNumber upon a cache flush
|
|
49
|
+
* event, and hold the last known size for each fork. This information is
|
|
50
|
+
* currently only reliable during recovery, since there is no cache
|
|
51
|
+
* invalidation for fork extension.
|
|
53
52
|
*/
|
|
54
53
|
BlockNumber smgr_targblock; /* current insertion target block */
|
|
55
|
-
BlockNumber
|
|
56
|
-
BlockNumber smgr_vm_nblocks; /* last known size of vm fork */
|
|
54
|
+
BlockNumber smgr_cached_nblocks[MAX_FORKNUM + 1]; /* last known size */
|
|
57
55
|
|
|
58
56
|
/* additional public fields may someday exist here */
|
|
59
57
|
|
|
@@ -77,33 +75,39 @@ typedef struct SMgrRelationData
|
|
|
77
75
|
typedef SMgrRelationData *SMgrRelation;
|
|
78
76
|
|
|
79
77
|
#define SmgrIsTemp(smgr) \
|
|
80
|
-
|
|
78
|
+
RelFileLocatorBackendIsTemp((smgr)->smgr_rlocator)
|
|
81
79
|
|
|
82
80
|
extern void smgrinit(void);
|
|
83
|
-
extern SMgrRelation smgropen(
|
|
81
|
+
extern SMgrRelation smgropen(RelFileLocator rlocator, BackendId backend);
|
|
84
82
|
extern bool smgrexists(SMgrRelation reln, ForkNumber forknum);
|
|
85
83
|
extern void smgrsetowner(SMgrRelation *owner, SMgrRelation reln);
|
|
86
84
|
extern void smgrclearowner(SMgrRelation *owner, SMgrRelation reln);
|
|
87
85
|
extern void smgrclose(SMgrRelation reln);
|
|
88
86
|
extern void smgrcloseall(void);
|
|
89
|
-
extern void
|
|
87
|
+
extern void smgrcloserellocator(RelFileLocatorBackend rlocator);
|
|
88
|
+
extern void smgrrelease(SMgrRelation reln);
|
|
89
|
+
extern void smgrreleaseall(void);
|
|
90
90
|
extern void smgrcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo);
|
|
91
91
|
extern void smgrdosyncall(SMgrRelation *rels, int nrels);
|
|
92
92
|
extern void smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo);
|
|
93
93
|
extern void smgrextend(SMgrRelation reln, ForkNumber forknum,
|
|
94
|
-
BlockNumber blocknum,
|
|
94
|
+
BlockNumber blocknum, const void *buffer, bool skipFsync);
|
|
95
|
+
extern void smgrzeroextend(SMgrRelation reln, ForkNumber forknum,
|
|
96
|
+
BlockNumber blocknum, int nblocks, bool skipFsync);
|
|
95
97
|
extern bool smgrprefetch(SMgrRelation reln, ForkNumber forknum,
|
|
96
98
|
BlockNumber blocknum);
|
|
97
99
|
extern void smgrread(SMgrRelation reln, ForkNumber forknum,
|
|
98
|
-
BlockNumber blocknum,
|
|
100
|
+
BlockNumber blocknum, void *buffer);
|
|
99
101
|
extern void smgrwrite(SMgrRelation reln, ForkNumber forknum,
|
|
100
|
-
BlockNumber blocknum,
|
|
102
|
+
BlockNumber blocknum, const void *buffer, bool skipFsync);
|
|
101
103
|
extern void smgrwriteback(SMgrRelation reln, ForkNumber forknum,
|
|
102
104
|
BlockNumber blocknum, BlockNumber nblocks);
|
|
103
105
|
extern BlockNumber smgrnblocks(SMgrRelation reln, ForkNumber forknum);
|
|
106
|
+
extern BlockNumber smgrnblocks_cached(SMgrRelation reln, ForkNumber forknum);
|
|
104
107
|
extern void smgrtruncate(SMgrRelation reln, ForkNumber *forknum,
|
|
105
108
|
int nforks, BlockNumber *nblocks);
|
|
106
109
|
extern void smgrimmedsync(SMgrRelation reln, ForkNumber forknum);
|
|
107
110
|
extern void AtEOXact_SMgr(void);
|
|
111
|
+
extern bool ProcessBarrierSmgrRelease(void);
|
|
108
112
|
|
|
109
113
|
#endif /* SMGR_H */
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
* be again.
|
|
42
42
|
*
|
|
43
43
|
*
|
|
44
|
-
* Portions Copyright (c) 1996-
|
|
44
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
45
45
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
46
46
|
*
|
|
47
47
|
* src/include/storage/spin.h
|
|
@@ -71,7 +71,7 @@ extern Size SpinlockSemaSize(void);
|
|
|
71
71
|
|
|
72
72
|
#ifndef HAVE_SPINLOCKS
|
|
73
73
|
extern void SpinlockSemaInit(void);
|
|
74
|
-
extern PGSemaphore *SpinlockSemaArray;
|
|
74
|
+
extern PGDLLIMPORT PGSemaphore *SpinlockSemaArray;
|
|
75
75
|
#endif
|
|
76
76
|
|
|
77
77
|
#endif /* SPIN_H */
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Definitions for hot standby mode.
|
|
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/storage/standby.h
|
|
@@ -14,30 +14,38 @@
|
|
|
14
14
|
#ifndef STANDBY_H
|
|
15
15
|
#define STANDBY_H
|
|
16
16
|
|
|
17
|
+
#include "datatype/timestamp.h"
|
|
17
18
|
#include "storage/lock.h"
|
|
18
19
|
#include "storage/procsignal.h"
|
|
19
|
-
#include "storage/
|
|
20
|
+
#include "storage/relfilelocator.h"
|
|
20
21
|
#include "storage/standbydefs.h"
|
|
21
22
|
|
|
22
23
|
/* User-settable GUC parameters */
|
|
23
|
-
extern int
|
|
24
|
-
extern int
|
|
25
|
-
extern
|
|
24
|
+
extern PGDLLIMPORT int max_standby_archive_delay;
|
|
25
|
+
extern PGDLLIMPORT int max_standby_streaming_delay;
|
|
26
|
+
extern PGDLLIMPORT bool log_recovery_conflict_waits;
|
|
26
27
|
|
|
27
28
|
extern void InitRecoveryTransactionEnvironment(void);
|
|
28
29
|
extern void ShutdownRecoveryTransactionEnvironment(void);
|
|
29
30
|
|
|
30
|
-
extern void ResolveRecoveryConflictWithSnapshot(TransactionId
|
|
31
|
-
|
|
31
|
+
extern void ResolveRecoveryConflictWithSnapshot(TransactionId snapshotConflictHorizon,
|
|
32
|
+
bool isCatalogRel,
|
|
33
|
+
RelFileLocator locator);
|
|
34
|
+
extern void ResolveRecoveryConflictWithSnapshotFullXid(FullTransactionId snapshotConflictHorizon,
|
|
35
|
+
bool isCatalogRel,
|
|
36
|
+
RelFileLocator locator);
|
|
32
37
|
extern void ResolveRecoveryConflictWithTablespace(Oid tsid);
|
|
33
38
|
extern void ResolveRecoveryConflictWithDatabase(Oid dbid);
|
|
34
39
|
|
|
35
|
-
extern void ResolveRecoveryConflictWithLock(LOCKTAG locktag);
|
|
40
|
+
extern void ResolveRecoveryConflictWithLock(LOCKTAG locktag, bool logging_conflict);
|
|
36
41
|
extern void ResolveRecoveryConflictWithBufferPin(void);
|
|
37
42
|
extern void CheckRecoveryConflictDeadlock(void);
|
|
38
43
|
extern void StandbyDeadLockHandler(void);
|
|
39
44
|
extern void StandbyTimeoutHandler(void);
|
|
40
45
|
extern void StandbyLockTimeoutHandler(void);
|
|
46
|
+
extern void LogRecoveryConflict(ProcSignalReason reason, TimestampTz wait_start,
|
|
47
|
+
TimestampTz now, VirtualTransactionId *wait_list,
|
|
48
|
+
bool still_waiting);
|
|
41
49
|
|
|
42
50
|
/*
|
|
43
51
|
* Standby Rmgr (RM_STANDBY_ID)
|
|
@@ -72,7 +80,7 @@ typedef struct RunningTransactionsData
|
|
|
72
80
|
int xcnt; /* # of xact ids in xids[] */
|
|
73
81
|
int subxcnt; /* # of subxact ids in xids[] */
|
|
74
82
|
bool subxid_overflow; /* snapshot overflowed, subxids missing */
|
|
75
|
-
TransactionId nextXid; /* xid from ShmemVariableCache->
|
|
83
|
+
TransactionId nextXid; /* xid from ShmemVariableCache->nextXid */
|
|
76
84
|
TransactionId oldestRunningXid; /* *not* oldestXmin */
|
|
77
85
|
TransactionId latestCompletedXid; /* so we can set xmax */
|
|
78
86
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Frontend exposed definitions for hot standby mode.
|
|
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/storage/standbydefs.h
|
|
@@ -49,7 +49,7 @@ typedef struct xl_running_xacts
|
|
|
49
49
|
int xcnt; /* # of xact ids in xids[] */
|
|
50
50
|
int subxcnt; /* # of subxact ids in xids[] */
|
|
51
51
|
bool subxid_overflow; /* snapshot overflowed, subxids missing */
|
|
52
|
-
TransactionId nextXid; /* xid from ShmemVariableCache->
|
|
52
|
+
TransactionId nextXid; /* xid from ShmemVariableCache->nextXid */
|
|
53
53
|
TransactionId oldestRunningXid; /* *not* oldestXmin */
|
|
54
54
|
TransactionId latestCompletedXid; /* so we can set xmax */
|
|
55
55
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* sync.h
|
|
4
4
|
* File synchronization management code.
|
|
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/storage/sync.h
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
#ifndef SYNC_H
|
|
14
14
|
#define SYNC_H
|
|
15
15
|
|
|
16
|
-
#include "storage/
|
|
16
|
+
#include "storage/relfilelocator.h"
|
|
17
17
|
|
|
18
18
|
/*
|
|
19
19
|
* Type of sync request. These are used to manage the set of pending
|
|
@@ -34,7 +34,12 @@ typedef enum SyncRequestType
|
|
|
34
34
|
*/
|
|
35
35
|
typedef enum SyncRequestHandler
|
|
36
36
|
{
|
|
37
|
-
SYNC_HANDLER_MD = 0
|
|
37
|
+
SYNC_HANDLER_MD = 0,
|
|
38
|
+
SYNC_HANDLER_CLOG,
|
|
39
|
+
SYNC_HANDLER_COMMIT_TS,
|
|
40
|
+
SYNC_HANDLER_MULTIXACT_OFFSET,
|
|
41
|
+
SYNC_HANDLER_MULTIXACT_MEMBER,
|
|
42
|
+
SYNC_HANDLER_NONE
|
|
38
43
|
} SyncRequestHandler;
|
|
39
44
|
|
|
40
45
|
/*
|
|
@@ -46,7 +51,7 @@ typedef struct FileTag
|
|
|
46
51
|
{
|
|
47
52
|
int16 handler; /* SyncRequestHandler value, saving space */
|
|
48
53
|
int16 forknum; /* ForkNumber, saving space */
|
|
49
|
-
|
|
54
|
+
RelFileLocator rlocator;
|
|
50
55
|
uint32 segno;
|
|
51
56
|
} FileTag;
|
|
52
57
|
|
|
@@ -55,7 +60,6 @@ extern void SyncPreCheckpoint(void);
|
|
|
55
60
|
extern void SyncPostCheckpoint(void);
|
|
56
61
|
extern void ProcessSyncRequests(void);
|
|
57
62
|
extern void RememberSyncRequest(const FileTag *ftag, SyncRequestType type);
|
|
58
|
-
extern void EnableSyncRequestForwarding(void);
|
|
59
63
|
extern bool RegisterSyncRequest(const FileTag *ftag, SyncRequestType type,
|
|
60
64
|
bool retryOnError);
|
|
61
65
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* cmdtag.h
|
|
4
4
|
* Declarations for commandtag names and enumeration.
|
|
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/tcop/cmdtag.h
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
#ifndef CMDTAG_H
|
|
14
14
|
#define CMDTAG_H
|
|
15
15
|
|
|
16
|
+
/* buffer size required for command completion tags */
|
|
17
|
+
#define COMPLETION_TAG_BUFSIZE 64
|
|
16
18
|
|
|
17
19
|
#define PG_CMDTAG(tag, name, evtrgok, rwrok, rowcnt) \
|
|
18
20
|
tag,
|
|
@@ -50,9 +52,12 @@ CopyQueryCompletion(QueryCompletion *dst, const QueryCompletion *src)
|
|
|
50
52
|
|
|
51
53
|
extern void InitializeQueryCompletion(QueryCompletion *qc);
|
|
52
54
|
extern const char *GetCommandTagName(CommandTag commandTag);
|
|
55
|
+
extern const char *GetCommandTagNameAndLen(CommandTag commandTag, Size *len);
|
|
53
56
|
extern bool command_tag_display_rowcount(CommandTag commandTag);
|
|
54
57
|
extern bool command_tag_event_trigger_ok(CommandTag commandTag);
|
|
55
58
|
extern bool command_tag_table_rewrite_ok(CommandTag commandTag);
|
|
56
|
-
extern CommandTag GetCommandTagEnum(const char *
|
|
59
|
+
extern CommandTag GetCommandTagEnum(const char *commandname);
|
|
60
|
+
extern Size BuildQueryCompletionString(char *buff, const QueryCompletion *qc,
|
|
61
|
+
bool nameonly);
|
|
57
62
|
|
|
58
63
|
#endif /* CMDTAG_H */
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* determined by the PG_CMDTAG macro, which is not defined in this file;
|
|
9
9
|
* it can be defined by the caller for special purposes.
|
|
10
10
|
*
|
|
11
|
-
* Portions Copyright (c) 1996-
|
|
11
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
12
12
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
13
13
|
*
|
|
14
14
|
* src/include/tcop/cmdtaglist.h
|
|
@@ -42,7 +42,7 @@ PG_CMDTAG(CMDTAG_ALTER_FUNCTION, "ALTER FUNCTION", true, false, false)
|
|
|
42
42
|
PG_CMDTAG(CMDTAG_ALTER_INDEX, "ALTER INDEX", true, false, false)
|
|
43
43
|
PG_CMDTAG(CMDTAG_ALTER_LANGUAGE, "ALTER LANGUAGE", true, false, false)
|
|
44
44
|
PG_CMDTAG(CMDTAG_ALTER_LARGE_OBJECT, "ALTER LARGE OBJECT", true, false, false)
|
|
45
|
-
PG_CMDTAG(CMDTAG_ALTER_MATERIALIZED_VIEW, "ALTER MATERIALIZED VIEW", true,
|
|
45
|
+
PG_CMDTAG(CMDTAG_ALTER_MATERIALIZED_VIEW, "ALTER MATERIALIZED VIEW", true, true, false)
|
|
46
46
|
PG_CMDTAG(CMDTAG_ALTER_OPERATOR, "ALTER OPERATOR", true, false, false)
|
|
47
47
|
PG_CMDTAG(CMDTAG_ALTER_OPERATOR_CLASS, "ALTER OPERATOR CLASS", true, false, false)
|
|
48
48
|
PG_CMDTAG(CMDTAG_ALTER_OPERATOR_FAMILY, "ALTER OPERATOR FAMILY", true, false, false)
|
|
@@ -186,6 +186,7 @@ PG_CMDTAG(CMDTAG_INSERT, "INSERT", false, false, true)
|
|
|
186
186
|
PG_CMDTAG(CMDTAG_LISTEN, "LISTEN", false, false, false)
|
|
187
187
|
PG_CMDTAG(CMDTAG_LOAD, "LOAD", false, false, false)
|
|
188
188
|
PG_CMDTAG(CMDTAG_LOCK_TABLE, "LOCK TABLE", false, false, false)
|
|
189
|
+
PG_CMDTAG(CMDTAG_MERGE, "MERGE", false, false, true)
|
|
189
190
|
PG_CMDTAG(CMDTAG_MOVE, "MOVE", false, false, true)
|
|
190
191
|
PG_CMDTAG(CMDTAG_NOTIFY, "NOTIFY", false, false, false)
|
|
191
192
|
PG_CMDTAG(CMDTAG_PREPARE, "PREPARE", false, false, false)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
*
|
|
3
3
|
* deparse_utility.h
|
|
4
4
|
*
|
|
5
|
-
* Portions Copyright (c) 1996-
|
|
5
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
6
6
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
7
7
|
*
|
|
8
8
|
* src/include/tcop/deparse_utility.h
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
* calls in portal and cursor manipulations.
|
|
58
58
|
*
|
|
59
59
|
*
|
|
60
|
-
* Portions Copyright (c) 1996-
|
|
60
|
+
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
|
|
61
61
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
62
62
|
*
|
|
63
63
|
* src/include/tcop/dest.h
|
|
@@ -71,8 +71,6 @@
|
|
|
71
71
|
#include "tcop/cmdtag.h"
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
/* buffer size to use for command completion tags */
|
|
75
|
-
#define COMPLETION_TAG_BUFSIZE 64
|
|
76
74
|
|
|
77
75
|
|
|
78
76
|
/* ----------------
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* fastpath.h
|
|
4
4
|
*
|
|
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/tcop/fastpath.h
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
|
|
16
16
|
#include "lib/stringinfo.h"
|
|
17
17
|
|
|
18
|
-
extern int GetOldFunctionMessage(StringInfo buf);
|
|
19
18
|
extern void HandleFunctionRequest(StringInfo msgBuf);
|
|
20
19
|
|
|
21
20
|
#endif /* FASTPATH_H */
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* prototypes for pquery.c.
|
|
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/tcop/pquery.h
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
#include "nodes/parsenodes.h"
|
|
18
18
|
#include "utils/portal.h"
|
|
19
19
|
|
|
20
|
+
struct PlannedStmt; /* avoid including plannodes.h here */
|
|
21
|
+
|
|
20
22
|
|
|
21
23
|
extern PGDLLIMPORT Portal ActivePortal;
|
|
22
24
|
|
|
@@ -42,4 +44,8 @@ extern uint64 PortalRunFetch(Portal portal,
|
|
|
42
44
|
long count,
|
|
43
45
|
DestReceiver *dest);
|
|
44
46
|
|
|
47
|
+
extern bool PlannedStmtRequiresSnapshot(struct PlannedStmt *pstmt);
|
|
48
|
+
|
|
49
|
+
extern void EnsurePortalSnapshotExists(void);
|
|
50
|
+
|
|
45
51
|
#endif /* PQUERY_H */
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* prototypes for postgres.c.
|
|
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/tcop/tcopprot.h
|
|
@@ -25,10 +25,11 @@
|
|
|
25
25
|
/* Required daylight between max_stack_depth and the kernel limit, in bytes */
|
|
26
26
|
#define STACK_DEPTH_SLOP (512 * 1024L)
|
|
27
27
|
|
|
28
|
-
extern __thread
|
|
28
|
+
extern PGDLLIMPORT __thread CommandDest whereToSendOutput;
|
|
29
29
|
extern PGDLLIMPORT __thread const char *debug_query_string;
|
|
30
|
-
extern __thread
|
|
31
|
-
extern int
|
|
30
|
+
extern PGDLLIMPORT __thread int max_stack_depth;
|
|
31
|
+
extern PGDLLIMPORT int PostAuthDelay;
|
|
32
|
+
extern PGDLLIMPORT int client_connection_check_interval;
|
|
32
33
|
|
|
33
34
|
/* GUC-configurable parameters */
|
|
34
35
|
|
|
@@ -43,11 +44,17 @@ typedef enum
|
|
|
43
44
|
extern PGDLLIMPORT int log_statement;
|
|
44
45
|
|
|
45
46
|
extern List *pg_parse_query(const char *query_string);
|
|
46
|
-
extern List *
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
extern List *pg_rewrite_query(Query *query);
|
|
48
|
+
extern List *pg_analyze_and_rewrite_fixedparams(RawStmt *parsetree,
|
|
49
|
+
const char *query_string,
|
|
50
|
+
const Oid *paramTypes, int numParams,
|
|
51
|
+
QueryEnvironment *queryEnv);
|
|
52
|
+
extern List *pg_analyze_and_rewrite_varparams(RawStmt *parsetree,
|
|
53
|
+
const char *query_string,
|
|
54
|
+
Oid **paramTypes,
|
|
55
|
+
int *numParams,
|
|
56
|
+
QueryEnvironment *queryEnv);
|
|
57
|
+
extern List *pg_analyze_and_rewrite_withcb(RawStmt *parsetree,
|
|
51
58
|
const char *query_string,
|
|
52
59
|
ParserSetupHook parserSetup,
|
|
53
60
|
void *parserSetupArg,
|
|
@@ -59,9 +66,6 @@ extern List *pg_plan_queries(List *querytrees, const char *query_string,
|
|
|
59
66
|
int cursorOptions,
|
|
60
67
|
ParamListInfo boundParams);
|
|
61
68
|
|
|
62
|
-
extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
|
|
63
|
-
extern void assign_max_stack_depth(int newval, void *extra);
|
|
64
|
-
|
|
65
69
|
extern void die(SIGNAL_ARGS);
|
|
66
70
|
extern void quickdie(SIGNAL_ARGS) pg_attribute_noreturn();
|
|
67
71
|
extern void StatementCancelHandler(SIGNAL_ARGS);
|
|
@@ -73,8 +77,9 @@ extern void ProcessClientWriteInterrupt(bool blocked);
|
|
|
73
77
|
|
|
74
78
|
extern void process_postgres_switches(int argc, char *argv[],
|
|
75
79
|
GucContext ctx, const char **dbname);
|
|
76
|
-
extern void
|
|
77
|
-
|
|
80
|
+
extern void PostgresSingleUserMain(int argc, char *argv[],
|
|
81
|
+
const char *username) pg_attribute_noreturn();
|
|
82
|
+
extern void PostgresMain(const char *dbname,
|
|
78
83
|
const char *username) pg_attribute_noreturn();
|
|
79
84
|
extern long get_stack_depth_rlimit(void);
|
|
80
85
|
extern void ResetUsage(void);
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* prototypes for utility.c.
|
|
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/tcop/utility.h
|
|
@@ -51,7 +51,7 @@ typedef struct AlterTableUtilityContext
|
|
|
51
51
|
*
|
|
52
52
|
* COMMAND_OK_IN_RECOVERY means that the command is permissible even when in
|
|
53
53
|
* recovery. It can't write WAL, nor can it do things that would imperil
|
|
54
|
-
* replay of future WAL received from the
|
|
54
|
+
* replay of future WAL received from the primary.
|
|
55
55
|
*/
|
|
56
56
|
#define COMMAND_OK_IN_READ_ONLY_TXN 0x0001
|
|
57
57
|
#define COMMAND_OK_IN_PARALLEL_MODE 0x0002
|
|
@@ -69,17 +69,21 @@ typedef struct AlterTableUtilityContext
|
|
|
69
69
|
|
|
70
70
|
/* Hook for plugins to get control in ProcessUtility() */
|
|
71
71
|
typedef void (*ProcessUtility_hook_type) (PlannedStmt *pstmt,
|
|
72
|
-
const char *queryString,
|
|
72
|
+
const char *queryString,
|
|
73
|
+
bool readOnlyTree,
|
|
74
|
+
ProcessUtilityContext context,
|
|
73
75
|
ParamListInfo params,
|
|
74
76
|
QueryEnvironment *queryEnv,
|
|
75
77
|
DestReceiver *dest, QueryCompletion *qc);
|
|
76
78
|
extern PGDLLIMPORT ProcessUtility_hook_type ProcessUtility_hook;
|
|
77
79
|
|
|
78
80
|
extern void ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|
81
|
+
bool readOnlyTree,
|
|
79
82
|
ProcessUtilityContext context, ParamListInfo params,
|
|
80
83
|
QueryEnvironment *queryEnv,
|
|
81
84
|
DestReceiver *dest, QueryCompletion *qc);
|
|
82
85
|
extern void standard_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
|
|
86
|
+
bool readOnlyTree,
|
|
83
87
|
ProcessUtilityContext context, ParamListInfo params,
|
|
84
88
|
QueryEnvironment *queryEnv,
|
|
85
89
|
DestReceiver *dest, QueryCompletion *qc);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* ts_cache.h
|
|
4
4
|
* Tsearch related object caches.
|
|
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/tsearch/ts_cache.h
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
#ifndef TS_CACHE_H
|
|
14
14
|
#define TS_CACHE_H
|
|
15
15
|
|
|
16
|
-
#include "
|
|
16
|
+
#include "fmgr.h"
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
/*
|
|
@@ -84,7 +84,7 @@ typedef struct
|
|
|
84
84
|
/*
|
|
85
85
|
* GUC variable for current configuration
|
|
86
86
|
*/
|
|
87
|
-
extern char *TSCurrentConfig;
|
|
87
|
+
extern PGDLLIMPORT char *TSCurrentConfig;
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
extern TSParserCacheEntry *lookup_ts_parser_cache(Oid prsId);
|
|
@@ -92,7 +92,5 @@ extern TSDictionaryCacheEntry *lookup_ts_dictionary_cache(Oid dictId);
|
|
|
92
92
|
extern TSConfigCacheEntry *lookup_ts_config_cache(Oid cfgId);
|
|
93
93
|
|
|
94
94
|
extern Oid getTSCurrentConfig(bool emitError);
|
|
95
|
-
extern bool check_TSCurrentConfig(char **newval, void **extra, GucSource source);
|
|
96
|
-
extern void assign_TSCurrentConfig(const char *newval, void *extra);
|
|
97
95
|
|
|
98
96
|
#endif /* TS_CACHE_H */
|