pg_query 2.2.0 → 4.2.1

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 (467) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +59 -31
  4. data/Rakefile +2 -2
  5. data/ext/pg_query/include/access/amapi.h +45 -1
  6. data/ext/pg_query/include/access/attmap.h +1 -1
  7. data/ext/pg_query/include/access/attnum.h +2 -2
  8. data/ext/pg_query/include/access/clog.h +4 -2
  9. data/ext/pg_query/include/access/commit_ts.h +6 -9
  10. data/ext/pg_query/include/access/detoast.h +1 -11
  11. data/ext/pg_query/include/access/genam.h +15 -12
  12. data/ext/pg_query/include/access/gin.h +2 -2
  13. data/ext/pg_query/include/access/htup.h +1 -1
  14. data/ext/pg_query/include/access/htup_details.h +75 -87
  15. data/ext/pg_query/include/access/itup.h +7 -1
  16. data/ext/pg_query/include/access/parallel.h +2 -2
  17. data/ext/pg_query/include/access/printtup.h +1 -1
  18. data/ext/pg_query/include/access/relation.h +1 -1
  19. data/ext/pg_query/include/access/relscan.h +17 -2
  20. data/ext/pg_query/include/access/rmgr.h +30 -3
  21. data/ext/pg_query/include/access/rmgrlist.h +23 -23
  22. data/ext/pg_query/include/access/sdir.h +1 -1
  23. data/ext/pg_query/include/access/skey.h +1 -1
  24. data/ext/pg_query/include/access/stratnum.h +4 -2
  25. data/ext/pg_query/include/access/sysattr.h +1 -1
  26. data/ext/pg_query/include/access/table.h +2 -1
  27. data/ext/pg_query/include/access/tableam.h +272 -20
  28. data/ext/pg_query/include/access/toast_compression.h +73 -0
  29. data/ext/pg_query/include/access/transam.h +123 -13
  30. data/ext/pg_query/include/access/tupconvert.h +1 -1
  31. data/ext/pg_query/include/access/tupdesc.h +1 -1
  32. data/ext/pg_query/include/access/tupmacs.h +3 -3
  33. data/ext/pg_query/include/access/twophase.h +3 -1
  34. data/ext/pg_query/include/access/xact.h +73 -19
  35. data/ext/pg_query/include/access/xlog.h +60 -155
  36. data/ext/pg_query/include/access/xlog_internal.h +40 -13
  37. data/ext/pg_query/include/access/xlogdefs.h +8 -16
  38. data/ext/pg_query/include/access/xlogprefetcher.h +55 -0
  39. data/ext/pg_query/include/access/xlogreader.h +145 -39
  40. data/ext/pg_query/include/access/xlogrecord.h +18 -9
  41. data/ext/pg_query/include/access/xlogrecovery.h +157 -0
  42. data/ext/pg_query/include/c.h +101 -44
  43. data/ext/pg_query/include/catalog/catalog.h +3 -1
  44. data/ext/pg_query/include/catalog/catversion.h +2 -2
  45. data/ext/pg_query/include/catalog/dependency.h +8 -16
  46. data/ext/pg_query/include/catalog/genbki.h +83 -5
  47. data/ext/pg_query/include/catalog/index.h +18 -3
  48. data/ext/pg_query/include/catalog/indexing.h +12 -324
  49. data/ext/pg_query/include/catalog/namespace.h +4 -2
  50. data/ext/pg_query/include/catalog/objectaccess.h +70 -2
  51. data/ext/pg_query/include/catalog/objectaddress.h +11 -6
  52. data/ext/pg_query/include/catalog/pg_aggregate.h +14 -10
  53. data/ext/pg_query/include/catalog/pg_aggregate_d.h +2 -1
  54. data/ext/pg_query/include/catalog/pg_am.h +4 -1
  55. data/ext/pg_query/include/catalog/pg_am_d.h +3 -1
  56. data/ext/pg_query/include/catalog/pg_attribute.h +27 -10
  57. data/ext/pg_query/include/catalog/pg_attribute_d.h +21 -18
  58. data/ext/pg_query/include/catalog/pg_authid.h +7 -2
  59. data/ext/pg_query/include/catalog/pg_authid_d.h +17 -9
  60. data/ext/pg_query/include/catalog/pg_class.h +44 -14
  61. data/ext/pg_query/include/catalog/pg_class_d.h +30 -1
  62. data/ext/pg_query/include/catalog/pg_collation.h +33 -8
  63. data/ext/pg_query/include/catalog/pg_collation_d.h +20 -3
  64. data/ext/pg_query/include/catalog/pg_constraint.h +38 -12
  65. data/ext/pg_query/include/catalog/pg_constraint_d.h +10 -4
  66. data/ext/pg_query/include/catalog/pg_control.h +3 -5
  67. data/ext/pg_query/include/catalog/pg_conversion.h +7 -4
  68. data/ext/pg_query/include/catalog/pg_conversion_d.h +4 -1
  69. data/ext/pg_query/include/catalog/pg_depend.h +11 -7
  70. data/ext/pg_query/include/catalog/pg_depend_d.h +3 -1
  71. data/ext/pg_query/include/catalog/pg_event_trigger.h +9 -3
  72. data/ext/pg_query/include/catalog/pg_event_trigger_d.h +3 -1
  73. data/ext/pg_query/include/catalog/pg_index.h +17 -7
  74. data/ext/pg_query/include/catalog/pg_index_d.h +20 -17
  75. data/ext/pg_query/include/catalog/pg_language.h +10 -5
  76. data/ext/pg_query/include/catalog/pg_language_d.h +3 -1
  77. data/ext/pg_query/include/catalog/pg_namespace.h +7 -2
  78. data/ext/pg_query/include/catalog/pg_namespace_d.h +3 -1
  79. data/ext/pg_query/include/catalog/pg_opclass.h +8 -5
  80. data/ext/pg_query/include/catalog/pg_opclass_d.h +3 -1
  81. data/ext/pg_query/include/catalog/pg_operator.h +18 -15
  82. data/ext/pg_query/include/catalog/pg_operator_d.h +37 -1
  83. data/ext/pg_query/include/catalog/pg_opfamily.h +6 -3
  84. data/ext/pg_query/include/catalog/pg_opfamily_d.h +3 -1
  85. data/ext/pg_query/include/catalog/pg_parameter_acl.h +60 -0
  86. data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +34 -0
  87. data/ext/pg_query/include/catalog/pg_partitioned_table.h +20 -9
  88. data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +2 -1
  89. data/ext/pg_query/include/catalog/pg_proc.h +20 -11
  90. data/ext/pg_query/include/catalog/pg_proc_d.h +10 -8
  91. data/ext/pg_query/include/catalog/pg_publication.h +50 -7
  92. data/ext/pg_query/include/catalog/pg_publication_d.h +3 -1
  93. data/ext/pg_query/include/catalog/pg_replication_origin.h +6 -1
  94. data/ext/pg_query/include/catalog/pg_replication_origin_d.h +5 -1
  95. data/ext/pg_query/include/catalog/pg_statistic.h +19 -12
  96. data/ext/pg_query/include/catalog/pg_statistic_d.h +2 -1
  97. data/ext/pg_query/include/catalog/pg_statistic_ext.h +19 -5
  98. data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +7 -2
  99. data/ext/pg_query/include/catalog/pg_transform.h +8 -5
  100. data/ext/pg_query/include/catalog/pg_transform_d.h +3 -1
  101. data/ext/pg_query/include/catalog/pg_trigger.h +24 -8
  102. data/ext/pg_query/include/catalog/pg_trigger_d.h +4 -1
  103. data/ext/pg_query/include/catalog/pg_ts_config.h +6 -3
  104. data/ext/pg_query/include/catalog/pg_ts_config_d.h +3 -1
  105. data/ext/pg_query/include/catalog/pg_ts_dict.h +8 -3
  106. data/ext/pg_query/include/catalog/pg_ts_dict_d.h +3 -1
  107. data/ext/pg_query/include/catalog/pg_ts_parser.h +6 -3
  108. data/ext/pg_query/include/catalog/pg_ts_parser_d.h +3 -1
  109. data/ext/pg_query/include/catalog/pg_ts_template.h +6 -3
  110. data/ext/pg_query/include/catalog/pg_ts_template_d.h +3 -1
  111. data/ext/pg_query/include/catalog/pg_type.h +55 -24
  112. data/ext/pg_query/include/catalog/pg_type_d.h +70 -31
  113. data/ext/pg_query/include/catalog/storage.h +5 -3
  114. data/ext/pg_query/include/commands/async.h +3 -4
  115. data/ext/pg_query/include/commands/dbcommands.h +2 -1
  116. data/ext/pg_query/include/commands/defrem.h +11 -24
  117. data/ext/pg_query/include/commands/event_trigger.h +2 -2
  118. data/ext/pg_query/include/commands/explain.h +1 -1
  119. data/ext/pg_query/include/commands/prepare.h +1 -1
  120. data/ext/pg_query/include/commands/tablespace.h +2 -2
  121. data/ext/pg_query/include/commands/trigger.h +18 -16
  122. data/ext/pg_query/include/commands/user.h +2 -2
  123. data/ext/pg_query/include/commands/vacuum.h +88 -41
  124. data/ext/pg_query/include/commands/variable.h +1 -1
  125. data/ext/pg_query/include/common/file_perm.h +4 -4
  126. data/ext/pg_query/include/common/hashfn.h +1 -1
  127. data/ext/pg_query/include/common/ip.h +1 -7
  128. data/ext/pg_query/include/common/keywords.h +2 -6
  129. data/ext/pg_query/include/common/kwlookup.h +1 -1
  130. data/ext/pg_query/include/common/pg_prng.h +60 -0
  131. data/ext/pg_query/include/common/relpath.h +2 -2
  132. data/ext/pg_query/include/common/string.h +24 -1
  133. data/ext/pg_query/include/common/unicode_combining_table.h +114 -2
  134. data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +125 -0
  135. data/ext/pg_query/include/datatype/timestamp.h +40 -1
  136. data/ext/pg_query/include/executor/execdesc.h +1 -1
  137. data/ext/pg_query/include/executor/executor.h +65 -22
  138. data/ext/pg_query/include/executor/functions.h +17 -3
  139. data/ext/pg_query/include/executor/instrument.h +33 -16
  140. data/ext/pg_query/include/executor/spi.h +41 -3
  141. data/ext/pg_query/include/executor/tablefunc.h +1 -1
  142. data/ext/pg_query/include/executor/tuptable.h +1 -1
  143. data/ext/pg_query/include/fmgr.h +13 -7
  144. data/ext/pg_query/include/funcapi.h +16 -4
  145. data/ext/pg_query/include/getaddrinfo.h +1 -1
  146. data/ext/pg_query/include/jit/jit.h +11 -11
  147. data/ext/pg_query/include/kwlist_d.h +517 -494
  148. data/ext/pg_query/include/lib/dshash.h +112 -0
  149. data/ext/pg_query/include/lib/ilist.h +20 -1
  150. data/ext/pg_query/include/lib/pairingheap.h +1 -1
  151. data/ext/pg_query/include/lib/simplehash.h +140 -15
  152. data/ext/pg_query/include/lib/sort_template.h +432 -0
  153. data/ext/pg_query/include/lib/stringinfo.h +1 -1
  154. data/ext/pg_query/include/libpq/auth.h +6 -4
  155. data/ext/pg_query/include/libpq/crypt.h +5 -4
  156. data/ext/pg_query/include/libpq/hba.h +43 -4
  157. data/ext/pg_query/include/libpq/libpq-be.h +23 -6
  158. data/ext/pg_query/include/libpq/libpq.h +30 -20
  159. data/ext/pg_query/include/libpq/pqcomm.h +17 -31
  160. data/ext/pg_query/include/libpq/pqformat.h +1 -1
  161. data/ext/pg_query/include/libpq/pqsignal.h +4 -4
  162. data/ext/pg_query/include/mb/pg_wchar.h +105 -23
  163. data/ext/pg_query/include/mb/stringinfo_mb.h +1 -1
  164. data/ext/pg_query/include/miscadmin.h +47 -41
  165. data/ext/pg_query/include/nodes/bitmapset.h +1 -1
  166. data/ext/pg_query/include/nodes/execnodes.h +270 -78
  167. data/ext/pg_query/include/nodes/extensible.h +4 -2
  168. data/ext/pg_query/include/nodes/lockoptions.h +1 -1
  169. data/ext/pg_query/include/nodes/makefuncs.h +7 -6
  170. data/ext/pg_query/include/nodes/memnodes.h +5 -3
  171. data/ext/pg_query/include/nodes/nodeFuncs.h +1 -1
  172. data/ext/pg_query/include/nodes/nodes.h +30 -11
  173. data/ext/pg_query/include/nodes/params.h +1 -1
  174. data/ext/pg_query/include/nodes/parsenodes.h +322 -90
  175. data/ext/pg_query/include/nodes/pathnodes.h +243 -66
  176. data/ext/pg_query/include/nodes/pg_list.h +75 -69
  177. data/ext/pg_query/include/nodes/plannodes.h +111 -28
  178. data/ext/pg_query/include/nodes/primnodes.h +99 -47
  179. data/ext/pg_query/include/nodes/print.h +1 -1
  180. data/ext/pg_query/include/nodes/tidbitmap.h +1 -1
  181. data/ext/pg_query/include/nodes/value.h +58 -39
  182. data/ext/pg_query/include/optimizer/cost.h +9 -2
  183. data/ext/pg_query/include/optimizer/geqo.h +9 -7
  184. data/ext/pg_query/include/optimizer/geqo_gene.h +1 -1
  185. data/ext/pg_query/include/optimizer/optimizer.h +25 -17
  186. data/ext/pg_query/include/optimizer/paths.h +6 -6
  187. data/ext/pg_query/include/optimizer/planmain.h +15 -14
  188. data/ext/pg_query/include/parser/analyze.h +19 -5
  189. data/ext/pg_query/include/parser/gram.h +947 -913
  190. data/ext/pg_query/include/parser/gramparse.h +1 -1
  191. data/ext/pg_query/include/parser/kwlist.h +463 -453
  192. data/ext/pg_query/include/parser/parse_agg.h +2 -7
  193. data/ext/pg_query/include/parser/parse_coerce.h +3 -1
  194. data/ext/pg_query/include/parser/parse_expr.h +2 -3
  195. data/ext/pg_query/include/parser/parse_func.h +2 -1
  196. data/ext/pg_query/include/parser/parse_node.h +21 -9
  197. data/ext/pg_query/include/parser/parse_oper.h +1 -3
  198. data/ext/pg_query/include/parser/parse_relation.h +5 -4
  199. data/ext/pg_query/include/parser/parse_type.h +1 -1
  200. data/ext/pg_query/include/parser/parser.h +31 -4
  201. data/ext/pg_query/include/parser/parsetree.h +1 -1
  202. data/ext/pg_query/include/parser/scanner.h +1 -1
  203. data/ext/pg_query/include/parser/scansup.h +2 -5
  204. data/ext/pg_query/include/partitioning/partdefs.h +1 -1
  205. data/ext/pg_query/include/pg_config.h +83 -41
  206. data/ext/pg_query/include/pg_config_manual.h +74 -21
  207. data/ext/pg_query/include/pg_getopt.h +6 -6
  208. data/ext/pg_query/include/pg_query.h +5 -4
  209. data/ext/pg_query/include/pg_query_enum_defs.c +358 -241
  210. data/ext/pg_query/include/pg_query_fingerprint_conds.c +44 -7
  211. data/ext/pg_query/include/pg_query_fingerprint_defs.c +939 -113
  212. data/ext/pg_query/include/pg_query_outfuncs_conds.c +43 -13
  213. data/ext/pg_query/include/pg_query_outfuncs_defs.c +151 -26
  214. data/ext/pg_query/include/pg_query_readfuncs_conds.c +11 -2
  215. data/ext/pg_query/include/pg_query_readfuncs_defs.c +173 -30
  216. data/ext/pg_query/include/pg_trace.h +1 -1
  217. data/ext/pg_query/include/pgstat.h +449 -1238
  218. data/ext/pg_query/include/pgtime.h +14 -4
  219. data/ext/pg_query/include/pl_gram.h +126 -128
  220. data/ext/pg_query/include/pl_reserved_kwlist.h +1 -1
  221. data/ext/pg_query/include/pl_reserved_kwlist_d.h +10 -10
  222. data/ext/pg_query/include/pl_unreserved_kwlist.h +2 -3
  223. data/ext/pg_query/include/pl_unreserved_kwlist_d.h +54 -56
  224. data/ext/pg_query/include/plerrcodes.h +9 -1
  225. data/ext/pg_query/include/plpgsql.h +52 -54
  226. data/ext/pg_query/include/port/atomics/arch-arm.h +7 -1
  227. data/ext/pg_query/include/port/atomics/arch-ppc.h +1 -1
  228. data/ext/pg_query/include/port/atomics/arch-x86.h +1 -1
  229. data/ext/pg_query/include/port/atomics/fallback.h +1 -1
  230. data/ext/pg_query/include/port/atomics/generic-gcc.h +3 -3
  231. data/ext/pg_query/include/port/atomics/generic.h +1 -1
  232. data/ext/pg_query/include/port/atomics.h +1 -1
  233. data/ext/pg_query/include/port/pg_bitutils.h +40 -10
  234. data/ext/pg_query/include/port/pg_bswap.h +1 -1
  235. data/ext/pg_query/include/port/pg_crc32c.h +1 -1
  236. data/ext/pg_query/include/port.h +71 -46
  237. data/ext/pg_query/include/portability/instr_time.h +1 -1
  238. data/ext/pg_query/include/postgres.h +60 -16
  239. data/ext/pg_query/include/postmaster/autovacuum.h +17 -17
  240. data/ext/pg_query/include/postmaster/auxprocess.h +20 -0
  241. data/ext/pg_query/include/postmaster/bgworker.h +2 -1
  242. data/ext/pg_query/include/postmaster/bgworker_internals.h +2 -2
  243. data/ext/pg_query/include/postmaster/bgwriter.h +5 -5
  244. data/ext/pg_query/include/postmaster/fork_process.h +1 -1
  245. data/ext/pg_query/include/postmaster/interrupt.h +1 -1
  246. data/ext/pg_query/include/postmaster/pgarch.h +42 -8
  247. data/ext/pg_query/include/postmaster/postmaster.h +18 -17
  248. data/ext/pg_query/include/postmaster/startup.h +39 -0
  249. data/ext/pg_query/include/postmaster/syslogger.h +15 -10
  250. data/ext/pg_query/include/postmaster/walwriter.h +3 -3
  251. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1419 -914
  252. data/ext/pg_query/include/protobuf/pg_query.pb.h +43678 -32769
  253. data/ext/pg_query/include/regex/regex.h +18 -16
  254. data/ext/pg_query/include/replication/logicallauncher.h +3 -5
  255. data/ext/pg_query/include/replication/logicalproto.h +161 -17
  256. data/ext/pg_query/include/replication/logicalworker.h +1 -1
  257. data/ext/pg_query/include/replication/origin.h +7 -7
  258. data/ext/pg_query/include/replication/reorderbuffer.h +259 -42
  259. data/ext/pg_query/include/replication/slot.h +22 -11
  260. data/ext/pg_query/include/replication/syncrep.h +5 -5
  261. data/ext/pg_query/include/replication/walreceiver.h +145 -13
  262. data/ext/pg_query/include/replication/walsender.h +8 -8
  263. data/ext/pg_query/include/rewrite/prs2lock.h +1 -1
  264. data/ext/pg_query/include/rewrite/rewriteHandler.h +1 -3
  265. data/ext/pg_query/include/rewrite/rewriteManip.h +1 -1
  266. data/ext/pg_query/include/rewrite/rewriteSupport.h +1 -1
  267. data/ext/pg_query/include/storage/backendid.h +3 -3
  268. data/ext/pg_query/include/storage/block.h +4 -10
  269. data/ext/pg_query/include/storage/buf.h +1 -1
  270. data/ext/pg_query/include/storage/bufmgr.h +19 -14
  271. data/ext/pg_query/include/storage/bufpage.h +6 -8
  272. data/ext/pg_query/include/storage/condition_variable.h +13 -2
  273. data/ext/pg_query/include/storage/dsm.h +4 -1
  274. data/ext/pg_query/include/storage/dsm_impl.h +3 -2
  275. data/ext/pg_query/include/storage/fd.h +33 -3
  276. data/ext/pg_query/include/storage/fileset.h +40 -0
  277. data/ext/pg_query/include/storage/ipc.h +4 -1
  278. data/ext/pg_query/include/storage/item.h +1 -1
  279. data/ext/pg_query/include/storage/itemid.h +1 -1
  280. data/ext/pg_query/include/storage/itemptr.h +3 -1
  281. data/ext/pg_query/include/storage/large_object.h +2 -2
  282. data/ext/pg_query/include/storage/latch.h +9 -13
  283. data/ext/pg_query/include/storage/lmgr.h +2 -1
  284. data/ext/pg_query/include/storage/lock.h +11 -8
  285. data/ext/pg_query/include/storage/lockdefs.h +2 -2
  286. data/ext/pg_query/include/storage/lwlock.h +5 -32
  287. data/ext/pg_query/include/storage/lwlocknames.h +0 -1
  288. data/ext/pg_query/include/storage/off.h +1 -1
  289. data/ext/pg_query/include/storage/pg_sema.h +1 -1
  290. data/ext/pg_query/include/storage/pg_shmem.h +9 -7
  291. data/ext/pg_query/include/storage/pmsignal.h +15 -4
  292. data/ext/pg_query/include/storage/predicate.h +4 -4
  293. data/ext/pg_query/include/storage/proc.h +173 -59
  294. data/ext/pg_query/include/storage/procarray.h +98 -0
  295. data/ext/pg_query/include/storage/proclist_types.h +1 -1
  296. data/ext/pg_query/include/storage/procsignal.h +3 -7
  297. data/ext/pg_query/include/storage/relfilenode.h +1 -1
  298. data/ext/pg_query/include/storage/s_lock.h +60 -21
  299. data/ext/pg_query/include/storage/sharedfileset.h +3 -11
  300. data/ext/pg_query/include/storage/shm_mq.h +5 -4
  301. data/ext/pg_query/include/storage/shm_toc.h +1 -1
  302. data/ext/pg_query/include/storage/shmem.h +1 -1
  303. data/ext/pg_query/include/storage/sinval.h +3 -3
  304. data/ext/pg_query/include/storage/sinvaladt.h +1 -1
  305. data/ext/pg_query/include/storage/smgr.h +10 -8
  306. data/ext/pg_query/include/storage/spin.h +2 -2
  307. data/ext/pg_query/include/storage/standby.h +13 -6
  308. data/ext/pg_query/include/storage/standbydefs.h +2 -2
  309. data/ext/pg_query/include/storage/sync.h +7 -3
  310. data/ext/pg_query/include/tcop/cmdtag.h +1 -1
  311. data/ext/pg_query/include/tcop/cmdtaglist.h +3 -2
  312. data/ext/pg_query/include/tcop/deparse_utility.h +1 -1
  313. data/ext/pg_query/include/tcop/dest.h +1 -1
  314. data/ext/pg_query/include/tcop/fastpath.h +1 -2
  315. data/ext/pg_query/include/tcop/pquery.h +1 -1
  316. data/ext/pg_query/include/tcop/tcopprot.h +19 -11
  317. data/ext/pg_query/include/tcop/utility.h +7 -3
  318. data/ext/pg_query/include/tsearch/ts_cache.h +2 -2
  319. data/ext/pg_query/include/utils/acl.h +24 -3
  320. data/ext/pg_query/include/utils/aclchk_internal.h +1 -1
  321. data/ext/pg_query/include/utils/array.h +7 -2
  322. data/ext/pg_query/include/utils/backend_progress.h +44 -0
  323. data/ext/pg_query/include/utils/backend_status.h +321 -0
  324. data/ext/pg_query/include/utils/builtins.h +10 -11
  325. data/ext/pg_query/include/utils/bytea.h +3 -2
  326. data/ext/pg_query/include/utils/catcache.h +1 -1
  327. data/ext/pg_query/include/utils/date.h +1 -1
  328. data/ext/pg_query/include/utils/datetime.h +8 -7
  329. data/ext/pg_query/include/utils/datum.h +9 -1
  330. data/ext/pg_query/include/utils/dsa.h +1 -1
  331. data/ext/pg_query/include/utils/dynahash.h +4 -3
  332. data/ext/pg_query/include/utils/elog.h +52 -21
  333. data/ext/pg_query/include/utils/errcodes.h +2 -0
  334. data/ext/pg_query/include/utils/expandeddatum.h +1 -1
  335. data/ext/pg_query/include/utils/expandedrecord.h +1 -1
  336. data/ext/pg_query/include/utils/float.h +7 -7
  337. data/ext/pg_query/include/utils/fmgroids.h +1300 -696
  338. data/ext/pg_query/include/utils/fmgrprotos.h +199 -16
  339. data/ext/pg_query/include/utils/fmgrtab.h +6 -5
  340. data/ext/pg_query/include/utils/guc.h +69 -43
  341. data/ext/pg_query/include/utils/guc_tables.h +23 -19
  342. data/ext/pg_query/include/utils/hsearch.h +15 -11
  343. data/ext/pg_query/include/utils/inval.h +4 -1
  344. data/ext/pg_query/include/utils/lsyscache.h +11 -1
  345. data/ext/pg_query/include/utils/memdebug.h +1 -1
  346. data/ext/pg_query/include/utils/memutils.h +8 -3
  347. data/ext/pg_query/include/utils/numeric.h +19 -5
  348. data/ext/pg_query/include/utils/palloc.h +25 -3
  349. data/ext/pg_query/include/utils/partcache.h +1 -1
  350. data/ext/pg_query/include/utils/pg_locale.h +17 -9
  351. data/ext/pg_query/include/utils/pg_lsn.h +1 -1
  352. data/ext/pg_query/include/utils/pgstat_internal.h +784 -0
  353. data/ext/pg_query/include/utils/pidfile.h +1 -1
  354. data/ext/pg_query/include/utils/plancache.h +6 -5
  355. data/ext/pg_query/include/utils/portal.h +10 -12
  356. data/ext/pg_query/include/utils/ps_status.h +1 -1
  357. data/ext/pg_query/include/utils/queryenvironment.h +1 -1
  358. data/ext/pg_query/include/utils/queryjumble.h +88 -0
  359. data/ext/pg_query/include/utils/regproc.h +14 -3
  360. data/ext/pg_query/include/utils/rel.h +71 -19
  361. data/ext/pg_query/include/utils/relcache.h +8 -5
  362. data/ext/pg_query/include/utils/reltrigger.h +1 -1
  363. data/ext/pg_query/include/utils/resowner.h +1 -1
  364. data/ext/pg_query/include/utils/rls.h +2 -2
  365. data/ext/pg_query/include/utils/ruleutils.h +4 -1
  366. data/ext/pg_query/include/utils/sharedtuplestore.h +1 -1
  367. data/ext/pg_query/include/utils/snapmgr.h +34 -14
  368. data/ext/pg_query/include/utils/snapshot.h +14 -1
  369. data/ext/pg_query/include/utils/sortsupport.h +117 -2
  370. data/ext/pg_query/include/utils/syscache.h +6 -1
  371. data/ext/pg_query/include/utils/timeout.h +11 -4
  372. data/ext/pg_query/include/utils/timestamp.h +6 -5
  373. data/ext/pg_query/include/utils/tuplesort.h +25 -11
  374. data/ext/pg_query/include/utils/tuplestore.h +2 -2
  375. data/ext/pg_query/include/utils/typcache.h +24 -17
  376. data/ext/pg_query/include/utils/tzparser.h +1 -1
  377. data/ext/pg_query/include/utils/varlena.h +5 -3
  378. data/ext/pg_query/include/utils/wait_event.h +289 -0
  379. data/ext/pg_query/include/utils/xml.h +4 -4
  380. data/ext/pg_query/pg_query.pb-c.c +4302 -2304
  381. data/ext/pg_query/pg_query_deparse.c +1106 -373
  382. data/ext/pg_query/pg_query_fingerprint.c +30 -10
  383. data/ext/pg_query/pg_query_json_plpgsql.c +0 -25
  384. data/ext/pg_query/pg_query_normalize.c +1 -1
  385. data/ext/pg_query/pg_query_outfuncs_json.c +54 -16
  386. data/ext/pg_query/pg_query_outfuncs_protobuf.c +70 -10
  387. data/ext/pg_query/pg_query_parse.c +1 -1
  388. data/ext/pg_query/pg_query_readfuncs_protobuf.c +42 -8
  389. data/ext/pg_query/pg_query_scan.c +2 -1
  390. data/ext/pg_query/pg_query_split.c +3 -2
  391. data/ext/pg_query/src_backend_catalog_namespace.c +20 -9
  392. data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
  393. data/ext/pg_query/src_backend_commands_define.c +11 -1
  394. data/ext/pg_query/src_backend_nodes_bitmapset.c +3 -1
  395. data/ext/pg_query/src_backend_nodes_copyfuncs.c +401 -76
  396. data/ext/pg_query/src_backend_nodes_equalfuncs.c +290 -46
  397. data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
  398. data/ext/pg_query/src_backend_nodes_list.c +74 -11
  399. data/ext/pg_query/src_backend_nodes_makefuncs.c +5 -4
  400. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +55 -12
  401. data/ext/pg_query/src_backend_nodes_value.c +28 -19
  402. data/ext/pg_query/src_backend_parser_gram.c +33874 -31261
  403. data/ext/pg_query/src_backend_parser_parser.c +26 -7
  404. data/ext/pg_query/src_backend_parser_scan.c +172 -209
  405. data/ext/pg_query/src_backend_parser_scansup.c +4 -28
  406. data/ext/pg_query/src_backend_postmaster_postmaster.c +77 -106
  407. data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
  408. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +5 -4
  409. data/ext/pg_query/src_backend_tcop_postgres.c +62 -23
  410. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
  411. data/ext/pg_query/src_backend_utils_adt_datum.c +13 -1
  412. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  413. data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
  414. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +71 -5
  415. data/ext/pg_query/src_backend_utils_error_assert.c +16 -14
  416. data/ext/pg_query/src_backend_utils_error_elog.c +172 -99
  417. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +12 -17
  418. data/ext/pg_query/src_backend_utils_hash_dynahash.c +40 -10
  419. data/ext/pg_query/src_backend_utils_init_globals.c +5 -5
  420. data/ext/pg_query/src_backend_utils_mb_mbutils.c +55 -66
  421. data/ext/pg_query/src_backend_utils_misc_guc.c +206 -45
  422. data/ext/pg_query/src_backend_utils_mmgr_aset.c +7 -5
  423. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +123 -35
  424. data/ext/pg_query/src_common_encnames.c +1 -1
  425. data/ext/pg_query/src_common_hashfn.c +3 -3
  426. data/ext/pg_query/src_common_keywords.c +15 -2
  427. data/ext/pg_query/src_common_kwlist_d.h +517 -494
  428. data/ext/pg_query/src_common_kwlookup.c +1 -1
  429. data/ext/pg_query/src_common_pg_prng.c +152 -0
  430. data/ext/pg_query/src_common_psprintf.c +1 -1
  431. data/ext/pg_query/src_common_string.c +7 -1
  432. data/ext/pg_query/src_common_stringinfo.c +1 -1
  433. data/ext/pg_query/src_common_wchar.c +701 -109
  434. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +45 -20
  435. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -18
  436. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1233 -1259
  437. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  438. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
  439. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +2 -2
  440. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +54 -56
  441. data/ext/pg_query/src_port_pg_bitutils.c +41 -31
  442. data/ext/pg_query/src_port_pgsleep.c +1 -1
  443. data/ext/pg_query/src_port_pgstrcasecmp.c +1 -1
  444. data/ext/pg_query/src_port_qsort.c +12 -224
  445. data/ext/pg_query/src_port_snprintf.c +37 -13
  446. data/ext/pg_query/src_port_strerror.c +9 -19
  447. data/ext/pg_query/src_port_strnlen.c +1 -1
  448. data/lib/pg_query/filter_columns.rb +1 -1
  449. data/lib/pg_query/fingerprint.rb +5 -1
  450. data/lib/pg_query/node.rb +2 -2
  451. data/lib/pg_query/param_refs.rb +1 -1
  452. data/lib/pg_query/parse.rb +20 -8
  453. data/lib/pg_query/pg_query_pb.rb +1108 -942
  454. data/lib/pg_query/treewalker.rb +6 -0
  455. data/lib/pg_query/truncate.rb +1 -1
  456. data/lib/pg_query/version.rb +1 -1
  457. metadata +27 -17
  458. data/ext/pg_query/include/access/xloginsert.h +0 -64
  459. data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
  460. data/ext/pg_query/include/parser/parse_clause.h +0 -54
  461. data/ext/pg_query/include/parser/parse_collate.h +0 -27
  462. data/ext/pg_query/include/parser/parse_target.h +0 -46
  463. data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -2
  464. data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -659
  465. data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
  466. data/ext/pg_query/src_port_erand48.c +0 -127
  467. data/ext/pg_query/src_port_random.c +0 -31
