pg_query 4.2.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +6 -8
  4. data/Rakefile +5 -6
  5. data/ext/pg_query/extconf.rb +14 -4
  6. data/ext/pg_query/include/pg_query.h +27 -3
  7. data/ext/pg_query/include/pg_query_enum_defs.c +311 -149
  8. data/ext/pg_query/include/pg_query_fingerprint_conds.c +545 -489
  9. data/ext/pg_query/include/pg_query_fingerprint_defs.c +5092 -4432
  10. data/ext/pg_query/include/pg_query_outfuncs_conds.c +385 -343
  11. data/ext/pg_query/include/pg_query_outfuncs_defs.c +1294 -1161
  12. data/ext/pg_query/include/pg_query_readfuncs_conds.c +137 -123
  13. data/ext/pg_query/include/pg_query_readfuncs_defs.c +1657 -1496
  14. data/ext/pg_query/include/{access → postgres/access}/amapi.h +3 -1
  15. data/ext/pg_query/include/{access → postgres/access}/attmap.h +5 -3
  16. data/ext/pg_query/include/{access → postgres/access}/attnum.h +1 -1
  17. data/ext/pg_query/include/{access → postgres/access}/clog.h +1 -1
  18. data/ext/pg_query/include/{access → postgres/access}/commit_ts.h +1 -1
  19. data/ext/pg_query/include/{access → postgres/access}/detoast.h +1 -1
  20. data/ext/pg_query/include/{access → postgres/access}/genam.h +7 -5
  21. data/ext/pg_query/include/{access → postgres/access}/gin.h +16 -3
  22. data/ext/pg_query/include/{access → postgres/access}/htup.h +1 -1
  23. data/ext/pg_query/include/{access → postgres/access}/htup_details.h +6 -2
  24. data/ext/pg_query/include/{access → postgres/access}/itup.h +61 -58
  25. data/ext/pg_query/include/{access → postgres/access}/parallel.h +2 -2
  26. data/ext/pg_query/include/{access → postgres/access}/printtup.h +1 -1
  27. data/ext/pg_query/include/{access → postgres/access}/relation.h +1 -1
  28. data/ext/pg_query/include/{access → postgres/access}/relscan.h +1 -1
  29. data/ext/pg_query/include/{access → postgres/access}/rmgrlist.h +2 -2
  30. data/ext/pg_query/include/{access → postgres/access}/sdir.h +12 -3
  31. data/ext/pg_query/include/{access → postgres/access}/skey.h +1 -1
  32. data/ext/pg_query/include/{access → postgres/access}/stratnum.h +1 -1
  33. data/ext/pg_query/include/{access → postgres/access}/sysattr.h +1 -1
  34. data/ext/pg_query/include/{access → postgres/access}/table.h +1 -1
  35. data/ext/pg_query/include/{access → postgres/access}/tableam.h +68 -45
  36. data/ext/pg_query/include/{access → postgres/access}/toast_compression.h +1 -1
  37. data/ext/pg_query/include/{access → postgres/access}/transam.h +1 -1
  38. data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
  39. data/ext/pg_query/include/{access → postgres/access}/tupconvert.h +5 -2
  40. data/ext/pg_query/include/{access → postgres/access}/tupdesc.h +2 -2
  41. data/ext/pg_query/include/{access → postgres/access}/tupmacs.h +58 -98
  42. data/ext/pg_query/include/{access → postgres/access}/twophase.h +2 -2
  43. data/ext/pg_query/include/{access → postgres/access}/xact.h +25 -18
  44. data/ext/pg_query/include/{access → postgres/access}/xlog.h +15 -16
  45. data/ext/pg_query/include/{access → postgres/access}/xlog_internal.h +100 -62
  46. data/ext/pg_query/include/postgres/access/xlogbackup.h +41 -0
  47. data/ext/pg_query/include/{access → postgres/access}/xlogdefs.h +6 -25
  48. data/ext/pg_query/include/{access → postgres/access}/xlogprefetcher.h +1 -1
  49. data/ext/pg_query/include/{access → postgres/access}/xlogreader.h +7 -6
  50. data/ext/pg_query/include/{access → postgres/access}/xlogrecord.h +17 -5
  51. data/ext/pg_query/include/{access → postgres/access}/xlogrecovery.h +4 -3
  52. data/ext/pg_query/include/postgres/archive/archive_module.h +59 -0
  53. data/ext/pg_query/include/{c.h → postgres/c.h} +144 -156
  54. data/ext/pg_query/include/{catalog → postgres/catalog}/catalog.h +4 -3
  55. data/ext/pg_query/include/{catalog → postgres/catalog}/catversion.h +6 -2
  56. data/ext/pg_query/include/{catalog → postgres/catalog}/dependency.h +5 -4
  57. data/ext/pg_query/include/{catalog → postgres/catalog}/genbki.h +7 -6
  58. data/ext/pg_query/include/{catalog → postgres/catalog}/index.h +4 -4
  59. data/ext/pg_query/include/{catalog → postgres/catalog}/indexing.h +1 -1
  60. data/ext/pg_query/include/{catalog → postgres/catalog}/namespace.h +2 -2
  61. data/ext/pg_query/include/{catalog → postgres/catalog}/objectaccess.h +10 -8
  62. data/ext/pg_query/include/{catalog → postgres/catalog}/objectaddress.h +3 -3
  63. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate.h +1 -1
  64. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate_d.h +1 -1
  65. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am.h +1 -1
  66. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am_d.h +1 -1
  67. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute.h +19 -17
  68. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute_d.h +19 -19
  69. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid.h +1 -1
  70. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid_d.h +3 -1
  71. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class.h +1 -1
  72. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class_d.h +1 -1
  73. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation.h +3 -1
  74. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation_d.h +4 -3
  75. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint.h +2 -2
  76. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint_d.h +1 -1
  77. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_control.h +9 -1
  78. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion.h +2 -2
  79. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion_d.h +1 -1
  80. data/ext/pg_query/include/postgres/catalog/pg_database.h +124 -0
  81. data/ext/pg_query/include/postgres/catalog/pg_database_d.h +52 -0
  82. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend.h +1 -1
  83. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend_d.h +1 -1
  84. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger.h +1 -1
  85. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger_d.h +1 -1
  86. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index.h +1 -1
  87. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index_d.h +1 -1
  88. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language.h +1 -1
  89. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language_d.h +1 -1
  90. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace.h +1 -1
  91. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace_d.h +1 -1
  92. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass.h +1 -1
  93. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass_d.h +1 -1
  94. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator.h +1 -1
  95. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator_d.h +1 -1
  96. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily.h +3 -2
  97. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily_d.h +4 -2
  98. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table.h +1 -1
  99. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table_d.h +1 -1
  100. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc.h +1 -1
  101. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc_d.h +1 -1
  102. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication.h +2 -5
  103. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication_d.h +1 -1
  104. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin.h +1 -1
  105. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin_d.h +1 -1
  106. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic.h +1 -1
  107. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_d.h +1 -1
  108. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext.h +1 -1
  109. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext_d.h +1 -1
  110. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform.h +1 -1
  111. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform_d.h +1 -1
  112. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger.h +1 -1
  113. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger_d.h +1 -1
  114. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config.h +1 -1
  115. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config_d.h +1 -1
  116. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict.h +1 -1
  117. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict_d.h +1 -1
  118. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser.h +1 -1
  119. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser_d.h +1 -1
  120. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template.h +1 -1
  121. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template_d.h +1 -1
  122. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type.h +1 -1
  123. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type_d.h +1 -1
  124. data/ext/pg_query/include/{catalog → postgres/catalog}/storage.h +6 -6
  125. data/ext/pg_query/include/{commands → postgres/commands}/async.h +1 -1
  126. data/ext/pg_query/include/{commands → postgres/commands}/dbcommands.h +2 -1
  127. data/ext/pg_query/include/{commands → postgres/commands}/defrem.h +2 -1
  128. data/ext/pg_query/include/{commands → postgres/commands}/event_trigger.h +1 -1
  129. data/ext/pg_query/include/{commands → postgres/commands}/explain.h +3 -1
  130. data/ext/pg_query/include/{commands → postgres/commands}/prepare.h +1 -1
  131. data/ext/pg_query/include/{commands → postgres/commands}/tablespace.h +4 -4
  132. data/ext/pg_query/include/{commands → postgres/commands}/trigger.h +15 -14
  133. data/ext/pg_query/include/{commands → postgres/commands}/user.h +9 -3
  134. data/ext/pg_query/include/{commands → postgres/commands}/vacuum.h +60 -14
  135. data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
  136. data/ext/pg_query/include/{common → postgres/common}/file_perm.h +1 -1
  137. data/ext/pg_query/include/{common → postgres/common}/hashfn.h +1 -1
  138. data/ext/pg_query/include/postgres/common/int.h +437 -0
  139. data/ext/pg_query/include/{common → postgres/common}/keywords.h +1 -1
  140. data/ext/pg_query/include/{common → postgres/common}/kwlookup.h +2 -2
  141. data/ext/pg_query/include/{common → postgres/common}/pg_prng.h +3 -2
  142. data/ext/pg_query/include/{common → postgres/common}/relpath.h +20 -13
  143. data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
  144. data/ext/pg_query/include/postgres/common/sha2.h +32 -0
  145. data/ext/pg_query/include/{common → postgres/common}/string.h +5 -3
  146. data/ext/pg_query/include/{common → postgres/common}/unicode_east_asian_fw_table.h +10 -10
  147. data/ext/pg_query/include/{common/unicode_combining_table.h → postgres/common/unicode_nonspacing_table.h} +31 -13
  148. data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5013 -0
  149. data/ext/pg_query/include/postgres/copyfuncs.switch.c +938 -0
  150. data/ext/pg_query/include/{datatype → postgres/datatype}/timestamp.h +11 -4
  151. data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3097 -0
  152. data/ext/pg_query/include/postgres/equalfuncs.switch.c +785 -0
  153. data/ext/pg_query/include/{executor → postgres/executor}/execdesc.h +1 -1
  154. data/ext/pg_query/include/{executor → postgres/executor}/executor.h +34 -17
  155. data/ext/pg_query/include/{executor → postgres/executor}/functions.h +1 -1
  156. data/ext/pg_query/include/{executor → postgres/executor}/instrument.h +1 -1
  157. data/ext/pg_query/include/{executor → postgres/executor}/spi.h +2 -2
  158. data/ext/pg_query/include/{executor → postgres/executor}/tablefunc.h +1 -1
  159. data/ext/pg_query/include/{executor → postgres/executor}/tuptable.h +18 -11
  160. data/ext/pg_query/include/{fmgr.h → postgres/fmgr.h} +21 -2
  161. data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
  162. data/ext/pg_query/include/{funcapi.h → postgres/funcapi.h} +12 -12
  163. data/ext/pg_query/include/postgres/gram.h +1127 -0
  164. data/ext/pg_query/include/{parser → postgres}/gramparse.h +4 -4
  165. data/ext/pg_query/include/{jit → postgres/jit}/jit.h +2 -2
  166. data/ext/pg_query/include/postgres/kwlist_d.h +1119 -0
  167. data/ext/pg_query/include/{lib → postgres/lib}/dshash.h +4 -1
  168. data/ext/pg_query/include/{lib → postgres/lib}/ilist.h +435 -22
  169. data/ext/pg_query/include/{lib → postgres/lib}/pairingheap.h +1 -1
  170. data/ext/pg_query/include/{lib → postgres/lib}/simplehash.h +9 -9
  171. data/ext/pg_query/include/{lib → postgres/lib}/sort_template.h +1 -1
  172. data/ext/pg_query/include/{lib → postgres/lib}/stringinfo.h +3 -3
  173. data/ext/pg_query/include/{libpq → postgres/libpq}/auth.h +8 -2
  174. data/ext/pg_query/include/{libpq → postgres/libpq}/crypt.h +1 -1
  175. data/ext/pg_query/include/{libpq → postgres/libpq}/hba.h +24 -17
  176. data/ext/pg_query/include/{libpq → postgres/libpq}/libpq-be.h +36 -25
  177. data/ext/pg_query/include/{libpq → postgres/libpq}/libpq.h +1 -1
  178. data/ext/pg_query/include/{libpq → postgres/libpq}/pqcomm.h +10 -41
  179. data/ext/pg_query/include/{libpq → postgres/libpq}/pqformat.h +2 -2
  180. data/ext/pg_query/include/{libpq → postgres/libpq}/pqsignal.h +22 -10
  181. data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
  182. data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
  183. data/ext/pg_query/include/{mb → postgres/mb}/pg_wchar.h +35 -18
  184. data/ext/pg_query/include/{mb → postgres/mb}/stringinfo_mb.h +1 -1
  185. data/ext/pg_query/include/{miscadmin.h → postgres/miscadmin.h} +27 -15
  186. data/ext/pg_query/include/{nodes → postgres/nodes}/bitmapset.h +11 -7
  187. data/ext/pg_query/include/{nodes → postgres/nodes}/execnodes.h +83 -30
  188. data/ext/pg_query/include/{nodes → postgres/nodes}/extensible.h +5 -3
  189. data/ext/pg_query/include/{nodes → postgres/nodes}/lockoptions.h +1 -1
  190. data/ext/pg_query/include/{nodes → postgres/nodes}/makefuncs.h +14 -2
  191. data/ext/pg_query/include/{nodes → postgres/nodes}/memnodes.h +7 -4
  192. data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
  193. data/ext/pg_query/include/{nodes → postgres/nodes}/nodeFuncs.h +89 -29
  194. data/ext/pg_query/include/{nodes → postgres/nodes}/nodes.h +96 -511
  195. data/ext/pg_query/include/postgres/nodes/nodetags.h +471 -0
  196. data/ext/pg_query/include/{nodes → postgres/nodes}/params.h +3 -3
  197. data/ext/pg_query/include/{nodes → postgres/nodes}/parsenodes.h +377 -139
  198. data/ext/pg_query/include/{nodes → postgres/nodes}/pathnodes.h +1090 -440
  199. data/ext/pg_query/include/{nodes → postgres/nodes}/pg_list.h +30 -7
  200. data/ext/pg_query/include/{nodes → postgres/nodes}/plannodes.h +367 -124
  201. data/ext/pg_query/include/{nodes → postgres/nodes}/primnodes.h +670 -222
  202. data/ext/pg_query/include/{nodes → postgres/nodes}/print.h +1 -1
  203. data/ext/pg_query/include/{utils → postgres/nodes}/queryjumble.h +5 -7
  204. data/ext/pg_query/include/postgres/nodes/replnodes.h +111 -0
  205. data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
  206. data/ext/pg_query/include/{nodes → postgres/nodes}/tidbitmap.h +1 -1
  207. data/ext/pg_query/include/{nodes → postgres/nodes}/value.h +12 -2
  208. data/ext/pg_query/include/{optimizer → postgres/optimizer}/cost.h +6 -4
  209. data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo.h +1 -1
  210. data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo_gene.h +1 -1
  211. data/ext/pg_query/include/{optimizer → postgres/optimizer}/optimizer.h +8 -8
  212. data/ext/pg_query/include/{optimizer → postgres/optimizer}/paths.h +16 -7
  213. data/ext/pg_query/include/{optimizer → postgres/optimizer}/planmain.h +3 -6
  214. data/ext/pg_query/include/{parser → postgres/parser}/analyze.h +4 -3
  215. data/ext/pg_query/include/{parser → postgres/parser}/kwlist.h +12 -1
  216. data/ext/pg_query/include/{parser → postgres/parser}/parse_agg.h +4 -2
  217. data/ext/pg_query/include/{parser → postgres/parser}/parse_coerce.h +3 -1
  218. data/ext/pg_query/include/{parser → postgres/parser}/parse_expr.h +1 -1
  219. data/ext/pg_query/include/{parser → postgres/parser}/parse_func.h +1 -1
  220. data/ext/pg_query/include/{parser → postgres/parser}/parse_node.h +22 -4
  221. data/ext/pg_query/include/{parser → postgres/parser}/parse_oper.h +3 -3
  222. data/ext/pg_query/include/{parser → postgres/parser}/parse_relation.h +8 -3
  223. data/ext/pg_query/include/{parser → postgres/parser}/parse_type.h +4 -3
  224. data/ext/pg_query/include/{parser → postgres/parser}/parser.h +4 -4
  225. data/ext/pg_query/include/{parser → postgres/parser}/parsetree.h +1 -1
  226. data/ext/pg_query/include/{parser → postgres/parser}/scanner.h +2 -2
  227. data/ext/pg_query/include/{parser → postgres/parser}/scansup.h +1 -1
  228. data/ext/pg_query/include/{partitioning → postgres/partitioning}/partdefs.h +1 -1
  229. data/ext/pg_query/include/{pg_config.h → postgres/pg_config.h} +158 -218
  230. data/ext/pg_query/include/{pg_config_manual.h → postgres/pg_config_manual.h} +8 -46
  231. data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
  232. data/ext/pg_query/include/{pg_getopt.h → postgres/pg_getopt.h} +1 -1
  233. data/ext/pg_query/include/{pg_trace.h → postgres/pg_trace.h} +1 -1
  234. data/ext/pg_query/include/{pgstat.h → postgres/pgstat.h} +173 -94
  235. data/ext/pg_query/include/{pgtime.h → postgres/pgtime.h} +3 -3
  236. data/ext/pg_query/include/{pl_gram.h → postgres/pl_gram.h} +66 -64
  237. data/ext/pg_query/include/{pl_reserved_kwlist.h → postgres/pl_reserved_kwlist.h} +1 -1
  238. data/ext/pg_query/include/{pl_reserved_kwlist_d.h → postgres/pl_reserved_kwlist_d.h} +1 -1
  239. data/ext/pg_query/include/{pl_unreserved_kwlist.h → postgres/pl_unreserved_kwlist.h} +2 -1
  240. data/ext/pg_query/include/{pl_unreserved_kwlist_d.h → postgres/pl_unreserved_kwlist_d.h} +48 -46
  241. data/ext/pg_query/include/{plpgsql.h → postgres/plpgsql.h} +28 -33
  242. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-arm.h +3 -3
  243. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
  244. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-ppc.h +21 -21
  245. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-x86.h +2 -2
  246. data/ext/pg_query/include/{port → postgres/port}/atomics/fallback.h +3 -3
  247. data/ext/pg_query/include/{port → postgres/port}/atomics/generic-gcc.h +1 -1
  248. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +101 -0
  249. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +106 -0
  250. data/ext/pg_query/include/{port → postgres/port}/atomics/generic.h +1 -1
  251. data/ext/pg_query/include/{port → postgres/port}/atomics.h +2 -7
  252. data/ext/pg_query/include/{port → postgres/port}/pg_bitutils.h +62 -25
  253. data/ext/pg_query/include/{port → postgres/port}/pg_bswap.h +1 -1
  254. data/ext/pg_query/include/{port → postgres/port}/pg_crc32c.h +1 -1
  255. data/ext/pg_query/include/postgres/port/simd.h +375 -0
  256. data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
  257. data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
  258. data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
  259. data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
  260. data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
  261. data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
  262. data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
  263. data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
  264. data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
  265. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +26 -0
  266. data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
  267. data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
  268. data/ext/pg_query/include/postgres/port/win32.h +59 -0
  269. data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
  270. data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
  271. data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
  272. data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
  273. data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
  274. data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
  275. data/ext/pg_query/include/postgres/port/win32_port.h +594 -0
  276. data/ext/pg_query/include/{port.h → postgres/port.h} +42 -75
  277. data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
  278. data/ext/pg_query/include/postgres/postgres.h +579 -0
  279. data/ext/pg_query/include/{postgres_ext.h → postgres/postgres_ext.h} +0 -1
  280. data/ext/pg_query/include/{postmaster → postgres/postmaster}/autovacuum.h +1 -4
  281. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker.h +2 -2
  282. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker_internals.h +1 -1
  283. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgwriter.h +2 -2
  284. data/ext/pg_query/include/{postmaster → postgres/postmaster}/interrupt.h +1 -1
  285. data/ext/pg_query/include/postgres/postmaster/pgarch.h +36 -0
  286. data/ext/pg_query/include/{postmaster → postgres/postmaster}/postmaster.h +6 -3
  287. data/ext/pg_query/include/{postmaster → postgres/postmaster}/startup.h +3 -1
  288. data/ext/pg_query/include/{postmaster → postgres/postmaster}/syslogger.h +2 -2
  289. data/ext/pg_query/include/{postmaster → postgres/postmaster}/walwriter.h +3 -1
  290. data/ext/pg_query/include/{regex → postgres/regex}/regex.h +9 -6
  291. data/ext/pg_query/include/{replication → postgres/replication}/logicallauncher.h +6 -1
  292. data/ext/pg_query/include/{replication → postgres/replication}/logicalproto.h +30 -10
  293. data/ext/pg_query/include/postgres/replication/logicalworker.h +32 -0
  294. data/ext/pg_query/include/{replication → postgres/replication}/origin.h +4 -4
  295. data/ext/pg_query/include/{replication → postgres/replication}/reorderbuffer.h +113 -45
  296. data/ext/pg_query/include/{replication → postgres/replication}/slot.h +25 -6
  297. data/ext/pg_query/include/{replication → postgres/replication}/syncrep.h +2 -8
  298. data/ext/pg_query/include/{replication → postgres/replication}/walreceiver.h +15 -9
  299. data/ext/pg_query/include/{replication → postgres/replication}/walsender.h +13 -13
  300. data/ext/pg_query/include/{rewrite → postgres/rewrite}/prs2lock.h +1 -1
  301. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteHandler.h +1 -4
  302. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteManip.h +11 -2
  303. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteSupport.h +1 -1
  304. data/ext/pg_query/include/{storage → postgres/storage}/backendid.h +1 -1
  305. data/ext/pg_query/include/{storage → postgres/storage}/block.h +24 -31
  306. data/ext/pg_query/include/{storage → postgres/storage}/buf.h +1 -1
  307. data/ext/pg_query/include/{storage → postgres/storage}/bufmgr.h +183 -87
  308. data/ext/pg_query/include/{storage → postgres/storage}/bufpage.h +146 -93
  309. data/ext/pg_query/include/{storage → postgres/storage}/condition_variable.h +2 -2
  310. data/ext/pg_query/include/{storage → postgres/storage}/dsm.h +3 -6
  311. data/ext/pg_query/include/{storage → postgres/storage}/dsm_impl.h +4 -1
  312. data/ext/pg_query/include/{storage → postgres/storage}/fd.h +24 -20
  313. data/ext/pg_query/include/{storage → postgres/storage}/fileset.h +1 -1
  314. data/ext/pg_query/include/{storage → postgres/storage}/ipc.h +2 -2
  315. data/ext/pg_query/include/{storage → postgres/storage}/item.h +1 -1
  316. data/ext/pg_query/include/{storage → postgres/storage}/itemid.h +1 -1
  317. data/ext/pg_query/include/{storage → postgres/storage}/itemptr.h +94 -57
  318. data/ext/pg_query/include/{storage → postgres/storage}/large_object.h +1 -1
  319. data/ext/pg_query/include/{storage → postgres/storage}/latch.h +9 -1
  320. data/ext/pg_query/include/{storage → postgres/storage}/lmgr.h +6 -1
  321. data/ext/pg_query/include/{storage → postgres/storage}/lock.h +21 -13
  322. data/ext/pg_query/include/{storage → postgres/storage}/lockdefs.h +3 -3
  323. data/ext/pg_query/include/{storage → postgres/storage}/lwlock.h +16 -2
  324. data/ext/pg_query/include/{storage → postgres/storage}/off.h +1 -1
  325. data/ext/pg_query/include/{storage → postgres/storage}/pg_sema.h +1 -1
  326. data/ext/pg_query/include/{storage → postgres/storage}/pg_shmem.h +1 -1
  327. data/ext/pg_query/include/{storage → postgres/storage}/pmsignal.h +1 -1
  328. data/ext/pg_query/include/{storage → postgres/storage}/predicate.h +2 -2
  329. data/ext/pg_query/include/{storage → postgres/storage}/proc.h +22 -17
  330. data/ext/pg_query/include/{storage → postgres/storage}/procarray.h +3 -2
  331. data/ext/pg_query/include/{storage → postgres/storage}/proclist_types.h +1 -1
  332. data/ext/pg_query/include/{storage → postgres/storage}/procsignal.h +3 -1
  333. data/ext/pg_query/include/postgres/storage/relfilelocator.h +99 -0
  334. data/ext/pg_query/include/{storage → postgres/storage}/s_lock.h +66 -309
  335. data/ext/pg_query/include/{storage → postgres/storage}/sharedfileset.h +1 -1
  336. data/ext/pg_query/include/{storage → postgres/storage}/shm_mq.h +1 -1
  337. data/ext/pg_query/include/{storage → postgres/storage}/shm_toc.h +1 -1
  338. data/ext/pg_query/include/{storage → postgres/storage}/shmem.h +1 -23
  339. data/ext/pg_query/include/{storage → postgres/storage}/sinval.h +3 -3
  340. data/ext/pg_query/include/{storage → postgres/storage}/sinvaladt.h +4 -2
  341. data/ext/pg_query/include/{storage → postgres/storage}/smgr.h +12 -10
  342. data/ext/pg_query/include/{storage → postgres/storage}/spin.h +1 -1
  343. data/ext/pg_query/include/{storage → postgres/storage}/standby.h +9 -8
  344. data/ext/pg_query/include/{storage → postgres/storage}/standbydefs.h +1 -1
  345. data/ext/pg_query/include/{storage → postgres/storage}/sync.h +3 -3
  346. data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtag.h +7 -2
  347. data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtaglist.h +1 -1
  348. data/ext/pg_query/include/{tcop → postgres/tcop}/deparse_utility.h +1 -1
  349. data/ext/pg_query/include/{tcop → postgres/tcop}/dest.h +1 -3
  350. data/ext/pg_query/include/{tcop → postgres/tcop}/fastpath.h +1 -1
  351. data/ext/pg_query/include/{tcop → postgres/tcop}/pquery.h +1 -1
  352. data/ext/pg_query/include/{tcop → postgres/tcop}/tcopprot.h +3 -6
  353. data/ext/pg_query/include/{tcop → postgres/tcop}/utility.h +1 -1
  354. data/ext/pg_query/include/{tsearch → postgres/tsearch}/ts_cache.h +2 -4
  355. data/ext/pg_query/include/{utils → postgres/utils}/acl.h +26 -81
  356. data/ext/pg_query/include/{utils → postgres/utils}/aclchk_internal.h +1 -1
  357. data/ext/pg_query/include/{utils → postgres/utils}/array.h +19 -1
  358. data/ext/pg_query/include/{utils → postgres/utils}/backend_progress.h +2 -1
  359. data/ext/pg_query/include/{utils → postgres/utils}/backend_status.h +24 -3
  360. data/ext/pg_query/include/{utils → postgres/utils}/builtins.h +15 -6
  361. data/ext/pg_query/include/{utils → postgres/utils}/bytea.h +1 -1
  362. data/ext/pg_query/include/{utils → postgres/utils}/catcache.h +1 -1
  363. data/ext/pg_query/include/{utils → postgres/utils}/date.h +37 -9
  364. data/ext/pg_query/include/{utils → postgres/utils}/datetime.h +41 -21
  365. data/ext/pg_query/include/{utils → postgres/utils}/datum.h +1 -1
  366. data/ext/pg_query/include/{utils → postgres/utils}/dsa.h +5 -1
  367. data/ext/pg_query/include/{utils → postgres/utils}/elog.h +104 -29
  368. data/ext/pg_query/include/{utils → postgres/utils}/expandeddatum.h +14 -3
  369. data/ext/pg_query/include/{utils → postgres/utils}/expandedrecord.h +14 -4
  370. data/ext/pg_query/include/{utils → postgres/utils}/float.h +7 -6
  371. data/ext/pg_query/include/{utils → postgres/utils}/fmgroids.h +54 -1
  372. data/ext/pg_query/include/{utils → postgres/utils}/fmgrprotos.h +45 -3
  373. data/ext/pg_query/include/{utils → postgres/utils}/fmgrtab.h +1 -1
  374. data/ext/pg_query/include/{utils → postgres/utils}/guc.h +59 -86
  375. data/ext/pg_query/include/postgres/utils/guc_hooks.h +163 -0
  376. data/ext/pg_query/include/{utils → postgres/utils}/guc_tables.h +49 -3
  377. data/ext/pg_query/include/{utils → postgres/utils}/hsearch.h +1 -1
  378. data/ext/pg_query/include/{utils → postgres/utils}/inval.h +3 -3
  379. data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
  380. data/ext/pg_query/include/{utils → postgres/utils}/lsyscache.h +5 -1
  381. data/ext/pg_query/include/{utils → postgres/utils}/memdebug.h +1 -1
  382. data/ext/pg_query/include/{utils → postgres/utils}/memutils.h +7 -51
  383. data/ext/pg_query/include/postgres/utils/memutils_internal.h +136 -0
  384. data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +237 -0
  385. data/ext/pg_query/include/{utils → postgres/utils}/numeric.h +20 -5
  386. data/ext/pg_query/include/{utils → postgres/utils}/palloc.h +9 -2
  387. data/ext/pg_query/include/{utils → postgres/utils}/partcache.h +3 -2
  388. data/ext/pg_query/include/{utils → postgres/utils}/pg_locale.h +22 -14
  389. data/ext/pg_query/include/{utils → postgres/utils}/pgstat_internal.h +37 -7
  390. data/ext/pg_query/include/{utils → postgres/utils}/plancache.h +1 -1
  391. data/ext/pg_query/include/{utils → postgres/utils}/portal.h +1 -1
  392. data/ext/pg_query/include/{utils → postgres/utils}/probes.h +6 -6
  393. data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
  394. data/ext/pg_query/include/{utils → postgres/utils}/queryenvironment.h +1 -1
  395. data/ext/pg_query/include/{utils → postgres/utils}/regproc.h +3 -3
  396. data/ext/pg_query/include/{utils → postgres/utils}/rel.h +60 -43
  397. data/ext/pg_query/include/{utils → postgres/utils}/relcache.h +13 -8
  398. data/ext/pg_query/include/{utils → postgres/utils}/reltrigger.h +1 -1
  399. data/ext/pg_query/include/{utils → postgres/utils}/resowner.h +1 -1
  400. data/ext/pg_query/include/{utils → postgres/utils}/ruleutils.h +6 -1
  401. data/ext/pg_query/include/{utils → postgres/utils}/sharedtuplestore.h +1 -1
  402. data/ext/pg_query/include/{utils → postgres/utils}/snapmgr.h +4 -2
  403. data/ext/pg_query/include/{utils → postgres/utils}/snapshot.h +1 -1
  404. data/ext/pg_query/include/{utils → postgres/utils}/sortsupport.h +2 -2
  405. data/ext/pg_query/include/{utils → postgres/utils}/syscache.h +4 -1
  406. data/ext/pg_query/include/{utils → postgres/utils}/timeout.h +1 -1
  407. data/ext/pg_query/include/{utils → postgres/utils}/timestamp.h +41 -11
  408. data/ext/pg_query/include/{utils → postgres/utils}/tuplesort.h +189 -35
  409. data/ext/pg_query/include/{utils → postgres/utils}/tuplestore.h +1 -1
  410. data/ext/pg_query/include/{utils → postgres/utils}/typcache.h +1 -1
  411. data/ext/pg_query/include/{utils → postgres/utils}/varlena.h +13 -1
  412. data/ext/pg_query/include/{utils → postgres/utils}/wait_event.h +9 -4
  413. data/ext/pg_query/include/{utils → postgres/utils}/xml.h +15 -5
  414. data/ext/pg_query/include/{postgres.h → postgres/varatt.h} +7 -457
  415. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +6186 -5585
  416. data/ext/pg_query/include/protobuf/pg_query.pb.h +112443 -91222
  417. data/ext/pg_query/pg_query.c +10 -1
  418. data/ext/pg_query/pg_query.pb-c.c +19755 -17757
  419. data/ext/pg_query/pg_query_deparse.c +1 -10635
  420. data/ext/pg_query/pg_query_fingerprint.c +12 -8
  421. data/ext/pg_query/pg_query_fingerprint.h +1 -1
  422. data/ext/pg_query/pg_query_internal.h +1 -1
  423. data/ext/pg_query/pg_query_json_plpgsql.c +1 -0
  424. data/ext/pg_query/pg_query_normalize.c +1 -1
  425. data/ext/pg_query/pg_query_outfuncs_json.c +6 -0
  426. data/ext/pg_query/pg_query_outfuncs_protobuf.c +3 -2
  427. data/ext/pg_query/pg_query_parse.c +47 -5
  428. data/ext/pg_query/pg_query_parse_plpgsql.c +7 -5
  429. data/ext/pg_query/pg_query_readfuncs_protobuf.c +1 -0
  430. data/ext/pg_query/pg_query_ruby.c +5 -0
  431. data/ext/pg_query/pg_query_ruby_freebsd.sym +2 -0
  432. data/ext/pg_query/pg_query_scan.c +1 -1
  433. data/ext/pg_query/pg_query_split.c +3 -3
  434. data/ext/pg_query/postgres_deparse.c +11067 -0
  435. data/ext/pg_query/postgres_deparse.h +9 -0
  436. data/ext/pg_query/src_backend_catalog_namespace.c +7 -2
  437. data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -1
  438. data/ext/pg_query/src_backend_commands_define.c +1 -1
  439. data/ext/pg_query/src_backend_nodes_bitmapset.c +11 -70
  440. data/ext/pg_query/src_backend_nodes_copyfuncs.c +96 -6202
  441. data/ext/pg_query/src_backend_nodes_equalfuncs.c +95 -4068
  442. data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
  443. data/ext/pg_query/src_backend_nodes_list.c +14 -2
  444. data/ext/pg_query/src_backend_nodes_makefuncs.c +95 -1
  445. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +283 -132
  446. data/ext/pg_query/src_backend_nodes_nodes.c +38 -0
  447. data/ext/pg_query/src_backend_nodes_value.c +1 -1
  448. data/ext/pg_query/src_backend_parser_gram.c +33208 -31806
  449. data/ext/pg_query/src_backend_parser_parser.c +28 -2
  450. data/ext/pg_query/src_backend_parser_scan.c +4318 -3329
  451. data/ext/pg_query/src_backend_parser_scansup.c +1 -1
  452. data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
  453. data/ext/pg_query/src_backend_tcop_postgres.c +66 -87
  454. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +1 -1
  455. data/ext/pg_query/src_backend_utils_adt_datum.c +5 -7
  456. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  457. data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
  458. data/ext/pg_query/src_backend_utils_adt_numutils.c +489 -0
  459. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +79 -5
  460. data/ext/pg_query/src_backend_utils_error_assert.c +4 -7
  461. data/ext/pg_query/src_backend_utils_error_elog.c +371 -249
  462. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +33 -1
  463. data/ext/pg_query/src_backend_utils_init_globals.c +6 -3
  464. data/ext/pg_query/src_backend_utils_mb_mbutils.c +21 -67
  465. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +492 -0
  466. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +163 -0
  467. data/ext/pg_query/src_backend_utils_mmgr_aset.c +449 -312
  468. data/ext/pg_query/src_backend_utils_mmgr_generation.c +1039 -0
  469. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +398 -49
  470. data/ext/pg_query/src_backend_utils_mmgr_slab.c +1021 -0
  471. data/ext/pg_query/src_common_encnames.c +4 -1
  472. data/ext/pg_query/src_common_hashfn.c +1 -1
  473. data/ext/pg_query/src_common_keywords.c +1 -1
  474. data/ext/pg_query/src_common_kwlist_d.h +534 -510
  475. data/ext/pg_query/src_common_kwlookup.c +1 -1
  476. data/ext/pg_query/src_common_psprintf.c +1 -1
  477. data/ext/pg_query/src_common_stringinfo.c +4 -4
  478. data/ext/pg_query/src_common_wchar.c +9 -8
  479. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +1 -1
  480. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -1
  481. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +661 -694
  482. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  483. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
  484. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +1 -1
  485. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +48 -46
  486. data/ext/pg_query/src_port_pg_bitutils.c +79 -5
  487. data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
  488. data/ext/pg_query/src_port_snprintf.c +6 -10
  489. data/ext/pg_query/src_port_strerror.c +1 -1
  490. data/ext/pg_query/src_port_strlcpy.c +79 -0
  491. data/lib/pg_query/fingerprint.rb +2 -3
  492. data/lib/pg_query/node.rb +16 -11
  493. data/lib/pg_query/parse.rb +1 -1
  494. data/lib/pg_query/pg_query_pb.rb +166 -3191
  495. data/lib/pg_query/treewalker.rb +23 -5
  496. data/lib/pg_query/version.rb +1 -1
  497. metadata +432 -380
  498. data/ext/pg_query/guc-file.c +0 -0
  499. data/ext/pg_query/include/catalog/pg_parameter_acl.h +0 -60
  500. data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +0 -34
  501. data/ext/pg_query/include/commands/variable.h +0 -38
  502. data/ext/pg_query/include/common/ip.h +0 -31
  503. data/ext/pg_query/include/getaddrinfo.h +0 -162
  504. data/ext/pg_query/include/kwlist_d.h +0 -1095
  505. data/ext/pg_query/include/parser/gram.h +0 -1101
  506. data/ext/pg_query/include/pg_config_os.h +0 -8
  507. data/ext/pg_query/include/portability/instr_time.h +0 -256
  508. data/ext/pg_query/include/postmaster/auxprocess.h +0 -20
  509. data/ext/pg_query/include/postmaster/fork_process.h +0 -17
  510. data/ext/pg_query/include/postmaster/pgarch.h +0 -73
  511. data/ext/pg_query/include/replication/logicalworker.h +0 -19
  512. data/ext/pg_query/include/storage/relfilenode.h +0 -99
  513. data/ext/pg_query/include/utils/dynahash.h +0 -20
  514. data/ext/pg_query/include/utils/pg_lsn.h +0 -29
  515. data/ext/pg_query/include/utils/pidfile.h +0 -56
  516. data/ext/pg_query/include/utils/ps_status.h +0 -25
  517. data/ext/pg_query/include/utils/rls.h +0 -50
  518. data/ext/pg_query/include/utils/tzparser.h +0 -39
  519. data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2201
  520. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -371
  521. data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1116
  522. data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1993
  523. data/ext/pg_query/src_common_pg_prng.c +0 -152
  524. data/ext/pg_query/src_common_string.c +0 -92
  525. data/ext/pg_query/src_port_pgsleep.c +0 -69
  526. data/ext/pg_query/src_port_strnlen.c +0 -39
  527. /data/ext/pg_query/include/{access → postgres/access}/rmgr.h +0 -0
  528. /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
  529. /data/ext/pg_query/include/{plerrcodes.h → postgres/plerrcodes.h} +0 -0
  530. /data/ext/pg_query/include/{storage → postgres/storage}/lwlocknames.h +0 -0
  531. /data/ext/pg_query/include/{utils → postgres/utils}/errcodes.h +0 -0
