pg_query 5.1.0 → 6.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.
Files changed (490) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/Rakefile +4 -4
  5. data/ext/pg_query/ext_symbols_freebsd.sym +1 -0
  6. data/ext/pg_query/ext_symbols_freebsd_with_ruby_abi_version.sym +2 -0
  7. data/ext/pg_query/ext_symbols_openbsd.sym +1 -0
  8. data/ext/pg_query/ext_symbols_openbsd_with_ruby_abi_version.sym +2 -0
  9. data/ext/pg_query/ext_symbols_with_ruby_abi_version.sym +2 -0
  10. data/ext/pg_query/extconf.rb +20 -6
  11. data/ext/pg_query/include/pg_query.h +4 -3
  12. data/ext/pg_query/include/pg_query_enum_defs.c +424 -154
  13. data/ext/pg_query/include/pg_query_fingerprint_conds.c +68 -4
  14. data/ext/pg_query/include/pg_query_fingerprint_defs.c +2952 -1845
  15. data/ext/pg_query/include/pg_query_outfuncs_conds.c +51 -3
  16. data/ext/pg_query/include/pg_query_outfuncs_defs.c +210 -23
  17. data/ext/pg_query/include/pg_query_readfuncs_conds.c +17 -1
  18. data/ext/pg_query/include/pg_query_readfuncs_defs.c +271 -52
  19. data/ext/pg_query/include/postgres/access/amapi.h +14 -3
  20. data/ext/pg_query/include/postgres/access/attmap.h +1 -1
  21. data/ext/pg_query/include/postgres/access/attnum.h +1 -1
  22. data/ext/pg_query/include/postgres/access/brin_internal.h +116 -0
  23. data/ext/pg_query/include/postgres/access/brin_tuple.h +112 -0
  24. data/ext/pg_query/include/postgres/access/clog.h +2 -3
  25. data/ext/pg_query/include/postgres/access/commit_ts.h +2 -3
  26. data/ext/pg_query/include/postgres/access/detoast.h +1 -1
  27. data/ext/pg_query/include/postgres/access/genam.h +17 -4
  28. data/ext/pg_query/include/postgres/access/gin.h +1 -1
  29. data/ext/pg_query/include/postgres/access/htup.h +1 -1
  30. data/ext/pg_query/include/postgres/access/htup_details.h +11 -11
  31. data/ext/pg_query/include/postgres/access/itup.h +3 -3
  32. data/ext/pg_query/include/postgres/access/parallel.h +1 -2
  33. data/ext/pg_query/include/postgres/access/printtup.h +1 -1
  34. data/ext/pg_query/include/postgres/access/relation.h +1 -1
  35. data/ext/pg_query/include/postgres/access/relscan.h +1 -1
  36. data/ext/pg_query/include/postgres/access/rmgrlist.h +1 -1
  37. data/ext/pg_query/include/postgres/access/sdir.h +1 -1
  38. data/ext/pg_query/include/postgres/access/skey.h +1 -1
  39. data/ext/pg_query/include/postgres/access/slru.h +218 -0
  40. data/ext/pg_query/include/postgres/access/stratnum.h +1 -1
  41. data/ext/pg_query/include/postgres/access/sysattr.h +1 -1
  42. data/ext/pg_query/include/postgres/access/table.h +1 -1
  43. data/ext/pg_query/include/postgres/access/tableam.h +35 -25
  44. data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
  45. data/ext/pg_query/include/postgres/access/toast_compression.h +2 -2
  46. data/ext/pg_query/include/postgres/access/transam.h +50 -7
  47. data/ext/pg_query/include/postgres/access/tsmapi.h +1 -1
  48. data/ext/pg_query/include/postgres/access/tupconvert.h +1 -1
  49. data/ext/pg_query/include/postgres/access/tupdesc.h +5 -5
  50. data/ext/pg_query/include/postgres/access/tupmacs.h +1 -1
  51. data/ext/pg_query/include/postgres/access/twophase.h +2 -2
  52. data/ext/pg_query/include/postgres/access/xact.h +5 -5
  53. data/ext/pg_query/include/postgres/access/xlog.h +20 -12
  54. data/ext/pg_query/include/postgres/access/xlog_internal.h +4 -3
  55. data/ext/pg_query/include/postgres/access/xlogbackup.h +3 -1
  56. data/ext/pg_query/include/postgres/access/xlogdefs.h +5 -5
  57. data/ext/pg_query/include/postgres/access/xlogprefetcher.h +2 -2
  58. data/ext/pg_query/include/postgres/access/xlogreader.h +2 -2
  59. data/ext/pg_query/include/postgres/access/xlogrecord.h +3 -3
  60. data/ext/pg_query/include/postgres/access/xlogrecovery.h +4 -4
  61. data/ext/pg_query/include/postgres/archive/archive_module.h +9 -1
  62. data/ext/pg_query/include/postgres/c.h +32 -37
  63. data/ext/pg_query/include/postgres/catalog/catalog.h +3 -1
  64. data/ext/pg_query/include/postgres/catalog/catversion.h +2 -2
  65. data/ext/pg_query/include/postgres/catalog/dependency.h +17 -59
  66. data/ext/pg_query/include/postgres/catalog/genbki.h +12 -6
  67. data/ext/pg_query/include/postgres/catalog/index.h +22 -18
  68. data/ext/pg_query/include/postgres/catalog/indexing.h +1 -1
  69. data/ext/pg_query/include/postgres/catalog/namespace.h +18 -19
  70. data/ext/pg_query/include/postgres/catalog/objectaccess.h +2 -2
  71. data/ext/pg_query/include/postgres/catalog/objectaddress.h +5 -1
  72. data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +4 -2
  73. data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +1 -1
  74. data/ext/pg_query/include/postgres/catalog/pg_am.h +6 -3
  75. data/ext/pg_query/include/postgres/catalog/pg_am_d.h +1 -1
  76. data/ext/pg_query/include/postgres/catalog/pg_attribute.h +31 -14
  77. data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +3 -3
  78. data/ext/pg_query/include/postgres/catalog/pg_authid.h +6 -3
  79. data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +2 -1
  80. data/ext/pg_query/include/postgres/catalog/pg_class.h +10 -5
  81. data/ext/pg_query/include/postgres/catalog/pg_class_d.h +4 -2
  82. data/ext/pg_query/include/postgres/catalog/pg_collation.h +11 -5
  83. data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +5 -2
  84. data/ext/pg_query/include/postgres/catalog/pg_constraint.h +15 -10
  85. data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +2 -1
  86. data/ext/pg_query/include/postgres/catalog/pg_control.h +5 -3
  87. data/ext/pg_query/include/postgres/catalog/pg_conversion.h +8 -4
  88. data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +1 -1
  89. data/ext/pg_query/include/postgres/catalog/pg_database.h +9 -4
  90. data/ext/pg_query/include/postgres/catalog/pg_database_d.h +13 -12
  91. data/ext/pg_query/include/postgres/catalog/pg_depend.h +3 -3
  92. data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +1 -1
  93. data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +6 -3
  94. data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +1 -1
  95. data/ext/pg_query/include/postgres/catalog/pg_index.h +5 -3
  96. data/ext/pg_query/include/postgres/catalog/pg_index_d.h +1 -1
  97. data/ext/pg_query/include/postgres/catalog/pg_language.h +6 -3
  98. data/ext/pg_query/include/postgres/catalog/pg_language_d.h +1 -1
  99. data/ext/pg_query/include/postgres/catalog/pg_namespace.h +6 -3
  100. data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +1 -1
  101. data/ext/pg_query/include/postgres/catalog/pg_opclass.h +6 -3
  102. data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +1 -1
  103. data/ext/pg_query/include/postgres/catalog/pg_operator.h +20 -3
  104. data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +1 -1
  105. data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +6 -3
  106. data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +1 -1
  107. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +4 -2
  108. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +1 -1
  109. data/ext/pg_query/include/postgres/catalog/pg_proc.h +6 -3
  110. data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +1 -1
  111. data/ext/pg_query/include/postgres/catalog/pg_publication.h +6 -3
  112. data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +1 -1
  113. data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +6 -3
  114. data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +1 -1
  115. data/ext/pg_query/include/postgres/catalog/pg_statistic.h +10 -4
  116. data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +7 -3
  117. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +10 -7
  118. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +3 -3
  119. data/ext/pg_query/include/postgres/catalog/pg_transform.h +6 -3
  120. data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +1 -1
  121. data/ext/pg_query/include/postgres/catalog/pg_trigger.h +4 -4
  122. data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +1 -1
  123. data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +6 -3
  124. data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +1 -1
  125. data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +6 -3
  126. data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +1 -1
  127. data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +6 -3
  128. data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +1 -1
  129. data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +6 -3
  130. data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +1 -1
  131. data/ext/pg_query/include/postgres/catalog/pg_type.h +6 -3
  132. data/ext/pg_query/include/postgres/catalog/pg_type_d.h +1 -1
  133. data/ext/pg_query/include/postgres/catalog/storage.h +1 -1
  134. data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
  135. data/ext/pg_query/include/postgres/commands/async.h +2 -6
  136. data/ext/pg_query/include/postgres/commands/dbcommands.h +1 -1
  137. data/ext/pg_query/include/postgres/commands/defrem.h +6 -6
  138. data/ext/pg_query/include/postgres/commands/event_trigger.h +11 -2
  139. data/ext/pg_query/include/postgres/commands/explain.h +19 -3
  140. data/ext/pg_query/include/postgres/commands/prepare.h +1 -1
  141. data/ext/pg_query/include/postgres/commands/tablespace.h +1 -1
  142. data/ext/pg_query/include/postgres/commands/trigger.h +1 -1
  143. data/ext/pg_query/include/postgres/commands/vacuum.h +28 -26
  144. data/ext/pg_query/include/postgres/common/cryptohash.h +2 -2
  145. data/ext/pg_query/include/postgres/common/file_perm.h +1 -1
  146. data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
  147. data/ext/pg_query/include/postgres/common/hashfn.h +16 -1
  148. data/ext/pg_query/include/postgres/common/hashfn_unstable.h +407 -0
  149. data/ext/pg_query/include/postgres/common/int.h +79 -4
  150. data/ext/pg_query/include/postgres/common/keywords.h +1 -1
  151. data/ext/pg_query/include/postgres/common/kwlookup.h +1 -1
  152. data/ext/pg_query/include/postgres/common/pg_prng.h +2 -1
  153. data/ext/pg_query/include/postgres/common/relpath.h +4 -4
  154. data/ext/pg_query/include/postgres/common/scram-common.h +1 -1
  155. data/ext/pg_query/include/postgres/common/sha2.h +1 -1
  156. data/ext/pg_query/include/postgres/common/string.h +1 -1
  157. data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +2 -3
  158. data/ext/pg_query/include/postgres/copyfuncs.funcs.c +278 -30
  159. data/ext/pg_query/include/postgres/copyfuncs.switch.c +55 -4
  160. data/ext/pg_query/include/postgres/datatype/timestamp.h +29 -3
  161. data/ext/pg_query/include/postgres/equalfuncs.funcs.c +239 -26
  162. data/ext/pg_query/include/postgres/equalfuncs.switch.c +55 -4
  163. data/ext/pg_query/include/postgres/executor/execdesc.h +2 -2
  164. data/ext/pg_query/include/postgres/executor/executor.h +6 -5
  165. data/ext/pg_query/include/postgres/executor/functions.h +2 -1
  166. data/ext/pg_query/include/postgres/executor/instrument.h +5 -3
  167. data/ext/pg_query/include/postgres/executor/spi.h +2 -8
  168. data/ext/pg_query/include/postgres/executor/tablefunc.h +1 -1
  169. data/ext/pg_query/include/postgres/executor/tuptable.h +31 -2
  170. data/ext/pg_query/include/postgres/fmgr.h +2 -2
  171. data/ext/pg_query/include/postgres/foreign/fdwapi.h +1 -1
  172. data/ext/pg_query/include/postgres/funcapi.h +2 -2
  173. data/ext/pg_query/include/postgres/gram.h +871 -830
  174. data/ext/pg_query/include/postgres/gramparse.h +1 -1
  175. data/ext/pg_query/include/postgres/jit/jit.h +4 -3
  176. data/ext/pg_query/include/postgres/kwlist_d.h +511 -466
  177. data/ext/pg_query/include/postgres/lib/dshash.h +25 -10
  178. data/ext/pg_query/include/postgres/lib/ilist.h +1 -1
  179. data/ext/pg_query/include/postgres/lib/pairingheap.h +1 -1
  180. data/ext/pg_query/include/postgres/lib/simplehash.h +40 -18
  181. data/ext/pg_query/include/postgres/lib/sort_template.h +14 -1
  182. data/ext/pg_query/include/postgres/lib/stringinfo.h +93 -11
  183. data/ext/pg_query/include/postgres/libpq/auth.h +1 -1
  184. data/ext/pg_query/include/postgres/libpq/crypt.h +2 -2
  185. data/ext/pg_query/include/postgres/libpq/hba.h +4 -4
  186. data/ext/pg_query/include/postgres/libpq/libpq-be.h +35 -28
  187. data/ext/pg_query/include/postgres/libpq/libpq.h +6 -7
  188. data/ext/pg_query/include/postgres/libpq/pqcomm.h +26 -20
  189. data/ext/pg_query/include/postgres/libpq/pqformat.h +2 -3
  190. data/ext/pg_query/include/postgres/libpq/pqsignal.h +1 -1
  191. data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
  192. data/ext/pg_query/include/postgres/libpq/sasl.h +1 -1
  193. data/ext/pg_query/include/postgres/libpq/scram.h +1 -1
  194. data/ext/pg_query/include/postgres/mb/pg_wchar.h +103 -82
  195. data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +1 -1
  196. data/ext/pg_query/include/postgres/miscadmin.h +72 -52
  197. data/ext/pg_query/include/postgres/nodes/bitmapset.h +17 -3
  198. data/ext/pg_query/include/postgres/nodes/execnodes.h +112 -25
  199. data/ext/pg_query/include/postgres/nodes/extensible.h +1 -1
  200. data/ext/pg_query/include/postgres/nodes/lockoptions.h +4 -4
  201. data/ext/pg_query/include/postgres/nodes/makefuncs.h +8 -2
  202. data/ext/pg_query/include/postgres/nodes/memnodes.h +43 -4
  203. data/ext/pg_query/include/postgres/nodes/miscnodes.h +1 -1
  204. data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +1 -1
  205. data/ext/pg_query/include/postgres/nodes/nodes.h +30 -41
  206. data/ext/pg_query/include/postgres/nodes/nodetags.h +464 -444
  207. data/ext/pg_query/include/postgres/nodes/params.h +1 -1
  208. data/ext/pg_query/include/postgres/nodes/parsenodes.h +358 -175
  209. data/ext/pg_query/include/postgres/nodes/pathnodes.h +64 -10
  210. data/ext/pg_query/include/postgres/nodes/pg_list.h +62 -11
  211. data/ext/pg_query/include/postgres/nodes/plannodes.h +11 -10
  212. data/ext/pg_query/include/postgres/nodes/primnodes.h +352 -54
  213. data/ext/pg_query/include/postgres/nodes/print.h +1 -1
  214. data/ext/pg_query/include/postgres/nodes/queryjumble.h +2 -2
  215. data/ext/pg_query/include/postgres/nodes/replnodes.h +23 -2
  216. data/ext/pg_query/include/postgres/nodes/supportnodes.h +1 -1
  217. data/ext/pg_query/include/postgres/nodes/tidbitmap.h +1 -1
  218. data/ext/pg_query/include/postgres/nodes/value.h +1 -1
  219. data/ext/pg_query/include/postgres/optimizer/cost.h +5 -4
  220. data/ext/pg_query/include/postgres/optimizer/geqo.h +1 -1
  221. data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +1 -1
  222. data/ext/pg_query/include/postgres/optimizer/optimizer.h +5 -2
  223. data/ext/pg_query/include/postgres/optimizer/paths.h +13 -8
  224. data/ext/pg_query/include/postgres/optimizer/planmain.h +7 -1
  225. data/ext/pg_query/include/postgres/parser/analyze.h +3 -1
  226. data/ext/pg_query/include/postgres/parser/kwlist.h +22 -2
  227. data/ext/pg_query/include/postgres/parser/parse_agg.h +1 -1
  228. data/ext/pg_query/include/postgres/parser/parse_coerce.h +5 -2
  229. data/ext/pg_query/include/postgres/parser/parse_expr.h +1 -1
  230. data/ext/pg_query/include/postgres/parser/parse_func.h +2 -2
  231. data/ext/pg_query/include/postgres/parser/parse_node.h +3 -2
  232. data/ext/pg_query/include/postgres/parser/parse_oper.h +4 -1
  233. data/ext/pg_query/include/postgres/parser/parse_relation.h +1 -1
  234. data/ext/pg_query/include/postgres/parser/parse_type.h +2 -2
  235. data/ext/pg_query/include/postgres/parser/parser.h +3 -3
  236. data/ext/pg_query/include/postgres/parser/parsetree.h +1 -1
  237. data/ext/pg_query/include/postgres/parser/scanner.h +1 -1
  238. data/ext/pg_query/include/postgres/parser/scansup.h +1 -1
  239. data/ext/pg_query/include/postgres/partitioning/partdefs.h +1 -1
  240. data/ext/pg_query/include/postgres/pg_config.h +53 -45
  241. data/ext/pg_query/include/postgres/pg_config_manual.h +21 -8
  242. data/ext/pg_query/include/postgres/pg_getopt.h +1 -1
  243. data/ext/pg_query/include/postgres/pg_trace.h +1 -1
  244. data/ext/pg_query/include/postgres/pgstat.h +13 -11
  245. data/ext/pg_query/include/postgres/pgtime.h +1 -1
  246. data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +1 -1
  247. data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +1 -1
  248. data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +1 -1
  249. data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +1 -1
  250. data/ext/pg_query/include/postgres/plerrcodes.h +4 -4
  251. data/ext/pg_query/include/postgres/plpgsql.h +15 -13
  252. data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +1 -1
  253. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +1 -1
  254. data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +3 -1
  255. data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +3 -1
  256. data/ext/pg_query/include/postgres/port/atomics/fallback.h +1 -1
  257. data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +38 -1
  258. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +19 -1
  259. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +16 -1
  260. data/ext/pg_query/include/postgres/port/atomics/generic.h +38 -2
  261. data/ext/pg_query/include/postgres/port/atomics.h +93 -6
  262. data/ext/pg_query/include/postgres/port/pg_bitutils.h +91 -9
  263. data/ext/pg_query/include/postgres/port/pg_bswap.h +1 -1
  264. data/ext/pg_query/include/postgres/port/pg_crc32c.h +10 -1
  265. data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
  266. data/ext/pg_query/include/postgres/port/simd.h +48 -1
  267. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +8 -0
  268. data/ext/pg_query/include/postgres/port/win32_port.h +1 -13
  269. data/ext/pg_query/include/postgres/port.h +39 -4
  270. data/ext/pg_query/include/postgres/portability/instr_time.h +1 -1
  271. data/ext/pg_query/include/postgres/postgres.h +1 -1
  272. data/ext/pg_query/include/postgres/postmaster/autovacuum.h +5 -16
  273. data/ext/pg_query/include/postgres/postmaster/bgworker.h +8 -6
  274. data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +3 -7
  275. data/ext/pg_query/include/postgres/postmaster/bgwriter.h +3 -3
  276. data/ext/pg_query/include/postgres/postmaster/interrupt.h +1 -1
  277. data/ext/pg_query/include/postgres/postmaster/pgarch.h +2 -2
  278. data/ext/pg_query/include/postgres/postmaster/postmaster.h +25 -5
  279. data/ext/pg_query/include/postgres/postmaster/startup.h +2 -2
  280. data/ext/pg_query/include/postgres/postmaster/syslogger.h +2 -4
  281. data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
  282. data/ext/pg_query/include/postgres/postmaster/walwriter.h +2 -2
  283. data/ext/pg_query/include/postgres/regex/regex.h +92 -9
  284. data/ext/pg_query/include/postgres/replication/logicallauncher.h +1 -1
  285. data/ext/pg_query/include/postgres/replication/logicalproto.h +2 -2
  286. data/ext/pg_query/include/postgres/replication/logicalworker.h +2 -1
  287. data/ext/pg_query/include/postgres/replication/origin.h +1 -1
  288. data/ext/pg_query/include/postgres/replication/reorderbuffer.h +27 -46
  289. data/ext/pg_query/include/postgres/replication/slot.h +45 -5
  290. data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
  291. data/ext/pg_query/include/postgres/replication/syncrep.h +1 -1
  292. data/ext/pg_query/include/postgres/replication/walreceiver.h +37 -11
  293. data/ext/pg_query/include/postgres/replication/walsender.h +5 -3
  294. data/ext/pg_query/include/postgres/rewrite/prs2lock.h +1 -1
  295. data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +7 -1
  296. data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +2 -2
  297. data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +1 -1
  298. data/ext/pg_query/include/postgres/storage/block.h +1 -1
  299. data/ext/pg_query/include/postgres/storage/buf.h +1 -1
  300. data/ext/pg_query/include/postgres/storage/bufmgr.h +59 -41
  301. data/ext/pg_query/include/postgres/storage/bufpage.h +1 -1
  302. data/ext/pg_query/include/postgres/storage/condition_variable.h +1 -1
  303. data/ext/pg_query/include/postgres/storage/dsm.h +1 -1
  304. data/ext/pg_query/include/postgres/storage/dsm_impl.h +2 -2
  305. data/ext/pg_query/include/postgres/storage/fd.h +30 -13
  306. data/ext/pg_query/include/postgres/storage/fileset.h +1 -1
  307. data/ext/pg_query/include/postgres/storage/ipc.h +4 -1
  308. data/ext/pg_query/include/postgres/storage/item.h +1 -1
  309. data/ext/pg_query/include/postgres/storage/itemid.h +1 -1
  310. data/ext/pg_query/include/postgres/storage/itemptr.h +1 -1
  311. data/ext/pg_query/include/postgres/storage/large_object.h +1 -1
  312. data/ext/pg_query/include/postgres/storage/latch.h +4 -2
  313. data/ext/pg_query/include/postgres/storage/lmgr.h +8 -2
  314. data/ext/pg_query/include/postgres/storage/lock.h +19 -19
  315. data/ext/pg_query/include/postgres/storage/lockdefs.h +3 -1
  316. data/ext/pg_query/include/postgres/storage/lwlock.h +17 -9
  317. data/ext/pg_query/include/postgres/storage/lwlocknames.h +7 -10
  318. data/ext/pg_query/include/postgres/storage/off.h +1 -1
  319. data/ext/pg_query/include/postgres/storage/pg_sema.h +1 -1
  320. data/ext/pg_query/include/postgres/storage/pg_shmem.h +5 -4
  321. data/ext/pg_query/include/postgres/storage/pmsignal.h +2 -2
  322. data/ext/pg_query/include/postgres/storage/predicate.h +1 -5
  323. data/ext/pg_query/include/postgres/storage/proc.h +48 -26
  324. data/ext/pg_query/include/postgres/storage/procarray.h +5 -1
  325. data/ext/pg_query/include/postgres/storage/proclist_types.h +11 -9
  326. data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
  327. data/ext/pg_query/include/postgres/storage/procsignal.h +8 -6
  328. data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
  329. data/ext/pg_query/include/postgres/storage/relfilelocator.h +16 -15
  330. data/ext/pg_query/include/postgres/storage/s_lock.h +7 -27
  331. data/ext/pg_query/include/postgres/storage/sharedfileset.h +1 -1
  332. data/ext/pg_query/include/postgres/storage/shm_mq.h +2 -2
  333. data/ext/pg_query/include/postgres/storage/shm_toc.h +1 -1
  334. data/ext/pg_query/include/postgres/storage/shmem.h +1 -1
  335. data/ext/pg_query/include/postgres/storage/sinval.h +3 -3
  336. data/ext/pg_query/include/postgres/storage/smgr.h +46 -29
  337. data/ext/pg_query/include/postgres/storage/spin.h +1 -1
  338. data/ext/pg_query/include/postgres/storage/standby.h +13 -3
  339. data/ext/pg_query/include/postgres/storage/standbydefs.h +2 -2
  340. data/ext/pg_query/include/postgres/storage/sync.h +4 -4
  341. data/ext/pg_query/include/postgres/tcop/cmdtag.h +1 -2
  342. data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +3 -2
  343. data/ext/pg_query/include/postgres/tcop/deparse_utility.h +2 -2
  344. data/ext/pg_query/include/postgres/tcop/dest.h +3 -2
  345. data/ext/pg_query/include/postgres/tcop/fastpath.h +1 -1
  346. data/ext/pg_query/include/postgres/tcop/pquery.h +1 -1
  347. data/ext/pg_query/include/postgres/tcop/tcopprot.h +9 -5
  348. data/ext/pg_query/include/postgres/tcop/utility.h +2 -2
  349. data/ext/pg_query/include/postgres/tsearch/ts_cache.h +1 -1
  350. data/ext/pg_query/include/postgres/utils/acl.h +19 -7
  351. data/ext/pg_query/include/postgres/utils/aclchk_internal.h +1 -1
  352. data/ext/pg_query/include/postgres/utils/array.h +1 -2
  353. data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
  354. data/ext/pg_query/include/postgres/utils/backend_progress.h +3 -2
  355. data/ext/pg_query/include/postgres/utils/backend_status.h +8 -10
  356. data/ext/pg_query/include/postgres/utils/builtins.h +4 -1
  357. data/ext/pg_query/include/postgres/utils/bytea.h +2 -2
  358. data/ext/pg_query/include/postgres/utils/catcache.h +6 -6
  359. data/ext/pg_query/include/postgres/utils/date.h +1 -1
  360. data/ext/pg_query/include/postgres/utils/datetime.h +4 -1
  361. data/ext/pg_query/include/postgres/utils/datum.h +1 -1
  362. data/ext/pg_query/include/postgres/utils/dsa.h +44 -5
  363. data/ext/pg_query/include/postgres/utils/elog.h +3 -8
  364. data/ext/pg_query/include/postgres/utils/errcodes.h +1 -3
  365. data/ext/pg_query/include/postgres/utils/expandeddatum.h +1 -1
  366. data/ext/pg_query/include/postgres/utils/expandedrecord.h +1 -1
  367. data/ext/pg_query/include/postgres/utils/float.h +1 -1
  368. data/ext/pg_query/include/postgres/utils/fmgroids.h +49 -16
  369. data/ext/pg_query/include/postgres/utils/fmgrprotos.h +47 -14
  370. data/ext/pg_query/include/postgres/utils/fmgrtab.h +1 -1
  371. data/ext/pg_query/include/postgres/utils/guc.h +20 -6
  372. data/ext/pg_query/include/postgres/utils/guc_hooks.h +23 -2
  373. data/ext/pg_query/include/postgres/utils/guc_tables.h +6 -5
  374. data/ext/pg_query/include/postgres/utils/hsearch.h +2 -2
  375. data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
  376. data/ext/pg_query/include/postgres/utils/inval.h +1 -1
  377. data/ext/pg_query/include/postgres/utils/logtape.h +5 -5
  378. data/ext/pg_query/include/postgres/utils/lsyscache.h +6 -3
  379. data/ext/pg_query/include/postgres/utils/memdebug.h +1 -1
  380. data/ext/pg_query/include/postgres/utils/memutils.h +12 -5
  381. data/ext/pg_query/include/postgres/utils/memutils_internal.h +53 -13
  382. data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +25 -9
  383. data/ext/pg_query/include/postgres/utils/numeric.h +6 -1
  384. data/ext/pg_query/include/postgres/utils/palloc.h +1 -15
  385. data/ext/pg_query/include/postgres/utils/partcache.h +1 -1
  386. data/ext/pg_query/include/postgres/utils/pg_locale.h +8 -7
  387. data/ext/pg_query/include/postgres/utils/pgstat_internal.h +30 -17
  388. data/ext/pg_query/include/postgres/utils/plancache.h +5 -3
  389. data/ext/pg_query/include/postgres/utils/portal.h +10 -10
  390. data/ext/pg_query/include/postgres/utils/queryenvironment.h +2 -2
  391. data/ext/pg_query/include/postgres/utils/regproc.h +1 -1
  392. data/ext/pg_query/include/postgres/utils/rel.h +14 -15
  393. data/ext/pg_query/include/postgres/utils/relcache.h +2 -5
  394. data/ext/pg_query/include/postgres/utils/reltrigger.h +1 -1
  395. data/ext/pg_query/include/postgres/utils/resowner.h +90 -9
  396. data/ext/pg_query/include/postgres/utils/ruleutils.h +1 -1
  397. data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +1 -1
  398. data/ext/pg_query/include/postgres/utils/snapmgr.h +1 -52
  399. data/ext/pg_query/include/postgres/utils/snapshot.h +2 -2
  400. data/ext/pg_query/include/postgres/utils/sortsupport.h +1 -1
  401. data/ext/pg_query/include/postgres/utils/syscache.h +7 -98
  402. data/ext/pg_query/include/postgres/utils/timeout.h +3 -2
  403. data/ext/pg_query/include/postgres/utils/timestamp.h +1 -1
  404. data/ext/pg_query/include/postgres/utils/tuplesort.h +36 -9
  405. data/ext/pg_query/include/postgres/utils/tuplestore.h +2 -5
  406. data/ext/pg_query/include/postgres/utils/typcache.h +2 -1
  407. data/ext/pg_query/include/postgres/utils/varlena.h +1 -1
  408. data/ext/pg_query/include/postgres/utils/wait_event.h +28 -214
  409. data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
  410. data/ext/pg_query/include/postgres/utils/xml.h +4 -4
  411. data/ext/pg_query/include/postgres/varatt.h +1 -1
  412. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1546 -792
  413. data/ext/pg_query/include/protobuf/pg_query.pb.h +58365 -46595
  414. data/ext/pg_query/pg_query.pb-c.c +6598 -3739
  415. data/ext/pg_query/pg_query_normalize.c +42 -1
  416. data/ext/pg_query/pg_query_outfuncs_json.c +3 -1
  417. data/ext/pg_query/pg_query_parse_plpgsql.c +12 -13
  418. data/ext/pg_query/pg_query_readfuncs_protobuf.c +2 -2
  419. data/ext/pg_query/pg_query_scan.c +1 -1
  420. data/ext/pg_query/postgres_deparse.c +601 -172
  421. data/ext/pg_query/src_backend_catalog_namespace.c +241 -66
  422. data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -3
  423. data/ext/pg_query/src_backend_commands_define.c +2 -3
  424. data/ext/pg_query/src_backend_nodes_bitmapset.c +137 -94
  425. data/ext/pg_query/src_backend_nodes_copyfuncs.c +1 -1
  426. data/ext/pg_query/src_backend_nodes_equalfuncs.c +1 -1
  427. data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
  428. data/ext/pg_query/src_backend_nodes_list.c +3 -7
  429. data/ext/pg_query/src_backend_nodes_makefuncs.c +59 -20
  430. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +109 -2
  431. data/ext/pg_query/src_backend_nodes_value.c +1 -1
  432. data/ext/pg_query/src_backend_parser_gram.c +34491 -32136
  433. data/ext/pg_query/src_backend_parser_parser.c +8 -8
  434. data/ext/pg_query/src_backend_parser_scan.c +5637 -3028
  435. data/ext/pg_query/src_backend_parser_scansup.c +2 -1
  436. data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
  437. data/ext/pg_query/src_backend_tcop_postgres.c +34 -10
  438. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +2 -2
  439. data/ext/pg_query/src_backend_utils_adt_datum.c +8 -6
  440. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  441. data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
  442. data/ext/pg_query/src_backend_utils_adt_numutils.c +4 -5
  443. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +101 -28
  444. data/ext/pg_query/src_backend_utils_error_assert.c +1 -1
  445. data/ext/pg_query/src_backend_utils_error_elog.c +47 -42
  446. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +4 -2
  447. data/ext/pg_query/src_backend_utils_init_globals.c +15 -3
  448. data/ext/pg_query/src_backend_utils_mb_mbutils.c +11 -18
  449. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +16 -6
  450. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +8 -5
  451. data/ext/pg_query/src_backend_utils_mmgr_aset.c +308 -238
  452. data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
  453. data/ext/pg_query/src_backend_utils_mmgr_generation.c +273 -197
  454. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +270 -215
  455. data/ext/pg_query/src_backend_utils_mmgr_slab.c +154 -96
  456. data/ext/pg_query/src_common_encnames.c +43 -44
  457. data/ext/pg_query/src_common_hashfn.c +1 -1
  458. data/ext/pg_query/src_common_keywords.c +1 -1
  459. data/ext/pg_query/src_common_kwlist_d.h +511 -466
  460. data/ext/pg_query/src_common_kwlookup.c +1 -1
  461. data/ext/pg_query/src_common_psprintf.c +3 -3
  462. data/ext/pg_query/src_common_stringinfo.c +18 -1
  463. data/ext/pg_query/src_common_wchar.c +92 -109
  464. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +99 -5
  465. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -1
  466. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +242 -143
  467. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  468. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
  469. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +19 -1
  470. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +1 -1
  471. data/ext/pg_query/src_port_pg_bitutils.c +173 -28
  472. data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
  473. data/ext/pg_query/src_port_snprintf.c +15 -18
  474. data/ext/pg_query/src_port_strerror.c +1 -3
  475. data/ext/pg_query/src_port_strlcpy.c +1 -1
  476. data/lib/pg_query/fingerprint.rb +3 -5
  477. data/lib/pg_query/param_refs.rb +2 -2
  478. data/lib/pg_query/parse.rb +5 -7
  479. data/lib/pg_query/parse_error.rb +1 -0
  480. data/lib/pg_query/pg_query_pb.rb +27 -25
  481. data/lib/pg_query/scan.rb +1 -0
  482. data/lib/pg_query/treewalker.rb +38 -15
  483. data/lib/pg_query/truncate.rb +18 -20
  484. data/lib/pg_query/version.rb +1 -1
  485. metadata +31 -82
  486. data/ext/pg_query/include/postgres/storage/backendid.h +0 -37
  487. data/ext/pg_query/include/postgres/storage/sinvaladt.h +0 -45
  488. data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -2
  489. data/ext/pg_query/src_backend_nodes_nodes.c +0 -38
  490. /data/ext/pg_query/{pg_query_ruby.sym → ext_symbols.sym} +0 -0