@@ -1,5 +1,11 @@
1
1
  module PgQuery
2
2
  class ParserResult
3
+ def walk!
4
+ treewalker!(@tree) do |parent_node, parent_field, node, location|
5
+ yield(parent_node, parent_field, node, location)
6
+ end
7
+ end
8
+
3
9
  private
4
10
 
5
11
  def treewalker!(tree) # rubocop:disable Metrics/CyclomaticComplexity
@@ -21,7 +21,7 @@ module PgQuery
21
21
  next if truncation.length < 3
22
22
 
23
23
  find_tree_location(tree, truncation.location) do |node, _k|
24
- dummy_column_ref = PgQuery::Node.new(column_ref: PgQuery::ColumnRef.new(fields: [PgQuery::Node.new(string: PgQuery::String.new(str: '…'))]))
24
+ dummy_column_ref = PgQuery::Node.new(column_ref: PgQuery::ColumnRef.new(fields: [PgQuery::Node.new(string: PgQuery::String.new(sval: '…'))]))
25
25
  case truncation.node_type
26
26
  when :target_list
27
27
  res_target_name = '…' if node.is_a?(PgQuery::UpdateStmt) || node.is_a?(PgQuery::OnConflictClause)
@@ -1,3 +1,3 @@
1
1
  module PgQuery