@@ -6,7 +6,7 @@
6
6
  * for developers. If you edit any of these, be sure to do a *full*
7
7
  * rebuild (and an initdb if noted).
8
8
  *
9
- * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
9
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
10
10
  * Portions Copyright (c) 1994, Regents of the University of California
11
11
  *
12
12
  * src/include/pg_config_manual.h
@@ -114,17 +114,6 @@
114
114
  */
115
115
  #define MAXPGPATH 1024
116
116
 
117
- /*
118
- * PG_SOMAXCONN: maximum accept-queue length limit passed to
119
- * listen(2). You'd think we should use SOMAXCONN from
120
- * <sys/socket.h>, but on many systems that symbol is much smaller
121
- * than the kernel's actual limit. In any case, this symbol need be
122
- * twiddled only if you have a kernel that refuses large limit values,
123
- * rather than silently reducing the value to what it can handle
124
- * (which is what most if not all Unixen do).
125
- */
126
- #define PG_SOMAXCONN 10000
127
-
128
117
  /*
129
118
  * You can try changing this if you have a machine with bytes of
130
119
  * another size, but no guarantee...
@@ -152,13 +141,6 @@
152
141
  #define EXEC_BACKEND
153
142
  #endif
154
143
 
155
- /*
156
- * Define this if your operating system supports link()
157
- */
158
- #if !defined(WIN32) && !defined(__CYGWIN__)
159
- #define HAVE_WORKING_LINK 1
160
- #endif
161
-
162
144
  /*
163
145
  * USE_POSIX_FADVISE controls whether Postgres will attempt to use the
164
146
  * posix_fadvise() kernel call. Usually the automatic configure tests are
@@ -234,32 +216,6 @@
234
216
  */
