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
  * definition of the "text search dictionary" system catalog (pg_ts_dict)
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/catalog/pg_ts_dict.h
@@ -35,10 +35,10 @@ CATALOG(pg_ts_dict,3600,TSDictionaryRelationId)
35
35
  NameData dictname;
36
36
 
37
37
  /* name space */
38
- Oid dictnamespace BKI_DEFAULT(PGNSP);
38
+ Oid dictnamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
39
39
 
40
40
  /* owner */
41
- Oid dictowner BKI_DEFAULT(PGUID);
41
+ Oid dictowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
42
42
 
43
43
  /* dictionary's template */
44
44
  Oid dicttemplate BKI_LOOKUP(pg_ts_template);
@@ -51,4 +51,9 @@ CATALOG(pg_ts_dict,3600,TSDictionaryRelationId)
51
51
 
52
52
  typedef FormData_pg_ts_dict *Form_pg_ts_dict;
53
53
 
54
+ DECLARE_TOAST(pg_ts_dict, 4169, 4170);
55
+
56
+ DECLARE_UNIQUE_INDEX(pg_ts_dict_dictname_index, 3604, TSDictionaryNameNspIndexId, on pg_ts_dict using btree(dictname name_ops, dictnamespace oid_ops));
57
+ DECLARE_UNIQUE_INDEX_PKEY(pg_ts_dict_oid_index, 3605, TSDictionaryOidIndexId, on pg_ts_dict using btree(oid oid_ops));
58
+
54
59
  #endif /* PG_TS_DICT_H */
@@ -3,7 +3,7 @@
3
3
  * pg_ts_dict_d.h
4
4
  * Macro definitions for pg_ts_dict
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
  * NOTES
@@ -19,6 +19,8 @@
19
19
  #define PG_TS_DICT_D_H
20
20
 
21
21
  #define TSDictionaryRelationId 3600
22
+ #define TSDictionaryNameNspIndexId 3604
23
+ #define TSDictionaryOidIndexId 3605
22
24
 
23
25
  #define Anum_pg_ts_dict_oid 1
24
26
  #define Anum_pg_ts_dict_dictname 2
@@ -4,7 +4,7 @@
4
4
  * definition of the "text search parser" system catalog (pg_ts_parser)
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/catalog/pg_ts_parser.h
@@ -34,7 +34,7 @@ CATALOG(pg_ts_parser,3601,TSParserRelationId)
34
34
  NameData prsname;
35
35
 
36
36
  /* name space */
37
- Oid prsnamespace BKI_DEFAULT(PGNSP);
37
+ Oid prsnamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
38
38
 
39
39
  /* init parsing session */
40
40
  regproc prsstart BKI_LOOKUP(pg_proc);
@@ -46,7 +46,7 @@ CATALOG(pg_ts_parser,3601,TSParserRelationId)
46
46
  regproc prsend BKI_LOOKUP(pg_proc);
47
47
 
48
48
  /* return data for headline creation */
49
- regproc prsheadline BKI_LOOKUP(pg_proc);
49
+ regproc prsheadline BKI_LOOKUP_OPT(pg_proc);
50
50
 
51
51
  /* return descriptions of lexeme's types */
52
52
  regproc prslextype BKI_LOOKUP(pg_proc);
@@ -54,4 +54,7 @@ CATALOG(pg_ts_parser,3601,TSParserRelationId)
54
54
 
55
55
  typedef FormData_pg_ts_parser *Form_pg_ts_parser;
56
56
 
57
+ DECLARE_UNIQUE_INDEX(pg_ts_parser_prsname_index, 3606, TSParserNameNspIndexId, on pg_ts_parser using btree(prsname name_ops, prsnamespace oid_ops));
58
+ DECLARE_UNIQUE_INDEX_PKEY(pg_ts_parser_oid_index, 3607, TSParserOidIndexId, on pg_ts_parser using btree(oid oid_ops));
59
+
57
60
  #endif /* PG_TS_PARSER_H */
@@ -3,7 +3,7 @@
3
3
  * pg_ts_parser_d.h
4
4
  * Macro definitions for pg_ts_parser
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
  * NOTES
