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
@@ -0,0 +1,579 @@
1
+ /*-------------------------------------------------------------------------
2
+ *
3
+ * postgres.h
4
+ * Primary include file for PostgreSQL server .c files
5
+ *
6
+ * This should be the first file included by PostgreSQL backend modules.
7
+ * Client-side code should include postgres_fe.h instead.
8
+ *
9
+ *
10
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
11
+ * Portions Copyright (c) 1995, Regents of the University of California
12
+ *
13
+ * src/include/postgres.h
14
+ *
15
+ *-------------------------------------------------------------------------
16
+ */
17
+ /*
18
+ *----------------------------------------------------------------
19
+ * TABLE OF CONTENTS
20
+ *
21
+ * When adding stuff to this file, please try to put stuff
22
+ * into the relevant section, or add new sections as appropriate.
23
+ *
24
+ * section description
25
+ * ------- ------------------------------------------------
26
+ * 1) Datum type + support functions
27
+ * 2) miscellaneous
28
+ *
29
+ * NOTES
30
+ *
31
+ * In general, this file should contain declarations that are widely needed
32
+ * in the backend environment, but are of no interest outside the backend.
33
+ *
34
+ * Simple type definitions live in c.h, where they are shared with
35
+ * postgres_fe.h. We do that since those type definitions are needed by
36
+ * frontend modules that want to deal with binary data transmission to or
37
+ * from the backend. Type definitions in this file should be for
38
+ * representations that never escape the backend, such as Datum.
39
+ *
40
+ *----------------------------------------------------------------
41
+ */
42
+ #ifndef POSTGRES_H
43
+ #define POSTGRES_H
44
+
45
+ #include "c.h"
46
+ #include "utils/elog.h"
47
+ #include "utils/palloc.h"
48
+
49
+ /* ----------------------------------------------------------------
50
+ * Section 1: Datum type + support functions
51
+ * ----------------------------------------------------------------
52
+ */
53
+
54
+ /*
55
+ * A Datum contains either a value of a pass-by-value type or a pointer to a
56
+ * value of a pass-by-reference type. Therefore, we require:
57
+ *
58
+ * sizeof(Datum) == sizeof(void *) == 4 or 8
59
+ *
60
+ * The functions below and the analogous functions for other types should be used to
61
+ * convert between a Datum and the appropriate C type.
62
+ */
63
+
64
+ typedef uintptr_t Datum;
65
+
66
+ /*
67
+ * A NullableDatum is used in places where both a Datum and its nullness needs
68
+ * to be stored. This can be more efficient than storing datums and nullness
69
+ * in separate arrays, due to better spatial locality, even if more space may
70
+ * be wasted due to padding.
71
+ */
72
+ typedef struct NullableDatum
73
+ {
74
+ #define FIELDNO_NULLABLE_DATUM_DATUM 0
75
+ Datum value;
76
+ #define FIELDNO_NULLABLE_DATUM_ISNULL 1
77
+ bool isnull;
78
+ /* due to alignment padding this could be used for flags for free */
79
+ } NullableDatum;
80
+
81
+ #define SIZEOF_DATUM SIZEOF_VOID_P
82
+
83
+ /*
84
+ * DatumGetBool
85
+ * Returns boolean value of a datum.
86
+ *
87
+ * Note: any nonzero value will be considered true.
88
+ */
89
+ static inline bool
90
+ DatumGetBool(Datum X)
91
+ {
92
+ return (X != 0);
93
+ }
94
+
95
+ /*
96
+ * BoolGetDatum
97
+ * Returns datum representation for a boolean.
98
+ *
99
+ * Note: any nonzero value will be considered true.
100
+ */
101
+ static inline Datum
102
+ BoolGetDatum(bool X)
103
+ {
104
+ return (Datum) (X ? 1 : 0);
105
+ }
106
+
107
+ /*
108
+ * DatumGetChar
109
+ * Returns character value of a datum.
110
+ */
111
+ static inline char
112
+ DatumGetChar(Datum X)
113
+ {
114
+ return (char) X;
115
+ }
116
+
117
+ /*
118
+ * CharGetDatum
119
+ * Returns datum representation for a character.
120
+ */
121
+ static inline Datum
122
+ CharGetDatum(char X)
123
+ {
124
+ return (Datum) X;
125
+ }
126
+
127
+ /*
128
+ * Int8GetDatum
129
+ * Returns datum representation for an 8-bit integer.
130
+ */
131
+ static inline Datum
132
+ Int8GetDatum(int8 X)
133
+ {
134
+ return (Datum) X;
135
+ }
136
+
137
+ /*
138
+ * DatumGetUInt8
139
+ * Returns 8-bit unsigned integer value of a datum.
140
+ */
141
+ static inline uint8
142
+ DatumGetUInt8(Datum X)
143
+ {
144
+ return (uint8) X;
145
+ }
146
+
147
+ /*
148
+ * UInt8GetDatum
149
+ * Returns datum representation for an 8-bit unsigned integer.
150
+ */
151
+ static inline Datum
152
+ UInt8GetDatum(uint8 X)
153
+ {
154
+ return (Datum) X;
155
+ }
156
+
157
+ /*
158
+ * DatumGetInt16
159
+ * Returns 16-bit integer value of a datum.
160
+ */
161
+ static inline int16
162
+ DatumGetInt16(Datum X)
163
+ {
164
+ return (int16) X;
165
+ }
166
+
167
+ /*
168
+ * Int16GetDatum
169
+ * Returns datum representation for a 16-bit integer.
170
+ */
171
+ static inline Datum
172
+ Int16GetDatum(int16 X)
173
+ {
174
+ return (Datum) X;
175
+ }
176
+
177
+ /*
178
+ * DatumGetUInt16
179
+ * Returns 16-bit unsigned integer value of a datum.
180
+ */
181
+ static inline uint16
182
+ DatumGetUInt16(Datum X)
183
+ {
184
+ return (uint16) X;
185
+ }
186
+
187
+ /*
188
+ * UInt16GetDatum
189
+ * Returns datum representation for a 16-bit unsigned integer.
190
+ */
191
+ static inline Datum
192
+ UInt16GetDatum(uint16 X)
193
+ {
194
+ return (Datum) X;
195
+ }
196
+
197
+ /*
198
+ * DatumGetInt32
199
+ * Returns 32-bit integer value of a datum.
200
+ */
201
+ static inline int32
202
+ DatumGetInt32(Datum X)
203
+ {
204
+ return (int32) X;
205
+ }
206
+
207
+ /*
208
+ * Int32GetDatum
209
+ * Returns datum representation for a 32-bit integer.
210
+ */
211
+ static inline Datum
212
+ Int32GetDatum(int32 X)
213
+ {
214
+ return (Datum) X;
215
+ }
216
+
217
+ /*
218
+ * DatumGetUInt32
219
+ * Returns 32-bit unsigned integer value of a datum.
220
+ */
221
+ static inline uint32
222
+ DatumGetUInt32(Datum X)
223
+ {
224
+ return (uint32) X;
225
+ }
226
+
227
+ /*
228
+ * UInt32GetDatum
229
+ * Returns datum representation for a 32-bit unsigned integer.
230
+ */
231
+ static inline Datum
232
+ UInt32GetDatum(uint32 X)
233
+ {
234
+ return (Datum) X;
235
+ }
236
+
237
+ /*
238
+ * DatumGetObjectId
239
+ * Returns object identifier value of a datum.
240
+ */
241
+ static inline Oid
242
+ DatumGetObjectId(Datum X)
243
+ {
244
+ return (Oid) X;
245
+ }
246
+
247
+ /*
248
+ * ObjectIdGetDatum
249
+ * Returns datum representation for an object identifier.
250
+ */
251
+ static inline Datum
252
+ ObjectIdGetDatum(Oid X)
253
+ {
254
+ return (Datum) X;
255
+ }
256
+
257
+ /*
258
+ * DatumGetTransactionId
259
+ * Returns transaction identifier value of a datum.
260
+ */
261
+ static inline TransactionId
262
+ DatumGetTransactionId(Datum X)
263
+ {
264
+ return (TransactionId) X;
265
+ }
266
+
267
+ /*
268
+ * TransactionIdGetDatum
269
+ * Returns datum representation for a transaction identifier.
270
+ */
271
+ static inline Datum
272
+ TransactionIdGetDatum(TransactionId X)
273
+ {
274
+ return (Datum) X;
275
+ }
276
+
277
+ /*
278
+ * MultiXactIdGetDatum
279
+ * Returns datum representation for a multixact identifier.
280
+ */
281
+ static inline Datum
282
+ MultiXactIdGetDatum(MultiXactId X)
283
+ {
284
+ return (Datum) X;
285
+ }
286
+
287
+ /*
288
+ * DatumGetCommandId
289
+ * Returns command identifier value of a datum.
290
+ */
291
+ static inline CommandId
292
+ DatumGetCommandId(Datum X)
293
+ {
294
+ return (CommandId) X;
295
+ }
296
+
297
+ /*
298
+ * CommandIdGetDatum
299
+ * Returns datum representation for a command identifier.
300
+ */
301
+ static inline Datum
302
+ CommandIdGetDatum(CommandId X)
303
+ {
304
+ return (Datum) X;
305
+ }
306
+
307
+ /*
308
+ * DatumGetPointer
309
+ * Returns pointer value of a datum.
310
+ */
311
+ static inline Pointer
312
+ DatumGetPointer(Datum X)
313
+ {
314
+ return (Pointer) X;
315
+ }
316
+
317
+ /*
318
+ * PointerGetDatum
319
+ * Returns datum representation for a pointer.
320
+ */
321
+ static inline Datum
322
+ PointerGetDatum(const void *X)
323
+ {
324
+ return (Datum) X;
325
+ }
326
+
327
+ /*
328
+ * DatumGetCString
329
+ * Returns C string (null-terminated string) value of a datum.
330
+ *
331
+ * Note: C string is not a full-fledged Postgres type at present,
332
+ * but type input functions use this conversion for their inputs.
333
+ */
334
+ static inline char *
335
+ DatumGetCString(Datum X)
336
+ {
337
+ return (char *) DatumGetPointer(X);
338
+ }
339
+
340
+ /*
341
+ * CStringGetDatum
342
+ * Returns datum representation for a C string (null-terminated string).
343
+ *
344
+ * Note: C string is not a full-fledged Postgres type at present,
345
+ * but type output functions use this conversion for their outputs.
346
+ * Note: CString is pass-by-reference; caller must ensure the pointed-to
347
+ * value has adequate lifetime.
348
+ */
349
+ static inline Datum
350
+ CStringGetDatum(const char *X)
351
+ {
352
+ return PointerGetDatum(X);
353
+ }
354
+
355
+ /*
356
+ * DatumGetName
357
+ * Returns name value of a datum.
358
+ */
359
+ static inline Name
360
+ DatumGetName(Datum X)
361
+ {
362
+ return (Name) DatumGetPointer(X);
363
+ }
364
+
365
+ /*
366
+ * NameGetDatum
367
+ * Returns datum representation for a name.
368
+ *
369
+ * Note: Name is pass-by-reference; caller must ensure the pointed-to
370
+ * value has adequate lifetime.
371
+ */
372
+ static inline Datum
373
+ NameGetDatum(const NameData *X)
374
+ {
375
+ return CStringGetDatum(NameStr(*X));
376
+ }
377
+
378
+ /*
379
+ * DatumGetInt64
380
+ * Returns 64-bit integer value of a datum.
381
+ *
382
+ * Note: this function hides whether int64 is pass by value or by reference.
383
+ */
384
+ static inline int64
385
+ DatumGetInt64(Datum X)
386
+ {
387
+ #ifdef USE_FLOAT8_BYVAL
388
+ return (int64) X;
389
+ #else
390
+ return *((int64 *) DatumGetPointer(X));
391
+ #endif
392
+ }
393
+
394
+ /*
395
+ * Int64GetDatum
396
+ * Returns datum representation for a 64-bit integer.
397
+ *
398
+ * Note: if int64 is pass by reference, this function returns a reference
399
+ * to palloc'd space.
400
+ */
401
+ #ifdef USE_FLOAT8_BYVAL
402
+ static inline Datum
403
+ Int64GetDatum(int64 X)
404
+ {
405
+ return (Datum) X;
406
+ }
407
+ #else
408
+ extern Datum Int64GetDatum(int64 X);
409
+ #endif
410
+
411
+
412
+ /*
413
+ * DatumGetUInt64
414
+ * Returns 64-bit unsigned integer value of a datum.
415
+ *
416
+ * Note: this function hides whether int64 is pass by value or by reference.
417
+ */
418
+ static inline uint64
419
+ DatumGetUInt64(Datum X)
420
+ {
421
+ #ifdef USE_FLOAT8_BYVAL
422
+ return (uint64) X;
423
+ #else
424
+ return *((uint64 *) DatumGetPointer(X));
425
+ #endif
426
+ }
427
+
428
+ /*
429
+ * UInt64GetDatum
430
+ * Returns datum representation for a 64-bit unsigned integer.
431
+ *
432
+ * Note: if int64 is pass by reference, this function returns a reference
433
+ * to palloc'd space.
434
+ */
435
+ static inline Datum
436
+ UInt64GetDatum(uint64 X)
437
+ {
438
+ #ifdef USE_FLOAT8_BYVAL
439
+ return (Datum) X;
440
+ #else
441
+ return Int64GetDatum((int64) X);
442
+ #endif
443
+ }
444
+
445
+ /*
446
+ * Float <-> Datum conversions
447
+ *
448
+ * These have to be implemented as inline functions rather than macros, when
449
+ * passing by value, because many machines pass int and float function
450
+ * parameters/results differently; so we need to play weird games with unions.
451
+ */
452
+
453
+ /*
454
+ * DatumGetFloat4
455
+ * Returns 4-byte floating point value of a datum.
456
+ */
457
+ static inline float4
458
+ DatumGetFloat4(Datum X)
459
+ {
460
+ union
461
+ {
462
+ int32 value;
463
+ float4 retval;
464
+ } myunion;
465
+
466
+ myunion.value = DatumGetInt32(X);
467
+ return myunion.retval;
468
+ }
469
+
470
+ /*
471
+ * Float4GetDatum
472
+ * Returns datum representation for a 4-byte floating point number.
473
+ */
474
+ static inline Datum
475
+ Float4GetDatum(float4 X)
476
+ {
477
+ union
478
+ {
479
+ float4 value;
480
+ int32 retval;
481
+ } myunion;
482
+
483
+ myunion.value = X;
484
+ return Int32GetDatum(myunion.retval);
485
+ }
486
+
487
+ /*
488
+ * DatumGetFloat8
489
+ * Returns 8-byte floating point value of a datum.
490
+ *
491
+ * Note: this function hides whether float8 is pass by value or by reference.
492
+ */
493
+ static inline float8
494
+ DatumGetFloat8(Datum X)
495
+ {
496
+ #ifdef USE_FLOAT8_BYVAL
497
+ union
498
+ {
499
+ int64 value;
500
+ float8 retval;
501
+ } myunion;
502
+
503
+ myunion.value = DatumGetInt64(X);
504
+ return myunion.retval;
505
+ #else
506
+ return *((float8 *) DatumGetPointer(X));
507
+ #endif
508
+ }
509
+
510
+ /*
511
+ * Float8GetDatum
512
+ * Returns datum representation for an 8-byte floating point number.
513
+ *
514
+ * Note: if float8 is pass by reference, this function returns a reference
515
+ * to palloc'd space.
516
+ */
517
+ #ifdef USE_FLOAT8_BYVAL
518
+ static inline Datum
519
+ Float8GetDatum(float8 X)
520
+ {
521
+ union
522
+ {
523
+ float8 value;
524
+ int64 retval;
525
+ } myunion;
526
+
527
+ myunion.value = X;
528
+ return Int64GetDatum(myunion.retval);
529
+ }
530
+ #else
531
+ extern Datum Float8GetDatum(float8 X);
532
+ #endif
533
+
534
+
535
+ /*
536
+ * Int64GetDatumFast
537
+ * Float8GetDatumFast
538
+ *
539
+ * These macros are intended to allow writing code that does not depend on
540
+ * whether int64 and float8 are pass-by-reference types, while not
541
+ * sacrificing performance when they are. The argument must be a variable
542
+ * that will exist and have the same value for as long as the Datum is needed.
543
+ * In the pass-by-ref case, the address of the variable is taken to use as
544
+ * the Datum. In the pass-by-val case, these are the same as the non-Fast
545
+ * functions, except for asserting that the variable is of the correct type.
546
+ */
547
+
548
+ #ifdef USE_FLOAT8_BYVAL
549
+ #define Int64GetDatumFast(X) \
550
+ (AssertVariableIsOfTypeMacro(X, int64), Int64GetDatum(X))
551
+ #define Float8GetDatumFast(X) \
552
+ (AssertVariableIsOfTypeMacro(X, double), Float8GetDatum(X))
553
+ #else
554
+ #define Int64GetDatumFast(X) \
555
+ (AssertVariableIsOfTypeMacro(X, int64), PointerGetDatum(&(X)))
556
+ #define Float8GetDatumFast(X) \
557
+ (AssertVariableIsOfTypeMacro(X, double), PointerGetDatum(&(X)))
558
+ #endif
559
+
560
+
561
+ /* ----------------------------------------------------------------
562
+ * Section 2: miscellaneous
563
+ * ----------------------------------------------------------------
564
+ */
565
+
566
+ /*
567
+ * NON_EXEC_STATIC: It's sometimes useful to define a variable or function
568
+ * that is normally static but extern when using EXEC_BACKEND (see
569
+ * pg_config_manual.h). There would then typically be some code in
570
+ * postmaster.c that uses those extern symbols to transfer state between
571
+ * processes or do whatever other things it needs to do in EXEC_BACKEND mode.
572
+ */
573
+ #ifdef EXEC_BACKEND
574
+ #define NON_EXEC_STATIC
575
+ #else
576
+ #define NON_EXEC_STATIC static
577
+ #endif
578
+
579
+ #endif /* POSTGRES_H */
@@ -46,7 +46,6 @@ typedef unsigned int Oid;
46
46
  /* Define a signed 64-bit integer type for use in client API declarations. */
