pg_query 2.0.3 → 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 (557) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +165 -0
  3. data/README.md +67 -29
  4. data/Rakefile +8 -23
  5. data/ext/pg_query/extconf.rb +21 -3
  6. data/ext/pg_query/include/pg_query.h +29 -4
  7. data/ext/pg_query/include/pg_query_enum_defs.c +551 -272
  8. data/ext/pg_query/include/pg_query_fingerprint_conds.c +563 -470
  9. data/ext/pg_query/include/pg_query_fingerprint_defs.c +5403 -3945
  10. data/ext/pg_query/include/pg_query_outfuncs_conds.c +402 -330
  11. data/ext/pg_query/include/pg_query_outfuncs_defs.c +1319 -1059
  12. data/ext/pg_query/include/pg_query_readfuncs_conds.c +141 -118
  13. data/ext/pg_query/include/pg_query_readfuncs_defs.c +1685 -1379
  14. data/ext/pg_query/include/{access → postgres/access}/amapi.h +47 -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 +2 -2
  17. data/ext/pg_query/include/{access → postgres/access}/clog.h +4 -2
  18. data/ext/pg_query/include/{access → postgres/access}/commit_ts.h +6 -9
  19. data/ext/pg_query/include/{access → postgres/access}/detoast.h +1 -11
  20. data/ext/pg_query/include/{access → postgres/access}/genam.h +21 -16
  21. data/ext/pg_query/include/{access → postgres/access}/gin.h +17 -4
  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 +80 -88
  24. data/ext/pg_query/include/{access → postgres/access}/itup.h +61 -52
  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 +17 -2
  29. data/ext/pg_query/include/postgres/access/rmgr.h +62 -0
  30. data/ext/pg_query/include/{access → postgres/access}/rmgrlist.h +24 -24
  31. data/ext/pg_query/include/{access → postgres/access}/sdir.h +12 -3
  32. data/ext/pg_query/include/{access → postgres/access}/skey.h +1 -1
  33. data/ext/pg_query/include/{access → postgres/access}/stratnum.h +4 -2
  34. data/ext/pg_query/include/{access → postgres/access}/sysattr.h +1 -1
  35. data/ext/pg_query/include/{access → postgres/access}/table.h +2 -1
  36. data/ext/pg_query/include/{access → postgres/access}/tableam.h +337 -62
  37. data/ext/pg_query/include/postgres/access/toast_compression.h +73 -0
  38. data/ext/pg_query/include/{access → postgres/access}/transam.h +123 -13
  39. data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
  40. data/ext/pg_query/include/{access → postgres/access}/tupconvert.h +5 -2
  41. data/ext/pg_query/include/{access → postgres/access}/tupdesc.h +2 -2
  42. data/ext/pg_query/include/{access → postgres/access}/tupmacs.h +60 -100
  43. data/ext/pg_query/include/{access → postgres/access}/twophase.h +5 -1
  44. data/ext/pg_query/include/{access → postgres/access}/xact.h +99 -32
  45. data/ext/pg_query/include/{access → postgres/access}/xlog.h +69 -165
  46. data/ext/pg_query/include/{access → postgres/access}/xlog_internal.h +147 -73
  47. data/ext/pg_query/include/postgres/access/xlogbackup.h +41 -0
  48. data/ext/pg_query/include/{access → postgres/access}/xlogdefs.h +13 -40
  49. data/ext/pg_query/include/postgres/access/xlogprefetcher.h +55 -0
  50. data/ext/pg_query/include/{access → postgres/access}/xlogreader.h +154 -37
  51. data/ext/pg_query/include/{access → postgres/access}/xlogrecord.h +34 -13
  52. data/ext/pg_query/include/postgres/access/xlogrecovery.h +158 -0
  53. data/ext/pg_query/include/postgres/archive/archive_module.h +59 -0
  54. data/ext/pg_query/include/{c.h → postgres/c.h} +245 -188
  55. data/ext/pg_query/include/{catalog → postgres/catalog}/catalog.h +6 -3
  56. data/ext/pg_query/include/{catalog → postgres/catalog}/catversion.h +6 -2
  57. data/ext/pg_query/include/{catalog → postgres/catalog}/dependency.h +14 -19
  58. data/ext/pg_query/include/postgres/catalog/genbki.h +143 -0
  59. data/ext/pg_query/include/{catalog → postgres/catalog}/index.h +20 -5
  60. data/ext/pg_query/include/postgres/catalog/indexing.h +54 -0
  61. data/ext/pg_query/include/{catalog → postgres/catalog}/namespace.h +5 -3
  62. data/ext/pg_query/include/{catalog → postgres/catalog}/objectaccess.h +73 -3
  63. data/ext/pg_query/include/{catalog → postgres/catalog}/objectaddress.h +12 -7
  64. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate.h +14 -10
  65. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate_d.h +2 -1
  66. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am.h +4 -1
  67. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am_d.h +3 -1
  68. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute.h +45 -26
  69. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute_d.h +19 -16
  70. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid.h +7 -2
  71. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid_d.h +19 -9
  72. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class.h +45 -15
  73. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class_d.h +31 -2
  74. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation.h +35 -8
  75. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation_d.h +21 -3
  76. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint.h +39 -13
  77. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint_d.h +10 -4
  78. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_control.h +13 -5
  79. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion.h +8 -5
  80. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion_d.h +4 -1
  81. data/ext/pg_query/include/postgres/catalog/pg_database.h +124 -0
  82. data/ext/pg_query/include/postgres/catalog/pg_database_d.h +52 -0
  83. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend.h +11 -7
  84. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend_d.h +3 -1
  85. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger.h +9 -3
  86. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger_d.h +3 -1
  87. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index.h +17 -7
  88. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index_d.h +20 -17
  89. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language.h +10 -5
  90. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language_d.h +3 -1
  91. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace.h +7 -2
  92. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace_d.h +3 -1
  93. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass.h +8 -5
  94. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass_d.h +3 -1
  95. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator.h +21 -16
  96. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator_d.h +37 -1
  97. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily.h +8 -4
  98. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily_d.h +6 -2
  99. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table.h +20 -9
  100. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table_d.h +2 -1
  101. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc.h +20 -11
  102. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc_d.h +10 -8
  103. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication.h +49 -6
  104. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication_d.h +3 -1
  105. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin.h +6 -1
  106. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin_d.h +5 -1
  107. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic.h +19 -12
  108. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_d.h +2 -1
  109. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext.h +19 -5
  110. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext_d.h +7 -2
  111. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform.h +8 -5
  112. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform_d.h +3 -1
  113. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger.h +24 -8
  114. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger_d.h +4 -1
  115. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config.h +6 -3
  116. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config_d.h +3 -1
  117. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict.h +8 -3
  118. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict_d.h +3 -1
  119. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser.h +6 -3
  120. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser_d.h +3 -1
  121. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template.h +6 -3
  122. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template_d.h +3 -1
  123. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type.h +56 -24
  124. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type_d.h +70 -31
  125. data/ext/pg_query/include/{catalog → postgres/catalog}/storage.h +9 -7
  126. data/ext/pg_query/include/{commands → postgres/commands}/async.h +4 -5
  127. data/ext/pg_query/include/{commands → postgres/commands}/dbcommands.h +3 -1
  128. data/ext/pg_query/include/{commands → postgres/commands}/defrem.h +12 -24
  129. data/ext/pg_query/include/{commands → postgres/commands}/event_trigger.h +2 -2
  130. data/ext/pg_query/include/{commands → postgres/commands}/explain.h +3 -1
  131. data/ext/pg_query/include/{commands → postgres/commands}/prepare.h +1 -1
  132. data/ext/pg_query/include/{commands → postgres/commands}/tablespace.h +6 -4
  133. data/ext/pg_query/include/{commands → postgres/commands}/trigger.h +36 -25
  134. data/ext/pg_query/include/{commands → postgres/commands}/user.h +10 -4
  135. data/ext/pg_query/include/{commands → postgres/commands}/vacuum.h +140 -47
  136. data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
  137. data/ext/pg_query/include/{common → postgres/common}/file_perm.h +4 -4
  138. data/ext/pg_query/include/{common → postgres/common}/hashfn.h +1 -1
  139. data/ext/pg_query/include/postgres/common/int.h +437 -0
  140. data/ext/pg_query/include/{common → postgres/common}/keywords.h +2 -6
  141. data/ext/pg_query/include/{common → postgres/common}/kwlookup.h +2 -2
  142. data/ext/pg_query/include/postgres/common/pg_prng.h +61 -0
  143. data/ext/pg_query/include/{common → postgres/common}/relpath.h +21 -14
  144. data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
  145. data/ext/pg_query/include/postgres/common/sha2.h +32 -0
  146. data/ext/pg_query/include/postgres/common/string.h +44 -0
  147. data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +125 -0
  148. data/ext/pg_query/include/{common/unicode_combining_table.h → postgres/common/unicode_nonspacing_table.h} +138 -8
  149. data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5013 -0
  150. data/ext/pg_query/include/postgres/copyfuncs.switch.c +938 -0
  151. data/ext/pg_query/include/{datatype → postgres/datatype}/timestamp.h +50 -4
  152. data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3097 -0
  153. data/ext/pg_query/include/postgres/equalfuncs.switch.c +785 -0
  154. data/ext/pg_query/include/{executor → postgres/executor}/execdesc.h +1 -1
  155. data/ext/pg_query/include/{executor → postgres/executor}/executor.h +98 -32
  156. data/ext/pg_query/include/{executor → postgres/executor}/functions.h +17 -3
  157. data/ext/pg_query/include/{executor → postgres/executor}/instrument.h +33 -16
  158. data/ext/pg_query/include/{executor → postgres/executor}/spi.h +42 -4
  159. data/ext/pg_query/include/{executor → postgres/executor}/tablefunc.h +1 -1
  160. data/ext/pg_query/include/{executor → postgres/executor}/tuptable.h +18 -11
  161. data/ext/pg_query/include/{fmgr.h → postgres/fmgr.h} +33 -8
  162. data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
  163. data/ext/pg_query/include/{funcapi.h → postgres/funcapi.h} +22 -10
  164. data/ext/pg_query/include/postgres/gram.h +1127 -0
  165. data/ext/pg_query/include/{parser → postgres}/gramparse.h +4 -4
  166. data/ext/pg_query/include/{jit → postgres/jit}/jit.h +12 -12
  167. data/ext/pg_query/include/postgres/kwlist_d.h +1119 -0
  168. data/ext/pg_query/include/postgres/lib/dshash.h +115 -0
  169. data/ext/pg_query/include/{lib → postgres/lib}/ilist.h +454 -22
  170. data/ext/pg_query/include/{lib → postgres/lib}/pairingheap.h +1 -1
  171. data/ext/pg_query/include/{lib → postgres/lib}/simplehash.h +158 -33
  172. data/ext/pg_query/include/postgres/lib/sort_template.h +432 -0
  173. data/ext/pg_query/include/{lib → postgres/lib}/stringinfo.h +3 -3
  174. data/ext/pg_query/include/{libpq → postgres/libpq}/auth.h +12 -4
  175. data/ext/pg_query/include/{libpq → postgres/libpq}/crypt.h +5 -4
  176. data/ext/pg_query/include/{libpq → postgres/libpq}/hba.h +54 -8
  177. data/ext/pg_query/include/{libpq → postgres/libpq}/libpq-be.h +45 -17
  178. data/ext/pg_query/include/{libpq → postgres/libpq}/libpq.h +31 -20
  179. data/ext/pg_query/include/{libpq → postgres/libpq}/pqcomm.h +26 -71
  180. data/ext/pg_query/include/{libpq → postgres/libpq}/pqformat.h +2 -2
  181. data/ext/pg_query/include/{libpq → postgres/libpq}/pqsignal.h +25 -13
  182. data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
  183. data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
  184. data/ext/pg_query/include/{mb → postgres/mb}/pg_wchar.h +125 -25
  185. data/ext/pg_query/include/{mb → postgres/mb}/stringinfo_mb.h +1 -1
  186. data/ext/pg_query/include/{miscadmin.h → postgres/miscadmin.h} +96 -65
  187. data/ext/pg_query/include/{nodes → postgres/nodes}/bitmapset.h +11 -7
  188. data/ext/pg_query/include/{nodes → postgres/nodes}/execnodes.h +351 -103
  189. data/ext/pg_query/include/{nodes → postgres/nodes}/extensible.h +8 -4
  190. data/ext/pg_query/include/{nodes → postgres/nodes}/lockoptions.h +1 -1
  191. data/ext/pg_query/include/{nodes → postgres/nodes}/makefuncs.h +19 -6
  192. data/ext/pg_query/include/{nodes → postgres/nodes}/memnodes.h +11 -6
  193. data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
  194. data/ext/pg_query/include/{nodes → postgres/nodes}/nodeFuncs.h +89 -29
  195. data/ext/pg_query/include/{nodes → postgres/nodes}/nodes.h +100 -496
  196. data/ext/pg_query/include/postgres/nodes/nodetags.h +471 -0
  197. data/ext/pg_query/include/{nodes → postgres/nodes}/params.h +3 -3
  198. data/ext/pg_query/include/{nodes → postgres/nodes}/parsenodes.h +678 -207
  199. data/ext/pg_query/include/{nodes → postgres/nodes}/pathnodes.h +1282 -454
  200. data/ext/pg_query/include/{nodes → postgres/nodes}/pg_list.h +103 -73
  201. data/ext/pg_query/include/{nodes → postgres/nodes}/plannodes.h +474 -133
  202. data/ext/pg_query/include/{nodes → postgres/nodes}/primnodes.h +754 -254
  203. data/ext/pg_query/include/{nodes → postgres/nodes}/print.h +1 -1
  204. data/ext/pg_query/include/postgres/nodes/queryjumble.h +86 -0
  205. data/ext/pg_query/include/postgres/nodes/replnodes.h +111 -0
  206. data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
  207. data/ext/pg_query/include/{nodes → postgres/nodes}/tidbitmap.h +1 -1
  208. data/ext/pg_query/include/postgres/nodes/value.h +90 -0
  209. data/ext/pg_query/include/{optimizer → postgres/optimizer}/cost.h +14 -5
  210. data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo.h +9 -7
  211. data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo_gene.h +1 -1
  212. data/ext/pg_query/include/{optimizer → postgres/optimizer}/optimizer.h +31 -28
  213. data/ext/pg_query/include/{optimizer → postgres/optimizer}/paths.h +29 -12
  214. data/ext/pg_query/include/{optimizer → postgres/optimizer}/planmain.h +15 -17
  215. data/ext/pg_query/include/{parser → postgres/parser}/analyze.h +20 -5
  216. data/ext/pg_query/include/postgres/parser/kwlist.h +498 -0
  217. data/ext/pg_query/include/{parser → postgres/parser}/parse_agg.h +5 -8
  218. data/ext/pg_query/include/{parser → postgres/parser}/parse_coerce.h +6 -1
  219. data/ext/pg_query/include/{parser → postgres/parser}/parse_expr.h +2 -3
  220. data/ext/pg_query/include/{parser → postgres/parser}/parse_func.h +2 -1
  221. data/ext/pg_query/include/{parser → postgres/parser}/parse_node.h +41 -11
  222. data/ext/pg_query/include/{parser → postgres/parser}/parse_oper.h +3 -5
  223. data/ext/pg_query/include/{parser → postgres/parser}/parse_relation.h +11 -5
  224. data/ext/pg_query/include/{parser → postgres/parser}/parse_type.h +4 -3
  225. data/ext/pg_query/include/postgres/parser/parser.h +68 -0
  226. data/ext/pg_query/include/{parser → postgres/parser}/parsetree.h +1 -1
  227. data/ext/pg_query/include/{parser → postgres/parser}/scanner.h +2 -2
  228. data/ext/pg_query/include/{parser → postgres/parser}/scansup.h +2 -5
  229. data/ext/pg_query/include/{partitioning → postgres/partitioning}/partdefs.h +1 -1
  230. data/ext/pg_query/include/{pg_config.h → postgres/pg_config.h} +216 -228
  231. data/ext/pg_query/include/{pg_config_manual.h → postgres/pg_config_manual.h} +80 -58
  232. data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
  233. data/ext/pg_query/include/{pg_getopt.h → postgres/pg_getopt.h} +6 -6
  234. data/ext/pg_query/include/{pg_trace.h → postgres/pg_trace.h} +1 -1
  235. data/ext/pg_query/include/postgres/pgstat.h +778 -0
  236. data/ext/pg_query/include/{pgtime.h → postgres/pgtime.h} +16 -6
  237. data/ext/pg_query/include/{pl_gram.h → postgres/pl_gram.h} +116 -116
  238. data/ext/pg_query/include/{pl_reserved_kwlist.h → postgres/pl_reserved_kwlist.h} +1 -1
  239. data/ext/pg_query/include/{pl_reserved_kwlist_d.h → postgres/pl_reserved_kwlist_d.h} +10 -10
  240. data/ext/pg_query/include/{pl_unreserved_kwlist.h → postgres/pl_unreserved_kwlist.h} +3 -3
  241. data/ext/pg_query/include/{pl_unreserved_kwlist_d.h → postgres/pl_unreserved_kwlist_d.h} +60 -60
  242. data/ext/pg_query/include/{plerrcodes.h → postgres/plerrcodes.h} +9 -1
  243. data/ext/pg_query/include/{plpgsql.h → postgres/plpgsql.h} +79 -86
  244. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-arm.h +9 -3
  245. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
  246. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-ppc.h +21 -21
  247. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-x86.h +2 -2
  248. data/ext/pg_query/include/{port → postgres/port}/atomics/fallback.h +3 -3
  249. data/ext/pg_query/include/{port → postgres/port}/atomics/generic-gcc.h +3 -3
  250. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +101 -0
  251. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +106 -0
  252. data/ext/pg_query/include/{port → postgres/port}/atomics/generic.h +1 -1
  253. data/ext/pg_query/include/{port → postgres/port}/atomics.h +2 -7
  254. data/ext/pg_query/include/{port → postgres/port}/pg_bitutils.h +129 -16
  255. data/ext/pg_query/include/{port → postgres/port}/pg_bswap.h +1 -1
  256. data/ext/pg_query/include/{port → postgres/port}/pg_crc32c.h +1 -1
  257. data/ext/pg_query/include/postgres/port/simd.h +375 -0
  258. data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
  259. data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
  260. data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
  261. data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
  262. data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
  263. data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
  264. data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
  265. data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
  266. data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
  267. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +26 -0
  268. data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
  269. data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
  270. data/ext/pg_query/include/postgres/port/win32.h +59 -0
  271. data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
  272. data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
  273. data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
  274. data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
  275. data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
  276. data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
  277. data/ext/pg_query/include/postgres/port/win32_port.h +594 -0
  278. data/ext/pg_query/include/{port.h → postgres/port.h} +107 -111
  279. data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
  280. data/ext/pg_query/include/postgres/postgres.h +579 -0
  281. data/ext/pg_query/include/{postgres_ext.h → postgres/postgres_ext.h} +0 -1
  282. data/ext/pg_query/include/{postmaster → postgres/postmaster}/autovacuum.h +17 -20
  283. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker.h +3 -2
  284. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker_internals.h +2 -2
  285. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgwriter.h +6 -6
  286. data/ext/pg_query/include/{postmaster → postgres/postmaster}/interrupt.h +1 -1
  287. data/ext/pg_query/include/{postmaster → postgres/postmaster}/pgarch.h +7 -10
  288. data/ext/pg_query/include/{postmaster → postgres/postmaster}/postmaster.h +21 -17
  289. data/ext/pg_query/include/postgres/postmaster/startup.h +41 -0
  290. data/ext/pg_query/include/{postmaster → postgres/postmaster}/syslogger.h +16 -11
  291. data/ext/pg_query/include/{postmaster → postgres/postmaster}/walwriter.h +5 -3
  292. data/ext/pg_query/include/{regex → postgres/regex}/regex.h +27 -22
  293. data/ext/pg_query/include/{replication → postgres/replication}/logicallauncher.h +8 -5
  294. data/ext/pg_query/include/postgres/replication/logicalproto.h +274 -0
  295. data/ext/pg_query/include/postgres/replication/logicalworker.h +32 -0
  296. data/ext/pg_query/include/{replication → postgres/replication}/origin.h +8 -8
  297. data/ext/pg_query/include/postgres/replication/reorderbuffer.h +753 -0
  298. data/ext/pg_query/include/{replication → postgres/replication}/slot.h +42 -12
  299. data/ext/pg_query/include/{replication → postgres/replication}/syncrep.h +6 -12
  300. data/ext/pg_query/include/{replication → postgres/replication}/walreceiver.h +158 -20
  301. data/ext/pg_query/include/{replication → postgres/replication}/walsender.h +20 -20
  302. data/ext/pg_query/include/{rewrite → postgres/rewrite}/prs2lock.h +1 -1
  303. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteHandler.h +1 -6
  304. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteManip.h +11 -2
  305. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteSupport.h +1 -1
  306. data/ext/pg_query/include/{storage → postgres/storage}/backendid.h +3 -3
  307. data/ext/pg_query/include/{storage → postgres/storage}/block.h +24 -37
  308. data/ext/pg_query/include/{storage → postgres/storage}/buf.h +1 -1
  309. data/ext/pg_query/include/{storage → postgres/storage}/bufmgr.h +196 -95
  310. data/ext/pg_query/include/{storage → postgres/storage}/bufpage.h +152 -101
  311. data/ext/pg_query/include/{storage → postgres/storage}/condition_variable.h +14 -3
  312. data/ext/pg_query/include/{storage → postgres/storage}/dsm.h +6 -6
  313. data/ext/pg_query/include/{storage → postgres/storage}/dsm_impl.h +6 -2
  314. data/ext/pg_query/include/{storage → postgres/storage}/fd.h +48 -14
  315. data/ext/pg_query/include/postgres/storage/fileset.h +40 -0
  316. data/ext/pg_query/include/{storage → postgres/storage}/ipc.h +5 -2
  317. data/ext/pg_query/include/{storage → postgres/storage}/item.h +1 -1
  318. data/ext/pg_query/include/{storage → postgres/storage}/itemid.h +1 -1
  319. data/ext/pg_query/include/{storage → postgres/storage}/itemptr.h +96 -57
  320. data/ext/pg_query/include/{storage → postgres/storage}/large_object.h +2 -2
  321. data/ext/pg_query/include/{storage → postgres/storage}/latch.h +17 -13
  322. data/ext/pg_query/include/{storage → postgres/storage}/lmgr.h +7 -1
  323. data/ext/pg_query/include/{storage → postgres/storage}/lock.h +37 -25
  324. data/ext/pg_query/include/{storage → postgres/storage}/lockdefs.h +4 -4
  325. data/ext/pg_query/include/{storage → postgres/storage}/lwlock.h +21 -33
  326. data/ext/pg_query/include/{storage → postgres/storage}/lwlocknames.h +0 -1
  327. data/ext/pg_query/include/{storage → postgres/storage}/off.h +1 -1
  328. data/ext/pg_query/include/{storage → postgres/storage}/pg_sema.h +1 -1
  329. data/ext/pg_query/include/{storage → postgres/storage}/pg_shmem.h +9 -7
  330. data/ext/pg_query/include/{storage → postgres/storage}/pmsignal.h +15 -4
  331. data/ext/pg_query/include/{storage → postgres/storage}/predicate.h +5 -5
  332. data/ext/pg_query/include/{storage → postgres/storage}/proc.h +200 -67
  333. data/ext/pg_query/include/postgres/storage/procarray.h +99 -0
  334. data/ext/pg_query/include/{storage → postgres/storage}/proclist_types.h +1 -1
  335. data/ext/pg_query/include/{storage → postgres/storage}/procsignal.h +5 -7
  336. data/ext/pg_query/include/postgres/storage/relfilelocator.h +99 -0
  337. data/ext/pg_query/include/{storage → postgres/storage}/s_lock.h +118 -298
  338. data/ext/pg_query/include/{storage → postgres/storage}/sharedfileset.h +3 -11
  339. data/ext/pg_query/include/{storage → postgres/storage}/shm_mq.h +5 -4
  340. data/ext/pg_query/include/{storage → postgres/storage}/shm_toc.h +1 -1
  341. data/ext/pg_query/include/{storage → postgres/storage}/shmem.h +1 -23
  342. data/ext/pg_query/include/{storage → postgres/storage}/sinval.h +5 -5
  343. data/ext/pg_query/include/{storage → postgres/storage}/sinvaladt.h +4 -2
  344. data/ext/pg_query/include/{storage → postgres/storage}/smgr.h +21 -17
  345. data/ext/pg_query/include/{storage → postgres/storage}/spin.h +2 -2
  346. data/ext/pg_query/include/{storage → postgres/storage}/standby.h +17 -9
  347. data/ext/pg_query/include/{storage → postgres/storage}/standbydefs.h +2 -2
  348. data/ext/pg_query/include/{storage → postgres/storage}/sync.h +9 -5
  349. data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtag.h +7 -2
  350. data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtaglist.h +3 -2
  351. data/ext/pg_query/include/{tcop → postgres/tcop}/deparse_utility.h +1 -1
  352. data/ext/pg_query/include/{tcop → postgres/tcop}/dest.h +1 -3
  353. data/ext/pg_query/include/{tcop → postgres/tcop}/fastpath.h +1 -2
  354. data/ext/pg_query/include/{tcop → postgres/tcop}/pquery.h +7 -1
  355. data/ext/pg_query/include/{tcop → postgres/tcop}/tcopprot.h +19 -14
  356. data/ext/pg_query/include/{tcop → postgres/tcop}/utility.h +7 -3
  357. data/ext/pg_query/include/{tsearch → postgres/tsearch}/ts_cache.h +3 -5
  358. data/ext/pg_query/include/{utils → postgres/utils}/acl.h +37 -71
  359. data/ext/pg_query/include/{utils → postgres/utils}/aclchk_internal.h +1 -1
  360. data/ext/pg_query/include/{utils → postgres/utils}/array.h +26 -2
  361. data/ext/pg_query/include/postgres/utils/backend_progress.h +45 -0
  362. data/ext/pg_query/include/postgres/utils/backend_status.h +342 -0
  363. data/ext/pg_query/include/{utils → postgres/utils}/builtins.h +20 -11
  364. data/ext/pg_query/include/{utils → postgres/utils}/bytea.h +3 -2
  365. data/ext/pg_query/include/{utils → postgres/utils}/catcache.h +1 -1
  366. data/ext/pg_query/include/{utils → postgres/utils}/date.h +37 -9
  367. data/ext/pg_query/include/{utils → postgres/utils}/datetime.h +48 -27
  368. data/ext/pg_query/include/{utils → postgres/utils}/datum.h +9 -1
  369. data/ext/pg_query/include/{utils → postgres/utils}/dsa.h +5 -1
  370. data/ext/pg_query/include/{utils → postgres/utils}/elog.h +154 -48
  371. data/ext/pg_query/include/{utils → postgres/utils}/errcodes.h +2 -0
  372. data/ext/pg_query/include/{utils → postgres/utils}/expandeddatum.h +14 -3
  373. data/ext/pg_query/include/{utils → postgres/utils}/expandedrecord.h +14 -4
  374. data/ext/pg_query/include/{utils → postgres/utils}/float.h +13 -12
  375. data/ext/pg_query/include/{utils → postgres/utils}/fmgroids.h +1353 -696
  376. data/ext/pg_query/include/{utils → postgres/utils}/fmgrprotos.h +243 -18
  377. data/ext/pg_query/include/{utils → postgres/utils}/fmgrtab.h +6 -5
  378. data/ext/pg_query/include/{utils → postgres/utils}/guc.h +120 -121
  379. data/ext/pg_query/include/postgres/utils/guc_hooks.h +163 -0
  380. data/ext/pg_query/include/{utils → postgres/utils}/guc_tables.h +71 -21
  381. data/ext/pg_query/include/{utils → postgres/utils}/hsearch.h +15 -11
  382. data/ext/pg_query/include/{utils → postgres/utils}/inval.h +7 -3
  383. data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
  384. data/ext/pg_query/include/{utils → postgres/utils}/lsyscache.h +16 -1
  385. data/ext/pg_query/include/{utils → postgres/utils}/memdebug.h +1 -1
  386. data/ext/pg_query/include/{utils → postgres/utils}/memutils.h +14 -53
  387. data/ext/pg_query/include/postgres/utils/memutils_internal.h +136 -0
  388. data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +237 -0
  389. data/ext/pg_query/include/{utils → postgres/utils}/numeric.h +38 -9
  390. data/ext/pg_query/include/{utils → postgres/utils}/palloc.h +33 -4
  391. data/ext/pg_query/include/{utils → postgres/utils}/partcache.h +3 -2
  392. data/ext/pg_query/include/{utils → postgres/utils}/pg_locale.h +37 -21
  393. data/ext/pg_query/include/postgres/utils/pgstat_internal.h +814 -0
  394. data/ext/pg_query/include/{utils → postgres/utils}/plancache.h +6 -5
  395. data/ext/pg_query/include/{utils → postgres/utils}/portal.h +12 -1
  396. data/ext/pg_query/include/{utils → postgres/utils}/probes.h +59 -59
  397. data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
  398. data/ext/pg_query/include/{utils → postgres/utils}/queryenvironment.h +1 -1
  399. data/ext/pg_query/include/postgres/utils/regproc.h +39 -0
  400. data/ext/pg_query/include/{utils → postgres/utils}/rel.h +129 -61
  401. data/ext/pg_query/include/{utils → postgres/utils}/relcache.h +21 -14
  402. data/ext/pg_query/include/{utils → postgres/utils}/reltrigger.h +1 -1
  403. data/ext/pg_query/include/{utils → postgres/utils}/resowner.h +1 -1
  404. data/ext/pg_query/include/{utils → postgres/utils}/ruleutils.h +9 -1
  405. data/ext/pg_query/include/{utils → postgres/utils}/sharedtuplestore.h +1 -1
  406. data/ext/pg_query/include/{utils → postgres/utils}/snapmgr.h +38 -15
  407. data/ext/pg_query/include/{utils → postgres/utils}/snapshot.h +14 -1
  408. data/ext/pg_query/include/{utils → postgres/utils}/sortsupport.h +117 -2
  409. data/ext/pg_query/include/{utils → postgres/utils}/syscache.h +9 -1
  410. data/ext/pg_query/include/{utils → postgres/utils}/timeout.h +11 -4
  411. data/ext/pg_query/include/{utils → postgres/utils}/timestamp.h +46 -15
  412. data/ext/pg_query/include/{utils → postgres/utils}/tuplesort.h +209 -41
  413. data/ext/pg_query/include/{utils → postgres/utils}/tuplestore.h +2 -2
  414. data/ext/pg_query/include/{utils → postgres/utils}/typcache.h +24 -17
  415. data/ext/pg_query/include/{utils → postgres/utils}/varlena.h +17 -3
  416. data/ext/pg_query/include/postgres/utils/wait_event.h +294 -0
  417. data/ext/pg_query/include/{utils → postgres/utils}/xml.h +18 -8
  418. data/ext/pg_query/include/{postgres.h → postgres/varatt.h} +65 -471
  419. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +7494 -6382
  420. data/ext/pg_query/include/protobuf/pg_query.pb.h +116922 -84792
  421. data/ext/pg_query/include/protobuf-c/protobuf-c.h +7 -3
  422. data/ext/pg_query/include/protobuf-c.h +7 -3
  423. data/ext/pg_query/pg_query.c +10 -1
  424. data/ext/pg_query/pg_query.pb-c.c +21026 -17002
  425. data/ext/pg_query/pg_query_deparse.c +1 -9896
  426. data/ext/pg_query/pg_query_fingerprint.c +162 -50
  427. data/ext/pg_query/pg_query_fingerprint.h +3 -1
  428. data/ext/pg_query/pg_query_internal.h +1 -1
  429. data/ext/pg_query/pg_query_json_plpgsql.c +56 -12
  430. data/ext/pg_query/pg_query_normalize.c +259 -64
  431. data/ext/pg_query/pg_query_outfuncs.h +1 -0
  432. data/ext/pg_query/pg_query_outfuncs_json.c +71 -16
  433. data/ext/pg_query/pg_query_outfuncs_protobuf.c +73 -12
  434. data/ext/pg_query/pg_query_parse.c +47 -5
  435. data/ext/pg_query/pg_query_parse_plpgsql.c +86 -21
  436. data/ext/pg_query/pg_query_readfuncs_protobuf.c +43 -8
  437. data/ext/pg_query/pg_query_ruby.c +6 -1
  438. data/ext/pg_query/pg_query_ruby_freebsd.sym +2 -0
  439. data/ext/pg_query/pg_query_scan.c +3 -2
  440. data/ext/pg_query/pg_query_split.c +6 -5
  441. data/ext/pg_query/postgres_deparse.c +11067 -0
  442. data/ext/pg_query/postgres_deparse.h +9 -0
  443. data/ext/pg_query/protobuf-c.c +34 -27
  444. data/ext/pg_query/src_backend_catalog_namespace.c +27 -10
  445. data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
  446. data/ext/pg_query/src_backend_commands_define.c +11 -1
  447. data/ext/pg_query/src_backend_nodes_bitmapset.c +13 -70
  448. data/ext/pg_query/src_backend_nodes_copyfuncs.c +103 -5894
  449. data/ext/pg_query/src_backend_nodes_equalfuncs.c +102 -3830
  450. data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
  451. data/ext/pg_query/src_backend_nodes_list.c +99 -12
  452. data/ext/pg_query/src_backend_nodes_makefuncs.c +99 -4
  453. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +325 -131
  454. data/ext/pg_query/src_backend_nodes_nodes.c +38 -0
  455. data/ext/pg_query/src_backend_nodes_value.c +28 -19
  456. data/ext/pg_query/src_backend_parser_gram.c +36104 -32074
  457. data/ext/pg_query/src_backend_parser_parser.c +53 -8
  458. data/ext/pg_query/src_backend_parser_scan.c +4893 -3701
  459. data/ext/pg_query/src_backend_parser_scansup.c +4 -28
  460. data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
  461. data/ext/pg_query/src_backend_tcop_postgres.c +133 -105
  462. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
  463. data/ext/pg_query/src_backend_utils_adt_datum.c +17 -7
  464. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  465. data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
  466. data/ext/pg_query/src_backend_utils_adt_numutils.c +489 -0
  467. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +187 -19
  468. data/ext/pg_query/src_backend_utils_error_assert.c +17 -18
  469. data/ext/pg_query/src_backend_utils_error_elog.c +513 -318
  470. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +44 -17
  471. data/ext/pg_query/src_backend_utils_init_globals.c +9 -6
  472. data/ext/pg_query/src_backend_utils_mb_mbutils.c +74 -131
  473. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +492 -0
  474. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +163 -0
  475. data/ext/pg_query/src_backend_utils_mmgr_aset.c +453 -314
  476. data/ext/pg_query/src_backend_utils_mmgr_generation.c +1039 -0
  477. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +549 -76
  478. data/ext/pg_query/src_backend_utils_mmgr_slab.c +1021 -0
  479. data/ext/pg_query/src_common_encnames.c +4 -1
  480. data/ext/pg_query/src_common_hashfn.c +420 -0
  481. data/ext/pg_query/src_common_keywords.c +15 -2
  482. data/ext/pg_query/src_common_kwlist_d.h +545 -498
  483. data/ext/pg_query/src_common_kwlookup.c +1 -1
  484. data/ext/pg_query/src_common_psprintf.c +1 -1
  485. data/ext/pg_query/src_common_stringinfo.c +4 -4
  486. data/ext/pg_query/src_common_wchar.c +717 -113
  487. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +49 -22
  488. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -18
  489. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1136 -1195
  490. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  491. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
  492. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +2 -2
  493. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +60 -60
  494. data/ext/pg_query/src_port_pg_bitutils.c +103 -40
  495. data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
  496. data/ext/pg_query/src_port_qsort.c +12 -224
  497. data/ext/pg_query/src_port_snprintf.c +51 -29
  498. data/ext/pg_query/src_port_strerror.c +9 -19
  499. data/ext/pg_query/src_port_strlcpy.c +79 -0
  500. data/lib/pg_query/deparse.rb +7 -1
  501. data/lib/pg_query/filter_columns.rb +7 -5
  502. data/lib/pg_query/fingerprint.rb +21 -9
  503. data/lib/pg_query/node.rb +18 -13
  504. data/lib/pg_query/param_refs.rb +1 -1
  505. data/lib/pg_query/parse.rb +141 -50
  506. data/lib/pg_query/pg_query_pb.rb +175 -3031
  507. data/lib/pg_query/treewalker.rb +26 -2
  508. data/lib/pg_query/truncate.rb +54 -8
  509. data/lib/pg_query/version.rb +1 -1
  510. data/lib/pg_query.rb +0 -1
  511. metadata +443 -380
  512. data/ext/pg_query/guc-file.c +0 -0
  513. data/ext/pg_query/include/access/rmgr.h +0 -35
  514. data/ext/pg_query/include/access/xloginsert.h +0 -64
  515. data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
  516. data/ext/pg_query/include/catalog/genbki.h +0 -64
  517. data/ext/pg_query/include/catalog/indexing.h +0 -366
  518. data/ext/pg_query/include/commands/variable.h +0 -38
  519. data/ext/pg_query/include/common/ip.h +0 -37
  520. data/ext/pg_query/include/common/string.h +0 -19
  521. data/ext/pg_query/include/getaddrinfo.h +0 -162
  522. data/ext/pg_query/include/kwlist_d.h +0 -1072
  523. data/ext/pg_query/include/nodes/value.h +0 -61
  524. data/ext/pg_query/include/parser/gram.h +0 -1067
  525. data/ext/pg_query/include/parser/kwlist.h +0 -477
  526. data/ext/pg_query/include/parser/parse_clause.h +0 -54
  527. data/ext/pg_query/include/parser/parse_collate.h +0 -27
  528. data/ext/pg_query/include/parser/parse_target.h +0 -46
  529. data/ext/pg_query/include/parser/parser.h +0 -41
  530. data/ext/pg_query/include/pg_config_os.h +0 -8
  531. data/ext/pg_query/include/pgstat.h +0 -1487
  532. data/ext/pg_query/include/portability/instr_time.h +0 -256
  533. data/ext/pg_query/include/postmaster/fork_process.h +0 -17
  534. data/ext/pg_query/include/replication/logicalproto.h +0 -110
  535. data/ext/pg_query/include/replication/logicalworker.h +0 -19
  536. data/ext/pg_query/include/replication/reorderbuffer.h +0 -467
  537. data/ext/pg_query/include/storage/relfilenode.h +0 -99
  538. data/ext/pg_query/include/utils/dynahash.h +0 -19
  539. data/ext/pg_query/include/utils/pg_lsn.h +0 -29
  540. data/ext/pg_query/include/utils/pidfile.h +0 -56
  541. data/ext/pg_query/include/utils/ps_status.h +0 -25
  542. data/ext/pg_query/include/utils/regproc.h +0 -28
  543. data/ext/pg_query/include/utils/rls.h +0 -50
  544. data/ext/pg_query/include/utils/tzparser.h +0 -39
  545. data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -651
  546. data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
  547. data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2230
  548. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -370
  549. data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1086
  550. data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1831
  551. data/ext/pg_query/src_common_string.c +0 -86
  552. data/ext/pg_query/src_port_erand48.c +0 -127
  553. data/ext/pg_query/src_port_pgsleep.c +0 -69
  554. data/ext/pg_query/src_port_random.c +0 -31
  555. data/ext/pg_query/src_port_strnlen.c +0 -39
  556. data/lib/pg_query/json_field_names.rb +0 -1402
  557. /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