@@ -19,6 +19,8 @@
19
19
  #define PG_TS_PARSER_D_H
20
20
 
21
21
  #define TSParserRelationId 3601
22
+ #define TSParserNameNspIndexId 3606
23
+ #define TSParserOidIndexId 3607
22
24
 
23
25
  #define Anum_pg_ts_parser_oid 1
24
26
  #define Anum_pg_ts_parser_prsname 2
@@ -4,7 +4,7 @@
4
4
  * definition of the "text search template" system catalog (pg_ts_template)
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/catalog/pg_ts_template.h
@@ -34,10 +34,10 @@ CATALOG(pg_ts_template,3764,TSTemplateRelationId)
34
34
  NameData tmplname;
35
35
 
36
36
  /* name space */
37
- Oid tmplnamespace BKI_DEFAULT(PGNSP);
37
+ Oid tmplnamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
38
38
 
39
39
  /* initialization method of dict (may be 0) */
40
- regproc tmplinit BKI_LOOKUP(pg_proc);
40
+ regproc tmplinit BKI_LOOKUP_OPT(pg_proc);
41
41
 
42
42
  /* base method of dictionary */
43
43
  regproc tmpllexize BKI_LOOKUP(pg_proc);
@@ -45,4 +45,7 @@ CATALOG(pg_ts_template,3764,TSTemplateRelationId)
45
45
 
46
46
  typedef FormData_pg_ts_template *Form_pg_ts_template;
47
47
 
48
+ DECLARE_UNIQUE_INDEX(pg_ts_template_tmplname_index, 3766, TSTemplateNameNspIndexId, on pg_ts_template using btree(tmplname name_ops, tmplnamespace oid_ops));
49
+ DECLARE_UNIQUE_INDEX_PKEY(pg_ts_template_oid_index, 3767, TSTemplateOidIndexId, on pg_ts_template using btree(oid oid_ops));
50
+
48
51
  #endif /* PG_TS_TEMPLATE_H */
@@ -3,7 +3,7 @@
3
3
  * pg_ts_template_d.h
4
4
  * Macro definitions for pg_ts_template
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
  * NOTES
@@ -19,6 +19,8 @@
19
19
  #define PG_TS_TEMPLATE_D_H
20
20
 
21
21
  #define TSTemplateRelationId 3764
22
+ #define TSTemplateNameNspIndexId 3766
23
+ #define TSTemplateOidIndexId 3767
22
24
 
23
25
  #define Anum_pg_ts_template_oid 1
24
26
  #define Anum_pg_ts_template_tmplname 2
@@ -4,7 +4,7 @@
4
4
  * definition of the "type" system catalog (pg_type)
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/catalog/pg_type.h
@@ -41,10 +41,10 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
41
41
  NameData typname;
42
42
 
43
43
  /* OID of namespace containing this type */
44
- Oid typnamespace BKI_DEFAULT(PGNSP);
44
+ Oid typnamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
45
45
 
46
46
  /* type owner */
47
- Oid typowner BKI_DEFAULT(PGUID);
47
+ Oid typowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
48
48
 
49
49
  /*
50
50
  * For a fixed-size type, typlen is the number of bytes we use to
@@ -98,26 +98,32 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
98
98
  char typdelim BKI_DEFAULT(',');
99
99
 
100
100
  /* associated pg_class OID if a composite type, else 0 */
101
- Oid typrelid BKI_DEFAULT(0) BKI_ARRAY_DEFAULT(0) BKI_LOOKUP(pg_class);
101
+ Oid typrelid BKI_DEFAULT(0) BKI_ARRAY_DEFAULT(0) BKI_LOOKUP_OPT(pg_class);
102
102
 
