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
@@ -4,7 +4,7 @@
4
4
  * POSTGRES shared cache invalidation communication definitions.
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/storage/sinval.h
@@ -16,7 +16,7 @@
16
16
 
17
17
  #include <signal.h>
18
18
 
19
- #include "storage/relfilenode.h"
19
+ #include "storage/relfilelocator.h"
20
20
 
21
21
  /*
22
22
  * We support several types of shared-invalidation messages:
@@ -90,7 +90,7 @@ typedef struct
90
90
  int8 id; /* type field --- must be first */
91
91
  int8 backend_hi; /* high bits of backend ID, if temprel */
92
92
  uint16 backend_lo; /* low bits of backend ID, if temprel */
93
- RelFileNode rnode; /* spcNode, dbNode, relNode */
93
+ RelFileLocator rlocator; /* spcOid, dbOid, relNumber */
94
94
  } SharedInvalSmgrMsg;
95
95
 
96
96
  #define SHAREDINVALRELMAP_ID (-4)
@@ -123,9 +123,9 @@ typedef union
123
123
 
124
124
 
125
125
  /* Counter of messages processed; don't worry about overflow. */
126
- extern uint64 SharedInvalidMessageCounter;
126
+ extern PGDLLIMPORT uint64 SharedInvalidMessageCounter;
127
127
 
128
- extern volatile sig_atomic_t catchupInterruptPending;
128
+ extern PGDLLIMPORT volatile sig_atomic_t catchupInterruptPending;
129
129
 
130
130
  extern void SendSharedInvalidMessages(const SharedInvalidationMessage *msgs,
131
131
  int n);
@@ -12,7 +12,7 @@
12
12
  * The struct type SharedInvalidationMessage, defining the contents of
13
13
  * a single message, is defined in sinval.h.
14
14
  *
15
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
15
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
16
16
  * Portions Copyright (c) 1994, Regents of the University of California
17
17
  *
18
18
  * src/include/storage/sinvaladt.h
@@ -32,7 +32,9 @@ extern Size SInvalShmemSize(void);
32
32
  extern void CreateSharedInvalidationState(void);
33
33
  extern void SharedInvalBackendInit(bool sendOnly);
34
34
  extern PGPROC *BackendIdGetProc(int backendID);
35
- extern void BackendIdGetTransactionIds(int backendID, TransactionId *xid, TransactionId *xmin);
35
+ extern void BackendIdGetTransactionIds(int backendID, TransactionId *xid,
36
+ TransactionId *xmin, int *nsubxid,
37
+ bool *overflowed);
36
38
 
37
39
  extern void SIInsertDataEntries(const SharedInvalidationMessage *data, int n);
38
40
  extern int SIGetDataEntries(SharedInvalidationMessage *data, int datasize);
@@ -4,7 +4,7 @@
4
4
  * storage manager switch public interface declarations.
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/storage/smgr.h
@@ -16,7 +16,7 @@
16
16
 
17
17
  #include "lib/ilist.h"
18
18
  #include "storage/block.h"
19
- #include "storage/relfilenode.h"
19
+ #include "storage/relfilelocator.h"
20
20
 
21
21
  /*
22
22
  * smgr.c maintains a table of SMgrRelation objects, which are essentially
@@ -38,22 +38,20 @@
38
38
  */
39
39
  typedef struct SMgrRelationData
