pg_query 4.2.1 → 6.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 (901) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/README.md +7 -9
  4. data/Rakefile +5 -6
  5. data/ext/pg_query/ext_symbols_freebsd.sym +1 -0
  6. data/ext/pg_query/ext_symbols_freebsd_with_ruby_abi_version.sym +2 -0
  7. data/ext/pg_query/ext_symbols_openbsd.sym +1 -0
  8. data/ext/pg_query/ext_symbols_openbsd_with_ruby_abi_version.sym +2 -0
  9. data/ext/pg_query/ext_symbols_with_ruby_abi_version.sym +2 -0
  10. data/ext/pg_query/extconf.rb +33 -9
  11. data/ext/pg_query/include/pg_query.h +28 -3
  12. data/ext/pg_query/include/pg_query_enum_defs.c +599 -167
  13. data/ext/pg_query/include/pg_query_fingerprint_conds.c +640 -520
  14. data/ext/pg_query/include/pg_query_fingerprint_defs.c +6400 -4633
  15. data/ext/pg_query/include/pg_query_outfuncs_conds.c +433 -343
  16. data/ext/pg_query/include/pg_query_outfuncs_defs.c +1472 -1152
  17. data/ext/pg_query/include/pg_query_readfuncs_conds.c +154 -124
  18. data/ext/pg_query/include/pg_query_readfuncs_defs.c +1886 -1506
  19. data/ext/pg_query/include/postgres/access/amapi.h +303 -0
  20. data/ext/pg_query/include/postgres/access/attmap.h +54 -0
  21. data/ext/pg_query/include/postgres/access/attnum.h +64 -0
  22. data/ext/pg_query/include/postgres/access/brin_internal.h +116 -0
  23. data/ext/pg_query/include/postgres/access/brin_tuple.h +112 -0
  24. data/ext/pg_query/include/postgres/access/clog.h +62 -0
  25. data/ext/pg_query/include/postgres/access/commit_ts.h +73 -0
  26. data/ext/pg_query/include/postgres/access/detoast.h +82 -0
  27. data/ext/pg_query/include/postgres/access/genam.h +246 -0
  28. data/ext/pg_query/include/postgres/access/gin.h +91 -0
  29. data/ext/pg_query/include/postgres/access/htup.h +89 -0
  30. data/ext/pg_query/include/postgres/access/htup_details.h +811 -0
  31. data/ext/pg_query/include/postgres/access/itup.h +170 -0
  32. data/ext/pg_query/include/postgres/access/parallel.h +81 -0
  33. data/ext/pg_query/include/postgres/access/printtup.h +35 -0
  34. data/ext/pg_query/include/postgres/access/relation.h +28 -0
  35. data/ext/pg_query/include/postgres/access/relscan.h +191 -0
  36. data/ext/pg_query/include/postgres/access/rmgrlist.h +49 -0
  37. data/ext/pg_query/include/postgres/access/sdir.h +67 -0
  38. data/ext/pg_query/include/postgres/access/skey.h +151 -0
  39. data/ext/pg_query/include/postgres/access/slru.h +218 -0
  40. data/ext/pg_query/include/postgres/access/stratnum.h +85 -0
  41. data/ext/pg_query/include/postgres/access/sysattr.h +29 -0
  42. data/ext/pg_query/include/postgres/access/table.h +28 -0
  43. data/ext/pg_query/include/postgres/access/tableam.h +2110 -0
  44. data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
  45. data/ext/pg_query/include/postgres/access/toast_compression.h +73 -0
  46. data/ext/pg_query/include/postgres/access/transam.h +418 -0
  47. data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
  48. data/ext/pg_query/include/postgres/access/tupconvert.h +54 -0
  49. data/ext/pg_query/include/postgres/access/tupdesc.h +154 -0
  50. data/ext/pg_query/include/postgres/access/tupmacs.h +207 -0
  51. data/ext/pg_query/include/postgres/access/twophase.h +65 -0
  52. data/ext/pg_query/include/postgres/access/xact.h +530 -0
  53. data/ext/pg_query/include/postgres/access/xlog.h +310 -0
  54. data/ext/pg_query/include/postgres/access/xlog_internal.h +405 -0
  55. data/ext/pg_query/include/postgres/access/xlogbackup.h +43 -0
  56. data/ext/pg_query/include/postgres/access/xlogdefs.h +82 -0
  57. data/ext/pg_query/include/postgres/access/xlogprefetcher.h +55 -0
  58. data/ext/pg_query/include/postgres/access/xlogreader.h +444 -0
  59. data/ext/pg_query/include/postgres/access/xlogrecord.h +248 -0
  60. data/ext/pg_query/include/postgres/access/xlogrecovery.h +158 -0
  61. data/ext/pg_query/include/postgres/archive/archive_module.h +67 -0
  62. data/ext/pg_query/include/postgres/c.h +1374 -0
  63. data/ext/pg_query/include/postgres/catalog/catalog.h +47 -0
  64. data/ext/pg_query/include/postgres/catalog/catversion.h +62 -0
  65. data/ext/pg_query/include/postgres/catalog/dependency.h +228 -0
  66. data/ext/pg_query/include/postgres/catalog/genbki.h +149 -0
  67. data/ext/pg_query/include/postgres/catalog/index.h +218 -0
  68. data/ext/pg_query/include/postgres/catalog/indexing.h +54 -0
  69. data/ext/pg_query/include/postgres/catalog/namespace.h +189 -0
  70. data/ext/pg_query/include/postgres/catalog/objectaccess.h +267 -0
  71. data/ext/pg_query/include/postgres/catalog/objectaddress.h +93 -0
  72. data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +182 -0
  73. data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +78 -0
  74. data/ext/pg_query/include/postgres/catalog/pg_am.h +66 -0
  75. data/ext/pg_query/include/postgres/catalog/pg_am_d.h +47 -0
  76. data/ext/pg_query/include/postgres/catalog/pg_attribute.h +240 -0
  77. data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +62 -0
  78. data/ext/pg_query/include/postgres/catalog/pg_authid.h +66 -0
  79. data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +60 -0
  80. data/ext/pg_query/include/postgres/catalog/pg_class.h +235 -0
  81. data/ext/pg_query/include/postgres/catalog/pg_class_d.h +134 -0
  82. data/ext/pg_query/include/postgres/catalog/pg_collation.h +106 -0
  83. data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +66 -0
  84. data/ext/pg_query/include/postgres/catalog/pg_constraint.h +278 -0
  85. data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +74 -0
  86. data/ext/pg_query/include/postgres/catalog/pg_control.h +260 -0
  87. data/ext/pg_query/include/postgres/catalog/pg_conversion.h +79 -0
  88. data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +38 -0
  89. data/ext/pg_query/include/postgres/catalog/pg_database.h +129 -0
  90. data/ext/pg_query/include/postgres/catalog/pg_database_d.h +53 -0
  91. data/ext/pg_query/include/postgres/catalog/pg_depend.h +77 -0
  92. data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +36 -0
  93. data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +60 -0
  94. data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +36 -0
  95. data/ext/pg_query/include/postgres/catalog/pg_index.h +92 -0
  96. data/ext/pg_query/include/postgres/catalog/pg_index_d.h +59 -0
  97. data/ext/pg_query/include/postgres/catalog/pg_language.h +75 -0
  98. data/ext/pg_query/include/postgres/catalog/pg_language_d.h +41 -0
  99. data/ext/pg_query/include/postgres/catalog/pg_namespace.h +67 -0
  100. data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +36 -0
  101. data/ext/pg_query/include/postgres/catalog/pg_opclass.h +91 -0
  102. data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +51 -0
  103. data/ext/pg_query/include/postgres/catalog/pg_operator.h +124 -0
  104. data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +142 -0
  105. data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +67 -0
  106. data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +51 -0
  107. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +76 -0
  108. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +36 -0
  109. data/ext/pg_query/include/postgres/catalog/pg_proc.h +223 -0
  110. data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +101 -0
  111. data/ext/pg_query/include/postgres/catalog/pg_publication.h +161 -0
  112. data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +38 -0
  113. data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +65 -0
  114. data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +33 -0
  115. data/ext/pg_query/include/postgres/catalog/pg_statistic.h +288 -0
  116. data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +199 -0
  117. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +91 -0
  118. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +45 -0
  119. data/ext/pg_query/include/postgres/catalog/pg_transform.h +51 -0
  120. data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +34 -0
  121. data/ext/pg_query/include/postgres/catalog/pg_trigger.h +153 -0
  122. data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +109 -0
  123. data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +56 -0
  124. data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +34 -0
  125. data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +62 -0
  126. data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +35 -0
  127. data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +63 -0
  128. data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +37 -0
  129. data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +54 -0
  130. data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +34 -0
  131. data/ext/pg_query/include/postgres/catalog/pg_type.h +407 -0
  132. data/ext/pg_query/include/postgres/catalog/pg_type_d.h +324 -0
  133. data/ext/pg_query/include/postgres/catalog/storage.h +50 -0
  134. data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
  135. data/ext/pg_query/include/postgres/commands/async.h +49 -0
  136. data/ext/pg_query/include/postgres/commands/dbcommands.h +37 -0
  137. data/ext/pg_query/include/postgres/commands/defrem.h +161 -0
  138. data/ext/pg_query/include/postgres/commands/event_trigger.h +97 -0
  139. data/ext/pg_query/include/postgres/commands/explain.h +145 -0
  140. data/ext/pg_query/include/postgres/commands/prepare.h +61 -0
  141. data/ext/pg_query/include/postgres/commands/tablespace.h +69 -0
  142. data/ext/pg_query/include/postgres/commands/trigger.h +288 -0
  143. data/ext/pg_query/include/postgres/commands/user.h +43 -0
  144. data/ext/pg_query/include/postgres/commands/vacuum.h +388 -0
  145. data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
  146. data/ext/pg_query/include/postgres/common/file_perm.h +56 -0
  147. data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
  148. data/ext/pg_query/include/postgres/common/hashfn.h +119 -0
  149. data/ext/pg_query/include/postgres/common/hashfn_unstable.h +407 -0
  150. data/ext/pg_query/include/postgres/common/int.h +512 -0
  151. data/ext/pg_query/include/postgres/common/keywords.h +29 -0
  152. data/ext/pg_query/include/postgres/common/kwlookup.h +44 -0
  153. data/ext/pg_query/include/postgres/common/pg_prng.h +62 -0
  154. data/ext/pg_query/include/postgres/common/relpath.h +97 -0
  155. data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
  156. data/ext/pg_query/include/postgres/common/sha2.h +32 -0
  157. data/ext/pg_query/include/postgres/common/string.h +44 -0
  158. data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +124 -0
  159. data/ext/pg_query/include/postgres/common/unicode_nonspacing_table.h +326 -0
  160. data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5261 -0
  161. data/ext/pg_query/include/postgres/copyfuncs.switch.c +989 -0
  162. data/ext/pg_query/include/postgres/datatype/timestamp.h +269 -0
  163. data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3310 -0
  164. data/ext/pg_query/include/postgres/equalfuncs.switch.c +836 -0
  165. data/ext/pg_query/include/postgres/executor/execdesc.h +70 -0
  166. data/ext/pg_query/include/postgres/executor/executor.h +681 -0
  167. data/ext/pg_query/include/postgres/executor/functions.h +56 -0
  168. data/ext/pg_query/include/postgres/executor/instrument.h +120 -0
  169. data/ext/pg_query/include/postgres/executor/spi.h +207 -0
  170. data/ext/pg_query/include/postgres/executor/tablefunc.h +67 -0
  171. data/ext/pg_query/include/postgres/executor/tuptable.h +523 -0
  172. data/ext/pg_query/include/postgres/fmgr.h +800 -0
  173. data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
  174. data/ext/pg_query/include/postgres/funcapi.h +360 -0
  175. data/ext/pg_query/include/postgres/gram.h +1168 -0
  176. data/ext/pg_query/include/postgres/gramparse.h +75 -0
  177. data/ext/pg_query/include/postgres/jit/jit.h +106 -0
  178. data/ext/pg_query/include/postgres/kwlist_d.h +1164 -0
  179. data/ext/pg_query/include/postgres/lib/dshash.h +130 -0
  180. data/ext/pg_query/include/postgres/lib/ilist.h +1159 -0
  181. data/ext/pg_query/include/postgres/lib/pairingheap.h +102 -0
  182. data/ext/pg_query/include/postgres/lib/simplehash.h +1206 -0
  183. data/ext/pg_query/include/postgres/lib/sort_template.h +445 -0
  184. data/ext/pg_query/include/postgres/lib/stringinfo.h +243 -0
  185. data/ext/pg_query/include/postgres/libpq/auth.h +37 -0
  186. data/ext/pg_query/include/postgres/libpq/crypt.h +47 -0
  187. data/ext/pg_query/include/postgres/libpq/hba.h +186 -0
  188. data/ext/pg_query/include/postgres/libpq/libpq-be.h +361 -0
  189. data/ext/pg_query/include/postgres/libpq/libpq.h +143 -0
  190. data/ext/pg_query/include/postgres/libpq/pqcomm.h +169 -0
  191. data/ext/pg_query/include/postgres/libpq/pqformat.h +209 -0
  192. data/ext/pg_query/include/postgres/libpq/pqsignal.h +54 -0
  193. data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
  194. data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
  195. data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
  196. data/ext/pg_query/include/postgres/mb/pg_wchar.h +793 -0
  197. data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +24 -0
  198. data/ext/pg_query/include/postgres/miscadmin.h +527 -0
  199. data/ext/pg_query/include/postgres/nodes/bitmapset.h +140 -0
  200. data/ext/pg_query/include/postgres/nodes/execnodes.h +2855 -0
  201. data/ext/pg_query/include/postgres/nodes/extensible.h +164 -0
  202. data/ext/pg_query/include/postgres/nodes/lockoptions.h +61 -0
  203. data/ext/pg_query/include/postgres/nodes/makefuncs.h +127 -0
  204. data/ext/pg_query/include/postgres/nodes/memnodes.h +152 -0
  205. data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
  206. data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +222 -0
  207. data/ext/pg_query/include/postgres/nodes/nodes.h +435 -0
  208. data/ext/pg_query/include/postgres/nodes/nodetags.h +491 -0
  209. data/ext/pg_query/include/postgres/nodes/params.h +170 -0
  210. data/ext/pg_query/include/postgres/nodes/parsenodes.h +4233 -0
  211. data/ext/pg_query/include/postgres/nodes/pathnodes.h +3438 -0
  212. data/ext/pg_query/include/postgres/nodes/pg_list.h +686 -0
  213. data/ext/pg_query/include/postgres/nodes/plannodes.h +1593 -0
  214. data/ext/pg_query/include/postgres/nodes/primnodes.h +2339 -0
  215. data/ext/pg_query/include/postgres/nodes/print.h +34 -0
  216. data/ext/pg_query/include/postgres/nodes/queryjumble.h +86 -0
  217. data/ext/pg_query/include/postgres/nodes/replnodes.h +132 -0
  218. data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
  219. data/ext/pg_query/include/postgres/nodes/tidbitmap.h +75 -0
  220. data/ext/pg_query/include/postgres/nodes/value.h +90 -0
  221. data/ext/pg_query/include/postgres/optimizer/cost.h +216 -0
  222. data/ext/pg_query/include/postgres/optimizer/geqo.h +90 -0
  223. data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +45 -0
  224. data/ext/pg_query/include/postgres/optimizer/optimizer.h +205 -0
  225. data/ext/pg_query/include/postgres/optimizer/paths.h +271 -0
  226. data/ext/pg_query/include/postgres/optimizer/planmain.h +123 -0
  227. data/ext/pg_query/include/postgres/parser/analyze.h +66 -0
  228. data/ext/pg_query/include/postgres/parser/kwlist.h +518 -0
  229. data/ext/pg_query/include/postgres/parser/parse_agg.h +65 -0
  230. data/ext/pg_query/include/postgres/parser/parse_coerce.h +105 -0
  231. data/ext/pg_query/include/postgres/parser/parse_expr.h +25 -0
  232. data/ext/pg_query/include/postgres/parser/parse_func.h +74 -0
  233. data/ext/pg_query/include/postgres/parser/parse_node.h +358 -0
  234. data/ext/pg_query/include/postgres/parser/parse_oper.h +68 -0
  235. data/ext/pg_query/include/postgres/parser/parse_relation.h +129 -0
  236. data/ext/pg_query/include/postgres/parser/parse_type.h +61 -0
  237. data/ext/pg_query/include/postgres/parser/parser.h +68 -0
  238. data/ext/pg_query/include/postgres/parser/parsetree.h +61 -0
  239. data/ext/pg_query/include/postgres/parser/scanner.h +152 -0
  240. data/ext/pg_query/include/postgres/parser/scansup.h +27 -0
  241. data/ext/pg_query/include/postgres/partitioning/partdefs.h +26 -0
  242. data/ext/pg_query/include/postgres/pg_config.h +985 -0
  243. data/ext/pg_query/include/postgres/pg_config_manual.h +385 -0
  244. data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
  245. data/ext/pg_query/include/postgres/pg_getopt.h +56 -0
  246. data/ext/pg_query/include/postgres/pg_trace.h +17 -0
  247. data/ext/pg_query/include/postgres/pgstat.h +780 -0
  248. data/ext/pg_query/include/postgres/pgtime.h +94 -0
  249. data/ext/pg_query/include/postgres/pl_gram.h +385 -0
  250. data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +52 -0
  251. data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +114 -0
  252. data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +112 -0
  253. data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +246 -0
  254. data/ext/pg_query/include/postgres/plerrcodes.h +998 -0
  255. data/ext/pg_query/include/postgres/plpgsql.h +1342 -0
  256. data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +32 -0
  257. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
  258. data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +256 -0
  259. data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +254 -0
  260. data/ext/pg_query/include/postgres/port/atomics/fallback.h +170 -0
  261. data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +323 -0
  262. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +119 -0
  263. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +121 -0
  264. data/ext/pg_query/include/postgres/port/atomics/generic.h +437 -0
  265. data/ext/pg_query/include/postgres/port/atomics.h +606 -0
  266. data/ext/pg_query/include/postgres/port/pg_bitutils.h +421 -0
  267. data/ext/pg_query/include/postgres/port/pg_bswap.h +161 -0
  268. data/ext/pg_query/include/postgres/port/pg_crc32c.h +110 -0
  269. data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
  270. data/ext/pg_query/include/postgres/port/simd.h +422 -0
  271. data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
  272. data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
  273. data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
  274. data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
  275. data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
  276. data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
  277. data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
  278. data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
  279. data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
  280. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +34 -0
  281. data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
  282. data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
  283. data/ext/pg_query/include/postgres/port/win32.h +59 -0
  284. data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
  285. data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
  286. data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
  287. data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
  288. data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
  289. data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
  290. data/ext/pg_query/include/postgres/port/win32_port.h +582 -0
  291. data/ext/pg_query/include/postgres/port.h +555 -0
  292. data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
  293. data/ext/pg_query/include/postgres/postgres.h +579 -0
  294. data/ext/pg_query/include/postgres/postgres_ext.h +73 -0
  295. data/ext/pg_query/include/postgres/postmaster/autovacuum.h +69 -0
  296. data/ext/pg_query/include/postgres/postmaster/bgworker.h +164 -0
  297. data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +60 -0
  298. data/ext/pg_query/include/postgres/postmaster/bgwriter.h +45 -0
  299. data/ext/pg_query/include/postgres/postmaster/interrupt.h +32 -0
  300. data/ext/pg_query/include/postgres/postmaster/pgarch.h +36 -0
  301. data/ext/pg_query/include/postgres/postmaster/postmaster.h +101 -0
  302. data/ext/pg_query/include/postgres/postmaster/startup.h +41 -0
  303. data/ext/pg_query/include/postgres/postmaster/syslogger.h +101 -0
  304. data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
  305. data/ext/pg_query/include/postgres/postmaster/walwriter.h +23 -0
  306. data/ext/pg_query/include/postgres/regex/regex.h +272 -0
  307. data/ext/pg_query/include/postgres/replication/logicallauncher.h +34 -0
  308. data/ext/pg_query/include/postgres/replication/logicalproto.h +274 -0
  309. data/ext/pg_query/include/postgres/replication/logicalworker.h +33 -0
  310. data/ext/pg_query/include/postgres/replication/origin.h +73 -0
  311. data/ext/pg_query/include/postgres/replication/reorderbuffer.h +734 -0
  312. data/ext/pg_query/include/postgres/replication/slot.h +289 -0
  313. data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
  314. data/ext/pg_query/include/postgres/replication/syncrep.h +109 -0
  315. data/ext/pg_query/include/postgres/replication/walreceiver.h +504 -0
  316. data/ext/pg_query/include/postgres/replication/walsender.h +76 -0
  317. data/ext/pg_query/include/postgres/rewrite/prs2lock.h +46 -0
  318. data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +41 -0
  319. data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +96 -0
  320. data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +26 -0
  321. data/ext/pg_query/include/postgres/storage/block.h +108 -0
  322. data/ext/pg_query/include/postgres/storage/buf.h +46 -0
  323. data/ext/pg_query/include/postgres/storage/bufmgr.h +411 -0
  324. data/ext/pg_query/include/postgres/storage/bufpage.h +510 -0
  325. data/ext/pg_query/include/postgres/storage/condition_variable.h +73 -0
  326. data/ext/pg_query/include/postgres/storage/dsm.h +61 -0
  327. data/ext/pg_query/include/postgres/storage/dsm_impl.h +79 -0
  328. data/ext/pg_query/include/postgres/storage/fd.h +219 -0
  329. data/ext/pg_query/include/postgres/storage/fileset.h +40 -0
  330. data/ext/pg_query/include/postgres/storage/ipc.h +87 -0
  331. data/ext/pg_query/include/postgres/storage/item.h +19 -0
  332. data/ext/pg_query/include/postgres/storage/itemid.h +184 -0
  333. data/ext/pg_query/include/postgres/storage/itemptr.h +245 -0
  334. data/ext/pg_query/include/postgres/storage/large_object.h +100 -0
  335. data/ext/pg_query/include/postgres/storage/latch.h +196 -0
  336. data/ext/pg_query/include/postgres/storage/lmgr.h +126 -0
  337. data/ext/pg_query/include/postgres/storage/lock.h +624 -0
  338. data/ext/pg_query/include/postgres/storage/lockdefs.h +61 -0
  339. data/ext/pg_query/include/postgres/storage/lwlock.h +228 -0
  340. data/ext/pg_query/include/postgres/storage/lwlocknames.h +47 -0
  341. data/ext/pg_query/include/postgres/storage/off.h +57 -0
  342. data/ext/pg_query/include/postgres/storage/pg_sema.h +61 -0
  343. data/ext/pg_query/include/postgres/storage/pg_shmem.h +93 -0
  344. data/ext/pg_query/include/postgres/storage/pmsignal.h +105 -0
  345. data/ext/pg_query/include/postgres/storage/predicate.h +83 -0
  346. data/ext/pg_query/include/postgres/storage/proc.h +488 -0
  347. data/ext/pg_query/include/postgres/storage/procarray.h +103 -0
  348. data/ext/pg_query/include/postgres/storage/proclist_types.h +53 -0
  349. data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
  350. data/ext/pg_query/include/postgres/storage/procsignal.h +75 -0
  351. data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
  352. data/ext/pg_query/include/postgres/storage/relfilelocator.h +100 -0
  353. data/ext/pg_query/include/postgres/storage/s_lock.h +847 -0
  354. data/ext/pg_query/include/postgres/storage/sharedfileset.h +37 -0
  355. data/ext/pg_query/include/postgres/storage/shm_mq.h +86 -0
  356. data/ext/pg_query/include/postgres/storage/shm_toc.h +58 -0
  357. data/ext/pg_query/include/postgres/storage/shmem.h +59 -0
  358. data/ext/pg_query/include/postgres/storage/sinval.h +153 -0
  359. data/ext/pg_query/include/postgres/storage/smgr.h +130 -0
  360. data/ext/pg_query/include/postgres/storage/spin.h +77 -0
  361. data/ext/pg_query/include/postgres/storage/standby.h +109 -0
  362. data/ext/pg_query/include/postgres/storage/standbydefs.h +74 -0
  363. data/ext/pg_query/include/postgres/storage/sync.h +66 -0
  364. data/ext/pg_query/include/postgres/tcop/cmdtag.h +62 -0
  365. data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +219 -0
  366. data/ext/pg_query/include/postgres/tcop/deparse_utility.h +108 -0
  367. data/ext/pg_query/include/postgres/tcop/dest.h +148 -0
  368. data/ext/pg_query/include/postgres/tcop/fastpath.h +20 -0
  369. data/ext/pg_query/include/postgres/tcop/pquery.h +51 -0
  370. data/ext/pg_query/include/postgres/tcop/tcopprot.h +98 -0
  371. data/ext/pg_query/include/postgres/tcop/utility.h +112 -0
  372. data/ext/pg_query/include/postgres/tsearch/ts_cache.h +96 -0
  373. data/ext/pg_query/include/postgres/utils/acl.h +290 -0
  374. data/ext/pg_query/include/postgres/utils/aclchk_internal.h +45 -0
  375. data/ext/pg_query/include/postgres/utils/array.h +481 -0
  376. data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
  377. data/ext/pg_query/include/postgres/utils/backend_progress.h +46 -0
  378. data/ext/pg_query/include/postgres/utils/backend_status.h +340 -0
  379. data/ext/pg_query/include/postgres/utils/builtins.h +139 -0
  380. data/ext/pg_query/include/postgres/utils/bytea.h +28 -0
  381. data/ext/pg_query/include/postgres/utils/catcache.h +231 -0
  382. data/ext/pg_query/include/postgres/utils/date.h +118 -0
  383. data/ext/pg_query/include/postgres/utils/datetime.h +367 -0
  384. data/ext/pg_query/include/postgres/utils/datum.h +76 -0
  385. data/ext/pg_query/include/postgres/utils/dsa.h +166 -0
  386. data/ext/pg_query/include/postgres/utils/elog.h +540 -0
  387. data/ext/pg_query/include/postgres/utils/errcodes.h +352 -0
  388. data/ext/pg_query/include/postgres/utils/expandeddatum.h +170 -0
  389. data/ext/pg_query/include/postgres/utils/expandedrecord.h +241 -0
  390. data/ext/pg_query/include/postgres/utils/float.h +357 -0
  391. data/ext/pg_query/include/postgres/utils/fmgroids.h +3347 -0
  392. data/ext/pg_query/include/postgres/utils/fmgrprotos.h +2904 -0
  393. data/ext/pg_query/include/postgres/utils/fmgrtab.h +49 -0
  394. data/ext/pg_query/include/postgres/utils/guc.h +456 -0
  395. data/ext/pg_query/include/postgres/utils/guc_hooks.h +184 -0
  396. data/ext/pg_query/include/postgres/utils/guc_tables.h +323 -0
  397. data/ext/pg_query/include/postgres/utils/hsearch.h +153 -0
  398. data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
  399. data/ext/pg_query/include/postgres/utils/inval.h +68 -0
  400. data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
  401. data/ext/pg_query/include/postgres/utils/lsyscache.h +215 -0
  402. data/ext/pg_query/include/postgres/utils/memdebug.h +82 -0
  403. data/ext/pg_query/include/postgres/utils/memutils.h +193 -0
  404. data/ext/pg_query/include/postgres/utils/memutils_internal.h +176 -0
  405. data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +253 -0
  406. data/ext/pg_query/include/postgres/utils/numeric.h +110 -0
  407. data/ext/pg_query/include/postgres/utils/palloc.h +151 -0
  408. data/ext/pg_query/include/postgres/utils/partcache.h +103 -0
  409. data/ext/pg_query/include/postgres/utils/pg_locale.h +136 -0
  410. data/ext/pg_query/include/postgres/utils/pgstat_internal.h +827 -0
  411. data/ext/pg_query/include/postgres/utils/plancache.h +238 -0
  412. data/ext/pg_query/include/postgres/utils/portal.h +252 -0
  413. data/ext/pg_query/include/postgres/utils/probes.h +114 -0
  414. data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
  415. data/ext/pg_query/include/postgres/utils/queryenvironment.h +74 -0
  416. data/ext/pg_query/include/postgres/utils/regproc.h +39 -0
  417. data/ext/pg_query/include/postgres/utils/rel.h +711 -0
  418. data/ext/pg_query/include/postgres/utils/relcache.h +155 -0
  419. data/ext/pg_query/include/postgres/utils/reltrigger.h +81 -0
  420. data/ext/pg_query/include/postgres/utils/resowner.h +167 -0
  421. data/ext/pg_query/include/postgres/utils/ruleutils.h +52 -0
  422. data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +61 -0
  423. data/ext/pg_query/include/postgres/utils/snapmgr.h +130 -0
  424. data/ext/pg_query/include/postgres/utils/snapshot.h +219 -0
  425. data/ext/pg_query/include/postgres/utils/sortsupport.h +391 -0
  426. data/ext/pg_query/include/postgres/utils/syscache.h +136 -0
  427. data/ext/pg_query/include/postgres/utils/timeout.h +96 -0
  428. data/ext/pg_query/include/postgres/utils/timestamp.h +147 -0
  429. data/ext/pg_query/include/postgres/utils/tuplesort.h +472 -0
  430. data/ext/pg_query/include/postgres/utils/tuplestore.h +88 -0
  431. data/ext/pg_query/include/postgres/utils/typcache.h +210 -0
  432. data/ext/pg_query/include/postgres/utils/varlena.h +53 -0
  433. data/ext/pg_query/include/postgres/utils/wait_event.h +108 -0
  434. data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
  435. data/ext/pg_query/include/postgres/utils/xml.h +94 -0
  436. data/ext/pg_query/include/postgres/varatt.h +358 -0
  437. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +7723 -6368
  438. data/ext/pg_query/include/protobuf/pg_query.pb.h +120022 -87031
  439. data/ext/pg_query/pg_query.c +10 -1
  440. data/ext/pg_query/pg_query.pb-c.c +22595 -17738
  441. data/ext/pg_query/pg_query_deparse.c +1 -10635
  442. data/ext/pg_query/pg_query_fingerprint.c +12 -8
  443. data/ext/pg_query/pg_query_fingerprint.h +1 -1
  444. data/ext/pg_query/pg_query_internal.h +1 -1
  445. data/ext/pg_query/pg_query_json_plpgsql.c +1 -0
  446. data/ext/pg_query/pg_query_normalize.c +43 -2
  447. data/ext/pg_query/pg_query_outfuncs_json.c +9 -1
  448. data/ext/pg_query/pg_query_outfuncs_protobuf.c +3 -2
  449. data/ext/pg_query/pg_query_parse.c +47 -5
  450. data/ext/pg_query/pg_query_parse_plpgsql.c +19 -18
  451. data/ext/pg_query/pg_query_readfuncs_protobuf.c +3 -2
  452. data/ext/pg_query/pg_query_ruby.c +5 -0
  453. data/ext/pg_query/pg_query_scan.c +2 -2
  454. data/ext/pg_query/pg_query_split.c +3 -3
  455. data/ext/pg_query/postgres_deparse.c +11496 -0
  456. data/ext/pg_query/postgres_deparse.h +9 -0
  457. data/ext/pg_query/src_backend_catalog_namespace.c +243 -63
  458. data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -3
  459. data/ext/pg_query/src_backend_commands_define.c +2 -3
  460. data/ext/pg_query/src_backend_nodes_bitmapset.c +140 -156
  461. data/ext/pg_query/src_backend_nodes_copyfuncs.c +96 -6202
  462. data/ext/pg_query/src_backend_nodes_equalfuncs.c +95 -4068
  463. data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
  464. data/ext/pg_query/src_backend_nodes_list.c +16 -8
  465. data/ext/pg_query/src_backend_nodes_makefuncs.c +134 -1
  466. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +391 -133
  467. data/ext/pg_query/src_backend_nodes_value.c +1 -1
  468. data/ext/pg_query/src_backend_parser_gram.c +43710 -39953
  469. data/ext/pg_query/src_backend_parser_parser.c +34 -8
  470. data/ext/pg_query/src_backend_parser_scan.c +6971 -3373
  471. data/ext/pg_query/src_backend_parser_scansup.c +2 -1
  472. data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
  473. data/ext/pg_query/src_backend_tcop_postgres.c +99 -96
  474. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +2 -2
  475. data/ext/pg_query/src_backend_utils_adt_datum.c +2 -2
  476. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  477. data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
  478. data/ext/pg_query/src_backend_utils_adt_numutils.c +488 -0
  479. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +177 -30
  480. data/ext/pg_query/src_backend_utils_error_assert.c +4 -7
  481. data/ext/pg_query/src_backend_utils_error_elog.c +397 -270
  482. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +36 -2
  483. data/ext/pg_query/src_backend_utils_init_globals.c +20 -5
  484. data/ext/pg_query/src_backend_utils_mb_mbutils.c +31 -84
  485. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +502 -0
  486. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +166 -0
  487. data/ext/pg_query/src_backend_utils_mmgr_aset.c +704 -497
  488. data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
  489. data/ext/pg_query/src_backend_utils_mmgr_generation.c +1115 -0
  490. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +637 -233
  491. data/ext/pg_query/src_backend_utils_mmgr_slab.c +1079 -0
  492. data/ext/pg_query/src_common_encnames.c +46 -44
  493. data/ext/pg_query/src_common_hashfn.c +1 -1
  494. data/ext/pg_query/src_common_keywords.c +1 -1
  495. data/ext/pg_query/src_common_kwlist_d.h +586 -517
  496. data/ext/pg_query/src_common_kwlookup.c +1 -1
  497. data/ext/pg_query/src_common_psprintf.c +3 -3
  498. data/ext/pg_query/src_common_stringinfo.c +21 -4
  499. data/ext/pg_query/src_common_wchar.c +100 -116
  500. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +99 -5
  501. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -1
  502. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +829 -763
  503. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  504. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
  505. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +19 -1
  506. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +48 -46
  507. data/ext/pg_query/src_port_pg_bitutils.c +251 -32
  508. data/ext/pg_query/src_port_pgstrcasecmp.c +57 -1
  509. data/ext/pg_query/src_port_snprintf.c +20 -27
  510. data/ext/pg_query/src_port_strerror.c +1 -3
  511. data/ext/pg_query/src_port_strlcpy.c +79 -0
  512. data/lib/pg_query/fingerprint.rb +5 -8
  513. data/lib/pg_query/node.rb +16 -11
  514. data/lib/pg_query/param_refs.rb +2 -2
  515. data/lib/pg_query/parse.rb +6 -8
  516. data/lib/pg_query/parse_error.rb +1 -0
  517. data/lib/pg_query/pg_query_pb.rb +173 -3196
  518. data/lib/pg_query/scan.rb +1 -0
  519. data/lib/pg_query/treewalker.rb +52 -11
  520. data/lib/pg_query/truncate.rb +18 -20
  521. data/lib/pg_query/version.rb +1 -1
  522. metadata +443 -442
  523. data/ext/pg_query/guc-file.c +0 -0
  524. data/ext/pg_query/include/access/amapi.h +0 -290
  525. data/ext/pg_query/include/access/attmap.h +0 -52
  526. data/ext/pg_query/include/access/attnum.h +0 -64
  527. data/ext/pg_query/include/access/clog.h +0 -63
  528. data/ext/pg_query/include/access/commit_ts.h +0 -74
  529. data/ext/pg_query/include/access/detoast.h +0 -82
  530. data/ext/pg_query/include/access/genam.h +0 -231
  531. data/ext/pg_query/include/access/gin.h +0 -78
  532. data/ext/pg_query/include/access/htup.h +0 -89
  533. data/ext/pg_query/include/access/htup_details.h +0 -807
  534. data/ext/pg_query/include/access/itup.h +0 -167
  535. data/ext/pg_query/include/access/parallel.h +0 -82
  536. data/ext/pg_query/include/access/printtup.h +0 -35
  537. data/ext/pg_query/include/access/relation.h +0 -28
  538. data/ext/pg_query/include/access/relscan.h +0 -191
  539. data/ext/pg_query/include/access/rmgrlist.h +0 -49
  540. data/ext/pg_query/include/access/sdir.h +0 -58
  541. data/ext/pg_query/include/access/skey.h +0 -151
  542. data/ext/pg_query/include/access/stratnum.h +0 -85
  543. data/ext/pg_query/include/access/sysattr.h +0 -29
  544. data/ext/pg_query/include/access/table.h +0 -28
  545. data/ext/pg_query/include/access/tableam.h +0 -2077
  546. data/ext/pg_query/include/access/toast_compression.h +0 -73
  547. data/ext/pg_query/include/access/transam.h +0 -375
  548. data/ext/pg_query/include/access/tupconvert.h +0 -51
  549. data/ext/pg_query/include/access/tupdesc.h +0 -154
  550. data/ext/pg_query/include/access/tupmacs.h +0 -247
  551. data/ext/pg_query/include/access/twophase.h +0 -65
  552. data/ext/pg_query/include/access/xact.h +0 -523
  553. data/ext/pg_query/include/access/xlog.h +0 -303
  554. data/ext/pg_query/include/access/xlog_internal.h +0 -366
  555. data/ext/pg_query/include/access/xlogdefs.h +0 -101
  556. data/ext/pg_query/include/access/xlogprefetcher.h +0 -55
  557. data/ext/pg_query/include/access/xlogreader.h +0 -443
  558. data/ext/pg_query/include/access/xlogrecord.h +0 -236
  559. data/ext/pg_query/include/access/xlogrecovery.h +0 -157
  560. data/ext/pg_query/include/c.h +0 -1391
  561. data/ext/pg_query/include/catalog/catalog.h +0 -44
  562. data/ext/pg_query/include/catalog/catversion.h +0 -58
  563. data/ext/pg_query/include/catalog/dependency.h +0 -269
  564. data/ext/pg_query/include/catalog/genbki.h +0 -142
  565. data/ext/pg_query/include/catalog/index.h +0 -214
  566. data/ext/pg_query/include/catalog/indexing.h +0 -54
  567. data/ext/pg_query/include/catalog/namespace.h +0 -190
  568. data/ext/pg_query/include/catalog/objectaccess.h +0 -265
  569. data/ext/pg_query/include/catalog/objectaddress.h +0 -89
  570. data/ext/pg_query/include/catalog/pg_aggregate.h +0 -180
  571. data/ext/pg_query/include/catalog/pg_aggregate_d.h +0 -78
  572. data/ext/pg_query/include/catalog/pg_am.h +0 -63
  573. data/ext/pg_query/include/catalog/pg_am_d.h +0 -47
  574. data/ext/pg_query/include/catalog/pg_attribute.h +0 -221
  575. data/ext/pg_query/include/catalog/pg_attribute_d.h +0 -62
  576. data/ext/pg_query/include/catalog/pg_authid.h +0 -63
  577. data/ext/pg_query/include/catalog/pg_authid_d.h +0 -57
  578. data/ext/pg_query/include/catalog/pg_class.h +0 -230
  579. data/ext/pg_query/include/catalog/pg_class_d.h +0 -132
  580. data/ext/pg_query/include/catalog/pg_collation.h +0 -98
  581. data/ext/pg_query/include/catalog/pg_collation_d.h +0 -62
  582. data/ext/pg_query/include/catalog/pg_constraint.h +0 -273
  583. data/ext/pg_query/include/catalog/pg_constraint_d.h +0 -73
  584. data/ext/pg_query/include/catalog/pg_control.h +0 -250
  585. data/ext/pg_query/include/catalog/pg_conversion.h +0 -75
  586. data/ext/pg_query/include/catalog/pg_conversion_d.h +0 -38
  587. data/ext/pg_query/include/catalog/pg_depend.h +0 -77
  588. data/ext/pg_query/include/catalog/pg_depend_d.h +0 -36
  589. data/ext/pg_query/include/catalog/pg_event_trigger.h +0 -57
  590. data/ext/pg_query/include/catalog/pg_event_trigger_d.h +0 -36
  591. data/ext/pg_query/include/catalog/pg_index.h +0 -90
  592. data/ext/pg_query/include/catalog/pg_index_d.h +0 -59
  593. data/ext/pg_query/include/catalog/pg_language.h +0 -72
  594. data/ext/pg_query/include/catalog/pg_language_d.h +0 -41
  595. data/ext/pg_query/include/catalog/pg_namespace.h +0 -64
  596. data/ext/pg_query/include/catalog/pg_namespace_d.h +0 -36
  597. data/ext/pg_query/include/catalog/pg_opclass.h +0 -88
  598. data/ext/pg_query/include/catalog/pg_opclass_d.h +0 -51
  599. data/ext/pg_query/include/catalog/pg_operator.h +0 -107
  600. data/ext/pg_query/include/catalog/pg_operator_d.h +0 -142
  601. data/ext/pg_query/include/catalog/pg_opfamily.h +0 -63
  602. data/ext/pg_query/include/catalog/pg_opfamily_d.h +0 -49
  603. data/ext/pg_query/include/catalog/pg_parameter_acl.h +0 -60
  604. data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +0 -34
  605. data/ext/pg_query/include/catalog/pg_partitioned_table.h +0 -74
  606. data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +0 -36
  607. data/ext/pg_query/include/catalog/pg_proc.h +0 -220
  608. data/ext/pg_query/include/catalog/pg_proc_d.h +0 -101
  609. data/ext/pg_query/include/catalog/pg_publication.h +0 -161
  610. data/ext/pg_query/include/catalog/pg_publication_d.h +0 -38
  611. data/ext/pg_query/include/catalog/pg_replication_origin.h +0 -62
  612. data/ext/pg_query/include/catalog/pg_replication_origin_d.h +0 -33
  613. data/ext/pg_query/include/catalog/pg_statistic.h +0 -282
  614. data/ext/pg_query/include/catalog/pg_statistic_d.h +0 -195
  615. data/ext/pg_query/include/catalog/pg_statistic_ext.h +0 -88
  616. data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +0 -45
  617. data/ext/pg_query/include/catalog/pg_transform.h +0 -48
  618. data/ext/pg_query/include/catalog/pg_transform_d.h +0 -34
  619. data/ext/pg_query/include/catalog/pg_trigger.h +0 -153
  620. data/ext/pg_query/include/catalog/pg_trigger_d.h +0 -109
  621. data/ext/pg_query/include/catalog/pg_ts_config.h +0 -53
  622. data/ext/pg_query/include/catalog/pg_ts_config_d.h +0 -34
  623. data/ext/pg_query/include/catalog/pg_ts_dict.h +0 -59
  624. data/ext/pg_query/include/catalog/pg_ts_dict_d.h +0 -35
  625. data/ext/pg_query/include/catalog/pg_ts_parser.h +0 -60
  626. data/ext/pg_query/include/catalog/pg_ts_parser_d.h +0 -37
  627. data/ext/pg_query/include/catalog/pg_ts_template.h +0 -51
  628. data/ext/pg_query/include/catalog/pg_ts_template_d.h +0 -34
  629. data/ext/pg_query/include/catalog/pg_type.h +0 -404
  630. data/ext/pg_query/include/catalog/pg_type_d.h +0 -324
  631. data/ext/pg_query/include/catalog/storage.h +0 -50
  632. data/ext/pg_query/include/commands/async.h +0 -53
  633. data/ext/pg_query/include/commands/dbcommands.h +0 -36
  634. data/ext/pg_query/include/commands/defrem.h +0 -160
  635. data/ext/pg_query/include/commands/event_trigger.h +0 -88
  636. data/ext/pg_query/include/commands/explain.h +0 -127
  637. data/ext/pg_query/include/commands/prepare.h +0 -61
  638. data/ext/pg_query/include/commands/tablespace.h +0 -69
  639. data/ext/pg_query/include/commands/trigger.h +0 -287
  640. data/ext/pg_query/include/commands/user.h +0 -37
  641. data/ext/pg_query/include/commands/vacuum.h +0 -340
  642. data/ext/pg_query/include/commands/variable.h +0 -38
  643. data/ext/pg_query/include/common/file_perm.h +0 -56
  644. data/ext/pg_query/include/common/hashfn.h +0 -104
  645. data/ext/pg_query/include/common/ip.h +0 -31
  646. data/ext/pg_query/include/common/keywords.h +0 -29
  647. data/ext/pg_query/include/common/kwlookup.h +0 -44
  648. data/ext/pg_query/include/common/pg_prng.h +0 -60
  649. data/ext/pg_query/include/common/relpath.h +0 -90
  650. data/ext/pg_query/include/common/string.h +0 -42
  651. data/ext/pg_query/include/common/unicode_combining_table.h +0 -308
  652. data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +0 -125
  653. data/ext/pg_query/include/datatype/timestamp.h +0 -236
  654. data/ext/pg_query/include/executor/execdesc.h +0 -70
  655. data/ext/pg_query/include/executor/executor.h +0 -663
  656. data/ext/pg_query/include/executor/functions.h +0 -55
  657. data/ext/pg_query/include/executor/instrument.h +0 -118
  658. data/ext/pg_query/include/executor/spi.h +0 -213
  659. data/ext/pg_query/include/executor/tablefunc.h +0 -67
  660. data/ext/pg_query/include/executor/tuptable.h +0 -487
  661. data/ext/pg_query/include/fmgr.h +0 -781
  662. data/ext/pg_query/include/funcapi.h +0 -360
  663. data/ext/pg_query/include/getaddrinfo.h +0 -162
  664. data/ext/pg_query/include/jit/jit.h +0 -105
  665. data/ext/pg_query/include/kwlist_d.h +0 -1095
  666. data/ext/pg_query/include/lib/dshash.h +0 -112
  667. data/ext/pg_query/include/lib/ilist.h +0 -746
  668. data/ext/pg_query/include/lib/pairingheap.h +0 -102
  669. data/ext/pg_query/include/lib/simplehash.h +0 -1184
  670. data/ext/pg_query/include/lib/sort_template.h +0 -432
  671. data/ext/pg_query/include/lib/stringinfo.h +0 -161
  672. data/ext/pg_query/include/libpq/auth.h +0 -31
  673. data/ext/pg_query/include/libpq/crypt.h +0 -47
  674. data/ext/pg_query/include/libpq/hba.h +0 -179
  675. data/ext/pg_query/include/libpq/libpq-be.h +0 -343
  676. data/ext/pg_query/include/libpq/libpq.h +0 -144
  677. data/ext/pg_query/include/libpq/pqcomm.h +0 -194
  678. data/ext/pg_query/include/libpq/pqformat.h +0 -210
  679. data/ext/pg_query/include/libpq/pqsignal.h +0 -42
  680. data/ext/pg_query/include/mb/pg_wchar.h +0 -755
  681. data/ext/pg_query/include/mb/stringinfo_mb.h +0 -24
  682. data/ext/pg_query/include/miscadmin.h +0 -495
  683. data/ext/pg_query/include/nodes/bitmapset.h +0 -122
  684. data/ext/pg_query/include/nodes/execnodes.h +0 -2715
  685. data/ext/pg_query/include/nodes/extensible.h +0 -162
  686. data/ext/pg_query/include/nodes/lockoptions.h +0 -61
  687. data/ext/pg_query/include/nodes/makefuncs.h +0 -109
  688. data/ext/pg_query/include/nodes/memnodes.h +0 -110
  689. data/ext/pg_query/include/nodes/nodeFuncs.h +0 -162
  690. data/ext/pg_query/include/nodes/nodes.h +0 -861
  691. data/ext/pg_query/include/nodes/params.h +0 -170
  692. data/ext/pg_query/include/nodes/parsenodes.h +0 -3812
  693. data/ext/pg_query/include/nodes/pathnodes.h +0 -2734
  694. data/ext/pg_query/include/nodes/pg_list.h +0 -612
  695. data/ext/pg_query/include/nodes/plannodes.h +0 -1349
  696. data/ext/pg_query/include/nodes/primnodes.h +0 -1593
  697. data/ext/pg_query/include/nodes/print.h +0 -34
  698. data/ext/pg_query/include/nodes/tidbitmap.h +0 -75
  699. data/ext/pg_query/include/nodes/value.h +0 -80
  700. data/ext/pg_query/include/optimizer/cost.h +0 -213
  701. data/ext/pg_query/include/optimizer/geqo.h +0 -90
  702. data/ext/pg_query/include/optimizer/geqo_gene.h +0 -45
  703. data/ext/pg_query/include/optimizer/optimizer.h +0 -202
  704. data/ext/pg_query/include/optimizer/paths.h +0 -257
  705. data/ext/pg_query/include/optimizer/planmain.h +0 -120
  706. data/ext/pg_query/include/parser/analyze.h +0 -63
  707. data/ext/pg_query/include/parser/gram.h +0 -1101
  708. data/ext/pg_query/include/parser/gramparse.h +0 -75
  709. data/ext/pg_query/include/parser/kwlist.h +0 -487
  710. data/ext/pg_query/include/parser/parse_agg.h +0 -63
  711. data/ext/pg_query/include/parser/parse_coerce.h +0 -100
  712. data/ext/pg_query/include/parser/parse_expr.h +0 -25
  713. data/ext/pg_query/include/parser/parse_func.h +0 -74
  714. data/ext/pg_query/include/parser/parse_node.h +0 -339
  715. data/ext/pg_query/include/parser/parse_oper.h +0 -65
  716. data/ext/pg_query/include/parser/parse_relation.h +0 -124
  717. data/ext/pg_query/include/parser/parse_type.h +0 -60
  718. data/ext/pg_query/include/parser/parser.h +0 -68
  719. data/ext/pg_query/include/parser/parsetree.h +0 -61
  720. data/ext/pg_query/include/parser/scanner.h +0 -152
  721. data/ext/pg_query/include/parser/scansup.h +0 -27
  722. data/ext/pg_query/include/partitioning/partdefs.h +0 -26
  723. data/ext/pg_query/include/pg_config.h +0 -1037
  724. data/ext/pg_query/include/pg_config_manual.h +0 -410
  725. data/ext/pg_query/include/pg_config_os.h +0 -8
  726. data/ext/pg_query/include/pg_getopt.h +0 -56
  727. data/ext/pg_query/include/pg_trace.h +0 -17
  728. data/ext/pg_query/include/pgstat.h +0 -699
  729. data/ext/pg_query/include/pgtime.h +0 -94
  730. data/ext/pg_query/include/pl_gram.h +0 -383
  731. data/ext/pg_query/include/pl_reserved_kwlist.h +0 -52
  732. data/ext/pg_query/include/pl_reserved_kwlist_d.h +0 -114
  733. data/ext/pg_query/include/pl_unreserved_kwlist.h +0 -111
  734. data/ext/pg_query/include/pl_unreserved_kwlist_d.h +0 -244
  735. data/ext/pg_query/include/plerrcodes.h +0 -998
  736. data/ext/pg_query/include/plpgsql.h +0 -1345
  737. data/ext/pg_query/include/port/atomics/arch-arm.h +0 -32
  738. data/ext/pg_query/include/port/atomics/arch-ppc.h +0 -254
  739. data/ext/pg_query/include/port/atomics/arch-x86.h +0 -252
  740. data/ext/pg_query/include/port/atomics/fallback.h +0 -170
  741. data/ext/pg_query/include/port/atomics/generic-gcc.h +0 -286
  742. data/ext/pg_query/include/port/atomics/generic.h +0 -401
  743. data/ext/pg_query/include/port/atomics.h +0 -524
  744. data/ext/pg_query/include/port/pg_bitutils.h +0 -302
  745. data/ext/pg_query/include/port/pg_bswap.h +0 -161
  746. data/ext/pg_query/include/port/pg_crc32c.h +0 -101
  747. data/ext/pg_query/include/port.h +0 -553
  748. data/ext/pg_query/include/portability/instr_time.h +0 -256
  749. data/ext/pg_query/include/postgres.h +0 -808
  750. data/ext/pg_query/include/postgres_ext.h +0 -74
  751. data/ext/pg_query/include/postmaster/autovacuum.h +0 -83
  752. data/ext/pg_query/include/postmaster/auxprocess.h +0 -20
  753. data/ext/pg_query/include/postmaster/bgworker.h +0 -162
  754. data/ext/pg_query/include/postmaster/bgworker_internals.h +0 -64
  755. data/ext/pg_query/include/postmaster/bgwriter.h +0 -45
  756. data/ext/pg_query/include/postmaster/fork_process.h +0 -17
  757. data/ext/pg_query/include/postmaster/interrupt.h +0 -32
  758. data/ext/pg_query/include/postmaster/pgarch.h +0 -73
  759. data/ext/pg_query/include/postmaster/postmaster.h +0 -78
  760. data/ext/pg_query/include/postmaster/startup.h +0 -39
  761. data/ext/pg_query/include/postmaster/syslogger.h +0 -103
  762. data/ext/pg_query/include/postmaster/walwriter.h +0 -21
  763. data/ext/pg_query/include/regex/regex.h +0 -186
  764. data/ext/pg_query/include/replication/logicallauncher.h +0 -29
  765. data/ext/pg_query/include/replication/logicalproto.h +0 -254
  766. data/ext/pg_query/include/replication/logicalworker.h +0 -19
  767. data/ext/pg_query/include/replication/origin.h +0 -73
  768. data/ext/pg_query/include/replication/reorderbuffer.h +0 -685
  769. data/ext/pg_query/include/replication/slot.h +0 -230
  770. data/ext/pg_query/include/replication/syncrep.h +0 -115
  771. data/ext/pg_query/include/replication/walreceiver.h +0 -472
  772. data/ext/pg_query/include/replication/walsender.h +0 -74
  773. data/ext/pg_query/include/rewrite/prs2lock.h +0 -46
  774. data/ext/pg_query/include/rewrite/rewriteHandler.h +0 -38
  775. data/ext/pg_query/include/rewrite/rewriteManip.h +0 -87
  776. data/ext/pg_query/include/rewrite/rewriteSupport.h +0 -26
  777. data/ext/pg_query/include/storage/backendid.h +0 -37
  778. data/ext/pg_query/include/storage/block.h +0 -115
  779. data/ext/pg_query/include/storage/buf.h +0 -46
  780. data/ext/pg_query/include/storage/bufmgr.h +0 -297
  781. data/ext/pg_query/include/storage/bufpage.h +0 -457
  782. data/ext/pg_query/include/storage/condition_variable.h +0 -73
  783. data/ext/pg_query/include/storage/dsm.h +0 -64
  784. data/ext/pg_query/include/storage/dsm_impl.h +0 -76
  785. data/ext/pg_query/include/storage/fd.h +0 -198
  786. data/ext/pg_query/include/storage/fileset.h +0 -40
  787. data/ext/pg_query/include/storage/ipc.h +0 -84
  788. data/ext/pg_query/include/storage/item.h +0 -19
  789. data/ext/pg_query/include/storage/itemid.h +0 -184
  790. data/ext/pg_query/include/storage/itemptr.h +0 -208
  791. data/ext/pg_query/include/storage/large_object.h +0 -100
  792. data/ext/pg_query/include/storage/latch.h +0 -186
  793. data/ext/pg_query/include/storage/lmgr.h +0 -115
  794. data/ext/pg_query/include/storage/lock.h +0 -616
  795. data/ext/pg_query/include/storage/lockdefs.h +0 -59
  796. data/ext/pg_query/include/storage/lwlock.h +0 -206
  797. data/ext/pg_query/include/storage/lwlocknames.h +0 -50
  798. data/ext/pg_query/include/storage/off.h +0 -57
  799. data/ext/pg_query/include/storage/pg_sema.h +0 -61
  800. data/ext/pg_query/include/storage/pg_shmem.h +0 -92
  801. data/ext/pg_query/include/storage/pmsignal.h +0 -105
  802. data/ext/pg_query/include/storage/predicate.h +0 -87
  803. data/ext/pg_query/include/storage/proc.h +0 -461
  804. data/ext/pg_query/include/storage/procarray.h +0 -98
  805. data/ext/pg_query/include/storage/proclist_types.h +0 -51
  806. data/ext/pg_query/include/storage/procsignal.h +0 -71
  807. data/ext/pg_query/include/storage/relfilenode.h +0 -99
  808. data/ext/pg_query/include/storage/s_lock.h +0 -1110
  809. data/ext/pg_query/include/storage/sharedfileset.h +0 -37
  810. data/ext/pg_query/include/storage/shm_mq.h +0 -86
  811. data/ext/pg_query/include/storage/shm_toc.h +0 -58
  812. data/ext/pg_query/include/storage/shmem.h +0 -81
  813. data/ext/pg_query/include/storage/sinval.h +0 -153
  814. data/ext/pg_query/include/storage/sinvaladt.h +0 -43
  815. data/ext/pg_query/include/storage/smgr.h +0 -111
  816. data/ext/pg_query/include/storage/spin.h +0 -77
  817. data/ext/pg_query/include/storage/standby.h +0 -98
  818. data/ext/pg_query/include/storage/standbydefs.h +0 -74
  819. data/ext/pg_query/include/storage/sync.h +0 -66
  820. data/ext/pg_query/include/tcop/cmdtag.h +0 -58
  821. data/ext/pg_query/include/tcop/cmdtaglist.h +0 -218
  822. data/ext/pg_query/include/tcop/deparse_utility.h +0 -108
  823. data/ext/pg_query/include/tcop/dest.h +0 -149
  824. data/ext/pg_query/include/tcop/fastpath.h +0 -20
  825. data/ext/pg_query/include/tcop/pquery.h +0 -51
  826. data/ext/pg_query/include/tcop/tcopprot.h +0 -97
  827. data/ext/pg_query/include/tcop/utility.h +0 -112
  828. data/ext/pg_query/include/tsearch/ts_cache.h +0 -98
  829. data/ext/pg_query/include/utils/acl.h +0 -333
  830. data/ext/pg_query/include/utils/aclchk_internal.h +0 -45
  831. data/ext/pg_query/include/utils/array.h +0 -464
  832. data/ext/pg_query/include/utils/backend_progress.h +0 -44
  833. data/ext/pg_query/include/utils/backend_status.h +0 -321
  834. data/ext/pg_query/include/utils/builtins.h +0 -127
  835. data/ext/pg_query/include/utils/bytea.h +0 -28
  836. data/ext/pg_query/include/utils/catcache.h +0 -231
  837. data/ext/pg_query/include/utils/date.h +0 -90
  838. data/ext/pg_query/include/utils/datetime.h +0 -344
  839. data/ext/pg_query/include/utils/datum.h +0 -76
  840. data/ext/pg_query/include/utils/dsa.h +0 -123
  841. data/ext/pg_query/include/utils/dynahash.h +0 -20
  842. data/ext/pg_query/include/utils/elog.h +0 -470
  843. data/ext/pg_query/include/utils/errcodes.h +0 -354
  844. data/ext/pg_query/include/utils/expandeddatum.h +0 -159
  845. data/ext/pg_query/include/utils/expandedrecord.h +0 -231
  846. data/ext/pg_query/include/utils/float.h +0 -356
  847. data/ext/pg_query/include/utils/fmgroids.h +0 -3261
  848. data/ext/pg_query/include/utils/fmgrprotos.h +0 -2829
  849. data/ext/pg_query/include/utils/fmgrtab.h +0 -49
  850. data/ext/pg_query/include/utils/guc.h +0 -469
  851. data/ext/pg_query/include/utils/guc_tables.h +0 -276
  852. data/ext/pg_query/include/utils/hsearch.h +0 -153
  853. data/ext/pg_query/include/utils/inval.h +0 -68
  854. data/ext/pg_query/include/utils/lsyscache.h +0 -208
  855. data/ext/pg_query/include/utils/memdebug.h +0 -82
  856. data/ext/pg_query/include/utils/memutils.h +0 -230
  857. data/ext/pg_query/include/utils/numeric.h +0 -90
  858. data/ext/pg_query/include/utils/palloc.h +0 -158
  859. data/ext/pg_query/include/utils/partcache.h +0 -102
  860. data/ext/pg_query/include/utils/pg_locale.h +0 -127
  861. data/ext/pg_query/include/utils/pg_lsn.h +0 -29
  862. data/ext/pg_query/include/utils/pgstat_internal.h +0 -784
  863. data/ext/pg_query/include/utils/pidfile.h +0 -56
  864. data/ext/pg_query/include/utils/plancache.h +0 -236
  865. data/ext/pg_query/include/utils/portal.h +0 -252
  866. data/ext/pg_query/include/utils/probes.h +0 -114
  867. data/ext/pg_query/include/utils/ps_status.h +0 -25
  868. data/ext/pg_query/include/utils/queryenvironment.h +0 -74
  869. data/ext/pg_query/include/utils/queryjumble.h +0 -88
  870. data/ext/pg_query/include/utils/regproc.h +0 -39
  871. data/ext/pg_query/include/utils/rel.h +0 -695
  872. data/ext/pg_query/include/utils/relcache.h +0 -153
  873. data/ext/pg_query/include/utils/reltrigger.h +0 -81
  874. data/ext/pg_query/include/utils/resowner.h +0 -86
  875. data/ext/pg_query/include/utils/rls.h +0 -50
  876. data/ext/pg_query/include/utils/ruleutils.h +0 -47
  877. data/ext/pg_query/include/utils/sharedtuplestore.h +0 -61
  878. data/ext/pg_query/include/utils/snapmgr.h +0 -179
  879. data/ext/pg_query/include/utils/snapshot.h +0 -219
  880. data/ext/pg_query/include/utils/sortsupport.h +0 -391
  881. data/ext/pg_query/include/utils/syscache.h +0 -224
  882. data/ext/pg_query/include/utils/timeout.h +0 -95
  883. data/ext/pg_query/include/utils/timestamp.h +0 -117
  884. data/ext/pg_query/include/utils/tuplesort.h +0 -291
  885. data/ext/pg_query/include/utils/tuplestore.h +0 -91
  886. data/ext/pg_query/include/utils/typcache.h +0 -209
  887. data/ext/pg_query/include/utils/tzparser.h +0 -39
  888. data/ext/pg_query/include/utils/varlena.h +0 -41
  889. data/ext/pg_query/include/utils/wait_event.h +0 -289
  890. data/ext/pg_query/include/utils/xml.h +0 -84
  891. data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2201
  892. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -371
  893. data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1116
  894. data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1993
  895. data/ext/pg_query/src_common_pg_prng.c +0 -152
  896. data/ext/pg_query/src_common_string.c +0 -92
  897. data/ext/pg_query/src_port_pgsleep.c +0 -69
  898. data/ext/pg_query/src_port_strnlen.c +0 -39
  899. /data/ext/pg_query/{pg_query_ruby.sym → ext_symbols.sym} +0 -0
  900. /data/ext/pg_query/include/{access → postgres/access}/rmgr.h +0 -0
  901. /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