2
- VERSION = '2.2.0'.freeze
2
+ VERSION = '4.2.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_query
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 4.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Fittl
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-03 00:00:00.000000000 Z
11
+ date: 2023-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 3.19.2
75
+ version: 3.22.3
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 3.19.2
82
+ version: 3.22.3
83
83
  description: Parses SQL queries using a copy of the PostgreSQL server query parser
84
84
  email: lukas@fittl.com
85
85
  executables: []
@@ -118,6 +118,7 @@ files:
118
118
  - ext/pg_query/include/access/sysattr.h
119
119
  - ext/pg_query/include/access/table.h
120
120
  - ext/pg_query/include/access/tableam.h
121
+ - ext/pg_query/include/access/toast_compression.h
121
122
  - ext/pg_query/include/access/transam.h
122
123
  - ext/pg_query/include/access/tupconvert.h
123
124
  - ext/pg_query/include/access/tupdesc.h
@@ -127,10 +128,10 @@ files:
127
128
  - ext/pg_query/include/access/xlog.h
128
129
  - ext/pg_query/include/access/xlog_internal.h
129
130
  - ext/pg_query/include/access/xlogdefs.h
130
- - ext/pg_query/include/access/xloginsert.h
131
+ - ext/pg_query/include/access/xlogprefetcher.h
131
132
  - ext/pg_query/include/access/xlogreader.h
