pg_query 5.1.0 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (479) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/ext/pg_query/include/pg_query.h +4 -3
  6. data/ext/pg_query/include/pg_query_enum_defs.c +424 -154
  7. data/ext/pg_query/include/pg_query_fingerprint_conds.c +68 -4
  8. data/ext/pg_query/include/pg_query_fingerprint_defs.c +2952 -1845
  9. data/ext/pg_query/include/pg_query_outfuncs_conds.c +51 -3
  10. data/ext/pg_query/include/pg_query_outfuncs_defs.c +210 -23
  11. data/ext/pg_query/include/pg_query_readfuncs_conds.c +17 -1
  12. data/ext/pg_query/include/pg_query_readfuncs_defs.c +271 -52
  13. data/ext/pg_query/include/postgres/access/amapi.h +10 -3
  14. data/ext/pg_query/include/postgres/access/attmap.h +1 -1
  15. data/ext/pg_query/include/postgres/access/attnum.h +1 -1
  16. data/ext/pg_query/include/postgres/access/brin_internal.h +116 -0
  17. data/ext/pg_query/include/postgres/access/brin_tuple.h +112 -0
  18. data/ext/pg_query/include/postgres/access/clog.h +2 -3
  19. data/ext/pg_query/include/postgres/access/commit_ts.h +2 -3
  20. data/ext/pg_query/include/postgres/access/detoast.h +1 -1
  21. data/ext/pg_query/include/postgres/access/genam.h +8 -4
  22. data/ext/pg_query/include/postgres/access/gin.h +1 -1
  23. data/ext/pg_query/include/postgres/access/htup.h +1 -1
  24. data/ext/pg_query/include/postgres/access/htup_details.h +11 -11
  25. data/ext/pg_query/include/postgres/access/itup.h +3 -3
  26. data/ext/pg_query/include/postgres/access/parallel.h +1 -2
  27. data/ext/pg_query/include/postgres/access/printtup.h +1 -1
  28. data/ext/pg_query/include/postgres/access/relation.h +1 -1
  29. data/ext/pg_query/include/postgres/access/relscan.h +1 -1
  30. data/ext/pg_query/include/postgres/access/rmgrlist.h +1 -1
  31. data/ext/pg_query/include/postgres/access/sdir.h +1 -1
  32. data/ext/pg_query/include/postgres/access/skey.h +1 -1
  33. data/ext/pg_query/include/postgres/access/slru.h +221 -0
  34. data/ext/pg_query/include/postgres/access/stratnum.h +1 -1
  35. data/ext/pg_query/include/postgres/access/sysattr.h +1 -1
  36. data/ext/pg_query/include/postgres/access/table.h +1 -1
  37. data/ext/pg_query/include/postgres/access/tableam.h +33 -24
  38. data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
  39. data/ext/pg_query/include/postgres/access/toast_compression.h +2 -2
  40. data/ext/pg_query/include/postgres/access/transam.h +7 -7
  41. data/ext/pg_query/include/postgres/access/tsmapi.h +1 -1
  42. data/ext/pg_query/include/postgres/access/tupconvert.h +1 -1
  43. data/ext/pg_query/include/postgres/access/tupdesc.h +5 -5
  44. data/ext/pg_query/include/postgres/access/tupmacs.h +1 -1
  45. data/ext/pg_query/include/postgres/access/twophase.h +2 -2
  46. data/ext/pg_query/include/postgres/access/xact.h +5 -5
  47. data/ext/pg_query/include/postgres/access/xlog.h +20 -12
  48. data/ext/pg_query/include/postgres/access/xlog_internal.h +4 -3
  49. data/ext/pg_query/include/postgres/access/xlogbackup.h +3 -1
  50. data/ext/pg_query/include/postgres/access/xlogdefs.h +5 -5
  51. data/ext/pg_query/include/postgres/access/xlogprefetcher.h +2 -2
  52. data/ext/pg_query/include/postgres/access/xlogreader.h +2 -2
  53. data/ext/pg_query/include/postgres/access/xlogrecord.h +3 -3
  54. data/ext/pg_query/include/postgres/access/xlogrecovery.h +4 -4
  55. data/ext/pg_query/include/postgres/archive/archive_module.h +9 -1
  56. data/ext/pg_query/include/postgres/c.h +31 -36
  57. data/ext/pg_query/include/postgres/catalog/catalog.h +3 -1
  58. data/ext/pg_query/include/postgres/catalog/catversion.h +2 -2
  59. data/ext/pg_query/include/postgres/catalog/dependency.h +17 -59
  60. data/ext/pg_query/include/postgres/catalog/genbki.h +12 -6
  61. data/ext/pg_query/include/postgres/catalog/index.h +22 -18
  62. data/ext/pg_query/include/postgres/catalog/indexing.h +1 -1
  63. data/ext/pg_query/include/postgres/catalog/namespace.h +18 -19
  64. data/ext/pg_query/include/postgres/catalog/objectaccess.h +2 -2
  65. data/ext/pg_query/include/postgres/catalog/objectaddress.h +1 -1
  66. data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +4 -2
  67. data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +1 -1
  68. data/ext/pg_query/include/postgres/catalog/pg_am.h +6 -3
  69. data/ext/pg_query/include/postgres/catalog/pg_am_d.h +1 -1
  70. data/ext/pg_query/include/postgres/catalog/pg_attribute.h +31 -14
  71. data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +3 -3
  72. data/ext/pg_query/include/postgres/catalog/pg_authid.h +6 -3
  73. data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +2 -1
  74. data/ext/pg_query/include/postgres/catalog/pg_class.h +10 -5
  75. data/ext/pg_query/include/postgres/catalog/pg_class_d.h +4 -2
  76. data/ext/pg_query/include/postgres/catalog/pg_collation.h +11 -5
  77. data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +5 -2
  78. data/ext/pg_query/include/postgres/catalog/pg_constraint.h +15 -10
  79. data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +2 -1
  80. data/ext/pg_query/include/postgres/catalog/pg_control.h +5 -3
  81. data/ext/pg_query/include/postgres/catalog/pg_conversion.h +8 -4
  82. data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +1 -1
  83. data/ext/pg_query/include/postgres/catalog/pg_database.h +9 -4
  84. data/ext/pg_query/include/postgres/catalog/pg_database_d.h +13 -12
  85. data/ext/pg_query/include/postgres/catalog/pg_depend.h +3 -3
  86. data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +1 -1
  87. data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +6 -3
  88. data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +1 -1
  89. data/ext/pg_query/include/postgres/catalog/pg_index.h +5 -3
  90. data/ext/pg_query/include/postgres/catalog/pg_index_d.h +1 -1
  91. data/ext/pg_query/include/postgres/catalog/pg_language.h +6 -3
  92. data/ext/pg_query/include/postgres/catalog/pg_language_d.h +1 -1
  93. data/ext/pg_query/include/postgres/catalog/pg_namespace.h +6 -3
  94. data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +1 -1
  95. data/ext/pg_query/include/postgres/catalog/pg_opclass.h +6 -3
  96. data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +1 -1
  97. data/ext/pg_query/include/postgres/catalog/pg_operator.h +20 -3
  98. data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +1 -1
  99. data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +6 -3
  100. data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +1 -1
  101. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +4 -2
  102. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +1 -1
  103. data/ext/pg_query/include/postgres/catalog/pg_proc.h +6 -3
  104. data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +1 -1
  105. data/ext/pg_query/include/postgres/catalog/pg_publication.h +6 -3
  106. data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +1 -1
  107. data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +6 -3
  108. data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +1 -1
  109. data/ext/pg_query/include/postgres/catalog/pg_statistic.h +10 -4
  110. data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +7 -3
  111. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +10 -7
  112. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +3 -3
  113. data/ext/pg_query/include/postgres/catalog/pg_transform.h +6 -3
  114. data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +1 -1
  115. data/ext/pg_query/include/postgres/catalog/pg_trigger.h +4 -4
  116. data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +1 -1
  117. data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +6 -3
  118. data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +1 -1
  119. data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +6 -3
  120. data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +1 -1
  121. data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +6 -3
  122. data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +1 -1
  123. data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +6 -3
  124. data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +1 -1
  125. data/ext/pg_query/include/postgres/catalog/pg_type.h +6 -3
  126. data/ext/pg_query/include/postgres/catalog/pg_type_d.h +1 -1
  127. data/ext/pg_query/include/postgres/catalog/storage.h +1 -1
  128. data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
  129. data/ext/pg_query/include/postgres/commands/async.h +2 -6
  130. data/ext/pg_query/include/postgres/commands/dbcommands.h +1 -1
  131. data/ext/pg_query/include/postgres/commands/defrem.h +6 -6
  132. data/ext/pg_query/include/postgres/commands/event_trigger.h +5 -2
  133. data/ext/pg_query/include/postgres/commands/explain.h +19 -3
  134. data/ext/pg_query/include/postgres/commands/prepare.h +1 -1
  135. data/ext/pg_query/include/postgres/commands/tablespace.h +1 -1
  136. data/ext/pg_query/include/postgres/commands/trigger.h +1 -1
  137. data/ext/pg_query/include/postgres/commands/vacuum.h +28 -26
  138. data/ext/pg_query/include/postgres/common/cryptohash.h +2 -2
  139. data/ext/pg_query/include/postgres/common/file_perm.h +1 -1
  140. data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
  141. data/ext/pg_query/include/postgres/common/hashfn.h +16 -1
  142. data/ext/pg_query/include/postgres/common/hashfn_unstable.h +453 -0
  143. data/ext/pg_query/include/postgres/common/int.h +79 -4
  144. data/ext/pg_query/include/postgres/common/keywords.h +1 -1
  145. data/ext/pg_query/include/postgres/common/kwlookup.h +1 -1
  146. data/ext/pg_query/include/postgres/common/pg_prng.h +2 -1
  147. data/ext/pg_query/include/postgres/common/relpath.h +4 -4
  148. data/ext/pg_query/include/postgres/common/scram-common.h +1 -1
  149. data/ext/pg_query/include/postgres/common/sha2.h +1 -1
  150. data/ext/pg_query/include/postgres/common/string.h +1 -1
  151. data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +2 -3
  152. data/ext/pg_query/include/postgres/copyfuncs.funcs.c +278 -30
  153. data/ext/pg_query/include/postgres/copyfuncs.switch.c +55 -4
  154. data/ext/pg_query/include/postgres/datatype/timestamp.h +28 -2
  155. data/ext/pg_query/include/postgres/equalfuncs.funcs.c +239 -26
  156. data/ext/pg_query/include/postgres/equalfuncs.switch.c +55 -4
  157. data/ext/pg_query/include/postgres/executor/execdesc.h +1 -1
  158. data/ext/pg_query/include/postgres/executor/executor.h +6 -5
  159. data/ext/pg_query/include/postgres/executor/functions.h +2 -1
  160. data/ext/pg_query/include/postgres/executor/instrument.h +5 -3
  161. data/ext/pg_query/include/postgres/executor/spi.h +2 -8
  162. data/ext/pg_query/include/postgres/executor/tablefunc.h +1 -1
  163. data/ext/pg_query/include/postgres/executor/tuptable.h +31 -2
  164. data/ext/pg_query/include/postgres/fmgr.h +2 -2
  165. data/ext/pg_query/include/postgres/foreign/fdwapi.h +1 -1
  166. data/ext/pg_query/include/postgres/funcapi.h +2 -2
  167. data/ext/pg_query/include/postgres/gram.h +871 -830
  168. data/ext/pg_query/include/postgres/gramparse.h +1 -1
  169. data/ext/pg_query/include/postgres/jit/jit.h +4 -3
  170. data/ext/pg_query/include/postgres/kwlist_d.h +511 -466
  171. data/ext/pg_query/include/postgres/lib/dshash.h +25 -10
  172. data/ext/pg_query/include/postgres/lib/ilist.h +1 -1
  173. data/ext/pg_query/include/postgres/lib/pairingheap.h +1 -1
  174. data/ext/pg_query/include/postgres/lib/simplehash.h +40 -18
  175. data/ext/pg_query/include/postgres/lib/sort_template.h +14 -1
  176. data/ext/pg_query/include/postgres/lib/stringinfo.h +93 -11
  177. data/ext/pg_query/include/postgres/libpq/auth.h +1 -1
  178. data/ext/pg_query/include/postgres/libpq/crypt.h +2 -2
  179. data/ext/pg_query/include/postgres/libpq/hba.h +4 -4
  180. data/ext/pg_query/include/postgres/libpq/libpq-be.h +29 -25
  181. data/ext/pg_query/include/postgres/libpq/libpq.h +6 -7
  182. data/ext/pg_query/include/postgres/libpq/pqcomm.h +26 -20
  183. data/ext/pg_query/include/postgres/libpq/pqformat.h +2 -3
  184. data/ext/pg_query/include/postgres/libpq/pqsignal.h +1 -1
  185. data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
  186. data/ext/pg_query/include/postgres/libpq/sasl.h +1 -1
  187. data/ext/pg_query/include/postgres/libpq/scram.h +1 -1
  188. data/ext/pg_query/include/postgres/mb/pg_wchar.h +102 -82
  189. data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +1 -1
  190. data/ext/pg_query/include/postgres/miscadmin.h +64 -52
  191. data/ext/pg_query/include/postgres/nodes/bitmapset.h +17 -3
  192. data/ext/pg_query/include/postgres/nodes/execnodes.h +109 -25
  193. data/ext/pg_query/include/postgres/nodes/extensible.h +1 -1
  194. data/ext/pg_query/include/postgres/nodes/lockoptions.h +4 -4
  195. data/ext/pg_query/include/postgres/nodes/makefuncs.h +8 -2
  196. data/ext/pg_query/include/postgres/nodes/memnodes.h +43 -4
  197. data/ext/pg_query/include/postgres/nodes/miscnodes.h +1 -1
  198. data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +1 -1
  199. data/ext/pg_query/include/postgres/nodes/nodes.h +30 -41
  200. data/ext/pg_query/include/postgres/nodes/nodetags.h +464 -444
  201. data/ext/pg_query/include/postgres/nodes/params.h +1 -1
  202. data/ext/pg_query/include/postgres/nodes/parsenodes.h +358 -175
  203. data/ext/pg_query/include/postgres/nodes/pathnodes.h +60 -9
  204. data/ext/pg_query/include/postgres/nodes/pg_list.h +62 -11
  205. data/ext/pg_query/include/postgres/nodes/plannodes.h +11 -10
  206. data/ext/pg_query/include/postgres/nodes/primnodes.h +344 -50
  207. data/ext/pg_query/include/postgres/nodes/print.h +1 -1
  208. data/ext/pg_query/include/postgres/nodes/queryjumble.h +2 -2
  209. data/ext/pg_query/include/postgres/nodes/replnodes.h +23 -2
  210. data/ext/pg_query/include/postgres/nodes/supportnodes.h +1 -1
  211. data/ext/pg_query/include/postgres/nodes/tidbitmap.h +1 -1
  212. data/ext/pg_query/include/postgres/nodes/value.h +1 -1
  213. data/ext/pg_query/include/postgres/optimizer/cost.h +5 -4
  214. data/ext/pg_query/include/postgres/optimizer/geqo.h +1 -1
  215. data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +1 -1
  216. data/ext/pg_query/include/postgres/optimizer/optimizer.h +5 -2
  217. data/ext/pg_query/include/postgres/optimizer/paths.h +13 -8
  218. data/ext/pg_query/include/postgres/optimizer/planmain.h +7 -1
  219. data/ext/pg_query/include/postgres/parser/analyze.h +3 -1
  220. data/ext/pg_query/include/postgres/parser/kwlist.h +22 -2
  221. data/ext/pg_query/include/postgres/parser/parse_agg.h +1 -1
  222. data/ext/pg_query/include/postgres/parser/parse_coerce.h +2 -2
  223. data/ext/pg_query/include/postgres/parser/parse_expr.h +1 -1
  224. data/ext/pg_query/include/postgres/parser/parse_func.h +2 -2
  225. data/ext/pg_query/include/postgres/parser/parse_node.h +3 -2
  226. data/ext/pg_query/include/postgres/parser/parse_oper.h +4 -1
  227. data/ext/pg_query/include/postgres/parser/parse_relation.h +1 -1
  228. data/ext/pg_query/include/postgres/parser/parse_type.h +2 -2
  229. data/ext/pg_query/include/postgres/parser/parser.h +3 -3
  230. data/ext/pg_query/include/postgres/parser/parsetree.h +1 -1
  231. data/ext/pg_query/include/postgres/parser/scanner.h +1 -1
  232. data/ext/pg_query/include/postgres/parser/scansup.h +1 -1
  233. data/ext/pg_query/include/postgres/partitioning/partdefs.h +1 -1
  234. data/ext/pg_query/include/postgres/pg_config.h +34 -34
  235. data/ext/pg_query/include/postgres/pg_config_manual.h +21 -8
  236. data/ext/pg_query/include/postgres/pg_getopt.h +1 -1
  237. data/ext/pg_query/include/postgres/pg_trace.h +1 -1
  238. data/ext/pg_query/include/postgres/pgstat.h +13 -11
  239. data/ext/pg_query/include/postgres/pgtime.h +1 -1
  240. data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +1 -1
  241. data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +1 -1
  242. data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +1 -1
  243. data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +1 -1
  244. data/ext/pg_query/include/postgres/plerrcodes.h +4 -4
  245. data/ext/pg_query/include/postgres/plpgsql.h +15 -13
  246. data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +1 -1
  247. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +1 -1
  248. data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +3 -1
  249. data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +3 -1
  250. data/ext/pg_query/include/postgres/port/atomics/fallback.h +1 -1
  251. data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +38 -1
  252. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +19 -1
  253. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +16 -1
  254. data/ext/pg_query/include/postgres/port/atomics/generic.h +38 -2
  255. data/ext/pg_query/include/postgres/port/atomics.h +93 -6
  256. data/ext/pg_query/include/postgres/port/pg_bitutils.h +91 -9
  257. data/ext/pg_query/include/postgres/port/pg_bswap.h +1 -1
  258. data/ext/pg_query/include/postgres/port/pg_crc32c.h +10 -1
  259. data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
  260. data/ext/pg_query/include/postgres/port/simd.h +48 -1
  261. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +8 -0
  262. data/ext/pg_query/include/postgres/port/win32_port.h +1 -11
  263. data/ext/pg_query/include/postgres/port.h +7 -3
  264. data/ext/pg_query/include/postgres/portability/instr_time.h +1 -1
  265. data/ext/pg_query/include/postgres/postgres.h +1 -1
  266. data/ext/pg_query/include/postgres/postmaster/autovacuum.h +5 -16
  267. data/ext/pg_query/include/postgres/postmaster/bgworker.h +8 -6
  268. data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +3 -7
  269. data/ext/pg_query/include/postgres/postmaster/bgwriter.h +3 -3
  270. data/ext/pg_query/include/postgres/postmaster/interrupt.h +1 -1
  271. data/ext/pg_query/include/postgres/postmaster/pgarch.h +2 -2
  272. data/ext/pg_query/include/postgres/postmaster/postmaster.h +25 -5
  273. data/ext/pg_query/include/postgres/postmaster/startup.h +2 -2
  274. data/ext/pg_query/include/postgres/postmaster/syslogger.h +2 -4
  275. data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
  276. data/ext/pg_query/include/postgres/postmaster/walwriter.h +2 -2
  277. data/ext/pg_query/include/postgres/regex/regex.h +92 -9
  278. data/ext/pg_query/include/postgres/replication/logicallauncher.h +1 -1
  279. data/ext/pg_query/include/postgres/replication/logicalproto.h +2 -2
  280. data/ext/pg_query/include/postgres/replication/logicalworker.h +2 -1
  281. data/ext/pg_query/include/postgres/replication/origin.h +1 -1
  282. data/ext/pg_query/include/postgres/replication/reorderbuffer.h +18 -28
  283. data/ext/pg_query/include/postgres/replication/slot.h +41 -5
  284. data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
  285. data/ext/pg_query/include/postgres/replication/syncrep.h +1 -1
  286. data/ext/pg_query/include/postgres/replication/walreceiver.h +37 -11
  287. data/ext/pg_query/include/postgres/replication/walsender.h +5 -3
  288. data/ext/pg_query/include/postgres/rewrite/prs2lock.h +1 -1
  289. data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +7 -1
  290. data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +2 -2
  291. data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +1 -1
  292. data/ext/pg_query/include/postgres/storage/block.h +1 -1
  293. data/ext/pg_query/include/postgres/storage/buf.h +1 -1
  294. data/ext/pg_query/include/postgres/storage/bufmgr.h +59 -41
  295. data/ext/pg_query/include/postgres/storage/bufpage.h +1 -1
  296. data/ext/pg_query/include/postgres/storage/condition_variable.h +1 -1
  297. data/ext/pg_query/include/postgres/storage/dsm.h +1 -1
  298. data/ext/pg_query/include/postgres/storage/dsm_impl.h +2 -2
  299. data/ext/pg_query/include/postgres/storage/fd.h +30 -13
  300. data/ext/pg_query/include/postgres/storage/fileset.h +1 -1
  301. data/ext/pg_query/include/postgres/storage/ipc.h +4 -1
  302. data/ext/pg_query/include/postgres/storage/item.h +1 -1
  303. data/ext/pg_query/include/postgres/storage/itemid.h +1 -1
  304. data/ext/pg_query/include/postgres/storage/itemptr.h +1 -1
  305. data/ext/pg_query/include/postgres/storage/large_object.h +1 -1
  306. data/ext/pg_query/include/postgres/storage/latch.h +4 -2
  307. data/ext/pg_query/include/postgres/storage/lmgr.h +8 -2
  308. data/ext/pg_query/include/postgres/storage/lock.h +19 -19
  309. data/ext/pg_query/include/postgres/storage/lockdefs.h +1 -1
  310. data/ext/pg_query/include/postgres/storage/lwlock.h +17 -9
  311. data/ext/pg_query/include/postgres/storage/lwlocknames.h +7 -10
  312. data/ext/pg_query/include/postgres/storage/off.h +1 -1
  313. data/ext/pg_query/include/postgres/storage/pg_sema.h +1 -1
  314. data/ext/pg_query/include/postgres/storage/pg_shmem.h +5 -4
  315. data/ext/pg_query/include/postgres/storage/pmsignal.h +2 -2
  316. data/ext/pg_query/include/postgres/storage/predicate.h +1 -5
  317. data/ext/pg_query/include/postgres/storage/proc.h +48 -23
  318. data/ext/pg_query/include/postgres/storage/procarray.h +5 -1
  319. data/ext/pg_query/include/postgres/storage/proclist_types.h +11 -9
  320. data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
  321. data/ext/pg_query/include/postgres/storage/procsignal.h +8 -6
  322. data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
  323. data/ext/pg_query/include/postgres/storage/relfilelocator.h +16 -15
  324. data/ext/pg_query/include/postgres/storage/s_lock.h +7 -27
  325. data/ext/pg_query/include/postgres/storage/sharedfileset.h +1 -1
  326. data/ext/pg_query/include/postgres/storage/shm_mq.h +2 -2
  327. data/ext/pg_query/include/postgres/storage/shm_toc.h +1 -1
  328. data/ext/pg_query/include/postgres/storage/shmem.h +1 -1
  329. data/ext/pg_query/include/postgres/storage/sinval.h +3 -3
  330. data/ext/pg_query/include/postgres/storage/smgr.h +41 -27
  331. data/ext/pg_query/include/postgres/storage/spin.h +1 -1
  332. data/ext/pg_query/include/postgres/storage/standby.h +13 -3
  333. data/ext/pg_query/include/postgres/storage/standbydefs.h +2 -2
  334. data/ext/pg_query/include/postgres/storage/sync.h +4 -4
  335. data/ext/pg_query/include/postgres/tcop/cmdtag.h +1 -2
  336. data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +3 -2
  337. data/ext/pg_query/include/postgres/tcop/deparse_utility.h +2 -2
  338. data/ext/pg_query/include/postgres/tcop/dest.h +3 -2
  339. data/ext/pg_query/include/postgres/tcop/fastpath.h +1 -1
  340. data/ext/pg_query/include/postgres/tcop/pquery.h +1 -1
  341. data/ext/pg_query/include/postgres/tcop/tcopprot.h +9 -5
  342. data/ext/pg_query/include/postgres/tcop/utility.h +2 -2
  343. data/ext/pg_query/include/postgres/tsearch/ts_cache.h +1 -1
  344. data/ext/pg_query/include/postgres/utils/acl.h +19 -7
  345. data/ext/pg_query/include/postgres/utils/aclchk_internal.h +1 -1
  346. data/ext/pg_query/include/postgres/utils/array.h +1 -2
  347. data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
  348. data/ext/pg_query/include/postgres/utils/backend_progress.h +3 -2
  349. data/ext/pg_query/include/postgres/utils/backend_status.h +8 -10
  350. data/ext/pg_query/include/postgres/utils/builtins.h +4 -1
  351. data/ext/pg_query/include/postgres/utils/bytea.h +2 -2
  352. data/ext/pg_query/include/postgres/utils/catcache.h +5 -6
  353. data/ext/pg_query/include/postgres/utils/date.h +1 -1
  354. data/ext/pg_query/include/postgres/utils/datetime.h +4 -1
  355. data/ext/pg_query/include/postgres/utils/datum.h +1 -1
  356. data/ext/pg_query/include/postgres/utils/dsa.h +44 -5
  357. data/ext/pg_query/include/postgres/utils/elog.h +3 -8
  358. data/ext/pg_query/include/postgres/utils/errcodes.h +1 -3
  359. data/ext/pg_query/include/postgres/utils/expandeddatum.h +1 -1
  360. data/ext/pg_query/include/postgres/utils/expandedrecord.h +1 -1
  361. data/ext/pg_query/include/postgres/utils/float.h +1 -1
  362. data/ext/pg_query/include/postgres/utils/fmgroids.h +49 -16
  363. data/ext/pg_query/include/postgres/utils/fmgrprotos.h +47 -14
  364. data/ext/pg_query/include/postgres/utils/fmgrtab.h +1 -1
  365. data/ext/pg_query/include/postgres/utils/guc.h +20 -6
  366. data/ext/pg_query/include/postgres/utils/guc_hooks.h +23 -2
  367. data/ext/pg_query/include/postgres/utils/guc_tables.h +6 -5
  368. data/ext/pg_query/include/postgres/utils/hsearch.h +2 -2
  369. data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
  370. data/ext/pg_query/include/postgres/utils/inval.h +1 -1
  371. data/ext/pg_query/include/postgres/utils/logtape.h +5 -5
  372. data/ext/pg_query/include/postgres/utils/lsyscache.h +6 -3
  373. data/ext/pg_query/include/postgres/utils/memdebug.h +1 -1
  374. data/ext/pg_query/include/postgres/utils/memutils.h +12 -5
  375. data/ext/pg_query/include/postgres/utils/memutils_internal.h +53 -13
  376. data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +25 -9
  377. data/ext/pg_query/include/postgres/utils/numeric.h +6 -1
  378. data/ext/pg_query/include/postgres/utils/palloc.h +1 -15
  379. data/ext/pg_query/include/postgres/utils/partcache.h +1 -1
  380. data/ext/pg_query/include/postgres/utils/pg_locale.h +8 -7
  381. data/ext/pg_query/include/postgres/utils/pgstat_internal.h +11 -17
  382. data/ext/pg_query/include/postgres/utils/plancache.h +5 -3
  383. data/ext/pg_query/include/postgres/utils/portal.h +9 -9
  384. data/ext/pg_query/include/postgres/utils/queryenvironment.h +2 -2
  385. data/ext/pg_query/include/postgres/utils/regproc.h +1 -1
  386. data/ext/pg_query/include/postgres/utils/rel.h +14 -15
  387. data/ext/pg_query/include/postgres/utils/relcache.h +2 -5
  388. data/ext/pg_query/include/postgres/utils/reltrigger.h +1 -1
  389. data/ext/pg_query/include/postgres/utils/resowner.h +90 -9
  390. data/ext/pg_query/include/postgres/utils/ruleutils.h +1 -1
  391. data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +1 -1
  392. data/ext/pg_query/include/postgres/utils/snapmgr.h +1 -52
  393. data/ext/pg_query/include/postgres/utils/snapshot.h +2 -2
  394. data/ext/pg_query/include/postgres/utils/sortsupport.h +1 -1
  395. data/ext/pg_query/include/postgres/utils/syscache.h +2 -98
  396. data/ext/pg_query/include/postgres/utils/timeout.h +3 -2
  397. data/ext/pg_query/include/postgres/utils/timestamp.h +1 -1
  398. data/ext/pg_query/include/postgres/utils/tuplesort.h +36 -9
  399. data/ext/pg_query/include/postgres/utils/tuplestore.h +2 -5
  400. data/ext/pg_query/include/postgres/utils/typcache.h +2 -1
  401. data/ext/pg_query/include/postgres/utils/varlena.h +1 -1
  402. data/ext/pg_query/include/postgres/utils/wait_event.h +28 -214
  403. data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
  404. data/ext/pg_query/include/postgres/utils/xml.h +4 -4
  405. data/ext/pg_query/include/postgres/varatt.h +1 -1
  406. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1546 -792
  407. data/ext/pg_query/include/protobuf/pg_query.pb.h +58365 -46595
  408. data/ext/pg_query/pg_query.pb-c.c +6598 -3739
  409. data/ext/pg_query/pg_query_normalize.c +42 -1
  410. data/ext/pg_query/pg_query_outfuncs_json.c +3 -1
  411. data/ext/pg_query/pg_query_parse_plpgsql.c +12 -13
  412. data/ext/pg_query/pg_query_readfuncs_protobuf.c +2 -2
  413. data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -1
  414. data/ext/pg_query/pg_query_scan.c +1 -1
  415. data/ext/pg_query/postgres_deparse.c +409 -21
  416. data/ext/pg_query/src_backend_catalog_namespace.c +241 -66
  417. data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -3
  418. data/ext/pg_query/src_backend_commands_define.c +2 -3
  419. data/ext/pg_query/src_backend_nodes_bitmapset.c +137 -94
  420. data/ext/pg_query/src_backend_nodes_copyfuncs.c +1 -1
  421. data/ext/pg_query/src_backend_nodes_equalfuncs.c +1 -1
  422. data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
  423. data/ext/pg_query/src_backend_nodes_list.c +3 -7
  424. data/ext/pg_query/src_backend_nodes_makefuncs.c +59 -20
  425. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +109 -2
  426. data/ext/pg_query/src_backend_nodes_value.c +1 -1
  427. data/ext/pg_query/src_backend_parser_gram.c +34490 -32135
  428. data/ext/pg_query/src_backend_parser_parser.c +8 -8
  429. data/ext/pg_query/src_backend_parser_scan.c +5637 -3028
  430. data/ext/pg_query/src_backend_parser_scansup.c +2 -1
  431. data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
  432. data/ext/pg_query/src_backend_tcop_postgres.c +34 -10
  433. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +2 -2
  434. data/ext/pg_query/src_backend_utils_adt_datum.c +8 -6
  435. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  436. data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
  437. data/ext/pg_query/src_backend_utils_adt_numutils.c +4 -5
  438. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +101 -28
  439. data/ext/pg_query/src_backend_utils_error_assert.c +1 -1
  440. data/ext/pg_query/src_backend_utils_error_elog.c +47 -42
  441. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +4 -2
  442. data/ext/pg_query/src_backend_utils_init_globals.c +15 -3
  443. data/ext/pg_query/src_backend_utils_mb_mbutils.c +11 -18
  444. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +16 -6
  445. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +8 -5
  446. data/ext/pg_query/src_backend_utils_mmgr_aset.c +308 -238
  447. data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
  448. data/ext/pg_query/src_backend_utils_mmgr_generation.c +273 -197
  449. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +270 -215
  450. data/ext/pg_query/src_backend_utils_mmgr_slab.c +154 -96
  451. data/ext/pg_query/src_common_encnames.c +43 -44
  452. data/ext/pg_query/src_common_hashfn.c +1 -1
  453. data/ext/pg_query/src_common_keywords.c +1 -1
  454. data/ext/pg_query/src_common_kwlist_d.h +511 -466
  455. data/ext/pg_query/src_common_kwlookup.c +1 -1
  456. data/ext/pg_query/src_common_psprintf.c +3 -3
  457. data/ext/pg_query/src_common_stringinfo.c +18 -1
  458. data/ext/pg_query/src_common_wchar.c +45 -108
  459. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +99 -5
  460. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -1
  461. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +242 -143
  462. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  463. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
  464. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +19 -1
  465. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +1 -1
  466. data/ext/pg_query/src_port_pg_bitutils.c +173 -28
  467. data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
  468. data/ext/pg_query/src_port_snprintf.c +1 -1
  469. data/ext/pg_query/src_port_strerror.c +1 -3
  470. data/ext/pg_query/src_port_strlcpy.c +1 -1
  471. data/lib/pg_query/param_refs.rb +1 -1
  472. data/lib/pg_query/pg_query_pb.rb +26 -3
  473. data/lib/pg_query/treewalker.rb +38 -11
  474. data/lib/pg_query/truncate.rb +1 -1
  475. data/lib/pg_query/version.rb +1 -1
  476. metadata +25 -11
  477. data/ext/pg_query/include/postgres/storage/backendid.h +0 -37
  478. data/ext/pg_query/include/postgres/storage/sinvaladt.h +0 -45
  479. data/ext/pg_query/src_backend_nodes_nodes.c +0 -38