@@ -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-2020, 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
@@ -83,23 +82,26 @@ typedef enum
83
82
  * override the postmaster command line.) Tracking the source allows us
84
83
  * to process sources in any convenient order without affecting results.
85
84
  * Sources <= PGC_S_OVERRIDE will set the default used by RESET, as well
86
- * as the current value. Note that source == PGC_S_OVERRIDE should be
87
- * used when setting a PGC_INTERNAL option.
85
+ * as the current value.
88
86
  *
89
87
  * PGC_S_INTERACTIVE isn't actually a source value, but is the
90
88
  * dividing line between "interactive" and "non-interactive" sources for
91
89
  * error reporting purposes.
92
90
  *
93
- * PGC_S_TEST is used when testing values to be used later ("doit" will always
94
- * be false, so this never gets stored as the actual source of any value).
95
- * For example, ALTER DATABASE/ROLE tests proposed per-database or per-user
96
- * defaults this way, and CREATE FUNCTION tests proposed function SET clauses
97
- * this way. This is an interactive case, but it needs its own source value
98
- * because some assign hooks need to make different validity checks in this
99
- * case. In particular, references to nonexistent database objects generally
91
+ * PGC_S_TEST is used when testing values to be used later. For example,
92
+ * ALTER DATABASE/ROLE tests proposed per-database or per-user defaults this
93
+ * way, and CREATE FUNCTION tests proposed function SET clauses this way.
94
+ * This is an interactive case, but it needs its own source value because
95
+ * some assign hooks need to make different validity checks in this case.
96
+ * In particular, references to nonexistent database objects generally
100
97
  * shouldn't throw hard errors in this case, at most NOTICEs, since the