132
133
  - ext/pg_query/include/access/xlogrecord.h
133
- - ext/pg_query/include/bootstrap/bootstrap.h
134
+ - ext/pg_query/include/access/xlogrecovery.h
134
135
  - ext/pg_query/include/c.h
135
136
  - ext/pg_query/include/catalog/catalog.h
136
137
  - ext/pg_query/include/catalog/catversion.h
@@ -174,6 +175,8 @@ files:
174
175
  - ext/pg_query/include/catalog/pg_operator_d.h
175
176
  - ext/pg_query/include/catalog/pg_opfamily.h
176
177
  - ext/pg_query/include/catalog/pg_opfamily_d.h
178
+ - ext/pg_query/include/catalog/pg_parameter_acl.h
179
+ - ext/pg_query/include/catalog/pg_parameter_acl_d.h
177
180
  - ext/pg_query/include/catalog/pg_partitioned_table.h
178
181
  - ext/pg_query/include/catalog/pg_partitioned_table_d.h
179
182
  - ext/pg_query/include/catalog/pg_proc.h
@@ -217,9 +220,11 @@ files:
217
220
  - ext/pg_query/include/common/ip.h
218
221
  - ext/pg_query/include/common/keywords.h
219
222
  - ext/pg_query/include/common/kwlookup.h
