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
@@ -3,7 +3,7 @@
3
3
  * float.h
4
4
  * Definitions for the built-in floating-point types
5
5
  *
6
- * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
7
7
  * Portions Copyright (c) 1994, Regents of the University of California
8
8
  *
9
9
  *
@@ -17,8 +17,8 @@
17
17
 
18
18
  #include <math.h>
19
19
 
20
+ /* X/Open (XSI) requires <math.h> to provide M_PI, but core POSIX does not */
20
21
  #ifndef M_PI
21
- /* From my RH5.2 gcc math.h file - thomas 2000-04-03 */
22
22
  #define M_PI 3.14159265358979323846
23
23
  #endif
24
24
 
@@ -42,10 +42,11 @@ extern void float_underflow_error(void) pg_attribute_noreturn();
42
42
  extern void float_zero_divide_error(void) pg_attribute_noreturn();
43
43
  extern int is_infinite(float8 val);
44
44
  extern float8 float8in_internal(char *num, char **endptr_p,
45
- const char *type_name, const char *orig_string);
46
- extern float8 float8in_internal_opt_error(char *num, char **endptr_p,
47
- const char *type_name, const char *orig_string,
48
- bool *have_error);
45
+ const char *type_name, const char *orig_string,
46
+ struct Node *escontext);
47
+ extern float4 float4in_internal(char *num, char **endptr_p,
48
+ const char *type_name, const char *orig_string,
49
+ struct Node *escontext);
49
50
  extern char *float8out_internal(float8 num);
50
51
  extern int float4_cmp_internal(float4 a, float4 b);
51
52
  extern int float8_cmp_internal(float8 a, float8 b);
@@ -6,7 +6,7 @@
6
6
  * These macros can be used to avoid a catalog lookup when a specific
7
7
  * fmgr-callable function needs to be referenced.
8
8
  *
9
- * Portions Copyright (c) 1996-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
  * NOTES
@@ -3169,6 +3169,7 @@
3169
3169
  #define F_PG_SHOW_REPLICATION_ORIGIN_STATUS 6014
3170
3170
  #define F_JSONB_SUBSCRIPT_HANDLER 6098
3171
3171
  #define F_PG_LSN 6103
3172
+ #define F_PG_STAT_GET_BACKEND_SUBXACT 6107
3172
3173
  #define F_PG_STAT_GET_SUBSCRIPTION 6118
3173
3174
  #define F_PG_GET_PUBLICATION_TABLES 6119
3174
3175
  #define F_PG_GET_REPLICA_IDENTITY_INDEX 6120
@@ -3218,6 +3219,22 @@
3218
3219
  #define F_HAS_PARAMETER_PRIVILEGE_NAME_TEXT_TEXT 6205
3219
3220
  #define F_HAS_PARAMETER_PRIVILEGE_OID_TEXT_TEXT 6206
3220
3221
  #define F_HAS_PARAMETER_PRIVILEGE_TEXT_TEXT 6207
3222
+ #define F_PG_READ_FILE_TEXT_BOOL 6208
3223
+ #define F_PG_READ_BINARY_FILE_TEXT_BOOL 6209
3224
+ #define F_PG_INPUT_IS_VALID 6210
3225
+ #define F_PG_INPUT_ERROR_INFO 6211
3226
+ #define F_RANDOM_NORMAL 6212
3227
+ #define F_PG_SPLIT_WALFILE_NAME 6213
3228
+ #define F_PG_STAT_GET_IO 6214
3229
+ #define F_ARRAY_SHUFFLE 6215
3230
+ #define F_ARRAY_SAMPLE 6216
3231
+ #define F_PG_STAT_GET_TUPLES_NEWPAGE_UPDATED 6217
3232
+ #define F_PG_STAT_GET_XACT_TUPLES_NEWPAGE_UPDATED 6218
3233
+ #define F_ERF 6219
3234
+ #define F_ERFC 6220
3235
+ #define F_DATE_ADD_TIMESTAMPTZ_INTERVAL 6221
3236
+ #define F_DATE_ADD_TIMESTAMPTZ_INTERVAL_TEXT 6222
3237
+ #define F_DATE_SUBTRACT_TIMESTAMPTZ_INTERVAL 6223
3221
3238
  #define F_PG_GET_WAL_RESOURCE_MANAGERS 6224
3222
3239
  #define F_MULTIRANGE_AGG_TRANSFN 6225
3223
3240
  #define F_MULTIRANGE_AGG_FINALFN 6226
@@ -3257,5 +3274,41 @@
3257
3274
  #define F_PG_LS_LOGICALSNAPDIR 6270
3258
3275
  #define F_PG_LS_LOGICALMAPDIR 6271
3259
3276
  #define F_PG_LS_REPLSLOTDIR 6272