@@ -6,7 +6,7 @@
6
6
  * These macros can be used to avoid a catalog lookup when a specific
7
7
  * fmgr-callable function needs to be referenced.
8
8
  *
9
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
9
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
10
10
  * Portions Copyright (c) 1994, Regents of the University of California
11
11
  *
12
12
  * NOTES
@@ -979,7 +979,7 @@
979
979
  #define F_BITLT 1595
980
980
  #define F_BITCMP 1596
981
981
  #define F_PG_ENCODING_TO_CHAR 1597
982
- #define F_RANDOM 1598
982
+ #define F_RANDOM_ 1598
983
983
  #define F_SETSEED 1599
984
984
  #define F_ASIN 1600
985
985
  #define F_ACOS 1601
@@ -1169,7 +1169,7 @@
1169
1169
  #define F_INT2_SUM 1840
1170
1170
  #define F_INT4_SUM 1841
1171
1171
  #define F_INT8_SUM 1842
1172
- #define F_INTERVAL_ACCUM 1843
1172
+ #define F_INTERVAL_AVG_ACCUM 1843
1173
1173
  #define F_INTERVAL_AVG 1844
1174
1174
  #define F_TO_ASCII_TEXT 1845
1175
1175
  #define F_TO_ASCII_TEXT_INT4 1846