@@ -3,7 +3,7 @@
3
3
  * copyfuncs.funcs.c
4
4
  * Generated node infrastructure code
5
5
  *
6
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
7
7
  * Portions Copyright (c) 1994, Regents of the University of California
8
8
  *
9
9
  * NOTES
@@ -70,6 +70,7 @@ _copyTableFunc(const TableFunc *from)
70
70
  {
71
71
  TableFunc *newnode = makeNode(TableFunc);
72
72
 
73
+ COPY_SCALAR_FIELD(functype);
73
74
  COPY_NODE_FIELD(ns_uris);
74
75
  COPY_NODE_FIELD(ns_names);
75
76
  COPY_NODE_FIELD(docexpr);
@@ -80,7 +81,10 @@ _copyTableFunc(const TableFunc *from)
80
81
  COPY_NODE_FIELD(colcollations);
81
82
  COPY_NODE_FIELD(colexprs);
82
83
  COPY_NODE_FIELD(coldefexprs);
84
+ COPY_NODE_FIELD(colvalexprs);
85
+ COPY_NODE_FIELD(passingvalexprs);
83
86
  COPY_BITMAPSET_FIELD(notnulls);
87
+ COPY_NODE_FIELD(plan);
84
88
  COPY_SCALAR_FIELD(ordinalitycol);
85
89
  COPY_LOCATION_FIELD(location);
86
90
 
@@ -192,6 +196,7 @@ _copyWindowFunc(const WindowFunc *from)
192
196
  COPY_SCALAR_FIELD(inputcollid);
193
197
  COPY_NODE_FIELD(args);
194
198
  COPY_NODE_FIELD(aggfilter);
199
+ COPY_NODE_FIELD(runCondition);
195
200
  COPY_SCALAR_FIELD(winref);
196
201
  COPY_SCALAR_FIELD(winstar);
197
202
  COPY_SCALAR_FIELD(winagg);
@@ -200,6 +205,31 @@ _copyWindowFunc(const WindowFunc *from)
200
205
  return newnode;
201
206
  }
