pg_query 5.1.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/Rakefile +4 -4
  5. data/ext/pg_query/ext_symbols_freebsd.sym +1 -0
  6. data/ext/pg_query/ext_symbols_freebsd_with_ruby_abi_version.sym +2 -0
  7. data/ext/pg_query/ext_symbols_openbsd.sym +1 -0
  8. data/ext/pg_query/ext_symbols_openbsd_with_ruby_abi_version.sym +2 -0
  9. data/ext/pg_query/ext_symbols_with_ruby_abi_version.sym +2 -0
  10. data/ext/pg_query/extconf.rb +20 -6
  11. data/ext/pg_query/include/pg_query.h +4 -3
  12. data/ext/pg_query/include/pg_query_enum_defs.c +424 -154
  13. data/ext/pg_query/include/pg_query_fingerprint_conds.c +68 -4
  14. data/ext/pg_query/include/pg_query_fingerprint_defs.c +2952 -1845
  15. data/ext/pg_query/include/pg_query_outfuncs_conds.c +51 -3
  16. data/ext/pg_query/include/pg_query_outfuncs_defs.c +210 -23
  17. data/ext/pg_query/include/pg_query_readfuncs_conds.c +17 -1
  18. data/ext/pg_query/include/pg_query_readfuncs_defs.c +271 -52
  19. data/ext/pg_query/include/postgres/access/amapi.h +14 -3
  20. data/ext/pg_query/include/postgres/access/attmap.h +1 -1
  21. data/ext/pg_query/include/postgres/access/attnum.h +1 -1
  22. data/ext/pg_query/include/postgres/access/brin_internal.h +116 -0
  23. data/ext/pg_query/include/postgres/access/brin_tuple.h +112 -0
  24. data/ext/pg_query/include/postgres/access/clog.h +2 -3
  25. data/ext/pg_query/include/postgres/access/commit_ts.h +2 -3
  26. data/ext/pg_query/include/postgres/access/detoast.h +1 -1
  27. data/ext/pg_query/include/postgres/access/genam.h +17 -4
  28. data/ext/pg_query/include/postgres/access/gin.h +1 -1
  29. data/ext/pg_query/include/postgres/access/htup.h +1 -1
  30. data/ext/pg_query/include/postgres/access/htup_details.h +11 -11
  31. data/ext/pg_query/include/postgres/access/itup.h +3 -3
  32. data/ext/pg_query/include/postgres/access/parallel.h +1 -2
  33. data/ext/pg_query/include/postgres/access/printtup.h +1 -1
  34. data/ext/pg_query/include/postgres/access/relation.h +1 -1
  35. data/ext/pg_query/include/postgres/access/relscan.h +1 -1
  36. data/ext/pg_query/include/postgres/access/rmgrlist.h +1 -1
  37. data/ext/pg_query/include/postgres/access/sdir.h +1 -1
  38. data/ext/pg_query/include/postgres/access/skey.h +1 -1
  39. data/ext/pg_query/include/postgres/access/slru.h +218 -0
  40. data/ext/pg_query/include/postgres/access/stratnum.h +1 -1
  41. data/ext/pg_query/include/postgres/access/sysattr.h +1 -1
  42. data/ext/pg_query/include/postgres/access/table.h +1 -1
  43. data/ext/pg_query/include/postgres/access/tableam.h +35 -25
  44. data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
  45. data/ext/pg_query/include/postgres/access/toast_compression.h +2 -2
  46. data/ext/pg_query/include/postgres/access/transam.h +50 -7
  47. data/ext/pg_query/include/postgres/access/tsmapi.h +1 -1
  48. data/ext/pg_query/include/postgres/access/tupconvert.h +1 -1
  49. data/ext/pg_query/include/postgres/access/tupdesc.h +5 -5
  50. data/ext/pg_query/include/postgres/access/tupmacs.h +1 -1
  51. data/ext/pg_query/include/postgres/access/twophase.h +2 -2
  52. data/ext/pg_query/include/postgres/access/xact.h +5 -5
  53. data/ext/pg_query/include/postgres/access/xlog.h +20 -12
  54. data/ext/pg_query/include/postgres/access/xlog_internal.h +4 -3
  55. data/ext/pg_query/include/postgres/access/xlogbackup.h +3 -1
  56. data/ext/pg_query/include/postgres/access/xlogdefs.h +5 -5
  57. data/ext/pg_query/include/postgres/access/xlogprefetcher.h +2 -2
  58. data/ext/pg_query/include/postgres/access/xlogreader.h +2 -2
  59. data/ext/pg_query/include/postgres/access/xlogrecord.h +3 -3
  60. data/ext/pg_query/include/postgres/access/xlogrecovery.h +4 -4
  61. data/ext/pg_query/include/postgres/archive/archive_module.h +9 -1
  62. data/ext/pg_query/include/postgres/c.h +32 -37
  63. data/ext/pg_query/include/postgres/catalog/catalog.h +3 -1
  64. data/ext/pg_query/include/postgres/catalog/catversion.h +2 -2
  65. data/ext/pg_query/include/postgres/catalog/dependency.h +17 -59
  66. data/ext/pg_query/include/postgres/catalog/genbki.h +12 -6
  67. data/ext/pg_query/include/postgres/catalog/index.h +22 -18
  68. data/ext/pg_query/include/postgres/catalog/indexing.h +1 -1
  69. data/ext/pg_query/include/postgres/catalog/namespace.h +18 -19
  70. data/ext/pg_query/include/postgres/catalog/objectaccess.h +2 -2
  71. data/ext/pg_query/include/postgres/catalog/objectaddress.h +5 -1
  72. data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +4 -2
  73. data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +1 -1
  74. data/ext/pg_query/include/postgres/catalog/pg_am.h +6 -3
  75. data/ext/pg_query/include/postgres/catalog/pg_am_d.h +1 -1
  76. data/ext/pg_query/include/postgres/catalog/pg_attribute.h +31 -14
  77. data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +3 -3
  78. data/ext/pg_query/include/postgres/catalog/pg_authid.h +6 -3
  79. data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +2 -1
  80. data/ext/pg_query/include/postgres/catalog/pg_class.h +10 -5
  81. data/ext/pg_query/include/postgres/catalog/pg_class_d.h +4 -2
  82. data/ext/pg_query/include/postgres/catalog/pg_collation.h +11 -5
  83. data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +5 -2
  84. data/ext/pg_query/include/postgres/catalog/pg_constraint.h +15 -10
  85. data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +2 -1
  86. data/ext/pg_query/include/postgres/catalog/pg_control.h +5 -3
  87. data/ext/pg_query/include/postgres/catalog/pg_conversion.h +8 -4
  88. data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +1 -1
  89. data/ext/pg_query/include/postgres/catalog/pg_database.h +9 -4
  90. data/ext/pg_query/include/postgres/catalog/pg_database_d.h +13 -12
  91. data/ext/pg_query/include/postgres/catalog/pg_depend.h +3 -3
  92. data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +1 -1
  93. data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +6 -3
  94. data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +1 -1
  95. data/ext/pg_query/include/postgres/catalog/pg_index.h +5 -3
  96. data/ext/pg_query/include/postgres/catalog/pg_index_d.h +1 -1
  97. data/ext/pg_query/include/postgres/catalog/pg_language.h +6 -3
  98. data/ext/pg_query/include/postgres/catalog/pg_language_d.h +1 -1
  99. data/ext/pg_query/include/postgres/catalog/pg_namespace.h +6 -3
  100. data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +1 -1
  101. data/ext/pg_query/include/postgres/catalog/pg_opclass.h +6 -3
  102. data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +1 -1
  103. data/ext/pg_query/include/postgres/catalog/pg_operator.h +20 -3
  104. data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +1 -1
  105. data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +6 -3
  106. data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +1 -1
  107. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +4 -2
  108. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +1 -1
  109. data/ext/pg_query/include/postgres/catalog/pg_proc.h +6 -3
  110. data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +1 -1
  111. data/ext/pg_query/include/postgres/catalog/pg_publication.h +6 -3
  112. data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +1 -1
  113. data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +6 -3
  114. data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +1 -1
  115. data/ext/pg_query/include/postgres/catalog/pg_statistic.h +10 -4
  116. data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +7 -3
  117. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +10 -7
  118. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +3 -3
  119. data/ext/pg_query/include/postgres/catalog/pg_transform.h +6 -3
  120. data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +1 -1
  121. data/ext/pg_query/include/postgres/catalog/pg_trigger.h +4 -4
  122. data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +1 -1
  123. data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +6 -3
  124. data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +1 -1
  125. data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +6 -3
  126. data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +1 -1
  127. data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +6 -3
  128. data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +1 -1
  129. data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +6 -3
  130. data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +1 -1
  131. data/ext/pg_query/include/postgres/catalog/pg_type.h +6 -3
  132. data/ext/pg_query/include/postgres/catalog/pg_type_d.h +1 -1
  133. data/ext/pg_query/include/postgres/catalog/storage.h +1 -1
  134. data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
  135. data/ext/pg_query/include/postgres/commands/async.h +2 -6
  136. data/ext/pg_query/include/postgres/commands/dbcommands.h +1 -1
  137. data/ext/pg_query/include/postgres/commands/defrem.h +6 -6
  138. data/ext/pg_query/include/postgres/commands/event_trigger.h +11 -2
  139. data/ext/pg_query/include/postgres/commands/explain.h +19 -3
  140. data/ext/pg_query/include/postgres/commands/prepare.h +1 -1
  141. data/ext/pg_query/include/postgres/commands/tablespace.h +1 -1
  142. data/ext/pg_query/include/postgres/commands/trigger.h +1 -1
  143. data/ext/pg_query/include/postgres/commands/vacuum.h +28 -26
  144. data/ext/pg_query/include/postgres/common/cryptohash.h +2 -2
  145. data/ext/pg_query/include/postgres/common/file_perm.h +1 -1
  146. data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
  147. data/ext/pg_query/include/postgres/common/hashfn.h +16 -1
  148. data/ext/pg_query/include/postgres/common/hashfn_unstable.h +407 -0
  149. data/ext/pg_query/include/postgres/common/int.h +79 -4
  150. data/ext/pg_query/include/postgres/common/keywords.h +1 -1
  151. data/ext/pg_query/include/postgres/common/kwlookup.h +1 -1
  152. data/ext/pg_query/include/postgres/common/pg_prng.h +2 -1
  153. data/ext/pg_query/include/postgres/common/relpath.h +4 -4
  154. data/ext/pg_query/include/postgres/common/scram-common.h +1 -1
  155. data/ext/pg_query/include/postgres/common/sha2.h +1 -1
  156. data/ext/pg_query/include/postgres/common/string.h +1 -1
  157. data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +2 -3
  158. data/ext/pg_query/include/postgres/copyfuncs.funcs.c +278 -30
  159. data/ext/pg_query/include/postgres/copyfuncs.switch.c +55 -4
  160. data/ext/pg_query/include/postgres/datatype/timestamp.h +29 -3
  161. data/ext/pg_query/include/postgres/equalfuncs.funcs.c +239 -26
  162. data/ext/pg_query/include/postgres/equalfuncs.switch.c +55 -4
  163. data/ext/pg_query/include/postgres/executor/execdesc.h +2 -2
  164. data/ext/pg_query/include/postgres/executor/executor.h +6 -5
  165. data/ext/pg_query/include/postgres/executor/functions.h +2 -1
  166. data/ext/pg_query/include/postgres/executor/instrument.h +5 -3
  167. data/ext/pg_query/include/postgres/executor/spi.h +2 -8
  168. data/ext/pg_query/include/postgres/executor/tablefunc.h +1 -1
  169. data/ext/pg_query/include/postgres/executor/tuptable.h +31 -2
  170. data/ext/pg_query/include/postgres/fmgr.h +2 -2
  171. data/ext/pg_query/include/postgres/foreign/fdwapi.h +1 -1
  172. data/ext/pg_query/include/postgres/funcapi.h +2 -2
  173. data/ext/pg_query/include/postgres/gram.h +871 -830
  174. data/ext/pg_query/include/postgres/gramparse.h +1 -1
  175. data/ext/pg_query/include/postgres/jit/jit.h +4 -3
  176. data/ext/pg_query/include/postgres/kwlist_d.h +511 -466
  177. data/ext/pg_query/include/postgres/lib/dshash.h +25 -10
  178. data/ext/pg_query/include/postgres/lib/ilist.h +1 -1
  179. data/ext/pg_query/include/postgres/lib/pairingheap.h +1 -1
  180. data/ext/pg_query/include/postgres/lib/simplehash.h +40 -18
  181. data/ext/pg_query/include/postgres/lib/sort_template.h +14 -1
  182. data/ext/pg_query/include/postgres/lib/stringinfo.h +93 -11
  183. data/ext/pg_query/include/postgres/libpq/auth.h +1 -1
  184. data/ext/pg_query/include/postgres/libpq/crypt.h +2 -2
  185. data/ext/pg_query/include/postgres/libpq/hba.h +4 -4
  186. data/ext/pg_query/include/postgres/libpq/libpq-be.h +35 -28
  187. data/ext/pg_query/include/postgres/libpq/libpq.h +6 -7
  188. data/ext/pg_query/include/postgres/libpq/pqcomm.h +26 -20
  189. data/ext/pg_query/include/postgres/libpq/pqformat.h +2 -3
  190. data/ext/pg_query/include/postgres/libpq/pqsignal.h +1 -1
  191. data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
  192. data/ext/pg_query/include/postgres/libpq/sasl.h +1 -1
  193. data/ext/pg_query/include/postgres/libpq/scram.h +1 -1
  194. data/ext/pg_query/include/postgres/mb/pg_wchar.h +103 -82
  195. data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +1 -1
  196. data/ext/pg_query/include/postgres/miscadmin.h +72 -52
  197. data/ext/pg_query/include/postgres/nodes/bitmapset.h +17 -3
  198. data/ext/pg_query/include/postgres/nodes/execnodes.h +112 -25
  199. data/ext/pg_query/include/postgres/nodes/extensible.h +1 -1
  200. data/ext/pg_query/include/postgres/nodes/lockoptions.h +4 -4
  201. data/ext/pg_query/include/postgres/nodes/makefuncs.h +8 -2
  202. data/ext/pg_query/include/postgres/nodes/memnodes.h +43 -4
  203. data/ext/pg_query/include/postgres/nodes/miscnodes.h +1 -1
  204. data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +1 -1
  205. data/ext/pg_query/include/postgres/nodes/nodes.h +30 -41
  206. data/ext/pg_query/include/postgres/nodes/nodetags.h +464 -444
  207. data/ext/pg_query/include/postgres/nodes/params.h +1 -1
  208. data/ext/pg_query/include/postgres/nodes/parsenodes.h +358 -175
  209. data/ext/pg_query/include/postgres/nodes/pathnodes.h +64 -10
  210. data/ext/pg_query/include/postgres/nodes/pg_list.h +62 -11
  211. data/ext/pg_query/include/postgres/nodes/plannodes.h +11 -10
  212. data/ext/pg_query/include/postgres/nodes/primnodes.h +352 -54
  213. data/ext/pg_query/include/postgres/nodes/print.h +1 -1
  214. data/ext/pg_query/include/postgres/nodes/queryjumble.h +2 -2
  215. data/ext/pg_query/include/postgres/nodes/replnodes.h +23 -2
  216. data/ext/pg_query/include/postgres/nodes/supportnodes.h +1 -1
  217. data/ext/pg_query/include/postgres/nodes/tidbitmap.h +1 -1
  218. data/ext/pg_query/include/postgres/nodes/value.h +1 -1
  219. data/ext/pg_query/include/postgres/optimizer/cost.h +5 -4
  220. data/ext/pg_query/include/postgres/optimizer/geqo.h +1 -1
  221. data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +1 -1
  222. data/ext/pg_query/include/postgres/optimizer/optimizer.h +5 -2
  223. data/ext/pg_query/include/postgres/optimizer/paths.h +13 -8
  224. data/ext/pg_query/include/postgres/optimizer/planmain.h +7 -1
  225. data/ext/pg_query/include/postgres/parser/analyze.h +3 -1
  226. data/ext/pg_query/include/postgres/parser/kwlist.h +22 -2
  227. data/ext/pg_query/include/postgres/parser/parse_agg.h +1 -1
  228. data/ext/pg_query/include/postgres/parser/parse_coerce.h +5 -2
  229. data/ext/pg_query/include/postgres/parser/parse_expr.h +1 -1
  230. data/ext/pg_query/include/postgres/parser/parse_func.h +2 -2
  231. data/ext/pg_query/include/postgres/parser/parse_node.h +3 -2
  232. data/ext/pg_query/include/postgres/parser/parse_oper.h +4 -1
  233. data/ext/pg_query/include/postgres/parser/parse_relation.h +1 -1
  234. data/ext/pg_query/include/postgres/parser/parse_type.h +2 -2
  235. data/ext/pg_query/include/postgres/parser/parser.h +3 -3
  236. data/ext/pg_query/include/postgres/parser/parsetree.h +1 -1
  237. data/ext/pg_query/include/postgres/parser/scanner.h +1 -1
  238. data/ext/pg_query/include/postgres/parser/scansup.h +1 -1
  239. data/ext/pg_query/include/postgres/partitioning/partdefs.h +1 -1
  240. data/ext/pg_query/include/postgres/pg_config.h +53 -45
  241. data/ext/pg_query/include/postgres/pg_config_manual.h +21 -8
  242. data/ext/pg_query/include/postgres/pg_getopt.h +1 -1
  243. data/ext/pg_query/include/postgres/pg_trace.h +1 -1
  244. data/ext/pg_query/include/postgres/pgstat.h +13 -11
  245. data/ext/pg_query/include/postgres/pgtime.h +1 -1
  246. data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +1 -1
  247. data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +1 -1
  248. data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +1 -1
  249. data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +1 -1
  250. data/ext/pg_query/include/postgres/plerrcodes.h +4 -4
  251. data/ext/pg_query/include/postgres/plpgsql.h +15 -13
  252. data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +1 -1
  253. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +1 -1
  254. data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +3 -1
  255. data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +3 -1
  256. data/ext/pg_query/include/postgres/port/atomics/fallback.h +1 -1
  257. data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +38 -1
  258. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +19 -1
  259. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +16 -1
  260. data/ext/pg_query/include/postgres/port/atomics/generic.h +38 -2
  261. data/ext/pg_query/include/postgres/port/atomics.h +93 -6
  262. data/ext/pg_query/include/postgres/port/pg_bitutils.h +91 -9
  263. data/ext/pg_query/include/postgres/port/pg_bswap.h +1 -1
  264. data/ext/pg_query/include/postgres/port/pg_crc32c.h +10 -1
  265. data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
  266. data/ext/pg_query/include/postgres/port/simd.h +48 -1
  267. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +8 -0
  268. data/ext/pg_query/include/postgres/port/win32_port.h +1 -13
  269. data/ext/pg_query/include/postgres/port.h +39 -4
  270. data/ext/pg_query/include/postgres/portability/instr_time.h +1 -1
  271. data/ext/pg_query/include/postgres/postgres.h +1 -1
  272. data/ext/pg_query/include/postgres/postmaster/autovacuum.h +5 -16
  273. data/ext/pg_query/include/postgres/postmaster/bgworker.h +8 -6
  274. data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +3 -7
  275. data/ext/pg_query/include/postgres/postmaster/bgwriter.h +3 -3
  276. data/ext/pg_query/include/postgres/postmaster/interrupt.h +1 -1
  277. data/ext/pg_query/include/postgres/postmaster/pgarch.h +2 -2
  278. data/ext/pg_query/include/postgres/postmaster/postmaster.h +25 -5
  279. data/ext/pg_query/include/postgres/postmaster/startup.h +2 -2
  280. data/ext/pg_query/include/postgres/postmaster/syslogger.h +2 -4
  281. data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
  282. data/ext/pg_query/include/postgres/postmaster/walwriter.h +2 -2
  283. data/ext/pg_query/include/postgres/regex/regex.h +92 -9
  284. data/ext/pg_query/include/postgres/replication/logicallauncher.h +1 -1
  285. data/ext/pg_query/include/postgres/replication/logicalproto.h +2 -2
  286. data/ext/pg_query/include/postgres/replication/logicalworker.h +2 -1
  287. data/ext/pg_query/include/postgres/replication/origin.h +1 -1
  288. data/ext/pg_query/include/postgres/replication/reorderbuffer.h +27 -46
  289. data/ext/pg_query/include/postgres/replication/slot.h +45 -5
  290. data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
  291. data/ext/pg_query/include/postgres/replication/syncrep.h +1 -1
  292. data/ext/pg_query/include/postgres/replication/walreceiver.h +37 -11
  293. data/ext/pg_query/include/postgres/replication/walsender.h +5 -3
  294. data/ext/pg_query/include/postgres/rewrite/prs2lock.h +1 -1
  295. data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +7 -1
  296. data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +2 -2
  297. data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +1 -1
  298. data/ext/pg_query/include/postgres/storage/block.h +1 -1
  299. data/ext/pg_query/include/postgres/storage/buf.h +1 -1
  300. data/ext/pg_query/include/postgres/storage/bufmgr.h +59 -41
  301. data/ext/pg_query/include/postgres/storage/bufpage.h +1 -1
  302. data/ext/pg_query/include/postgres/storage/condition_variable.h +1 -1
  303. data/ext/pg_query/include/postgres/storage/dsm.h +1 -1
  304. data/ext/pg_query/include/postgres/storage/dsm_impl.h +2 -2
  305. data/ext/pg_query/include/postgres/storage/fd.h +30 -13
  306. data/ext/pg_query/include/postgres/storage/fileset.h +1 -1
  307. data/ext/pg_query/include/postgres/storage/ipc.h +4 -1
  308. data/ext/pg_query/include/postgres/storage/item.h +1 -1
  309. data/ext/pg_query/include/postgres/storage/itemid.h +1 -1
  310. data/ext/pg_query/include/postgres/storage/itemptr.h +1 -1
  311. data/ext/pg_query/include/postgres/storage/large_object.h +1 -1
  312. data/ext/pg_query/include/postgres/storage/latch.h +4 -2
  313. data/ext/pg_query/include/postgres/storage/lmgr.h +8 -2
  314. data/ext/pg_query/include/postgres/storage/lock.h +19 -19
  315. data/ext/pg_query/include/postgres/storage/lockdefs.h +3 -1
  316. data/ext/pg_query/include/postgres/storage/lwlock.h +17 -9
  317. data/ext/pg_query/include/postgres/storage/lwlocknames.h +7 -10
  318. data/ext/pg_query/include/postgres/storage/off.h +1 -1
  319. data/ext/pg_query/include/postgres/storage/pg_sema.h +1 -1
  320. data/ext/pg_query/include/postgres/storage/pg_shmem.h +5 -4
  321. data/ext/pg_query/include/postgres/storage/pmsignal.h +2 -2
  322. data/ext/pg_query/include/postgres/storage/predicate.h +1 -5
  323. data/ext/pg_query/include/postgres/storage/proc.h +48 -26
  324. data/ext/pg_query/include/postgres/storage/procarray.h +5 -1
  325. data/ext/pg_query/include/postgres/storage/proclist_types.h +11 -9
  326. data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
  327. data/ext/pg_query/include/postgres/storage/procsignal.h +8 -6
  328. data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
  329. data/ext/pg_query/include/postgres/storage/relfilelocator.h +16 -15
  330. data/ext/pg_query/include/postgres/storage/s_lock.h +7 -27
  331. data/ext/pg_query/include/postgres/storage/sharedfileset.h +1 -1
  332. data/ext/pg_query/include/postgres/storage/shm_mq.h +2 -2
  333. data/ext/pg_query/include/postgres/storage/shm_toc.h +1 -1
  334. data/ext/pg_query/include/postgres/storage/shmem.h +1 -1
  335. data/ext/pg_query/include/postgres/storage/sinval.h +3 -3
  336. data/ext/pg_query/include/postgres/storage/smgr.h +46 -29
  337. data/ext/pg_query/include/postgres/storage/spin.h +1 -1
  338. data/ext/pg_query/include/postgres/storage/standby.h +13 -3
  339. data/ext/pg_query/include/postgres/storage/standbydefs.h +2 -2
  340. data/ext/pg_query/include/postgres/storage/sync.h +4 -4
  341. data/ext/pg_query/include/postgres/tcop/cmdtag.h +1 -2
  342. data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +3 -2
  343. data/ext/pg_query/include/postgres/tcop/deparse_utility.h +2 -2
  344. data/ext/pg_query/include/postgres/tcop/dest.h +3 -2
  345. data/ext/pg_query/include/postgres/tcop/fastpath.h +1 -1
  346. data/ext/pg_query/include/postgres/tcop/pquery.h +1 -1
  347. data/ext/pg_query/include/postgres/tcop/tcopprot.h +9 -5
  348. data/ext/pg_query/include/postgres/tcop/utility.h +2 -2
  349. data/ext/pg_query/include/postgres/tsearch/ts_cache.h +1 -1
  350. data/ext/pg_query/include/postgres/utils/acl.h +19 -7
  351. data/ext/pg_query/include/postgres/utils/aclchk_internal.h +1 -1
  352. data/ext/pg_query/include/postgres/utils/array.h +1 -2
  353. data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
  354. data/ext/pg_query/include/postgres/utils/backend_progress.h +3 -2
  355. data/ext/pg_query/include/postgres/utils/backend_status.h +8 -10
  356. data/ext/pg_query/include/postgres/utils/builtins.h +4 -1
  357. data/ext/pg_query/include/postgres/utils/bytea.h +2 -2
  358. data/ext/pg_query/include/postgres/utils/catcache.h +6 -6
  359. data/ext/pg_query/include/postgres/utils/date.h +1 -1
  360. data/ext/pg_query/include/postgres/utils/datetime.h +4 -1
  361. data/ext/pg_query/include/postgres/utils/datum.h +1 -1
  362. data/ext/pg_query/include/postgres/utils/dsa.h +44 -5
  363. data/ext/pg_query/include/postgres/utils/elog.h +3 -8
  364. data/ext/pg_query/include/postgres/utils/errcodes.h +1 -3
  365. data/ext/pg_query/include/postgres/utils/expandeddatum.h +1 -1
  366. data/ext/pg_query/include/postgres/utils/expandedrecord.h +1 -1
  367. data/ext/pg_query/include/postgres/utils/float.h +1 -1
  368. data/ext/pg_query/include/postgres/utils/fmgroids.h +49 -16
  369. data/ext/pg_query/include/postgres/utils/fmgrprotos.h +47 -14
  370. data/ext/pg_query/include/postgres/utils/fmgrtab.h +1 -1
  371. data/ext/pg_query/include/postgres/utils/guc.h +20 -6
  372. data/ext/pg_query/include/postgres/utils/guc_hooks.h +23 -2
  373. data/ext/pg_query/include/postgres/utils/guc_tables.h +6 -5
  374. data/ext/pg_query/include/postgres/utils/hsearch.h +2 -2
  375. data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
  376. data/ext/pg_query/include/postgres/utils/inval.h +1 -1
  377. data/ext/pg_query/include/postgres/utils/logtape.h +5 -5
  378. data/ext/pg_query/include/postgres/utils/lsyscache.h +6 -3
  379. data/ext/pg_query/include/postgres/utils/memdebug.h +1 -1
  380. data/ext/pg_query/include/postgres/utils/memutils.h +12 -5
  381. data/ext/pg_query/include/postgres/utils/memutils_internal.h +53 -13
  382. data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +25 -9
  383. data/ext/pg_query/include/postgres/utils/numeric.h +6 -1
  384. data/ext/pg_query/include/postgres/utils/palloc.h +1 -15
  385. data/ext/pg_query/include/postgres/utils/partcache.h +1 -1
  386. data/ext/pg_query/include/postgres/utils/pg_locale.h +8 -7
  387. data/ext/pg_query/include/postgres/utils/pgstat_internal.h +30 -17
  388. data/ext/pg_query/include/postgres/utils/plancache.h +5 -3
  389. data/ext/pg_query/include/postgres/utils/portal.h +10 -10
  390. data/ext/pg_query/include/postgres/utils/queryenvironment.h +2 -2
  391. data/ext/pg_query/include/postgres/utils/regproc.h +1 -1
  392. data/ext/pg_query/include/postgres/utils/rel.h +14 -15
  393. data/ext/pg_query/include/postgres/utils/relcache.h +2 -5
  394. data/ext/pg_query/include/postgres/utils/reltrigger.h +1 -1
  395. data/ext/pg_query/include/postgres/utils/resowner.h +90 -9
  396. data/ext/pg_query/include/postgres/utils/ruleutils.h +1 -1
  397. data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +1 -1
  398. data/ext/pg_query/include/postgres/utils/snapmgr.h +1 -52
  399. data/ext/pg_query/include/postgres/utils/snapshot.h +2 -2
  400. data/ext/pg_query/include/postgres/utils/sortsupport.h +1 -1
  401. data/ext/pg_query/include/postgres/utils/syscache.h +7 -98
  402. data/ext/pg_query/include/postgres/utils/timeout.h +3 -2
  403. data/ext/pg_query/include/postgres/utils/timestamp.h +1 -1
  404. data/ext/pg_query/include/postgres/utils/tuplesort.h +36 -9
  405. data/ext/pg_query/include/postgres/utils/tuplestore.h +2 -5
  406. data/ext/pg_query/include/postgres/utils/typcache.h +2 -1
  407. data/ext/pg_query/include/postgres/utils/varlena.h +1 -1
  408. data/ext/pg_query/include/postgres/utils/wait_event.h +28 -214
  409. data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
  410. data/ext/pg_query/include/postgres/utils/xml.h +4 -4
  411. data/ext/pg_query/include/postgres/varatt.h +1 -1
  412. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1546 -792
  413. data/ext/pg_query/include/protobuf/pg_query.pb.h +58365 -46595
  414. data/ext/pg_query/pg_query.pb-c.c +6598 -3739
  415. data/ext/pg_query/pg_query_normalize.c +42 -1
  416. data/ext/pg_query/pg_query_outfuncs_json.c +3 -1
  417. data/ext/pg_query/pg_query_parse_plpgsql.c +12 -13
  418. data/ext/pg_query/pg_query_readfuncs_protobuf.c +2 -2
  419. data/ext/pg_query/pg_query_scan.c +1 -1
  420. data/ext/pg_query/postgres_deparse.c +601 -172
  421. data/ext/pg_query/src_backend_catalog_namespace.c +241 -66
  422. data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -3
  423. data/ext/pg_query/src_backend_commands_define.c +2 -3
  424. data/ext/pg_query/src_backend_nodes_bitmapset.c +137 -94
  425. data/ext/pg_query/src_backend_nodes_copyfuncs.c +1 -1
  426. data/ext/pg_query/src_backend_nodes_equalfuncs.c +1 -1
  427. data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
  428. data/ext/pg_query/src_backend_nodes_list.c +3 -7
  429. data/ext/pg_query/src_backend_nodes_makefuncs.c +59 -20
  430. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +109 -2
  431. data/ext/pg_query/src_backend_nodes_value.c +1 -1
  432. data/ext/pg_query/src_backend_parser_gram.c +34491 -32136
  433. data/ext/pg_query/src_backend_parser_parser.c +8 -8
  434. data/ext/pg_query/src_backend_parser_scan.c +5637 -3028
  435. data/ext/pg_query/src_backend_parser_scansup.c +2 -1
  436. data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
  437. data/ext/pg_query/src_backend_tcop_postgres.c +34 -10
  438. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +2 -2
  439. data/ext/pg_query/src_backend_utils_adt_datum.c +8 -6
  440. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  441. data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
  442. data/ext/pg_query/src_backend_utils_adt_numutils.c +4 -5
  443. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +101 -28
  444. data/ext/pg_query/src_backend_utils_error_assert.c +1 -1
  445. data/ext/pg_query/src_backend_utils_error_elog.c +47 -42
  446. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +4 -2
  447. data/ext/pg_query/src_backend_utils_init_globals.c +15 -3
  448. data/ext/pg_query/src_backend_utils_mb_mbutils.c +11 -18
  449. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +16 -6
  450. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +8 -5
  451. data/ext/pg_query/src_backend_utils_mmgr_aset.c +308 -238
  452. data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
  453. data/ext/pg_query/src_backend_utils_mmgr_generation.c +273 -197
  454. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +270 -215
  455. data/ext/pg_query/src_backend_utils_mmgr_slab.c +154 -96
  456. data/ext/pg_query/src_common_encnames.c +43 -44
  457. data/ext/pg_query/src_common_hashfn.c +1 -1
  458. data/ext/pg_query/src_common_keywords.c +1 -1
  459. data/ext/pg_query/src_common_kwlist_d.h +511 -466
  460. data/ext/pg_query/src_common_kwlookup.c +1 -1
  461. data/ext/pg_query/src_common_psprintf.c +3 -3
  462. data/ext/pg_query/src_common_stringinfo.c +18 -1
  463. data/ext/pg_query/src_common_wchar.c +92 -109
  464. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +99 -5
  465. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -1
  466. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +242 -143
  467. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  468. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
  469. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +19 -1
  470. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +1 -1
  471. data/ext/pg_query/src_port_pg_bitutils.c +173 -28
  472. data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
  473. data/ext/pg_query/src_port_snprintf.c +15 -18
  474. data/ext/pg_query/src_port_strerror.c +1 -3
  475. data/ext/pg_query/src_port_strlcpy.c +1 -1
  476. data/lib/pg_query/fingerprint.rb +3 -5
  477. data/lib/pg_query/param_refs.rb +2 -2
  478. data/lib/pg_query/parse.rb +5 -7
  479. data/lib/pg_query/parse_error.rb +1 -0
  480. data/lib/pg_query/pg_query_pb.rb +27 -25
  481. data/lib/pg_query/scan.rb +1 -0
  482. data/lib/pg_query/treewalker.rb +38 -15
  483. data/lib/pg_query/truncate.rb +18 -20
  484. data/lib/pg_query/version.rb +1 -1
  485. metadata +31 -82
  486. data/ext/pg_query/include/postgres/storage/backendid.h +0 -37
  487. data/ext/pg_query/include/postgres/storage/sinvaladt.h +0 -45
  488. data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -2
  489. data/ext/pg_query/src_backend_nodes_nodes.c +0 -38
  490. /data/ext/pg_query/{pg_query_ruby.sym → ext_symbols.sym} +0 -0