40
40
  {
41
- /* rnode is the hashtable lookup key, so it must be first! */
42
- RelFileNodeBackend smgr_rnode; /* relation physical identifier */
41
+ /* rlocator is the hashtable lookup key, so it must be first! */
42
+ RelFileLocatorBackend smgr_rlocator; /* relation physical identifier */
43
43
 
44
44
  /* pointer to owning pointer, or NULL if none */
45
45
  struct SMgrRelationData **smgr_owner;
46
46
 
47
47
  /*
48
- * These next three fields are not actually used or manipulated by smgr,
49
- * except that they are reset to InvalidBlockNumber upon a cache flush
50
- * event (in particular, upon truncation of the relation). Higher levels
51
- * store cached state here so that it will be reset when truncation
52
- * happens. In all three cases, InvalidBlockNumber means "unknown".
48
+ * The following fields are reset to InvalidBlockNumber upon a cache flush
49
+ * event, and hold the last known size for each fork. This information is
50
+ * currently only reliable during recovery, since there is no cache
51
+ * invalidation for fork extension.
53
52
  */
54
53
  BlockNumber smgr_targblock; /* current insertion target block */
55
- BlockNumber smgr_fsm_nblocks; /* last known size of fsm fork */
56
- BlockNumber smgr_vm_nblocks; /* last known size of vm fork */
54
+ BlockNumber smgr_cached_nblocks[MAX_FORKNUM + 1]; /* last known size */
57
55
 
58
56
  /* additional public fields may someday exist here */
59
57
 
@@ -77,33 +75,39 @@ typedef struct SMgrRelationData
77
75
  typedef SMgrRelationData *SMgrRelation;
78
76
 
79
77
  #define SmgrIsTemp(smgr) \
80
- RelFileNodeBackendIsTemp((smgr)->smgr_rnode)
78
+ RelFileLocatorBackendIsTemp((smgr)->smgr_rlocator)
81
79
 
82
80
  extern void smgrinit(void);
83
- extern SMgrRelation smgropen(RelFileNode rnode, BackendId backend);
81
+ extern SMgrRelation smgropen(RelFileLocator rlocator, BackendId backend);
84
82
  extern bool smgrexists(SMgrRelation reln, ForkNumber forknum);
85
83
  extern void smgrsetowner(SMgrRelation *owner, SMgrRelation reln);
86
84
  extern void smgrclearowner(SMgrRelation *owner, SMgrRelation reln);
87
85
  extern void smgrclose(SMgrRelation reln);
88
86
  extern void smgrcloseall(void);
89
- extern void smgrclosenode(RelFileNodeBackend rnode);
87
+ extern void smgrcloserellocator(RelFileLocatorBackend rlocator);
88
+ extern void smgrrelease(SMgrRelation reln);
89
+ extern void smgrreleaseall(void);
90
90
  extern void smgrcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo);
91
91
  extern void smgrdosyncall(SMgrRelation *rels, int nrels);
92
92
  extern void smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo);
93
93
  extern void smgrextend(SMgrRelation reln, ForkNumber forknum,
94
- BlockNumber blocknum, char *buffer, bool skipFsync);
94
+ BlockNumber blocknum, const void *buffer, bool skipFsync);
95
+ extern void smgrzeroextend(SMgrRelation reln, ForkNumber forknum,
96
+ BlockNumber blocknum, int nblocks, bool skipFsync);
95
97
  extern bool smgrprefetch(SMgrRelation reln, ForkNumber forknum,
96
98
  BlockNumber blocknum);
97
99
  extern void smgrread(SMgrRelation reln, ForkNumber forknum,
98
- BlockNumber blocknum, char *buffer);
100
+ BlockNumber blocknum, void *buffer);
99
101
  extern void smgrwrite(SMgrRelation reln, ForkNumber forknum,
100
- BlockNumber blocknum, char *buffer, bool skipFsync);
102
+ BlockNumber blocknum, const void *buffer, bool skipFsync);
101
103
  extern void smgrwriteback(SMgrRelation reln, ForkNumber forknum,
102
104
  BlockNumber blocknum, BlockNumber nblocks);
103
105
  extern BlockNumber smgrnblocks(SMgrRelation reln, ForkNumber forknum);
106
+ extern BlockNumber smgrnblocks_cached(SMgrRelation reln, ForkNumber forknum);
104
107
  extern void smgrtruncate(SMgrRelation reln, ForkNumber *forknum,
105
108
  int nforks, BlockNumber *nblocks);
106
109
  extern void smgrimmedsync(SMgrRelation reln, ForkNumber forknum);
107
110
  extern void AtEOXact_SMgr(void);
111
+ extern bool ProcessBarrierSmgrRelease(void);
108
112
 
109
113
  #endif /* SMGR_H */
