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
@@ -2,7 +2,7 @@
2
2
  * wait_event.h
3
3
  * Definitions related to wait event reporting
4
4
  *
5
- * Copyright (c) 2001-2023, PostgreSQL Global Development Group
5
+ * Copyright (c) 2001-2024, PostgreSQL Global Development Group
6
6
  *
7
7
  * src/include/utils/wait_event.h
8
8
  * ----------
@@ -17,226 +17,17 @@
17
17
  */
18
18
  #define PG_WAIT_LWLOCK 0x01000000U
19
19
  #define PG_WAIT_LOCK 0x03000000U
20
- #define PG_WAIT_BUFFER_PIN 0x04000000U
20
+ #define PG_WAIT_BUFFERPIN 0x04000000U
21
21
  #define PG_WAIT_ACTIVITY 0x05000000U
22
22
  #define PG_WAIT_CLIENT 0x06000000U
23
23
  #define PG_WAIT_EXTENSION 0x07000000U
24
24
  #define PG_WAIT_IPC 0x08000000U
25
25
  #define PG_WAIT_TIMEOUT 0x09000000U
26
26
  #define PG_WAIT_IO 0x0A000000U
27
+ #define PG_WAIT_INJECTIONPOINT 0x0B000000U
27
28
 
28
- /* ----------
29
- * Wait Events - Activity
30
- *
31
- * Use this category when a process is waiting because it has no work to do,
32
- * unless the "Client" or "Timeout" category describes the situation better.
33
- * Typically, this should only be used for background processes.
34
- * ----------
35
- */
36
- typedef enum
37
- {
38
- WAIT_EVENT_ARCHIVER_MAIN = PG_WAIT_ACTIVITY,
39
- WAIT_EVENT_AUTOVACUUM_MAIN,
40
- WAIT_EVENT_BGWRITER_HIBERNATE,
41
- WAIT_EVENT_BGWRITER_MAIN,
42
- WAIT_EVENT_CHECKPOINTER_MAIN,
43
- WAIT_EVENT_LOGICAL_APPLY_MAIN,
44
- WAIT_EVENT_LOGICAL_LAUNCHER_MAIN,
45
- WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN,
46
- WAIT_EVENT_RECOVERY_WAL_STREAM,
47
- WAIT_EVENT_SYSLOGGER_MAIN,
48
- WAIT_EVENT_WAL_RECEIVER_MAIN,
49
- WAIT_EVENT_WAL_SENDER_MAIN,
50
- WAIT_EVENT_WAL_WRITER_MAIN
51
- } WaitEventActivity;
52
-
53
- /* ----------
54
- * Wait Events - Client
55
- *
56
- * Use this category when a process is waiting to send data to or receive data
57
- * from the frontend process to which it is connected. This is never used for
58
- * a background process, which has no client connection.
59
- * ----------
60
- */
61
- typedef enum
62
- {
63
- WAIT_EVENT_CLIENT_READ = PG_WAIT_CLIENT,
64
- WAIT_EVENT_CLIENT_WRITE,
65
- WAIT_EVENT_GSS_OPEN_SERVER,
66
- WAIT_EVENT_LIBPQWALRECEIVER_CONNECT,
67
- WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE,
68
- WAIT_EVENT_SSL_OPEN_SERVER,
69
- WAIT_EVENT_WAL_SENDER_WAIT_WAL,
70
- WAIT_EVENT_WAL_SENDER_WRITE_DATA,
71
- } WaitEventClient;
72
-
73
- /* ----------
74
- * Wait Events - IPC
75
- *
76
- * Use this category when a process cannot complete the work it is doing because
77
- * it is waiting for a notification from another process.
78
- * ----------
79
- */
80
- typedef enum
81
- {
82
- WAIT_EVENT_APPEND_READY = PG_WAIT_IPC,
83
- WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND,
84
- WAIT_EVENT_ARCHIVE_COMMAND,
85
- WAIT_EVENT_BACKEND_TERMINATION,
86
- WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE,
87
- WAIT_EVENT_BGWORKER_SHUTDOWN,
88
- WAIT_EVENT_BGWORKER_STARTUP,
89
- WAIT_EVENT_BTREE_PAGE,
90
- WAIT_EVENT_BUFFER_IO,
91
- WAIT_EVENT_CHECKPOINT_DONE,
92
- WAIT_EVENT_CHECKPOINT_START,
93
- WAIT_EVENT_EXECUTE_GATHER,
94
- WAIT_EVENT_HASH_BATCH_ALLOCATE,
95
- WAIT_EVENT_HASH_BATCH_ELECT,
96
- WAIT_EVENT_HASH_BATCH_LOAD,
97
- WAIT_EVENT_HASH_BUILD_ALLOCATE,
98
- WAIT_EVENT_HASH_BUILD_ELECT,
99
- WAIT_EVENT_HASH_BUILD_HASH_INNER,
100
- WAIT_EVENT_HASH_BUILD_HASH_OUTER,
101
- WAIT_EVENT_HASH_GROW_BATCHES_DECIDE,
102
- WAIT_EVENT_HASH_GROW_BATCHES_ELECT,
103
- WAIT_EVENT_HASH_GROW_BATCHES_FINISH,
104
- WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE,
105
- WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION,
106
- WAIT_EVENT_HASH_GROW_BUCKETS_ELECT,
107
- WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE,
108
- WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT,
109
- WAIT_EVENT_LOGICAL_APPLY_SEND_DATA,
110
- WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE,
111
- WAIT_EVENT_LOGICAL_SYNC_DATA,
112
- WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE,
113
- WAIT_EVENT_MQ_INTERNAL,
114
- WAIT_EVENT_MQ_PUT_MESSAGE,
115
- WAIT_EVENT_MQ_RECEIVE,
116
- WAIT_EVENT_MQ_SEND,
117
- WAIT_EVENT_PARALLEL_BITMAP_SCAN,
118
- WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN,
119
- WAIT_EVENT_PARALLEL_FINISH,
120
- WAIT_EVENT_PROCARRAY_GROUP_UPDATE,
121
- WAIT_EVENT_PROC_SIGNAL_BARRIER,
122
- WAIT_EVENT_PROMOTE,
123
- WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT,
124
- WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE,
125
- WAIT_EVENT_RECOVERY_END_COMMAND,
126
- WAIT_EVENT_RECOVERY_PAUSE,
127
- WAIT_EVENT_REPLICATION_ORIGIN_DROP,
128
- WAIT_EVENT_REPLICATION_SLOT_DROP,
129
- WAIT_EVENT_RESTORE_COMMAND,
130
- WAIT_EVENT_SAFE_SNAPSHOT,
131
- WAIT_EVENT_SYNC_REP,
132
- WAIT_EVENT_WAL_RECEIVER_EXIT,
133
- WAIT_EVENT_WAL_RECEIVER_WAIT_START,
134
- WAIT_EVENT_XACT_GROUP_UPDATE
135
- } WaitEventIPC;
136
-
137
- /* ----------
138
- * Wait Events - Timeout
139
- *
140
- * Use this category when a process is waiting for a timeout to expire.
141
- * ----------
142
- */
143
- typedef enum
144
- {
145
- WAIT_EVENT_BASE_BACKUP_THROTTLE = PG_WAIT_TIMEOUT,
146
- WAIT_EVENT_CHECKPOINT_WRITE_DELAY,
147
- WAIT_EVENT_PG_SLEEP,
148
- WAIT_EVENT_RECOVERY_APPLY_DELAY,
149
- WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL,
150
- WAIT_EVENT_REGISTER_SYNC_REQUEST,
151
- WAIT_EVENT_SPIN_DELAY,
152
- WAIT_EVENT_VACUUM_DELAY,
153
- WAIT_EVENT_VACUUM_TRUNCATE
154
- } WaitEventTimeout;
155
-
156
- /* ----------
157
- * Wait Events - IO
158
- *
159
- * Use this category when a process is waiting for a IO.
160
- * ----------
161
- */
162
- typedef enum
163
- {
164
- WAIT_EVENT_BASEBACKUP_READ = PG_WAIT_IO,
165
- WAIT_EVENT_BASEBACKUP_SYNC,
166
- WAIT_EVENT_BASEBACKUP_WRITE,
167
- WAIT_EVENT_BUFFILE_READ,
168
- WAIT_EVENT_BUFFILE_WRITE,
169
- WAIT_EVENT_BUFFILE_TRUNCATE,
170
- WAIT_EVENT_CONTROL_FILE_READ,
171
- WAIT_EVENT_CONTROL_FILE_SYNC,
172
- WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE,
173
- WAIT_EVENT_CONTROL_FILE_WRITE,
174
- WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE,
175
- WAIT_EVENT_COPY_FILE_READ,
176
- WAIT_EVENT_COPY_FILE_WRITE,
177
- WAIT_EVENT_DATA_FILE_EXTEND,
178
- WAIT_EVENT_DATA_FILE_FLUSH,
179
- WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC,
180
- WAIT_EVENT_DATA_FILE_PREFETCH,
181
- WAIT_EVENT_DATA_FILE_READ,
182
- WAIT_EVENT_DATA_FILE_SYNC,
183
- WAIT_EVENT_DATA_FILE_TRUNCATE,
184
- WAIT_EVENT_DATA_FILE_WRITE,
185
- WAIT_EVENT_DSM_ALLOCATE,
186
- WAIT_EVENT_DSM_FILL_ZERO_WRITE,
187
- WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ,
188
- WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC,
189
- WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE,
190
- WAIT_EVENT_LOCK_FILE_CREATE_READ,
191
- WAIT_EVENT_LOCK_FILE_CREATE_SYNC,
192
- WAIT_EVENT_LOCK_FILE_CREATE_WRITE,
193
- WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ,
194
- WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC,
195
- WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC,
196
- WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE,
197
- WAIT_EVENT_LOGICAL_REWRITE_SYNC,
198
- WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE,
199
- WAIT_EVENT_LOGICAL_REWRITE_WRITE,
200
- WAIT_EVENT_RELATION_MAP_READ,
201
- WAIT_EVENT_RELATION_MAP_REPLACE,
202
- WAIT_EVENT_RELATION_MAP_WRITE,
203
- WAIT_EVENT_REORDER_BUFFER_READ,
204
- WAIT_EVENT_REORDER_BUFFER_WRITE,
205
- WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ,
206
- WAIT_EVENT_REPLICATION_SLOT_READ,
207
- WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC,
208
- WAIT_EVENT_REPLICATION_SLOT_SYNC,
209
- WAIT_EVENT_REPLICATION_SLOT_WRITE,
210
- WAIT_EVENT_SLRU_FLUSH_SYNC,
211
- WAIT_EVENT_SLRU_READ,
212
- WAIT_EVENT_SLRU_SYNC,
213
- WAIT_EVENT_SLRU_WRITE,
214
- WAIT_EVENT_SNAPBUILD_READ,
215
- WAIT_EVENT_SNAPBUILD_SYNC,
216
- WAIT_EVENT_SNAPBUILD_WRITE,
217
- WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC,
218
- WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE,
219
- WAIT_EVENT_TIMELINE_HISTORY_READ,
220
- WAIT_EVENT_TIMELINE_HISTORY_SYNC,
221
- WAIT_EVENT_TIMELINE_HISTORY_WRITE,
222
- WAIT_EVENT_TWOPHASE_FILE_READ,
223
- WAIT_EVENT_TWOPHASE_FILE_SYNC,
224
- WAIT_EVENT_TWOPHASE_FILE_WRITE,
225
- WAIT_EVENT_VERSION_FILE_WRITE,
226
- WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ,
227
- WAIT_EVENT_WAL_BOOTSTRAP_SYNC,
228
- WAIT_EVENT_WAL_BOOTSTRAP_WRITE,
229
- WAIT_EVENT_WAL_COPY_READ,
230
- WAIT_EVENT_WAL_COPY_SYNC,
231
- WAIT_EVENT_WAL_COPY_WRITE,
232
- WAIT_EVENT_WAL_INIT_SYNC,
233
- WAIT_EVENT_WAL_INIT_WRITE,
234
- WAIT_EVENT_WAL_READ,
235
- WAIT_EVENT_WAL_SYNC,
236
- WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN,
237
- WAIT_EVENT_WAL_WRITE
238
- } WaitEventIO;
239
-
29
+ /* enums for wait events */
30
+ #include "utils/wait_event_types.h"
240
31
 