data/lib/pg_query/scan.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  module PgQuery
2
2
  class ScanError < ArgumentError
3
3
  attr_reader :location
4
+
4
5
  def initialize(message, source_file, source_line, location)
5
6
  super("#{message} (#{source_file}:#{source_line})")
6
7
  @location = location
@@ -5,23 +5,47 @@ module PgQuery
5
5
  # If you pass a block with 1 argument, you will get each node.
6
6
  # If you pass a block with 4 arguments, you will get each parent_node, parent_field, node and location.
7
7
  #
8
+ # If sufficient for the use case, the 1 argument block approach is recommended, since it's faster.
9
+ #
8
10
  # Location uniquely identifies a given node within the parse tree. This is a stable identifier across
9
11
  # multiple parser runs, assuming the same pg_query release and no modifications to the parse tree.
10
12
  def walk!(&block)
11
13
  if block.arity == 1
12
- treewalker!(@tree) do |_, _, node, _|
13
- yield(node)
14
- end
14
+ treewalker!(@tree, &block)
15
15
  else
16
- treewalker!(@tree) do |parent_node, parent_field, node, location|
17
- yield(parent_node, parent_field, node, location)
18
- end
16
+ treewalker_with_location!(@tree, &block)
19
17
  end
20
18
  end
21
19
 