101
98
  * objects might exist by the time the setting is used for real.
102
99
  *
100
+ * When setting the value of a non-compile-time-constant PGC_INTERNAL option,
101
+ * source == PGC_S_DYNAMIC_DEFAULT should typically be used so that the value
102
+ * will show as "default" in pg_settings. If there is a specific reason not
103
+ * to want that, use source == PGC_S_OVERRIDE.
104
+ *
103
105
  * NB: see GucSource_Names in guc.c if you change this.
104
106
  */
105
107
  typedef enum
@@ -155,6 +157,7 @@ extern bool ParseConfigDirectory(const char *includedir,
155
157
  ConfigVariable **head_p,
156
158
  ConfigVariable **tail_p);
157
159
  extern void FreeConfigVariables(ConfigVariable *list);
160
+ extern char *DeescapeQuotedString(const char *s);
158
161
 
159
162
  /*
160
163
  * The possible values of an enum variable are specified by an array of
@@ -199,87 +202,88 @@ typedef enum
199
202
  #define GUC_QUALIFIER_SEPARATOR '.'
200
203
 
201
204
  /*
202
- * 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.
203
207
  */
204
- #define GUC_LIST_INPUT 0x0001 /* input can be list format */
205
- #define GUC_LIST_QUOTE 0x0002 /* double-quote list elements */
206
- #define GUC_NO_SHOW_ALL 0x0004 /* exclude from SHOW ALL */
207
- #define GUC_NO_RESET_ALL 0x0008 /* exclude from RESET ALL */
208
- #define GUC_REPORT 0x0010 /* auto-report changes to client */
209
- #define GUC_NOT_IN_SAMPLE 0x0020 /* not in postgresql.conf.sample */
210
- #define GUC_DISALLOW_IN_FILE 0x0040 /* can't set in postgresql.conf */
211
- #define GUC_CUSTOM_PLACEHOLDER 0x0080 /* placeholder for custom variable */
212
- #define GUC_SUPERUSER_ONLY 0x0100 /* show only to superusers */
213
- #define GUC_IS_NAME 0x0200 /* limit string to NAMEDATALEN-1 */
214
- #define GUC_NOT_WHILE_SEC_REST 0x0400 /* can't set if security restricted */
215
- #define GUC_DISALLOW_IN_AUTO_FILE 0x0800 /* can't set in
216
- * PG_AUTOCONF_FILENAME */
217
-
218
- #define GUC_UNIT_KB 0x1000 /* value is in kilobytes */
219
- #define GUC_UNIT_BLOCKS 0x2000 /* value is in blocks */
220
- #define GUC_UNIT_XBLOCKS 0x3000 /* value is in xlog blocks */
221
- #define GUC_UNIT_MB 0x4000 /* value is in megabytes */
222
- #define GUC_UNIT_BYTE 0x8000 /* value is in bytes */
223
- #define GUC_UNIT_MEMORY 0xF000 /* mask for size-related units */
224
-
225
- #define GUC_UNIT_MS 0x10000 /* value is in milliseconds */
226
- #define GUC_UNIT_S 0x20000 /* value is in seconds */
227
- #define GUC_UNIT_MIN 0x30000 /* value is in minutes */
228
- #define GUC_UNIT_TIME 0xF0000 /* mask for time-related units */
229
-
230
- #define GUC_EXPLAIN 0x100000 /* include in explain */
231
-
232
- #define GUC_UNIT (GUC_UNIT_MEMORY | GUC_UNIT_TIME)
233
-
234
-
235
- /* GUC vars that are actually declared in guc.c, rather than elsewhere */
236
- extern bool Debug_print_plan;
237
- extern bool Debug_print_parse;
238
- extern bool Debug_print_rewritten;
239
- extern bool Debug_pretty_print;
240
-
241
- extern bool log_parser_stats;
242
- extern bool log_planner_stats;
243
- extern bool log_executor_stats;
244
- extern bool log_statement_stats;
245
- extern bool log_btree_build_stats;
246
-
247
- extern PGDLLIMPORT __thread bool check_function_bodies;
248
- extern bool session_auth_is_superuser;
249
-
250
- extern bool log_duration;
251
- extern int log_parameter_max_length;
252
- extern int log_parameter_max_length_on_error;
253
- extern int log_min_error_statement;
254
- extern PGDLLIMPORT __thread int log_min_messages;
255
- extern PGDLLIMPORT __thread int client_min_messages;
256
- extern int log_min_duration_sample;
257
- extern int log_min_duration_statement;
258
- extern int log_temp_files;
259
- extern double log_statement_sample_rate;
260
- extern double log_xact_sample_rate;
261
- extern __thread char *backtrace_functions;
262
- extern __thread char *backtrace_symbol_list;
263
-
264
- extern int temp_file_limit;
265
-
266
- extern int num_temp_buffers;
267
-
268
- extern char *cluster_name;
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 */
241
+ extern PGDLLIMPORT bool Debug_print_plan;
242
+ extern PGDLLIMPORT bool Debug_print_parse;
243
+ extern PGDLLIMPORT bool Debug_print_rewritten;
244
+ extern PGDLLIMPORT bool Debug_pretty_print;
245
+
246
+ extern PGDLLIMPORT bool log_parser_stats;
247
+ extern PGDLLIMPORT bool log_planner_stats;
248
+ extern PGDLLIMPORT bool log_executor_stats;
249
+ extern PGDLLIMPORT bool log_statement_stats;
250
+ extern PGDLLIMPORT bool log_btree_build_stats;
251
+
252
+ extern PGDLLIMPORT __thread bool check_function_bodies;
253
+ extern PGDLLIMPORT bool session_auth_is_superuser;
254
+
255
+ extern PGDLLIMPORT bool log_duration;
256
+ extern PGDLLIMPORT int log_parameter_max_length;
257
+ extern PGDLLIMPORT int log_parameter_max_length_on_error;
258
+ extern PGDLLIMPORT int log_min_error_statement;
259
+ extern PGDLLIMPORT __thread int log_min_messages;
260
+ extern PGDLLIMPORT int client_min_messages;
261
+ extern PGDLLIMPORT int log_min_duration_sample;
262
+ extern PGDLLIMPORT int log_min_duration_statement;
263
+ extern PGDLLIMPORT int log_temp_files;
264
+ extern PGDLLIMPORT double log_statement_sample_rate;
265
+ extern PGDLLIMPORT double log_xact_sample_rate;
266
+ extern PGDLLIMPORT __thread char *backtrace_functions;
267
+
268
+ extern PGDLLIMPORT int temp_file_limit;
269
+
270
+ extern PGDLLIMPORT int num_temp_buffers;
271
+
272
+ extern PGDLLIMPORT char *cluster_name;
269
273
  extern PGDLLIMPORT char *ConfigFileName;
