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
@@ -3,7 +3,7 @@
3
3
  * pg_proc.h
4
4
  * definition of the "procedure" system catalog (pg_proc)
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/catalog/pg_proc.h
@@ -35,10 +35,10 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
35
35
  NameData proname;
36
36
 
37
37
  /* OID of namespace containing this proc */
38
- Oid pronamespace BKI_DEFAULT(PGNSP);
38
+ Oid pronamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
39
39
 
40
40
  /* procedure owner */
41
- Oid proowner BKI_DEFAULT(PGUID);
41
+ Oid proowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
42
42
 
43
43
  /* OID of pg_language entry */
44
44
  Oid prolang BKI_DEFAULT(internal) BKI_LOOKUP(pg_language);
@@ -49,11 +49,11 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
49
49
  /* estimated # of rows out (if proretset) */
50
50
  float4 prorows BKI_DEFAULT(0);
51
51
 
52
- /* element type of variadic array, or 0 */
53
- Oid provariadic BKI_DEFAULT(0) BKI_LOOKUP(pg_type);
52
+ /* element type of variadic array, or 0 if not variadic */
53
+ Oid provariadic BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_type);
54
54
 
55
55
  /* planner support function for this function, or 0 if none */
56
- regproc prosupport BKI_DEFAULT(0) BKI_LOOKUP(pg_proc);
56
+ regproc prosupport BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc);
57
57
 
58
58
  /* see PROKIND_ categories below */
59
59
  char prokind BKI_DEFAULT(f);
@@ -92,7 +92,7 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
92
92
  */
93
93
 
94
94
  /* parameter types (excludes OUT params) */
95
- oidvector proargtypes BKI_LOOKUP(pg_type);
95
+ oidvector proargtypes BKI_LOOKUP(pg_type) BKI_FORCE_NOT_NULL;
96
96
 
97
97
  #ifdef CATALOG_VARLEN
98
98
 
@@ -109,7 +109,7 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
109
109
  pg_node_tree proargdefaults BKI_DEFAULT(_null_);
110
110
 
111
111
  /* types for which to apply transforms */
112
- Oid protrftypes[1] BKI_DEFAULT(_null_);
112
+ Oid protrftypes[1] BKI_DEFAULT(_null_) BKI_LOOKUP(pg_type);
113
113
 
114
114
  /* procedure source text */
115
115
  text prosrc BKI_FORCE_NOT_NULL;
@@ -117,6 +117,9 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
117
117
  /* secondary procedure info (can be NULL) */
118
118
  text probin BKI_DEFAULT(_null_);
119
119
 
120
+ /* pre-parsed SQL function body */
121
+ pg_node_tree prosqlbody BKI_DEFAULT(_null_);
122
+
120
123
  /* procedure-local GUC settings */
121
124
  text proconfig[1] BKI_DEFAULT(_null_);
122
125
 