241
32
  extern const char *pgstat_get_wait_event(uint32 wait_event_info);
242
33
  extern const char *pgstat_get_wait_event_type(uint32 wait_event_info);
@@ -248,6 +39,29 @@ extern void pgstat_reset_wait_event_storage(void);
248
39
  extern PGDLLIMPORT uint32 *my_wait_event_info;
249
40
 
250
41
 
42
+ /*
43
+ * Wait Events - Extension, InjectionPoint
44
+ *
45
+ * Use InjectionPoint when the server process is waiting in an injection
46
+ * point. Use Extension for other cases of the server process waiting for
47
+ * some condition defined by an extension module.
48
+ *
49
+ * Extensions can define their own wait events in these categories. They
50
+ * should call one of these functions with a wait event string. If the wait
51
+ * event associated to a string is already allocated, it returns the wait
52
+ * event information to use. If not, it gets one wait event ID allocated from
53
+ * a shared counter, associates the string to the ID in the shared dynamic
54
+ * hash and returns the wait event information.
55
+ *
56
+ * The ID retrieved can be used with pgstat_report_wait_start() or equivalent.
57
+ */
58
+ extern uint32 WaitEventExtensionNew(const char *wait_event_name);
59
+ extern uint32 WaitEventInjectionPointNew(const char *wait_event_name);
60
+
61
+ extern void WaitEventCustomShmemInit(void);
62
+ extern Size WaitEventCustomShmemSize(void);
63
+ extern char **GetWaitEventCustomNames(uint32 classId, int *nwaitevents);
64
+
251
65
  /* ----------
252
66
  * pgstat_report_wait_start() -
253
67
  *
@@ -0,0 +1,218 @@
1
+ /*-------------------------------------------------------------------------
2
+ *
3
+ * wait_event_types.h
4
+ * Generated wait events infrastructure code
5
+ *
6
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
7
+ * Portions Copyright (c) 1994, Regents of the University of California
8
+ *
9
+ * NOTES
10
+ * ******************************
11
+ * *** DO NOT EDIT THIS FILE! ***
12
+ * ******************************
13
+ *
14
+ * It has been GENERATED by src/backend/utils/activity/generate-wait_event_types.pl
15
+ *
16
+ *-------------------------------------------------------------------------
17
+ */
18
+
19
+ #ifndef WAIT_EVENT_TYPES_H
20
+ #define WAIT_EVENT_TYPES_H
21
+
22
+ #include "utils/wait_event.h"
23
+
24
+ typedef enum
25
+ {
26
+ WAIT_EVENT_ARCHIVER_MAIN = PG_WAIT_ACTIVITY,
27
+ WAIT_EVENT_AUTOVACUUM_MAIN,
28
+ WAIT_EVENT_BGWRITER_HIBERNATE,
29
+ WAIT_EVENT_BGWRITER_MAIN,
30
+ WAIT_EVENT_CHECKPOINTER_MAIN,
31
+ WAIT_EVENT_LOGICAL_APPLY_MAIN,
32
+ WAIT_EVENT_LOGICAL_LAUNCHER_MAIN,
33
+ WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN,
34
+ WAIT_EVENT_RECOVERY_WAL_STREAM,
35
+ WAIT_EVENT_REPLICATION_SLOTSYNC_MAIN,
36
+ WAIT_EVENT_REPLICATION_SLOTSYNC_SHUTDOWN,
37
+ WAIT_EVENT_SYSLOGGER_MAIN,
38
+ WAIT_EVENT_WAL_RECEIVER_MAIN,
39
+ WAIT_EVENT_WAL_SENDER_MAIN,
40
+ WAIT_EVENT_WAL_SUMMARIZER_WAL,
41
+ WAIT_EVENT_WAL_WRITER_MAIN
42
+ } WaitEventActivity;
43
+
44
+ typedef enum
45
+ {
46
+ WAIT_EVENT_BUFFER_PIN = PG_WAIT_BUFFERPIN
47
+ } WaitEventBufferPin;
48
+
49
+ typedef enum
50
+ {
51
+ WAIT_EVENT_CLIENT_READ = PG_WAIT_CLIENT,
52
+ WAIT_EVENT_CLIENT_WRITE,
53
+ WAIT_EVENT_GSS_OPEN_SERVER,
54
+ WAIT_EVENT_LIBPQWALRECEIVER_CONNECT,
55
+ WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE,
56
+ WAIT_EVENT_SSL_OPEN_SERVER,
57
+ WAIT_EVENT_WAIT_FOR_STANDBY_CONFIRMATION,
58
+ WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL,
59
+ WAIT_EVENT_WAL_SENDER_WRITE_DATA
60
+ } WaitEventClient;
61
+
62
+ typedef enum
63
+ {
64
+ WAIT_EVENT_BASEBACKUP_READ = PG_WAIT_IO,
65
+ WAIT_EVENT_BASEBACKUP_SYNC,
66
+ WAIT_EVENT_BASEBACKUP_WRITE,
67
+ WAIT_EVENT_BUFFILE_READ,
68
+ WAIT_EVENT_BUFFILE_TRUNCATE,
69
+ WAIT_EVENT_BUFFILE_WRITE,
70
+ WAIT_EVENT_CONTROL_FILE_READ,
71
+ WAIT_EVENT_CONTROL_FILE_SYNC,
72
+ WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE,
73
+ WAIT_EVENT_CONTROL_FILE_WRITE,
74
+ WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE,
75
+ WAIT_EVENT_COPY_FILE_READ,
76
+ WAIT_EVENT_COPY_FILE_WRITE,
77
+ WAIT_EVENT_DATA_FILE_EXTEND,
78
+ WAIT_EVENT_DATA_FILE_FLUSH,
79
+ WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC,
80
+ WAIT_EVENT_DATA_FILE_PREFETCH,
81
+ WAIT_EVENT_DATA_FILE_READ,
82
+ WAIT_EVENT_DATA_FILE_SYNC,
83
+ WAIT_EVENT_DATA_FILE_TRUNCATE,
84
+ WAIT_EVENT_DATA_FILE_WRITE,
85
+ WAIT_EVENT_DSM_ALLOCATE,
86
+ WAIT_EVENT_DSM_FILL_ZERO_WRITE,
87
+ WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ,
88
+ WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC,
89
+ WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE,
90
+ WAIT_EVENT_LOCK_FILE_CREATE_READ,
91
+ WAIT_EVENT_LOCK_FILE_CREATE_SYNC,
92
+ WAIT_EVENT_LOCK_FILE_CREATE_WRITE,
93
+ WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ,
94
+ WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC,
95
+ WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC,
96
+ WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE,
97
+ WAIT_EVENT_LOGICAL_REWRITE_SYNC,
98
+ WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE,
99
+ WAIT_EVENT_LOGICAL_REWRITE_WRITE,
100
+ WAIT_EVENT_RELATION_MAP_READ,
101
+ WAIT_EVENT_RELATION_MAP_REPLACE,
102
+ WAIT_EVENT_RELATION_MAP_WRITE,
103
+ WAIT_EVENT_REORDER_BUFFER_READ,
104
+ WAIT_EVENT_REORDER_BUFFER_WRITE,
105
+ WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ,
106
+ WAIT_EVENT_REPLICATION_SLOT_READ,
107
+ WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC,
108
+ WAIT_EVENT_REPLICATION_SLOT_SYNC,
109
+ WAIT_EVENT_REPLICATION_SLOT_WRITE,
110
+ WAIT_EVENT_SLRU_FLUSH_SYNC,
111
+ WAIT_EVENT_SLRU_READ,
112
+ WAIT_EVENT_SLRU_SYNC,
113
+ WAIT_EVENT_SLRU_WRITE,
114
+ WAIT_EVENT_SNAPBUILD_READ,
115
+ WAIT_EVENT_SNAPBUILD_SYNC,
116
+ WAIT_EVENT_SNAPBUILD_WRITE,
117
+ WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC,
118
+ WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE,
119
+ WAIT_EVENT_TIMELINE_HISTORY_READ,
120
+ WAIT_EVENT_TIMELINE_HISTORY_SYNC,
121
+ WAIT_EVENT_TIMELINE_HISTORY_WRITE,
122
+ WAIT_EVENT_TWOPHASE_FILE_READ,
123
+ WAIT_EVENT_TWOPHASE_FILE_SYNC,
124
+ WAIT_EVENT_TWOPHASE_FILE_WRITE,
125
+ WAIT_EVENT_VERSION_FILE_SYNC,
126
+ WAIT_EVENT_VERSION_FILE_WRITE,
127
+ WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ,
128
+ WAIT_EVENT_WAL_BOOTSTRAP_SYNC,
129
+ WAIT_EVENT_WAL_BOOTSTRAP_WRITE,
130
+ WAIT_EVENT_WAL_COPY_READ,
131
+ WAIT_EVENT_WAL_COPY_SYNC,
132
+ WAIT_EVENT_WAL_COPY_WRITE,
133
+ WAIT_EVENT_WAL_INIT_SYNC,
134
+ WAIT_EVENT_WAL_INIT_WRITE,
135
+ WAIT_EVENT_WAL_READ,
136
+ WAIT_EVENT_WAL_SUMMARY_READ,
137
+ WAIT_EVENT_WAL_SUMMARY_WRITE,
138
+ WAIT_EVENT_WAL_SYNC,
139
+ WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN,
140
+ WAIT_EVENT_WAL_WRITE
141
+ } WaitEventIO;
142
+
143
+ typedef enum
144
+ {
145
+ WAIT_EVENT_APPEND_READY = PG_WAIT_IPC,
146
+ WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND,
147
+ WAIT_EVENT_ARCHIVE_COMMAND,
148
+ WAIT_EVENT_BACKEND_TERMINATION,
149
+ WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE,
150
+ WAIT_EVENT_BGWORKER_SHUTDOWN,
151
+ WAIT_EVENT_BGWORKER_STARTUP,
152
+ WAIT_EVENT_BTREE_PAGE,
153
+ WAIT_EVENT_BUFFER_IO,
154
+ WAIT_EVENT_CHECKPOINT_DELAY_COMPLETE,
155
+ WAIT_EVENT_CHECKPOINT_DELAY_START,
156
+ WAIT_EVENT_CHECKPOINT_DONE,
157
+ WAIT_EVENT_CHECKPOINT_START,
158
+ WAIT_EVENT_EXECUTE_GATHER,
159
+ WAIT_EVENT_HASH_BATCH_ALLOCATE,
160
+ WAIT_EVENT_HASH_BATCH_ELECT,
161
+ WAIT_EVENT_HASH_BATCH_LOAD,
162
+ WAIT_EVENT_HASH_BUILD_ALLOCATE,
163
+ WAIT_EVENT_HASH_BUILD_ELECT,
164
+ WAIT_EVENT_HASH_BUILD_HASH_INNER,
165
+ WAIT_EVENT_HASH_BUILD_HASH_OUTER,
166
+ WAIT_EVENT_HASH_GROW_BATCHES_DECIDE,
167
+ WAIT_EVENT_HASH_GROW_BATCHES_ELECT,
168
+ WAIT_EVENT_HASH_GROW_BATCHES_FINISH,
169
+ WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE,
170
+ WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION,
171
+ WAIT_EVENT_HASH_GROW_BUCKETS_ELECT,
172
+ WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE,
173
+ WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT,
174
+ WAIT_EVENT_LOGICAL_APPLY_SEND_DATA,
175
+ WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE,
176
+ WAIT_EVENT_LOGICAL_SYNC_DATA,
177
+ WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE,
178
+ WAIT_EVENT_MESSAGE_QUEUE_INTERNAL,
179
+ WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE,
180
+ WAIT_EVENT_MESSAGE_QUEUE_RECEIVE,
181
+ WAIT_EVENT_MESSAGE_QUEUE_SEND,
182
+ WAIT_EVENT_MULTIXACT_CREATION,
183
+ WAIT_EVENT_PARALLEL_BITMAP_SCAN,
184
+ WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN,
185
+ WAIT_EVENT_PARALLEL_FINISH,
186
+ WAIT_EVENT_PROCARRAY_GROUP_UPDATE,
187
+ WAIT_EVENT_PROC_SIGNAL_BARRIER,
188
+ WAIT_EVENT_PROMOTE,
189
+ WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT,
190
+ WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE,
191
+ WAIT_EVENT_RECOVERY_END_COMMAND,
192
+ WAIT_EVENT_RECOVERY_PAUSE,
193
+ WAIT_EVENT_REPLICATION_ORIGIN_DROP,
194
+ WAIT_EVENT_REPLICATION_SLOT_DROP,
195
+ WAIT_EVENT_RESTORE_COMMAND,
196
+ WAIT_EVENT_SAFE_SNAPSHOT,
197
+ WAIT_EVENT_SYNC_REP,
198
+ WAIT_EVENT_WAL_RECEIVER_EXIT,
199
+ WAIT_EVENT_WAL_RECEIVER_WAIT_START,
200
+ WAIT_EVENT_WAL_SUMMARY_READY,
201
+ WAIT_EVENT_XACT_GROUP_UPDATE
202
+ } WaitEventIPC;
203
+
204
+ typedef enum
205
+ {
206
+ WAIT_EVENT_BASE_BACKUP_THROTTLE = PG_WAIT_TIMEOUT,
207
+ WAIT_EVENT_CHECKPOINT_WRITE_DELAY,
208
+ WAIT_EVENT_PG_SLEEP,
209
+ WAIT_EVENT_RECOVERY_APPLY_DELAY,
210
+ WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL,
211
+ WAIT_EVENT_REGISTER_SYNC_REQUEST,
212
+ WAIT_EVENT_SPIN_DELAY,
213
+ WAIT_EVENT_VACUUM_DELAY,
214
+ WAIT_EVENT_VACUUM_TRUNCATE,
215
+ WAIT_EVENT_WAL_SUMMARIZER_ERROR
216
+ } WaitEventTimeout;
217
+
218
+ #endif /* WAIT_EVENT_TYPES_H */
@@ -4,7 +4,7 @@
4
4
  * Declarations for XML data type support.
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/xml.h
@@ -27,13 +27,13 @@ typedef enum
27
27
  XML_STANDALONE_YES,