202
207
 
208
+ static WindowFuncRunCondition *
209
+ _copyWindowFuncRunCondition(const WindowFuncRunCondition *from)
210
+ {
211
+ WindowFuncRunCondition *newnode = makeNode(WindowFuncRunCondition);
212
+
213
+ COPY_SCALAR_FIELD(opno);
214
+ COPY_SCALAR_FIELD(inputcollid);
215
+ COPY_SCALAR_FIELD(wfunc_left);
216
+ COPY_NODE_FIELD(arg);
217
+
218
+ return newnode;
219
+ }
220
+
221
+ static MergeSupportFunc *
222
+ _copyMergeSupportFunc(const MergeSupportFunc *from)
223
+ {
224
+ MergeSupportFunc *newnode = makeNode(MergeSupportFunc);
225
+
226
+ COPY_SCALAR_FIELD(msftype);
227
+ COPY_SCALAR_FIELD(msfcollid);
228
+ COPY_LOCATION_FIELD(location);
229
+
230
+ return newnode;
231
+ }
232
+
203
233
  static SubscriptingRef *
204
234
  _copySubscriptingRef(const SubscriptingRef *from)
205
235
  {
@@ -686,6 +716,80 @@ _copyJsonIsPredicate(const JsonIsPredicate *from)
686
716
  return newnode;
687
717
  }