22
20
  private
23
21
 
24
22
  def treewalker!(tree) # rubocop:disable Metrics/CyclomaticComplexity
23
+ nodes = [tree.dup]
24
+
25
+ loop do
26
+ parent_node = nodes.shift
27
+
28
+ case parent_node
29
+ when Google::Protobuf::MessageExts
30
+ parent_node.class.descriptor.each do |field_descriptor|
31
+ node = field_descriptor.get(parent_node)
32
+ next if node.nil?
33
+ yield(node) if node.is_a?(Google::Protobuf::MessageExts) || node.is_a?(Google::Protobuf::RepeatedField)
34
+ nodes << node
35
+ end
36
+ when Google::Protobuf::RepeatedField
37
+ parent_node.each do |node|
38
+ next if node.nil?
39
+ yield(node) if node.is_a?(Google::Protobuf::MessageExts) || node.is_a?(Google::Protobuf::RepeatedField)
40
+ nodes << node
41
+ end
42
+ end
43
+
44
+ break if nodes.empty?
45
+ end
46
+ end
47
+
48
+ def treewalker_with_location!(tree) # rubocop:disable Metrics/CyclomaticComplexity
25
49
  nodes = [[tree.dup, []]]
26
50
 
27
51
  loop do
@@ -29,21 +53,20 @@ module PgQuery
29
53
 