103
103
  /*
104
- * If typelem is not 0 then it identifies another row in pg_type. The
105
- * current type can then be subscripted like an array yielding values of
106
- * type typelem. A non-zero typelem does not guarantee this type to be a
107
- * "real" array type; some ordinary fixed-length types can also be
108
- * subscripted (e.g., name, point). Variable-length types can *not* be
109
- * turned into pseudo-arrays like that. Hence, the way to determine
110
- * whether a type is a "true" array type is if:
111
- *
112
- * typelem != 0 and typlen == -1.
104
+ * Type-specific subscripting handler. If typsubscript is 0, it means
105
+ * that this type doesn't support subscripting. Note that various parts
106
+ * of the system deem types to be "true" array types only if their
107
+ * typsubscript is array_subscript_handler.
108
+ */
109
+ regproc typsubscript BKI_DEFAULT(-) BKI_ARRAY_DEFAULT(array_subscript_handler) BKI_LOOKUP_OPT(pg_proc);
110
+
111
+ /*
112
+ * If typelem is not 0 then it identifies another row in pg_type, defining
113
+ * the type yielded by subscripting. This should be 0 if typsubscript is
114
+ * 0. However, it can be 0 when typsubscript isn't 0, if the handler
115
+ * doesn't need typelem to determine the subscripting result type. Note
116
+ * that a typelem dependency is considered to imply physical containment
117
+ * of the element type in this type; so DDL changes on the element type
118
+ * might be restricted by the presence of this type.
113
119
  */
114
- Oid typelem BKI_DEFAULT(0) BKI_LOOKUP(pg_type);
120
+ Oid typelem BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_type);
115
121
 
116
122
  /*
117
123
  * If there is a "true" array type having this type as element type,
118
124
  * typarray links to it. Zero if no associated "true" array type.
119
125
  */
120
- Oid typarray BKI_DEFAULT(0) BKI_ARRAY_DEFAULT(0) BKI_LOOKUP(pg_type);
126
+ Oid typarray BKI_DEFAULT(0) BKI_ARRAY_DEFAULT(0) BKI_LOOKUP_OPT(pg_type);
121
127
 
122
128
  /*
123
129
  * I/O conversion procedures for the datatype.
@@ -128,19 +134,19 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
128
134
  regproc typoutput BKI_ARRAY_DEFAULT(array_out) BKI_LOOKUP(pg_proc);
129
135
 
130
136
  /* binary format (optional) */
131
- regproc typreceive BKI_ARRAY_DEFAULT(array_recv) BKI_LOOKUP(pg_proc);
132
- regproc typsend BKI_ARRAY_DEFAULT(array_send) BKI_LOOKUP(pg_proc);
137
+ regproc typreceive BKI_ARRAY_DEFAULT(array_recv) BKI_LOOKUP_OPT(pg_proc);
138
+ regproc typsend BKI_ARRAY_DEFAULT(array_send) BKI_LOOKUP_OPT(pg_proc);
133
139
 
134
140
  /*
135
141
  * I/O functions for optional type modifiers.
136
142
  */
137
- regproc typmodin BKI_DEFAULT(-) BKI_LOOKUP(pg_proc);
138
- regproc typmodout BKI_DEFAULT(-) BKI_LOOKUP(pg_proc);
143
+ regproc typmodin BKI_DEFAULT(-) BKI_LOOKUP_OPT(pg_proc);
144
+ regproc typmodout BKI_DEFAULT(-) BKI_LOOKUP_OPT(pg_proc);
139
145
 
140
146
  /*
141
147
  * Custom ANALYZE procedure for the datatype (0 selects the default).
142
148
  */
143
- regproc typanalyze BKI_DEFAULT(-) BKI_ARRAY_DEFAULT(array_typanalyze) BKI_LOOKUP(pg_proc);
149
+ regproc typanalyze BKI_DEFAULT(-) BKI_ARRAY_DEFAULT(array_typanalyze) BKI_LOOKUP_OPT(pg_proc);
144
150
 
145
151
  /* ----------------
146
152
  * typalign is the alignment required when storing a value of this
@@ -199,7 +205,7 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
199
205
  * Domains use typbasetype to show the base (or domain) type that the
200
206
  * domain is based on. Zero if the type is not a domain.
201
207
  */
202
- Oid typbasetype BKI_DEFAULT(0);
208
+ Oid typbasetype BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_type);
203
209
 
204
210
  /*
205
211
  * Domains use typtypmod to record the typmod to be applied to their base
@@ -219,7 +225,7 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
219
225
  * DEFAULT_COLLATION_OID) for collatable base types, possibly some other
220
226
  * OID for domains over collatable types
221
227
  */