@@ -1816,13 +1816,12 @@
1816
1816
  #define F_REGEXP_SPLIT_TO_TABLE_TEXT_TEXT_TEXT 2766
1817
1817
  #define F_REGEXP_SPLIT_TO_ARRAY_TEXT_TEXT 2767
1818
1818
  #define F_REGEXP_SPLIT_TO_ARRAY_TEXT_TEXT_TEXT 2768
1819
- #define F_PG_STAT_GET_BGWRITER_TIMED_CHECKPOINTS 2769
1820
- #define F_PG_STAT_GET_BGWRITER_REQUESTED_CHECKPOINTS 2770
1821
- #define F_PG_STAT_GET_BGWRITER_BUF_WRITTEN_CHECKPOINTS 2771
1819
+ #define F_PG_STAT_GET_CHECKPOINTER_NUM_TIMED 2769
1820
+ #define F_PG_STAT_GET_CHECKPOINTER_NUM_REQUESTED 2770
1821
+ #define F_PG_STAT_GET_CHECKPOINTER_BUFFERS_WRITTEN 2771
1822
1822
  #define F_PG_STAT_GET_BGWRITER_BUF_WRITTEN_CLEAN 2772
1823
1823
  #define F_PG_STAT_GET_BGWRITER_MAXWRITTEN_CLEAN 2773