30
54
  case parent_node
31
55
  when Google::Protobuf::MessageExts
32
- parent_node.to_h.keys.each do |parent_field|
33
- node = parent_node[parent_field.to_s]
56
+ parent_node.class.descriptor.each do |field_descriptor|
57
+ parent_field = field_descriptor.name
58
+ node = parent_node[parent_field]
34
59
  next if node.nil?
35
- location = parent_location + [parent_field]
36
- yield(parent_node, parent_field, node, location) if node.is_a?(Google::Protobuf::MessageExts) || node.is_a?(Google::Protobuf::RepeatedField)
37
-
38
- nodes << [node, location] unless node.nil?
60
+ location = parent_location + [parent_field.to_sym]
61
+ yield(parent_node, parent_field.to_sym, node, location) if node.is_a?(Google::Protobuf::MessageExts) || node.is_a?(Google::Protobuf::RepeatedField)
62
+ nodes << [node, location]
39
63
  end
40
64
  when Google::Protobuf::RepeatedField
41
65
  parent_node.each_with_index do |node, parent_field|
42
66
  next if node.nil?
43
67
  location = parent_location + [parent_field]
44
68
  yield(parent_node, parent_field, node, location) if node.is_a?(Google::Protobuf::MessageExts) || node.is_a?(Google::Protobuf::RepeatedField)