3277
+ #define F_DATE_SUBTRACT_TIMESTAMPTZ_INTERVAL_TEXT 6273
3278
+ #define F_GENERATE_SERIES_TIMESTAMPTZ_TIMESTAMPTZ_INTERVAL_TEXT 6274
3279
+ #define F_JSON_AGG_STRICT_TRANSFN 6275
3280
+ #define F_JSON_AGG_STRICT 6276
3281
+ #define F_JSON_OBJECT_AGG_STRICT_TRANSFN 6277
3282
+ #define F_JSON_OBJECT_AGG_UNIQUE_TRANSFN 6278
3283
+ #define F_JSON_OBJECT_AGG_UNIQUE_STRICT_TRANSFN 6279
3284
+ #define F_JSON_OBJECT_AGG_STRICT 6280
3285
+ #define F_JSON_OBJECT_AGG_UNIQUE 6281
3286
+ #define F_JSON_OBJECT_AGG_UNIQUE_STRICT 6282
3287
+ #define F_JSONB_AGG_STRICT_TRANSFN 6283
3288
+ #define F_JSONB_AGG_STRICT 6284
3289
+ #define F_JSONB_OBJECT_AGG_STRICT_TRANSFN 6285
3290
+ #define F_JSONB_OBJECT_AGG_UNIQUE_TRANSFN 6286
3291
+ #define F_JSONB_OBJECT_AGG_UNIQUE_STRICT_TRANSFN 6287
3292
+ #define F_JSONB_OBJECT_AGG_STRICT 6288
3293
+ #define F_JSONB_OBJECT_AGG_UNIQUE 6289
3294
+ #define F_JSONB_OBJECT_AGG_UNIQUE_STRICT 6290
3295
+ #define F_ANY_VALUE 6291
3296
+ #define F_ANY_VALUE_TRANSFN 6292
3297
+ #define F_ARRAY_AGG_COMBINE 6293
3298
+ #define F_ARRAY_AGG_SERIALIZE 6294
3299
+ #define F_ARRAY_AGG_DESERIALIZE 6295
3300
+ #define F_ARRAY_AGG_ARRAY_COMBINE 6296
3301
+ #define F_ARRAY_AGG_ARRAY_SERIALIZE 6297
3302
+ #define F_ARRAY_AGG_ARRAY_DESERIALIZE 6298
3303
+ #define F_STRING_AGG_COMBINE 6299
3304
+ #define F_STRING_AGG_SERIALIZE 6300
3305
+ #define F_STRING_AGG_DESERIALIZE 6301
3306
+ #define F_PG_LOG_STANDBY_SNAPSHOT 6305
3307
+ #define F_WINDOW_PERCENT_RANK_SUPPORT 6306
3308
+ #define F_WINDOW_CUME_DIST_SUPPORT 6307
3309
+ #define F_WINDOW_NTILE_SUPPORT 6308
3310
+ #define F_PG_STAT_GET_DB_CONFLICT_LOGICALSLOT 6309
3311
+ #define F_PG_STAT_GET_LASTSCAN 6310
3312
+ #define F_SYSTEM_USER 6311
3260
3313
 
3261
3314
  #endif /* FMGROIDS_H */
@@ -3,7 +3,7 @@
3
3
  * fmgrprotos.h
4
4
  * Prototypes for built-in functions.
5
5
  *
6
- * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
7
7
  * Portions Copyright (c) 1994, Regents of the University of California
8
8
  *
9
9
  * NOTES
@@ -1939,9 +1939,9 @@ extern Datum numeric_sortsupport(PG_FUNCTION_ARGS);
1939
1939
  extern Datum gist_poly_distance(PG_FUNCTION_ARGS);
1940
1940
  extern Datum dist_cpoint(PG_FUNCTION_ARGS);
1941
1941
  extern Datum dist_polyp(PG_FUNCTION_ARGS);
1942
- extern Datum pg_read_file_v2(PG_FUNCTION_ARGS);
1942
+ extern Datum pg_read_file_off_len_missing(PG_FUNCTION_ARGS);
1943
1943
  extern Datum show_config_by_name_missing_ok(PG_FUNCTION_ARGS);
1944
- extern Datum pg_read_binary_file(PG_FUNCTION_ARGS);
1944
+ extern Datum pg_read_binary_file_off_len_missing(PG_FUNCTION_ARGS);
1945
1945
  extern Datum pg_notification_queue_usage(PG_FUNCTION_ARGS);
1946
1946
  extern Datum pg_ls_dir(PG_FUNCTION_ARGS);
1947
1947
  extern Datum row_security_active(PG_FUNCTION_ARGS);
@@ -2745,6 +2745,7 @@ extern Datum pg_replication_origin_progress(PG_FUNCTION_ARGS);
2745
2745
  extern Datum pg_show_replication_origin_status(PG_FUNCTION_ARGS);
2746
2746
  extern Datum jsonb_subscript_handler(PG_FUNCTION_ARGS);
2747
2747
  extern Datum numeric_pg_lsn(PG_FUNCTION_ARGS);
2748
+ extern Datum pg_stat_get_backend_subxact(PG_FUNCTION_ARGS);
2748
2749
  extern Datum pg_stat_get_subscription(PG_FUNCTION_ARGS);
2749
2750
  extern Datum pg_get_publication_tables(PG_FUNCTION_ARGS);
2750
2751
  extern Datum pg_get_replica_identity_index(PG_FUNCTION_ARGS);