1824
1824
  #define F_GINQUERYARRAYEXTRACT 2774
1825
- #define F_PG_STAT_GET_BUF_WRITTEN_BACKEND 2775
1826
1825
  #define F_ANYNONARRAY_IN 2777
1827
1826
  #define F_ANYNONARRAY_OUT 2778
1828
1827
  #define F_PG_STAT_GET_LAST_VACUUM_TIME 2781
@@ -2043,7 +2042,6 @@
2043
2042
  #define F_LEFT 3060
2044
2043
  #define F_RIGHT 3061
2045
2044
  #define F_REVERSE 3062
2046
- #define F_PG_STAT_GET_BUF_FSYNC_BACKEND 3063
2047
2045
  #define F_GIST_POINT_DISTANCE 3064
2048
2046
  #define F_PG_STAT_GET_DB_CONFLICT_TABLESPACE 3065
2049
2047
  #define F_PG_STAT_GET_DB_CONFLICT_LOCK 3066
@@ -2123,8 +2121,8 @@
2123
2121
  #define F_NUMERIC_SUPPORT 3157
2124
2122
  #define F_VARBIT_SUPPORT 3158
2125
2123
  #define F_PG_GET_VIEWDEF_OID_INT4 3159
2126
- #define F_PG_STAT_GET_CHECKPOINT_WRITE_TIME 3160
2127
- #define F_PG_STAT_GET_CHECKPOINT_SYNC_TIME 3161
2124
+ #define F_PG_STAT_GET_CHECKPOINTER_WRITE_TIME 3160
2125
+ #define F_PG_STAT_GET_CHECKPOINTER_SYNC_TIME 3161
2128
2126
  #define F_PG_COLLATION_FOR 3162