47
47
  typedef PG_INT64_TYPE pg_int64;
48
48
 
49
-
50
49
  /*
51
50
  * Identifiers of error message fields. Kept here to keep common
52
51
  * between frontend and backend, and also to export them to libpq
@@ -4,7 +4,7 @@
4
4
  * header file for integrated autovacuum daemon
5
5
  *
6
6
  *
7
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
7
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
8
8
  * Portions Copyright (c) 1994, Regents of the University of California
9
9
  *
10
10
  * src/include/postmaster/autovacuum.h
@@ -27,25 +27,25 @@ typedef enum
27
27
 
28
28
 
29
29
  /* GUC variables */
30
- extern bool autovacuum_start_daemon;
31
- extern int autovacuum_max_workers;
32
- extern int autovacuum_work_mem;
33
- extern int autovacuum_naptime;
34
- extern int autovacuum_vac_thresh;
35
- extern double autovacuum_vac_scale;
36
- extern int autovacuum_vac_ins_thresh;
37
- extern double autovacuum_vac_ins_scale;
38
- extern int autovacuum_anl_thresh;
39
- extern double autovacuum_anl_scale;
40
- extern int autovacuum_freeze_max_age;
41
- extern int autovacuum_multixact_freeze_max_age;
42
- extern double autovacuum_vac_cost_delay;
43
- extern int autovacuum_vac_cost_limit;
30
+ extern PGDLLIMPORT bool autovacuum_start_daemon;
31
+ extern PGDLLIMPORT int autovacuum_max_workers;
32
+ extern PGDLLIMPORT int autovacuum_work_mem;
33
+ extern PGDLLIMPORT int autovacuum_naptime;
34
+ extern PGDLLIMPORT int autovacuum_vac_thresh;
35
+ extern PGDLLIMPORT double autovacuum_vac_scale;
36
+ extern PGDLLIMPORT int autovacuum_vac_ins_thresh;
37
+ extern PGDLLIMPORT double autovacuum_vac_ins_scale;
38
+ extern PGDLLIMPORT int autovacuum_anl_thresh;
39
+ extern PGDLLIMPORT double autovacuum_anl_scale;
40
+ extern PGDLLIMPORT int autovacuum_freeze_max_age;
41
+ extern PGDLLIMPORT int autovacuum_multixact_freeze_max_age;
42
+ extern PGDLLIMPORT double autovacuum_vac_cost_delay;
43
+ extern PGDLLIMPORT int autovacuum_vac_cost_limit;
44
44
 