688
718
 
719
+ static JsonBehavior *
720
+ _copyJsonBehavior(const JsonBehavior *from)
721
+ {
722
+ JsonBehavior *newnode = makeNode(JsonBehavior);
723
+
724
+ COPY_SCALAR_FIELD(btype);
725
+ COPY_NODE_FIELD(expr);
726
+ COPY_SCALAR_FIELD(coerce);
727
+ COPY_LOCATION_FIELD(location);
728
+
729
+ return newnode;
730
+ }
731
+
732
+ static JsonExpr *
733
+ _copyJsonExpr(const JsonExpr *from)
734
+ {
735
+ JsonExpr *newnode = makeNode(JsonExpr);
736
+
737
+ COPY_SCALAR_FIELD(op);
738
+ COPY_STRING_FIELD(column_name);
739
+ COPY_NODE_FIELD(formatted_expr);
740
+ COPY_NODE_FIELD(format);
741
+ COPY_NODE_FIELD(path_spec);
742
+ COPY_NODE_FIELD(returning);
743
+ COPY_NODE_FIELD(passing_names);
744
+ COPY_NODE_FIELD(passing_values);
745
+ COPY_NODE_FIELD(on_empty);
746
+ COPY_NODE_FIELD(on_error);
747
+ COPY_SCALAR_FIELD(use_io_coercion);
748
+ COPY_SCALAR_FIELD(use_json_coercion);
749
+ COPY_SCALAR_FIELD(wrapper);
750
+ COPY_SCALAR_FIELD(omit_quotes);
751
+ COPY_SCALAR_FIELD(collation);
752
+ COPY_LOCATION_FIELD(location);
753
+
754
+ return newnode;
755
+ }
756
+
757
+ static JsonTablePath *
758
+ _copyJsonTablePath(const JsonTablePath *from)
759
+ {
760
+ JsonTablePath *newnode = makeNode(JsonTablePath);
761
+
762
+ COPY_NODE_FIELD(value);
763
+ COPY_STRING_FIELD(name);
764
+
765
+ return newnode;
766
+ }
767
+
768
+ static JsonTablePathScan *
769
+ _copyJsonTablePathScan(const JsonTablePathScan *from)
770
+ {
771
+ JsonTablePathScan *newnode = makeNode(JsonTablePathScan);
772
+
773
+ COPY_NODE_FIELD(path);
774
+ COPY_SCALAR_FIELD(errorOnError);
775
+ COPY_NODE_FIELD(child);
776
+ COPY_SCALAR_FIELD(colMin);
777
+ COPY_SCALAR_FIELD(colMax);
778
+
779
+ return newnode;
780
+ }
781
+
782
+ static JsonTableSiblingJoin *
783
+ _copyJsonTableSiblingJoin(const JsonTableSiblingJoin *from)
784
+ {
785
+ JsonTableSiblingJoin *newnode = makeNode(JsonTableSiblingJoin);
786
+
787
+ COPY_NODE_FIELD(lplan);
788
+ COPY_NODE_FIELD(rplan);
789
+
790
+ return newnode;
791
+ }
792
+
689
793
  static NullTest *