270
- extern char *HbaFileName;
271
- extern char *IdentFileName;
272
- extern char *external_pid_file;
274
+ extern PGDLLIMPORT char *HbaFileName;
275
+ extern PGDLLIMPORT char *IdentFileName;
276
+ extern PGDLLIMPORT char *external_pid_file;
273
277
 
274
278
  extern PGDLLIMPORT char *application_name;
275
279
 
276
- extern int tcp_keepalives_idle;
277
- extern int tcp_keepalives_interval;
278
- extern int tcp_keepalives_count;
279
- extern int tcp_user_timeout;
280
+ extern PGDLLIMPORT int tcp_keepalives_idle;
281
+ extern PGDLLIMPORT int tcp_keepalives_interval;
282
+ extern PGDLLIMPORT int tcp_keepalives_count;
283
+ extern PGDLLIMPORT int tcp_user_timeout;
280
284
 
281
285
  #ifdef TRACE_SORT
282
- extern bool trace_sort;
286
+ extern PGDLLIMPORT bool trace_sort;
283
287
  #endif
284
288
 
285
289
  /*
@@ -297,7 +301,7 @@ extern void DefineCustomBoolVariable(const char *name,
297
301
  int flags,
298
302
  GucBoolCheckHook check_hook,
299
303
  GucBoolAssignHook assign_hook,
300
- GucShowHook show_hook);
304
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
301
305
 
302
306
  extern void DefineCustomIntVariable(const char *name,
303
307
  const char *short_desc,
@@ -310,7 +314,7 @@ extern void DefineCustomIntVariable(const char *name,
310
314
  int flags,
311
315
  GucIntCheckHook check_hook,
312
316
  GucIntAssignHook assign_hook,
313
- GucShowHook show_hook);
317
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
314
318
 
315
319
  extern void DefineCustomRealVariable(const char *name,
316
320
  const char *short_desc,
@@ -323,7 +327,7 @@ extern void DefineCustomRealVariable(const char *name,
323
327
  int flags,
324
328
  GucRealCheckHook check_hook,
325
329
  GucRealAssignHook assign_hook,
326
- GucShowHook show_hook);
330
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
327
331
 
328
332
  extern void DefineCustomStringVariable(const char *name,
329
333
  const char *short_desc,
@@ -334,7 +338,7 @@ extern void DefineCustomStringVariable(const char *name,
334
338
  int flags,
335
339
  GucStringCheckHook check_hook,
336
340
  GucStringAssignHook assign_hook,
337
- GucShowHook show_hook);
341
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
338
342
 
339
343
  extern void DefineCustomEnumVariable(const char *name,
340
344
  const char *short_desc,
@@ -346,15 +350,20 @@ extern void DefineCustomEnumVariable(const char *name,
346
350
  int flags,
347
351
  GucEnumCheckHook check_hook,
348
352
  GucEnumAssignHook assign_hook,
349
- GucShowHook show_hook);
353
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
354
+
355
+ extern void MarkGUCPrefixReserved(const char *className);
350
356
 
351
- extern void EmitWarningsOnPlaceholders(const char *className);
357
+ /* old name for MarkGUCPrefixReserved, for backwards compatibility: */
358
+ #define EmitWarningsOnPlaceholders(className) MarkGUCPrefixReserved(className)
352
359
 