222
- Oid typcollation BKI_DEFAULT(0) BKI_LOOKUP(pg_collation);
228
+ Oid typcollation BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_collation);
223
229
 
224
230
  #ifdef CATALOG_VARLEN /* variable-length fields start here */
225
231
 
@@ -254,6 +260,11 @@ CATALOG(pg_type,1247,TypeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(71,TypeRelati
254
260
  */
255
261
  typedef FormData_pg_type *Form_pg_type;
256
262
 
263
+ DECLARE_TOAST(pg_type, 4171, 4172);
264
+
265
+ DECLARE_UNIQUE_INDEX_PKEY(pg_type_oid_index, 2703, TypeOidIndexId, on pg_type using btree(oid oid_ops));
266
+ DECLARE_UNIQUE_INDEX(pg_type_typname_nsp_index, 2704, TypeNameNspIndexId, on pg_type using btree(typname name_ops, typnamespace oid_ops));
267
+
257
268
  #ifdef EXPOSE_TO_CLIENT_CODE
258
269
 
259
270
  /*
@@ -263,6 +274,7 @@ typedef FormData_pg_type *Form_pg_type;
263
274
  #define TYPTYPE_COMPOSITE 'c' /* composite (e.g., table's rowtype) */
264
275
  #define TYPTYPE_DOMAIN 'd' /* domain over another type */
265
276
  #define TYPTYPE_ENUM 'e' /* enumerated type */
277
+ #define TYPTYPE_MULTIRANGE 'm' /* multirange type */
266
278
  #define TYPTYPE_PSEUDO 'p' /* pseudo-type */
267
279
  #define TYPTYPE_RANGE 'r' /* range type */
268
280
 
@@ -282,6 +294,7 @@ typedef FormData_pg_type *Form_pg_type;
282
294
  #define TYPCATEGORY_USER 'U'
283
295
  #define TYPCATEGORY_BITSTRING 'V' /* er ... "varbit"? */
284
296
  #define TYPCATEGORY_UNKNOWN 'X'
297
+ #define TYPCATEGORY_INTERNAL 'Z'
285
298
 
286
299
  #define TYPALIGN_CHAR 'c' /* char alignment (i.e. unaligned) */
287
300
  #define TYPALIGN_SHORT 's' /* short alignment (typically 2 bytes) */
@@ -304,13 +317,27 @@ typedef FormData_pg_type *Form_pg_type;
304
317
  (typid) == ANYARRAYOID || \
305
318
  (typid) == ANYNONARRAYOID || \
306
319
  (typid) == ANYENUMOID || \
307
- (typid) == ANYRANGEOID)
320
+ (typid) == ANYRANGEOID || \
321
+ (typid) == ANYMULTIRANGEOID)
308
322
 
309
323
  #define IsPolymorphicTypeFamily2(typid) \
310
324
  ((typid) == ANYCOMPATIBLEOID || \
311
325
  (typid) == ANYCOMPATIBLEARRAYOID || \
312
326
  (typid) == ANYCOMPATIBLENONARRAYOID || \
313
- (typid) == ANYCOMPATIBLERANGEOID)
327
+ (typid) == ANYCOMPATIBLERANGEOID || \
328
+ (typid) == ANYCOMPATIBLEMULTIRANGEOID)
329
+
330
+ /* Is this a "true" array type? (Requires fmgroids.h) */
331
+ #define IsTrueArrayType(typeForm) \
332
+ (OidIsValid((typeForm)->typelem) && \
333
+ (typeForm)->typsubscript == F_ARRAY_SUBSCRIPT_HANDLER)
334
+
335
+ /*
336
+ * Backwards compatibility for ancient random spellings of pg_type OID macros.
337
+ * Don't use these names in new code.
338
+ */
339
+ #define CASHOID MONEYOID
340
+ #define LSNOID PG_LSNOID
314
341
 
315
342
  #endif /* EXPOSE_TO_CLIENT_CODE */
316
343
 