45
-
46
- nodes << [node, location] unless node.nil?
69
+ nodes << [node, location]
47
70
  end
48
71
  end
49
72
 
@@ -52,7 +75,7 @@ module PgQuery
52
75
  end
53
76
 
54
77
  def find_tree_location(tree, searched_location)
55
- treewalker! tree do |parent_node, parent_field, node, location|
78
+ treewalker_with_location! tree do |parent_node, parent_field, node, location|
56
79
  next unless location == searched_location
57
80
  yield(parent_node, parent_field, node)
58
81
  end
@@ -1,7 +1,6 @@
1
-
2
1
  module PgQuery
3
2
  class ParserResult
4
- PossibleTruncation = Struct.new(:location, :node_type, :length, :is_array)
3
+ PossibleTruncation = Struct.new(:location, :node_type, :len, :is_array)
5
4
 
6
5
  # Truncates the query string to be below the specified length, first trying to
7
6
  # omit less important parts of the query, and only then cutting off the end.
@@ -14,11 +13,11 @@ module PgQuery
14
13
  truncations = find_possible_truncations
15
14
 
16
15
  # Truncate the deepest possible truncation that is the longest first
17
- truncations.sort_by! { |t| [-t.location.size, -t.length] }
16
+ truncations.sort_by! { |t| [-t.location.size, -t.len] }
18
17
 