235
217
  #define DEFAULT_EVENT_SOURCE "PostgreSQL"
236
218
 
237
- /*
238
- * On PPC machines, decide whether to use the mutex hint bit in LWARX
239
- * instructions. Setting the hint bit will slightly improve spinlock
240
- * performance on POWER6 and later machines, but does nothing before that,
241
- * and will result in illegal-instruction failures on some pre-POWER4
242
- * machines. By default we use the hint bit when building for 64-bit PPC,
243
- * which should be safe in nearly all cases. You might want to override
244
- * this if you are building 32-bit code for a known-recent PPC machine.
245
- */
246
- #ifdef HAVE_PPC_LWARX_MUTEX_HINT /* must have assembler support in any case */
247
- #if defined(__ppc64__) || defined(__powerpc64__)
248
- #define USE_PPC_LWARX_MUTEX_HINT
249
- #endif
250
- #endif
251
-
252
- /*
253
- * On PPC machines, decide whether to use LWSYNC instructions in place of
254
- * ISYNC and SYNC. This provides slightly better performance, but will
255
- * result in illegal-instruction failures on some pre-POWER4 machines.
256
- * By default we use LWSYNC when building for 64-bit PPC, which should be
257
- * safe in nearly all cases.
258
- */
259
- #if defined(__ppc64__) || defined(__powerpc64__)
260
- #define USE_PPC_LWSYNC
261
- #endif
262
-
263
219
  /*
264
220
  * Assumed cache line size. This doesn't affect correctness, but can be used
265
221
  * for low-level optimizations. Currently, this is used to pad some data
@@ -271,6 +227,12 @@
271
227
  */