@@ -41,7 +41,7 @@
41
41
  * be again.
42
42
  *
43
43
  *
44
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
44
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
45
45
  * Portions Copyright (c) 1994, Regents of the University of California
46
46
  *
47
47
  * src/include/storage/spin.h
@@ -71,7 +71,7 @@ extern Size SpinlockSemaSize(void);
71
71
 
72
72
  #ifndef HAVE_SPINLOCKS
73
73
  extern void SpinlockSemaInit(void);
74
- extern PGSemaphore *SpinlockSemaArray;
74
+ extern PGDLLIMPORT PGSemaphore *SpinlockSemaArray;
75
75
  #endif
76
76
 
77
77
  #endif /* SPIN_H */
@@ -4,7 +4,7 @@
4
4
  * Definitions for hot standby mode.
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/storage/standby.h
@@ -14,30 +14,38 @@
14
14
  #ifndef STANDBY_H
15
15
  #define STANDBY_H
16
16
 
17
+ #include "datatype/timestamp.h"
17
18
  #include "storage/lock.h"
18
19
  #include "storage/procsignal.h"
19
- #include "storage/relfilenode.h"
20
+ #include "storage/relfilelocator.h"
20
21
  #include "storage/standbydefs.h"
21
22
 
22
23
  /* User-settable GUC parameters */
23
- extern int vacuum_defer_cleanup_age;
24
- extern int max_standby_archive_delay;
25
- extern int max_standby_streaming_delay;
24
+ extern PGDLLIMPORT int max_standby_archive_delay;
25
+ extern PGDLLIMPORT int max_standby_streaming_delay;
26
+ extern PGDLLIMPORT bool log_recovery_conflict_waits;
26
27
 
27
28
  extern void InitRecoveryTransactionEnvironment(void);
28
29
  extern void ShutdownRecoveryTransactionEnvironment(void);
29
30
 
30
- extern void ResolveRecoveryConflictWithSnapshot(TransactionId latestRemovedXid,
31
- RelFileNode node);
31
+ extern void ResolveRecoveryConflictWithSnapshot(TransactionId snapshotConflictHorizon,
32
+ bool isCatalogRel,
33
+ RelFileLocator locator);
34
+ extern void ResolveRecoveryConflictWithSnapshotFullXid(FullTransactionId snapshotConflictHorizon,
35
+ bool isCatalogRel,
36
+ RelFileLocator locator);
32
37
  extern void ResolveRecoveryConflictWithTablespace(Oid tsid);
33
38
  extern void ResolveRecoveryConflictWithDatabase(Oid dbid);
34
39
 
35
- extern void ResolveRecoveryConflictWithLock(LOCKTAG locktag);
40
+ extern void ResolveRecoveryConflictWithLock(LOCKTAG locktag, bool logging_conflict);
36
41
  extern void ResolveRecoveryConflictWithBufferPin(void);
37
42
  extern void CheckRecoveryConflictDeadlock(void);
38
43
  extern void StandbyDeadLockHandler(void);
39
44
  extern void StandbyTimeoutHandler(void);
40
45
  extern void StandbyLockTimeoutHandler(void);
46
+ extern void LogRecoveryConflict(ProcSignalReason reason, TimestampTz wait_start,
47
+ TimestampTz now, VirtualTransactionId *wait_list,
48
+ bool still_waiting);
41
49
 
42
50
  /*
43
51
  * Standby Rmgr (RM_STANDBY_ID)
@@ -72,7 +80,7 @@ typedef struct RunningTransactionsData
72
80
  int xcnt; /* # of xact ids in xids[] */
73
81
  int subxcnt; /* # of subxact ids in xids[] */
74
82
  bool subxid_overflow; /* snapshot overflowed, subxids missing */
75
- TransactionId nextXid; /* xid from ShmemVariableCache->nextFullXid */
83
+ TransactionId nextXid; /* xid from ShmemVariableCache->nextXid */
76
84
  TransactionId oldestRunningXid; /* *not* oldestXmin */
77
85
  TransactionId latestCompletedXid; /* so we can set xmax */
78
86
 