19
18
  tree = dup_tree
20
19
  truncations.each do |truncation|
21
- next if truncation.length < 3
20
+ next if truncation.len < 3
22
21
 
23
22
  find_tree_location(tree, truncation.location) do |node, _k|
24
23
  dummy_column_ref = PgQuery::Node.new(column_ref: PgQuery::ColumnRef.new(fields: [PgQuery::Node.new(string: PgQuery::String.new(sval: '…'))]))
@@ -60,34 +59,33 @@ module PgQuery
60
59
  def find_possible_truncations # rubocop:disable Metrics/CyclomaticComplexity
61
60
  truncations = []
62
61
 
63
- treewalker! @tree do |node, k, v, location|
62
+ treewalker_with_location! @tree do |node, k, v, location|
64
63
  case k
65
64
  when :target_list
66
65
  next unless node.is_a?(PgQuery::SelectStmt) || node.is_a?(PgQuery::UpdateStmt) || node.is_a?(PgQuery::OnConflictClause)
67
- length = if node.is_a?(PgQuery::SelectStmt)
68
- select_target_list_len(v)
69
- else # UpdateStmt / OnConflictClause
70
- update_target_list_len(v)
71
- end
72
- truncations << PossibleTruncation.new(location, :target_list, length, true)
66
+ len = if node.is_a?(PgQuery::SelectStmt)
67
+ select_target_list_len(v)
68
+ else # UpdateStmt / OnConflictClause
69
+ update_target_list_len(v)
70
+ end
71
+ truncations << PossibleTruncation.new(location, :target_list, len, true)
73
72
  when :where_clause
74
73
  next unless node.is_a?(PgQuery::SelectStmt) || node.is_a?(PgQuery::UpdateStmt) || node.is_a?(PgQuery::DeleteStmt) ||
75
74
  node.is_a?(PgQuery::CopyStmt) || node.is_a?(PgQuery::IndexStmt) || node.is_a?(PgQuery::RuleStmt) ||
76
75
  node.is_a?(PgQuery::InferClause) || node.is_a?(PgQuery::OnConflictClause)
77
-
78
- length = PgQuery.deparse_expr(v).size
79
- truncations << PossibleTruncation.new(location, :where_clause, length, false)
76
+ len = PgQuery.deparse_expr(v).size
77
+ truncations << PossibleTruncation.new(location, :where_clause, len, false)
80
78
  when :values_lists
81
- length = select_values_lists_len(v)
82
- truncations << PossibleTruncation.new(location, :values_lists, length, false)
79
+ len = select_values_lists_len(v)
80
+ truncations << PossibleTruncation.new(location, :values_lists, len, false)
83
81
  when :ctequery
84
82
  next unless node.is_a?(PgQuery::CommonTableExpr)
85
- length = PgQuery.deparse_stmt(v[v.node.to_s]).size
86
- truncations << PossibleTruncation.new(location, :ctequery, length, false)
83
+ len = PgQuery.deparse_stmt(v[v.node.to_s]).size
84
+ truncations << PossibleTruncation.new(location, :ctequery, len, false)
87
85
  when :cols
88
86
  next unless node.is_a?(PgQuery::InsertStmt)
89
- length = cols_len(v)
90
- truncations << PossibleTruncation.new(location, :cols, length, true)
87
+ len = cols_len(v)
88
+ truncations << PossibleTruncation.new(location, :cols, len, true)
91
89
  end
92
90
  end
93
91
 
@@ -1,3 +1,3 @@
1
1
  module PgQuery
2
- VERSION = '5.1.0'.freeze
2
+ VERSION = '6.1.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,99 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_query
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.0
4
+ version: 6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Fittl
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-10 00:00:00.000000000 Z
11
+ date: 2025-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake-compiler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '3.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '3.0'
41
- - !ruby/object:Gem::Dependency
42
- name: rubocop
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '='
46
- - !ruby/object:Gem::Version
47
- version: 0.49.1
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '='
53
- - !ruby/object:Gem::Version
54
- version: 0.49.1
55
- - !ruby/object:Gem::Dependency
56
- name: rubocop-rspec
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '='
60
- - !ruby/object:Gem::Version
61
- version: 1.15.1
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '='
67
- - !ruby/object:Gem::Version
68
- version: 1.15.1
69
- - !ruby/object:Gem::Dependency
70
- name: simplecov
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
13
  - !ruby/object:Gem::Dependency
84
14
  name: google-protobuf
85
15
  requirement: !ruby/object:Gem::Requirement
86
16
  requirements:
87
17
  - - ">="
88
18
  - !ruby/object:Gem::Version
89
- version: 3.22.3
19
+ version: 3.25.3
90
20
  type: :runtime
91
21
  prerelease: false
92
22
  version_requirements: !ruby/object:Gem::Requirement
93
23
  requirements:
94
24
  - - ">="
95
25
  - !ruby/object:Gem::Version
96
- version: 3.22.3
26
+ version: 3.25.3
97
27
  description: Parses SQL queries using a copy of the PostgreSQL server query parser
98
28
  email: lukas@fittl.com
99
29
  executables: []
@@ -107,6 +37,12 @@ files:
107
37
  - LICENSE
108
38
  - README.md
109
39
  - Rakefile
40
+ - ext/pg_query/ext_symbols.sym
41
+ - ext/pg_query/ext_symbols_freebsd.sym
42
+ - ext/pg_query/ext_symbols_freebsd_with_ruby_abi_version.sym
43
+ - ext/pg_query/ext_symbols_openbsd.sym
44
+ - ext/pg_query/ext_symbols_openbsd_with_ruby_abi_version.sym
45
+ - ext/pg_query/ext_symbols_with_ruby_abi_version.sym
110
46
  - ext/pg_query/extconf.rb
111
47
  - ext/pg_query/include/pg_query.h
112
48
  - ext/pg_query/include/pg_query_enum_defs.c
@@ -120,6 +56,8 @@ files:
120
56
  - ext/pg_query/include/postgres/access/amapi.h
121
57
  - ext/pg_query/include/postgres/access/attmap.h
122
58
  - ext/pg_query/include/postgres/access/attnum.h
59
+ - ext/pg_query/include/postgres/access/brin_internal.h
60
+ - ext/pg_query/include/postgres/access/brin_tuple.h
123
61
  - ext/pg_query/include/postgres/access/clog.h