@@ -0,0 +1,49 @@
1
+ /*-------------------------------------------------------------------------
2
+ *
3
+ * fmgrtab.h
4
+ * The function manager's table of internal functions.
5
+ *
6
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
7
+ * Portions Copyright (c) 1994, Regents of the University of California
8
+ *
9
+ * src/include/utils/fmgrtab.h
10
+ *
11
+ *-------------------------------------------------------------------------
12
+ */
13
+ #ifndef FMGRTAB_H
14
+ #define FMGRTAB_H
15
+
16
+ #include "access/transam.h"
17
+ #include "fmgr.h"
18
+
19
+
20
+ /*
21
+ * This table stores info about all the built-in functions (ie, functions
22
+ * that are compiled into the Postgres executable).
23
+ */
24
+
25
+ typedef struct
26
+ {
27
+ Oid foid; /* OID of the function */
28
+ short nargs; /* 0..FUNC_MAX_ARGS, or -1 if variable count */
29
+ bool strict; /* T if function is "strict" */
30
+ bool retset; /* T if function returns a set */
31
+ const char *funcName; /* C name of the function */
32
+ PGFunction func; /* pointer to compiled function */
33
+ } FmgrBuiltin;
34
+
35
+ extern PGDLLIMPORT const FmgrBuiltin fmgr_builtins[];
36
+
37
+ extern PGDLLIMPORT const int fmgr_nbuiltins; /* number of entries in table */
38
+
39
+ extern PGDLLIMPORT const Oid fmgr_last_builtin_oid; /* highest function OID in
40
+ * table */
41
+
42
+ /*
43
+ * Mapping from a builtin function's OID to its index in the fmgr_builtins
44
+ * array. This is indexed from 0 through fmgr_last_builtin_oid.
45
+ */
46
+ #define InvalidOidBuiltinMapping PG_UINT16_MAX
47
+ extern PGDLLIMPORT const uint16 fmgr_builtin_oid_index[];
48
+
49
+ #endif /* FMGRTAB_H */
@@ -0,0 +1,456 @@
1
+ /*--------------------------------------------------------------------
2
+ * guc.h
3
+ *
4
+ * External declarations pertaining to Grand Unified Configuration.
5
+ *
6
+ * Copyright (c) 2000-2024, PostgreSQL Global Development Group
7
+ * Written by Peter Eisentraut <peter_e@gmx.net>.
8
+ *
9
+ * src/include/utils/guc.h
10
+ *--------------------------------------------------------------------
11
+ */
12
+ #ifndef GUC_H
13
+ #define GUC_H
14
+
15
+ #include "nodes/parsenodes.h"
16
+ #include "tcop/dest.h"
17
+ #include "utils/array.h"
18
+
19
+
20
+ /* upper limit for GUC variables measured in kilobytes of memory */
21
+ /* note that various places assume the byte size fits in a "long" variable */
22
+ #if SIZEOF_SIZE_T > 4 && SIZEOF_LONG > 4
23
+ #define MAX_KILOBYTES INT_MAX
24
+ #else
25
+ #define MAX_KILOBYTES (INT_MAX / 1024)
26
+ #endif
27
+
28
+ /*
29
+ * Automatic configuration file name for ALTER SYSTEM.
30
+ * This file will be used to store values of configuration parameters
31
+ * set by ALTER SYSTEM command.
32
+ */
33
+ #define PG_AUTOCONF_FILENAME "postgresql.auto.conf"
34
+
35
+ /*
36
+ * Certain options can only be set at certain times. The rules are
37
+ * like this:
38
+ *
39
+ * INTERNAL options cannot be set by the user at all, but only through
40
+ * internal processes ("server_version" is an example). These are GUC
41
+ * variables only so they can be shown by SHOW, etc.
42
+ *
43
+ * POSTMASTER options can only be set when the postmaster starts,
44
+ * either from the configuration file or the command line.
45
+ *
46
+ * SIGHUP options can only be set at postmaster startup or by changing
47
+ * the configuration file and sending the HUP signal to the postmaster
48
+ * or a backend process. (Notice that the signal receipt will not be
49
+ * evaluated immediately. The postmaster and the backend check it at a
50
+ * certain point in their main loop. It's safer to wait than to read a
51
+ * file asynchronously.)
52
+ *
53
+ * BACKEND and SU_BACKEND options can only be set at postmaster startup,
54
+ * from the configuration file, or by client request in the connection
55
+ * startup packet (e.g., from libpq's PGOPTIONS variable). SU_BACKEND
56
+ * options can be set from the startup packet only when the user is a
57
+ * superuser. Furthermore, an already-started backend will ignore changes
58
+ * to such an option in the configuration file. The idea is that these
59
+ * options are fixed for a given backend once it's started, but they can
60
+ * vary across backends.
61
+ *
62
+ * SUSET options can be set at postmaster startup, with the SIGHUP
63
+ * mechanism, or from the startup packet or SQL if you're a superuser.
64
+ *
65
+ * USERSET options can be set by anyone any time.
66
+ */
67
+ typedef enum
68
+ {
69
+ PGC_INTERNAL,
70
+ PGC_POSTMASTER,
71
+ PGC_SIGHUP,
72
+ PGC_SU_BACKEND,
73
+ PGC_BACKEND,
74
+ PGC_SUSET,
75
+ PGC_USERSET,
76
+ } GucContext;
77
+
78
+ /*
79
+ * The following type records the source of the current setting. A
80
+ * new setting can only take effect if the previous setting had the
81
+ * same or lower level. (E.g, changing the config file doesn't
82
+ * override the postmaster command line.) Tracking the source allows us
83
+ * to process sources in any convenient order without affecting results.
84
+ * Sources <= PGC_S_OVERRIDE will set the default used by RESET, as well
85
+ * as the current value.
86
+ *
87
+ * PGC_S_INTERACTIVE isn't actually a source value, but is the
88
+ * dividing line between "interactive" and "non-interactive" sources for
89
+ * error reporting purposes.
90
+ *
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
97
+ * shouldn't throw hard errors in this case, at most NOTICEs, since the
98
+ * objects might exist by the time the setting is used for real.
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
+ *
105
+ * NB: see GucSource_Names in guc.c if you change this.
106
+ */
107
+ typedef enum
108
+ {
109
+ PGC_S_DEFAULT, /* hard-wired default ("boot_val") */
110
+ PGC_S_DYNAMIC_DEFAULT, /* default computed during initialization */
111
+ PGC_S_ENV_VAR, /* postmaster environment variable */
112
+ PGC_S_FILE, /* postgresql.conf */
113
+ PGC_S_ARGV, /* postmaster command line */
114
+ PGC_S_GLOBAL, /* global in-database setting */
115
+ PGC_S_DATABASE, /* per-database setting */
116
+ PGC_S_USER, /* per-user setting */
117
+ PGC_S_DATABASE_USER, /* per-user-and-database setting */
118
+ PGC_S_CLIENT, /* from client connection request */
119
+ PGC_S_OVERRIDE, /* special case to forcibly set default */
120
+ PGC_S_INTERACTIVE, /* dividing line for error reporting */
121
+ PGC_S_TEST, /* test per-database or per-user setting */
122
+ PGC_S_SESSION, /* SET command */
123
+ } GucSource;
124
+
125
+ /*
126
+ * Parsing the configuration file(s) will return a list of name-value pairs
127
+ * with source location info. We also abuse this data structure to carry
128
+ * error reports about the config files. An entry reporting an error will
129
+ * have errmsg != NULL, and might have NULLs for name, value, and/or filename.
130
+ *
131
+ * If "ignore" is true, don't attempt to apply the item (it might be an error
132
+ * report, or an item we determined to be duplicate). "applied" is set true
133
+ * if we successfully applied, or could have applied, the setting.
134
+ */
135
+ typedef struct ConfigVariable
136
+ {
137
+ char *name;
138
+ char *value;
139
+ char *errmsg;
140
+ char *filename;
141
+ int sourceline;
142
+ bool ignore;
143
+ bool applied;
144
+ struct ConfigVariable *next;
145
+ } ConfigVariable;
146
+
147
+ typedef struct config_generic config_handle;
148
+
149
+ extern bool ParseConfigFile(const char *config_file, bool strict,
150
+ const char *calling_file, int calling_lineno,
151
+ int depth, int elevel,
152
+ ConfigVariable **head_p, ConfigVariable **tail_p);
153
+ extern bool ParseConfigFp(FILE *fp, const char *config_file,
154
+ int depth, int elevel,
155
+ ConfigVariable **head_p, ConfigVariable **tail_p);
156
+ extern bool ParseConfigDirectory(const char *includedir,
157
+ const char *calling_file, int calling_lineno,
158
+ int depth, int elevel,
159
+ ConfigVariable **head_p,
160
+ ConfigVariable **tail_p);
161
+ extern void FreeConfigVariables(ConfigVariable *list);
162
+ extern char *DeescapeQuotedString(const char *s);
163
+
164
+ /*
165
+ * The possible values of an enum variable are specified by an array of
166
+ * name-value pairs. The "hidden" flag means the value is accepted but
167
+ * won't be displayed when guc.c is asked for a list of acceptable values.
168
+ */
169
+ struct config_enum_entry
170
+ {
171
+ const char *name;
172
+ int val;
173
+ bool hidden;
174
+ };
175
+
176
+ /*
177
+ * Signatures for per-variable check/assign/show hook functions
178
+ */
179
+ typedef bool (*GucBoolCheckHook) (bool *newval, void **extra, GucSource source);
180
+ typedef bool (*GucIntCheckHook) (int *newval, void **extra, GucSource source);
181
+ typedef bool (*GucRealCheckHook) (double *newval, void **extra, GucSource source);
182
+ typedef bool (*GucStringCheckHook) (char **newval, void **extra, GucSource source);
183
+ typedef bool (*GucEnumCheckHook) (int *newval, void **extra, GucSource source);
184
+
185
+ typedef void (*GucBoolAssignHook) (bool newval, void *extra);
186
+ typedef void (*GucIntAssignHook) (int newval, void *extra);
187
+ typedef void (*GucRealAssignHook) (double newval, void *extra);
188
+ typedef void (*GucStringAssignHook) (const char *newval, void *extra);
189
+ typedef void (*GucEnumAssignHook) (int newval, void *extra);
190
+
191
+ typedef const char *(*GucShowHook) (void);
192
+
193
+ /*
194
+ * Miscellaneous
195
+ */
196
+ typedef enum
197
+ {
198
+ /* Types of set_config_option actions */
199
+ GUC_ACTION_SET, /* regular SET command */
200
+ GUC_ACTION_LOCAL, /* SET LOCAL command */
201
+ GUC_ACTION_SAVE, /* function SET option, or temp assignment */
202
+ } GucAction;
203
+
204
+ #define GUC_QUALIFIER_SEPARATOR '.'
205
+
206
+ /*
207
+ * Bit values in "flags" of a GUC variable. Note that these don't appear
208
+ * on disk, so we can reassign their values freely.
209
+ */
210
+ #define GUC_LIST_INPUT 0x000001 /* input can be list format */
211
+ #define GUC_LIST_QUOTE 0x000002 /* double-quote list elements */
212
+ #define GUC_NO_SHOW_ALL 0x000004 /* exclude from SHOW ALL */
213
+ #define GUC_NO_RESET 0x000008 /* disallow RESET and SAVE */
214
+ #define GUC_NO_RESET_ALL 0x000010 /* exclude from RESET ALL */
215
+ #define GUC_EXPLAIN 0x000020 /* include in EXPLAIN */
216
+ #define GUC_REPORT 0x000040 /* auto-report changes to client */
217
+ #define GUC_NOT_IN_SAMPLE 0x000080 /* not in postgresql.conf.sample */
218
+ #define GUC_DISALLOW_IN_FILE 0x000100 /* can't set in postgresql.conf */
219
+ #define GUC_CUSTOM_PLACEHOLDER 0x000200 /* placeholder for custom variable */
220
+ #define GUC_SUPERUSER_ONLY 0x000400 /* show only to superusers */
221
+ #define GUC_IS_NAME 0x000800 /* limit string to NAMEDATALEN-1 */
222
+ #define GUC_NOT_WHILE_SEC_REST 0x001000 /* can't set if security restricted */
223
+ #define GUC_DISALLOW_IN_AUTO_FILE \
224
+ 0x002000 /* can't set in PG_AUTOCONF_FILENAME */
225
+ #define GUC_RUNTIME_COMPUTED 0x004000 /* delay processing in 'postgres -C' */
226
+ #define GUC_ALLOW_IN_PARALLEL 0x008000 /* allow setting in parallel mode */
227
+
228
+ #define GUC_UNIT_KB 0x01000000 /* value is in kilobytes */
229
+ #define GUC_UNIT_BLOCKS 0x02000000 /* value is in blocks */
230
+ #define GUC_UNIT_XBLOCKS 0x03000000 /* value is in xlog blocks */
231
+ #define GUC_UNIT_MB 0x04000000 /* value is in megabytes */
232
+ #define GUC_UNIT_BYTE 0x05000000 /* value is in bytes */
233
+ #define GUC_UNIT_MEMORY 0x0F000000 /* mask for size-related units */
234
+
235
+ #define GUC_UNIT_MS 0x10000000 /* value is in milliseconds */
236
+ #define GUC_UNIT_S 0x20000000 /* value is in seconds */
237
+ #define GUC_UNIT_MIN 0x30000000 /* value is in minutes */
238
+ #define GUC_UNIT_TIME 0x70000000 /* mask for time-related units */
239
+
240
+ #define GUC_UNIT (GUC_UNIT_MEMORY | GUC_UNIT_TIME)
241
+
242
+
243
+ /* GUC vars that are actually defined in guc_tables.c, rather than elsewhere */
244
+ extern PGDLLIMPORT bool Debug_print_plan;
245
+ extern PGDLLIMPORT bool Debug_print_parse;
246
+ extern PGDLLIMPORT bool Debug_print_rewritten;
247
+ extern PGDLLIMPORT bool Debug_pretty_print;
248
+
249
+ extern PGDLLIMPORT bool log_parser_stats;
250
+ extern PGDLLIMPORT bool log_planner_stats;
251
+ extern PGDLLIMPORT bool log_executor_stats;
252
+ extern PGDLLIMPORT bool log_statement_stats;
253
+ extern PGDLLIMPORT bool log_btree_build_stats;
254
+
255
+ extern PGDLLIMPORT __thread bool check_function_bodies;
256
+ extern PGDLLIMPORT bool current_role_is_superuser;
257
+
258
+ extern PGDLLIMPORT bool AllowAlterSystem;
259
+ extern PGDLLIMPORT bool log_duration;
260
+ extern PGDLLIMPORT int log_parameter_max_length;
261
+ extern PGDLLIMPORT int log_parameter_max_length_on_error;
262
+ extern PGDLLIMPORT int log_min_error_statement;
263
+ extern PGDLLIMPORT __thread int log_min_messages;
264
+ extern PGDLLIMPORT int client_min_messages;
265
+ extern PGDLLIMPORT int log_min_duration_sample;
266
+ extern PGDLLIMPORT int log_min_duration_statement;
267
+ extern PGDLLIMPORT int log_temp_files;
268
+ extern PGDLLIMPORT double log_statement_sample_rate;
269
+ extern PGDLLIMPORT double log_xact_sample_rate;
270
+ extern PGDLLIMPORT __thread char *backtrace_functions;
271
+
272
+ extern PGDLLIMPORT int temp_file_limit;
273
+
274
+ extern PGDLLIMPORT int num_temp_buffers;
275
+
276
+ extern PGDLLIMPORT char *cluster_name;
277
+ extern PGDLLIMPORT char *ConfigFileName;
278
+ extern PGDLLIMPORT char *HbaFileName;
279
+ extern PGDLLIMPORT char *IdentFileName;
280
+ extern PGDLLIMPORT char *external_pid_file;
281
+
282
+ extern PGDLLIMPORT char *application_name;
283
+
284
+ extern PGDLLIMPORT int tcp_keepalives_idle;
285
+ extern PGDLLIMPORT int tcp_keepalives_interval;
286
+ extern PGDLLIMPORT int tcp_keepalives_count;
287
+ extern PGDLLIMPORT int tcp_user_timeout;
288
+
289
+ #ifdef TRACE_SORT
290
+ extern PGDLLIMPORT bool trace_sort;
291
+ #endif
292
+
293
+ /*
294
+ * Functions exported by guc.c
295
+ */
296
+ extern void SetConfigOption(const char *name, const char *value,
297
+ GucContext context, GucSource source);
298
+
299
+ extern void DefineCustomBoolVariable(const char *name,
300
+ const char *short_desc,
301
+ const char *long_desc,
302
+ bool *valueAddr,
303
+ bool bootValue,
304
+ GucContext context,
305
+ int flags,
306
+ GucBoolCheckHook check_hook,
307
+ GucBoolAssignHook assign_hook,
308
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
309
+
310
+ extern void DefineCustomIntVariable(const char *name,
311
+ const char *short_desc,
312
+ const char *long_desc,
313
+ int *valueAddr,
314
+ int bootValue,
315
+ int minValue,
316
+ int maxValue,
317
+ GucContext context,
318
+ int flags,
319
+ GucIntCheckHook check_hook,
320
+ GucIntAssignHook assign_hook,
321
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
322
+
323
+ extern void DefineCustomRealVariable(const char *name,
324
+ const char *short_desc,
325
+ const char *long_desc,
326
+ double *valueAddr,
327
+ double bootValue,
328
+ double minValue,
329
+ double maxValue,
330
+ GucContext context,
331
+ int flags,
332
+ GucRealCheckHook check_hook,
333
+ GucRealAssignHook assign_hook,
334
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
335
+
336
+ extern void DefineCustomStringVariable(const char *name,
337
+ const char *short_desc,
338
+ const char *long_desc,
339
+ char **valueAddr,
340
+ const char *bootValue,
341
+ GucContext context,
342
+ int flags,
343
+ GucStringCheckHook check_hook,
344
+ GucStringAssignHook assign_hook,
345
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
346
+
347
+ extern void DefineCustomEnumVariable(const char *name,
348
+ const char *short_desc,
349
+ const char *long_desc,
350
+ int *valueAddr,
351
+ int bootValue,
352
+ const struct config_enum_entry *options,
353
+ GucContext context,
354
+ int flags,
355
+ GucEnumCheckHook check_hook,
356
+ GucEnumAssignHook assign_hook,
357
+ GucShowHook show_hook) pg_attribute_nonnull(1, 4);
358
+
359
+ extern void MarkGUCPrefixReserved(const char *className);
360
+
361
+ /* old name for MarkGUCPrefixReserved, for backwards compatibility: */
362
+ #define EmitWarningsOnPlaceholders(className) MarkGUCPrefixReserved(className)
363
+
364
+ extern const char *GetConfigOption(const char *name, bool missing_ok,
365
+ bool restrict_privileged);
366
+ extern const char *GetConfigOptionResetString(const char *name);
367
+ extern int GetConfigOptionFlags(const char *name, bool missing_ok);
368
+ extern void ProcessConfigFile(GucContext context);
369
+ extern char *convert_GUC_name_for_parameter_acl(const char *name);
370
+ extern void check_GUC_name_for_parameter_acl(const char *name);
371
+ extern void InitializeGUCOptions(void);
372
+ extern bool SelectConfigFiles(const char *userDoption, const char *progname);
373
+ extern void ResetAllOptions(void);
374
+ extern void AtStart_GUC(void);
375
+ extern int NewGUCNestLevel(void);
376
+ extern void RestrictSearchPath(void);
377
+ extern void AtEOXact_GUC(bool isCommit, int nestLevel);
378
+ extern void BeginReportingGUCOptions(void);
379
+ extern void ReportChangedGUCOptions(void);
380
+ extern void ParseLongOption(const char *string, char **name, char **value);
381
+ extern const char *get_config_unit_name(int flags);
382
+ extern bool parse_int(const char *value, int *result, int flags,
383
+ const char **hintmsg);
384
+ extern bool parse_real(const char *value, double *result, int flags,
385
+ const char **hintmsg);
386
+ extern int set_config_option(const char *name, const char *value,
387
+ GucContext context, GucSource source,
388
+ GucAction action, bool changeVal, int elevel,
389
+ bool is_reload);
390
+ extern int set_config_option_ext(const char *name, const char *value,
391
+ GucContext context, GucSource source,
392
+ Oid srole,
393
+ GucAction action, bool changeVal, int elevel,
394
+ bool is_reload);
395
+ extern int set_config_with_handle(const char *name, config_handle *handle,
396
+ const char *value,
397
+ GucContext context, GucSource source,
398
+ Oid srole,
399
+ GucAction action, bool changeVal,
400
+ int elevel, bool is_reload);
401
+ extern config_handle *get_config_handle(const char *name);
402
+ extern void AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt);
403
+ extern char *GetConfigOptionByName(const char *name, const char **varname,
404
+ bool missing_ok);
405
+
406
+ extern void TransformGUCArray(ArrayType *array, List **names,
407
+ List **values);
408
+ extern void ProcessGUCArray(ArrayType *array,
409
+ GucContext context, GucSource source, GucAction action);
410
+ extern ArrayType *GUCArrayAdd(ArrayType *array, const char *name, const char *value);
411
+ extern ArrayType *GUCArrayDelete(ArrayType *array, const char *name);
412
+ extern ArrayType *GUCArrayReset(ArrayType *array);
413
+
414
+ extern void *guc_malloc(int elevel, size_t size);
415
+ extern pg_nodiscard void *guc_realloc(int elevel, void *old, size_t size);
416
+ extern char *guc_strdup(int elevel, const char *src);
417
+ extern void guc_free(void *ptr);
418
+
419
+ #ifdef EXEC_BACKEND
420
+ extern void write_nondefault_variables(GucContext context);
421
+ extern void read_nondefault_variables(void);
422
+ #endif
423
+
424
+ /* GUC serialization */
425
+ extern Size EstimateGUCStateSpace(void);
426
+ extern void SerializeGUCState(Size maxsize, char *start_address);
427
+ extern void RestoreGUCState(void *gucstate);
428
+
429
+ /* Functions exported by guc_funcs.c */
430
+ extern void ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel);
431
+ extern char *ExtractSetVariableArgs(VariableSetStmt *stmt);
432
+ extern void SetPGVariable(const char *name, List *args, bool is_local);
433
+ extern void GetPGVariable(const char *name, DestReceiver *dest);
434
+ extern TupleDesc GetPGVariableResultDesc(const char *name);
435
+
436
+ /* Support for messages reported from GUC check hooks */
437
+
438
+ extern PGDLLIMPORT char *GUC_check_errmsg_string;
439
+ extern PGDLLIMPORT char *GUC_check_errdetail_string;
440
+ extern PGDLLIMPORT char *GUC_check_errhint_string;
441
+
442
+ extern void GUC_check_errcode(int sqlerrcode);
443
+
444
+ #define GUC_check_errmsg \
445
+ pre_format_elog_string(errno, TEXTDOMAIN), \
446
+ GUC_check_errmsg_string = format_elog_string
447
+
448
+ #define GUC_check_errdetail \
449
+ pre_format_elog_string(errno, TEXTDOMAIN), \
450
+ GUC_check_errdetail_string = format_elog_string
451
+
452
+ #define GUC_check_errhint \
453
+ pre_format_elog_string(errno, TEXTDOMAIN), \
454
+ GUC_check_errhint_string = format_elog_string
455
+
456
+ #endif /* GUC_H */
@@ -0,0 +1,184 @@
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-2024, 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 bool check_commit_ts_buffers(int *newval, void **extra,
50
+ GucSource source);
51
+ extern const char *show_data_directory_mode(void);
52
+ extern bool check_datestyle(char **newval, void **extra, GucSource source);
53
+ extern void assign_datestyle(const char *newval, void *extra);
54
+ extern bool check_debug_io_direct(char **newval, void **extra, GucSource source);
55
+ extern void assign_debug_io_direct(const char *newval, void *extra);
56
+ extern bool check_default_table_access_method(char **newval, void **extra,
57
+ GucSource source);
58
+ extern bool check_default_tablespace(char **newval, void **extra,
59
+ GucSource source);
60
+ extern bool check_default_text_search_config(char **newval, void **extra, GucSource source);
61
+ extern void assign_default_text_search_config(const char *newval, void *extra);
62
+ extern bool check_default_with_oids(bool *newval, void **extra,
63
+ GucSource source);
64
+ extern bool check_effective_io_concurrency(int *newval, void **extra,
65
+ GucSource source);
66
+ extern bool check_huge_page_size(int *newval, void **extra, GucSource source);
67
+ extern const char *show_in_hot_standby(void);
68
+ extern bool check_locale_messages(char **newval, void **extra, GucSource source);
69
+ extern void assign_locale_messages(const char *newval, void *extra);
70
+ extern bool check_locale_monetary(char **newval, void **extra, GucSource source);
71
+ extern void assign_locale_monetary(const char *newval, void *extra);
72
+ extern bool check_locale_numeric(char **newval, void **extra, GucSource source);
73
+ extern void assign_locale_numeric(const char *newval, void *extra);
74
+ extern bool check_locale_time(char **newval, void **extra, GucSource source);
75
+ extern void assign_locale_time(const char *newval, void *extra);
76
+ extern bool check_log_destination(char **newval, void **extra,
77
+ GucSource source);
78
+ extern void assign_log_destination(const char *newval, void *extra);
79
+ extern const char *show_log_file_mode(void);
80
+ extern bool check_log_stats(bool *newval, void **extra, GucSource source);
81
+ extern bool check_log_timezone(char **newval, void **extra, GucSource source);
82
+ extern void assign_log_timezone(const char *newval, void *extra);
83
+ extern const char *show_log_timezone(void);
84
+ extern bool check_maintenance_io_concurrency(int *newval, void **extra,
85
+ GucSource source);
86
+ extern void assign_maintenance_io_concurrency(int newval, void *extra);
87
+ extern bool check_max_connections(int *newval, void **extra, GucSource source);
88
+ extern bool check_max_wal_senders(int *newval, void **extra, GucSource source);
89
+ extern bool check_max_slot_wal_keep_size(int *newval, void **extra,
90
+ GucSource source);
91
+ extern void assign_max_wal_size(int newval, void *extra);
92
+ extern bool check_max_worker_processes(int *newval, void **extra,
93
+ GucSource source);
94
+ extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
95
+ extern void assign_max_stack_depth(int newval, void *extra);
96
+ extern bool check_multixact_member_buffers(int *newval, void **extra,
97
+ GucSource source);
98
+ extern bool check_multixact_offset_buffers(int *newval, void **extra,
99
+ GucSource source);
100
+ extern bool check_notify_buffers(int *newval, void **extra, GucSource source);
101
+ extern bool check_primary_slot_name(char **newval, void **extra,
102
+ GucSource source);
103
+ extern bool check_random_seed(double *newval, void **extra, GucSource source);
104
+ extern void assign_random_seed(double newval, void *extra);
105
+ extern const char *show_random_seed(void);
106
+ extern bool check_recovery_prefetch(int *new_value, void **extra,
107
+ GucSource source);
108
+ extern void assign_recovery_prefetch(int new_value, void *extra);
109
+ extern bool check_recovery_target(char **newval, void **extra,
110
+ GucSource source);
111
+ extern void assign_recovery_target(const char *newval, void *extra);
112
+ extern bool check_recovery_target_lsn(char **newval, void **extra,
113
+ GucSource source);
114
+ extern void assign_recovery_target_lsn(const char *newval, void *extra);
115
+ extern bool check_recovery_target_name(char **newval, void **extra,
116
+ GucSource source);
117
+ extern void assign_recovery_target_name(const char *newval, void *extra);
118
+ extern bool check_recovery_target_time(char **newval, void **extra,
119
+ GucSource source);
120
+ extern void assign_recovery_target_time(const char *newval, void *extra);
121
+ extern bool check_recovery_target_timeline(char **newval, void **extra,
122
+ GucSource source);
123
+ extern void assign_recovery_target_timeline(const char *newval, void *extra);
124
+ extern bool check_recovery_target_xid(char **newval, void **extra,
125
+ GucSource source);
126
+ extern void assign_recovery_target_xid(const char *newval, void *extra);
127
+ extern bool check_role(char **newval, void **extra, GucSource source);
128
+ extern void assign_role(const char *newval, void *extra);
129
+ extern const char *show_role(void);
130
+ extern bool check_restrict_nonsystem_relation_kind(char **newval, void **extra,
131
+ GucSource source);
132
+ extern void assign_restrict_nonsystem_relation_kind(const char *newval, void *extra);
133
+ extern bool check_search_path(char **newval, void **extra, GucSource source);
134
+ extern void assign_search_path(const char *newval, void *extra);
135
+ extern bool check_serial_buffers(int *newval, void **extra, GucSource source);
136
+ extern bool check_session_authorization(char **newval, void **extra, GucSource source);
137
+ extern void assign_session_authorization(const char *newval, void *extra);
138
+ extern void assign_session_replication_role(int newval, void *extra);
139
+ extern void assign_stats_fetch_consistency(int newval, void *extra);
140
+ extern bool check_ssl(bool *newval, void **extra, GucSource source);
141
+ extern bool check_stage_log_stats(bool *newval, void **extra, GucSource source);
142
+ extern bool check_subtrans_buffers(int *newval, void **extra,
143
+ GucSource source);
144
+ extern bool check_synchronous_standby_names(char **newval, void **extra,
145
+ GucSource source);
146
+ extern void assign_synchronous_standby_names(const char *newval, void *extra);
147
+ extern void assign_synchronous_commit(int newval, void *extra);
148
+ extern void assign_syslog_facility(int newval, void *extra);
149
+ extern void assign_syslog_ident(const char *newval, void *extra);
150
+ extern void assign_tcp_keepalives_count(int newval, void *extra);
151
+ extern const char *show_tcp_keepalives_count(void);
152
+ extern void assign_tcp_keepalives_idle(int newval, void *extra);
153
+ extern const char *show_tcp_keepalives_idle(void);
154
+ extern void assign_tcp_keepalives_interval(int newval, void *extra);
155
+ extern const char *show_tcp_keepalives_interval(void);
156
+ extern void assign_tcp_user_timeout(int newval, void *extra);
157
+ extern const char *show_tcp_user_timeout(void);
158
+ extern bool check_temp_buffers(int *newval, void **extra, GucSource source);
159
+ extern bool check_temp_tablespaces(char **newval, void **extra,
160
+ GucSource source);
161
+ extern void assign_temp_tablespaces(const char *newval, void *extra);
162
+ extern bool check_timezone(char **newval, void **extra, GucSource source);
163
+ extern void assign_timezone(const char *newval, void *extra);
164
+ extern const char *show_timezone(void);
165
+ extern bool check_timezone_abbreviations(char **newval, void **extra,
166
+ GucSource source);
167
+ extern void assign_timezone_abbreviations(const char *newval, void *extra);
168
+ extern bool check_transaction_buffers(int *newval, void **extra, GucSource source);
169
+ extern bool check_transaction_deferrable(bool *newval, void **extra, GucSource source);
170
+ extern bool check_transaction_isolation(int *newval, void **extra, GucSource source);
171
+ extern bool check_transaction_read_only(bool *newval, void **extra, GucSource source);
172
+ extern void assign_transaction_timeout(int newval, void *extra);
173
+ extern const char *show_unix_socket_permissions(void);
174
+ extern bool check_wal_buffers(int *newval, void **extra, GucSource source);
175
+ extern bool check_wal_consistency_checking(char **newval, void **extra,
176
+ GucSource source);
177
+ extern void assign_wal_consistency_checking(const char *newval, void *extra);
178
+ extern bool check_wal_segment_size(int *newval, void **extra, GucSource source);
179
+ extern void assign_wal_sync_method(int new_wal_sync_method, void *extra);
180
+ extern bool check_synchronized_standby_slots(char **newval, void **extra,
181
+ GucSource source);
182
+ extern void assign_synchronized_standby_slots(const char *newval, void *extra);
183
+
184
+ #endif /* GUC_HOOKS_H */