272
228
  #define PG_CACHE_LINE_SIZE 128
273
229
 
230
+ /*
231
+ * Assumed alignment requirement for direct I/O. 4K corresponds to common
232
+ * sector and memory page size.
233
+ */
234
+ #define PG_IO_ALIGN_SIZE 4096
235
+
274
236
  /*
275
237
  *------------------------------------------------------------------------
276
238
  * The following symbols are for enabling debugging code, not for
@@ -355,7 +317,7 @@
355
317
 
356
318
  /*
357
319
  * Recover memory used for relcache entries when invalidated. See
358
- * RelationBuildDescr() in src/backend/utils/cache/relcache.c.
320
+ * RelationBuildDesc() in src/backend/utils/cache/relcache.c.
359
321
  *
360
322
  * This is active automatically for clobber-cache builds when clobbering is
361
323
  * active, but can be overridden here by explicitly defining
@@ -0,0 +1,8 @@
1
+ #if defined(_WIN32) || defined(_WIN64)
2
+ #include "port/win32.h"
3
+ #undef PGDLLIMPORT
4
+ #undef PGDLLEXPORT
5
+ #ifdef __clang__
6
+ #undef __MINGW64__
7
+ #endif /* __clang__ */
8
+ #endif
@@ -11,7 +11,7 @@
11
11
  * Portions Copyright (c) 1987, 1993, 1994