353
360
  extern const char *GetConfigOption(const char *name, bool missing_ok,
354
361
  bool restrict_privileged);
355
362
  extern const char *GetConfigOptionResetString(const char *name);
356
363
  extern int GetConfigOptionFlags(const char *name, bool missing_ok);
357
364
  extern void ProcessConfigFile(GucContext context);
365
+ extern char *convert_GUC_name_for_parameter_acl(const char *name);
366
+ extern bool check_GUC_name_for_parameter_acl(const char *name);
358
367
  extern void InitializeGUCOptions(void);
359
368
  extern bool SelectConfigFiles(const char *userDoption, const char *progname);
360
369
  extern void ResetAllOptions(void);
@@ -362,7 +371,9 @@ extern void AtStart_GUC(void);
362
371
  extern int NewGUCNestLevel(void);
363
372
  extern void AtEOXact_GUC(bool isCommit, int nestLevel);
364
373
  extern void BeginReportingGUCOptions(void);
374
+ extern void ReportChangedGUCOptions(void);
365
375
  extern void ParseLongOption(const char *string, char **name, char **value);
376
+ extern const char *get_config_unit_name(int flags);
366
377
  extern bool parse_int(const char *value, int *result, int flags,
367
378
  const char **hintmsg);
368
379
  extern bool parse_real(const char *value, double *result, int flags,
@@ -371,18 +382,14 @@ extern int set_config_option(const char *name, const char *value,
371
382
  GucContext context, GucSource source,
372
383
  GucAction action, bool changeVal, int elevel,
373
384
  bool is_reload);
385
+ extern int set_config_option_ext(const char *name, const char *value,
386
+ GucContext context, GucSource source,
387
+ Oid srole,
388
+ GucAction action, bool changeVal, int elevel,
389
+ bool is_reload);
374
390
  extern void AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt);