223
+ - ext/pg_query/include/common/pg_prng.h
220
224
  - ext/pg_query/include/common/relpath.h
221
225
  - ext/pg_query/include/common/string.h
222
226
  - ext/pg_query/include/common/unicode_combining_table.h
227
+ - ext/pg_query/include/common/unicode_east_asian_fw_table.h
223
228
  - ext/pg_query/include/datatype/timestamp.h
224
229
  - ext/pg_query/include/executor/execdesc.h
225
230
  - ext/pg_query/include/executor/executor.h
@@ -233,9 +238,11 @@ files:
233
238
  - ext/pg_query/include/getaddrinfo.h
234
239
  - ext/pg_query/include/jit/jit.h
235
240
  - ext/pg_query/include/kwlist_d.h
241
+ - ext/pg_query/include/lib/dshash.h
236
242
  - ext/pg_query/include/lib/ilist.h
237
243
  - ext/pg_query/include/lib/pairingheap.h
238
244
  - ext/pg_query/include/lib/simplehash.h
245
+ - ext/pg_query/include/lib/sort_template.h
239
246
  - ext/pg_query/include/lib/stringinfo.h
240
247
  - ext/pg_query/include/libpq/auth.h
241
248
  - ext/pg_query/include/libpq/crypt.h
@@ -276,15 +283,12 @@ files:
276
283
  - ext/pg_query/include/parser/gramparse.h