@@ -337,6 +364,7 @@ extern ObjectAddress TypeCreate(Oid newTypeOid,
337
364
  Oid typmodinProcedure,
338
365
  Oid typmodoutProcedure,
339
366
  Oid analyzeProcedure,
367
+ Oid subscriptProcedure,
340
368
  Oid elementType,
341
369
  bool isImplicitArray,
342
370
  Oid arrayType,
@@ -359,6 +387,7 @@ extern void GenerateTypeDependencies(HeapTuple typeTuple,
359
387
  * rowtypes */
360
388
  bool isImplicitArray,
361
389
  bool isDependentType,
390
+ bool makeExtensionDep,
362
391
  bool rebuild);
363
392
 
364
393
  extern void RenameTypeInternal(Oid typeOid, const char *newTypeName,
@@ -369,4 +398,7 @@ extern char *makeArrayTypeName(const char *typeName, Oid typeNamespace);
369
398
  extern bool moveArrayTypeName(Oid typeOid, const char *typeName,
370
399
  Oid typeNamespace);
371
400
 
401
+ extern char *makeMultirangeTypeName(const char *rangeTypeName,
402
+ Oid typeNamespace);
403
+
372
404
  #endif /* PG_TYPE_H */
@@ -3,7 +3,7 @@
3
3
  * pg_type_d.h
4
4
  * Macro definitions for pg_type
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
  * NOTES
@@ -20,6 +20,8 @@
20
20
 
21
21
  #define TypeRelationId 1247
22
22
  #define TypeRelation_Rowtype_Id 71
23
+ #define TypeOidIndexId 2703
24
+ #define TypeNameNspIndexId 2704
23
25
 
24
26
  #define Anum_pg_type_oid 1
25
27
  #define Anum_pg_type_typname 2
@@ -33,27 +35,28 @@
33
35
  #define Anum_pg_type_typisdefined 10
34
36
  #define Anum_pg_type_typdelim 11
35
37
  #define Anum_pg_type_typrelid 12
36
- #define Anum_pg_type_typelem 13
37
- #define Anum_pg_type_typarray 14
38
- #define Anum_pg_type_typinput 15
39
- #define Anum_pg_type_typoutput 16
40
- #define Anum_pg_type_typreceive 17
41
- #define Anum_pg_type_typsend 18
42
- #define Anum_pg_type_typmodin 19
43
- #define Anum_pg_type_typmodout 20
44
- #define Anum_pg_type_typanalyze 21
45
- #define Anum_pg_type_typalign 22
46
- #define Anum_pg_type_typstorage 23
47
- #define Anum_pg_type_typnotnull 24
48
- #define Anum_pg_type_typbasetype 25
49
- #define Anum_pg_type_typtypmod 26
50
- #define Anum_pg_type_typndims 27
51
- #define Anum_pg_type_typcollation 28
52
- #define Anum_pg_type_typdefaultbin 29
53
- #define Anum_pg_type_typdefault 30
54
- #define Anum_pg_type_typacl 31
38
+ #define Anum_pg_type_typsubscript 13
39
+ #define Anum_pg_type_typelem 14
40
+ #define Anum_pg_type_typarray 15
41
+ #define Anum_pg_type_typinput 16
42
+ #define Anum_pg_type_typoutput 17
43
+ #define Anum_pg_type_typreceive 18
44
+ #define Anum_pg_type_typsend 19
45
+ #define Anum_pg_type_typmodin 20
46
+ #define Anum_pg_type_typmodout 21
47
+ #define Anum_pg_type_typanalyze 22
48
+ #define Anum_pg_type_typalign 23
49
+ #define Anum_pg_type_typstorage 24
50
+ #define Anum_pg_type_typnotnull 25
51
+ #define Anum_pg_type_typbasetype 26
52
+ #define Anum_pg_type_typtypmod 27
53
+ #define Anum_pg_type_typndims 28
54
+ #define Anum_pg_type_typcollation 29
55
+ #define Anum_pg_type_typdefaultbin 30
56
+ #define Anum_pg_type_typdefault 31
57
+ #define Anum_pg_type_typacl 32
55
58
 
56
- #define Natts_pg_type 31
59
+ #define Natts_pg_type 32
57
60
 
58
61
 
59
62
  /*
@@ -63,6 +66,7 @@
63
66
  #define TYPTYPE_COMPOSITE 'c' /* composite (e.g., table's rowtype) */
64
67
  #define TYPTYPE_DOMAIN 'd' /* domain over another type */
65
68
  #define TYPTYPE_ENUM 'e' /* enumerated type */
69
+ #define TYPTYPE_MULTIRANGE 'm' /* multirange type */
66
70
  #define TYPTYPE_PSEUDO 'p' /* pseudo-type */
67
71
  #define TYPTYPE_RANGE 'r' /* range type */
68
72
 
@@ -82,6 +86,7 @@
82
86
  #define TYPCATEGORY_USER 'U'
83
87
  #define TYPCATEGORY_BITSTRING 'V' /* er ... "varbit"? */
84
88
  #define TYPCATEGORY_UNKNOWN 'X'
89
+ #define TYPCATEGORY_INTERNAL 'Z'
85
90
 
86
91
  #define TYPALIGN_CHAR 'c' /* char alignment (i.e. unaligned) */
87
92
  #define TYPALIGN_SHORT 's' /* short alignment (typically 2 bytes) */
@@ -104,13 +109,27 @@
104
109
  (typid) == ANYARRAYOID || \
105
110
  (typid) == ANYNONARRAYOID || \
106
111
  (typid) == ANYENUMOID || \
107
- (typid) == ANYRANGEOID)
112
+ (typid) == ANYRANGEOID || \
113
+ (typid) == ANYMULTIRANGEOID)
108
114
 