@@ -2788,6 +2789,20 @@ extern Datum extract_interval(PG_FUNCTION_ARGS);
2788
2789
  extern Datum has_parameter_privilege_name_name(PG_FUNCTION_ARGS);
2789
2790
  extern Datum has_parameter_privilege_id_name(PG_FUNCTION_ARGS);
2790
2791
  extern Datum has_parameter_privilege_name(PG_FUNCTION_ARGS);
2792
+ extern Datum pg_read_file_all_missing(PG_FUNCTION_ARGS);
2793
+ extern Datum pg_read_binary_file_all_missing(PG_FUNCTION_ARGS);
2794
+ extern Datum pg_input_is_valid(PG_FUNCTION_ARGS);
2795
+ extern Datum pg_input_error_info(PG_FUNCTION_ARGS);
2796
+ extern Datum drandom_normal(PG_FUNCTION_ARGS);
2797
+ extern Datum pg_split_walfile_name(PG_FUNCTION_ARGS);
2798
+ extern Datum pg_stat_get_io(PG_FUNCTION_ARGS);
2799
+ extern Datum array_shuffle(PG_FUNCTION_ARGS);
2800
+ extern Datum array_sample(PG_FUNCTION_ARGS);
2801
+ extern Datum pg_stat_get_tuples_newpage_updated(PG_FUNCTION_ARGS);
2802
+ extern Datum pg_stat_get_xact_tuples_newpage_updated(PG_FUNCTION_ARGS);
2803
+ extern Datum derf(PG_FUNCTION_ARGS);
2804
+ extern Datum derfc(PG_FUNCTION_ARGS);
2805
+ extern Datum timestamptz_pl_interval_at_zone(PG_FUNCTION_ARGS);
2791
2806
  extern Datum pg_get_wal_resource_managers(PG_FUNCTION_ARGS);
2792
2807
  extern Datum multirange_agg_transfn(PG_FUNCTION_ARGS);
2793
2808
  extern Datum pg_stat_have_stats(PG_FUNCTION_ARGS);
@@ -2825,5 +2840,32 @@ extern Datum regexp_substr(PG_FUNCTION_ARGS);
2825
2840
  extern Datum pg_ls_logicalsnapdir(PG_FUNCTION_ARGS);
2826
2841
  extern Datum pg_ls_logicalmapdir(PG_FUNCTION_ARGS);
2827
2842
  extern Datum pg_ls_replslotdir(PG_FUNCTION_ARGS);
2843
+ extern Datum timestamptz_mi_interval_at_zone(PG_FUNCTION_ARGS);
2844
+ extern Datum generate_series_timestamptz_at_zone(PG_FUNCTION_ARGS);
2845
+ extern Datum json_agg_strict_transfn(PG_FUNCTION_ARGS);
2846
+ extern Datum json_object_agg_strict_transfn(PG_FUNCTION_ARGS);
2847
+ extern Datum json_object_agg_unique_transfn(PG_FUNCTION_ARGS);
2848
+ extern Datum json_object_agg_unique_strict_transfn(PG_FUNCTION_ARGS);
2849
+ extern Datum jsonb_agg_strict_transfn(PG_FUNCTION_ARGS);
2850
+ extern Datum jsonb_object_agg_strict_transfn(PG_FUNCTION_ARGS);
2851
+ extern Datum jsonb_object_agg_unique_transfn(PG_FUNCTION_ARGS);
2852
+ extern Datum jsonb_object_agg_unique_strict_transfn(PG_FUNCTION_ARGS);
2853
+ extern Datum any_value_transfn(PG_FUNCTION_ARGS);
2854
+ extern Datum array_agg_combine(PG_FUNCTION_ARGS);
2855
+ extern Datum array_agg_serialize(PG_FUNCTION_ARGS);
2856
+ extern Datum array_agg_deserialize(PG_FUNCTION_ARGS);
2857
+ extern Datum array_agg_array_combine(PG_FUNCTION_ARGS);
2858
+ extern Datum array_agg_array_serialize(PG_FUNCTION_ARGS);
2859
+ extern Datum array_agg_array_deserialize(PG_FUNCTION_ARGS);
2860
+ extern Datum string_agg_combine(PG_FUNCTION_ARGS);
2861
+ extern Datum string_agg_serialize(PG_FUNCTION_ARGS);
2862
+ extern Datum string_agg_deserialize(PG_FUNCTION_ARGS);
2863
+ extern Datum pg_log_standby_snapshot(PG_FUNCTION_ARGS);
2864
+ extern Datum window_percent_rank_support(PG_FUNCTION_ARGS);
2865
+ extern Datum window_cume_dist_support(PG_FUNCTION_ARGS);
2866
+ extern Datum window_ntile_support(PG_FUNCTION_ARGS);
2867
+ extern Datum pg_stat_get_db_conflict_logicalslot(PG_FUNCTION_ARGS);
2868
+ extern Datum pg_stat_get_lastscan(PG_FUNCTION_ARGS);
2869
+ extern Datum system_user(PG_FUNCTION_ARGS);
2828
2870
 