2129
2127
  #define F_PG_TRIGGER_DEPTH 3163
2130
2128
  #define F_PG_WAL_LSN_DIFF 3165
@@ -2241,7 +2239,7 @@
2241
2239
  #define F_UNNEST_TSVECTOR 3322
2242
2240
  #define F_TS_DELETE_TSVECTOR__TEXT 3323
2243
2241
  #define F_INT4_AVG_COMBINE 3324
2244
- #define F_INTERVAL_COMBINE 3325
2242
+ #define F_INTERVAL_AVG_COMBINE 3325
2245
2243
  #define F_TSVECTOR_TO_ARRAY 3326
2246
2244
  #define F_ARRAY_TO_TSVECTOR 3327
2247
2245
  #define F_BPCHAR_SORTSUPPORT 3328
@@ -2408,7 +2406,7 @@
2408
2406
  #define F_INT8DEC 3546
2409
2407
  #define F_INT8DEC_ANY 3547
2410
2408
  #define F_NUMERIC_ACCUM_INV 3548
2411
- #define F_INTERVAL_ACCUM_INV 3549
2409
+ #define F_INTERVAL_AVG_ACCUM_INV 3549
2412
2410
  #define F_NETWORK_OVERLAP 3551
2413
2411
  #define F_INET_GIST_CONSISTENT 3553
2414
2412
  #define F_INET_GIST_UNION 3554
@@ -2431,8 +2429,8 @@
2431
2429
  #define F_INT4_AVG_ACCUM_INV 3571
2432
2430
  #define F_INT2INT4_SUM 3572
2433
2431
  #define F_INET_GIST_FETCH 3573
2434
- #define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_TEXT 3577
2435
- #define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_BYTEA 3578
2432
+ #define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_TEXT_BOOL 3577
2433
+ #define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_BYTEA_BOOL 3578
2436
2434
  #define F_JSONB_INSERT 3579
2437
2435
  #define F_PG_XACT_COMMIT_TIMESTAMP 3581
2438
2436
  #define F_BINARY_UPGRADE_SET_NEXT_PG_TYPE_OID 3582
@@ -2596,6 +2594,7 @@
2596
2594
  #define F_PG_IS_IN_RECOVERY 3810
2597
2595
  #define F_MONEY_INT4 3811
2598
2596
  #define F_MONEY_INT8 3812
2597
+ #define F_XMLTEXT 3813
2599
2598
  #define F_PG_COLLATION_IS_VISIBLE 3815
2600
2599
  #define F_ARRAY_TYPANALYZE 3816
2601
2600
  #define F_ARRAYCONTSEL 3817
@@ -2795,8 +2794,6 @@
2795
2794
  #define F_REGROLERECV 4094
2796
2795
  #define F_REGROLESEND 4095
2797
2796
  #define F_REGROLEIN 4098
2798
- #define F_PG_ROTATE_LOGFILE_OLD 4099
2799
- #define F_PG_READ_FILE_OLD 4100
2800
2797
  #define F_BINARY_UPGRADE_SET_MISSING_VALUE 4101
2801
2798
  #define F_BRIN_INCLUSION_OPCINFO 4105
2802
2799
  #define F_BRIN_INCLUSION_ADD_VALUE 4106
@@ -3039,6 +3036,7 @@
3039
3036
  #define F_BINARY_UPGRADE_SET_NEXT_INDEX_RELFILENODE 4546
3040
3037
  #define F_BINARY_UPGRADE_SET_NEXT_TOAST_RELFILENODE 4547
3041
3038
  #define F_BINARY_UPGRADE_SET_NEXT_PG_TABLESPACE_OID 4548
3039
+ #define F_UNICODE_VERSION 4549
3042
3040
  #define F_PG_EVENT_TRIGGER_TABLE_REWRITE_OID 4566
3043
3041
  #define F_PG_EVENT_TRIGGER_TABLE_REWRITE_REASON 4567
3044
3042
  #define F_PG_EVENT_TRIGGER_DDL_COMMANDS 4568
@@ -3168,7 +3166,9 @@
3168
3166
  #define F_PG_REPLICATION_ORIGIN_PROGRESS 6013
3169
3167
  #define F_PG_SHOW_REPLICATION_ORIGIN_STATUS 6014
3170
3168
  #define F_JSONB_SUBSCRIPT_HANDLER 6098
3169
+ #define F_ICU_UNICODE_VERSION 6099
3171
3170
  #define F_PG_LSN 6103
3171
+ #define F_UNICODE_ASSIGNED 6105
3172
3172
  #define F_PG_STAT_GET_BACKEND_SUBXACT 6107
3173
3173
  #define F_PG_STAT_GET_SUBSCRIPTION 6118
3174
3174
  #define F_PG_GET_PUBLICATION_TABLES 6119
@@ -3310,5 +3310,38 @@
3310
3310
  #define F_PG_STAT_GET_DB_CONFLICT_LOGICALSLOT 6309
3311
3311
  #define F_PG_STAT_GET_LASTSCAN 6310
3312
3312
  #define F_SYSTEM_USER 6311
3313
+ #define F_BINARY_UPGRADE_LOGICAL_SLOT_HAS_CAUGHT_UP 6312
3314
+ #define F_PG_STAT_GET_CHECKPOINTER_STAT_RESET_TIME 6314
3315
+ #define F_PG_BASETYPE 6315
3316
+ #define F_PG_COLUMN_TOAST_CHUNK_ID 6316
3317
+ #define F_TO_REGTYPEMOD 6317
3318
+ #define F_PG_GET_WAIT_EVENTS 6318
3319
+ #define F_BINARY_UPGRADE_ADD_SUB_REL_STATE 6319
3320
+ #define F_BINARY_UPGRADE_REPLORIGIN_ADVANCE 6320
3321
+ #define F_PG_AVAILABLE_WAL_SUMMARIES 6321
3322
+ #define F_PG_WAL_SUMMARY_CONTENTS 6322
3323
+ #define F_PG_GET_WAL_SUMMARIZER_STATE 6323
3324
+ #define F_INTERVAL_AVG_SERIALIZE 6324
3325
+ #define F_INTERVAL_AVG_DESERIALIZE 6325
3326
+ #define F_INTERVAL_SUM 6326
3327
+ #define F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_TIMED 6327
3328
+ #define F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_REQUESTED 6328
3329
+ #define F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_PERFORMED 6329
3330
+ #define F_TO_BIN_INT4 6330
3331
+ #define F_TO_BIN_INT8 6331
3332
+ #define F_TO_OCT_INT4 6332
3333
+ #define F_TO_OCT_INT8 6333
3334
+ #define F_TIMEZONE_TIMESTAMPTZ 6334
3335
+ #define F_TIMEZONE_TIMESTAMP 6335
3336
+ #define F_TIMEZONE_TIMETZ 6336
3337
+ #define F_JSONB_POPULATE_RECORD_VALID 6338
3338
+ #define F_RANDOM_INT4_INT4 6339
3339
+ #define F_RANDOM_INT8_INT8 6340
3340
+ #define F_RANDOM_NUMERIC_NUMERIC 6341
3341
+ #define F_UUID_EXTRACT_TIMESTAMP 6342
3342
+ #define F_UUID_EXTRACT_VERSION 6343
3343
+ #define F_PG_SYNC_REPLICATION_SLOTS 6344
3344
+ #define F_RANGE_CONTAINS_ELEM_SUPPORT 6345
3345
+ #define F_ELEM_CONTAINED_BY_RANGE_SUPPORT 6346
3313
3346
 
3314
3347
  #endif /* FMGROIDS_H */
@@ -3,7 +3,7 @@
3
3
  * fmgrprotos.h
4
4
  * Prototypes for built-in functions.
5
5
  *
6
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
7
7
  * Portions Copyright (c) 1994, Regents of the University of California
8
8
  *
9
9
  * NOTES
@@ -1055,7 +1055,7 @@ extern Datum numeric_stddev_samp(PG_FUNCTION_ARGS);
1055
1055
  extern Datum int2_sum(PG_FUNCTION_ARGS);
1056
1056
  extern Datum int4_sum(PG_FUNCTION_ARGS);
1057
1057
  extern Datum int8_sum(PG_FUNCTION_ARGS);
1058
- extern Datum interval_accum(PG_FUNCTION_ARGS);
1058
+ extern Datum interval_avg_accum(PG_FUNCTION_ARGS);
1059
1059
  extern Datum interval_avg(PG_FUNCTION_ARGS);
1060
1060
  extern Datum to_ascii_default(PG_FUNCTION_ARGS);
1061
1061
  extern Datum to_ascii_enc(PG_FUNCTION_ARGS);
@@ -1515,7 +1515,7 @@ extern Datum domain_recv(PG_FUNCTION_ARGS);
1515
1515
  extern Datum pg_timezone_abbrevs(PG_FUNCTION_ARGS);
1516
1516
  extern Datum xmlexists(PG_FUNCTION_ARGS);
1517
1517
  extern Datum pg_reload_conf(PG_FUNCTION_ARGS);
1518
- extern Datum pg_rotate_logfile_v2(PG_FUNCTION_ARGS);
1518
+ extern Datum pg_rotate_logfile(PG_FUNCTION_ARGS);
1519
1519
  extern Datum pg_stat_file_1arg(PG_FUNCTION_ARGS);
1520
1520
  extern Datum pg_read_file_off_len(PG_FUNCTION_ARGS);
1521
1521
  extern Datum pg_ls_dir_1arg(PG_FUNCTION_ARGS);
@@ -1565,13 +1565,12 @@ extern Datum regexp_split_to_table_no_flags(PG_FUNCTION_ARGS);
1565
1565
  extern Datum regexp_split_to_table(PG_FUNCTION_ARGS);