45
45
  /* autovacuum launcher PID, only valid when worker is shutting down */
46
- extern int AutovacuumLauncherPid;
46
+ extern PGDLLIMPORT int AutovacuumLauncherPid;
47
47
 
48
- extern int Log_autovacuum_min_duration;
48
+ extern PGDLLIMPORT int Log_autovacuum_min_duration;
49
49
 
50
50
  /* Status inquiry functions */
51
51
  extern bool AutoVacuumingActive(void);
@@ -63,9 +63,6 @@ extern int StartAutoVacWorker(void);
63
63
  /* called from postmaster when a worker could not be forked */
64
64
  extern void AutoVacWorkerFailed(void);
65
65
 
66
- /* autovacuum cost-delay balancer */
67
- extern void AutoVacuumUpdateDelay(void);
68
-
69
66
  #ifdef EXEC_BACKEND
70
67
  extern void AutoVacLauncherMain(int argc, char *argv[]) pg_attribute_noreturn();
71
68
  extern void AutoVacWorkerMain(int argc, char *argv[]) pg_attribute_noreturn();
@@ -31,7 +31,7 @@
31
31
  * different) code.
32
32
  *
33
33
  *
34
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
34
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
35
35
  * Portions Copyright (c) 1994, Regents of the University of California
36
36
  *