2829
2871
  #endif /* FMGRPROTOS_H */
@@ -3,7 +3,7 @@
3
3
  * fmgrtab.h
4
4
  * The function manager's table of internal functions.
5
5
  *
6
- * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
7
7
  * Portions Copyright (c) 1994, Regents of the University of California
8
8
  *
9
9
  * src/include/utils/fmgrtab.h
@@ -1,10 +1,9 @@
1
1
  /*--------------------------------------------------------------------
2
2
  * guc.h
3
3
  *
4
- * External declarations pertaining to backend/utils/misc/guc.c and
5
- * backend/utils/misc/guc-file.l
4
+ * External declarations pertaining to Grand Unified Configuration.
6
5
  *
7
- * Copyright (c) 2000-2022, PostgreSQL Global Development Group
6
+ * Copyright (c) 2000-2023, PostgreSQL Global Development Group
8
7
  * Written by Peter Eisentraut <peter_e@gmx.net>.
9
8
  *
10
9
  * src/include/utils/guc.h
@@ -203,46 +202,42 @@ typedef enum
203
202
  #define GUC_QUALIFIER_SEPARATOR '.'
204
203
 
205
204
  /*
206
- * bit values in "flags" of a GUC variable
205
+ * Bit values in "flags" of a GUC variable. Note that these don't appear
206
+ * on disk, so we can reassign their values freely.
207
207
  */
208
- #define GUC_LIST_INPUT 0x0001 /* input can be list format */
209
- #define GUC_LIST_QUOTE 0x0002 /* double-quote list elements */
210
- #define GUC_NO_SHOW_ALL 0x0004 /* exclude from SHOW ALL */
211
- #define GUC_NO_RESET_ALL 0x0008 /* exclude from RESET ALL */
212
- #define GUC_REPORT 0x0010 /* auto-report changes to client */
213
- #define GUC_NOT_IN_SAMPLE 0x0020 /* not in postgresql.conf.sample */
214
- #define GUC_DISALLOW_IN_FILE 0x0040 /* can't set in postgresql.conf */
215
- #define GUC_CUSTOM_PLACEHOLDER 0x0080 /* placeholder for custom variable */
216
- #define GUC_SUPERUSER_ONLY 0x0100 /* show only to superusers */
217
- #define GUC_IS_NAME 0x0200 /* limit string to NAMEDATALEN-1 */
218
- #define GUC_NOT_WHILE_SEC_REST 0x0400 /* can't set if security restricted */
219
- #define GUC_DISALLOW_IN_AUTO_FILE 0x0800 /* can't set in
220
- * PG_AUTOCONF_FILENAME */
221
-
222
- #define GUC_UNIT_KB 0x1000 /* value is in kilobytes */
223
- #define GUC_UNIT_BLOCKS 0x2000 /* value is in blocks */
224
- #define GUC_UNIT_XBLOCKS 0x3000 /* value is in xlog blocks */
225
- #define GUC_UNIT_MB 0x4000 /* value is in megabytes */
226
- #define GUC_UNIT_BYTE 0x8000 /* value is in bytes */
227
- #define GUC_UNIT_MEMORY 0xF000 /* mask for size-related units */
228
-
229
- #define GUC_UNIT_MS 0x10000 /* value is in milliseconds */
230
- #define GUC_UNIT_S 0x20000 /* value is in seconds */
231
- #define GUC_UNIT_MIN 0x30000 /* value is in minutes */
232
- #define GUC_UNIT_TIME 0xF0000 /* mask for time-related units */
233
-
234
- #define GUC_EXPLAIN 0x100000 /* include in explain */
235
-
236
- /*
237
- * GUC_RUNTIME_COMPUTED is intended for runtime-computed GUCs that are only
238
- * available via 'postgres -C' if the server is not running.
239
- */
240
- #define GUC_RUNTIME_COMPUTED 0x200000
241
-
242
- #define GUC_UNIT (GUC_UNIT_MEMORY | GUC_UNIT_TIME)
243
-
244
-
245
- /* GUC vars that are actually declared in guc.c, rather than elsewhere */
208
+ #define GUC_LIST_INPUT 0x000001 /* input can be list format */
209
+ #define GUC_LIST_QUOTE 0x000002 /* double-quote list elements */
210
+ #define GUC_NO_SHOW_ALL 0x000004 /* exclude from SHOW ALL */
211
+ #define GUC_NO_RESET 0x000008 /* disallow RESET and SAVE */
212
+ #define GUC_NO_RESET_ALL 0x000010 /* exclude from RESET ALL */
213
+ #define GUC_EXPLAIN 0x000020 /* include in EXPLAIN */
214
+ #define GUC_REPORT 0x000040 /* auto-report changes to client */
215
+ #define GUC_NOT_IN_SAMPLE 0x000080 /* not in postgresql.conf.sample */
216
+ #define GUC_DISALLOW_IN_FILE 0x000100 /* can't set in postgresql.conf */
217
+ #define GUC_CUSTOM_PLACEHOLDER 0x000200 /* placeholder for custom variable */
218
+ #define GUC_SUPERUSER_ONLY 0x000400 /* show only to superusers */
219
+ #define GUC_IS_NAME 0x000800 /* limit string to NAMEDATALEN-1 */
220
+ #define GUC_NOT_WHILE_SEC_REST 0x001000 /* can't set if security restricted */
221
+ #define GUC_DISALLOW_IN_AUTO_FILE \
222
+ 0x002000 /* can't set in PG_AUTOCONF_FILENAME */
223
+ #define GUC_RUNTIME_COMPUTED 0x004000 /* delay processing in 'postgres -C' */
224
+
225
+ #define GUC_UNIT_KB 0x01000000 /* value is in kilobytes */
226
+ #define GUC_UNIT_BLOCKS 0x02000000 /* value is in blocks */
227
+ #define GUC_UNIT_XBLOCKS 0x03000000 /* value is in xlog blocks */
228
+ #define GUC_UNIT_MB 0x04000000 /* value is in megabytes */
229
+ #define GUC_UNIT_BYTE 0x05000000 /* value is in bytes */
230
+ #define GUC_UNIT_MEMORY 0x0F000000 /* mask for size-related units */
231
+
232
+ #define GUC_UNIT_MS 0x10000000 /* value is in milliseconds */
233
+ #define GUC_UNIT_S 0x20000000 /* value is in seconds */
234
+ #define GUC_UNIT_MIN 0x30000000 /* value is in minutes */
235
+ #define GUC_UNIT_TIME 0x70000000 /* mask for time-related units */
236
+
237
+ #define GUC_UNIT (GUC_UNIT_MEMORY | GUC_UNIT_TIME)
238
+
239
+
240
+ /* GUC vars that are actually defined in guc_tables.c, rather than elsewhere */
246
241
  extern PGDLLIMPORT bool Debug_print_plan;