1566
1566
  extern Datum regexp_split_to_array_no_flags(PG_FUNCTION_ARGS);
1567
1567
  extern Datum regexp_split_to_array(PG_FUNCTION_ARGS);
1568
- extern Datum pg_stat_get_bgwriter_timed_checkpoints(PG_FUNCTION_ARGS);
1569
- extern Datum pg_stat_get_bgwriter_requested_checkpoints(PG_FUNCTION_ARGS);
1570
- extern Datum pg_stat_get_bgwriter_buf_written_checkpoints(PG_FUNCTION_ARGS);
1568
+ extern Datum pg_stat_get_checkpointer_num_timed(PG_FUNCTION_ARGS);
1569
+ extern Datum pg_stat_get_checkpointer_num_requested(PG_FUNCTION_ARGS);
1570
+ extern Datum pg_stat_get_checkpointer_buffers_written(PG_FUNCTION_ARGS);
1571
1571
  extern Datum pg_stat_get_bgwriter_buf_written_clean(PG_FUNCTION_ARGS);
1572
1572
  extern Datum pg_stat_get_bgwriter_maxwritten_clean(PG_FUNCTION_ARGS);
1573
1573
  extern Datum ginqueryarrayextract(PG_FUNCTION_ARGS);
1574
- extern Datum pg_stat_get_buf_written_backend(PG_FUNCTION_ARGS);
1575
1574
  extern Datum anynonarray_in(PG_FUNCTION_ARGS);
1576
1575
  extern Datum anynonarray_out(PG_FUNCTION_ARGS);
1577
1576
  extern Datum pg_stat_get_last_vacuum_time(PG_FUNCTION_ARGS);
@@ -1774,7 +1773,6 @@ extern Datum text_concat_ws(PG_FUNCTION_ARGS);
1774
1773
  extern Datum text_left(PG_FUNCTION_ARGS);
1775
1774
  extern Datum text_right(PG_FUNCTION_ARGS);
1776
1775
  extern Datum text_reverse(PG_FUNCTION_ARGS);
1777
- extern Datum pg_stat_get_buf_fsync_backend(PG_FUNCTION_ARGS);
1778
1776
  extern Datum gist_point_distance(PG_FUNCTION_ARGS);
1779
1777
  extern Datum pg_stat_get_db_conflict_tablespace(PG_FUNCTION_ARGS);
1780
1778
  extern Datum pg_stat_get_db_conflict_lock(PG_FUNCTION_ARGS);
@@ -1854,8 +1852,8 @@ extern Datum row_to_json_pretty(PG_FUNCTION_ARGS);
1854
1852
  extern Datum numeric_support(PG_FUNCTION_ARGS);
1855
1853
  extern Datum varbit_support(PG_FUNCTION_ARGS);
1856
1854
  extern Datum pg_get_viewdef_wrap(PG_FUNCTION_ARGS);
1857
- extern Datum pg_stat_get_checkpoint_write_time(PG_FUNCTION_ARGS);
1858
- extern Datum pg_stat_get_checkpoint_sync_time(PG_FUNCTION_ARGS);
1855
+ extern Datum pg_stat_get_checkpointer_write_time(PG_FUNCTION_ARGS);
1856
+ extern Datum pg_stat_get_checkpointer_sync_time(PG_FUNCTION_ARGS);
1859
1857
  extern Datum pg_collation_for(PG_FUNCTION_ARGS);
1860
1858
  extern Datum pg_trigger_depth(PG_FUNCTION_ARGS);
1861
1859
  extern Datum pg_wal_lsn_diff(PG_FUNCTION_ARGS);
@@ -1967,7 +1965,7 @@ extern Datum tsvector_delete_str(PG_FUNCTION_ARGS);
1967
1965
  extern Datum tsvector_unnest(PG_FUNCTION_ARGS);
1968
1966
  extern Datum tsvector_delete_arr(PG_FUNCTION_ARGS);
1969
1967
  extern Datum int4_avg_combine(PG_FUNCTION_ARGS);
1970
- extern Datum interval_combine(PG_FUNCTION_ARGS);
1968
+ extern Datum interval_avg_combine(PG_FUNCTION_ARGS);
1971
1969
  extern Datum tsvector_to_array(PG_FUNCTION_ARGS);
1972
1970
  extern Datum array_to_tsvector(PG_FUNCTION_ARGS);
1973
1971
  extern Datum bpchar_sortsupport(PG_FUNCTION_ARGS);
@@ -2130,7 +2128,7 @@ extern Datum bytea_string_agg_finalfn(PG_FUNCTION_ARGS);
2130
2128
  extern Datum int8dec(PG_FUNCTION_ARGS);
2131
2129
  extern Datum int8dec_any(PG_FUNCTION_ARGS);
2132
2130
  extern Datum numeric_accum_inv(PG_FUNCTION_ARGS);
2133
- extern Datum interval_accum_inv(PG_FUNCTION_ARGS);
2131
+ extern Datum interval_avg_accum_inv(PG_FUNCTION_ARGS);
2134
2132
  extern Datum network_overlap(PG_FUNCTION_ARGS);
2135
2133
  extern Datum inet_gist_consistent(PG_FUNCTION_ARGS);
2136
2134
  extern Datum inet_gist_union(PG_FUNCTION_ARGS);
@@ -2316,6 +2314,7 @@ extern Datum pg_export_snapshot(PG_FUNCTION_ARGS);
2316
2314
  extern Datum pg_is_in_recovery(PG_FUNCTION_ARGS);
2317
2315
  extern Datum int4_cash(PG_FUNCTION_ARGS);
2318
2316
  extern Datum int8_cash(PG_FUNCTION_ARGS);
2317
+ extern Datum xmltext(PG_FUNCTION_ARGS);
2319
2318
  extern Datum pg_collation_is_visible(PG_FUNCTION_ARGS);
2320
2319
  extern Datum array_typanalyze(PG_FUNCTION_ARGS);
2321
2320
  extern Datum arraycontsel(PG_FUNCTION_ARGS);
@@ -2491,8 +2490,6 @@ extern Datum to_regrole(PG_FUNCTION_ARGS);
2491
2490
  extern Datum regrolerecv(PG_FUNCTION_ARGS);
2492
2491
  extern Datum regrolesend(PG_FUNCTION_ARGS);
2493
2492
  extern Datum regrolein(PG_FUNCTION_ARGS);
2494
- extern Datum pg_rotate_logfile(PG_FUNCTION_ARGS);
2495
- extern Datum pg_read_file(PG_FUNCTION_ARGS);
2496
2493
  extern Datum binary_upgrade_set_missing_value(PG_FUNCTION_ARGS);
2497
2494
  extern Datum brin_inclusion_opcinfo(PG_FUNCTION_ARGS);
2498
2495
  extern Datum brin_inclusion_add_value(PG_FUNCTION_ARGS);
@@ -2630,6 +2627,7 @@ extern Datum binary_upgrade_set_next_heap_relfilenode(PG_FUNCTION_ARGS);
2630
2627
  extern Datum binary_upgrade_set_next_index_relfilenode(PG_FUNCTION_ARGS);
2631
2628
  extern Datum binary_upgrade_set_next_toast_relfilenode(PG_FUNCTION_ARGS);
2632
2629
  extern Datum binary_upgrade_set_next_pg_tablespace_oid(PG_FUNCTION_ARGS);
2630
+ extern Datum unicode_version(PG_FUNCTION_ARGS);
2633
2631
  extern Datum pg_event_trigger_table_rewrite_oid(PG_FUNCTION_ARGS);
2634
2632
  extern Datum pg_event_trigger_table_rewrite_reason(PG_FUNCTION_ARGS);
2635
2633
  extern Datum pg_event_trigger_ddl_commands(PG_FUNCTION_ARGS);
@@ -2744,7 +2742,9 @@ extern Datum pg_replication_origin_advance(PG_FUNCTION_ARGS);
2744
2742
  extern Datum pg_replication_origin_progress(PG_FUNCTION_ARGS);
2745
2743
  extern Datum pg_show_replication_origin_status(PG_FUNCTION_ARGS);
2746
2744
  extern Datum jsonb_subscript_handler(PG_FUNCTION_ARGS);
2745
+ extern Datum icu_unicode_version(PG_FUNCTION_ARGS);
2747
2746
  extern Datum numeric_pg_lsn(PG_FUNCTION_ARGS);
2747
+ extern Datum unicode_assigned(PG_FUNCTION_ARGS);
2748
2748
  extern Datum pg_stat_get_backend_subxact(PG_FUNCTION_ARGS);
2749
2749
  extern Datum pg_stat_get_subscription(PG_FUNCTION_ARGS);
2750
2750
  extern Datum pg_get_publication_tables(PG_FUNCTION_ARGS);
@@ -2867,5 +2867,38 @@ extern Datum window_ntile_support(PG_FUNCTION_ARGS);
2867
2867
  extern Datum pg_stat_get_db_conflict_logicalslot(PG_FUNCTION_ARGS);
2868
2868
  extern Datum pg_stat_get_lastscan(PG_FUNCTION_ARGS);
2869
2869
  extern Datum system_user(PG_FUNCTION_ARGS);