12
12
  * The Regents of the University of California. All rights reserved.
13
13
  *
14
- * Portions Copyright (c) 2003-2022, PostgreSQL Global Development Group
14
+ * Portions Copyright (c) 2003-2023, PostgreSQL Global Development Group
15
15
  *
16
16
  * src/include/pg_getopt.h
17
17
  */
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Definitions for the PostgreSQL tracing framework
5
5
  *
6
- * Copyright (c) 2006-2022, PostgreSQL Global Development Group
6
+ * Copyright (c) 2006-2023, PostgreSQL Global Development Group
7
7
  *
8
8
  * src/include/pg_trace.h
9
9
  * ----------
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Definitions for the PostgreSQL cumulative statistics system.
5
5
  *
6
- * Copyright (c) 2001-2022, PostgreSQL Global Development Group
6
+ * Copyright (c) 2001-2023, PostgreSQL Global Development Group
7
7
  *
8
8
  * src/include/pgstat.h
9
9
  * ----------
@@ -48,6 +48,7 @@ typedef enum PgStat_Kind
48
48
  PGSTAT_KIND_ARCHIVER,
49
49
  PGSTAT_KIND_BGWRITER,
50
50
  PGSTAT_KIND_CHECKPOINTER,
51
+ PGSTAT_KIND_IO,
51
52
  PGSTAT_KIND_SLRU,