690
794
  _copyNullTest(const NullTest *from)
691
795
  {
@@ -711,6 +815,21 @@ _copyBooleanTest(const BooleanTest *from)
711
815
  return newnode;
712
816
  }
713
817
 
818
+ static MergeAction *
819
+ _copyMergeAction(const MergeAction *from)
820
+ {
821
+ MergeAction *newnode = makeNode(MergeAction);
822
+
823
+ COPY_SCALAR_FIELD(matchKind);
824
+ COPY_SCALAR_FIELD(commandType);
825
+ COPY_SCALAR_FIELD(override);
826
+ COPY_NODE_FIELD(qual);
827
+ COPY_NODE_FIELD(targetList);
828
+ COPY_NODE_FIELD(updateColnos);
829
+
830
+ return newnode;
831
+ }
832
+
714
833
  static CoerceToDomain *
715
834
  _copyCoerceToDomain(const CoerceToDomain *from)
716
835
  {
@@ -885,7 +1004,8 @@ _copyQuery(const Query *from)
885
1004
  COPY_NODE_FIELD(rteperminfos);
886
1005
  COPY_NODE_FIELD(jointree);
887
1006
  COPY_NODE_FIELD(mergeActionList);
888
- COPY_SCALAR_FIELD(mergeUseOuterJoin);
1007
+ COPY_SCALAR_FIELD(mergeTargetRelation);
1008
+ COPY_NODE_FIELD(mergeJoinCondition);
889
1009
  COPY_NODE_FIELD(targetList);
890
1010
  COPY_SCALAR_FIELD(override);
891
1011
  COPY_NODE_FIELD(onConflict);
@@ -905,7 +1025,7 @@ _copyQuery(const Query *from)
905
1025
  COPY_NODE_FIELD(constraintDeps);
906
1026
  COPY_NODE_FIELD(withCheckOptions);
907
1027
  COPY_LOCATION_FIELD(stmt_location);
908
- COPY_SCALAR_FIELD(stmt_len);
1028
+ COPY_LOCATION_FIELD(stmt_len);
909
1029
 
910
1030
  return newnode;
911
1031
  }