2870
+ extern Datum binary_upgrade_logical_slot_has_caught_up(PG_FUNCTION_ARGS);
2871
+ extern Datum pg_stat_get_checkpointer_stat_reset_time(PG_FUNCTION_ARGS);
2872
+ extern Datum pg_basetype(PG_FUNCTION_ARGS);
2873
+ extern Datum pg_column_toast_chunk_id(PG_FUNCTION_ARGS);
2874
+ extern Datum to_regtypemod(PG_FUNCTION_ARGS);
2875
+ extern Datum pg_get_wait_events(PG_FUNCTION_ARGS);
2876
+ extern Datum binary_upgrade_add_sub_rel_state(PG_FUNCTION_ARGS);
2877
+ extern Datum binary_upgrade_replorigin_advance(PG_FUNCTION_ARGS);
2878
+ extern Datum pg_available_wal_summaries(PG_FUNCTION_ARGS);
2879
+ extern Datum pg_wal_summary_contents(PG_FUNCTION_ARGS);
2880
+ extern Datum pg_get_wal_summarizer_state(PG_FUNCTION_ARGS);
2881
+ extern Datum interval_avg_serialize(PG_FUNCTION_ARGS);
2882
+ extern Datum interval_avg_deserialize(PG_FUNCTION_ARGS);
2883
+ extern Datum interval_sum(PG_FUNCTION_ARGS);
2884
+ extern Datum pg_stat_get_checkpointer_restartpoints_timed(PG_FUNCTION_ARGS);
2885
+ extern Datum pg_stat_get_checkpointer_restartpoints_requested(PG_FUNCTION_ARGS);
2886
+ extern Datum pg_stat_get_checkpointer_restartpoints_performed(PG_FUNCTION_ARGS);
2887
+ extern Datum to_bin32(PG_FUNCTION_ARGS);
2888
+ extern Datum to_bin64(PG_FUNCTION_ARGS);
2889
+ extern Datum to_oct32(PG_FUNCTION_ARGS);
2890
+ extern Datum to_oct64(PG_FUNCTION_ARGS);
2891
+ extern Datum timestamptz_at_local(PG_FUNCTION_ARGS);
2892
+ extern Datum timestamp_at_local(PG_FUNCTION_ARGS);
2893
+ extern Datum timetz_at_local(PG_FUNCTION_ARGS);
2894
+ extern Datum jsonb_populate_record_valid(PG_FUNCTION_ARGS);
2895
+ extern Datum int4random(PG_FUNCTION_ARGS);
2896
+ extern Datum int8random(PG_FUNCTION_ARGS);
2897
+ extern Datum numeric_random(PG_FUNCTION_ARGS);
2898
+ extern Datum uuid_extract_timestamp(PG_FUNCTION_ARGS);
2899
+ extern Datum uuid_extract_version(PG_FUNCTION_ARGS);
2900
+ extern Datum pg_sync_replication_slots(PG_FUNCTION_ARGS);
2901
+ extern Datum range_contains_elem_support(PG_FUNCTION_ARGS);
2902
+ extern Datum elem_contained_by_range_support(PG_FUNCTION_ARGS);
2870
2903
 
2871
2904
  #endif /* FMGRPROTOS_H */
@@ -3,7 +3,7 @@
3
3
  * fmgrtab.h
4
4
  * The function manager's table of internal functions.
5
5
  *
6
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
7
7
  * Portions Copyright (c) 1994, Regents of the University of California
8
8
  *
9
9
  * src/include/utils/fmgrtab.h
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * External declarations pertaining to Grand Unified Configuration.
5
5
  *
6
- * Copyright (c) 2000-2023, PostgreSQL Global Development Group
6
+ * Copyright (c) 2000-2024, PostgreSQL Global Development Group
7
7
  * Written by Peter Eisentraut <peter_e@gmx.net>.
8
8
  *
9
9
  * src/include/utils/guc.h
@@ -72,7 +72,7 @@ typedef enum
72
72
  PGC_SU_BACKEND,
73
73
  PGC_BACKEND,
74
74
  PGC_SUSET,
75
- PGC_USERSET
75
+ PGC_USERSET,
76
76
  } GucContext;
77
77
 
78
78
  /*
@@ -119,7 +119,7 @@ typedef enum
119
119
  PGC_S_OVERRIDE, /* special case to forcibly set default */
120
120
  PGC_S_INTERACTIVE, /* dividing line for error reporting */
121
121
  PGC_S_TEST, /* test per-database or per-user setting */
122
- PGC_S_SESSION /* SET command */
122
+ PGC_S_SESSION, /* SET command */
123
123
  } GucSource;
124
124
 
125
125
  /*
@@ -144,6 +144,8 @@ typedef struct ConfigVariable
144
144
  struct ConfigVariable *next;
145
145
  } ConfigVariable;
146
146
 
147
+ typedef struct config_generic config_handle;
148
+
147
149
  extern bool ParseConfigFile(const char *config_file, bool strict,
148
150
  const char *calling_file, int calling_lineno,
149
151
  int depth, int elevel,
@@ -196,7 +198,7 @@ typedef enum
196
198
  /* Types of set_config_option actions */
197
199
  GUC_ACTION_SET, /* regular SET command */
198
200
  GUC_ACTION_LOCAL, /* SET LOCAL command */
199
- GUC_ACTION_SAVE /* function SET option, or temp assignment */
201
+ GUC_ACTION_SAVE, /* function SET option, or temp assignment */
200
202
  } GucAction;
201
203
 
202
204
  #define GUC_QUALIFIER_SEPARATOR '.'
@@ -221,6 +223,7 @@ typedef enum
221
223
  #define GUC_DISALLOW_IN_AUTO_FILE \
222
224
  0x002000 /* can't set in PG_AUTOCONF_FILENAME */
223
225
  #define GUC_RUNTIME_COMPUTED 0x004000 /* delay processing in 'postgres -C' */
226
+ #define GUC_ALLOW_IN_PARALLEL 0x008000 /* allow setting in parallel mode */
224
227
 
225
228
  #define GUC_UNIT_KB 0x01000000 /* value is in kilobytes */
226
229
  #define GUC_UNIT_BLOCKS 0x02000000 /* value is in blocks */
@@ -250,8 +253,9 @@ extern PGDLLIMPORT bool log_statement_stats;
250
253
  extern PGDLLIMPORT bool log_btree_build_stats;
251
254
 
252
255
  extern PGDLLIMPORT __thread bool check_function_bodies;
253
- extern PGDLLIMPORT bool session_auth_is_superuser;
256
+ extern PGDLLIMPORT bool current_role_is_superuser;
254
257
 
258
+ extern PGDLLIMPORT bool AllowAlterSystem;
255
259
  extern PGDLLIMPORT bool log_duration;
256
260
  extern PGDLLIMPORT int log_parameter_max_length;
257
261
  extern PGDLLIMPORT int log_parameter_max_length_on_error;
@@ -363,12 +367,13 @@ extern const char *GetConfigOptionResetString(const char *name);
363
367
  extern int GetConfigOptionFlags(const char *name, bool missing_ok);
364
368
  extern void ProcessConfigFile(GucContext context);
365
369
  extern char *convert_GUC_name_for_parameter_acl(const char *name);
366
- extern bool check_GUC_name_for_parameter_acl(const char *name);
370
+ extern void check_GUC_name_for_parameter_acl(const char *name);
367
371
  extern void InitializeGUCOptions(void);
368
372
  extern bool SelectConfigFiles(const char *userDoption, const char *progname);
369
373
  extern void ResetAllOptions(void);
370
374
  extern void AtStart_GUC(void);
371
375
  extern int NewGUCNestLevel(void);
376
+ extern void RestrictSearchPath(void);
372
377
  extern void AtEOXact_GUC(bool isCommit, int nestLevel);
373
378
  extern void BeginReportingGUCOptions(void);
374
379
  extern void ReportChangedGUCOptions(void);
@@ -387,10 +392,19 @@ extern int set_config_option_ext(const char *name, const char *value,
387
392
  Oid srole,
388
393
  GucAction action, bool changeVal, int elevel,
389
394
  bool is_reload);
395
+ extern int set_config_with_handle(const char *name, config_handle *handle,
396
+ const char *value,
397
+ GucContext context, GucSource source,
398
+ Oid srole,
399
+ GucAction action, bool changeVal,
400
+ int elevel, bool is_reload);
401
+ extern config_handle *get_config_handle(const char *name);
390
402
  extern void AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt);
391
403
  extern char *GetConfigOptionByName(const char *name, const char **varname,
392
404
  bool missing_ok);
393
405
 
406
+ extern void TransformGUCArray(ArrayType *array, List **names,
407
+ List **values);
394
408
  extern void ProcessGUCArray(ArrayType *array,
395
409
  GucContext context, GucSource source, GucAction action);
396
410
  extern ArrayType *GUCArrayAdd(ArrayType *array, const char *name, const char *value);
@@ -7,7 +7,7 @@
7
7
  * declare them all here to avoid having to propagate guc.h into
8
8
  * a lot of unrelated header files.
9
9
  *
10
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
10
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
11
11
  *
12
12
  * src/include/utils/guc_hooks.h
13
13
  *