52
53
  PGSTAT_KIND_WAL,
53
54
  } PgStat_Kind;
@@ -105,20 +106,11 @@ typedef int64 PgStat_Counter;
105
106
  */
106
107
  typedef struct PgStat_FunctionCounts
107
108
  {
108
- PgStat_Counter f_numcalls;
109
- instr_time f_total_time;
110
- instr_time f_self_time;
109
+ PgStat_Counter numcalls;
110
+ instr_time total_time;
111
+ instr_time self_time;
111
112
  } PgStat_FunctionCounts;
112
113
 
113
- /* ----------
114
- * PgStat_BackendFunctionEntry Non-flushed function stats.
115
- * ----------
116
- */
117
- typedef struct PgStat_BackendFunctionEntry
118
- {
119
- PgStat_FunctionCounts f_counts;
120
- } PgStat_BackendFunctionEntry;
121
-
122
114
  /*
123
115
  * Working state needed to accumulate per-function-call timing statistics.
124
116
  */
@@ -132,7 +124,7 @@ typedef struct PgStat_FunctionCallUsage
132
124
  /* Backend-wide total time as of function start */
133
125
  instr_time save_total;
134
126
  /* system clock as of function start */
135
- instr_time f_start;
127
+ instr_time start;
136
128
  } PgStat_FunctionCallUsage;
137
129
 
138
130
  /* ----------
@@ -159,31 +151,32 @@ typedef struct PgStat_BackendSubEntry
159
151
  * the index AM, while tuples_fetched is the number of tuples successfully
160
152
  * fetched by heap_fetch under the control of simple indexscans for this index.
161
153
  *
162
- * tuples_inserted/updated/deleted/hot_updated count attempted actions,
163
- * regardless of whether the transaction committed. delta_live_tuples,
154
+ * tuples_inserted/updated/deleted/hot_updated/newpage_updated count attempted
155
+ * actions, regardless of whether the transaction committed. delta_live_tuples,
164
156
  * delta_dead_tuples, and changed_tuples are set depending on commit or abort.
165
157
  * Note that delta_live_tuples and delta_dead_tuples can be negative!
166
158
  * ----------
167
159
  */
168
160
  typedef struct PgStat_TableCounts
169
161
  {
170
- PgStat_Counter t_numscans;
162
+ PgStat_Counter numscans;
171
163
 
172
- PgStat_Counter t_tuples_returned;
173
- PgStat_Counter t_tuples_fetched;
164
+ PgStat_Counter tuples_returned;
165
+ PgStat_Counter tuples_fetched;
174
166
 
175
- PgStat_Counter t_tuples_inserted;
176
- PgStat_Counter t_tuples_updated;
177
- PgStat_Counter t_tuples_deleted;
178
- PgStat_Counter t_tuples_hot_updated;
179
- bool t_truncdropped;
167
+ PgStat_Counter tuples_inserted;
168
+ PgStat_Counter tuples_updated;
169
+ PgStat_Counter tuples_deleted;
170
+ PgStat_Counter tuples_hot_updated;
171
+ PgStat_Counter tuples_newpage_updated;
172
+ bool truncdropped;
180
173
 
181
- PgStat_Counter t_delta_live_tuples;
182
- PgStat_Counter t_delta_dead_tuples;
183
- PgStat_Counter t_changed_tuples;
174
+ PgStat_Counter delta_live_tuples;
175
+ PgStat_Counter delta_dead_tuples;
176
+ PgStat_Counter changed_tuples;
184
177
 
185
- PgStat_Counter t_blocks_fetched;
186
- PgStat_Counter t_blocks_hit;
178
+ PgStat_Counter blocks_fetched;
179
+ PgStat_Counter blocks_hit;
187
180
  } PgStat_TableCounts;
188
181
 
189
182
  /* ----------
@@ -203,10 +196,10 @@ typedef struct PgStat_TableCounts
203
196
  */
204
197
  typedef struct PgStat_TableStatus
205
198
  {
206
- Oid t_id; /* table's OID */
207
- bool t_shared; /* is it a shared catalog? */
199
+ Oid id; /* table's OID */
200
+ bool shared; /* is it a shared catalog? */
208
201
  struct PgStat_TableXactStatus *trans; /* lowest subxact's counts */
209
- PgStat_TableCounts t_counts; /* event counts to be sent */
202
+ PgStat_TableCounts counts; /* event counts to be sent */
210
203
  Relation relation; /* rel that is using this entry */
211
204
  } PgStat_TableStatus;
212
205
 
@@ -242,7 +235,7 @@ typedef struct PgStat_TableXactStatus
242
235
  * ------------------------------------------------------------
243
236
  */
244
237
 
245
- #define PGSTAT_FILE_FORMAT_ID 0x01A5BCA7
238
+ #define PGSTAT_FILE_FORMAT_ID 0x01A5BCAC
246
239
 
247
240
  typedef struct PgStat_ArchiverStats
248
241
  {
@@ -276,56 +269,101 @@ typedef struct PgStat_CheckpointerStats
276
269
  PgStat_Counter buf_fsync_backend;
277
270
  } PgStat_CheckpointerStats;
278
271
 