109
115
  #define IsPolymorphicTypeFamily2(typid) \
110
116
  ((typid) == ANYCOMPATIBLEOID || \
111
117
  (typid) == ANYCOMPATIBLEARRAYOID || \
112
118
  (typid) == ANYCOMPATIBLENONARRAYOID || \
113
- (typid) == ANYCOMPATIBLERANGEOID)
119
+ (typid) == ANYCOMPATIBLERANGEOID || \
120
+ (typid) == ANYCOMPATIBLEMULTIRANGEOID)
121
+
122
+ /* Is this a "true" array type? (Requires fmgroids.h) */
123
+ #define IsTrueArrayType(typeForm) \
124
+ (OidIsValid((typeForm)->typelem) && \
125
+ (typeForm)->typsubscript == F_ARRAY_SUBSCRIPT_HANDLER)
126
+
127
+ /*
128
+ * Backwards compatibility for ancient random spellings of pg_type OID macros.
129
+ * Don't use these names in new code.
130
+ */
131
+ #define CASHOID MONEYOID
132
+ #define LSNOID PG_LSNOID
114
133
 
115
134
  #define BOOLOID 16
116
135
  #define BYTEAOID 17
@@ -129,11 +148,11 @@
129
148
  #define OIDVECTOROID 30
130
149
  #define JSONOID 114
131
150
  #define XMLOID 142
132
- #define PGNODETREEOID 194
133
- #define PGNDISTINCTOID 3361
134
- #define PGDEPENDENCIESOID 3402
135
- #define PGMCVLISTOID 5017
136
- #define PGDDLCOMMANDOID 32
151
+ #define PG_NODE_TREEOID 194
152
+ #define PG_NDISTINCTOID 3361
153
+ #define PG_DEPENDENCIESOID 3402
154
+ #define PG_MCV_LISTOID 5017
155
+ #define PG_DDL_COMMANDOID 32
137
156
  #define XID8OID 5069
138
157
  #define POINTOID 600
139
158
  #define LSEGOID 601
@@ -145,7 +164,7 @@
145
164
  #define FLOAT8OID 701
146
165
  #define UNKNOWNOID 705
147
166
  #define CIRCLEOID 718
148
- #define CASHOID 790
167
+ #define MONEYOID 790
149
168
  #define MACADDROID 829
150
169
  #define INETOID 869
151
170
  #define CIDROID 650
@@ -172,7 +191,7 @@
172
191
  #define REGROLEOID 4096
173
192
  #define REGNAMESPACEOID 4089
174
193
  #define UUIDOID 2950
175
- #define LSNOID 3220
194
+ #define PG_LSNOID 3220
176
195
  #define TSVECTOROID 3614
177
196
  #define GTSVECTOROID 3642
178
197
  #define TSQUERYOID 3615