124
62
  - ext/pg_query/include/postgres/access/commit_ts.h
125
63
  - ext/pg_query/include/postgres/access/detoast.h
@@ -136,10 +74,12 @@ files:
136
74
  - ext/pg_query/include/postgres/access/rmgrlist.h
137
75
  - ext/pg_query/include/postgres/access/sdir.h
138
76
  - ext/pg_query/include/postgres/access/skey.h
77
+ - ext/pg_query/include/postgres/access/slru.h
139
78
  - ext/pg_query/include/postgres/access/stratnum.h
140
79
  - ext/pg_query/include/postgres/access/sysattr.h
141
80
  - ext/pg_query/include/postgres/access/table.h
142
81
  - ext/pg_query/include/postgres/access/tableam.h
82
+ - ext/pg_query/include/postgres/access/tidstore.h
143
83
  - ext/pg_query/include/postgres/access/toast_compression.h
144
84
  - ext/pg_query/include/postgres/access/transam.h
145
85
  - ext/pg_query/include/postgres/access/tsmapi.h
@@ -229,6 +169,7 @@ files:
229
169
  - ext/pg_query/include/postgres/catalog/pg_type.h
230
170
  - ext/pg_query/include/postgres/catalog/pg_type_d.h
231
171
  - ext/pg_query/include/postgres/catalog/storage.h
172
+ - ext/pg_query/include/postgres/catalog/syscache_ids.h
232
173
  - ext/pg_query/include/postgres/commands/async.h
233
174
  - ext/pg_query/include/postgres/commands/dbcommands.h
234
175
  - ext/pg_query/include/postgres/commands/defrem.h
@@ -241,7 +182,9 @@ files:
241
182
  - ext/pg_query/include/postgres/commands/vacuum.h
242
183
  - ext/pg_query/include/postgres/common/cryptohash.h
243
184
  - ext/pg_query/include/postgres/common/file_perm.h
185
+ - ext/pg_query/include/postgres/common/file_utils.h
244
186
  - ext/pg_query/include/postgres/common/hashfn.h
187
+ - ext/pg_query/include/postgres/common/hashfn_unstable.h
245
188
  - ext/pg_query/include/postgres/common/int.h
246
189
  - ext/pg_query/include/postgres/common/keywords.h
247
190
  - ext/pg_query/include/postgres/common/kwlookup.h
@@ -285,6 +228,7 @@ files:
285
228
  - ext/pg_query/include/postgres/libpq/pqcomm.h
286
229
  - ext/pg_query/include/postgres/libpq/pqformat.h
287
230
  - ext/pg_query/include/postgres/libpq/pqsignal.h
231
+ - ext/pg_query/include/postgres/libpq/protocol.h
288
232
  - ext/pg_query/include/postgres/libpq/sasl.h
289
233
  - ext/pg_query/include/postgres/libpq/scram.h
290
234
  - ext/pg_query/include/postgres/mb/pg_wchar.h
@@ -362,6 +306,7 @@ files:
362
306
  - ext/pg_query/include/postgres/port/pg_bitutils.h
363
307
  - ext/pg_query/include/postgres/port/pg_bswap.h
364
308
  - ext/pg_query/include/postgres/port/pg_crc32c.h
309
+ - ext/pg_query/include/postgres/port/pg_iovec.h
365
310
  - ext/pg_query/include/postgres/port/simd.h
366
311
  - ext/pg_query/include/postgres/port/win32.h
367
312
  - ext/pg_query/include/postgres/port/win32/arpa/inet.h
@@ -395,6 +340,7 @@ files:
395
340
  - ext/pg_query/include/postgres/postmaster/postmaster.h
396
341
  - ext/pg_query/include/postgres/postmaster/startup.h
397
342
  - ext/pg_query/include/postgres/postmaster/syslogger.h
343
+ - ext/pg_query/include/postgres/postmaster/walsummarizer.h
398
344
  - ext/pg_query/include/postgres/postmaster/walwriter.h
399
345
  - ext/pg_query/include/postgres/regex/regex.h
400
346
  - ext/pg_query/include/postgres/replication/logicallauncher.h
@@ -403,6 +349,7 @@ files:
403
349
  - ext/pg_query/include/postgres/replication/origin.h
404
350
  - ext/pg_query/include/postgres/replication/reorderbuffer.h
405
351
  - ext/pg_query/include/postgres/replication/slot.h
352
+ - ext/pg_query/include/postgres/replication/slotsync.h
406
353
  - ext/pg_query/include/postgres/replication/syncrep.h
407
354
  - ext/pg_query/include/postgres/replication/walreceiver.h
408
355
  - ext/pg_query/include/postgres/replication/walsender.h
@@ -410,7 +357,6 @@ files:
410
357
  - ext/pg_query/include/postgres/rewrite/rewriteHandler.h
411
358
  - ext/pg_query/include/postgres/rewrite/rewriteManip.h
412
359
  - ext/pg_query/include/postgres/rewrite/rewriteSupport.h
413
- - ext/pg_query/include/postgres/storage/backendid.h
414
360
  - ext/pg_query/include/postgres/storage/block.h
415
361
  - ext/pg_query/include/postgres/storage/buf.h
416
362
  - ext/pg_query/include/postgres/storage/bufmgr.h
@@ -439,7 +385,9 @@ files:
439
385
  - ext/pg_query/include/postgres/storage/proc.h
440
386
  - ext/pg_query/include/postgres/storage/procarray.h
441
387
  - ext/pg_query/include/postgres/storage/proclist_types.h
388
+ - ext/pg_query/include/postgres/storage/procnumber.h
442
389
  - ext/pg_query/include/postgres/storage/procsignal.h
390
+ - ext/pg_query/include/postgres/storage/read_stream.h
443
391
  - ext/pg_query/include/postgres/storage/relfilelocator.h
444
392
  - ext/pg_query/include/postgres/storage/s_lock.h
445
393
  - ext/pg_query/include/postgres/storage/sharedfileset.h
@@ -447,7 +395,6 @@ files:
447
395
  - ext/pg_query/include/postgres/storage/shm_toc.h
448
396
  - ext/pg_query/include/postgres/storage/shmem.h
449
397
  - ext/pg_query/include/postgres/storage/sinval.h
450
- - ext/pg_query/include/postgres/storage/sinvaladt.h
451
398
  - ext/pg_query/include/postgres/storage/smgr.h
452
399
  - ext/pg_query/include/postgres/storage/spin.h
453
400
  - ext/pg_query/include/postgres/storage/standby.h
@@ -465,6 +412,7 @@ files:
465
412
  - ext/pg_query/include/postgres/utils/acl.h
466
413
  - ext/pg_query/include/postgres/utils/aclchk_internal.h
467
414
  - ext/pg_query/include/postgres/utils/array.h
415
+ - ext/pg_query/include/postgres/utils/ascii.h
468
416
  - ext/pg_query/include/postgres/utils/backend_progress.h
469
417
  - ext/pg_query/include/postgres/utils/backend_status.h
470
418
  - ext/pg_query/include/postgres/utils/builtins.h
@@ -486,6 +434,7 @@ files:
486
434
  - ext/pg_query/include/postgres/utils/guc_hooks.h
487
435
  - ext/pg_query/include/postgres/utils/guc_tables.h
488
436
  - ext/pg_query/include/postgres/utils/hsearch.h
437
+ - ext/pg_query/include/postgres/utils/injection_point.h
489
438
  - ext/pg_query/include/postgres/utils/inval.h
490
439
  - ext/pg_query/include/postgres/utils/logtape.h
491
440
  - ext/pg_query/include/postgres/utils/lsyscache.h
@@ -521,6 +470,7 @@ files:
521
470
  - ext/pg_query/include/postgres/utils/typcache.h