@@ -132,6 +135,11 @@ CATALOG(pg_proc,1255,ProcedureRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(81,Proce
132
135
  */
133
136
  typedef FormData_pg_proc *Form_pg_proc;
134
137
 
138
+ DECLARE_TOAST(pg_proc, 2836, 2837);
139
+
140
+ DECLARE_UNIQUE_INDEX_PKEY(pg_proc_oid_index, 2690, ProcedureOidIndexId, on pg_proc using btree(oid oid_ops));
141
+ DECLARE_UNIQUE_INDEX(pg_proc_proname_args_nsp_index, 2691, ProcedureNameArgsNspIndexId, on pg_proc using btree(proname name_ops, proargtypes oidvector_ops, pronamespace oid_ops));
142
+
135
143
  #ifdef EXPOSE_TO_CLIENT_CODE
136
144
 
137
145
  /*
@@ -157,10 +165,10 @@ typedef FormData_pg_proc *Form_pg_proc;
157
165
  /*
158
166
  * Symbolic values for proparallel column: these indicate whether a function
159
167
  * can be safely be run in a parallel backend, during parallelism but
160
- * necessarily in the master, or only in non-parallel mode.
168
+ * necessarily in the leader, or only in non-parallel mode.
161
169
  */
162
- #define PROPARALLEL_SAFE 's' /* can run in worker or master */
163
- #define PROPARALLEL_RESTRICTED 'r' /* can run in parallel master only */
170
+ #define PROPARALLEL_SAFE 's' /* can run in worker or leader */
171
+ #define PROPARALLEL_RESTRICTED 'r' /* can run in parallel leader only */
164
172
  #define PROPARALLEL_UNSAFE 'u' /* banned while in parallel mode */
165
173
 
166
174
  /*
@@ -187,6 +195,7 @@ extern ObjectAddress ProcedureCreate(const char *procedureName,
187
195
  Oid languageValidator,
188
196
  const char *prosrc,
189
197
  const char *probin,
198
+ Node *prosqlbody,
190
199
  char prokind,
191
200
  bool security_definer,
192
201
  bool isLeakProof,
@@ -3,7 +3,7 @@
3
3
  * pg_proc_d.h
4
4
  * Macro definitions for pg_proc
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 ProcedureRelationId 1255
22
22
  #define ProcedureRelation_Rowtype_Id 81
23
+ #define ProcedureOidIndexId 2690
24
+ #define ProcedureNameArgsNspIndexId 2691
23
25
 
24
26
  #define Anum_pg_proc_oid 1
25
27
  #define Anum_pg_proc_proname 2
@@ -48,10 +50,11 @@
48
50
  #define Anum_pg_proc_protrftypes 25
49
51
  #define Anum_pg_proc_prosrc 26
50
52
  #define Anum_pg_proc_probin 27
51
- #define Anum_pg_proc_proconfig 28
52
- #define Anum_pg_proc_proacl 29
53
+ #define Anum_pg_proc_prosqlbody 28
54
+ #define Anum_pg_proc_proconfig 29
55
+ #define Anum_pg_proc_proacl 30
53
56
 
54
- #define Natts_pg_proc 29
57
+ #define Natts_pg_proc 30
55
58
 
56
59
 
57
60
  /*
@@ -77,10 +80,10 @@
77
80
  /*
78
81
  * Symbolic values for proparallel column: these indicate whether a function
79
82
  * can be safely be run in a parallel backend, during parallelism but
80
- * necessarily in the master, or only in non-parallel mode.
83
+ * necessarily in the leader, or only in non-parallel mode.
81
84
  */
82
- #define PROPARALLEL_SAFE 's' /* can run in worker or master */
83
- #define PROPARALLEL_RESTRICTED 'r' /* can run in parallel master only */
85
+ #define PROPARALLEL_SAFE 's' /* can run in worker or leader */
86
+ #define PROPARALLEL_RESTRICTED 'r' /* can run in parallel leader only */
84
87
  #define PROPARALLEL_UNSAFE 'u' /* banned while in parallel mode */
85
88
 
86
89
  /*
@@ -94,6 +97,5 @@
94
97
  #define PROARGMODE_VARIADIC 'v'
95
98
  #define PROARGMODE_TABLE 't'
96
99
 
97
- #define HEAP_TABLE_AM_HANDLER_OID 3
98
100
 
99
101
  #endif /* PG_PROC_D_H */
@@ -3,7 +3,7 @@
3
3
  * pg_publication.h
4
4
  * definition of the "publication" system catalog (pg_publication)
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/catalog/pg_publication.h
@@ -32,7 +32,7 @@ CATALOG(pg_publication,6104,PublicationRelationId)
32
32
 
33
33
  NameData pubname; /* name of the publication */
34
34
 
35
- Oid pubowner; /* publication owner */
35
+ Oid pubowner BKI_LOOKUP(pg_authid); /* publication owner */
36
36
 
37
37
  /*
38
38
  * indicates that this is special publication which should encompass all
@@ -63,6 +63,9 @@ CATALOG(pg_publication,6104,PublicationRelationId)
63
63
  */
64
64
  typedef FormData_pg_publication *Form_pg_publication;
65
65
 
66
+ DECLARE_UNIQUE_INDEX_PKEY(pg_publication_oid_index, 6110, PublicationObjectIndexId, on pg_publication using btree(oid oid_ops));
67
+ DECLARE_UNIQUE_INDEX(pg_publication_pubname_index, 6111, PublicationNameIndexId, on pg_publication using btree(pubname name_ops));
68
+
66
69
  typedef struct PublicationActions
67
70
  {
68
71
  bool pubinsert;
@@ -71,6 +74,26 @@ typedef struct PublicationActions
71
74
  bool pubtruncate;
72
75
  } PublicationActions;
73
76
 
77
+ typedef struct PublicationDesc
78
+ {
79
+ PublicationActions pubactions;
80
+
81
+ /*
82
+ * true if the columns referenced in row filters which are used for UPDATE
83
+ * or DELETE are part of the replica identity or the publication actions
84
+ * do not include UPDATE or DELETE.
85
+ */
86
+ bool rf_valid_for_update;
87
+ bool rf_valid_for_delete;
88
+
89
+ /*
90
+ * true if the columns are part of the replica identity or the publication
91
+ * actions do not include UPDATE or DELETE.
92
+ */
93
+ bool cols_valid_for_update;
94
+ bool cols_valid_for_delete;
95
+ } PublicationDesc;
96
+
74
97
  typedef struct Publication
75
98
  {
76
99
  Oid oid;
@@ -80,6 +103,13 @@ typedef struct Publication
80
103
  PublicationActions pubactions;
81
104
  } Publication;
82
105
 
106
+ typedef struct PublicationRelInfo
107
+ {
108
+ Relation relation;
109
+ Node *whereClause;
110
+ List *columns;
111
+ } PublicationRelInfo;
112
+
83
113
  extern Publication *GetPublication(Oid pubid);
84
114
  extern Publication *GetPublicationByName(const char *pubname, bool missing_ok);
85
115
  extern List *GetRelationPublications(Oid relid);
@@ -103,13 +133,26 @@ typedef enum PublicationPartOpt
103
133
  extern List *GetPublicationRelations(Oid pubid, PublicationPartOpt pub_partopt);
104
134
  extern List *GetAllTablesPublications(void);
105
135
  extern List *GetAllTablesPublicationRelations(bool pubviaroot);
136
+ extern List *GetPublicationSchemas(Oid pubid);
137
+ extern List *GetSchemaPublications(Oid schemaid);
138
+ extern List *GetSchemaPublicationRelations(Oid schemaid,
139
+ PublicationPartOpt pub_partopt);
140
+ extern List *GetAllSchemaPublicationRelations(Oid pubid,
141
+ PublicationPartOpt pub_partopt);
142
+ extern List *GetPubPartitionOptionRelations(List *result,
143
+ PublicationPartOpt pub_partopt,
144
+ Oid relid);
145
+ extern Oid GetTopMostAncestorInPublication(Oid puboid, List *ancestors,
146
+ int *ancestor_level);
106
147
 
107
148
  extern bool is_publishable_relation(Relation rel);
108
- extern ObjectAddress publication_add_relation(Oid pubid, Relation targetrel,
149
+ extern bool is_schema_publication(Oid pubid);
150
+ extern ObjectAddress publication_add_relation(Oid pubid, PublicationRelInfo *pri,
109
151
  bool if_not_exists);
152
+ extern ObjectAddress publication_add_schema(Oid pubid, Oid schemaid,
153
+ bool if_not_exists);
110
154
 
111
- extern Oid get_publication_oid(const char *pubname, bool missing_ok);
112
- extern char *get_publication_name(Oid pubid, bool missing_ok);
113
-
155
+ extern Bitmapset *pub_collist_to_bitmapset(Bitmapset *columns, Datum pubcols,
156
+ MemoryContext mcxt);
114
157
 
115
158
  #endif /* PG_PUBLICATION_H */
@@ -3,7 +3,7 @@
3
3
  * pg_publication_d.h
4
4
  * Macro definitions for pg_publication
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_PUBLICATION_D_H
20
20
 
21
21
  #define PublicationRelationId 6104
22
+ #define PublicationObjectIndexId 6110
23
+ #define PublicationNameIndexId 6111
22
24
 
23
25
  #define Anum_pg_publication_oid 1
24
26
  #define Anum_pg_publication_pubname 2
@@ -4,7 +4,7 @@
4
4
  * definition of the "replication origin" system catalog
5
5
  * (pg_replication_origin)
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_replication_origin.h
@@ -54,4 +54,9 @@ CATALOG(pg_replication_origin,6000,ReplicationOriginRelationId) BKI_SHARED_RELAT
54
54
 
55
55
  typedef FormData_pg_replication_origin *Form_pg_replication_origin;
56
56
 
57
+ DECLARE_TOAST_WITH_MACRO(pg_replication_origin, 4181, 4182, PgReplicationOriginToastTable, PgReplicationOriginToastIndex);
58
+
59
+ DECLARE_UNIQUE_INDEX_PKEY(pg_replication_origin_roiident_index, 6001, ReplicationOriginIdentIndex, on pg_replication_origin using btree(roident oid_ops));
60
+ DECLARE_UNIQUE_INDEX(pg_replication_origin_roname_index, 6002, ReplicationOriginNameIndex, on pg_replication_origin using btree(roname text_ops));
61
+
57
62
  #endif /* PG_REPLICATION_ORIGIN_H */
@@ -3,7 +3,7 @@
3
3
  * pg_replication_origin_d.h
4
4
  * Macro definitions for pg_replication_origin
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,10 @@
19
19
  #define PG_REPLICATION_ORIGIN_D_H
20
20
 
21
21
  #define ReplicationOriginRelationId 6000
22
+ #define PgReplicationOriginToastTable 4181
23
+ #define PgReplicationOriginToastIndex 4182
24
+ #define ReplicationOriginIdentIndex 6001
25
+ #define ReplicationOriginNameIndex 6002
22
26
 
23
27
  #define Anum_pg_replication_origin_roident 1
24
28
  #define Anum_pg_replication_origin_roname 2
@@ -4,7 +4,7 @@
4
4
  * definition of the "statistics" system catalog (pg_statistic)
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_statistic.h
@@ -29,7 +29,8 @@
29
29
  CATALOG(pg_statistic,2619,StatisticRelationId)
30
30
  {
31
31
  /* These fields form the unique key for the entry: */
32
- Oid starelid; /* relation containing attribute */
32
+ Oid starelid BKI_LOOKUP(pg_class); /* relation containing
33
+ * attribute */
33
34
  int16 staattnum; /* attribute (column) stats are for */
34
35
  bool stainherit; /* true if inheritance children are included */
35
36
 
@@ -90,17 +91,17 @@ CATALOG(pg_statistic,2619,StatisticRelationId)
90
91
  int16 stakind4;
91
92
  int16 stakind5;
92
93
 
93
- Oid staop1;
94
- Oid staop2;
95
- Oid staop3;
96
- Oid staop4;
97
- Oid staop5;
94
+ Oid staop1 BKI_LOOKUP_OPT(pg_operator);
95
+ Oid staop2 BKI_LOOKUP_OPT(pg_operator);
96
+ Oid staop3 BKI_LOOKUP_OPT(pg_operator);
97
+ Oid staop4 BKI_LOOKUP_OPT(pg_operator);
98
+ Oid staop5 BKI_LOOKUP_OPT(pg_operator);
98
99
 
99
- Oid stacoll1;
100
- Oid stacoll2;
101
- Oid stacoll3;
102
- Oid stacoll4;
103
- Oid stacoll5;
100
+ Oid stacoll1 BKI_LOOKUP_OPT(pg_collation);
101
+ Oid stacoll2 BKI_LOOKUP_OPT(pg_collation);
102
+ Oid stacoll3 BKI_LOOKUP_OPT(pg_collation);
103
+ Oid stacoll4 BKI_LOOKUP_OPT(pg_collation);
104
+ Oid stacoll5 BKI_LOOKUP_OPT(pg_collation);
104
105
 
105
106
  #ifdef CATALOG_VARLEN /* variable-length fields start here */
106
107
  float4 stanumbers1[1];
@@ -133,6 +134,12 @@ CATALOG(pg_statistic,2619,StatisticRelationId)
133
134
  */
134
135
  typedef FormData_pg_statistic *Form_pg_statistic;
135
136
 
137
+ DECLARE_TOAST(pg_statistic, 2840, 2841);
138
+
139
+ DECLARE_UNIQUE_INDEX_PKEY(pg_statistic_relid_att_inh_index, 2696, StatisticRelidAttnumInhIndexId, on pg_statistic using btree(starelid oid_ops, staattnum int2_ops, stainherit bool_ops));
140
+
141
+ DECLARE_FOREIGN_KEY((starelid, staattnum), pg_attribute, (attrelid, attnum));
142
+
136
143
  #ifdef EXPOSE_TO_CLIENT_CODE
137
144
 
138
145
  /*
@@ -3,7 +3,7 @@
3
3
  * pg_statistic_d.h
4
4
  * Macro definitions for pg_statistic
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,7 @@
19
19
  #define PG_STATISTIC_D_H
20
20
 
21
21
  #define StatisticRelationId 2619
22
+ #define StatisticRelidAttnumInhIndexId 2696
22
23
 
23
24
  #define Anum_pg_statistic_starelid 1
24
25
  #define Anum_pg_statistic_staattnum 2
@@ -8,7 +8,7 @@
8
8
  * objects, created by CREATE STATISTICS, but not the actual statistical data,
9
9
  * created by running ANALYZE.
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/catalog/pg_statistic_ext.h
@@ -34,24 +34,29 @@ CATALOG(pg_statistic_ext,3381,StatisticExtRelationId)
34
34
  {
35
35
  Oid oid; /* oid */
36
36
 
37
- Oid stxrelid; /* relation containing attributes */
37
+ Oid stxrelid BKI_LOOKUP(pg_class); /* relation containing
38
+ * attributes */
38
39
 
39
40
  /* These two fields form the unique key for the entry: */
40
41
  NameData stxname; /* statistics object name */
41
- Oid stxnamespace; /* OID of statistics object's namespace */
42
+ Oid stxnamespace BKI_LOOKUP(pg_namespace); /* OID of statistics
43
+ * object's namespace */
42
44
 
43
- Oid stxowner; /* statistics object's owner */
45
+ Oid stxowner BKI_LOOKUP(pg_authid); /* statistics object's owner */
44
46
  int32 stxstattarget BKI_DEFAULT(-1); /* statistics target */
45
47
 
46
48
  /*
47
49
  * variable-length fields start here, but we allow direct access to
48
50
  * stxkeys
49
51
  */
50
- int2vector stxkeys; /* array of column keys */
52
+ int2vector stxkeys BKI_FORCE_NOT_NULL; /* array of column keys */
51
53
 
52
54
  #ifdef CATALOG_VARLEN
53
55
  char stxkind[1] BKI_FORCE_NOT_NULL; /* statistics kinds requested
54
56
  * to build */
57
+ pg_node_tree stxexprs; /* A list of expression trees for stats
58
+ * attributes that are not simple column
59
+ * references. */
55
60
  #endif
56
61
 
57
62
  } FormData_pg_statistic_ext;
@@ -63,11 +68,20 @@ CATALOG(pg_statistic_ext,3381,StatisticExtRelationId)
63
68
  */
64
69
  typedef FormData_pg_statistic_ext *Form_pg_statistic_ext;
65
70
 
71
+ DECLARE_TOAST(pg_statistic_ext, 3439, 3440);
72
+
73
+ DECLARE_UNIQUE_INDEX_PKEY(pg_statistic_ext_oid_index, 3380, StatisticExtOidIndexId, on pg_statistic_ext using btree(oid oid_ops));
74
+ DECLARE_UNIQUE_INDEX(pg_statistic_ext_name_index, 3997, StatisticExtNameIndexId, on pg_statistic_ext using btree(stxname name_ops, stxnamespace oid_ops));
75
+ DECLARE_INDEX(pg_statistic_ext_relid_index, 3379, StatisticExtRelidIndexId, on pg_statistic_ext using btree(stxrelid oid_ops));
76
+
77
+ DECLARE_ARRAY_FOREIGN_KEY((stxrelid, stxkeys), pg_attribute, (attrelid, attnum));
78
+
66
79
  #ifdef EXPOSE_TO_CLIENT_CODE
67
80
 
68
81
  #define STATS_EXT_NDISTINCT 'd'
69
82
  #define STATS_EXT_DEPENDENCIES 'f'
70
83
  #define STATS_EXT_MCV 'm'
84
+ #define STATS_EXT_EXPRESSIONS 'e'
71
85
 
72
86
  #endif /* EXPOSE_TO_CLIENT_CODE */
73
87
 
@@ -3,7 +3,7 @@
3
3
  * pg_statistic_ext_d.h
4
4
  * Macro definitions for pg_statistic_ext
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,9 @@
19
19
  #define PG_STATISTIC_EXT_D_H
20
20
 
21
21
  #define StatisticExtRelationId 3381
22
+ #define StatisticExtOidIndexId 3380
23
+ #define StatisticExtNameIndexId 3997
24
+ #define StatisticExtRelidIndexId 3379
22
25
 
23
26
  #define Anum_pg_statistic_ext_oid 1
24
27
  #define Anum_pg_statistic_ext_stxrelid 2
@@ -28,13 +31,15 @@
28
31
  #define Anum_pg_statistic_ext_stxstattarget 6
29
32
  #define Anum_pg_statistic_ext_stxkeys 7
30
33
  #define Anum_pg_statistic_ext_stxkind 8
34
+ #define Anum_pg_statistic_ext_stxexprs 9
31
35
 
32
- #define Natts_pg_statistic_ext 8
36
+ #define Natts_pg_statistic_ext 9
33
37
 
34
38
 
35
39
  #define STATS_EXT_NDISTINCT 'd'
36
40
  #define STATS_EXT_DEPENDENCIES 'f'
37
41
  #define STATS_EXT_MCV 'm'
42
+ #define STATS_EXT_EXPRESSIONS 'e'
38
43
 
39
44
 
40
45
  #endif /* PG_STATISTIC_EXT_D_H */
@@ -4,7 +4,7 @@
4
4
  * definition of the "transform" system catalog (pg_transform)
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_transform.h
@@ -29,10 +29,10 @@
29
29
  CATALOG(pg_transform,3576,TransformRelationId)
30
30
  {
31
31
  Oid oid; /* oid */
32
- Oid trftype;
33
- Oid trflang;
34
- regproc trffromsql;
35
- regproc trftosql;
32
+ Oid trftype BKI_LOOKUP(pg_type);
33
+ Oid trflang BKI_LOOKUP(pg_language);
34
+ regproc trffromsql BKI_LOOKUP_OPT(pg_proc);
35
+ regproc trftosql BKI_LOOKUP_OPT(pg_proc);
36
36
  } FormData_pg_transform;
37
37
 
38
38
  /* ----------------
@@ -42,4 +42,7 @@ CATALOG(pg_transform,3576,TransformRelationId)
42
42
  */
43
43
  typedef FormData_pg_transform *Form_pg_transform;
44
44
 
45
+ DECLARE_UNIQUE_INDEX_PKEY(pg_transform_oid_index, 3574, TransformOidIndexId, on pg_transform using btree(oid oid_ops));
46
+ DECLARE_UNIQUE_INDEX(pg_transform_type_lang_index, 3575, TransformTypeLangIndexId, on pg_transform using btree(trftype oid_ops, trflang oid_ops));
47
+
45
48
  #endif /* PG_TRANSFORM_H */
@@ -3,7 +3,7 @@
3
3
  * pg_transform_d.h
4
4
  * Macro definitions for pg_transform
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_TRANSFORM_D_H
20
20
 
21
21
  #define TransformRelationId 3576
22
+ #define TransformOidIndexId 3574
23
+ #define TransformTypeLangIndexId 3575
22
24
 
23
25
  #define Anum_pg_transform_oid 1
24
26
  #define Anum_pg_transform_trftype 2
@@ -4,7 +4,7 @@
4
4
  * definition of the "trigger" system catalog (pg_trigger)
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_trigger.h
@@ -34,18 +34,25 @@
34
34
  CATALOG(pg_trigger,2620,TriggerRelationId)
35
35
  {
36
36
  Oid oid; /* oid */
37
- Oid tgrelid; /* relation trigger is attached to */
38
- Oid tgparentid; /* OID of parent trigger, if any */
37
+ Oid tgrelid BKI_LOOKUP(pg_class); /* relation trigger is
38
+ * attached to */
39
+ Oid tgparentid BKI_LOOKUP_OPT(pg_trigger); /* OID of parent
40
+ * trigger, if any */
39
41
  NameData tgname; /* trigger's name */
40
- Oid tgfoid; /* OID of function to be called */
42
+ Oid tgfoid BKI_LOOKUP(pg_proc); /* OID of function to be called */
41
43
  int16 tgtype; /* BEFORE/AFTER/INSTEAD, UPDATE/DELETE/INSERT,
42
44
  * ROW/STATEMENT; see below */
43
45
  char tgenabled; /* trigger's firing configuration WRT
44
46
  * session_replication_role */
45
47
  bool tgisinternal; /* trigger is system-generated */
46
- Oid tgconstrrelid; /* constraint's FROM table, if any */
47
- Oid tgconstrindid; /* constraint's supporting index, if any */
48
- Oid tgconstraint; /* associated pg_constraint entry, if any */
48
+ Oid tgconstrrelid BKI_LOOKUP_OPT(pg_class); /* constraint's FROM
49
+ * table, if any */
50
+ Oid tgconstrindid BKI_LOOKUP_OPT(pg_class); /* constraint's
51
+ * supporting index, if
52
+ * any */
53
+ Oid tgconstraint BKI_LOOKUP_OPT(pg_constraint); /* associated
54
+ * pg_constraint entry,
55
+ * if any */
49
56
  bool tgdeferrable; /* constraint trigger is deferrable */
50
57
  bool tginitdeferred; /* constraint trigger is deferred initially */
51
58
  int16 tgnargs; /* # of extra arguments in tgargs */
@@ -54,7 +61,8 @@ CATALOG(pg_trigger,2620,TriggerRelationId)
54
61
  * Variable-length fields start here, but we allow direct access to
55
62
  * tgattr. Note: tgattr and tgargs must not be null.
56
63
  */
57
- int2vector tgattr; /* column numbers, if trigger is on columns */
64
+ int2vector tgattr BKI_FORCE_NOT_NULL; /* column numbers, if trigger is
65
+ * on columns */
58
66
 
59
67
  #ifdef CATALOG_VARLEN
60
68
  bytea tgargs BKI_FORCE_NOT_NULL; /* first\000second\000tgnargs\000 */
@@ -71,6 +79,14 @@ CATALOG(pg_trigger,2620,TriggerRelationId)
71
79
  */
72
80
  typedef FormData_pg_trigger *Form_pg_trigger;
73
81
 
82
+ DECLARE_TOAST(pg_trigger, 2336, 2337);
83
+
84
+ DECLARE_INDEX(pg_trigger_tgconstraint_index, 2699, TriggerConstraintIndexId, on pg_trigger using btree(tgconstraint oid_ops));
85
+ DECLARE_UNIQUE_INDEX(pg_trigger_tgrelid_tgname_index, 2701, TriggerRelidNameIndexId, on pg_trigger using btree(tgrelid oid_ops, tgname name_ops));
86
+ DECLARE_UNIQUE_INDEX_PKEY(pg_trigger_oid_index, 2702, TriggerOidIndexId, on pg_trigger using btree(oid oid_ops));
87
+
88
+ DECLARE_ARRAY_FOREIGN_KEY((tgrelid, tgattr), pg_attribute, (attrelid, attnum));
89
+
74
90
  #ifdef EXPOSE_TO_CLIENT_CODE
75
91
 
76
92
  /* Bits within tgtype */
@@ -3,7 +3,7 @@
3
3
  * pg_trigger_d.h
4
4
  * Macro definitions for pg_trigger
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,9 @@
19
19
  #define PG_TRIGGER_D_H
20
20
 
21
21
  #define TriggerRelationId 2620
22
+ #define TriggerConstraintIndexId 2699
23
+ #define TriggerRelidNameIndexId 2701
24
+ #define TriggerOidIndexId 2702
22
25
 
23
26
  #define Anum_pg_trigger_oid 1
24
27
  #define Anum_pg_trigger_tgrelid 2
@@ -5,7 +5,7 @@
5
5
  * (pg_ts_config)
6
6
  *
7
7
  *
8
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
8
+ * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
9
9
  * Portions Copyright (c) 1994, Regents of the University of California
10
10
  *
11
11
  * src/include/catalog/pg_ts_config.h
@@ -36,10 +36,10 @@ CATALOG(pg_ts_config,3602,TSConfigRelationId)
36
36
  NameData cfgname;
37
37
 
38
38
  /* name space */
39
- Oid cfgnamespace BKI_DEFAULT(PGNSP);
39
+ Oid cfgnamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
40
40
 
41
41
  /* owner */
42
- Oid cfgowner BKI_DEFAULT(PGUID);
42
+ Oid cfgowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
43
43
 
44
44
  /* OID of parser */
45
45
  Oid cfgparser BKI_LOOKUP(pg_ts_parser);
@@ -47,4 +47,7 @@ CATALOG(pg_ts_config,3602,TSConfigRelationId)
47
47
 
48
48
  typedef FormData_pg_ts_config *Form_pg_ts_config;
49
49
 
50
+ DECLARE_UNIQUE_INDEX(pg_ts_config_cfgname_index, 3608, TSConfigNameNspIndexId, on pg_ts_config using btree(cfgname name_ops, cfgnamespace oid_ops));
51
+ DECLARE_UNIQUE_INDEX_PKEY(pg_ts_config_oid_index, 3712, TSConfigOidIndexId, on pg_ts_config using btree(oid oid_ops));
52
+
50
53
  #endif /* PG_TS_CONFIG_H */
@@ -3,7 +3,7 @@
3
3
  * pg_ts_config_d.h
4
4
  * Macro definitions for pg_ts_config
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_CONFIG_D_H
20
20
 
21
21
  #define TSConfigRelationId 3602
22
+ #define TSConfigNameNspIndexId 3608
23
+ #define TSConfigOidIndexId 3712
22
24
 
23
25
  #define Anum_pg_ts_config_oid 1
24
26
  #define Anum_pg_ts_config_cfgname 2