@@ -188,6 +207,12 @@
188
207
  #define TSTZRANGEOID 3910
189
208
  #define DATERANGEOID 3912
190
209
  #define INT8RANGEOID 3926
210
+ #define INT4MULTIRANGEOID 4451
211
+ #define NUMMULTIRANGEOID 4532
212
+ #define TSMULTIRANGEOID 4533
213
+ #define TSTZMULTIRANGEOID 4534
214
+ #define DATEMULTIRANGEOID 4535
215
+ #define INT8MULTIRANGEOID 4536
191
216
  #define RECORDOID 2249
192
217
  #define RECORDARRAYOID 2287
193
218
  #define CSTRINGOID 2275
@@ -195,7 +220,7 @@
195
220
  #define ANYARRAYOID 2277
196
221
  #define VOIDOID 2278
197
222
  #define TRIGGEROID 2279
198
- #define EVTTRIGGEROID 3838
223
+ #define EVENT_TRIGGEROID 3838
199
224
  #define LANGUAGE_HANDLEROID 2280
200
225
  #define INTERNALOID 2281
201
226
  #define ANYELEMENTOID 2283
@@ -210,6 +235,10 @@
210
235
  #define ANYCOMPATIBLEARRAYOID 5078
211
236
  #define ANYCOMPATIBLENONARRAYOID 5079
212
237
  #define ANYCOMPATIBLERANGEOID 5080
238
+ #define ANYMULTIRANGEOID 4537
239
+ #define ANYCOMPATIBLEMULTIRANGEOID 4538
240
+ #define PG_BRIN_BLOOM_SUMMARYOID 4600
241
+ #define PG_BRIN_MINMAX_MULTI_SUMMARYOID 4601
213
242
  #define BOOLARRAYOID 1000
214
243
  #define BYTEAARRAYOID 1001
215
244
  #define CHARARRAYOID 1002
@@ -225,6 +254,10 @@
225
254
  #define XIDARRAYOID 1011
226
255
  #define CIDARRAYOID 1012
227
256
  #define OIDVECTORARRAYOID 1013
257
+ #define PG_TYPEARRAYOID 210
258
+ #define PG_ATTRIBUTEARRAYOID 270
259
+ #define PG_PROCARRAYOID 272
260
+ #define PG_CLASSARRAYOID 273
228
261
  #define JSONARRAYOID 199
229
262
  #define XMLARRAYOID 143
230
263
  #define XID8ARRAYOID 271
@@ -280,6 +313,12 @@
280
313
  #define TSTZRANGEARRAYOID 3911
281
314
  #define DATERANGEARRAYOID 3913
282
315
  #define INT8RANGEARRAYOID 3927
316
+ #define INT4MULTIRANGEARRAYOID 6150
317
+ #define NUMMULTIRANGEARRAYOID 6151
318
+ #define TSMULTIRANGEARRAYOID 6152
319
+ #define TSTZMULTIRANGEARRAYOID 6153
320
+ #define DATEMULTIRANGEARRAYOID 6155
321
+ #define INT8MULTIRANGEARRAYOID 6157
283
322
  #define CSTRINGARRAYOID 1263
284
323
 
285
324
  #endif /* PG_TYPE_D_H */
@@ -4,7 +4,7 @@
4
4
  * prototypes for functions in backend/catalog/storage.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/catalog/storage.h
@@ -15,21 +15,23 @@
15
15
  #define STORAGE_H
16
16
 
17
17
  #include "storage/block.h"
18
- #include "storage/relfilenode.h"
18
+ #include "storage/relfilelocator.h"
19
19
  #include "storage/smgr.h"
20
20
  #include "utils/relcache.h"
21
21
 
22
22
  /* GUC variables */
23
- extern int wal_skip_threshold;
23
+ extern PGDLLIMPORT int wal_skip_threshold;
24
24
 
25
- extern SMgrRelation RelationCreateStorage(RelFileNode rnode, char relpersistence);
25
+ extern SMgrRelation RelationCreateStorage(RelFileLocator rlocator,
26
+ char relpersistence,
27
+ bool register_delete);
26
28
  extern void RelationDropStorage(Relation rel);