@@ -1343,6 +1463,15 @@ _copyPartitionRangeDatum(const PartitionRangeDatum *from)
1343
1463
  return newnode;
1344
1464
  }
1345
1465
 
1466
+ static SinglePartitionSpec *
1467
+ _copySinglePartitionSpec(const SinglePartitionSpec *from)
1468
+ {
1469
+ SinglePartitionSpec *newnode = makeNode(SinglePartitionSpec);
1470
+
1471
+
1472
+ return newnode;
1473
+ }
1474
+
1346
1475
  static PartitionCmd *
1347
1476
  _copyPartitionCmd(const PartitionCmd *from)
1348
1477
  {
@@ -1360,12 +1489,15 @@ _copyRangeTblEntry(const RangeTblEntry *from)
1360
1489
  {
1361
1490
  RangeTblEntry *newnode = makeNode(RangeTblEntry);
1362
1491
 
1492
+ COPY_NODE_FIELD(alias);
1493
+ COPY_NODE_FIELD(eref);
1363
1494
  COPY_SCALAR_FIELD(rtekind);
1364
1495
  COPY_SCALAR_FIELD(relid);
1496
+ COPY_SCALAR_FIELD(inh);
1365
1497
  COPY_SCALAR_FIELD(relkind);
1366
1498
  COPY_SCALAR_FIELD(rellockmode);
1367
- COPY_NODE_FIELD(tablesample);
1368
1499
  COPY_SCALAR_FIELD(perminfoindex);
1500
+ COPY_NODE_FIELD(tablesample);
1369
1501
  COPY_NODE_FIELD(subquery);
1370
1502
  COPY_SCALAR_FIELD(security_barrier);
1371
1503
  COPY_SCALAR_FIELD(jointype);
@@ -1386,10 +1518,7 @@ _copyRangeTblEntry(const RangeTblEntry *from)
1386
1518
  COPY_NODE_FIELD(colcollations);
1387
1519
  COPY_STRING_FIELD(enrname);
1388
1520
  COPY_SCALAR_FIELD(enrtuples);
1389
- COPY_NODE_FIELD(alias);
1390
- COPY_NODE_FIELD(eref);
1391
1521
  COPY_SCALAR_FIELD(lateral);
1392
- COPY_SCALAR_FIELD(inh);
1393
1522
  COPY_SCALAR_FIELD(inFromCl);
1394
1523
  COPY_NODE_FIELD(securityQuals);
1395
1524
 
@@ -1492,7 +1621,6 @@ _copyWindowClause(const WindowClause *from)
1492
1621
  COPY_SCALAR_FIELD(frameOptions);
1493
1622
  COPY_NODE_FIELD(startOffset);
1494
1623
  COPY_NODE_FIELD(endOffset);
1495
- COPY_NODE_FIELD(runCondition);
1496
1624
  COPY_SCALAR_FIELD(startInRangeFunc);
1497
1625
  COPY_SCALAR_FIELD(endInRangeFunc);
1498
1626
  COPY_SCALAR_FIELD(inRangeColl);
@@ -1615,7 +1743,7 @@ _copyMergeWhenClause(const MergeWhenClause *from)
1615
1743
  {
1616
1744
  MergeWhenClause *newnode = makeNode(MergeWhenClause);
1617
1745
 
1618
- COPY_SCALAR_FIELD(matched);
1746
+ COPY_SCALAR_FIELD(matchKind);
1619
1747
  COPY_SCALAR_FIELD(commandType);
1620
1748
  COPY_SCALAR_FIELD(override);
1621
1749
  COPY_NODE_FIELD(condition);
@@ -1625,21 +1753,6 @@ _copyMergeWhenClause(const MergeWhenClause *from)
1625
1753
  return newnode;
1626
1754
  }
1627
1755
 
1628
- static MergeAction *
1629
- _copyMergeAction(const MergeAction *from)
1630
- {
1631
- MergeAction *newnode = makeNode(MergeAction);
1632
-
1633
- COPY_SCALAR_FIELD(matched);
1634
- COPY_SCALAR_FIELD(commandType);
1635
- COPY_SCALAR_FIELD(override);
1636
- COPY_NODE_FIELD(qual);
1637
- COPY_NODE_FIELD(targetList);
1638
- COPY_NODE_FIELD(updateColnos);
1639
-
1640
- return newnode;
1641
- }
1642
-
1643
1756
  static TriggerTransition *
1644
1757
  _copyTriggerTransition(const TriggerTransition *from)
1645
1758
  {
@@ -1663,6 +1776,87 @@ _copyJsonOutput(const JsonOutput *from)
1663
1776
  return newnode;
1664
1777
  }
1665
1778
 
1779
+ static JsonArgument *
1780
+ _copyJsonArgument(const JsonArgument *from)
1781
+ {
1782
+ JsonArgument *newnode = makeNode(JsonArgument);
1783
+
1784
+ COPY_NODE_FIELD(val);
1785
+ COPY_STRING_FIELD(name);
1786
+
1787
+ return newnode;
1788
+ }
1789
+
1790
+ static JsonFuncExpr *
1791
+ _copyJsonFuncExpr(const JsonFuncExpr *from)
1792
+ {
1793
+ JsonFuncExpr *newnode = makeNode(JsonFuncExpr);
1794
+
1795
+ COPY_SCALAR_FIELD(op);
1796
+ COPY_STRING_FIELD(column_name);
1797
+ COPY_NODE_FIELD(context_item);
1798
+ COPY_NODE_FIELD(pathspec);
1799
+ COPY_NODE_FIELD(passing);
1800
+ COPY_NODE_FIELD(output);
1801
+ COPY_NODE_FIELD(on_empty);
1802
+ COPY_NODE_FIELD(on_error);
1803
+ COPY_SCALAR_FIELD(wrapper);
1804
+ COPY_SCALAR_FIELD(quotes);
1805
+ COPY_LOCATION_FIELD(location);
1806
+
1807
+ return newnode;
1808
+ }
1809
+
1810
+ static JsonTablePathSpec *
1811
+ _copyJsonTablePathSpec(const JsonTablePathSpec *from)
1812
+ {
1813
+ JsonTablePathSpec *newnode = makeNode(JsonTablePathSpec);
1814
+
1815
+ COPY_NODE_FIELD(string);
1816
+ COPY_STRING_FIELD(name);
1817
+ COPY_LOCATION_FIELD(name_location);
1818
+ COPY_LOCATION_FIELD(location);
1819
+
1820
+ return newnode;
1821
+ }
1822
+
1823
+ static JsonTable *
1824
+ _copyJsonTable(const JsonTable *from)
1825
+ {
1826
+ JsonTable *newnode = makeNode(JsonTable);
1827
+
1828
+ COPY_NODE_FIELD(context_item);
1829
+ COPY_NODE_FIELD(pathspec);
1830
+ COPY_NODE_FIELD(passing);
1831
+ COPY_NODE_FIELD(columns);
1832
+ COPY_NODE_FIELD(on_error);
1833
+ COPY_NODE_FIELD(alias);
1834
+ COPY_SCALAR_FIELD(lateral);
1835
+ COPY_LOCATION_FIELD(location);
1836
+
1837
+ return newnode;
1838
+ }
1839
+
1840
+ static JsonTableColumn *
1841
+ _copyJsonTableColumn(const JsonTableColumn *from)
1842
+ {
1843
+ JsonTableColumn *newnode = makeNode(JsonTableColumn);
1844
+
1845
+ COPY_SCALAR_FIELD(coltype);
1846
+ COPY_STRING_FIELD(name);
1847
+ COPY_NODE_FIELD(typeName);
1848
+ COPY_NODE_FIELD(pathspec);
1849
+ COPY_NODE_FIELD(format);
1850
+ COPY_SCALAR_FIELD(wrapper);
1851
+ COPY_SCALAR_FIELD(quotes);
1852
+ COPY_NODE_FIELD(columns);
1853
+ COPY_NODE_FIELD(on_empty);
1854
+ COPY_NODE_FIELD(on_error);
1855
+ COPY_LOCATION_FIELD(location);
1856
+
1857
+ return newnode;
1858
+ }
1859
+
1666
1860
  static JsonKeyValue *
1667
1861
  _copyJsonKeyValue(const JsonKeyValue *from)
1668
1862
  {
@@ -1674,6 +1868,43 @@ _copyJsonKeyValue(const JsonKeyValue *from)
1674
1868
  return newnode;
1675
1869
  }
1676
1870
 
1871
+ static JsonParseExpr *
1872
+ _copyJsonParseExpr(const JsonParseExpr *from)
1873
+ {
1874
+ JsonParseExpr *newnode = makeNode(JsonParseExpr);
1875
+
1876
+ COPY_NODE_FIELD(expr);
1877
+ COPY_NODE_FIELD(output);
1878
+ COPY_SCALAR_FIELD(unique_keys);
1879
+ COPY_LOCATION_FIELD(location);
1880
+
1881
+ return newnode;
1882
+ }
1883
+
1884
+ static JsonScalarExpr *
1885
+ _copyJsonScalarExpr(const JsonScalarExpr *from)
1886
+ {
1887
+ JsonScalarExpr *newnode = makeNode(JsonScalarExpr);
1888
+
1889
+ COPY_NODE_FIELD(expr);
1890
+ COPY_NODE_FIELD(output);
1891
+ COPY_LOCATION_FIELD(location);
1892
+
1893
+ return newnode;
1894
+ }
1895
+
1896
+ static JsonSerializeExpr *
1897
+ _copyJsonSerializeExpr(const JsonSerializeExpr *from)
1898
+ {
1899
+ JsonSerializeExpr *newnode = makeNode(JsonSerializeExpr);
1900
+
1901
+ COPY_NODE_FIELD(expr);
1902
+ COPY_NODE_FIELD(output);
1903
+ COPY_LOCATION_FIELD(location);
1904
+
1905
+ return newnode;
1906
+ }
1907
+
1677
1908
  static JsonObjectConstructor *
1678
1909
  _copyJsonObjectConstructor(const JsonObjectConstructor *from)
1679
1910
  {
@@ -1761,7 +1992,7 @@ _copyRawStmt(const RawStmt *from)
1761
1992
 
1762
1993
  COPY_NODE_FIELD(stmt);
1763
1994
  COPY_LOCATION_FIELD(stmt_location);
1764
- COPY_SCALAR_FIELD(stmt_len);
1995
+ COPY_LOCATION_FIELD(stmt_len);
1765
1996
 
1766
1997
  return newnode;
1767
1998
  }
@@ -1820,6 +2051,7 @@ _copyMergeStmt(const MergeStmt *from)
1820
2051
  COPY_NODE_FIELD(sourceRelation);
1821
2052
  COPY_NODE_FIELD(joinCondition);
1822
2053
  COPY_NODE_FIELD(mergeWhenClauses);
2054
+ COPY_NODE_FIELD(returningList);
1823
2055
  COPY_NODE_FIELD(withClause);
1824
2056
 
1825
2057
  return newnode;
@@ -2112,11 +2344,13 @@ _copyConstraint(const Constraint *from)
2112
2344
  COPY_STRING_FIELD(conname);
2113
2345
  COPY_SCALAR_FIELD(deferrable);
2114
2346
  COPY_SCALAR_FIELD(initdeferred);
2115
- COPY_LOCATION_FIELD(location);
2347
+ COPY_SCALAR_FIELD(skip_validation);
2348
+ COPY_SCALAR_FIELD(initially_valid);
2116
2349
  COPY_SCALAR_FIELD(is_no_inherit);
2117
2350
  COPY_NODE_FIELD(raw_expr);
2118
2351
  COPY_STRING_FIELD(cooked_expr);
2119
2352
  COPY_SCALAR_FIELD(generated_when);
2353
+ COPY_SCALAR_FIELD(inhcount);
2120
2354
  COPY_SCALAR_FIELD(nulls_not_distinct);
2121
2355
  COPY_NODE_FIELD(keys);
2122
2356
  COPY_NODE_FIELD(including);
@@ -2136,8 +2370,7 @@ _copyConstraint(const Constraint *from)
2136
2370
  COPY_NODE_FIELD(fk_del_set_cols);
2137
2371
  COPY_NODE_FIELD(old_conpfeqop);
2138
2372
  COPY_SCALAR_FIELD(old_pktable_oid);
2139
- COPY_SCALAR_FIELD(skip_validation);
2140
- COPY_SCALAR_FIELD(initially_valid);
2373
+ COPY_LOCATION_FIELD(location);
2141
2374
 
2142
2375
  return newnode;
2143
2376
  }
@@ -2769,7 +3002,7 @@ _copyAlterStatsStmt(const AlterStatsStmt *from)
2769
3002
  AlterStatsStmt *newnode = makeNode(AlterStatsStmt);
2770
3003
 
2771
3004
  COPY_NODE_FIELD(defnames);
2772
- COPY_SCALAR_FIELD(stxstattarget);
3005
+ COPY_NODE_FIELD(stxstattarget);
2773
3006
  COPY_SCALAR_FIELD(missing_ok);
2774
3007
 
2775
3008
  return newnode;
@@ -2975,6 +3208,7 @@ _copyTransactionStmt(const TransactionStmt *from)
2975
3208
  COPY_STRING_FIELD(savepoint_name);
2976
3209
  COPY_STRING_FIELD(gid);
2977
3210
  COPY_SCALAR_FIELD(chain);
3211
+ COPY_LOCATION_FIELD(location);
2978
3212
 
2979
3213
  return newnode;
2980
3214
  }
