pg_query 5.1.0 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
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.