37
37
  * IDENTIFICATION
@@ -48,6 +48,7 @@
48
48
 
49
49
  /*
50
50
  * Pass this flag to have your worker be able to connect to shared memory.
51
+ * This flag is required.
51
52
  */
52
53
  #define BGWORKER_SHMEM_ACCESS 0x0001
53
54
 
@@ -120,7 +121,7 @@ extern bool RegisterDynamicBackgroundWorker(BackgroundWorker *worker,
120
121
  /* Query the status of a bgworker */
121
122
  extern BgwHandleStatus GetBackgroundWorkerPid(BackgroundWorkerHandle *handle,
122
123
  pid_t *pidp);
123
- extern BgwHandleStatus WaitForBackgroundWorkerStartup(BackgroundWorkerHandle *handle, pid_t *pid);
124
+ extern BgwHandleStatus WaitForBackgroundWorkerStartup(BackgroundWorkerHandle *handle, pid_t *pidp);
124
125
  extern BgwHandleStatus
125
126
  WaitForBackgroundWorkerShutdown(BackgroundWorkerHandle *);
126
127
  extern const char *GetBackgroundWorkerTypeByPid(pid_t pid);
@@ -2,7 +2,7 @@
2
2
  * bgworker_internals.h
3
3
  * POSTGRES pluggable background workers internals
4
4
  *
5
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
5
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
6
6
  * Portions Copyright (c) 1994, Regents of the University of California
7
7
  *
8
8
  * IDENTIFICATION
@@ -42,7 +42,7 @@ typedef struct RegisteredBgWorker
42
42
  slist_node rw_lnode; /* list link */
43
43
  } RegisteredBgWorker;