@@ -4,7 +4,7 @@
4
4
  * Frontend exposed definitions for hot standby mode.
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/storage/standbydefs.h
@@ -49,7 +49,7 @@ typedef struct xl_running_xacts
49
49
  int xcnt; /* # of xact ids in xids[] */
50
50
  int subxcnt; /* # of subxact ids in xids[] */
51
51
  bool subxid_overflow; /* snapshot overflowed, subxids missing */
52
- TransactionId nextXid; /* xid from ShmemVariableCache->nextFullXid */
52
+ TransactionId nextXid; /* xid from ShmemVariableCache->nextXid */
53
53
  TransactionId oldestRunningXid; /* *not* oldestXmin */
54
54
  TransactionId latestCompletedXid; /* so we can set xmax */
55
55
 
@@ -3,7 +3,7 @@
3
3
  * sync.h
4
4
  * File synchronization management code.
5
5
  *
6
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
7
7
  * Portions Copyright (c) 1994, Regents of the University of California
8
8
  *
9
9
  * src/include/storage/sync.h
@@ -13,7 +13,7 @@
13
13
  #ifndef SYNC_H
14
14
  #define SYNC_H
15
15
 
16
- #include "storage/relfilenode.h"
16
+ #include "storage/relfilelocator.h"
17
17
 
18
18
  /*
19
19
  * Type of sync request. These are used to manage the set of pending
@@ -34,7 +34,12 @@ typedef enum SyncRequestType
34
34
  */
35
35
  typedef enum SyncRequestHandler
36
36
  {
37
- SYNC_HANDLER_MD = 0 /* md smgr */
37
+ SYNC_HANDLER_MD = 0,
38
+ SYNC_HANDLER_CLOG,
39
+ SYNC_HANDLER_COMMIT_TS,
40
+ SYNC_HANDLER_MULTIXACT_OFFSET,
41
+ SYNC_HANDLER_MULTIXACT_MEMBER,
42
+ SYNC_HANDLER_NONE
38
43
  } SyncRequestHandler;
39
44
 
40
45
  /*
@@ -46,7 +51,7 @@ typedef struct FileTag
46
51
  {
47
52
  int16 handler; /* SyncRequestHandler value, saving space */
48
53
  int16 forknum; /* ForkNumber, saving space */
49
- RelFileNode rnode;
54
+ RelFileLocator rlocator;
50
55
  uint32 segno;
51
56
  } FileTag;
52
57
 
@@ -55,7 +60,6 @@ extern void SyncPreCheckpoint(void);
55
60
  extern void SyncPostCheckpoint(void);
56
61
  extern void ProcessSyncRequests(void);
57
62
  extern void RememberSyncRequest(const FileTag *ftag, SyncRequestType type);
58
- extern void EnableSyncRequestForwarding(void);
59
63
  extern bool RegisterSyncRequest(const FileTag *ftag, SyncRequestType type,
60
64
  bool retryOnError);
61
65
 
@@ -3,7 +3,7 @@
3
3
  * cmdtag.h
4
4
  * Declarations for commandtag names and enumeration.
5
5
  *
6
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
7
7
  * Portions Copyright (c) 1994, Regents of the University of California
8
8
  *
9
9
  * src/include/tcop/cmdtag.h
@@ -13,6 +13,8 @@
13
13
  #ifndef CMDTAG_H
14
14
  #define CMDTAG_H
15
15
 
16
+ /* buffer size required for command completion tags */
17
+ #define COMPLETION_TAG_BUFSIZE 64
16
18
 
17
19
  #define PG_CMDTAG(tag, name, evtrgok, rwrok, rowcnt) \
18
20
  tag,
@@ -50,9 +52,12 @@ CopyQueryCompletion(QueryCompletion *dst, const QueryCompletion *src)
50
52
 
51
53
  extern void InitializeQueryCompletion(QueryCompletion *qc);
52
54
  extern const char *GetCommandTagName(CommandTag commandTag);
55
+ extern const char *GetCommandTagNameAndLen(CommandTag commandTag, Size *len);
53
56
  extern bool command_tag_display_rowcount(CommandTag commandTag);