277
284
  - ext/pg_query/include/parser/kwlist.h
278
285
  - ext/pg_query/include/parser/parse_agg.h
279
- - ext/pg_query/include/parser/parse_clause.h
280
286
  - ext/pg_query/include/parser/parse_coerce.h
281
- - ext/pg_query/include/parser/parse_collate.h
282
287
  - ext/pg_query/include/parser/parse_expr.h
283
288
  - ext/pg_query/include/parser/parse_func.h
284
289
  - ext/pg_query/include/parser/parse_node.h
285
290
  - ext/pg_query/include/parser/parse_oper.h
286
291
  - ext/pg_query/include/parser/parse_relation.h
287
- - ext/pg_query/include/parser/parse_target.h
288
292
  - ext/pg_query/include/parser/parse_type.h
289
293
  - ext/pg_query/include/parser/parser.h
290
294
  - ext/pg_query/include/parser/parsetree.h
@@ -330,6 +334,7 @@ files:
330
334
  - ext/pg_query/include/postgres.h
331
335
  - ext/pg_query/include/postgres_ext.h
332
336
  - ext/pg_query/include/postmaster/autovacuum.h
337
+ - ext/pg_query/include/postmaster/auxprocess.h
333
338
  - ext/pg_query/include/postmaster/bgworker.h
334
339
  - ext/pg_query/include/postmaster/bgworker_internals.h
335
340
  - ext/pg_query/include/postmaster/bgwriter.h
@@ -337,6 +342,7 @@ files:
337
342
  - ext/pg_query/include/postmaster/interrupt.h
338
343
  - ext/pg_query/include/postmaster/pgarch.h
339
344
  - ext/pg_query/include/postmaster/postmaster.h
345
+ - ext/pg_query/include/postmaster/startup.h
340
346
  - ext/pg_query/include/postmaster/syslogger.h
341
347
  - ext/pg_query/include/postmaster/walwriter.h
342
348
  - ext/pg_query/include/protobuf-c.h
@@ -366,6 +372,7 @@ files:
366
372
  - ext/pg_query/include/storage/dsm.h
367
373
  - ext/pg_query/include/storage/dsm_impl.h
368
374
  - ext/pg_query/include/storage/fd.h
375
+ - ext/pg_query/include/storage/fileset.h
369
376
  - ext/pg_query/include/storage/ipc.h
370
377
  - ext/pg_query/include/storage/item.h
371
378
  - ext/pg_query/include/storage/itemid.h
@@ -383,6 +390,7 @@ files:
383
390
  - ext/pg_query/include/storage/pmsignal.h
384
391
  - ext/pg_query/include/storage/predicate.h
385
392
  - ext/pg_query/include/storage/proc.h
393
+ - ext/pg_query/include/storage/procarray.h
386
394
  - ext/pg_query/include/storage/proclist_types.h
387
395
  - ext/pg_query/include/storage/procsignal.h
388
396
  - ext/pg_query/include/storage/relfilenode.h
@@ -410,6 +418,8 @@ files:
410
418
  - ext/pg_query/include/utils/acl.h
411
419
  - ext/pg_query/include/utils/aclchk_internal.h
412
420
  - ext/pg_query/include/utils/array.h
421
+ - ext/pg_query/include/utils/backend_progress.h
422
+ - ext/pg_query/include/utils/backend_status.h
413
423
  - ext/pg_query/include/utils/builtins.h
414
424
  - ext/pg_query/include/utils/bytea.h
415
425
  - ext/pg_query/include/utils/catcache.h
@@ -438,12 +448,14 @@ files:
438
448
  - ext/pg_query/include/utils/partcache.h
439
449
  - ext/pg_query/include/utils/pg_locale.h
440
450
  - ext/pg_query/include/utils/pg_lsn.h
451
+ - ext/pg_query/include/utils/pgstat_internal.h
441
452
  - ext/pg_query/include/utils/pidfile.h
442
453
  - ext/pg_query/include/utils/plancache.h
443
454
  - ext/pg_query/include/utils/portal.h
444
455
  - ext/pg_query/include/utils/probes.h
445
456
  - ext/pg_query/include/utils/ps_status.h
446
457
  - ext/pg_query/include/utils/queryenvironment.h
458
+ - ext/pg_query/include/utils/queryjumble.h
447
459
  - ext/pg_query/include/utils/regproc.h
448
460
  - ext/pg_query/include/utils/rel.h
449
461
  - ext/pg_query/include/utils/relcache.h
@@ -463,6 +475,7 @@ files:
463
475
  - ext/pg_query/include/utils/typcache.h
464
476
  - ext/pg_query/include/utils/tzparser.h
465
477
  - ext/pg_query/include/utils/varlena.h
478
+ - ext/pg_query/include/utils/wait_event.h
466
479
  - ext/pg_query/include/utils/xml.h
467
480
  - ext/pg_query/include/xxhash.h
468
481
  - ext/pg_query/include/xxhash/xxhash.h
@@ -484,14 +497,12 @@ files:
484
497
  - ext/pg_query/pg_query_readfuncs_protobuf.c
485
498
  - ext/pg_query/pg_query_ruby.c
486
499
  - ext/pg_query/pg_query_ruby.sym