44
44
 
45
- extern slist_head BackgroundWorkerList;
45
+ extern PGDLLIMPORT slist_head BackgroundWorkerList;
46
46
 
47
47
  extern Size BackgroundWorkerShmemSize(void);
48
48
  extern void BackgroundWorkerShmemInit(void);
@@ -6,7 +6,7 @@
6
6
  * The bgwriter process used to handle checkpointing duties too. Now
7
7
  * there is a separate process, but we did not bother to split this header.
8
8
  *
9
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
9
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
10
10
  *
11
11
  * src/include/postmaster/bgwriter.h
12
12
  *
@@ -16,16 +16,16 @@
16
16
  #define _BGWRITER_H
17
17
 
18
18
  #include "storage/block.h"
19
- #include "storage/relfilenode.h"
19
+ #include "storage/relfilelocator.h"
20
20
  #include "storage/smgr.h"
21
21
  #include "storage/sync.h"
22
22
 
23
23
 
24
24
  /* GUC options */
25
- extern int BgWriterDelay;
26
- extern int CheckPointTimeout;
27
- extern int CheckPointWarning;
28
- extern double CheckPointCompletionTarget;
25
+ extern PGDLLIMPORT int BgWriterDelay;
26
+ extern PGDLLIMPORT int CheckPointTimeout;
27
+ extern PGDLLIMPORT int CheckPointWarning;
28
+ extern PGDLLIMPORT double CheckPointCompletionTarget;
29
29
 
30
30
  extern void BackgroundWriterMain(void) pg_attribute_noreturn();
31
31
  extern void CheckpointerMain(void) pg_attribute_noreturn();