54
57
  extern bool command_tag_event_trigger_ok(CommandTag commandTag);
55
58
  extern bool command_tag_table_rewrite_ok(CommandTag commandTag);
56
- extern CommandTag GetCommandTagEnum(const char *tagname);
59
+ extern CommandTag GetCommandTagEnum(const char *commandname);
60
+ extern Size BuildQueryCompletionString(char *buff, const QueryCompletion *qc,
61
+ bool nameonly);
57
62
 
58
63
  #endif /* CMDTAG_H */
@@ -8,7 +8,7 @@
8
8
  * determined by the PG_CMDTAG macro, which is not defined in this file;
9
9
  * it can be defined by the caller for special purposes.
10
10
  *
11
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
11
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
12
12
  * Portions Copyright (c) 1994, Regents of the University of California
13
13
  *
14
14
  * src/include/tcop/cmdtaglist.h
@@ -42,7 +42,7 @@ PG_CMDTAG(CMDTAG_ALTER_FUNCTION, "ALTER FUNCTION", true, false, false)
42
42
  PG_CMDTAG(CMDTAG_ALTER_INDEX, "ALTER INDEX", true, false, false)
43
43
  PG_CMDTAG(CMDTAG_ALTER_LANGUAGE, "ALTER LANGUAGE", true, false, false)
44
44
  PG_CMDTAG(CMDTAG_ALTER_LARGE_OBJECT, "ALTER LARGE OBJECT", true, false, false)
45
- PG_CMDTAG(CMDTAG_ALTER_MATERIALIZED_VIEW, "ALTER MATERIALIZED VIEW", true, false, false)
45
+ PG_CMDTAG(CMDTAG_ALTER_MATERIALIZED_VIEW, "ALTER MATERIALIZED VIEW", true, true, false)
46
46
  PG_CMDTAG(CMDTAG_ALTER_OPERATOR, "ALTER OPERATOR", true, false, false)
47
47
  PG_CMDTAG(CMDTAG_ALTER_OPERATOR_CLASS, "ALTER OPERATOR CLASS", true, false, false)
48
48
  PG_CMDTAG(CMDTAG_ALTER_OPERATOR_FAMILY, "ALTER OPERATOR FAMILY", true, false, false)
@@ -186,6 +186,7 @@ PG_CMDTAG(CMDTAG_INSERT, "INSERT", false, false, true)
186
186
  PG_CMDTAG(CMDTAG_LISTEN, "LISTEN", false, false, false)
187
187
  PG_CMDTAG(CMDTAG_LOAD, "LOAD", false, false, false)
188
188
  PG_CMDTAG(CMDTAG_LOCK_TABLE, "LOCK TABLE", false, false, false)
189
+ PG_CMDTAG(CMDTAG_MERGE, "MERGE", false, false, true)
189
190
  PG_CMDTAG(CMDTAG_MOVE, "MOVE", false, false, true)
190
191
  PG_CMDTAG(CMDTAG_NOTIFY, "NOTIFY", false, false, false)
191
192
  PG_CMDTAG(CMDTAG_PREPARE, "PREPARE", false, false, false)
@@ -2,7 +2,7 @@
2
2
  *
3
3
  * deparse_utility.h
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
  * src/include/tcop/deparse_utility.h
@@ -57,7 +57,7 @@
57
57
  * calls in portal and cursor manipulations.
58
58
  *
59
59
  *
60
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
60
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
61
61
  * Portions Copyright (c) 1994, Regents of the University of California
62
62
  *
63
63
  * src/include/tcop/dest.h
@@ -71,8 +71,6 @@
71
71
  #include "tcop/cmdtag.h"
72
72
 
73
73
 
74
- /* buffer size to use for command completion tags */
75
- #define COMPLETION_TAG_BUFSIZE 64
76
74
 
77
75
 