487
- - ext/pg_query/pg_query_ruby_freebsd.sym
488
500
  - ext/pg_query/pg_query_scan.c
489
501
  - ext/pg_query/pg_query_split.c
490
502
  - ext/pg_query/protobuf-c.c
491
503
  - ext/pg_query/src_backend_catalog_namespace.c
492
504
  - ext/pg_query/src_backend_catalog_pg_proc.c
493
505
  - ext/pg_query/src_backend_commands_define.c
494
- - ext/pg_query/src_backend_libpq_pqcomm.c
495
506
  - ext/pg_query/src_backend_nodes_bitmapset.c
496
507
  - ext/pg_query/src_backend_nodes_copyfuncs.c
497
508
  - ext/pg_query/src_backend_nodes_equalfuncs.c
@@ -501,7 +512,6 @@ files:
501
512
  - ext/pg_query/src_backend_nodes_nodeFuncs.c
502
513
  - ext/pg_query/src_backend_nodes_value.c
503
514
  - ext/pg_query/src_backend_parser_gram.c
504
- - ext/pg_query/src_backend_parser_parse_expr.c
505
515
  - ext/pg_query/src_backend_parser_parser.c
506
516
  - ext/pg_query/src_backend_parser_scan.c
507
517
  - ext/pg_query/src_backend_parser_scansup.c
@@ -509,6 +519,7 @@ files:
509
519
  - ext/pg_query/src_backend_storage_ipc_ipc.c
510
520
  - ext/pg_query/src_backend_storage_lmgr_s_lock.c
511
521
  - ext/pg_query/src_backend_tcop_postgres.c
522
+ - ext/pg_query/src_backend_utils_activity_pgstat_database.c
512
523
  - ext/pg_query/src_backend_utils_adt_datum.c
513
524
  - ext/pg_query/src_backend_utils_adt_expandeddatum.c
514
525
  - ext/pg_query/src_backend_utils_adt_format_type.c
@@ -527,6 +538,7 @@ files:
527
538
  - ext/pg_query/src_common_keywords.c
528
539
  - ext/pg_query/src_common_kwlist_d.h
529
540
  - ext/pg_query/src_common_kwlookup.c
541
+ - ext/pg_query/src_common_pg_prng.c
530
542
  - ext/pg_query/src_common_psprintf.c
531
543
  - ext/pg_query/src_common_string.c
532
544
  - ext/pg_query/src_common_stringinfo.c
@@ -538,12 +550,10 @@ files:
538
550
  - ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h
539
551
  - ext/pg_query/src_pl_plpgsql_src_pl_scanner.c
540
552
  - ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h
541
- - ext/pg_query/src_port_erand48.c
542
553
  - ext/pg_query/src_port_pg_bitutils.c
543
554
  - ext/pg_query/src_port_pgsleep.c
544
555
  - ext/pg_query/src_port_pgstrcasecmp.c
545
556
  - ext/pg_query/src_port_qsort.c
546
- - ext/pg_query/src_port_random.c
547
557
  - ext/pg_query/src_port_snprintf.c
548
558
  - ext/pg_query/src_port_strerror.c
549
559
  - ext/pg_query/src_port_strnlen.c
@@ -566,7 +576,7 @@ homepage: https://github.com/pganalyze/pg_query
566
576
  licenses:
567
577
  - BSD-3-Clause
568
578
  metadata: {}
569
- post_install_message:
579
+ post_install_message:
570
580
  rdoc_options:
571
581
  - "--main"
572
582
  - README.md
@@ -586,7 +596,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
586
596
  version: '0'
587
597
  requirements: []
588
598
  rubygems_version: 3.1.6
589
- signing_key:
599
+ signing_key:
590
600
  specification_version: 4
591
601
  summary: PostgreSQL query parsing and normalization library
592
602
  test_files: []