@@ -46,6 +46,8 @@ extern bool check_client_connection_check_interval(int *newval, void **extra,
46
46
  extern bool check_client_encoding(char **newval, void **extra, GucSource source);
47
47
  extern void assign_client_encoding(const char *newval, void *extra);
48
48
  extern bool check_cluster_name(char **newval, void **extra, GucSource source);
49
+ extern bool check_commit_ts_buffers(int *newval, void **extra,
50
+ GucSource source);
49
51
  extern const char *show_data_directory_mode(void);
50
52
  extern bool check_datestyle(char **newval, void **extra, GucSource source);
51
53
  extern void assign_datestyle(const char *newval, void *extra);
@@ -84,11 +86,18 @@ extern bool check_maintenance_io_concurrency(int *newval, void **extra,
84
86
  extern void assign_maintenance_io_concurrency(int newval, void *extra);
85
87
  extern bool check_max_connections(int *newval, void **extra, GucSource source);
86
88
  extern bool check_max_wal_senders(int *newval, void **extra, GucSource source);
89
+ extern bool check_max_slot_wal_keep_size(int *newval, void **extra,
90
+ GucSource source);
87
91
  extern void assign_max_wal_size(int newval, void *extra);
88
92
  extern bool check_max_worker_processes(int *newval, void **extra,
89
93
  GucSource source);
90
94
  extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
91
95
  extern void assign_max_stack_depth(int newval, void *extra);
96
+ extern bool check_multixact_member_buffers(int *newval, void **extra,
97
+ GucSource source);
98
+ extern bool check_multixact_offset_buffers(int *newval, void **extra,
99
+ GucSource source);
100
+ extern bool check_notify_buffers(int *newval, void **extra, GucSource source);
92
101
  extern bool check_primary_slot_name(char **newval, void **extra,
93
102
  GucSource source);
94
103
  extern bool check_random_seed(double *newval, void **extra, GucSource source);
@@ -118,14 +127,20 @@ extern void assign_recovery_target_xid(const char *newval, void *extra);
118
127
  extern bool check_role(char **newval, void **extra, GucSource source);
119
128
  extern void assign_role(const char *newval, void *extra);
120
129
  extern const char *show_role(void);
130
+ extern bool check_restrict_nonsystem_relation_kind(char **newval, void **extra,
131
+ GucSource source);
132
+ extern void assign_restrict_nonsystem_relation_kind(const char *newval, void *extra);
121
133
  extern bool check_search_path(char **newval, void **extra, GucSource source);
122
134
  extern void assign_search_path(const char *newval, void *extra);
135
+ extern bool check_serial_buffers(int *newval, void **extra, GucSource source);
123
136
  extern bool check_session_authorization(char **newval, void **extra, GucSource source);
124
137
  extern void assign_session_authorization(const char *newval, void *extra);
125
138
  extern void assign_session_replication_role(int newval, void *extra);
126
139
  extern void assign_stats_fetch_consistency(int newval, void *extra);
127
140
  extern bool check_ssl(bool *newval, void **extra, GucSource source);
128
141
  extern bool check_stage_log_stats(bool *newval, void **extra, GucSource source);
142
+ extern bool check_subtrans_buffers(int *newval, void **extra,
143
+ GucSource source);
129
144
  extern bool check_synchronous_standby_names(char **newval, void **extra,
130
145
  GucSource source);
131
146
  extern void assign_synchronous_standby_names(const char *newval, void *extra);
@@ -150,14 +165,20 @@ extern const char *show_timezone(void);
150
165
  extern bool check_timezone_abbreviations(char **newval, void **extra,
151
166
  GucSource source);
152
167
  extern void assign_timezone_abbreviations(const char *newval, void *extra);
168
+ extern bool check_transaction_buffers(int *newval, void **extra, GucSource source);
153
169
  extern bool check_transaction_deferrable(bool *newval, void **extra, GucSource source);
154
170
  extern bool check_transaction_isolation(int *newval, void **extra, GucSource source);
155
171
  extern bool check_transaction_read_only(bool *newval, void **extra, GucSource source);
172
+ extern void assign_transaction_timeout(int newval, void *extra);
156
173
  extern const char *show_unix_socket_permissions(void);
157
174
  extern bool check_wal_buffers(int *newval, void **extra, GucSource source);
158
175
  extern bool check_wal_consistency_checking(char **newval, void **extra,
159
176
  GucSource source);
160
177
  extern void assign_wal_consistency_checking(const char *newval, void *extra);
161
- extern void assign_xlog_sync_method(int new_sync_method, void *extra);
178
+ extern bool check_wal_segment_size(int *newval, void **extra, GucSource source);
179
+ extern void assign_wal_sync_method(int new_wal_sync_method, void *extra);
180
+ extern bool check_synchronized_standby_slots(char **newval, void **extra,
181
+ GucSource source);
182
+ extern void assign_synchronized_standby_slots(const char *newval, void *extra);
162
183
 
163
184
  #endif /* GUC_HOOKS_H */
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * See src/backend/utils/misc/README for design notes.
7
7
  *
8
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
8
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
9
9
  *
10
10
  * src/include/utils/guc_tables.h
11
11
  *
@@ -26,7 +26,7 @@ enum config_type
26
26
  PGC_INT,
27
27
  PGC_REAL,
28
28
  PGC_STRING,
29
- PGC_ENUM
29
+ PGC_ENUM,
30
30
  };
31
31
 
32
32
  union config_var_val
@@ -72,6 +72,7 @@ enum config_group
72
72
  WAL_RECOVERY,
73
73
  WAL_ARCHIVE_RECOVERY,
74
74
  WAL_RECOVERY_TARGET,
75
+ WAL_SUMMARIZATION,
75
76
  REPLICATION_SENDING,
76
77
  REPLICATION_PRIMARY,
77
78
  REPLICATION_STANDBY,
@@ -93,11 +94,11 @@ enum config_group
93
94
  CLIENT_CONN_OTHER,
94
95
  LOCK_MANAGEMENT,
95
96
  COMPAT_OPTIONS_PREVIOUS,
96
- COMPAT_OPTIONS_CLIENT,
97
+ COMPAT_OPTIONS_OTHER,
97
98
  ERROR_HANDLING_OPTIONS,
98
99
  PRESET_OPTIONS,
99
100
  CUSTOM_OPTIONS,
100
- DEVELOPER_OPTIONS
101
+ DEVELOPER_OPTIONS,
101
102
  };
102
103
 
103
104
  /*
@@ -110,7 +111,7 @@ typedef enum
110
111
  GUC_SAVE, /* entry caused by function SET option */
111
112
  GUC_SET, /* entry caused by plain SET command */
112
113
  GUC_LOCAL, /* entry caused by SET LOCAL command */
113
- GUC_SET_LOCAL /* entry caused by SET then SET LOCAL */
114
+ GUC_SET_LOCAL, /* entry caused by SET then SET LOCAL */
114
115
  } GucStackState;
115
116
 
116
117
  typedef struct guc_stack
@@ -4,7 +4,7 @@
4
4
  * exported definitions for utils/hash/dynahash.c; see notes therein
5
5
  *
6
6
  *
7
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
7
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
8
8
  * Portions Copyright (c) 1994, Regents of the University of California
9
9
  *
10
10
  * src/include/utils/hsearch.h
@@ -113,7 +113,7 @@ typedef enum
113
113
  HASH_FIND,
114
114
  HASH_ENTER,
115
115
  HASH_REMOVE,
116
- HASH_ENTER_NULL
116
+ HASH_ENTER_NULL,
117
117
  } HASHACTION;
118
118
 
119
119
  /* hash_seq status (should be considered an opaque type by callers) */
@@ -0,0 +1,44 @@
1
+ /*-------------------------------------------------------------------------
2
+ * injection_point.h
3
+ * Definitions related to injection points.
4
+ *
5
+ * Copyright (c) 2001-2024, PostgreSQL Global Development Group
6
+ *
7
+ * src/include/utils/injection_point.h
8
+ *-------------------------------------------------------------------------
9
+ */
10
+
11
+ #ifndef INJECTION_POINT_H
12
+ #define INJECTION_POINT_H
13
+
14
+ /*
15
+ * Injections points require --enable-injection-points.
16
+ */
17
+ #ifdef USE_INJECTION_POINTS
18
+ #define INJECTION_POINT(name) InjectionPointRun(name)
19
+ #else
20
+ #define INJECTION_POINT(name) ((void) name)
21
+ #endif
22
+
23
+ /*
24
+ * Typedef for callback function launched by an injection point.
25
+ */
26
+ typedef void (*InjectionPointCallback) (const char *name,
27
+ const void *private_data);
28
+
29
+ extern Size InjectionPointShmemSize(void);
30
+ extern void InjectionPointShmemInit(void);
31
+
32
+ extern void InjectionPointAttach(const char *name,
33
+ const char *library,
34
+ const char *function,
35
+ const void *private_data,
36
+ int private_data_size);
37
+ extern void InjectionPointRun(const char *name);
38
+ extern bool InjectionPointDetach(const char *name);
39
+
40
+ #ifdef EXEC_BACKEND
41
+ extern PGDLLIMPORT struct InjectionPointsCtl *ActiveInjectionPoints;
42
+ #endif
43
+
44
+ #endif /* INJECTION_POINT_H */
@@ -4,7 +4,7 @@
4
4
  * POSTGRES cache invalidation dispatcher definitions.
5
5
  *
6
6
  *
7
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
7
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
8
8
  * Portions Copyright (c) 1994, Regents of the University of California
9
9
  *
10
10
  * src/include/utils/inval.h
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * See logtape.c for explanations.
7
7
  *
8
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
8
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
9
9
  * Portions Copyright (c) 1994, Regents of the University of California
10
10
  *
11
11
  * src/include/utils/logtape.h
@@ -51,7 +51,7 @@ typedef struct TapeShare
51
51
  * Currently, all the leader process needs is the location of the
52
52
  * materialized tape's first block.
53
53
  */
54
- long firstblocknumber;
54
+ int64 firstblocknumber;
55
55
  } TapeShare;
56
56
 
57
57
  /*
@@ -70,8 +70,8 @@ extern void LogicalTapeWrite(LogicalTape *lt, const void *ptr, size_t size);
70
70
  extern void LogicalTapeRewindForRead(LogicalTape *lt, size_t buffer_size);
71
71
  extern void LogicalTapeFreeze(LogicalTape *lt, TapeShare *share);
72
72
  extern size_t LogicalTapeBackspace(LogicalTape *lt, size_t size);
73
- extern void LogicalTapeSeek(LogicalTape *lt, long blocknum, int offset);
74
- extern void LogicalTapeTell(LogicalTape *lt, long *blocknum, int *offset);
75
- extern long LogicalTapeSetBlocks(LogicalTapeSet *lts);
73
+ extern void LogicalTapeSeek(LogicalTape *lt, int64 blocknum, int offset);
74
+ extern void LogicalTapeTell(LogicalTape *lt, int64 *blocknum, int *offset);
75
+ extern int64 LogicalTapeSetBlocks(LogicalTapeSet *lts);
76
76
 
77
77
  #endif /* LOGTAPE_H */