522
471
  - ext/pg_query/include/postgres/utils/varlena.h
523
472
  - ext/pg_query/include/postgres/utils/wait_event.h
473
+ - ext/pg_query/include/postgres/utils/wait_event_types.h
524
474
  - ext/pg_query/include/postgres/utils/xml.h
525
475
  - ext/pg_query/include/postgres/varatt.h
526
476
  - ext/pg_query/include/protobuf-c.h
@@ -546,8 +496,6 @@ files:
546
496
  - ext/pg_query/pg_query_readfuncs.h
547
497
  - ext/pg_query/pg_query_readfuncs_protobuf.c
548
498
  - ext/pg_query/pg_query_ruby.c
549
- - ext/pg_query/pg_query_ruby.sym
550
- - ext/pg_query/pg_query_ruby_freebsd.sym
551
499
  - ext/pg_query/pg_query_scan.c
552
500
  - ext/pg_query/pg_query_split.c
553
501
  - ext/pg_query/postgres_deparse.c
@@ -563,7 +511,6 @@ files:
563
511
  - ext/pg_query/src_backend_nodes_list.c
564
512
  - ext/pg_query/src_backend_nodes_makefuncs.c
565
513
  - ext/pg_query/src_backend_nodes_nodeFuncs.c
566
- - ext/pg_query/src_backend_nodes_nodes.c
567
514
  - ext/pg_query/src_backend_nodes_value.c
568
515
  - ext/pg_query/src_backend_parser_gram.c
569
516
  - ext/pg_query/src_backend_parser_parser.c
@@ -585,6 +532,7 @@ files:
585
532
  - ext/pg_query/src_backend_utils_misc_guc_tables.c
586
533
  - ext/pg_query/src_backend_utils_mmgr_alignedalloc.c
587
534
  - ext/pg_query/src_backend_utils_mmgr_aset.c
535
+ - ext/pg_query/src_backend_utils_mmgr_bump.c
588
536
  - ext/pg_query/src_backend_utils_mmgr_generation.c
589
537
  - ext/pg_query/src_backend_utils_mmgr_mcxt.c
590
538
  - ext/pg_query/src_backend_utils_mmgr_slab.c
@@ -627,7 +575,8 @@ files:
627
575
  homepage: https://github.com/pganalyze/pg_query
628
576
  licenses:
629
577
  - BSD-3-Clause
630
- metadata: {}
578
+ metadata:
579
+ rubygems_mfa_required: 'true'
631
580
  post_install_message:
632
581
  rdoc_options:
633
582
  - "--main"
@@ -640,14 +589,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
640
589
  requirements:
641
590
  - - ">="
642
591
  - !ruby/object:Gem::Version
643
- version: '0'
592
+ version: '3.0'
644
593
  required_rubygems_version: !ruby/object:Gem::Requirement
645
594
  requirements:
646
595
  - - ">="
647
596
  - !ruby/object:Gem::Version
648
597
  version: '0'
649
598
  requirements: []
650
- rubygems_version: 3.1.6
599
+ rubygems_version: 3.5.22
651
600
  signing_key:
652
601
  specification_version: 4
653
602
  summary: PostgreSQL query parsing and normalization library
@@ -1,37 +0,0 @@
1
- /*-------------------------------------------------------------------------
2
- *
3
- * backendid.h
4
- * POSTGRES backend id communication definitions
5
- *
6
- *
7
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
8
- * Portions Copyright (c) 1994, Regents of the University of California
9
- *
10
- * src/include/storage/backendid.h
11
- *
12
- *-------------------------------------------------------------------------
13
- */
14
- #ifndef BACKENDID_H
15
- #define BACKENDID_H
16
-
17
- /* ----------------
18
- * -cim 8/17/90
19
- * ----------------
20
- */
21
- typedef int BackendId; /* unique currently active backend identifier */
22
-
23
- #define InvalidBackendId (-1)
24
-
25
- extern PGDLLIMPORT BackendId MyBackendId; /* backend id of this backend */
26
-
27
- /* backend id of our parallel session leader, or InvalidBackendId if none */
28
- extern PGDLLIMPORT BackendId ParallelLeaderBackendId;
29
-
30
- /*
31
- * The BackendId to use for our session's temp relations is normally our own,
32
- * but parallel workers should use their leader's ID.
33
- */
34
- #define BackendIdForTempRelations() \
35
- (ParallelLeaderBackendId == InvalidBackendId ? MyBackendId : ParallelLeaderBackendId)
36
-
37
- #endif /* BACKENDID_H */
@@ -1,45 +0,0 @@
1
- /*-------------------------------------------------------------------------
2
- *
3
- * sinvaladt.h
4
- * POSTGRES shared cache invalidation data manager.
5
- *
6
- * The shared cache invalidation manager is responsible for transmitting
7
- * invalidation messages between backends. Any message sent by any backend
8
- * must be delivered to all already-running backends before it can be
9
- * forgotten. (If we run out of space, we instead deliver a "RESET"
10
- * message to backends that have fallen too far behind.)
11
- *
12
- * The struct type SharedInvalidationMessage, defining the contents of
13
- * a single message, is defined in sinval.h.
14
- *
15
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
16
- * Portions Copyright (c) 1994, Regents of the University of California
17
- *
18
- * src/include/storage/sinvaladt.h
19
- *
20
- *-------------------------------------------------------------------------
21
- */
22
- #ifndef SINVALADT_H
23
- #define SINVALADT_H
24
-
25
- #include "storage/lock.h"
26
- #include "storage/sinval.h"
27
-
28
- /*
29
- * prototypes for functions in sinvaladt.c
30
- */
31
- extern Size SInvalShmemSize(void);
32
- extern void CreateSharedInvalidationState(void);
33
- extern void SharedInvalBackendInit(bool sendOnly);
34
- extern PGPROC *BackendIdGetProc(int backendID);
35
- extern void BackendIdGetTransactionIds(int backendID, TransactionId *xid,
36
- TransactionId *xmin, int *nsubxid,
37
- bool *overflowed);
38
-
39
- extern void SIInsertDataEntries(const SharedInvalidationMessage *data, int n);
40
- extern int SIGetDataEntries(SharedInvalidationMessage *data, int datasize);
41
- extern void SICleanupQueue(bool callerHasWriteLock, int minFree);
42
-
43
- extern LocalTransactionId GetNextLocalTransactionId(void);
44
-
45
- #endif /* SINVALADT_H */
@@ -1,2 +0,0 @@
1
- _Init_pg_query
2
- Init_pg_query
@@ -1,38 +0,0 @@
1
- /*--------------------------------------------------------------------
2
- * Symbols referenced in this file:
3
- * - newNodeMacroHolder
4
- *--------------------------------------------------------------------
5
- */
6
-
7
- /*-------------------------------------------------------------------------
8
- *
9
- * nodes.c
10
- * support code for nodes (now that we have removed the home-brew
11
- * inheritance system, our support code for nodes is much simpler)
12
- *
13
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
14
- * Portions Copyright (c) 1994, Regents of the University of California
15
- *
16
- *
17
- * IDENTIFICATION
18
- * src/backend/nodes/nodes.c
19
- *
20
- * HISTORY
21
- * Andrew Yu Oct 20, 1994 file creation
22
- *
23
- *-------------------------------------------------------------------------
24
- */
25
- #include "postgres.h"
26
-
27
- #include "nodes/nodes.h"
28
-
29
- /*
30
- * Support for newNode() macro
31
- *
32
- * In a GCC build there is no need for the global variable newNodeMacroHolder.
33
- * However, we create it anyway, to support the case of a non-GCC-built
34
- * loadable module being loaded into a GCC-built backend.
35
- */
36
-
37
- __thread Node *newNodeMacroHolder;
38
-