272
+
273
+ /*
274
+ * Types related to counting IO operations
275
+ */
276
+ typedef enum IOObject
277
+ {
278
+ IOOBJECT_RELATION,
279
+ IOOBJECT_TEMP_RELATION,
280
+ } IOObject;
281
+
282
+ #define IOOBJECT_NUM_TYPES (IOOBJECT_TEMP_RELATION + 1)
283
+
284
+ typedef enum IOContext
285
+ {
286
+ IOCONTEXT_BULKREAD,
287
+ IOCONTEXT_BULKWRITE,
288
+ IOCONTEXT_NORMAL,
289
+ IOCONTEXT_VACUUM,
290
+ } IOContext;
291
+
292
+ #define IOCONTEXT_NUM_TYPES (IOCONTEXT_VACUUM + 1)
293
+
294
+ typedef enum IOOp
295
+ {
296
+ IOOP_EVICT,
297
+ IOOP_EXTEND,
298
+ IOOP_FSYNC,
299
+ IOOP_HIT,
300
+ IOOP_READ,
301
+ IOOP_REUSE,
302
+ IOOP_WRITE,
303
+ IOOP_WRITEBACK,
304
+ } IOOp;
305
+
306
+ #define IOOP_NUM_TYPES (IOOP_WRITEBACK + 1)
307
+
308
+ typedef struct PgStat_BktypeIO
309
+ {
310
+ PgStat_Counter counts[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES];
311
+ PgStat_Counter times[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES];
312
+ } PgStat_BktypeIO;
313
+
314
+ typedef struct PgStat_IO
315
+ {
316
+ TimestampTz stat_reset_timestamp;
317
+ PgStat_BktypeIO stats[BACKEND_NUM_TYPES];
318
+ } PgStat_IO;
319
+
320
+
279
321
  typedef struct PgStat_StatDBEntry
280
322
  {
281
- PgStat_Counter n_xact_commit;
282
- PgStat_Counter n_xact_rollback;
283
- PgStat_Counter n_blocks_fetched;
284
- PgStat_Counter n_blocks_hit;
285
- PgStat_Counter n_tuples_returned;
286
- PgStat_Counter n_tuples_fetched;
287
- PgStat_Counter n_tuples_inserted;
288
- PgStat_Counter n_tuples_updated;
289
- PgStat_Counter n_tuples_deleted;
323
+ PgStat_Counter xact_commit;
324
+ PgStat_Counter xact_rollback;
325
+ PgStat_Counter blocks_fetched;
326
+ PgStat_Counter blocks_hit;
327
+ PgStat_Counter tuples_returned;
328
+ PgStat_Counter tuples_fetched;
329
+ PgStat_Counter tuples_inserted;
330
+ PgStat_Counter tuples_updated;
331
+ PgStat_Counter tuples_deleted;
290
332
  TimestampTz last_autovac_time;
291
- PgStat_Counter n_conflict_tablespace;
292
- PgStat_Counter n_conflict_lock;
293
- PgStat_Counter n_conflict_snapshot;
294
- PgStat_Counter n_conflict_bufferpin;
295
- PgStat_Counter n_conflict_startup_deadlock;
296
- PgStat_Counter n_temp_files;
297
- PgStat_Counter n_temp_bytes;
298
- PgStat_Counter n_deadlocks;
299
- PgStat_Counter n_checksum_failures;
333
+ PgStat_Counter conflict_tablespace;
334
+ PgStat_Counter conflict_lock;
335
+ PgStat_Counter conflict_snapshot;
336
+ PgStat_Counter conflict_logicalslot;
337
+ PgStat_Counter conflict_bufferpin;
338
+ PgStat_Counter conflict_startup_deadlock;
339
+ PgStat_Counter temp_files;
340
+ PgStat_Counter temp_bytes;
341
+ PgStat_Counter deadlocks;
342
+ PgStat_Counter checksum_failures;
300
343
  TimestampTz last_checksum_failure;
301
- PgStat_Counter n_block_read_time; /* times in microseconds */
302
- PgStat_Counter n_block_write_time;
303
- PgStat_Counter n_sessions;
304
- PgStat_Counter total_session_time;
305
- PgStat_Counter total_active_time;
306
- PgStat_Counter total_idle_in_xact_time;
307
- PgStat_Counter n_sessions_abandoned;
308
- PgStat_Counter n_sessions_fatal;
309
- PgStat_Counter n_sessions_killed;
344
+ PgStat_Counter blk_read_time; /* times in microseconds */
345
+ PgStat_Counter blk_write_time;
346
+ PgStat_Counter sessions;
347
+ PgStat_Counter session_time;
348
+ PgStat_Counter active_time;
349
+ PgStat_Counter idle_in_transaction_time;
350
+ PgStat_Counter sessions_abandoned;
351
+ PgStat_Counter sessions_fatal;
352
+ PgStat_Counter sessions_killed;
310
353
 
311
354
  TimestampTz stat_reset_timestamp;
312
355
  } PgStat_StatDBEntry;
313
356
 
314
357
  typedef struct PgStat_StatFuncEntry
315
358
  {
316
- PgStat_Counter f_numcalls;
359
+ PgStat_Counter numcalls;
317
360
 
318
- PgStat_Counter f_total_time; /* times in microseconds */
319
- PgStat_Counter f_self_time;
361
+ PgStat_Counter total_time; /* times in microseconds */
362
+ PgStat_Counter self_time;
320
363
  } PgStat_StatFuncEntry;
321
364
 
322
365
  typedef struct PgStat_StatReplSlotEntry
323
366
  {
324
- /*
325
- * In PG 15 this field is unused, but not removed, to avoid changing
326
- * PGSTAT_FILE_FORMAT_ID.
327
- */
328
- NameData slotname_unused;
329
367
  PgStat_Counter spill_txns;
330
368
  PgStat_Counter spill_count;
331
369
  PgStat_Counter spill_bytes;
@@ -359,6 +397,7 @@ typedef struct PgStat_StatSubEntry
359
397
  typedef struct PgStat_StatTabEntry
360
398
  {
361
399
  PgStat_Counter numscans;
400
+ TimestampTz lastscan;
362
401
 
363
402
  PgStat_Counter tuples_returned;
364
403
  PgStat_Counter tuples_fetched;
@@ -367,23 +406,24 @@ typedef struct PgStat_StatTabEntry
367
406
  PgStat_Counter tuples_updated;
368
407
  PgStat_Counter tuples_deleted;
369
408
  PgStat_Counter tuples_hot_updated;
409
+ PgStat_Counter tuples_newpage_updated;
370
410
 
371
- PgStat_Counter n_live_tuples;
372
- PgStat_Counter n_dead_tuples;
373
- PgStat_Counter changes_since_analyze;
374
- PgStat_Counter inserts_since_vacuum;
411
+ PgStat_Counter live_tuples;
412
+ PgStat_Counter dead_tuples;
413
+ PgStat_Counter mod_since_analyze;
414
+ PgStat_Counter ins_since_vacuum;
375
415
 
376
416
  PgStat_Counter blocks_fetched;
377
417
  PgStat_Counter blocks_hit;
378
418
 
379
- TimestampTz vacuum_timestamp; /* user initiated vacuum */
419
+ TimestampTz last_vacuum_time; /* user initiated vacuum */
380
420
  PgStat_Counter vacuum_count;
381
- TimestampTz autovac_vacuum_timestamp; /* autovacuum initiated */
382
- PgStat_Counter autovac_vacuum_count;
383
- TimestampTz analyze_timestamp; /* user initiated */
421
+ TimestampTz last_autovacuum_time; /* autovacuum initiated */
422
+ PgStat_Counter autovacuum_count;
423
+ TimestampTz last_analyze_time; /* user initiated */
384
424
  PgStat_Counter analyze_count;
385
- TimestampTz autovac_analyze_timestamp; /* autovacuum initiated */
386
- PgStat_Counter autovac_analyze_count;
425
+ TimestampTz last_autoanalyze_time; /* autovacuum initiated */
426
+ PgStat_Counter autoanalyze_count;
387
427
  } PgStat_StatTabEntry;
388
428
 
389
429
  typedef struct PgStat_WalStats
@@ -399,6 +439,21 @@ typedef struct PgStat_WalStats
399
439
  TimestampTz stat_reset_timestamp;
400
440
  } PgStat_WalStats;
401
441
 
442
+ /*
443
+ * This struct stores wal-related durations as instr_time, which makes it
444
+ * cheaper and easier to accumulate them, by not requiring type
445
+ * conversions. During stats flush instr_time will be converted into
446
+ * microseconds.
447
+ */
448
+ typedef struct PgStat_PendingWalStats
449
+ {
450
+ PgStat_Counter wal_buffers_full;
451
+ PgStat_Counter wal_write;
452
+ PgStat_Counter wal_sync;
453
+ instr_time wal_write_time;
454
+ instr_time wal_sync_time;
455
+ } PgStat_PendingWalStats;
456
+
402
457
 
403
458
  /*
404
459
  * Functions in pgstat.c
@@ -421,7 +476,7 @@ extern long pgstat_report_stat(bool force);
421
476
  extern void pgstat_force_next_flush(void);
422
477
 
423
478
  extern void pgstat_reset_counters(void);
424
- extern void pgstat_reset(PgStat_Kind kind, Oid dboid, Oid objectid);
479
+ extern void pgstat_reset(PgStat_Kind kind, Oid dboid, Oid objoid);
425
480
  extern void pgstat_reset_of_kind(PgStat_Kind kind);
426
481
 
427
482
  /* stats accessors */