247
242
  extern PGDLLIMPORT bool Debug_print_parse;
248
243
  extern PGDLLIMPORT bool Debug_print_rewritten;
@@ -254,22 +249,21 @@ extern PGDLLIMPORT bool log_executor_stats;
254
249
  extern PGDLLIMPORT bool log_statement_stats;
255
250
  extern PGDLLIMPORT bool log_btree_build_stats;
256
251
 
257
- extern PGDLLIMPORT __thread bool check_function_bodies;
252
+ extern PGDLLIMPORT __thread bool check_function_bodies;
258
253
  extern PGDLLIMPORT bool session_auth_is_superuser;
259
254
 
260
255
  extern PGDLLIMPORT bool log_duration;
261
256
  extern PGDLLIMPORT int log_parameter_max_length;
262
257
  extern PGDLLIMPORT int log_parameter_max_length_on_error;
263
258
  extern PGDLLIMPORT int log_min_error_statement;
264
- extern PGDLLIMPORT __thread int log_min_messages;
265
- extern PGDLLIMPORT __thread int client_min_messages;
259
+ extern PGDLLIMPORT __thread int log_min_messages;
260
+ extern PGDLLIMPORT int client_min_messages;
266
261
  extern PGDLLIMPORT int log_min_duration_sample;
267
262
  extern PGDLLIMPORT int log_min_duration_statement;
268
263
  extern PGDLLIMPORT int log_temp_files;
269
264
  extern PGDLLIMPORT double log_statement_sample_rate;
270
265
  extern PGDLLIMPORT double log_xact_sample_rate;
271
- extern PGDLLIMPORT __thread char *backtrace_functions;
272
- extern PGDLLIMPORT __thread char *backtrace_symbol_list;
266
+ extern PGDLLIMPORT __thread char *backtrace_functions;
273
267
 
274
268
  extern PGDLLIMPORT int temp_file_limit;
275
269
 
@@ -307,7 +301,7 @@ extern void DefineCustomBoolVariable(const char *name,
307
301
  int flags,
308
302
  GucBoolCheckHook check_hook,
309
303
  GucBoolAssignHook assign_hook,
310
- GucShowHook show_hook);
304
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
311
305
 