28
28
  XML_STANDALONE_NO,
29
29
  XML_STANDALONE_NO_VALUE,
30
- XML_STANDALONE_OMITTED
30
+ XML_STANDALONE_OMITTED,
31
31
  } XmlStandaloneType;
32
32
 
33
33
  typedef enum
34
34
  {
35
35
  XMLBINARY_BASE64,
36
- XMLBINARY_HEX
36
+ XMLBINARY_HEX,
37
37
  } XmlBinaryType;
38
38
 
39
39
  typedef enum
@@ -41,7 +41,7 @@ typedef enum
41
41
  PG_XML_STRICTNESS_LEGACY, /* ignore errors unless function result
42
42
  * indicates error condition */
43
43
  PG_XML_STRICTNESS_WELLFORMED, /* ignore non-parser messages */
44
- PG_XML_STRICTNESS_ALL /* report all notices/warnings/errors */
44
+ PG_XML_STRICTNESS_ALL, /* report all notices/warnings/errors */
45
45
  } PgXmlStrictness;
46
46
 
47
47
  /* struct PgXmlErrorContext is private to xml.c */
@@ -4,7 +4,7 @@
4
4
  * variable-length datatypes (TOAST support)
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) 1995, Regents of the University of California
9
9
  *
10
10
  * src/include/varatt.h