78
76
  /* ----------------
@@ -3,7 +3,7 @@
3
3
  * fastpath.h
4
4
  *
5
5
  *
6
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
7
7
  * Portions Copyright (c) 1994, Regents of the University of California
8
8
  *
9
9
  * src/include/tcop/fastpath.h
@@ -15,7 +15,6 @@
15
15
 
16
16
  #include "lib/stringinfo.h"
17
17
 
18
- extern int GetOldFunctionMessage(StringInfo buf);
19
18
  extern void HandleFunctionRequest(StringInfo msgBuf);
20
19
 
21
20
  #endif /* FASTPATH_H */
@@ -4,7 +4,7 @@
4
4
  * prototypes for pquery.c.
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/tcop/pquery.h
@@ -17,6 +17,8 @@
17
17
  #include "nodes/parsenodes.h"
18
18
  #include "utils/portal.h"
19
19
 
20
+ struct PlannedStmt; /* avoid including plannodes.h here */
21
+
20
22
 
21
23
  extern PGDLLIMPORT Portal ActivePortal;
22
24
 
@@ -42,4 +44,8 @@ extern uint64 PortalRunFetch(Portal portal,
42
44
  long count,
43
45
  DestReceiver *dest);
44
46
 
47
+ extern bool PlannedStmtRequiresSnapshot(struct PlannedStmt *pstmt);
48
+
49
+ extern void EnsurePortalSnapshotExists(void);
50
+
45
51
  #endif /* PQUERY_H */
@@ -4,7 +4,7 @@
4
4
  * prototypes for postgres.c.
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/tcop/tcopprot.h
@@ -25,10 +25,11 @@
25
25
  /* Required daylight between max_stack_depth and the kernel limit, in bytes */
26
26
  #define STACK_DEPTH_SLOP (512 * 1024L)
27
27
 
28
- extern __thread CommandDest whereToSendOutput;
28
+ extern PGDLLIMPORT __thread CommandDest whereToSendOutput;
29
29
  extern PGDLLIMPORT __thread const char *debug_query_string;
30
- extern __thread int max_stack_depth;
31
- extern int PostAuthDelay;
30
+ extern PGDLLIMPORT __thread int max_stack_depth;
31
+ extern PGDLLIMPORT int PostAuthDelay;
32
+ extern PGDLLIMPORT int client_connection_check_interval;
32
33
 
33
34
  /* GUC-configurable parameters */
34
35
 
@@ -43,11 +44,17 @@ typedef enum
43
44
  extern PGDLLIMPORT int log_statement;
44
45
 
45
46
  extern List *pg_parse_query(const char *query_string);