@@ -1,64 +0,0 @@
1
- /*
2
- * xloginsert.h
3
- *
4
- * Functions for generating WAL records
5
- *
6
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
7
- * Portions Copyright (c) 1994, Regents of the University of California
8
- *
9
- * src/include/access/xloginsert.h
10
- */
11
- #ifndef XLOGINSERT_H
12
- #define XLOGINSERT_H
13
-
14
- #include "access/rmgr.h"
15
- #include "access/xlogdefs.h"
16
- #include "storage/block.h"
17
- #include "storage/buf.h"
18
- #include "storage/relfilenode.h"
19
- #include "utils/relcache.h"
20
-
21
- /*
22
- * The minimum size of the WAL construction working area. If you need to
23
- * register more than XLR_NORMAL_MAX_BLOCK_ID block references or have more
24
- * than XLR_NORMAL_RDATAS data chunks in a single WAL record, you must call
25
- * XLogEnsureRecordSpace() first to allocate more working memory.
26
- */
27
- #define XLR_NORMAL_MAX_BLOCK_ID 4
28
- #define XLR_NORMAL_RDATAS 20
29
-
30
- /* flags for XLogRegisterBuffer */
31
- #define REGBUF_FORCE_IMAGE 0x01 /* force a full-page image */
32
- #define REGBUF_NO_IMAGE 0x02 /* don't take a full-page image */
33
- #define REGBUF_WILL_INIT (0x04 | 0x02) /* page will be re-initialized at
34
- * replay (implies NO_IMAGE) */
35
- #define REGBUF_STANDARD 0x08 /* page follows "standard" page layout,
36
- * (data between pd_lower and pd_upper
37
- * will be skipped) */
38
- #define REGBUF_KEEP_DATA 0x10 /* include data even if a full-page image
39
- * is taken */
40
-
41
- /* prototypes for public functions in xloginsert.c: */
42
- extern void XLogBeginInsert(void);
43
- extern void XLogSetRecordFlags(uint8 flags);
44
- extern XLogRecPtr XLogInsert(RmgrId rmid, uint8 info);
45
- extern void XLogEnsureRecordSpace(int max_block_id, int ndatas);
46
- extern void XLogRegisterData(char *data, int len);
47
- extern void XLogRegisterBuffer(uint8 block_id, Buffer buffer, uint8 flags);
48
- extern void XLogRegisterBlock(uint8 block_id, RelFileNode *rnode,
49
- ForkNumber forknum, BlockNumber blknum, char *page,
50
- uint8 flags);
51
- extern void XLogRegisterBufData(uint8 block_id, char *data, int len);
52
- extern void XLogResetInsertion(void);
53
- extern bool XLogCheckBufferNeedsBackup(Buffer buffer);
54
-
55
- extern XLogRecPtr log_newpage(RelFileNode *rnode, ForkNumber forkNum,
56
- BlockNumber blk, char *page, bool page_std);
57
- extern XLogRecPtr log_newpage_buffer(Buffer buffer, bool page_std);
58
- extern void log_newpage_range(Relation rel, ForkNumber forkNum,
59
- BlockNumber startblk, BlockNumber endblk, bool page_std);
60
- extern XLogRecPtr XLogSaveBufferForHint(Buffer buffer, bool buffer_std);
61
-
62
- extern void InitXLogInsert(void);
63
-
64
- #endif /* XLOGINSERT_H */
@@ -1,62 +0,0 @@
1
- /*-------------------------------------------------------------------------
2
- *
3
- * bootstrap.h
4
- * include file for the bootstrapping code
5
- *
6
- *
7
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
8
- * Portions Copyright (c) 1994, Regents of the University of California
9
- *
10
- * src/include/bootstrap/bootstrap.h
11
- *
12
- *-------------------------------------------------------------------------
13
- */
14
- #ifndef BOOTSTRAP_H
15
- #define BOOTSTRAP_H
16
-
17
- #include "nodes/execnodes.h"
18
-
19
-
20
- /*
21
- * MAXATTR is the maximum number of attributes in a relation supported
22
- * at bootstrap time (i.e., the max possible in a system table).
23
- */
24
- #define MAXATTR 40
25
-
26
- #define BOOTCOL_NULL_AUTO 1
27
- #define BOOTCOL_NULL_FORCE_NULL 2
28
- #define BOOTCOL_NULL_FORCE_NOT_NULL 3
29
-
30
- extern Relation boot_reldesc;
31
- extern Form_pg_attribute attrtypes[MAXATTR];
32
- extern int numattr;
33
-
34
-
35
- extern void AuxiliaryProcessMain(int argc, char *argv[]) pg_attribute_noreturn();
36
-
37
- extern void closerel(char *name);
38
- extern void boot_openrel(char *name);
39
-
40
- extern void DefineAttr(char *name, char *type, int attnum, int nullness);
41
- extern void InsertOneTuple(void);
42
- extern void InsertOneValue(char *value, int i);
43
- extern void InsertOneNull(int i);
44
-
45
- extern void index_register(Oid heap, Oid ind, IndexInfo *indexInfo);
46
- extern void build_indices(void);
47
-
48
- extern void boot_get_type_io_data(Oid typid,
49
- int16 *typlen,
50
- bool *typbyval,
51
- char *typalign,
52
- char *typdelim,
53
- Oid *typioparam,
54
- Oid *typinput,
55
- Oid *typoutput);
56
-
57
- extern int boot_yyparse(void);
58
-
59
- extern int boot_yylex(void);
60
- extern void boot_yyerror(const char *str) pg_attribute_noreturn();
61
-
62
- #endif /* BOOTSTRAP_H */
@@ -1,54 +0,0 @@
1
- /*-------------------------------------------------------------------------
2
- *
3
- * parse_clause.h
4
- * handle clauses in parser
5
- *
6
- *
7
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
8
- * Portions Copyright (c) 1994, Regents of the University of California
9
- *
10
- * src/include/parser/parse_clause.h
11
- *
12
- *-------------------------------------------------------------------------
13
- */
14
- #ifndef PARSE_CLAUSE_H
15
- #define PARSE_CLAUSE_H
16
-
17
- #include "parser/parse_node.h"
18
-
19
- extern void transformFromClause(ParseState *pstate, List *frmList);
20
- extern int setTargetTable(ParseState *pstate, RangeVar *relation,
21
- bool inh, bool alsoSource, AclMode requiredPerms);
22
-
23
- extern Node *transformWhereClause(ParseState *pstate, Node *clause,
24
- ParseExprKind exprKind, const char *constructName);
25
- extern Node *transformLimitClause(ParseState *pstate, Node *clause,
26
- ParseExprKind exprKind, const char *constructName,
27
- LimitOption limitOption);
28
- extern List *transformGroupClause(ParseState *pstate, List *grouplist,
29
- List **groupingSets,
30
- List **targetlist, List *sortClause,
31
- ParseExprKind exprKind, bool useSQL99);
32
- extern List *transformSortClause(ParseState *pstate, List *orderlist,
33
- List **targetlist, ParseExprKind exprKind,
34
- bool useSQL99);
35
-
36
- extern List *transformWindowDefinitions(ParseState *pstate,
37
- List *windowdefs,
38
- List **targetlist);
39
-
40
- extern List *transformDistinctClause(ParseState *pstate,
41
- List **targetlist, List *sortClause, bool is_agg);
42
- extern List *transformDistinctOnClause(ParseState *pstate, List *distinctlist,
43
- List **targetlist, List *sortClause);
44
- extern void transformOnConflictArbiter(ParseState *pstate,
45
- OnConflictClause *onConflictClause,
46
- List **arbiterExpr, Node **arbiterWhere,
47
- Oid *constraint);
48
-
49
- extern List *addTargetToSortList(ParseState *pstate, TargetEntry *tle,
50
- List *sortlist, List *targetlist, SortBy *sortby);
51
- extern Index assignSortGroupRef(TargetEntry *tle, List *tlist);
52
- extern bool targetIsInSortList(TargetEntry *tle, Oid sortop, List *sortList);
53
-
54
- #endif /* PARSE_CLAUSE_H */
@@ -1,27 +0,0 @@
1
- /*-------------------------------------------------------------------------
2
- *
3
- * parse_collate.h
4
- * Routines for assigning collation information.
5
- *
6
- *
7
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
8
- * Portions Copyright (c) 1994, Regents of the University of California
9
- *
10
- * src/include/parser/parse_collate.h
11
- *
12
- *-------------------------------------------------------------------------
13
- */
14
- #ifndef PARSE_COLLATE_H
15
- #define PARSE_COLLATE_H
16
-
17
- #include "parser/parse_node.h"
18
-
19
- extern void assign_query_collations(ParseState *pstate, Query *query);
20
-
21
- extern void assign_list_collations(ParseState *pstate, List *exprs);
22
-
23
- extern void assign_expr_collations(ParseState *pstate, Node *expr);
24
-
25
- extern Oid select_common_collation(ParseState *pstate, List *exprs, bool none_ok);
26
-
27
- #endif /* PARSE_COLLATE_H */
@@ -1,46 +0,0 @@
1
- /*-------------------------------------------------------------------------
2
- *
3
- * parse_target.h
4
- * handle target lists
5
- *
6
- *
7
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
8
- * Portions Copyright (c) 1994, Regents of the University of California
9
- *
10
- * src/include/parser/parse_target.h
11
- *
12
- *-------------------------------------------------------------------------
13
- */
14
- #ifndef PARSE_TARGET_H
15
- #define PARSE_TARGET_H
16
-
17
- #include "parser/parse_node.h"
18
-
19
-
20
- extern List *transformTargetList(ParseState *pstate, List *targetlist,
21
- ParseExprKind exprKind);
22
- extern List *transformExpressionList(ParseState *pstate, List *exprlist,
23
- ParseExprKind exprKind, bool allowDefault);
24
- extern void resolveTargetListUnknowns(ParseState *pstate, List *targetlist);
25
- extern void markTargetListOrigins(ParseState *pstate, List *targetlist);
26
- extern TargetEntry *transformTargetEntry(ParseState *pstate,
27
- Node *node, Node *expr, ParseExprKind exprKind,
28
- char *colname, bool resjunk);
29
- extern Expr *transformAssignedExpr(ParseState *pstate, Expr *expr,
30
- ParseExprKind exprKind,
31
- const char *colname,
32
- int attrno,
33
- List *indirection,
34
- int location);
35
- extern void updateTargetListEntry(ParseState *pstate, TargetEntry *tle,
36
- char *colname, int attrno,
37
- List *indirection,
38
- int location);
39
- extern List *checkInsertTargets(ParseState *pstate, List *cols,
40
- List **attrnos);
41
- extern TupleDesc expandRecordVariable(ParseState *pstate, Var *var,
42
- int levelsup);
43
- extern char *FigureColname(Node *node);
44
- extern char *FigureIndexColname(Node *node);
45
-
46
- #endif /* PARSE_TARGET_H */
@@ -1,2 +0,0 @@
1
- _Init_pg_query
2
- Init_pg_query