375
391
  extern char *GetConfigOptionByName(const char *name, const char **varname,
376
392
  bool missing_ok);
377
- extern void GetConfigOptionByNum(int varnum, const char **values, bool *noshow);
378
- extern int GetNumConfigOptions(void);
379
-
380
- extern void SetPGVariable(const char *name, List *args, bool is_local);
381
- extern void GetPGVariable(const char *name, DestReceiver *dest);
382
- extern TupleDesc GetPGVariableResultDesc(const char *name);
383
-
384
- extern void ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel);
385
- extern char *ExtractSetVariableArgs(VariableSetStmt *stmt);
386
393
 
387
394
  extern void ProcessGUCArray(ArrayType *array,
388
395
  GucContext context, GucSource source, GucAction action);
@@ -390,6 +397,11 @@ extern ArrayType *GUCArrayAdd(ArrayType *array, const char *name, const char *va
390
397
  extern ArrayType *GUCArrayDelete(ArrayType *array, const char *name);
391
398
  extern ArrayType *GUCArrayReset(ArrayType *array);
392
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
+
393
405
  #ifdef EXEC_BACKEND
394
406
  extern void write_nondefault_variables(GucContext context);
395
407
  extern void read_nondefault_variables(void);
@@ -400,6 +412,13 @@ extern Size EstimateGUCStateSpace(void);
400
412
  extern void SerializeGUCState(Size maxsize, char *start_address);
401
413
  extern void RestoreGUCState(void *gucstate);
402
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
+
403
422
  /* Support for messages reported from GUC check hooks */
404
423
 
405
424
  extern PGDLLIMPORT char *GUC_check_errmsg_string;
@@ -420,24 +439,4 @@ extern void GUC_check_errcode(int sqlerrcode);
420
439
  pre_format_elog_string(errno, TEXTDOMAIN), \
421
440
  GUC_check_errhint_string = format_elog_string
422
441
 
423
-
424
- /*
425
- * The following functions are not in guc.c, but are declared here to avoid
426
- * having to include guc.h in some widely used headers that it really doesn't
427
- * belong in.
428
- */
429
-
430
- /* in commands/tablespace.c */
431
- extern bool check_default_tablespace(char **newval, void **extra, GucSource source);
432
- extern bool check_temp_tablespaces(char **newval, void **extra, GucSource source);
433
- extern void assign_temp_tablespaces(const char *newval, void *extra);
434
-
435
- /* in catalog/namespace.c */
436
- extern bool check_search_path(char **newval, void **extra, GucSource source);
437
- extern void assign_search_path(const char *newval, void *extra);
438
-
439
- /* in access/transam/xlog.c */
440
- extern bool check_wal_buffers(int *newval, void **extra, GucSource source);
441
- extern void assign_xlog_sync_method(int new_sync_method, void *extra);
442
-
443
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 */