@@ -3316,6 +3550,8 @@ _copyDeallocateStmt(const DeallocateStmt *from)
3316
3550
  DeallocateStmt *newnode = makeNode(DeallocateStmt);
3317
3551
 
3318
3552
  COPY_STRING_FIELD(name);
3553
+ COPY_SCALAR_FIELD(isall);
3554
+ COPY_LOCATION_FIELD(location);
3319
3555
 
3320
3556
  return newnode;
3321
3557
  }
@@ -3473,6 +3709,17 @@ _copyPathKey(const PathKey *from)
3473
3709
  return newnode;
3474
3710
  }
3475
3711
 
3712
+ static GroupByOrdering *
3713
+ _copyGroupByOrdering(const GroupByOrdering *from)
3714
+ {
3715
+ GroupByOrdering *newnode = makeNode(GroupByOrdering);
3716
+
3717
+ COPY_NODE_FIELD(pathkeys);
3718
+ COPY_NODE_FIELD(clauses);
3719
+
3720
+ return newnode;
3721
+ }
3722
+
3476
3723
  static RestrictInfo *
3477
3724
  _copyRestrictInfo(const RestrictInfo *from)
3478
3725
  {
@@ -3615,7 +3862,7 @@ _copyPlannedStmt(const PlannedStmt *from)
3615
3862
  COPY_NODE_FIELD(paramExecTypes);
3616
3863
  COPY_NODE_FIELD(utilityStmt);
3617
3864
  COPY_LOCATION_FIELD(stmt_location);
3618
- COPY_SCALAR_FIELD(stmt_len);
3865
+ COPY_LOCATION_FIELD(stmt_len);
3619
3866
 
3620
3867
  return newnode;
3621
3868
  }