27
- extern void RelationPreserveStorage(RelFileNode rnode, bool atCommit);
29
+ extern void RelationPreserveStorage(RelFileLocator rlocator, bool atCommit);
28
30
  extern void RelationPreTruncate(Relation rel);
29
31
  extern void RelationTruncate(Relation rel, BlockNumber nblocks);
30
32
  extern void RelationCopyStorage(SMgrRelation src, SMgrRelation dst,
31
33
  ForkNumber forkNum, char relpersistence);
32
- extern bool RelFileNodeSkippingWAL(RelFileNode rnode);
34
+ extern bool RelFileLocatorSkippingWAL(RelFileLocator rlocator);
33
35
  extern Size EstimatePendingSyncsSpace(void);
34
36
  extern void SerializePendingSyncs(Size maxSize, char *startAddress);
35
37
  extern void RestorePendingSyncs(char *startAddress);
@@ -40,7 +42,7 @@ extern void RestorePendingSyncs(char *startAddress);
40
42
  */
41
43
  extern void smgrDoPendingDeletes(bool isCommit);
42
44
  extern void smgrDoPendingSyncs(bool isCommit, bool isParallelWorker);
43
- extern int smgrGetPendingDeletes(bool forCommit, RelFileNode **ptr);
45
+ extern int smgrGetPendingDeletes(bool forCommit, RelFileLocator **ptr);
44
46
  extern void AtSubCommit_smgr(void);
45
47
  extern void AtSubAbort_smgr(void);
46
48
  extern void PostPrepare_smgr(void);
@@ -3,7 +3,7 @@
3
3
  * async.h
4
4
  * Asynchronous notification: NOTIFY, LISTEN, UNLISTEN
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/commands/async.h
@@ -20,8 +20,8 @@
20
20
  */
21
21
  #define NUM_NOTIFY_BUFFERS 8
22
22
 
23
- extern bool Trace_notify;
24
- extern volatile sig_atomic_t notifyInterruptPending;
23
+ extern PGDLLIMPORT bool Trace_notify;
24
+ extern PGDLLIMPORT volatile sig_atomic_t notifyInterruptPending;
25
25
 
26
26
  extern Size AsyncShmemSize(void);
27
27
  extern void AsyncShmemInit(void);
@@ -43,12 +43,11 @@ extern void AtAbort_Notify(void);
43
43
  extern void AtSubCommit_Notify(void);
44
44
  extern void AtSubAbort_Notify(void);
45
45
  extern void AtPrepare_Notify(void);
46
- extern void ProcessCompletedNotifies(void);
47
46
 
48
47
  /* signal handler for inbound notifies (PROCSIG_NOTIFY_INTERRUPT) */
49
48
  extern void HandleNotifyInterrupt(void);
50
49
 
51
50
  /* process interrupts */
52
- extern void ProcessNotifyInterrupt(void);
51
+ extern void ProcessNotifyInterrupt(bool flush);
53
52
 
54
53
  #endif /* ASYNC_H */
@@ -4,7 +4,7 @@
4
4
  * Database management commands (create/drop database).
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/commands/dbcommands.h
@@ -24,11 +24,13 @@ extern void dropdb(const char *dbname, bool missing_ok, bool force);
24
24
  extern void DropDatabase(ParseState *pstate, DropdbStmt *stmt);
25
25
  extern ObjectAddress RenameDatabase(const char *oldname, const char *newname);
26
26
  extern Oid AlterDatabase(ParseState *pstate, AlterDatabaseStmt *stmt, bool isTopLevel);
27
+ extern ObjectAddress AlterDatabaseRefreshColl(AlterDatabaseRefreshCollStmt *stmt);
27
28
  extern Oid AlterDatabaseSet(AlterDatabaseSetStmt *stmt);
28
29
  extern ObjectAddress AlterDatabaseOwner(const char *dbname, Oid newOwnerId);
29
30
 
30
31
  extern Oid get_database_oid(const char *dbname, bool missing_ok);
31
32
  extern char *get_database_name(Oid dbid);
33
+ extern bool have_createdb_privilege(void);
32
34
 
33
35
  extern void check_encoding_locale_matches(int encoding, const char *collate, const char *ctype);
34
36