pg_query 5.1.0 → 6.0.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 (479) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/ext/pg_query/include/pg_query.h +4 -3
  6. data/ext/pg_query/include/pg_query_enum_defs.c +424 -154
  7. data/ext/pg_query/include/pg_query_fingerprint_conds.c +68 -4
  8. data/ext/pg_query/include/pg_query_fingerprint_defs.c +2952 -1845
  9. data/ext/pg_query/include/pg_query_outfuncs_conds.c +51 -3
  10. data/ext/pg_query/include/pg_query_outfuncs_defs.c +210 -23
  11. data/ext/pg_query/include/pg_query_readfuncs_conds.c +17 -1
  12. data/ext/pg_query/include/pg_query_readfuncs_defs.c +271 -52
  13. data/ext/pg_query/include/postgres/access/amapi.h +10 -3
  14. data/ext/pg_query/include/postgres/access/attmap.h +1 -1
  15. data/ext/pg_query/include/postgres/access/attnum.h +1 -1
  16. data/ext/pg_query/include/postgres/access/brin_internal.h +116 -0
  17. data/ext/pg_query/include/postgres/access/brin_tuple.h +112 -0
  18. data/ext/pg_query/include/postgres/access/clog.h +2 -3
  19. data/ext/pg_query/include/postgres/access/commit_ts.h +2 -3
  20. data/ext/pg_query/include/postgres/access/detoast.h +1 -1
  21. data/ext/pg_query/include/postgres/access/genam.h +8 -4
  22. data/ext/pg_query/include/postgres/access/gin.h +1 -1
  23. data/ext/pg_query/include/postgres/access/htup.h +1 -1
  24. data/ext/pg_query/include/postgres/access/htup_details.h +11 -11
  25. data/ext/pg_query/include/postgres/access/itup.h +3 -3
  26. data/ext/pg_query/include/postgres/access/parallel.h +1 -2
  27. data/ext/pg_query/include/postgres/access/printtup.h +1 -1
  28. data/ext/pg_query/include/postgres/access/relation.h +1 -1
  29. data/ext/pg_query/include/postgres/access/relscan.h +1 -1
  30. data/ext/pg_query/include/postgres/access/rmgrlist.h +1 -1
  31. data/ext/pg_query/include/postgres/access/sdir.h +1 -1
  32. data/ext/pg_query/include/postgres/access/skey.h +1 -1
  33. data/ext/pg_query/include/postgres/access/slru.h +221 -0
  34. data/ext/pg_query/include/postgres/access/stratnum.h +1 -1
  35. data/ext/pg_query/include/postgres/access/sysattr.h +1 -1
  36. data/ext/pg_query/include/postgres/access/table.h +1 -1
  37. data/ext/pg_query/include/postgres/access/tableam.h +33 -24
  38. data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
  39. data/ext/pg_query/include/postgres/access/toast_compression.h +2 -2
  40. data/ext/pg_query/include/postgres/access/transam.h +7 -7
  41. data/ext/pg_query/include/postgres/access/tsmapi.h +1 -1
  42. data/ext/pg_query/include/postgres/access/tupconvert.h +1 -1
  43. data/ext/pg_query/include/postgres/access/tupdesc.h +5 -5
  44. data/ext/pg_query/include/postgres/access/tupmacs.h +1 -1
  45. data/ext/pg_query/include/postgres/access/twophase.h +2 -2
  46. data/ext/pg_query/include/postgres/access/xact.h +5 -5
  47. data/ext/pg_query/include/postgres/access/xlog.h +20 -12
  48. data/ext/pg_query/include/postgres/access/xlog_internal.h +4 -3
  49. data/ext/pg_query/include/postgres/access/xlogbackup.h +3 -1
  50. data/ext/pg_query/include/postgres/access/xlogdefs.h +5 -5
  51. data/ext/pg_query/include/postgres/access/xlogprefetcher.h +2 -2
  52. data/ext/pg_query/include/postgres/access/xlogreader.h +2 -2
  53. data/ext/pg_query/include/postgres/access/xlogrecord.h +3 -3
  54. data/ext/pg_query/include/postgres/access/xlogrecovery.h +4 -4
  55. data/ext/pg_query/include/postgres/archive/archive_module.h +9 -1
  56. data/ext/pg_query/include/postgres/c.h +31 -36
  57. data/ext/pg_query/include/postgres/catalog/catalog.h +3 -1
  58. data/ext/pg_query/include/postgres/catalog/catversion.h +2 -2
  59. data/ext/pg_query/include/postgres/catalog/dependency.h +17 -59
  60. data/ext/pg_query/include/postgres/catalog/genbki.h +12 -6
  61. data/ext/pg_query/include/postgres/catalog/index.h +22 -18
  62. data/ext/pg_query/include/postgres/catalog/indexing.h +1 -1
  63. data/ext/pg_query/include/postgres/catalog/namespace.h +18 -19
  64. data/ext/pg_query/include/postgres/catalog/objectaccess.h +2 -2
  65. data/ext/pg_query/include/postgres/catalog/objectaddress.h +1 -1
  66. data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +4 -2
  67. data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +1 -1
  68. data/ext/pg_query/include/postgres/catalog/pg_am.h +6 -3
  69. data/ext/pg_query/include/postgres/catalog/pg_am_d.h +1 -1
  70. data/ext/pg_query/include/postgres/catalog/pg_attribute.h +31 -14
  71. data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +3 -3
  72. data/ext/pg_query/include/postgres/catalog/pg_authid.h +6 -3
  73. data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +2 -1
  74. data/ext/pg_query/include/postgres/catalog/pg_class.h +10 -5
  75. data/ext/pg_query/include/postgres/catalog/pg_class_d.h +4 -2
  76. data/ext/pg_query/include/postgres/catalog/pg_collation.h +11 -5
  77. data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +5 -2
  78. data/ext/pg_query/include/postgres/catalog/pg_constraint.h +15 -10
  79. data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +2 -1
  80. data/ext/pg_query/include/postgres/catalog/pg_control.h +5 -3
  81. data/ext/pg_query/include/postgres/catalog/pg_conversion.h +8 -4
  82. data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +1 -1
  83. data/ext/pg_query/include/postgres/catalog/pg_database.h +9 -4
  84. data/ext/pg_query/include/postgres/catalog/pg_database_d.h +13 -12
  85. data/ext/pg_query/include/postgres/catalog/pg_depend.h +3 -3
  86. data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +1 -1
  87. data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +6 -3
  88. data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +1 -1
  89. data/ext/pg_query/include/postgres/catalog/pg_index.h +5 -3
  90. data/ext/pg_query/include/postgres/catalog/pg_index_d.h +1 -1
  91. data/ext/pg_query/include/postgres/catalog/pg_language.h +6 -3
  92. data/ext/pg_query/include/postgres/catalog/pg_language_d.h +1 -1
  93. data/ext/pg_query/include/postgres/catalog/pg_namespace.h +6 -3
  94. data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +1 -1
  95. data/ext/pg_query/include/postgres/catalog/pg_opclass.h +6 -3
  96. data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +1 -1
  97. data/ext/pg_query/include/postgres/catalog/pg_operator.h +20 -3
  98. data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +1 -1
  99. data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +6 -3
  100. data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +1 -1
  101. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +4 -2
  102. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +1 -1
  103. data/ext/pg_query/include/postgres/catalog/pg_proc.h +6 -3
  104. data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +1 -1
  105. data/ext/pg_query/include/postgres/catalog/pg_publication.h +6 -3
  106. data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +1 -1
  107. data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +6 -3
  108. data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +1 -1
  109. data/ext/pg_query/include/postgres/catalog/pg_statistic.h +10 -4
  110. data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +7 -3
  111. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +10 -7
  112. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +3 -3
  113. data/ext/pg_query/include/postgres/catalog/pg_transform.h +6 -3
  114. data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +1 -1
  115. data/ext/pg_query/include/postgres/catalog/pg_trigger.h +4 -4
  116. data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +1 -1
  117. data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +6 -3
  118. data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +1 -1
  119. data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +6 -3
  120. data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +1 -1
  121. data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +6 -3
  122. data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +1 -1
  123. data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +6 -3
  124. data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +1 -1
  125. data/ext/pg_query/include/postgres/catalog/pg_type.h +6 -3
  126. data/ext/pg_query/include/postgres/catalog/pg_type_d.h +1 -1
  127. data/ext/pg_query/include/postgres/catalog/storage.h +1 -1
  128. data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
  129. data/ext/pg_query/include/postgres/commands/async.h +2 -6
  130. data/ext/pg_query/include/postgres/commands/dbcommands.h +1 -1
  131. data/ext/pg_query/include/postgres/commands/defrem.h +6 -6
  132. data/ext/pg_query/include/postgres/commands/event_trigger.h +5 -2
  133. data/ext/pg_query/include/postgres/commands/explain.h +19 -3
  134. data/ext/pg_query/include/postgres/commands/prepare.h +1 -1
  135. data/ext/pg_query/include/postgres/commands/tablespace.h +1 -1
  136. data/ext/pg_query/include/postgres/commands/trigger.h +1 -1
  137. data/ext/pg_query/include/postgres/commands/vacuum.h +28 -26
  138. data/ext/pg_query/include/postgres/common/cryptohash.h +2 -2
  139. data/ext/pg_query/include/postgres/common/file_perm.h +1 -1
  140. data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
  141. data/ext/pg_query/include/postgres/common/hashfn.h +16 -1
  142. data/ext/pg_query/include/postgres/common/hashfn_unstable.h +453 -0
  143. data/ext/pg_query/include/postgres/common/int.h +79 -4
  144. data/ext/pg_query/include/postgres/common/keywords.h +1 -1
  145. data/ext/pg_query/include/postgres/common/kwlookup.h +1 -1
  146. data/ext/pg_query/include/postgres/common/pg_prng.h +2 -1
  147. data/ext/pg_query/include/postgres/common/relpath.h +4 -4
  148. data/ext/pg_query/include/postgres/common/scram-common.h +1 -1
  149. data/ext/pg_query/include/postgres/common/sha2.h +1 -1
  150. data/ext/pg_query/include/postgres/common/string.h +1 -1
  151. data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +2 -3
  152. data/ext/pg_query/include/postgres/copyfuncs.funcs.c +278 -30
  153. data/ext/pg_query/include/postgres/copyfuncs.switch.c +55 -4
  154. data/ext/pg_query/include/postgres/datatype/timestamp.h +28 -2
  155. data/ext/pg_query/include/postgres/equalfuncs.funcs.c +239 -26
  156. data/ext/pg_query/include/postgres/equalfuncs.switch.c +55 -4
  157. data/ext/pg_query/include/postgres/executor/execdesc.h +1 -1
  158. data/ext/pg_query/include/postgres/executor/executor.h +6 -5
  159. data/ext/pg_query/include/postgres/executor/functions.h +2 -1
  160. data/ext/pg_query/include/postgres/executor/instrument.h +5 -3
  161. data/ext/pg_query/include/postgres/executor/spi.h +2 -8
  162. data/ext/pg_query/include/postgres/executor/tablefunc.h +1 -1
  163. data/ext/pg_query/include/postgres/executor/tuptable.h +31 -2
  164. data/ext/pg_query/include/postgres/fmgr.h +2 -2
  165. data/ext/pg_query/include/postgres/foreign/fdwapi.h +1 -1
  166. data/ext/pg_query/include/postgres/funcapi.h +2 -2
  167. data/ext/pg_query/include/postgres/gram.h +871 -830
  168. data/ext/pg_query/include/postgres/gramparse.h +1 -1
  169. data/ext/pg_query/include/postgres/jit/jit.h +4 -3
  170. data/ext/pg_query/include/postgres/kwlist_d.h +511 -466
  171. data/ext/pg_query/include/postgres/lib/dshash.h +25 -10
  172. data/ext/pg_query/include/postgres/lib/ilist.h +1 -1
  173. data/ext/pg_query/include/postgres/lib/pairingheap.h +1 -1
  174. data/ext/pg_query/include/postgres/lib/simplehash.h +40 -18
  175. data/ext/pg_query/include/postgres/lib/sort_template.h +14 -1
  176. data/ext/pg_query/include/postgres/lib/stringinfo.h +93 -11
  177. data/ext/pg_query/include/postgres/libpq/auth.h +1 -1
  178. data/ext/pg_query/include/postgres/libpq/crypt.h +2 -2
  179. data/ext/pg_query/include/postgres/libpq/hba.h +4 -4
  180. data/ext/pg_query/include/postgres/libpq/libpq-be.h +29 -25
  181. data/ext/pg_query/include/postgres/libpq/libpq.h +6 -7
  182. data/ext/pg_query/include/postgres/libpq/pqcomm.h +26 -20
  183. data/ext/pg_query/include/postgres/libpq/pqformat.h +2 -3
  184. data/ext/pg_query/include/postgres/libpq/pqsignal.h +1 -1
  185. data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
  186. data/ext/pg_query/include/postgres/libpq/sasl.h +1 -1
  187. data/ext/pg_query/include/postgres/libpq/scram.h +1 -1
  188. data/ext/pg_query/include/postgres/mb/pg_wchar.h +102 -82
  189. data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +1 -1
  190. data/ext/pg_query/include/postgres/miscadmin.h +64 -52
  191. data/ext/pg_query/include/postgres/nodes/bitmapset.h +17 -3
  192. data/ext/pg_query/include/postgres/nodes/execnodes.h +109 -25
  193. data/ext/pg_query/include/postgres/nodes/extensible.h +1 -1
  194. data/ext/pg_query/include/postgres/nodes/lockoptions.h +4 -4
  195. data/ext/pg_query/include/postgres/nodes/makefuncs.h +8 -2
  196. data/ext/pg_query/include/postgres/nodes/memnodes.h +43 -4
  197. data/ext/pg_query/include/postgres/nodes/miscnodes.h +1 -1
  198. data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +1 -1
  199. data/ext/pg_query/include/postgres/nodes/nodes.h +30 -41
  200. data/ext/pg_query/include/postgres/nodes/nodetags.h +464 -444
  201. data/ext/pg_query/include/postgres/nodes/params.h +1 -1
  202. data/ext/pg_query/include/postgres/nodes/parsenodes.h +358 -175
  203. data/ext/pg_query/include/postgres/nodes/pathnodes.h +60 -9
  204. data/ext/pg_query/include/postgres/nodes/pg_list.h +62 -11
  205. data/ext/pg_query/include/postgres/nodes/plannodes.h +11 -10
  206. data/ext/pg_query/include/postgres/nodes/primnodes.h +344 -50
  207. data/ext/pg_query/include/postgres/nodes/print.h +1 -1
  208. data/ext/pg_query/include/postgres/nodes/queryjumble.h +2 -2
  209. data/ext/pg_query/include/postgres/nodes/replnodes.h +23 -2
  210. data/ext/pg_query/include/postgres/nodes/supportnodes.h +1 -1
  211. data/ext/pg_query/include/postgres/nodes/tidbitmap.h +1 -1
  212. data/ext/pg_query/include/postgres/nodes/value.h +1 -1
  213. data/ext/pg_query/include/postgres/optimizer/cost.h +5 -4
  214. data/ext/pg_query/include/postgres/optimizer/geqo.h +1 -1
  215. data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +1 -1
  216. data/ext/pg_query/include/postgres/optimizer/optimizer.h +5 -2
  217. data/ext/pg_query/include/postgres/optimizer/paths.h +13 -8
  218. data/ext/pg_query/include/postgres/optimizer/planmain.h +7 -1
  219. data/ext/pg_query/include/postgres/parser/analyze.h +3 -1
  220. data/ext/pg_query/include/postgres/parser/kwlist.h +22 -2
  221. data/ext/pg_query/include/postgres/parser/parse_agg.h +1 -1
  222. data/ext/pg_query/include/postgres/parser/parse_coerce.h +2 -2
  223. data/ext/pg_query/include/postgres/parser/parse_expr.h +1 -1
  224. data/ext/pg_query/include/postgres/parser/parse_func.h +2 -2
  225. data/ext/pg_query/include/postgres/parser/parse_node.h +3 -2
  226. data/ext/pg_query/include/postgres/parser/parse_oper.h +4 -1
  227. data/ext/pg_query/include/postgres/parser/parse_relation.h +1 -1
  228. data/ext/pg_query/include/postgres/parser/parse_type.h +2 -2
  229. data/ext/pg_query/include/postgres/parser/parser.h +3 -3
  230. data/ext/pg_query/include/postgres/parser/parsetree.h +1 -1
  231. data/ext/pg_query/include/postgres/parser/scanner.h +1 -1
  232. data/ext/pg_query/include/postgres/parser/scansup.h +1 -1
  233. data/ext/pg_query/include/postgres/partitioning/partdefs.h +1 -1
  234. data/ext/pg_query/include/postgres/pg_config.h +34 -34
  235. data/ext/pg_query/include/postgres/pg_config_manual.h +21 -8
  236. data/ext/pg_query/include/postgres/pg_getopt.h +1 -1
  237. data/ext/pg_query/include/postgres/pg_trace.h +1 -1
  238. data/ext/pg_query/include/postgres/pgstat.h +13 -11
  239. data/ext/pg_query/include/postgres/pgtime.h +1 -1
  240. data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +1 -1
  241. data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +1 -1
  242. data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +1 -1
  243. data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +1 -1
  244. data/ext/pg_query/include/postgres/plerrcodes.h +4 -4
  245. data/ext/pg_query/include/postgres/plpgsql.h +15 -13
  246. data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +1 -1
  247. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +1 -1
  248. data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +3 -1
  249. data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +3 -1
  250. data/ext/pg_query/include/postgres/port/atomics/fallback.h +1 -1
  251. data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +38 -1
  252. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +19 -1
  253. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +16 -1
  254. data/ext/pg_query/include/postgres/port/atomics/generic.h +38 -2
  255. data/ext/pg_query/include/postgres/port/atomics.h +93 -6
  256. data/ext/pg_query/include/postgres/port/pg_bitutils.h +91 -9
  257. data/ext/pg_query/include/postgres/port/pg_bswap.h +1 -1
  258. data/ext/pg_query/include/postgres/port/pg_crc32c.h +10 -1
  259. data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
  260. data/ext/pg_query/include/postgres/port/simd.h +48 -1
  261. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +8 -0
  262. data/ext/pg_query/include/postgres/port/win32_port.h +1 -11
  263. data/ext/pg_query/include/postgres/port.h +7 -3
  264. data/ext/pg_query/include/postgres/portability/instr_time.h +1 -1
  265. data/ext/pg_query/include/postgres/postgres.h +1 -1
  266. data/ext/pg_query/include/postgres/postmaster/autovacuum.h +5 -16
  267. data/ext/pg_query/include/postgres/postmaster/bgworker.h +8 -6
  268. data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +3 -7
  269. data/ext/pg_query/include/postgres/postmaster/bgwriter.h +3 -3
  270. data/ext/pg_query/include/postgres/postmaster/interrupt.h +1 -1
  271. data/ext/pg_query/include/postgres/postmaster/pgarch.h +2 -2
  272. data/ext/pg_query/include/postgres/postmaster/postmaster.h +25 -5
  273. data/ext/pg_query/include/postgres/postmaster/startup.h +2 -2
  274. data/ext/pg_query/include/postgres/postmaster/syslogger.h +2 -4
  275. data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
  276. data/ext/pg_query/include/postgres/postmaster/walwriter.h +2 -2
  277. data/ext/pg_query/include/postgres/regex/regex.h +92 -9
  278. data/ext/pg_query/include/postgres/replication/logicallauncher.h +1 -1
  279. data/ext/pg_query/include/postgres/replication/logicalproto.h +2 -2
  280. data/ext/pg_query/include/postgres/replication/logicalworker.h +2 -1
  281. data/ext/pg_query/include/postgres/replication/origin.h +1 -1
  282. data/ext/pg_query/include/postgres/replication/reorderbuffer.h +18 -28
  283. data/ext/pg_query/include/postgres/replication/slot.h +41 -5
  284. data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
  285. data/ext/pg_query/include/postgres/replication/syncrep.h +1 -1
  286. data/ext/pg_query/include/postgres/replication/walreceiver.h +37 -11
  287. data/ext/pg_query/include/postgres/replication/walsender.h +5 -3
  288. data/ext/pg_query/include/postgres/rewrite/prs2lock.h +1 -1
  289. data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +7 -1
  290. data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +2 -2
  291. data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +1 -1
  292. data/ext/pg_query/include/postgres/storage/block.h +1 -1
  293. data/ext/pg_query/include/postgres/storage/buf.h +1 -1
  294. data/ext/pg_query/include/postgres/storage/bufmgr.h +59 -41
  295. data/ext/pg_query/include/postgres/storage/bufpage.h +1 -1
  296. data/ext/pg_query/include/postgres/storage/condition_variable.h +1 -1
  297. data/ext/pg_query/include/postgres/storage/dsm.h +1 -1
  298. data/ext/pg_query/include/postgres/storage/dsm_impl.h +2 -2
  299. data/ext/pg_query/include/postgres/storage/fd.h +30 -13
  300. data/ext/pg_query/include/postgres/storage/fileset.h +1 -1
  301. data/ext/pg_query/include/postgres/storage/ipc.h +4 -1
  302. data/ext/pg_query/include/postgres/storage/item.h +1 -1
  303. data/ext/pg_query/include/postgres/storage/itemid.h +1 -1
  304. data/ext/pg_query/include/postgres/storage/itemptr.h +1 -1
  305. data/ext/pg_query/include/postgres/storage/large_object.h +1 -1
  306. data/ext/pg_query/include/postgres/storage/latch.h +4 -2
  307. data/ext/pg_query/include/postgres/storage/lmgr.h +8 -2
  308. data/ext/pg_query/include/postgres/storage/lock.h +19 -19
  309. data/ext/pg_query/include/postgres/storage/lockdefs.h +1 -1
  310. data/ext/pg_query/include/postgres/storage/lwlock.h +17 -9
  311. data/ext/pg_query/include/postgres/storage/lwlocknames.h +7 -10
  312. data/ext/pg_query/include/postgres/storage/off.h +1 -1
  313. data/ext/pg_query/include/postgres/storage/pg_sema.h +1 -1
  314. data/ext/pg_query/include/postgres/storage/pg_shmem.h +5 -4
  315. data/ext/pg_query/include/postgres/storage/pmsignal.h +2 -2
  316. data/ext/pg_query/include/postgres/storage/predicate.h +1 -5
  317. data/ext/pg_query/include/postgres/storage/proc.h +48 -23
  318. data/ext/pg_query/include/postgres/storage/procarray.h +5 -1
  319. data/ext/pg_query/include/postgres/storage/proclist_types.h +11 -9
  320. data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
  321. data/ext/pg_query/include/postgres/storage/procsignal.h +8 -6
  322. data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
  323. data/ext/pg_query/include/postgres/storage/relfilelocator.h +16 -15
  324. data/ext/pg_query/include/postgres/storage/s_lock.h +7 -27
  325. data/ext/pg_query/include/postgres/storage/sharedfileset.h +1 -1
  326. data/ext/pg_query/include/postgres/storage/shm_mq.h +2 -2
  327. data/ext/pg_query/include/postgres/storage/shm_toc.h +1 -1
  328. data/ext/pg_query/include/postgres/storage/shmem.h +1 -1
  329. data/ext/pg_query/include/postgres/storage/sinval.h +3 -3
  330. data/ext/pg_query/include/postgres/storage/smgr.h +41 -27
  331. data/ext/pg_query/include/postgres/storage/spin.h +1 -1
  332. data/ext/pg_query/include/postgres/storage/standby.h +13 -3
  333. data/ext/pg_query/include/postgres/storage/standbydefs.h +2 -2
  334. data/ext/pg_query/include/postgres/storage/sync.h +4 -4
  335. data/ext/pg_query/include/postgres/tcop/cmdtag.h +1 -2
  336. data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +3 -2
  337. data/ext/pg_query/include/postgres/tcop/deparse_utility.h +2 -2
  338. data/ext/pg_query/include/postgres/tcop/dest.h +3 -2
  339. data/ext/pg_query/include/postgres/tcop/fastpath.h +1 -1
  340. data/ext/pg_query/include/postgres/tcop/pquery.h +1 -1
  341. data/ext/pg_query/include/postgres/tcop/tcopprot.h +9 -5
  342. data/ext/pg_query/include/postgres/tcop/utility.h +2 -2
  343. data/ext/pg_query/include/postgres/tsearch/ts_cache.h +1 -1
  344. data/ext/pg_query/include/postgres/utils/acl.h +19 -7
  345. data/ext/pg_query/include/postgres/utils/aclchk_internal.h +1 -1
  346. data/ext/pg_query/include/postgres/utils/array.h +1 -2
  347. data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
  348. data/ext/pg_query/include/postgres/utils/backend_progress.h +3 -2
  349. data/ext/pg_query/include/postgres/utils/backend_status.h +8 -10
  350. data/ext/pg_query/include/postgres/utils/builtins.h +4 -1
  351. data/ext/pg_query/include/postgres/utils/bytea.h +2 -2
  352. data/ext/pg_query/include/postgres/utils/catcache.h +5 -6
  353. data/ext/pg_query/include/postgres/utils/date.h +1 -1
  354. data/ext/pg_query/include/postgres/utils/datetime.h +4 -1
  355. data/ext/pg_query/include/postgres/utils/datum.h +1 -1
  356. data/ext/pg_query/include/postgres/utils/dsa.h +44 -5
  357. data/ext/pg_query/include/postgres/utils/elog.h +3 -8
  358. data/ext/pg_query/include/postgres/utils/errcodes.h +1 -3
  359. data/ext/pg_query/include/postgres/utils/expandeddatum.h +1 -1
  360. data/ext/pg_query/include/postgres/utils/expandedrecord.h +1 -1
  361. data/ext/pg_query/include/postgres/utils/float.h +1 -1
  362. data/ext/pg_query/include/postgres/utils/fmgroids.h +49 -16
  363. data/ext/pg_query/include/postgres/utils/fmgrprotos.h +47 -14
  364. data/ext/pg_query/include/postgres/utils/fmgrtab.h +1 -1
  365. data/ext/pg_query/include/postgres/utils/guc.h +20 -6
  366. data/ext/pg_query/include/postgres/utils/guc_hooks.h +23 -2
  367. data/ext/pg_query/include/postgres/utils/guc_tables.h +6 -5
  368. data/ext/pg_query/include/postgres/utils/hsearch.h +2 -2
  369. data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
  370. data/ext/pg_query/include/postgres/utils/inval.h +1 -1
  371. data/ext/pg_query/include/postgres/utils/logtape.h +5 -5
  372. data/ext/pg_query/include/postgres/utils/lsyscache.h +6 -3
  373. data/ext/pg_query/include/postgres/utils/memdebug.h +1 -1
  374. data/ext/pg_query/include/postgres/utils/memutils.h +12 -5
  375. data/ext/pg_query/include/postgres/utils/memutils_internal.h +53 -13
  376. data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +25 -9
  377. data/ext/pg_query/include/postgres/utils/numeric.h +6 -1
  378. data/ext/pg_query/include/postgres/utils/palloc.h +1 -15
  379. data/ext/pg_query/include/postgres/utils/partcache.h +1 -1
  380. data/ext/pg_query/include/postgres/utils/pg_locale.h +8 -7
  381. data/ext/pg_query/include/postgres/utils/pgstat_internal.h +11 -17
  382. data/ext/pg_query/include/postgres/utils/plancache.h +5 -3
  383. data/ext/pg_query/include/postgres/utils/portal.h +9 -9
  384. data/ext/pg_query/include/postgres/utils/queryenvironment.h +2 -2
  385. data/ext/pg_query/include/postgres/utils/regproc.h +1 -1
  386. data/ext/pg_query/include/postgres/utils/rel.h +14 -15
  387. data/ext/pg_query/include/postgres/utils/relcache.h +2 -5
  388. data/ext/pg_query/include/postgres/utils/reltrigger.h +1 -1
  389. data/ext/pg_query/include/postgres/utils/resowner.h +90 -9
  390. data/ext/pg_query/include/postgres/utils/ruleutils.h +1 -1
  391. data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +1 -1
  392. data/ext/pg_query/include/postgres/utils/snapmgr.h +1 -52
  393. data/ext/pg_query/include/postgres/utils/snapshot.h +2 -2
  394. data/ext/pg_query/include/postgres/utils/sortsupport.h +1 -1
  395. data/ext/pg_query/include/postgres/utils/syscache.h +2 -98
  396. data/ext/pg_query/include/postgres/utils/timeout.h +3 -2
  397. data/ext/pg_query/include/postgres/utils/timestamp.h +1 -1
  398. data/ext/pg_query/include/postgres/utils/tuplesort.h +36 -9
  399. data/ext/pg_query/include/postgres/utils/tuplestore.h +2 -5
  400. data/ext/pg_query/include/postgres/utils/typcache.h +2 -1
  401. data/ext/pg_query/include/postgres/utils/varlena.h +1 -1
  402. data/ext/pg_query/include/postgres/utils/wait_event.h +28 -214
  403. data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
  404. data/ext/pg_query/include/postgres/utils/xml.h +4 -4
  405. data/ext/pg_query/include/postgres/varatt.h +1 -1
  406. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1546 -792
  407. data/ext/pg_query/include/protobuf/pg_query.pb.h +58365 -46595
  408. data/ext/pg_query/pg_query.pb-c.c +6598 -3739
  409. data/ext/pg_query/pg_query_normalize.c +42 -1
  410. data/ext/pg_query/pg_query_outfuncs_json.c +3 -1
  411. data/ext/pg_query/pg_query_parse_plpgsql.c +12 -13
  412. data/ext/pg_query/pg_query_readfuncs_protobuf.c +2 -2
  413. data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -1
  414. data/ext/pg_query/pg_query_scan.c +1 -1
  415. data/ext/pg_query/postgres_deparse.c +409 -21
  416. data/ext/pg_query/src_backend_catalog_namespace.c +241 -66
  417. data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -3
  418. data/ext/pg_query/src_backend_commands_define.c +2 -3
  419. data/ext/pg_query/src_backend_nodes_bitmapset.c +137 -94
  420. data/ext/pg_query/src_backend_nodes_copyfuncs.c +1 -1
  421. data/ext/pg_query/src_backend_nodes_equalfuncs.c +1 -1
  422. data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
  423. data/ext/pg_query/src_backend_nodes_list.c +3 -7
  424. data/ext/pg_query/src_backend_nodes_makefuncs.c +59 -20
  425. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +109 -2
  426. data/ext/pg_query/src_backend_nodes_value.c +1 -1
  427. data/ext/pg_query/src_backend_parser_gram.c +34490 -32135
  428. data/ext/pg_query/src_backend_parser_parser.c +8 -8
  429. data/ext/pg_query/src_backend_parser_scan.c +5637 -3028
  430. data/ext/pg_query/src_backend_parser_scansup.c +2 -1
  431. data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
  432. data/ext/pg_query/src_backend_tcop_postgres.c +34 -10
  433. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +2 -2
  434. data/ext/pg_query/src_backend_utils_adt_datum.c +8 -6
  435. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  436. data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
  437. data/ext/pg_query/src_backend_utils_adt_numutils.c +4 -5
  438. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +101 -28
  439. data/ext/pg_query/src_backend_utils_error_assert.c +1 -1
  440. data/ext/pg_query/src_backend_utils_error_elog.c +47 -42
  441. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +4 -2
  442. data/ext/pg_query/src_backend_utils_init_globals.c +15 -3
  443. data/ext/pg_query/src_backend_utils_mb_mbutils.c +11 -18
  444. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +16 -6
  445. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +8 -5
  446. data/ext/pg_query/src_backend_utils_mmgr_aset.c +308 -238
  447. data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
  448. data/ext/pg_query/src_backend_utils_mmgr_generation.c +273 -197
  449. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +270 -215
  450. data/ext/pg_query/src_backend_utils_mmgr_slab.c +154 -96
  451. data/ext/pg_query/src_common_encnames.c +43 -44
  452. data/ext/pg_query/src_common_hashfn.c +1 -1
  453. data/ext/pg_query/src_common_keywords.c +1 -1
  454. data/ext/pg_query/src_common_kwlist_d.h +511 -466
  455. data/ext/pg_query/src_common_kwlookup.c +1 -1
  456. data/ext/pg_query/src_common_psprintf.c +3 -3
  457. data/ext/pg_query/src_common_stringinfo.c +18 -1
  458. data/ext/pg_query/src_common_wchar.c +45 -108
  459. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +99 -5
  460. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -1
  461. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +242 -143
  462. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  463. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
  464. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +19 -1
  465. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +1 -1
  466. data/ext/pg_query/src_port_pg_bitutils.c +173 -28
  467. data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
  468. data/ext/pg_query/src_port_snprintf.c +1 -1
  469. data/ext/pg_query/src_port_strerror.c +1 -3
  470. data/ext/pg_query/src_port_strlcpy.c +1 -1
  471. data/lib/pg_query/param_refs.rb +1 -1
  472. data/lib/pg_query/pg_query_pb.rb +26 -3
  473. data/lib/pg_query/treewalker.rb +38 -11
  474. data/lib/pg_query/truncate.rb +1 -1
  475. data/lib/pg_query/version.rb +1 -1
  476. metadata +25 -11
  477. data/ext/pg_query/include/postgres/storage/backendid.h +0 -37
  478. data/ext/pg_query/include/postgres/storage/sinvaladt.h +0 -45
  479. data/ext/pg_query/src_backend_nodes_nodes.c +0 -38