@@ -457,6 +512,29 @@ extern void pgstat_report_checkpointer(void);
457
512
  extern PgStat_CheckpointerStats *pgstat_fetch_stat_checkpointer(void);
458
513
 
459
514
 
515
+ /*
516
+ * Functions in pgstat_io.c
517
+ */
518
+
519
+ extern bool pgstat_bktype_io_stats_valid(PgStat_BktypeIO *backend_io,
520
+ BackendType bktype);
521
+ extern void pgstat_count_io_op(IOObject io_object, IOContext io_context, IOOp io_op);
522
+ extern void pgstat_count_io_op_n(IOObject io_object, IOContext io_context, IOOp io_op, uint32 cnt);
523
+ extern instr_time pgstat_prepare_io_time(void);
524
+ extern void pgstat_count_io_op_time(IOObject io_object, IOContext io_context,
525
+ IOOp io_op, instr_time start_time, uint32 cnt);
526
+
527
+ extern PgStat_IO *pgstat_fetch_stat_io(void);
528
+ extern const char *pgstat_get_io_context_name(IOContext io_context);
529
+ extern const char *pgstat_get_io_object_name(IOObject io_object);
530
+
531
+ extern bool pgstat_tracks_io_bktype(BackendType bktype);
532
+ extern bool pgstat_tracks_io_object(BackendType bktype,
533
+ IOObject io_object, IOContext io_context);
534
+ extern bool pgstat_tracks_io_op(BackendType bktype, IOObject io_object,
535
+ IOContext io_context, IOOp io_op);
536
+
537
+
460
538
  /*
461
539
  * Functions in pgstat_database.c
462
540
  */
@@ -478,7 +556,8 @@ extern void pgstat_report_connect(Oid dboid);
478
556
  #define pgstat_count_conn_txn_idle_time(n) \
479
557
  (pgStatTransactionIdleTime += (n))
480
558
 
481
- extern PgStat_StatDBEntry *pgstat_fetch_stat_dbentry(Oid dbid);
559
+ extern PgStat_StatDBEntry *pgstat_fetch_stat_dbentry(Oid dboid);
560
+
482
561
 
483
562
  /*
484
563
  * Functions in pgstat_function.c
@@ -493,8 +572,8 @@ extern void pgstat_init_function_usage(struct FunctionCallInfoBaseData *fcinfo,
493
572
  extern void pgstat_end_function_usage(PgStat_FunctionCallUsage *fcu,
494
573
  bool finalize);
495
574
 
496
- extern PgStat_StatFuncEntry *pgstat_fetch_stat_funcentry(Oid funcid);
497
- extern PgStat_BackendFunctionEntry *find_funcstat_entry(Oid func_id);
575
+ extern PgStat_StatFuncEntry *pgstat_fetch_stat_funcentry(Oid func_id);
576
+ extern PgStat_FunctionCounts *find_funcstat_entry(Oid func_id);
498
577
 
499
578
 
500
579
  /*
@@ -503,7 +582,7 @@ extern PgStat_BackendFunctionEntry *find_funcstat_entry(Oid func_id);
503
582
 
504
583
  extern void pgstat_create_relation(Relation rel);
505
584
  extern void pgstat_drop_relation(Relation rel);
506
- extern void pgstat_copy_relation_stats(Relation dstrel, Relation srcrel);
585
+ extern void pgstat_copy_relation_stats(Relation dst, Relation src);
507
586
 
508
587
  extern void pgstat_init_relation(Relation rel);
509
588
  extern void pgstat_assoc_relation(Relation rel);
@@ -529,41 +608,41 @@ extern void pgstat_report_analyze(Relation rel,
529
608
  #define pgstat_count_heap_scan(rel) \
530
609
  do { \
531
610
  if (pgstat_should_count_relation(rel)) \
532
- (rel)->pgstat_info->t_counts.t_numscans++; \
611
+ (rel)->pgstat_info->counts.numscans++; \
533
612
  } while (0)
534
613
  #define pgstat_count_heap_getnext(rel) \
535
614
  do { \
536
615
  if (pgstat_should_count_relation(rel)) \
537
- (rel)->pgstat_info->t_counts.t_tuples_returned++; \
616
+ (rel)->pgstat_info->counts.tuples_returned++; \
538
617
  } while (0)
539
618
  #define pgstat_count_heap_fetch(rel) \
540
619
  do { \
541
620
  if (pgstat_should_count_relation(rel)) \
542
- (rel)->pgstat_info->t_counts.t_tuples_fetched++; \
621
+ (rel)->pgstat_info->counts.tuples_fetched++; \
543
622
  } while (0)
544
623
  #define pgstat_count_index_scan(rel) \
545
624
  do { \
546
625
  if (pgstat_should_count_relation(rel)) \
547
- (rel)->pgstat_info->t_counts.t_numscans++; \
626
+ (rel)->pgstat_info->counts.numscans++; \
548
627
  } while (0)
549
628
  #define pgstat_count_index_tuples(rel, n) \
550
629
  do { \
551
630
  if (pgstat_should_count_relation(rel)) \
552
- (rel)->pgstat_info->t_counts.t_tuples_returned += (n); \
631
+ (rel)->pgstat_info->counts.tuples_returned += (n); \
553
632
  } while (0)
554
633
  #define pgstat_count_buffer_read(rel) \
555
634
  do { \
556
635
  if (pgstat_should_count_relation(rel)) \
557
- (rel)->pgstat_info->t_counts.t_blocks_fetched++; \
636
+ (rel)->pgstat_info->counts.blocks_fetched++; \
558
637
  } while (0)
559
638
  #define pgstat_count_buffer_hit(rel) \
560
639
  do { \
561
640
  if (pgstat_should_count_relation(rel)) \
562
- (rel)->pgstat_info->t_counts.t_blocks_hit++; \
641
+ (rel)->pgstat_info->counts.blocks_hit++; \
563
642
  } while (0)
564
643
 
565
644
  extern void pgstat_count_heap_insert(Relation rel, PgStat_Counter n);
566
- extern void pgstat_count_heap_update(Relation rel, bool hot);
645
+ extern void pgstat_count_heap_update(Relation rel, bool hot, bool newpage);
567
646
  extern void pgstat_count_heap_delete(Relation rel);
568
647
  extern void pgstat_count_truncate(Relation rel);
569
648
  extern void pgstat_update_heap_dead_tuples(Relation rel, int delta);
@@ -575,7 +654,7 @@ extern void pgstat_twophase_postabort(TransactionId xid, uint16 info,
575
654
 
576
655
  extern PgStat_StatTabEntry *pgstat_fetch_stat_tabentry(Oid relid);
577
656
  extern PgStat_StatTabEntry *pgstat_fetch_stat_tabentry_ext(bool shared,
578
- Oid relid);
657
+ Oid reloid);
579
658
  extern PgStat_TableStatus *find_tabstat_entry(Oid rel_id);
580
659
 
581
660
 
@@ -685,7 +764,7 @@ extern PGDLLIMPORT PgStat_Counter pgStatActiveTime;
685
764
  extern PGDLLIMPORT PgStat_Counter pgStatTransactionIdleTime;
686
765
 
687
766
  /* updated by the traffic cop and in errfinish() */
688
- extern PGDLLIMPORT __thread SessionEndType pgStatSessionEndCause;
767
+ extern PGDLLIMPORT __thread SessionEndType pgStatSessionEndCause;
689
768
 
690
769
 
691
770
  /*
@@ -693,7 +772,7 @@ extern PGDLLIMPORT __thread SessionEndType pgStatSessionEndCause;
693
772
  */
694
773
 
695
774
  /* updated directly by backends and background processes */
696
- extern PGDLLIMPORT PgStat_WalStats PendingWalStats;
775
+ extern PGDLLIMPORT PgStat_PendingWalStats PendingWalStats;
697
776
 
698
777
 
699
778
  #endif /* PGSTAT_H */
@@ -3,7 +3,7 @@
3
3
  * pgtime.h
4
4
  * PostgreSQL internal timezone library
5
5
  *
6
- * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
7
7
  *
8
8
  * IDENTIFICATION
9
9
  * src/include/pgtime.h
@@ -75,8 +75,8 @@ extern bool pg_tz_acceptable(pg_tz *tz);
75
75
 
76
76
  /* these functions are in strftime.c */
77
77
 
78
- extern size_t pg_strftime(char *s, size_t max, const char *format,
79
- const struct pg_tm *tm);
78
+ extern size_t pg_strftime(char *s, size_t maxsize, const char *format,
79
+ const struct pg_tm *t);
80
80
 
81
81
  /* these functions and variables are in pgtz.c */
82
82