@@ -3710,6 +3957,7 @@ _copyModifyTable(const ModifyTable *from)
3710
3957
  COPY_SCALAR_FIELD(exclRelRTI);
3711
3958
  COPY_NODE_FIELD(exclRelTlist);
3712
3959
  COPY_NODE_FIELD(mergeActionLists);
3960
+ COPY_NODE_FIELD(mergeJoinConditions);
3713
3961
 
3714
3962
  return newnode;
3715
3963
  }
@@ -3,7 +3,7 @@
3
3
  * copyfuncs.switch.c
4
4
  * Generated node infrastructure code
5
5
  *
6
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
6
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
7
7
  * Portions Copyright (c) 1994, Regents of the University of California
8
8
  *
9
9
  * NOTES
@@ -45,6 +45,12 @@
45
45
  case T_WindowFunc:
46
46
  retval = _copyWindowFunc(from);
47
47
  break;
48
+ case T_WindowFuncRunCondition:
49
+ retval = _copyWindowFuncRunCondition(from);
50
+ break;
51
+ case T_MergeSupportFunc:
52
+ retval = _copyMergeSupportFunc(from);
53
+ break;
48
54
  case T_SubscriptingRef:
49
55
  retval = _copySubscriptingRef(from);
50
56
  break;
@@ -144,12 +150,30 @@
144
150
  case T_JsonIsPredicate:
145
151
  retval = _copyJsonIsPredicate(from);
146
152
  break;
153
+ case T_JsonBehavior:
154
+ retval = _copyJsonBehavior(from);
155
+ break;
156
+ case T_JsonExpr:
157
+ retval = _copyJsonExpr(from);
158
+ break;
159
+ case T_JsonTablePath:
160
+ retval = _copyJsonTablePath(from);
161
+ break;
162
+ case T_JsonTablePathScan:
163
+ retval = _copyJsonTablePathScan(from);
164
+ break;
165
+ case T_JsonTableSiblingJoin:
166
+ retval = _copyJsonTableSiblingJoin(from);
167
+ break;
147
168
  case T_NullTest:
148
169
  retval = _copyNullTest(from);
149
170
  break;
150
171
  case T_BooleanTest:
151
172
  retval = _copyBooleanTest(from);
152
173
  break;
174
+ case T_MergeAction:
175
+ retval = _copyMergeAction(from);
176
+ break;
153
177
  case T_CoerceToDomain:
154
178
  retval = _copyCoerceToDomain(from);
155
179
  break;
@@ -282,6 +306,9 @@
282
306
  case T_PartitionRangeDatum:
283
307
  retval = _copyPartitionRangeDatum(from);
284
308
  break;
309
+ case T_SinglePartitionSpec:
310
+ retval = _copySinglePartitionSpec(from);
311
+ break;
285
312
  case T_PartitionCmd:
286
313
  retval = _copyPartitionCmd(from);
287
314
  break;
@@ -333,18 +360,39 @@
333
360
  case T_MergeWhenClause:
334
361
  retval = _copyMergeWhenClause(from);
335
362
  break;
336
- case T_MergeAction:
337
- retval = _copyMergeAction(from);
338
- break;
339
363
  case T_TriggerTransition:
340
364
  retval = _copyTriggerTransition(from);
341
365
  break;
342
366
  case T_JsonOutput:
343
367
  retval = _copyJsonOutput(from);
344
368
  break;
369
+ case T_JsonArgument:
370
+ retval = _copyJsonArgument(from);
371
+ break;
372
+ case T_JsonFuncExpr:
373
+ retval = _copyJsonFuncExpr(from);
374
+ break;
375
+ case T_JsonTablePathSpec:
376
+ retval = _copyJsonTablePathSpec(from);
377
+ break;
378
+ case T_JsonTable:
379
+ retval = _copyJsonTable(from);
380
+ break;
381
+ case T_JsonTableColumn:
382
+ retval = _copyJsonTableColumn(from);
383
+ break;
345
384
  case T_JsonKeyValue:
346
385
  retval = _copyJsonKeyValue(from);
347
386
  break;
387
+ case T_JsonParseExpr:
388
+ retval = _copyJsonParseExpr(from);
389
+ break;
390
+ case T_JsonScalarExpr:
391
+ retval = _copyJsonScalarExpr(from);
392
+ break;
393
+ case T_JsonSerializeExpr:
394
+ retval = _copyJsonSerializeExpr(from);
395
+ break;
348
396
  case T_JsonObjectConstructor:
349
397
  retval = _copyJsonObjectConstructor(from);
350
398
  break;
@@ -747,6 +795,9 @@
747
795
  case T_PathKey:
748
796
  retval = _copyPathKey(from);
749
797
  break;
798
+ case T_GroupByOrdering:
799
+ retval = _copyGroupByOrdering(from);
800
+ break;
750
801
  case T_RestrictInfo:
751
802
  retval = _copyRestrictInfo(from);
752
803
  break;
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Note: this file must be includable in both frontend and backend contexts.
7
7
  *
8
- * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
8
+ * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
9
9
  * Portions Copyright (c) 1994, Regents of the University of California
10
10
  *
11
11
  * src/include/datatype/timestamp.h
@@ -114,6 +114,7 @@ struct pg_itm_in
114
114
  * 30 days.
115
115
  */
116
116
  #define DAYS_PER_MONTH 30 /* assumes exactly 30 days per month */
117
+ #define DAYS_PER_WEEK 7
117
118
  #define HOURS_PER_DAY 24 /* assume no daylight savings time changes */
118
119
 
119
120
  /*
@@ -150,7 +151,7 @@ struct pg_itm_in
150
151
  #define TIMESTAMP_INFINITY PG_INT64_MAX
151
152
 
152
153
  /*
153
- * Historically these alias for infinity have been used.
154
+ * Historically these aliases for infinity have been used.
154
155
  */
155
156
  #define DT_NOBEGIN TIMESTAMP_MINUS_INFINITY
156
157
  #define DT_NOEND TIMESTAMP_INFINITY
@@ -167,6 +168,31 @@ struct pg_itm_in
167
168
 
168
169
  #define TIMESTAMP_NOT_FINITE(j) (TIMESTAMP_IS_NOBEGIN(j) || TIMESTAMP_IS_NOEND(j))
169
170
 
171
+ /*
172
+ * Infinite intervals are represented by setting all fields to the minimum or
173
+ * maximum integer values.
174
+ */
175
+ #define INTERVAL_NOBEGIN(i) \
176
+ do { \
177
+ (i)->time = PG_INT64_MIN; \
178
+ (i)->day = PG_INT32_MIN; \
179
+ (i)->month = PG_INT32_MIN; \
180
+ } while (0)
181
+
182
+ #define INTERVAL_IS_NOBEGIN(i) \
183
+ ((i)->month == PG_INT32_MIN && (i)->day == PG_INT32_MIN && (i)->time == PG_INT64_MIN)
184
+
185
+ #define INTERVAL_NOEND(i) \
186
+ do { \
187
+ (i)->time = PG_INT64_MAX; \
188
+ (i)->day = PG_INT32_MAX; \
189
+ (i)->month = PG_INT32_MAX; \
190
+ } while (0)
191
+
192
+ #define INTERVAL_IS_NOEND(i) \
193
+ ((i)->month == PG_INT32_MAX && (i)->day == PG_INT32_MAX && (i)->time == PG_INT64_MAX)
194
+
195
+ #define INTERVAL_NOT_FINITE(i) (INTERVAL_IS_NOBEGIN(i) || INTERVAL_IS_NOEND(i))
170
196
 
171
197
  /*
172
198
  * Julian date support.