312
306
  extern void DefineCustomIntVariable(const char *name,
313
307
  const char *short_desc,
@@ -320,7 +314,7 @@ extern void DefineCustomIntVariable(const char *name,
320
314
  int flags,
321
315
  GucIntCheckHook check_hook,
322
316
  GucIntAssignHook assign_hook,
323
- GucShowHook show_hook);
317
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
324
318
 
325
319
  extern void DefineCustomRealVariable(const char *name,
326
320
  const char *short_desc,
@@ -333,7 +327,7 @@ extern void DefineCustomRealVariable(const char *name,
333
327
  int flags,
334
328
  GucRealCheckHook check_hook,
335
329
  GucRealAssignHook assign_hook,
336
- GucShowHook show_hook);
330
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
337
331
 
338
332
  extern void DefineCustomStringVariable(const char *name,
339
333
  const char *short_desc,
@@ -344,7 +338,7 @@ extern void DefineCustomStringVariable(const char *name,
344
338
  int flags,
345
339
  GucStringCheckHook check_hook,
346
340
  GucStringAssignHook assign_hook,
347
- GucShowHook show_hook);
341
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
348
342
 
349
343
  extern void DefineCustomEnumVariable(const char *name,
350
344
  const char *short_desc,
@@ -356,7 +350,7 @@ extern void DefineCustomEnumVariable(const char *name,
356
350
  int flags,
357
351
  GucEnumCheckHook check_hook,
358
352
  GucEnumAssignHook assign_hook,
359
- GucShowHook show_hook);
353
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
360
354
 
361
355
  extern void MarkGUCPrefixReserved(const char *className);
362
356
 
@@ -371,7 +365,6 @@ extern void ProcessConfigFile(GucContext context);
371
365
  extern char *convert_GUC_name_for_parameter_acl(const char *name);
372
366
  extern bool check_GUC_name_for_parameter_acl(const char *name);
373
367
  extern void InitializeGUCOptions(void);
374
- extern void InitializeWalConsistencyChecking(void);
375
368
  extern bool SelectConfigFiles(const char *userDoption, const char *progname);
376
369
  extern void ResetAllOptions(void);
377
370
  extern void AtStart_GUC(void);
@@ -380,6 +373,7 @@ extern void AtEOXact_GUC(bool isCommit, int nestLevel);
380
373
  extern void BeginReportingGUCOptions(void);
381
374
  extern void ReportChangedGUCOptions(void);
382
375
  extern void ParseLongOption(const char *string, char **name, char **value);
376
+ extern const char *get_config_unit_name(int flags);
383
377
  extern bool parse_int(const char *value, int *result, int flags,
384
378
  const char **hintmsg);
385
379
  extern bool parse_real(const char *value, double *result, int flags,
@@ -396,15 +390,6 @@ extern int set_config_option_ext(const char *name, const char *value,
396
390
  extern void AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt);
397
391
  extern char *GetConfigOptionByName(const char *name, const char **varname,
398
392
  bool missing_ok);
399
- extern void GetConfigOptionByNum(int varnum, const char **values, bool *noshow);
400
- extern int GetNumConfigOptions(void);
401
-
402
- extern void SetPGVariable(const char *name, List *args, bool is_local);
403
- extern void GetPGVariable(const char *name, DestReceiver *dest);
404
- extern TupleDesc GetPGVariableResultDesc(const char *name);
405
-
406
- extern void ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel);
407
- extern char *ExtractSetVariableArgs(VariableSetStmt *stmt);
408
393
 
409
394
  extern void ProcessGUCArray(ArrayType *array,
410
395
  GucContext context, GucSource source, GucAction action);
@@ -412,6 +397,11 @@ extern ArrayType *GUCArrayAdd(ArrayType *array, const char *name, const char *va
412
397
  extern ArrayType *GUCArrayDelete(ArrayType *array, const char *name);
413
398
  extern ArrayType *GUCArrayReset(ArrayType *array);
414
399
 
400
+ extern void *guc_malloc(int elevel, size_t size);
401
+ extern pg_nodiscard void *guc_realloc(int elevel, void *old, size_t size);
402
+ extern char *guc_strdup(int elevel, const char *src);
403
+ extern void guc_free(void *ptr);
404
+
415
405
  #ifdef EXEC_BACKEND
416
406
  extern void write_nondefault_variables(GucContext context);
417
407
  extern void read_nondefault_variables(void);
@@ -422,6 +412,13 @@ extern Size EstimateGUCStateSpace(void);
422
412
  extern void SerializeGUCState(Size maxsize, char *start_address);
423
413
  extern void RestoreGUCState(void *gucstate);
424
414
 
415
+ /* Functions exported by guc_funcs.c */
416
+ extern void ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel);
417
+ extern char *ExtractSetVariableArgs(VariableSetStmt *stmt);
418
+ extern void SetPGVariable(const char *name, List *args, bool is_local);
419
+ extern void GetPGVariable(const char *name, DestReceiver *dest);
420
+ extern TupleDesc GetPGVariableResultDesc(const char *name);
421
+
425
422
  /* Support for messages reported from GUC check hooks */
426
423
 
427
424
  extern PGDLLIMPORT char *GUC_check_errmsg_string;
@@ -442,28 +439,4 @@ extern void GUC_check_errcode(int sqlerrcode);
442
439
  pre_format_elog_string(errno, TEXTDOMAIN), \
443
440
  GUC_check_errhint_string = format_elog_string
444
441
 
445
-
446
- /*
447
- * The following functions are not in guc.c, but are declared here to avoid
448
- * having to include guc.h in some widely used headers that it really doesn't
449
- * belong in.
450
- */
451
-
452
- /* in commands/tablespace.c */
453
- extern bool check_default_tablespace(char **newval, void **extra, GucSource source);
454
- extern bool check_temp_tablespaces(char **newval, void **extra, GucSource source);
455
- extern void assign_temp_tablespaces(const char *newval, void *extra);
456
-
457
- /* in catalog/namespace.c */
458
- extern bool check_search_path(char **newval, void **extra, GucSource source);
459
- extern void assign_search_path(const char *newval, void *extra);
460
-
461
- /* in access/transam/xlog.c */
462
- extern bool check_wal_buffers(int *newval, void **extra, GucSource source);
463
- extern void assign_xlog_sync_method(int new_sync_method, void *extra);
464
-
465
- /* in access/transam/xlogprefetcher.c */
466
- extern bool check_recovery_prefetch(int *new_value, void **extra, GucSource source);
467
- extern void assign_recovery_prefetch(int new_value, void *extra);
468
-
469
442
  #endif /* GUC_H */
@@ -0,0 +1,163 @@
1
+ /*-------------------------------------------------------------------------
2
+ *
3
+ * guc_hooks.h
4
+ * Declarations of per-variable callback functions used by GUC.
5
+ *
6
+ * These functions are scattered throughout the system, but we
7
+ * declare them all here to avoid having to propagate guc.h into
8
+ * a lot of unrelated header files.
9
+ *
10
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
11
+ *
12
+ * src/include/utils/guc_hooks.h
13
+ *
14
+ *-------------------------------------------------------------------------
15
+ */
16
+ #ifndef GUC_HOOKS_H
17
+ #define GUC_HOOKS_H 1
18
+
19
+ #include "utils/guc.h"
20
+
21
+ /*
22
+ * See guc.h for the typedefs that these hook functions should match
23
+ * (GucBoolCheckHook and so on).
24
+ *
25
+ * Please keep the declarations in order by GUC variable name.
26
+ */
27
+
28
+ extern bool check_application_name(char **newval, void **extra,
29
+ GucSource source);
30
+ extern void assign_application_name(const char *newval, void *extra);
31
+ extern const char *show_archive_command(void);
32
+ extern bool check_autovacuum_max_workers(int *newval, void **extra,
33
+ GucSource source);
34
+ extern bool check_autovacuum_work_mem(int *newval, void **extra,
35
+ GucSource source);
36
+ extern bool check_vacuum_buffer_usage_limit(int *newval, void **extra,
37
+ GucSource source);
38
+ extern bool check_backtrace_functions(char **newval, void **extra,
39
+ GucSource source);
40
+ extern void assign_backtrace_functions(const char *newval, void *extra);
41
+ extern bool check_bonjour(bool *newval, void **extra, GucSource source);
42
+ extern bool check_canonical_path(char **newval, void **extra, GucSource source);
43
+ extern void assign_checkpoint_completion_target(double newval, void *extra);
44
+ extern bool check_client_connection_check_interval(int *newval, void **extra,
45
+ GucSource source);
46
+ extern bool check_client_encoding(char **newval, void **extra, GucSource source);
47
+ extern void assign_client_encoding(const char *newval, void *extra);
48
+ extern bool check_cluster_name(char **newval, void **extra, GucSource source);
49
+ extern const char *show_data_directory_mode(void);
50
+ extern bool check_datestyle(char **newval, void **extra, GucSource source);
51
+ extern void assign_datestyle(const char *newval, void *extra);
52
+ extern bool check_debug_io_direct(char **newval, void **extra, GucSource source);
53
+ extern void assign_debug_io_direct(const char *newval, void *extra);
54
+ extern bool check_default_table_access_method(char **newval, void **extra,
55
+ GucSource source);
56
+ extern bool check_default_tablespace(char **newval, void **extra,
57
+ GucSource source);
58
+ extern bool check_default_text_search_config(char **newval, void **extra, GucSource source);
59
+ extern void assign_default_text_search_config(const char *newval, void *extra);
60
+ extern bool check_default_with_oids(bool *newval, void **extra,
61
+ GucSource source);
62
+ extern bool check_effective_io_concurrency(int *newval, void **extra,
63
+ GucSource source);
64
+ extern bool check_huge_page_size(int *newval, void **extra, GucSource source);
65
+ extern const char *show_in_hot_standby(void);
66
+ extern bool check_locale_messages(char **newval, void **extra, GucSource source);
67
+ extern void assign_locale_messages(const char *newval, void *extra);
68
+ extern bool check_locale_monetary(char **newval, void **extra, GucSource source);
69
+ extern void assign_locale_monetary(const char *newval, void *extra);
70
+ extern bool check_locale_numeric(char **newval, void **extra, GucSource source);
71
+ extern void assign_locale_numeric(const char *newval, void *extra);
72
+ extern bool check_locale_time(char **newval, void **extra, GucSource source);
73
+ extern void assign_locale_time(const char *newval, void *extra);
74
+ extern bool check_log_destination(char **newval, void **extra,
75
+ GucSource source);
76
+ extern void assign_log_destination(const char *newval, void *extra);
77
+ extern const char *show_log_file_mode(void);
78
+ extern bool check_log_stats(bool *newval, void **extra, GucSource source);
79
+ extern bool check_log_timezone(char **newval, void **extra, GucSource source);
80
+ extern void assign_log_timezone(const char *newval, void *extra);
81
+ extern const char *show_log_timezone(void);
82
+ extern bool check_maintenance_io_concurrency(int *newval, void **extra,
83
+ GucSource source);
84
+ extern void assign_maintenance_io_concurrency(int newval, void *extra);
85
+ extern bool check_max_connections(int *newval, void **extra, GucSource source);
86
+ extern bool check_max_wal_senders(int *newval, void **extra, GucSource source);
87
+ extern void assign_max_wal_size(int newval, void *extra);
88
+ extern bool check_max_worker_processes(int *newval, void **extra,
89
+ GucSource source);
90
+ extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
91
+ extern void assign_max_stack_depth(int newval, void *extra);
92
+ extern bool check_primary_slot_name(char **newval, void **extra,
93
+ GucSource source);
94
+ extern bool check_random_seed(double *newval, void **extra, GucSource source);
95
+ extern void assign_random_seed(double newval, void *extra);
96
+ extern const char *show_random_seed(void);
97
+ extern bool check_recovery_prefetch(int *new_value, void **extra,
98
+ GucSource source);
99
+ extern void assign_recovery_prefetch(int new_value, void *extra);
100
+ extern bool check_recovery_target(char **newval, void **extra,
101
+ GucSource source);
102
+ extern void assign_recovery_target(const char *newval, void *extra);
103
+ extern bool check_recovery_target_lsn(char **newval, void **extra,
104
+ GucSource source);
105
+ extern void assign_recovery_target_lsn(const char *newval, void *extra);
106
+ extern bool check_recovery_target_name(char **newval, void **extra,
107
+ GucSource source);
108
+ extern void assign_recovery_target_name(const char *newval, void *extra);
109
+ extern bool check_recovery_target_time(char **newval, void **extra,
110
+ GucSource source);
111
+ extern void assign_recovery_target_time(const char *newval, void *extra);
112
+ extern bool check_recovery_target_timeline(char **newval, void **extra,
113
+ GucSource source);
114
+ extern void assign_recovery_target_timeline(const char *newval, void *extra);
115
+ extern bool check_recovery_target_xid(char **newval, void **extra,
116
+ GucSource source);
117
+ extern void assign_recovery_target_xid(const char *newval, void *extra);
118
+ extern bool check_role(char **newval, void **extra, GucSource source);
119
+ extern void assign_role(const char *newval, void *extra);
120
+ extern const char *show_role(void);
121
+ extern bool check_search_path(char **newval, void **extra, GucSource source);
122
+ extern void assign_search_path(const char *newval, void *extra);
123
+ extern bool check_session_authorization(char **newval, void **extra, GucSource source);
124
+ extern void assign_session_authorization(const char *newval, void *extra);
125
+ extern void assign_session_replication_role(int newval, void *extra);
126
+ extern void assign_stats_fetch_consistency(int newval, void *extra);
127
+ extern bool check_ssl(bool *newval, void **extra, GucSource source);
128
+ extern bool check_stage_log_stats(bool *newval, void **extra, GucSource source);
129
+ extern bool check_synchronous_standby_names(char **newval, void **extra,
130
+ GucSource source);
131
+ extern void assign_synchronous_standby_names(const char *newval, void *extra);
132
+ extern void assign_synchronous_commit(int newval, void *extra);
133
+ extern void assign_syslog_facility(int newval, void *extra);
134
+ extern void assign_syslog_ident(const char *newval, void *extra);
135
+ extern void assign_tcp_keepalives_count(int newval, void *extra);
136
+ extern const char *show_tcp_keepalives_count(void);
137
+ extern void assign_tcp_keepalives_idle(int newval, void *extra);
138
+ extern const char *show_tcp_keepalives_idle(void);
139
+ extern void assign_tcp_keepalives_interval(int newval, void *extra);
140
+ extern const char *show_tcp_keepalives_interval(void);
141
+ extern void assign_tcp_user_timeout(int newval, void *extra);
142
+ extern const char *show_tcp_user_timeout(void);
143
+ extern bool check_temp_buffers(int *newval, void **extra, GucSource source);
144
+ extern bool check_temp_tablespaces(char **newval, void **extra,
145
+ GucSource source);
146
+ extern void assign_temp_tablespaces(const char *newval, void *extra);
147
+ extern bool check_timezone(char **newval, void **extra, GucSource source);
148
+ extern void assign_timezone(const char *newval, void *extra);
149
+ extern const char *show_timezone(void);
150
+ extern bool check_timezone_abbreviations(char **newval, void **extra,
151
+ GucSource source);
152
+ extern void assign_timezone_abbreviations(const char *newval, void *extra);
153
+ extern bool check_transaction_deferrable(bool *newval, void **extra, GucSource source);
154
+ extern bool check_transaction_isolation(int *newval, void **extra, GucSource source);
155
+ extern bool check_transaction_read_only(bool *newval, void **extra, GucSource source);
156
+ extern const char *show_unix_socket_permissions(void);
157
+ extern bool check_wal_buffers(int *newval, void **extra, GucSource source);
158
+ extern bool check_wal_consistency_checking(char **newval, void **extra,
159
+ GucSource source);
160
+ extern void assign_wal_consistency_checking(const char *newval, void *extra);
161
+ extern void assign_xlog_sync_method(int new_sync_method, void *extra);
162
+
163
+ #endif /* GUC_HOOKS_H */