@@ -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 */
@@ -3,7 +3,7 @@
3
3
  * lsyscache.h
4
4
  * Convenience routines for common queries in the system catalog cache.
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/lsyscache.h
@@ -35,7 +35,7 @@ typedef enum IOFuncSelector
35
35
  IOFunc_input,
36
36
  IOFunc_output,
37
37
  IOFunc_receive,
38
- IOFunc_send
38
+ IOFunc_send,
39
39
  } IOFuncSelector;
40
40
 
41
41
  /* Flag bits for get_attstatsslot */
@@ -90,7 +90,6 @@ extern Oid get_opfamily_proc(Oid opfamily, Oid lefttype, Oid righttype,
90
90
  int16 procnum);
91
91
  extern char *get_attname(Oid relid, AttrNumber attnum, bool missing_ok);
92
92
  extern AttrNumber get_attnum(Oid relid, const char *attname);
93
- extern int get_attstattarget(Oid relid, AttrNumber attnum);
94
93
  extern char get_attgenerated(Oid relid, AttrNumber attnum);
95
94
  extern Oid get_atttype(Oid relid, AttrNumber attnum);
96
95
  extern void get_atttypetypmodcoll(Oid relid, AttrNumber attnum,
@@ -101,11 +100,14 @@ extern char *get_collation_name(Oid colloid);
101
100
  extern bool get_collation_isdeterministic(Oid colloid);
102
101
  extern char *get_constraint_name(Oid conoid);
103
102
  extern Oid get_constraint_index(Oid conoid);
103
+ extern char get_constraint_type(Oid conoid);
104
+
104
105
  extern char *get_language_name(Oid langoid, bool missing_ok);
105
106
  extern Oid get_opclass_family(Oid opclass);
106
107
  extern Oid get_opclass_input_type(Oid opclass);
107
108
  extern bool get_opclass_opfamily_and_input_type(Oid opclass,
108
109
  Oid *opfamily, Oid *opcintype);
110
+ extern Oid get_opclass_method(Oid opclass);
109
111
  extern RegProcedure get_opcode(Oid opno);
110
112
  extern char *get_opname(Oid opno);
111
113
  extern Oid get_op_rettype(Oid opno);
@@ -139,6 +141,7 @@ extern char get_rel_relkind(Oid relid);
139
141
  extern bool get_rel_relispartition(Oid relid);
140
142
  extern Oid get_rel_tablespace(Oid relid);
141
143
  extern char get_rel_persistence(Oid relid);
144
+ extern Oid get_rel_relam(Oid relid);
142
145
  extern Oid get_transform_fromsql(Oid typid, Oid langid, List *trftypes);
143
146
  extern Oid get_transform_tosql(Oid typid, Oid langid, List *trftypes);
144
147
  extern bool get_typisdefined(Oid typid);
@@ -7,7 +7,7 @@
7
7
  * empty definitions for Valgrind client request macros we use.
8
8
  *
9
9
  *
10
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
10
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
11
11
  * Portions Copyright (c) 1994, Regents of the University of California
12
12
  *
13
13
  * src/include/utils/memdebug.h
@@ -7,7 +7,7 @@
7
7
  * of the API of the memory management subsystem.
8
8
  *
9
9
  *
10
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
10
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
11
11
  * Portions Copyright (c) 1994, Regents of the University of California
12
12
  *
13
13
  * src/include/utils/memutils.h
@@ -66,9 +66,6 @@ extern PGDLLIMPORT MemoryContext CurTransactionContext;
66
66
  /* This is a transient link to the active portal's memory context: */
67
67
  extern PGDLLIMPORT MemoryContext PortalContext;
68
68
 
69
- /* Backwards compatibility macro */
70
- #define MemoryContextResetAndDeleteChildren(ctx) MemoryContextReset(ctx)
71
-
72
69
 
73
70
  /*
74
71
  * Memory-context-type-independent functions in mcxt.c
@@ -87,8 +84,11 @@ extern Size GetMemoryChunkSpace(void *pointer);
87
84
  extern MemoryContext MemoryContextGetParent(MemoryContext context);
88
85
  extern bool MemoryContextIsEmpty(MemoryContext context);
89
86
  extern Size MemoryContextMemAllocated(MemoryContext context, bool recurse);
87
+ extern void MemoryContextMemConsumed(MemoryContext context,
88
+ MemoryContextCounters *consumed);
90
89
  extern void MemoryContextStats(MemoryContext context);
91
- extern void MemoryContextStatsDetail(MemoryContext context, int max_children,
90
+ extern void MemoryContextStatsDetail(MemoryContext context,
91
+ int max_level, int max_children,
92
92
  bool print_to_stderr);
93
93
  extern void MemoryContextAllowInCriticalSection(MemoryContext context,
94
94
  bool allow);
@@ -144,6 +144,13 @@ extern MemoryContext GenerationContextCreate(MemoryContext parent,
144
144
  Size initBlockSize,
145
145
  Size maxBlockSize);
146
146
 
147
+ /* bump.c */
148
+ extern MemoryContext BumpContextCreate(MemoryContext parent,
149
+ const char *name,
150
+ Size minContextSize,
151
+ Size initBlockSize,
152
+ Size maxBlockSize);
153
+
147
154
  /*
148
155
  * Recommended default alloc parameters, suitable for "ordinary" contexts
149
156
  * that might hold quite a lot of data.