46
- extern List *pg_analyze_and_rewrite(RawStmt *parsetree,
47
- const char *query_string,
48
- Oid *paramTypes, int numParams,
49
- QueryEnvironment *queryEnv);
50
- extern List *pg_analyze_and_rewrite_params(RawStmt *parsetree,
47
+ extern List *pg_rewrite_query(Query *query);
48
+ extern List *pg_analyze_and_rewrite_fixedparams(RawStmt *parsetree,
49
+ const char *query_string,
50
+ const Oid *paramTypes, int numParams,
51
+ QueryEnvironment *queryEnv);
52
+ extern List *pg_analyze_and_rewrite_varparams(RawStmt *parsetree,
53
+ const char *query_string,
54
+ Oid **paramTypes,
55
+ int *numParams,
56
+ QueryEnvironment *queryEnv);
57
+ extern List *pg_analyze_and_rewrite_withcb(RawStmt *parsetree,
51
58
  const char *query_string,
52
59
  ParserSetupHook parserSetup,
53
60
  void *parserSetupArg,
@@ -59,9 +66,6 @@ extern List *pg_plan_queries(List *querytrees, const char *query_string,
59
66
  int cursorOptions,
60
67
  ParamListInfo boundParams);
61
68
 
62
- extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
63
- extern void assign_max_stack_depth(int newval, void *extra);
64
-
65
69
  extern void die(SIGNAL_ARGS);
66
70
  extern void quickdie(SIGNAL_ARGS) pg_attribute_noreturn();
67
71
  extern void StatementCancelHandler(SIGNAL_ARGS);
@@ -73,8 +77,9 @@ extern void ProcessClientWriteInterrupt(bool blocked);
73
77
 
74
78
  extern void process_postgres_switches(int argc, char *argv[],
75
79
  GucContext ctx, const char **dbname);
76
- extern void PostgresMain(int argc, char *argv[],
77
- const char *dbname,
80
+ extern void PostgresSingleUserMain(int argc, char *argv[],
81
+ const char *username) pg_attribute_noreturn();
82
+ extern void PostgresMain(const char *dbname,
78
83
  const char *username) pg_attribute_noreturn();
79
84
  extern long get_stack_depth_rlimit(void);
80
85
  extern void ResetUsage(void);
@@ -4,7 +4,7 @@
4
4
  * prototypes for utility.c.
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/tcop/utility.h
@@ -51,7 +51,7 @@ typedef struct AlterTableUtilityContext
51
51
  *
52
52
  * COMMAND_OK_IN_RECOVERY means that the command is permissible even when in
53
53
  * recovery. It can't write WAL, nor can it do things that would imperil
54
- * replay of future WAL received from the master.
54
+ * replay of future WAL received from the primary.
55
55
  */
56
56
  #define COMMAND_OK_IN_READ_ONLY_TXN 0x0001
57
57
  #define COMMAND_OK_IN_PARALLEL_MODE 0x0002
@@ -69,17 +69,21 @@ typedef struct AlterTableUtilityContext
69
69
 
70
70
  /* Hook for plugins to get control in ProcessUtility() */
71
71
  typedef void (*ProcessUtility_hook_type) (PlannedStmt *pstmt,
72
- const char *queryString, ProcessUtilityContext context,
72
+ const char *queryString,
73
+ bool readOnlyTree,
74
+ ProcessUtilityContext context,
73
75
  ParamListInfo params,
74
76
  QueryEnvironment *queryEnv,
75
77
  DestReceiver *dest, QueryCompletion *qc);
76
78
  extern PGDLLIMPORT ProcessUtility_hook_type ProcessUtility_hook;
77
79
 
78
80
  extern void ProcessUtility(PlannedStmt *pstmt, const char *queryString,
81
+ bool readOnlyTree,
79
82
  ProcessUtilityContext context, ParamListInfo params,
80
83
  QueryEnvironment *queryEnv,
81
84
  DestReceiver *dest, QueryCompletion *qc);
82
85
  extern void standard_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
86
+ bool readOnlyTree,
83
87
  ProcessUtilityContext context, ParamListInfo params,
84
88
  QueryEnvironment *queryEnv,
85
89
  DestReceiver *dest, QueryCompletion *qc);
@@ -3,7 +3,7 @@
3
3
  * ts_cache.h
4
4
  * Tsearch related object caches.
5
5
  *
6
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
7
7
  * Portions Copyright (c) 1994, Regents of the University of California
8
8
  *
9
9
  * src/include/tsearch/ts_cache.h
@@ -13,7 +13,7 @@
13
13
  #ifndef TS_CACHE_H
14
14
  #define TS_CACHE_H
15
15
 
16
- #include "utils/guc.h"
16
+ #include "fmgr.h"
17
17
 
18
18
 
19
19
  /*
@@ -84,7 +84,7 @@ typedef struct
84
84
  /*
85
85
  * GUC variable for current configuration
86
86
  */
87
- extern char *TSCurrentConfig;
87
+ extern PGDLLIMPORT char *TSCurrentConfig;
88
88
 
89
89
 
90
90
  extern TSParserCacheEntry *lookup_ts_parser_cache(Oid prsId);
@@ -92,7 +92,5 @@ extern TSDictionaryCacheEntry *lookup_ts_dictionary_cache(Oid dictId);
92
92
  extern TSConfigCacheEntry *lookup_ts_config_cache(Oid cfgId);
93
93
 
94
94
  extern Oid getTSCurrentConfig(bool emitError);
95
- extern bool check_TSCurrentConfig(char **newval, void **extra, GucSource source);
96
- extern void assign_TSCurrentConfig(const char *newval, void *extra);
97
95
 
98
96
  #endif /* TS_CACHE_H */