pg_query 4.2.1 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (901) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/README.md +7 -9
  4. data/Rakefile +5 -6
  5. data/ext/pg_query/ext_symbols_freebsd.sym +1 -0
  6. data/ext/pg_query/ext_symbols_freebsd_with_ruby_abi_version.sym +2 -0
  7. data/ext/pg_query/ext_symbols_openbsd.sym +1 -0
  8. data/ext/pg_query/ext_symbols_openbsd_with_ruby_abi_version.sym +2 -0
  9. data/ext/pg_query/ext_symbols_with_ruby_abi_version.sym +2 -0
  10. data/ext/pg_query/extconf.rb +33 -9
  11. data/ext/pg_query/include/pg_query.h +28 -3
  12. data/ext/pg_query/include/pg_query_enum_defs.c +599 -167
  13. data/ext/pg_query/include/pg_query_fingerprint_conds.c +640 -520
  14. data/ext/pg_query/include/pg_query_fingerprint_defs.c +6400 -4633
  15. data/ext/pg_query/include/pg_query_outfuncs_conds.c +433 -343
  16. data/ext/pg_query/include/pg_query_outfuncs_defs.c +1472 -1152
  17. data/ext/pg_query/include/pg_query_readfuncs_conds.c +154 -124
  18. data/ext/pg_query/include/pg_query_readfuncs_defs.c +1886 -1506
  19. data/ext/pg_query/include/postgres/access/amapi.h +303 -0
  20. data/ext/pg_query/include/postgres/access/attmap.h +54 -0
  21. data/ext/pg_query/include/postgres/access/attnum.h +64 -0
  22. data/ext/pg_query/include/postgres/access/brin_internal.h +116 -0
  23. data/ext/pg_query/include/postgres/access/brin_tuple.h +112 -0
  24. data/ext/pg_query/include/postgres/access/clog.h +62 -0
  25. data/ext/pg_query/include/postgres/access/commit_ts.h +73 -0
  26. data/ext/pg_query/include/postgres/access/detoast.h +82 -0
  27. data/ext/pg_query/include/postgres/access/genam.h +246 -0
  28. data/ext/pg_query/include/postgres/access/gin.h +91 -0
  29. data/ext/pg_query/include/postgres/access/htup.h +89 -0
  30. data/ext/pg_query/include/postgres/access/htup_details.h +811 -0
  31. data/ext/pg_query/include/postgres/access/itup.h +170 -0
  32. data/ext/pg_query/include/postgres/access/parallel.h +81 -0
  33. data/ext/pg_query/include/postgres/access/printtup.h +35 -0
  34. data/ext/pg_query/include/postgres/access/relation.h +28 -0
  35. data/ext/pg_query/include/postgres/access/relscan.h +191 -0
  36. data/ext/pg_query/include/postgres/access/rmgrlist.h +49 -0
  37. data/ext/pg_query/include/postgres/access/sdir.h +67 -0
  38. data/ext/pg_query/include/postgres/access/skey.h +151 -0
  39. data/ext/pg_query/include/postgres/access/slru.h +218 -0
  40. data/ext/pg_query/include/postgres/access/stratnum.h +85 -0
  41. data/ext/pg_query/include/postgres/access/sysattr.h +29 -0
  42. data/ext/pg_query/include/postgres/access/table.h +28 -0
  43. data/ext/pg_query/include/postgres/access/tableam.h +2110 -0
  44. data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
  45. data/ext/pg_query/include/postgres/access/toast_compression.h +73 -0
  46. data/ext/pg_query/include/postgres/access/transam.h +418 -0
  47. data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
  48. data/ext/pg_query/include/postgres/access/tupconvert.h +54 -0
  49. data/ext/pg_query/include/postgres/access/tupdesc.h +154 -0
  50. data/ext/pg_query/include/postgres/access/tupmacs.h +207 -0
  51. data/ext/pg_query/include/postgres/access/twophase.h +65 -0
  52. data/ext/pg_query/include/postgres/access/xact.h +530 -0
  53. data/ext/pg_query/include/postgres/access/xlog.h +310 -0
  54. data/ext/pg_query/include/postgres/access/xlog_internal.h +405 -0
  55. data/ext/pg_query/include/postgres/access/xlogbackup.h +43 -0
  56. data/ext/pg_query/include/postgres/access/xlogdefs.h +82 -0
  57. data/ext/pg_query/include/postgres/access/xlogprefetcher.h +55 -0
  58. data/ext/pg_query/include/postgres/access/xlogreader.h +444 -0
  59. data/ext/pg_query/include/postgres/access/xlogrecord.h +248 -0
  60. data/ext/pg_query/include/postgres/access/xlogrecovery.h +158 -0
  61. data/ext/pg_query/include/postgres/archive/archive_module.h +67 -0
  62. data/ext/pg_query/include/postgres/c.h +1374 -0
  63. data/ext/pg_query/include/postgres/catalog/catalog.h +47 -0
  64. data/ext/pg_query/include/postgres/catalog/catversion.h +62 -0
  65. data/ext/pg_query/include/postgres/catalog/dependency.h +228 -0
  66. data/ext/pg_query/include/postgres/catalog/genbki.h +149 -0
  67. data/ext/pg_query/include/postgres/catalog/index.h +218 -0
  68. data/ext/pg_query/include/postgres/catalog/indexing.h +54 -0
  69. data/ext/pg_query/include/postgres/catalog/namespace.h +189 -0
  70. data/ext/pg_query/include/postgres/catalog/objectaccess.h +267 -0
  71. data/ext/pg_query/include/postgres/catalog/objectaddress.h +93 -0
  72. data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +182 -0
  73. data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +78 -0
  74. data/ext/pg_query/include/postgres/catalog/pg_am.h +66 -0
  75. data/ext/pg_query/include/postgres/catalog/pg_am_d.h +47 -0
  76. data/ext/pg_query/include/postgres/catalog/pg_attribute.h +240 -0
  77. data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +62 -0
  78. data/ext/pg_query/include/postgres/catalog/pg_authid.h +66 -0
  79. data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +60 -0
  80. data/ext/pg_query/include/postgres/catalog/pg_class.h +235 -0
  81. data/ext/pg_query/include/postgres/catalog/pg_class_d.h +134 -0
  82. data/ext/pg_query/include/postgres/catalog/pg_collation.h +106 -0
  83. data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +66 -0
  84. data/ext/pg_query/include/postgres/catalog/pg_constraint.h +278 -0
  85. data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +74 -0
  86. data/ext/pg_query/include/postgres/catalog/pg_control.h +260 -0
  87. data/ext/pg_query/include/postgres/catalog/pg_conversion.h +79 -0
  88. data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +38 -0
  89. data/ext/pg_query/include/postgres/catalog/pg_database.h +129 -0
  90. data/ext/pg_query/include/postgres/catalog/pg_database_d.h +53 -0
  91. data/ext/pg_query/include/postgres/catalog/pg_depend.h +77 -0
  92. data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +36 -0
  93. data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +60 -0
  94. data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +36 -0
  95. data/ext/pg_query/include/postgres/catalog/pg_index.h +92 -0
  96. data/ext/pg_query/include/postgres/catalog/pg_index_d.h +59 -0
  97. data/ext/pg_query/include/postgres/catalog/pg_language.h +75 -0
  98. data/ext/pg_query/include/postgres/catalog/pg_language_d.h +41 -0
  99. data/ext/pg_query/include/postgres/catalog/pg_namespace.h +67 -0
  100. data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +36 -0
  101. data/ext/pg_query/include/postgres/catalog/pg_opclass.h +91 -0
  102. data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +51 -0
  103. data/ext/pg_query/include/postgres/catalog/pg_operator.h +124 -0
  104. data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +142 -0
  105. data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +67 -0
  106. data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +51 -0
  107. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +76 -0
  108. data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +36 -0
  109. data/ext/pg_query/include/postgres/catalog/pg_proc.h +223 -0
  110. data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +101 -0
  111. data/ext/pg_query/include/postgres/catalog/pg_publication.h +161 -0
  112. data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +38 -0
  113. data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +65 -0
  114. data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +33 -0
  115. data/ext/pg_query/include/postgres/catalog/pg_statistic.h +288 -0
  116. data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +199 -0
  117. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +91 -0
  118. data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +45 -0
  119. data/ext/pg_query/include/postgres/catalog/pg_transform.h +51 -0
  120. data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +34 -0
  121. data/ext/pg_query/include/postgres/catalog/pg_trigger.h +153 -0
  122. data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +109 -0
  123. data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +56 -0
  124. data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +34 -0
  125. data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +62 -0
  126. data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +35 -0
  127. data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +63 -0
  128. data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +37 -0
  129. data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +54 -0
  130. data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +34 -0
  131. data/ext/pg_query/include/postgres/catalog/pg_type.h +407 -0
  132. data/ext/pg_query/include/postgres/catalog/pg_type_d.h +324 -0
  133. data/ext/pg_query/include/postgres/catalog/storage.h +50 -0
  134. data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
  135. data/ext/pg_query/include/postgres/commands/async.h +49 -0
  136. data/ext/pg_query/include/postgres/commands/dbcommands.h +37 -0
  137. data/ext/pg_query/include/postgres/commands/defrem.h +161 -0
  138. data/ext/pg_query/include/postgres/commands/event_trigger.h +97 -0
  139. data/ext/pg_query/include/postgres/commands/explain.h +145 -0
  140. data/ext/pg_query/include/postgres/commands/prepare.h +61 -0
  141. data/ext/pg_query/include/postgres/commands/tablespace.h +69 -0
  142. data/ext/pg_query/include/postgres/commands/trigger.h +288 -0
  143. data/ext/pg_query/include/postgres/commands/user.h +43 -0
  144. data/ext/pg_query/include/postgres/commands/vacuum.h +388 -0
  145. data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
  146. data/ext/pg_query/include/postgres/common/file_perm.h +56 -0
  147. data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
  148. data/ext/pg_query/include/postgres/common/hashfn.h +119 -0
  149. data/ext/pg_query/include/postgres/common/hashfn_unstable.h +407 -0
  150. data/ext/pg_query/include/postgres/common/int.h +512 -0
  151. data/ext/pg_query/include/postgres/common/keywords.h +29 -0
  152. data/ext/pg_query/include/postgres/common/kwlookup.h +44 -0
  153. data/ext/pg_query/include/postgres/common/pg_prng.h +62 -0
  154. data/ext/pg_query/include/postgres/common/relpath.h +97 -0
  155. data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
  156. data/ext/pg_query/include/postgres/common/sha2.h +32 -0
  157. data/ext/pg_query/include/postgres/common/string.h +44 -0
  158. data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +124 -0
  159. data/ext/pg_query/include/postgres/common/unicode_nonspacing_table.h +326 -0
  160. data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5261 -0
  161. data/ext/pg_query/include/postgres/copyfuncs.switch.c +989 -0
  162. data/ext/pg_query/include/postgres/datatype/timestamp.h +269 -0
  163. data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3310 -0
  164. data/ext/pg_query/include/postgres/equalfuncs.switch.c +836 -0
  165. data/ext/pg_query/include/postgres/executor/execdesc.h +70 -0
  166. data/ext/pg_query/include/postgres/executor/executor.h +681 -0
  167. data/ext/pg_query/include/postgres/executor/functions.h +56 -0
  168. data/ext/pg_query/include/postgres/executor/instrument.h +120 -0
  169. data/ext/pg_query/include/postgres/executor/spi.h +207 -0
  170. data/ext/pg_query/include/postgres/executor/tablefunc.h +67 -0
  171. data/ext/pg_query/include/postgres/executor/tuptable.h +523 -0
  172. data/ext/pg_query/include/postgres/fmgr.h +800 -0
  173. data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
  174. data/ext/pg_query/include/postgres/funcapi.h +360 -0
  175. data/ext/pg_query/include/postgres/gram.h +1168 -0
  176. data/ext/pg_query/include/postgres/gramparse.h +75 -0
  177. data/ext/pg_query/include/postgres/jit/jit.h +106 -0
  178. data/ext/pg_query/include/postgres/kwlist_d.h +1164 -0
  179. data/ext/pg_query/include/postgres/lib/dshash.h +130 -0
  180. data/ext/pg_query/include/postgres/lib/ilist.h +1159 -0
  181. data/ext/pg_query/include/postgres/lib/pairingheap.h +102 -0
  182. data/ext/pg_query/include/postgres/lib/simplehash.h +1206 -0
  183. data/ext/pg_query/include/postgres/lib/sort_template.h +445 -0
  184. data/ext/pg_query/include/postgres/lib/stringinfo.h +243 -0
  185. data/ext/pg_query/include/postgres/libpq/auth.h +37 -0
  186. data/ext/pg_query/include/postgres/libpq/crypt.h +47 -0
  187. data/ext/pg_query/include/postgres/libpq/hba.h +186 -0
  188. data/ext/pg_query/include/postgres/libpq/libpq-be.h +361 -0
  189. data/ext/pg_query/include/postgres/libpq/libpq.h +143 -0
  190. data/ext/pg_query/include/postgres/libpq/pqcomm.h +169 -0
  191. data/ext/pg_query/include/postgres/libpq/pqformat.h +209 -0
  192. data/ext/pg_query/include/postgres/libpq/pqsignal.h +54 -0
  193. data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
  194. data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
  195. data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
  196. data/ext/pg_query/include/postgres/mb/pg_wchar.h +793 -0
  197. data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +24 -0
  198. data/ext/pg_query/include/postgres/miscadmin.h +527 -0
  199. data/ext/pg_query/include/postgres/nodes/bitmapset.h +140 -0
  200. data/ext/pg_query/include/postgres/nodes/execnodes.h +2855 -0
  201. data/ext/pg_query/include/postgres/nodes/extensible.h +164 -0
  202. data/ext/pg_query/include/postgres/nodes/lockoptions.h +61 -0
  203. data/ext/pg_query/include/postgres/nodes/makefuncs.h +127 -0
  204. data/ext/pg_query/include/postgres/nodes/memnodes.h +152 -0
  205. data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
  206. data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +222 -0
  207. data/ext/pg_query/include/postgres/nodes/nodes.h +435 -0
  208. data/ext/pg_query/include/postgres/nodes/nodetags.h +491 -0
  209. data/ext/pg_query/include/postgres/nodes/params.h +170 -0
  210. data/ext/pg_query/include/postgres/nodes/parsenodes.h +4233 -0
  211. data/ext/pg_query/include/postgres/nodes/pathnodes.h +3438 -0
  212. data/ext/pg_query/include/postgres/nodes/pg_list.h +686 -0
  213. data/ext/pg_query/include/postgres/nodes/plannodes.h +1593 -0
  214. data/ext/pg_query/include/postgres/nodes/primnodes.h +2339 -0
  215. data/ext/pg_query/include/postgres/nodes/print.h +34 -0
  216. data/ext/pg_query/include/postgres/nodes/queryjumble.h +86 -0
  217. data/ext/pg_query/include/postgres/nodes/replnodes.h +132 -0
  218. data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
  219. data/ext/pg_query/include/postgres/nodes/tidbitmap.h +75 -0
  220. data/ext/pg_query/include/postgres/nodes/value.h +90 -0
  221. data/ext/pg_query/include/postgres/optimizer/cost.h +216 -0
  222. data/ext/pg_query/include/postgres/optimizer/geqo.h +90 -0
  223. data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +45 -0
  224. data/ext/pg_query/include/postgres/optimizer/optimizer.h +205 -0
  225. data/ext/pg_query/include/postgres/optimizer/paths.h +271 -0
  226. data/ext/pg_query/include/postgres/optimizer/planmain.h +123 -0
  227. data/ext/pg_query/include/postgres/parser/analyze.h +66 -0
  228. data/ext/pg_query/include/postgres/parser/kwlist.h +518 -0
  229. data/ext/pg_query/include/postgres/parser/parse_agg.h +65 -0
  230. data/ext/pg_query/include/postgres/parser/parse_coerce.h +105 -0
  231. data/ext/pg_query/include/postgres/parser/parse_expr.h +25 -0
  232. data/ext/pg_query/include/postgres/parser/parse_func.h +74 -0
  233. data/ext/pg_query/include/postgres/parser/parse_node.h +358 -0
  234. data/ext/pg_query/include/postgres/parser/parse_oper.h +68 -0
  235. data/ext/pg_query/include/postgres/parser/parse_relation.h +129 -0
  236. data/ext/pg_query/include/postgres/parser/parse_type.h +61 -0
  237. data/ext/pg_query/include/postgres/parser/parser.h +68 -0
  238. data/ext/pg_query/include/postgres/parser/parsetree.h +61 -0
  239. data/ext/pg_query/include/postgres/parser/scanner.h +152 -0
  240. data/ext/pg_query/include/postgres/parser/scansup.h +27 -0
  241. data/ext/pg_query/include/postgres/partitioning/partdefs.h +26 -0
  242. data/ext/pg_query/include/postgres/pg_config.h +985 -0
  243. data/ext/pg_query/include/postgres/pg_config_manual.h +385 -0
  244. data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
  245. data/ext/pg_query/include/postgres/pg_getopt.h +56 -0
  246. data/ext/pg_query/include/postgres/pg_trace.h +17 -0
  247. data/ext/pg_query/include/postgres/pgstat.h +780 -0
  248. data/ext/pg_query/include/postgres/pgtime.h +94 -0
  249. data/ext/pg_query/include/postgres/pl_gram.h +385 -0
  250. data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +52 -0
  251. data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +114 -0
  252. data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +112 -0
  253. data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +246 -0
  254. data/ext/pg_query/include/postgres/plerrcodes.h +998 -0
  255. data/ext/pg_query/include/postgres/plpgsql.h +1342 -0
  256. data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +32 -0
  257. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
  258. data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +256 -0
  259. data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +254 -0
  260. data/ext/pg_query/include/postgres/port/atomics/fallback.h +170 -0
  261. data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +323 -0
  262. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +119 -0
  263. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +121 -0
  264. data/ext/pg_query/include/postgres/port/atomics/generic.h +437 -0
  265. data/ext/pg_query/include/postgres/port/atomics.h +606 -0
  266. data/ext/pg_query/include/postgres/port/pg_bitutils.h +421 -0
  267. data/ext/pg_query/include/postgres/port/pg_bswap.h +161 -0
  268. data/ext/pg_query/include/postgres/port/pg_crc32c.h +110 -0
  269. data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
  270. data/ext/pg_query/include/postgres/port/simd.h +422 -0
  271. data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
  272. data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
  273. data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
  274. data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
  275. data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
  276. data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
  277. data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
  278. data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
  279. data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
  280. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +34 -0
  281. data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
  282. data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
  283. data/ext/pg_query/include/postgres/port/win32.h +59 -0
  284. data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
  285. data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
  286. data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
  287. data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
  288. data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
  289. data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
  290. data/ext/pg_query/include/postgres/port/win32_port.h +582 -0
  291. data/ext/pg_query/include/postgres/port.h +555 -0
  292. data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
  293. data/ext/pg_query/include/postgres/postgres.h +579 -0
  294. data/ext/pg_query/include/postgres/postgres_ext.h +73 -0
  295. data/ext/pg_query/include/postgres/postmaster/autovacuum.h +69 -0
  296. data/ext/pg_query/include/postgres/postmaster/bgworker.h +164 -0
  297. data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +60 -0
  298. data/ext/pg_query/include/postgres/postmaster/bgwriter.h +45 -0
  299. data/ext/pg_query/include/postgres/postmaster/interrupt.h +32 -0
  300. data/ext/pg_query/include/postgres/postmaster/pgarch.h +36 -0
  301. data/ext/pg_query/include/postgres/postmaster/postmaster.h +101 -0
  302. data/ext/pg_query/include/postgres/postmaster/startup.h +41 -0
  303. data/ext/pg_query/include/postgres/postmaster/syslogger.h +101 -0
  304. data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
  305. data/ext/pg_query/include/postgres/postmaster/walwriter.h +23 -0
  306. data/ext/pg_query/include/postgres/regex/regex.h +272 -0
  307. data/ext/pg_query/include/postgres/replication/logicallauncher.h +34 -0
  308. data/ext/pg_query/include/postgres/replication/logicalproto.h +274 -0
  309. data/ext/pg_query/include/postgres/replication/logicalworker.h +33 -0
  310. data/ext/pg_query/include/postgres/replication/origin.h +73 -0
  311. data/ext/pg_query/include/postgres/replication/reorderbuffer.h +734 -0
  312. data/ext/pg_query/include/postgres/replication/slot.h +289 -0
  313. data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
  314. data/ext/pg_query/include/postgres/replication/syncrep.h +109 -0
  315. data/ext/pg_query/include/postgres/replication/walreceiver.h +504 -0
  316. data/ext/pg_query/include/postgres/replication/walsender.h +76 -0
  317. data/ext/pg_query/include/postgres/rewrite/prs2lock.h +46 -0
  318. data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +41 -0
  319. data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +96 -0
  320. data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +26 -0
  321. data/ext/pg_query/include/postgres/storage/block.h +108 -0
  322. data/ext/pg_query/include/postgres/storage/buf.h +46 -0
  323. data/ext/pg_query/include/postgres/storage/bufmgr.h +411 -0
  324. data/ext/pg_query/include/postgres/storage/bufpage.h +510 -0
  325. data/ext/pg_query/include/postgres/storage/condition_variable.h +73 -0
  326. data/ext/pg_query/include/postgres/storage/dsm.h +61 -0
  327. data/ext/pg_query/include/postgres/storage/dsm_impl.h +79 -0
  328. data/ext/pg_query/include/postgres/storage/fd.h +219 -0
  329. data/ext/pg_query/include/postgres/storage/fileset.h +40 -0
  330. data/ext/pg_query/include/postgres/storage/ipc.h +87 -0
  331. data/ext/pg_query/include/postgres/storage/item.h +19 -0
  332. data/ext/pg_query/include/postgres/storage/itemid.h +184 -0
  333. data/ext/pg_query/include/postgres/storage/itemptr.h +245 -0
  334. data/ext/pg_query/include/postgres/storage/large_object.h +100 -0
  335. data/ext/pg_query/include/postgres/storage/latch.h +196 -0
  336. data/ext/pg_query/include/postgres/storage/lmgr.h +126 -0
  337. data/ext/pg_query/include/postgres/storage/lock.h +624 -0
  338. data/ext/pg_query/include/postgres/storage/lockdefs.h +61 -0
  339. data/ext/pg_query/include/postgres/storage/lwlock.h +228 -0
  340. data/ext/pg_query/include/postgres/storage/lwlocknames.h +47 -0
  341. data/ext/pg_query/include/postgres/storage/off.h +57 -0
  342. data/ext/pg_query/include/postgres/storage/pg_sema.h +61 -0
  343. data/ext/pg_query/include/postgres/storage/pg_shmem.h +93 -0
  344. data/ext/pg_query/include/postgres/storage/pmsignal.h +105 -0
  345. data/ext/pg_query/include/postgres/storage/predicate.h +83 -0
  346. data/ext/pg_query/include/postgres/storage/proc.h +488 -0
  347. data/ext/pg_query/include/postgres/storage/procarray.h +103 -0
  348. data/ext/pg_query/include/postgres/storage/proclist_types.h +53 -0
  349. data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
  350. data/ext/pg_query/include/postgres/storage/procsignal.h +75 -0
  351. data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
  352. data/ext/pg_query/include/postgres/storage/relfilelocator.h +100 -0
  353. data/ext/pg_query/include/postgres/storage/s_lock.h +847 -0
  354. data/ext/pg_query/include/postgres/storage/sharedfileset.h +37 -0
  355. data/ext/pg_query/include/postgres/storage/shm_mq.h +86 -0
  356. data/ext/pg_query/include/postgres/storage/shm_toc.h +58 -0
  357. data/ext/pg_query/include/postgres/storage/shmem.h +59 -0
  358. data/ext/pg_query/include/postgres/storage/sinval.h +153 -0
  359. data/ext/pg_query/include/postgres/storage/smgr.h +130 -0
  360. data/ext/pg_query/include/postgres/storage/spin.h +77 -0
  361. data/ext/pg_query/include/postgres/storage/standby.h +109 -0
  362. data/ext/pg_query/include/postgres/storage/standbydefs.h +74 -0
  363. data/ext/pg_query/include/postgres/storage/sync.h +66 -0
  364. data/ext/pg_query/include/postgres/tcop/cmdtag.h +62 -0
  365. data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +219 -0
  366. data/ext/pg_query/include/postgres/tcop/deparse_utility.h +108 -0
  367. data/ext/pg_query/include/postgres/tcop/dest.h +148 -0
  368. data/ext/pg_query/include/postgres/tcop/fastpath.h +20 -0
  369. data/ext/pg_query/include/postgres/tcop/pquery.h +51 -0
  370. data/ext/pg_query/include/postgres/tcop/tcopprot.h +98 -0
  371. data/ext/pg_query/include/postgres/tcop/utility.h +112 -0
  372. data/ext/pg_query/include/postgres/tsearch/ts_cache.h +96 -0
  373. data/ext/pg_query/include/postgres/utils/acl.h +290 -0
  374. data/ext/pg_query/include/postgres/utils/aclchk_internal.h +45 -0
  375. data/ext/pg_query/include/postgres/utils/array.h +481 -0
  376. data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
  377. data/ext/pg_query/include/postgres/utils/backend_progress.h +46 -0
  378. data/ext/pg_query/include/postgres/utils/backend_status.h +340 -0
  379. data/ext/pg_query/include/postgres/utils/builtins.h +139 -0
  380. data/ext/pg_query/include/postgres/utils/bytea.h +28 -0
  381. data/ext/pg_query/include/postgres/utils/catcache.h +231 -0
  382. data/ext/pg_query/include/postgres/utils/date.h +118 -0
  383. data/ext/pg_query/include/postgres/utils/datetime.h +367 -0
  384. data/ext/pg_query/include/postgres/utils/datum.h +76 -0
  385. data/ext/pg_query/include/postgres/utils/dsa.h +166 -0
  386. data/ext/pg_query/include/postgres/utils/elog.h +540 -0
  387. data/ext/pg_query/include/postgres/utils/errcodes.h +352 -0
  388. data/ext/pg_query/include/postgres/utils/expandeddatum.h +170 -0
  389. data/ext/pg_query/include/postgres/utils/expandedrecord.h +241 -0
  390. data/ext/pg_query/include/postgres/utils/float.h +357 -0
  391. data/ext/pg_query/include/postgres/utils/fmgroids.h +3347 -0
  392. data/ext/pg_query/include/postgres/utils/fmgrprotos.h +2904 -0
  393. data/ext/pg_query/include/postgres/utils/fmgrtab.h +49 -0
  394. data/ext/pg_query/include/postgres/utils/guc.h +456 -0
  395. data/ext/pg_query/include/postgres/utils/guc_hooks.h +184 -0
  396. data/ext/pg_query/include/postgres/utils/guc_tables.h +323 -0
  397. data/ext/pg_query/include/postgres/utils/hsearch.h +153 -0
  398. data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
  399. data/ext/pg_query/include/postgres/utils/inval.h +68 -0
  400. data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
  401. data/ext/pg_query/include/postgres/utils/lsyscache.h +215 -0
  402. data/ext/pg_query/include/postgres/utils/memdebug.h +82 -0
  403. data/ext/pg_query/include/postgres/utils/memutils.h +193 -0
  404. data/ext/pg_query/include/postgres/utils/memutils_internal.h +176 -0
  405. data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +253 -0
  406. data/ext/pg_query/include/postgres/utils/numeric.h +110 -0
  407. data/ext/pg_query/include/postgres/utils/palloc.h +151 -0
  408. data/ext/pg_query/include/postgres/utils/partcache.h +103 -0
  409. data/ext/pg_query/include/postgres/utils/pg_locale.h +136 -0
  410. data/ext/pg_query/include/postgres/utils/pgstat_internal.h +827 -0
  411. data/ext/pg_query/include/postgres/utils/plancache.h +238 -0
  412. data/ext/pg_query/include/postgres/utils/portal.h +252 -0
  413. data/ext/pg_query/include/postgres/utils/probes.h +114 -0
  414. data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
  415. data/ext/pg_query/include/postgres/utils/queryenvironment.h +74 -0
  416. data/ext/pg_query/include/postgres/utils/regproc.h +39 -0
  417. data/ext/pg_query/include/postgres/utils/rel.h +711 -0
  418. data/ext/pg_query/include/postgres/utils/relcache.h +155 -0
  419. data/ext/pg_query/include/postgres/utils/reltrigger.h +81 -0
  420. data/ext/pg_query/include/postgres/utils/resowner.h +167 -0
  421. data/ext/pg_query/include/postgres/utils/ruleutils.h +52 -0
  422. data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +61 -0
  423. data/ext/pg_query/include/postgres/utils/snapmgr.h +130 -0
  424. data/ext/pg_query/include/postgres/utils/snapshot.h +219 -0
  425. data/ext/pg_query/include/postgres/utils/sortsupport.h +391 -0
  426. data/ext/pg_query/include/postgres/utils/syscache.h +136 -0
  427. data/ext/pg_query/include/postgres/utils/timeout.h +96 -0
  428. data/ext/pg_query/include/postgres/utils/timestamp.h +147 -0
  429. data/ext/pg_query/include/postgres/utils/tuplesort.h +472 -0
  430. data/ext/pg_query/include/postgres/utils/tuplestore.h +88 -0
  431. data/ext/pg_query/include/postgres/utils/typcache.h +210 -0
  432. data/ext/pg_query/include/postgres/utils/varlena.h +53 -0
  433. data/ext/pg_query/include/postgres/utils/wait_event.h +108 -0
  434. data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
  435. data/ext/pg_query/include/postgres/utils/xml.h +94 -0
  436. data/ext/pg_query/include/postgres/varatt.h +358 -0
  437. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +7723 -6368
  438. data/ext/pg_query/include/protobuf/pg_query.pb.h +120022 -87031
  439. data/ext/pg_query/pg_query.c +10 -1
  440. data/ext/pg_query/pg_query.pb-c.c +22595 -17738
  441. data/ext/pg_query/pg_query_deparse.c +1 -10635
  442. data/ext/pg_query/pg_query_fingerprint.c +12 -8
  443. data/ext/pg_query/pg_query_fingerprint.h +1 -1
  444. data/ext/pg_query/pg_query_internal.h +1 -1
  445. data/ext/pg_query/pg_query_json_plpgsql.c +1 -0
  446. data/ext/pg_query/pg_query_normalize.c +43 -2
  447. data/ext/pg_query/pg_query_outfuncs_json.c +9 -1
  448. data/ext/pg_query/pg_query_outfuncs_protobuf.c +3 -2
  449. data/ext/pg_query/pg_query_parse.c +47 -5
  450. data/ext/pg_query/pg_query_parse_plpgsql.c +19 -18
  451. data/ext/pg_query/pg_query_readfuncs_protobuf.c +3 -2
  452. data/ext/pg_query/pg_query_ruby.c +5 -0
  453. data/ext/pg_query/pg_query_scan.c +2 -2
  454. data/ext/pg_query/pg_query_split.c +3 -3
  455. data/ext/pg_query/postgres_deparse.c +11496 -0
  456. data/ext/pg_query/postgres_deparse.h +9 -0
  457. data/ext/pg_query/src_backend_catalog_namespace.c +243 -63
  458. data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -3
  459. data/ext/pg_query/src_backend_commands_define.c +2 -3
  460. data/ext/pg_query/src_backend_nodes_bitmapset.c +140 -156
  461. data/ext/pg_query/src_backend_nodes_copyfuncs.c +96 -6202
  462. data/ext/pg_query/src_backend_nodes_equalfuncs.c +95 -4068
  463. data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
  464. data/ext/pg_query/src_backend_nodes_list.c +16 -8
  465. data/ext/pg_query/src_backend_nodes_makefuncs.c +134 -1
  466. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +391 -133
  467. data/ext/pg_query/src_backend_nodes_value.c +1 -1
  468. data/ext/pg_query/src_backend_parser_gram.c +43710 -39953
  469. data/ext/pg_query/src_backend_parser_parser.c +34 -8
  470. data/ext/pg_query/src_backend_parser_scan.c +6971 -3373
  471. data/ext/pg_query/src_backend_parser_scansup.c +2 -1
  472. data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
  473. data/ext/pg_query/src_backend_tcop_postgres.c +99 -96
  474. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +2 -2
  475. data/ext/pg_query/src_backend_utils_adt_datum.c +2 -2
  476. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  477. data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
  478. data/ext/pg_query/src_backend_utils_adt_numutils.c +488 -0
  479. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +177 -30
  480. data/ext/pg_query/src_backend_utils_error_assert.c +4 -7
  481. data/ext/pg_query/src_backend_utils_error_elog.c +397 -270
  482. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +36 -2
  483. data/ext/pg_query/src_backend_utils_init_globals.c +20 -5
  484. data/ext/pg_query/src_backend_utils_mb_mbutils.c +31 -84
  485. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +502 -0
  486. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +166 -0
  487. data/ext/pg_query/src_backend_utils_mmgr_aset.c +704 -497
  488. data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
  489. data/ext/pg_query/src_backend_utils_mmgr_generation.c +1115 -0
  490. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +637 -233
  491. data/ext/pg_query/src_backend_utils_mmgr_slab.c +1079 -0
  492. data/ext/pg_query/src_common_encnames.c +46 -44
  493. data/ext/pg_query/src_common_hashfn.c +1 -1
  494. data/ext/pg_query/src_common_keywords.c +1 -1
  495. data/ext/pg_query/src_common_kwlist_d.h +586 -517
  496. data/ext/pg_query/src_common_kwlookup.c +1 -1
  497. data/ext/pg_query/src_common_psprintf.c +3 -3
  498. data/ext/pg_query/src_common_stringinfo.c +21 -4
  499. data/ext/pg_query/src_common_wchar.c +100 -116
  500. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +99 -5
  501. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -1
  502. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +829 -763
  503. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  504. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
  505. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +19 -1
  506. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +48 -46
  507. data/ext/pg_query/src_port_pg_bitutils.c +251 -32
  508. data/ext/pg_query/src_port_pgstrcasecmp.c +57 -1
  509. data/ext/pg_query/src_port_snprintf.c +20 -27
  510. data/ext/pg_query/src_port_strerror.c +1 -3
  511. data/ext/pg_query/src_port_strlcpy.c +79 -0
  512. data/lib/pg_query/fingerprint.rb +5 -8
  513. data/lib/pg_query/node.rb +16 -11
  514. data/lib/pg_query/param_refs.rb +2 -2
  515. data/lib/pg_query/parse.rb +6 -8
  516. data/lib/pg_query/parse_error.rb +1 -0
  517. data/lib/pg_query/pg_query_pb.rb +173 -3196
  518. data/lib/pg_query/scan.rb +1 -0
  519. data/lib/pg_query/treewalker.rb +52 -11
  520. data/lib/pg_query/truncate.rb +18 -20
  521. data/lib/pg_query/version.rb +1 -1
  522. metadata +443 -442
  523. data/ext/pg_query/guc-file.c +0 -0
  524. data/ext/pg_query/include/access/amapi.h +0 -290
  525. data/ext/pg_query/include/access/attmap.h +0 -52
  526. data/ext/pg_query/include/access/attnum.h +0 -64
  527. data/ext/pg_query/include/access/clog.h +0 -63
  528. data/ext/pg_query/include/access/commit_ts.h +0 -74
  529. data/ext/pg_query/include/access/detoast.h +0 -82
  530. data/ext/pg_query/include/access/genam.h +0 -231
  531. data/ext/pg_query/include/access/gin.h +0 -78
  532. data/ext/pg_query/include/access/htup.h +0 -89
  533. data/ext/pg_query/include/access/htup_details.h +0 -807
  534. data/ext/pg_query/include/access/itup.h +0 -167
  535. data/ext/pg_query/include/access/parallel.h +0 -82
  536. data/ext/pg_query/include/access/printtup.h +0 -35
  537. data/ext/pg_query/include/access/relation.h +0 -28
  538. data/ext/pg_query/include/access/relscan.h +0 -191
  539. data/ext/pg_query/include/access/rmgrlist.h +0 -49
  540. data/ext/pg_query/include/access/sdir.h +0 -58
  541. data/ext/pg_query/include/access/skey.h +0 -151
  542. data/ext/pg_query/include/access/stratnum.h +0 -85
  543. data/ext/pg_query/include/access/sysattr.h +0 -29
  544. data/ext/pg_query/include/access/table.h +0 -28
  545. data/ext/pg_query/include/access/tableam.h +0 -2077
  546. data/ext/pg_query/include/access/toast_compression.h +0 -73
  547. data/ext/pg_query/include/access/transam.h +0 -375
  548. data/ext/pg_query/include/access/tupconvert.h +0 -51
  549. data/ext/pg_query/include/access/tupdesc.h +0 -154
  550. data/ext/pg_query/include/access/tupmacs.h +0 -247
  551. data/ext/pg_query/include/access/twophase.h +0 -65
  552. data/ext/pg_query/include/access/xact.h +0 -523
  553. data/ext/pg_query/include/access/xlog.h +0 -303
  554. data/ext/pg_query/include/access/xlog_internal.h +0 -366
  555. data/ext/pg_query/include/access/xlogdefs.h +0 -101
  556. data/ext/pg_query/include/access/xlogprefetcher.h +0 -55
  557. data/ext/pg_query/include/access/xlogreader.h +0 -443
  558. data/ext/pg_query/include/access/xlogrecord.h +0 -236
  559. data/ext/pg_query/include/access/xlogrecovery.h +0 -157
  560. data/ext/pg_query/include/c.h +0 -1391
  561. data/ext/pg_query/include/catalog/catalog.h +0 -44
  562. data/ext/pg_query/include/catalog/catversion.h +0 -58
  563. data/ext/pg_query/include/catalog/dependency.h +0 -269
  564. data/ext/pg_query/include/catalog/genbki.h +0 -142
  565. data/ext/pg_query/include/catalog/index.h +0 -214
  566. data/ext/pg_query/include/catalog/indexing.h +0 -54
  567. data/ext/pg_query/include/catalog/namespace.h +0 -190
  568. data/ext/pg_query/include/catalog/objectaccess.h +0 -265
  569. data/ext/pg_query/include/catalog/objectaddress.h +0 -89
  570. data/ext/pg_query/include/catalog/pg_aggregate.h +0 -180
  571. data/ext/pg_query/include/catalog/pg_aggregate_d.h +0 -78
  572. data/ext/pg_query/include/catalog/pg_am.h +0 -63
  573. data/ext/pg_query/include/catalog/pg_am_d.h +0 -47
  574. data/ext/pg_query/include/catalog/pg_attribute.h +0 -221
  575. data/ext/pg_query/include/catalog/pg_attribute_d.h +0 -62
  576. data/ext/pg_query/include/catalog/pg_authid.h +0 -63
  577. data/ext/pg_query/include/catalog/pg_authid_d.h +0 -57
  578. data/ext/pg_query/include/catalog/pg_class.h +0 -230
  579. data/ext/pg_query/include/catalog/pg_class_d.h +0 -132
  580. data/ext/pg_query/include/catalog/pg_collation.h +0 -98
  581. data/ext/pg_query/include/catalog/pg_collation_d.h +0 -62
  582. data/ext/pg_query/include/catalog/pg_constraint.h +0 -273
  583. data/ext/pg_query/include/catalog/pg_constraint_d.h +0 -73
  584. data/ext/pg_query/include/catalog/pg_control.h +0 -250
  585. data/ext/pg_query/include/catalog/pg_conversion.h +0 -75
  586. data/ext/pg_query/include/catalog/pg_conversion_d.h +0 -38
  587. data/ext/pg_query/include/catalog/pg_depend.h +0 -77
  588. data/ext/pg_query/include/catalog/pg_depend_d.h +0 -36
  589. data/ext/pg_query/include/catalog/pg_event_trigger.h +0 -57
  590. data/ext/pg_query/include/catalog/pg_event_trigger_d.h +0 -36
  591. data/ext/pg_query/include/catalog/pg_index.h +0 -90
  592. data/ext/pg_query/include/catalog/pg_index_d.h +0 -59
  593. data/ext/pg_query/include/catalog/pg_language.h +0 -72
  594. data/ext/pg_query/include/catalog/pg_language_d.h +0 -41
  595. data/ext/pg_query/include/catalog/pg_namespace.h +0 -64
  596. data/ext/pg_query/include/catalog/pg_namespace_d.h +0 -36
  597. data/ext/pg_query/include/catalog/pg_opclass.h +0 -88
  598. data/ext/pg_query/include/catalog/pg_opclass_d.h +0 -51
  599. data/ext/pg_query/include/catalog/pg_operator.h +0 -107
  600. data/ext/pg_query/include/catalog/pg_operator_d.h +0 -142
  601. data/ext/pg_query/include/catalog/pg_opfamily.h +0 -63
  602. data/ext/pg_query/include/catalog/pg_opfamily_d.h +0 -49
  603. data/ext/pg_query/include/catalog/pg_parameter_acl.h +0 -60
  604. data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +0 -34
  605. data/ext/pg_query/include/catalog/pg_partitioned_table.h +0 -74
  606. data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +0 -36
  607. data/ext/pg_query/include/catalog/pg_proc.h +0 -220
  608. data/ext/pg_query/include/catalog/pg_proc_d.h +0 -101
  609. data/ext/pg_query/include/catalog/pg_publication.h +0 -161
  610. data/ext/pg_query/include/catalog/pg_publication_d.h +0 -38
  611. data/ext/pg_query/include/catalog/pg_replication_origin.h +0 -62
  612. data/ext/pg_query/include/catalog/pg_replication_origin_d.h +0 -33
  613. data/ext/pg_query/include/catalog/pg_statistic.h +0 -282
  614. data/ext/pg_query/include/catalog/pg_statistic_d.h +0 -195
  615. data/ext/pg_query/include/catalog/pg_statistic_ext.h +0 -88
  616. data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +0 -45
  617. data/ext/pg_query/include/catalog/pg_transform.h +0 -48
  618. data/ext/pg_query/include/catalog/pg_transform_d.h +0 -34
  619. data/ext/pg_query/include/catalog/pg_trigger.h +0 -153
  620. data/ext/pg_query/include/catalog/pg_trigger_d.h +0 -109
  621. data/ext/pg_query/include/catalog/pg_ts_config.h +0 -53
  622. data/ext/pg_query/include/catalog/pg_ts_config_d.h +0 -34
  623. data/ext/pg_query/include/catalog/pg_ts_dict.h +0 -59
  624. data/ext/pg_query/include/catalog/pg_ts_dict_d.h +0 -35
  625. data/ext/pg_query/include/catalog/pg_ts_parser.h +0 -60
  626. data/ext/pg_query/include/catalog/pg_ts_parser_d.h +0 -37
  627. data/ext/pg_query/include/catalog/pg_ts_template.h +0 -51
  628. data/ext/pg_query/include/catalog/pg_ts_template_d.h +0 -34
  629. data/ext/pg_query/include/catalog/pg_type.h +0 -404
  630. data/ext/pg_query/include/catalog/pg_type_d.h +0 -324
  631. data/ext/pg_query/include/catalog/storage.h +0 -50
  632. data/ext/pg_query/include/commands/async.h +0 -53
  633. data/ext/pg_query/include/commands/dbcommands.h +0 -36
  634. data/ext/pg_query/include/commands/defrem.h +0 -160
  635. data/ext/pg_query/include/commands/event_trigger.h +0 -88
  636. data/ext/pg_query/include/commands/explain.h +0 -127
  637. data/ext/pg_query/include/commands/prepare.h +0 -61
  638. data/ext/pg_query/include/commands/tablespace.h +0 -69
  639. data/ext/pg_query/include/commands/trigger.h +0 -287
  640. data/ext/pg_query/include/commands/user.h +0 -37
  641. data/ext/pg_query/include/commands/vacuum.h +0 -340
  642. data/ext/pg_query/include/commands/variable.h +0 -38
  643. data/ext/pg_query/include/common/file_perm.h +0 -56
  644. data/ext/pg_query/include/common/hashfn.h +0 -104
  645. data/ext/pg_query/include/common/ip.h +0 -31
  646. data/ext/pg_query/include/common/keywords.h +0 -29
  647. data/ext/pg_query/include/common/kwlookup.h +0 -44
  648. data/ext/pg_query/include/common/pg_prng.h +0 -60
  649. data/ext/pg_query/include/common/relpath.h +0 -90
  650. data/ext/pg_query/include/common/string.h +0 -42
  651. data/ext/pg_query/include/common/unicode_combining_table.h +0 -308
  652. data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +0 -125
  653. data/ext/pg_query/include/datatype/timestamp.h +0 -236
  654. data/ext/pg_query/include/executor/execdesc.h +0 -70
  655. data/ext/pg_query/include/executor/executor.h +0 -663
  656. data/ext/pg_query/include/executor/functions.h +0 -55
  657. data/ext/pg_query/include/executor/instrument.h +0 -118
  658. data/ext/pg_query/include/executor/spi.h +0 -213
  659. data/ext/pg_query/include/executor/tablefunc.h +0 -67
  660. data/ext/pg_query/include/executor/tuptable.h +0 -487
  661. data/ext/pg_query/include/fmgr.h +0 -781
  662. data/ext/pg_query/include/funcapi.h +0 -360
  663. data/ext/pg_query/include/getaddrinfo.h +0 -162
  664. data/ext/pg_query/include/jit/jit.h +0 -105
  665. data/ext/pg_query/include/kwlist_d.h +0 -1095
  666. data/ext/pg_query/include/lib/dshash.h +0 -112
  667. data/ext/pg_query/include/lib/ilist.h +0 -746
  668. data/ext/pg_query/include/lib/pairingheap.h +0 -102
  669. data/ext/pg_query/include/lib/simplehash.h +0 -1184
  670. data/ext/pg_query/include/lib/sort_template.h +0 -432
  671. data/ext/pg_query/include/lib/stringinfo.h +0 -161
  672. data/ext/pg_query/include/libpq/auth.h +0 -31
  673. data/ext/pg_query/include/libpq/crypt.h +0 -47
  674. data/ext/pg_query/include/libpq/hba.h +0 -179
  675. data/ext/pg_query/include/libpq/libpq-be.h +0 -343
  676. data/ext/pg_query/include/libpq/libpq.h +0 -144
  677. data/ext/pg_query/include/libpq/pqcomm.h +0 -194
  678. data/ext/pg_query/include/libpq/pqformat.h +0 -210
  679. data/ext/pg_query/include/libpq/pqsignal.h +0 -42
  680. data/ext/pg_query/include/mb/pg_wchar.h +0 -755
  681. data/ext/pg_query/include/mb/stringinfo_mb.h +0 -24
  682. data/ext/pg_query/include/miscadmin.h +0 -495
  683. data/ext/pg_query/include/nodes/bitmapset.h +0 -122
  684. data/ext/pg_query/include/nodes/execnodes.h +0 -2715
  685. data/ext/pg_query/include/nodes/extensible.h +0 -162
  686. data/ext/pg_query/include/nodes/lockoptions.h +0 -61
  687. data/ext/pg_query/include/nodes/makefuncs.h +0 -109
  688. data/ext/pg_query/include/nodes/memnodes.h +0 -110
  689. data/ext/pg_query/include/nodes/nodeFuncs.h +0 -162
  690. data/ext/pg_query/include/nodes/nodes.h +0 -861
  691. data/ext/pg_query/include/nodes/params.h +0 -170
  692. data/ext/pg_query/include/nodes/parsenodes.h +0 -3812
  693. data/ext/pg_query/include/nodes/pathnodes.h +0 -2734
  694. data/ext/pg_query/include/nodes/pg_list.h +0 -612
  695. data/ext/pg_query/include/nodes/plannodes.h +0 -1349
  696. data/ext/pg_query/include/nodes/primnodes.h +0 -1593
  697. data/ext/pg_query/include/nodes/print.h +0 -34
  698. data/ext/pg_query/include/nodes/tidbitmap.h +0 -75
  699. data/ext/pg_query/include/nodes/value.h +0 -80
  700. data/ext/pg_query/include/optimizer/cost.h +0 -213
  701. data/ext/pg_query/include/optimizer/geqo.h +0 -90
  702. data/ext/pg_query/include/optimizer/geqo_gene.h +0 -45
  703. data/ext/pg_query/include/optimizer/optimizer.h +0 -202
  704. data/ext/pg_query/include/optimizer/paths.h +0 -257
  705. data/ext/pg_query/include/optimizer/planmain.h +0 -120
  706. data/ext/pg_query/include/parser/analyze.h +0 -63
  707. data/ext/pg_query/include/parser/gram.h +0 -1101
  708. data/ext/pg_query/include/parser/gramparse.h +0 -75
  709. data/ext/pg_query/include/parser/kwlist.h +0 -487
  710. data/ext/pg_query/include/parser/parse_agg.h +0 -63
  711. data/ext/pg_query/include/parser/parse_coerce.h +0 -100
  712. data/ext/pg_query/include/parser/parse_expr.h +0 -25
  713. data/ext/pg_query/include/parser/parse_func.h +0 -74
  714. data/ext/pg_query/include/parser/parse_node.h +0 -339
  715. data/ext/pg_query/include/parser/parse_oper.h +0 -65
  716. data/ext/pg_query/include/parser/parse_relation.h +0 -124
  717. data/ext/pg_query/include/parser/parse_type.h +0 -60
  718. data/ext/pg_query/include/parser/parser.h +0 -68
  719. data/ext/pg_query/include/parser/parsetree.h +0 -61
  720. data/ext/pg_query/include/parser/scanner.h +0 -152
  721. data/ext/pg_query/include/parser/scansup.h +0 -27
  722. data/ext/pg_query/include/partitioning/partdefs.h +0 -26
  723. data/ext/pg_query/include/pg_config.h +0 -1037
  724. data/ext/pg_query/include/pg_config_manual.h +0 -410
  725. data/ext/pg_query/include/pg_config_os.h +0 -8
  726. data/ext/pg_query/include/pg_getopt.h +0 -56
  727. data/ext/pg_query/include/pg_trace.h +0 -17
  728. data/ext/pg_query/include/pgstat.h +0 -699
  729. data/ext/pg_query/include/pgtime.h +0 -94
  730. data/ext/pg_query/include/pl_gram.h +0 -383
  731. data/ext/pg_query/include/pl_reserved_kwlist.h +0 -52
  732. data/ext/pg_query/include/pl_reserved_kwlist_d.h +0 -114
  733. data/ext/pg_query/include/pl_unreserved_kwlist.h +0 -111
  734. data/ext/pg_query/include/pl_unreserved_kwlist_d.h +0 -244
  735. data/ext/pg_query/include/plerrcodes.h +0 -998
  736. data/ext/pg_query/include/plpgsql.h +0 -1345
  737. data/ext/pg_query/include/port/atomics/arch-arm.h +0 -32
  738. data/ext/pg_query/include/port/atomics/arch-ppc.h +0 -254
  739. data/ext/pg_query/include/port/atomics/arch-x86.h +0 -252
  740. data/ext/pg_query/include/port/atomics/fallback.h +0 -170
  741. data/ext/pg_query/include/port/atomics/generic-gcc.h +0 -286
  742. data/ext/pg_query/include/port/atomics/generic.h +0 -401
  743. data/ext/pg_query/include/port/atomics.h +0 -524
  744. data/ext/pg_query/include/port/pg_bitutils.h +0 -302
  745. data/ext/pg_query/include/port/pg_bswap.h +0 -161
  746. data/ext/pg_query/include/port/pg_crc32c.h +0 -101
  747. data/ext/pg_query/include/port.h +0 -553
  748. data/ext/pg_query/include/portability/instr_time.h +0 -256
  749. data/ext/pg_query/include/postgres.h +0 -808
  750. data/ext/pg_query/include/postgres_ext.h +0 -74
  751. data/ext/pg_query/include/postmaster/autovacuum.h +0 -83
  752. data/ext/pg_query/include/postmaster/auxprocess.h +0 -20
  753. data/ext/pg_query/include/postmaster/bgworker.h +0 -162
  754. data/ext/pg_query/include/postmaster/bgworker_internals.h +0 -64
  755. data/ext/pg_query/include/postmaster/bgwriter.h +0 -45
  756. data/ext/pg_query/include/postmaster/fork_process.h +0 -17
  757. data/ext/pg_query/include/postmaster/interrupt.h +0 -32
  758. data/ext/pg_query/include/postmaster/pgarch.h +0 -73
  759. data/ext/pg_query/include/postmaster/postmaster.h +0 -78
  760. data/ext/pg_query/include/postmaster/startup.h +0 -39
  761. data/ext/pg_query/include/postmaster/syslogger.h +0 -103
  762. data/ext/pg_query/include/postmaster/walwriter.h +0 -21
  763. data/ext/pg_query/include/regex/regex.h +0 -186
  764. data/ext/pg_query/include/replication/logicallauncher.h +0 -29
  765. data/ext/pg_query/include/replication/logicalproto.h +0 -254
  766. data/ext/pg_query/include/replication/logicalworker.h +0 -19
  767. data/ext/pg_query/include/replication/origin.h +0 -73
  768. data/ext/pg_query/include/replication/reorderbuffer.h +0 -685
  769. data/ext/pg_query/include/replication/slot.h +0 -230
  770. data/ext/pg_query/include/replication/syncrep.h +0 -115
  771. data/ext/pg_query/include/replication/walreceiver.h +0 -472
  772. data/ext/pg_query/include/replication/walsender.h +0 -74
  773. data/ext/pg_query/include/rewrite/prs2lock.h +0 -46
  774. data/ext/pg_query/include/rewrite/rewriteHandler.h +0 -38
  775. data/ext/pg_query/include/rewrite/rewriteManip.h +0 -87
  776. data/ext/pg_query/include/rewrite/rewriteSupport.h +0 -26
  777. data/ext/pg_query/include/storage/backendid.h +0 -37
  778. data/ext/pg_query/include/storage/block.h +0 -115
  779. data/ext/pg_query/include/storage/buf.h +0 -46
  780. data/ext/pg_query/include/storage/bufmgr.h +0 -297
  781. data/ext/pg_query/include/storage/bufpage.h +0 -457
  782. data/ext/pg_query/include/storage/condition_variable.h +0 -73
  783. data/ext/pg_query/include/storage/dsm.h +0 -64
  784. data/ext/pg_query/include/storage/dsm_impl.h +0 -76
  785. data/ext/pg_query/include/storage/fd.h +0 -198
  786. data/ext/pg_query/include/storage/fileset.h +0 -40
  787. data/ext/pg_query/include/storage/ipc.h +0 -84
  788. data/ext/pg_query/include/storage/item.h +0 -19
  789. data/ext/pg_query/include/storage/itemid.h +0 -184
  790. data/ext/pg_query/include/storage/itemptr.h +0 -208
  791. data/ext/pg_query/include/storage/large_object.h +0 -100
  792. data/ext/pg_query/include/storage/latch.h +0 -186
  793. data/ext/pg_query/include/storage/lmgr.h +0 -115
  794. data/ext/pg_query/include/storage/lock.h +0 -616
  795. data/ext/pg_query/include/storage/lockdefs.h +0 -59
  796. data/ext/pg_query/include/storage/lwlock.h +0 -206
  797. data/ext/pg_query/include/storage/lwlocknames.h +0 -50
  798. data/ext/pg_query/include/storage/off.h +0 -57
  799. data/ext/pg_query/include/storage/pg_sema.h +0 -61
  800. data/ext/pg_query/include/storage/pg_shmem.h +0 -92
  801. data/ext/pg_query/include/storage/pmsignal.h +0 -105
  802. data/ext/pg_query/include/storage/predicate.h +0 -87
  803. data/ext/pg_query/include/storage/proc.h +0 -461
  804. data/ext/pg_query/include/storage/procarray.h +0 -98
  805. data/ext/pg_query/include/storage/proclist_types.h +0 -51
  806. data/ext/pg_query/include/storage/procsignal.h +0 -71
  807. data/ext/pg_query/include/storage/relfilenode.h +0 -99
  808. data/ext/pg_query/include/storage/s_lock.h +0 -1110
  809. data/ext/pg_query/include/storage/sharedfileset.h +0 -37
  810. data/ext/pg_query/include/storage/shm_mq.h +0 -86
  811. data/ext/pg_query/include/storage/shm_toc.h +0 -58
  812. data/ext/pg_query/include/storage/shmem.h +0 -81
  813. data/ext/pg_query/include/storage/sinval.h +0 -153
  814. data/ext/pg_query/include/storage/sinvaladt.h +0 -43
  815. data/ext/pg_query/include/storage/smgr.h +0 -111
  816. data/ext/pg_query/include/storage/spin.h +0 -77
  817. data/ext/pg_query/include/storage/standby.h +0 -98
  818. data/ext/pg_query/include/storage/standbydefs.h +0 -74
  819. data/ext/pg_query/include/storage/sync.h +0 -66
  820. data/ext/pg_query/include/tcop/cmdtag.h +0 -58
  821. data/ext/pg_query/include/tcop/cmdtaglist.h +0 -218
  822. data/ext/pg_query/include/tcop/deparse_utility.h +0 -108
  823. data/ext/pg_query/include/tcop/dest.h +0 -149
  824. data/ext/pg_query/include/tcop/fastpath.h +0 -20
  825. data/ext/pg_query/include/tcop/pquery.h +0 -51
  826. data/ext/pg_query/include/tcop/tcopprot.h +0 -97
  827. data/ext/pg_query/include/tcop/utility.h +0 -112
  828. data/ext/pg_query/include/tsearch/ts_cache.h +0 -98
  829. data/ext/pg_query/include/utils/acl.h +0 -333
  830. data/ext/pg_query/include/utils/aclchk_internal.h +0 -45
  831. data/ext/pg_query/include/utils/array.h +0 -464
  832. data/ext/pg_query/include/utils/backend_progress.h +0 -44
  833. data/ext/pg_query/include/utils/backend_status.h +0 -321
  834. data/ext/pg_query/include/utils/builtins.h +0 -127
  835. data/ext/pg_query/include/utils/bytea.h +0 -28
  836. data/ext/pg_query/include/utils/catcache.h +0 -231
  837. data/ext/pg_query/include/utils/date.h +0 -90
  838. data/ext/pg_query/include/utils/datetime.h +0 -344
  839. data/ext/pg_query/include/utils/datum.h +0 -76
  840. data/ext/pg_query/include/utils/dsa.h +0 -123
  841. data/ext/pg_query/include/utils/dynahash.h +0 -20
  842. data/ext/pg_query/include/utils/elog.h +0 -470
  843. data/ext/pg_query/include/utils/errcodes.h +0 -354
  844. data/ext/pg_query/include/utils/expandeddatum.h +0 -159
  845. data/ext/pg_query/include/utils/expandedrecord.h +0 -231
  846. data/ext/pg_query/include/utils/float.h +0 -356
  847. data/ext/pg_query/include/utils/fmgroids.h +0 -3261
  848. data/ext/pg_query/include/utils/fmgrprotos.h +0 -2829
  849. data/ext/pg_query/include/utils/fmgrtab.h +0 -49
  850. data/ext/pg_query/include/utils/guc.h +0 -469
  851. data/ext/pg_query/include/utils/guc_tables.h +0 -276
  852. data/ext/pg_query/include/utils/hsearch.h +0 -153
  853. data/ext/pg_query/include/utils/inval.h +0 -68
  854. data/ext/pg_query/include/utils/lsyscache.h +0 -208
  855. data/ext/pg_query/include/utils/memdebug.h +0 -82
  856. data/ext/pg_query/include/utils/memutils.h +0 -230
  857. data/ext/pg_query/include/utils/numeric.h +0 -90
  858. data/ext/pg_query/include/utils/palloc.h +0 -158
  859. data/ext/pg_query/include/utils/partcache.h +0 -102
  860. data/ext/pg_query/include/utils/pg_locale.h +0 -127
  861. data/ext/pg_query/include/utils/pg_lsn.h +0 -29
  862. data/ext/pg_query/include/utils/pgstat_internal.h +0 -784
  863. data/ext/pg_query/include/utils/pidfile.h +0 -56
  864. data/ext/pg_query/include/utils/plancache.h +0 -236
  865. data/ext/pg_query/include/utils/portal.h +0 -252
  866. data/ext/pg_query/include/utils/probes.h +0 -114
  867. data/ext/pg_query/include/utils/ps_status.h +0 -25
  868. data/ext/pg_query/include/utils/queryenvironment.h +0 -74
  869. data/ext/pg_query/include/utils/queryjumble.h +0 -88
  870. data/ext/pg_query/include/utils/regproc.h +0 -39
  871. data/ext/pg_query/include/utils/rel.h +0 -695
  872. data/ext/pg_query/include/utils/relcache.h +0 -153
  873. data/ext/pg_query/include/utils/reltrigger.h +0 -81
  874. data/ext/pg_query/include/utils/resowner.h +0 -86
  875. data/ext/pg_query/include/utils/rls.h +0 -50
  876. data/ext/pg_query/include/utils/ruleutils.h +0 -47
  877. data/ext/pg_query/include/utils/sharedtuplestore.h +0 -61
  878. data/ext/pg_query/include/utils/snapmgr.h +0 -179
  879. data/ext/pg_query/include/utils/snapshot.h +0 -219
  880. data/ext/pg_query/include/utils/sortsupport.h +0 -391
  881. data/ext/pg_query/include/utils/syscache.h +0 -224
  882. data/ext/pg_query/include/utils/timeout.h +0 -95
  883. data/ext/pg_query/include/utils/timestamp.h +0 -117
  884. data/ext/pg_query/include/utils/tuplesort.h +0 -291
  885. data/ext/pg_query/include/utils/tuplestore.h +0 -91
  886. data/ext/pg_query/include/utils/typcache.h +0 -209
  887. data/ext/pg_query/include/utils/tzparser.h +0 -39
  888. data/ext/pg_query/include/utils/varlena.h +0 -41
  889. data/ext/pg_query/include/utils/wait_event.h +0 -289
  890. data/ext/pg_query/include/utils/xml.h +0 -84
  891. data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2201
  892. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -371
  893. data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1116
  894. data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1993
  895. data/ext/pg_query/src_common_pg_prng.c +0 -152
  896. data/ext/pg_query/src_common_string.c +0 -92
  897. data/ext/pg_query/src_port_pgsleep.c +0 -69
  898. data/ext/pg_query/src_port_strnlen.c +0 -39
  899. /data/ext/pg_query/{pg_query_ruby.sym → ext_symbols.sym} +0 -0
  900. /data/ext/pg_query/include/{access → postgres/access}/rmgr.h +0 -0
  901. /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
@@ -3,11 +3,14 @@
3
3
  static Alias * _readAlias(OUT_TYPE(Alias, Alias) msg);
4
4
  static RangeVar * _readRangeVar(OUT_TYPE(RangeVar, RangeVar) msg);
5
5
  static TableFunc * _readTableFunc(OUT_TYPE(TableFunc, TableFunc) msg);
6
+ static IntoClause * _readIntoClause(OUT_TYPE(IntoClause, IntoClause) msg);
6
7
  static Var * _readVar(OUT_TYPE(Var, Var) msg);
7
8
  static Param * _readParam(OUT_TYPE(Param, Param) msg);
8
9
  static Aggref * _readAggref(OUT_TYPE(Aggref, Aggref) msg);
9
10
  static GroupingFunc * _readGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) msg);
10
11
  static WindowFunc * _readWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) msg);
12
+ static WindowFuncRunCondition * _readWindowFuncRunCondition(OUT_TYPE(WindowFuncRunCondition, WindowFuncRunCondition) msg);
13
+ static MergeSupportFunc * _readMergeSupportFunc(OUT_TYPE(MergeSupportFunc, MergeSupportFunc) msg);
11
14
  static SubscriptingRef * _readSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) msg);
12
15
  static FuncExpr * _readFuncExpr(OUT_TYPE(FuncExpr, FuncExpr) msg);
13
16
  static NamedArgExpr * _readNamedArgExpr(OUT_TYPE(NamedArgExpr, NamedArgExpr) msg);
@@ -36,8 +39,19 @@ static CoalesceExpr * _readCoalesceExpr(OUT_TYPE(CoalesceExpr, CoalesceExpr) msg
36
39
  static MinMaxExpr * _readMinMaxExpr(OUT_TYPE(MinMaxExpr, MinMaxExpr) msg);
37
40
  static SQLValueFunction * _readSQLValueFunction(OUT_TYPE(SQLValueFunction, SQLValueFunction) msg);
38
41
  static XmlExpr * _readXmlExpr(OUT_TYPE(XmlExpr, XmlExpr) msg);
42
+ static JsonFormat * _readJsonFormat(OUT_TYPE(JsonFormat, JsonFormat) msg);
43
+ static JsonReturning * _readJsonReturning(OUT_TYPE(JsonReturning, JsonReturning) msg);
44
+ static JsonValueExpr * _readJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) msg);
45
+ static JsonConstructorExpr * _readJsonConstructorExpr(OUT_TYPE(JsonConstructorExpr, JsonConstructorExpr) msg);
46
+ static JsonIsPredicate * _readJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) msg);
47
+ static JsonBehavior * _readJsonBehavior(OUT_TYPE(JsonBehavior, JsonBehavior) msg);
48
+ static JsonExpr * _readJsonExpr(OUT_TYPE(JsonExpr, JsonExpr) msg);
49
+ static JsonTablePath * _readJsonTablePath(OUT_TYPE(JsonTablePath, JsonTablePath) msg);
50
+ static JsonTablePathScan * _readJsonTablePathScan(OUT_TYPE(JsonTablePathScan, JsonTablePathScan) msg);
51
+ static JsonTableSiblingJoin * _readJsonTableSiblingJoin(OUT_TYPE(JsonTableSiblingJoin, JsonTableSiblingJoin) msg);
39
52
  static NullTest * _readNullTest(OUT_TYPE(NullTest, NullTest) msg);
40
53
  static BooleanTest * _readBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) msg);
54
+ static MergeAction * _readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg);
41
55
  static CoerceToDomain * _readCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) msg);
42
56
  static CoerceToDomainValue * _readCoerceToDomainValue(OUT_TYPE(CoerceToDomainValue, CoerceToDomainValue) msg);
43
57
  static SetToDefault * _readSetToDefault(OUT_TYPE(SetToDefault, SetToDefault) msg);
@@ -49,186 +63,202 @@ static RangeTblRef * _readRangeTblRef(OUT_TYPE(RangeTblRef, RangeTblRef) msg);
49
63
  static JoinExpr * _readJoinExpr(OUT_TYPE(JoinExpr, JoinExpr) msg);
50
64
  static FromExpr * _readFromExpr(OUT_TYPE(FromExpr, FromExpr) msg);
51
65
  static OnConflictExpr * _readOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) msg);
52
- static IntoClause * _readIntoClause(OUT_TYPE(IntoClause, IntoClause) msg);
53
- static MergeAction * _readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg);
54
- static RawStmt * _readRawStmt(OUT_TYPE(RawStmt, RawStmt) msg);
55
66
  static Query * _readQuery(OUT_TYPE(Query, Query) msg);
67
+ static TypeName * _readTypeName(OUT_TYPE(TypeName, TypeName) msg);
68
+ static ColumnRef * _readColumnRef(OUT_TYPE(ColumnRef, ColumnRef) msg);
69
+ static ParamRef * _readParamRef(OUT_TYPE(ParamRef, ParamRef) msg);
70
+ static A_Expr * _readAExpr(OUT_TYPE(A_Expr, AExpr) msg);
71
+ static TypeCast * _readTypeCast(OUT_TYPE(TypeCast, TypeCast) msg);
72
+ static CollateClause * _readCollateClause(OUT_TYPE(CollateClause, CollateClause) msg);
73
+ static RoleSpec * _readRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) msg);
74
+ static FuncCall * _readFuncCall(OUT_TYPE(FuncCall, FuncCall) msg);
75
+ static A_Star * _readAStar(OUT_TYPE(A_Star, AStar) msg);
76
+ static A_Indices * _readAIndices(OUT_TYPE(A_Indices, AIndices) msg);
77
+ static A_Indirection * _readAIndirection(OUT_TYPE(A_Indirection, AIndirection) msg);
78
+ static A_ArrayExpr * _readAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) msg);
79
+ static ResTarget * _readResTarget(OUT_TYPE(ResTarget, ResTarget) msg);
80
+ static MultiAssignRef * _readMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) msg);
81
+ static SortBy * _readSortBy(OUT_TYPE(SortBy, SortBy) msg);
82
+ static WindowDef * _readWindowDef(OUT_TYPE(WindowDef, WindowDef) msg);
83
+ static RangeSubselect * _readRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) msg);
84
+ static RangeFunction * _readRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) msg);
85
+ static RangeTableFunc * _readRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) msg);
86
+ static RangeTableFuncCol * _readRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) msg);
87
+ static RangeTableSample * _readRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) msg);
88
+ static ColumnDef * _readColumnDef(OUT_TYPE(ColumnDef, ColumnDef) msg);
89
+ static TableLikeClause * _readTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) msg);
90
+ static IndexElem * _readIndexElem(OUT_TYPE(IndexElem, IndexElem) msg);
91
+ static DefElem * _readDefElem(OUT_TYPE(DefElem, DefElem) msg);
92
+ static LockingClause * _readLockingClause(OUT_TYPE(LockingClause, LockingClause) msg);
93
+ static XmlSerialize * _readXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) msg);
94
+ static PartitionElem * _readPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) msg);
95
+ static PartitionSpec * _readPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) msg);
96
+ static PartitionBoundSpec * _readPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) msg);
97
+ static PartitionRangeDatum * _readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg);
98
+ static SinglePartitionSpec * _readSinglePartitionSpec(OUT_TYPE(SinglePartitionSpec, SinglePartitionSpec) msg);
99
+ static PartitionCmd * _readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg);
100
+ static RangeTblEntry * _readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg);
101
+ static RTEPermissionInfo * _readRTEPermissionInfo(OUT_TYPE(RTEPermissionInfo, RTEPermissionInfo) msg);
102
+ static RangeTblFunction * _readRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) msg);
103
+ static TableSampleClause * _readTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) msg);
104
+ static WithCheckOption * _readWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) msg);
105
+ static SortGroupClause * _readSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) msg);
106
+ static GroupingSet * _readGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) msg);
107
+ static WindowClause * _readWindowClause(OUT_TYPE(WindowClause, WindowClause) msg);
108
+ static RowMarkClause * _readRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) msg);
109
+ static WithClause * _readWithClause(OUT_TYPE(WithClause, WithClause) msg);
110
+ static InferClause * _readInferClause(OUT_TYPE(InferClause, InferClause) msg);
111
+ static OnConflictClause * _readOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) msg);
112
+ static CTESearchClause * _readCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) msg);
113
+ static CTECycleClause * _readCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) msg);
114
+ static CommonTableExpr * _readCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) msg);
115
+ static MergeWhenClause * _readMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) msg);
116
+ static TriggerTransition * _readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg);
117
+ static JsonOutput * _readJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) msg);
118
+ static JsonArgument * _readJsonArgument(OUT_TYPE(JsonArgument, JsonArgument) msg);
119
+ static JsonFuncExpr * _readJsonFuncExpr(OUT_TYPE(JsonFuncExpr, JsonFuncExpr) msg);
120
+ static JsonTablePathSpec * _readJsonTablePathSpec(OUT_TYPE(JsonTablePathSpec, JsonTablePathSpec) msg);
121
+ static JsonTable * _readJsonTable(OUT_TYPE(JsonTable, JsonTable) msg);
122
+ static JsonTableColumn * _readJsonTableColumn(OUT_TYPE(JsonTableColumn, JsonTableColumn) msg);
123
+ static JsonKeyValue * _readJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) msg);
124
+ static JsonParseExpr * _readJsonParseExpr(OUT_TYPE(JsonParseExpr, JsonParseExpr) msg);
125
+ static JsonScalarExpr * _readJsonScalarExpr(OUT_TYPE(JsonScalarExpr, JsonScalarExpr) msg);
126
+ static JsonSerializeExpr * _readJsonSerializeExpr(OUT_TYPE(JsonSerializeExpr, JsonSerializeExpr) msg);
127
+ static JsonObjectConstructor * _readJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) msg);
128
+ static JsonArrayConstructor * _readJsonArrayConstructor(OUT_TYPE(JsonArrayConstructor, JsonArrayConstructor) msg);
129
+ static JsonArrayQueryConstructor * _readJsonArrayQueryConstructor(OUT_TYPE(JsonArrayQueryConstructor, JsonArrayQueryConstructor) msg);
130
+ static JsonAggConstructor * _readJsonAggConstructor(OUT_TYPE(JsonAggConstructor, JsonAggConstructor) msg);
131
+ static JsonObjectAgg * _readJsonObjectAgg(OUT_TYPE(JsonObjectAgg, JsonObjectAgg) msg);
132
+ static JsonArrayAgg * _readJsonArrayAgg(OUT_TYPE(JsonArrayAgg, JsonArrayAgg) msg);
133
+ static RawStmt * _readRawStmt(OUT_TYPE(RawStmt, RawStmt) msg);
56
134
  static InsertStmt * _readInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) msg);
57
135
  static DeleteStmt * _readDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) msg);
58
136
  static UpdateStmt * _readUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) msg);
59
137
  static MergeStmt * _readMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) msg);
60
138
  static SelectStmt * _readSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) msg);
139
+ static SetOperationStmt * _readSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) msg);
61
140
  static ReturnStmt * _readReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) msg);
62
141
  static PLAssignStmt * _readPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) msg);
142
+ static CreateSchemaStmt * _readCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) msg);
63
143
  static AlterTableStmt * _readAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) msg);
144
+ static ReplicaIdentityStmt * _readReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) msg);
64
145
  static AlterTableCmd * _readAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) msg);
146
+ static AlterCollationStmt * _readAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) msg);
65
147
  static AlterDomainStmt * _readAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) msg);
66
- static SetOperationStmt * _readSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) msg);
67
148
  static GrantStmt * _readGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) msg);
149
+ static ObjectWithArgs * _readObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) msg);
150
+ static AccessPriv * _readAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) msg);
68
151
  static GrantRoleStmt * _readGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) msg);
69
152
  static AlterDefaultPrivilegesStmt * _readAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) msg);
70
- static ClosePortalStmt * _readClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) msg);
71
- static ClusterStmt * _readClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) msg);
72
153
  static CopyStmt * _readCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) msg);
154
+ static VariableSetStmt * _readVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) msg);
155
+ static VariableShowStmt * _readVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) msg);
73
156
  static CreateStmt * _readCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) msg);
157
+ static Constraint * _readConstraint(OUT_TYPE(Constraint, Constraint) msg);
158
+ static CreateTableSpaceStmt * _readCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) msg);
159
+ static DropTableSpaceStmt * _readDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) msg);
160
+ static AlterTableSpaceOptionsStmt * _readAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) msg);
161
+ static AlterTableMoveAllStmt * _readAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) msg);
162
+ static CreateExtensionStmt * _readCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) msg);
163
+ static AlterExtensionStmt * _readAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) msg);
164
+ static AlterExtensionContentsStmt * _readAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) msg);
165
+ static CreateFdwStmt * _readCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) msg);
166
+ static AlterFdwStmt * _readAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) msg);
167
+ static CreateForeignServerStmt * _readCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) msg);
168
+ static AlterForeignServerStmt * _readAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) msg);
169
+ static CreateForeignTableStmt * _readCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) msg);
170
+ static CreateUserMappingStmt * _readCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) msg);
171
+ static AlterUserMappingStmt * _readAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) msg);
172
+ static DropUserMappingStmt * _readDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) msg);
173
+ static ImportForeignSchemaStmt * _readImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) msg);
174
+ static CreatePolicyStmt * _readCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) msg);
175
+ static AlterPolicyStmt * _readAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) msg);
176
+ static CreateAmStmt * _readCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) msg);
177
+ static CreateTrigStmt * _readCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) msg);
178
+ static CreateEventTrigStmt * _readCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) msg);
179
+ static AlterEventTrigStmt * _readAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) msg);
180
+ static CreatePLangStmt * _readCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) msg);
181
+ static CreateRoleStmt * _readCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) msg);
182
+ static AlterRoleStmt * _readAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) msg);
183
+ static AlterRoleSetStmt * _readAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) msg);
184
+ static DropRoleStmt * _readDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) msg);
185
+ static CreateSeqStmt * _readCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) msg);
186
+ static AlterSeqStmt * _readAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) msg);
74
187
  static DefineStmt * _readDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) msg);
188
+ static CreateDomainStmt * _readCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) msg);
189
+ static CreateOpClassStmt * _readCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) msg);
190
+ static CreateOpClassItem * _readCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) msg);
191
+ static CreateOpFamilyStmt * _readCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) msg);
192
+ static AlterOpFamilyStmt * _readAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) msg);
75
193
  static DropStmt * _readDropStmt(OUT_TYPE(DropStmt, DropStmt) msg);
76
194
  static TruncateStmt * _readTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) msg);
77
195
  static CommentStmt * _readCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) msg);
196
+ static SecLabelStmt * _readSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) msg);
197
+ static DeclareCursorStmt * _readDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) msg);
198
+ static ClosePortalStmt * _readClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) msg);
78
199
  static FetchStmt * _readFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) msg);
79
200
  static IndexStmt * _readIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) msg);
201
+ static CreateStatsStmt * _readCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) msg);
202
+ static StatsElem * _readStatsElem(OUT_TYPE(StatsElem, StatsElem) msg);
203
+ static AlterStatsStmt * _readAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) msg);
80
204
  static CreateFunctionStmt * _readCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) msg);
205
+ static FunctionParameter * _readFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) msg);
81
206
  static AlterFunctionStmt * _readAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) msg);
82
207
  static DoStmt * _readDoStmt(OUT_TYPE(DoStmt, DoStmt) msg);
208
+ static InlineCodeBlock * _readInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) msg);
209
+ static CallStmt * _readCallStmt(OUT_TYPE(CallStmt, CallStmt) msg);
210
+ static CallContext * _readCallContext(OUT_TYPE(CallContext, CallContext) msg);
83
211
  static RenameStmt * _readRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) msg);
212
+ static AlterObjectDependsStmt * _readAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) msg);
213
+ static AlterObjectSchemaStmt * _readAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) msg);
214
+ static AlterOwnerStmt * _readAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) msg);
215
+ static AlterOperatorStmt * _readAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) msg);
216
+ static AlterTypeStmt * _readAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) msg);
84
217
  static RuleStmt * _readRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) msg);
85
218
  static NotifyStmt * _readNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) msg);
86
219
  static ListenStmt * _readListenStmt(OUT_TYPE(ListenStmt, ListenStmt) msg);
87
220
  static UnlistenStmt * _readUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) msg);
88
221
  static TransactionStmt * _readTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) msg);
222
+ static CompositeTypeStmt * _readCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) msg);
223
+ static CreateEnumStmt * _readCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) msg);
224
+ static CreateRangeStmt * _readCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) msg);
225
+ static AlterEnumStmt * _readAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) msg);
89
226
  static ViewStmt * _readViewStmt(OUT_TYPE(ViewStmt, ViewStmt) msg);
90
227
  static LoadStmt * _readLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) msg);
91
- static CreateDomainStmt * _readCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) msg);
92
228
  static CreatedbStmt * _readCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) msg);
229
+ static AlterDatabaseStmt * _readAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) msg);
230
+ static AlterDatabaseRefreshCollStmt * _readAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) msg);
231
+ static AlterDatabaseSetStmt * _readAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) msg);
93
232
  static DropdbStmt * _readDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) msg);
233
+ static AlterSystemStmt * _readAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) msg);
234
+ static ClusterStmt * _readClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) msg);
94
235
  static VacuumStmt * _readVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) msg);
236
+ static VacuumRelation * _readVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) msg);
95
237
  static ExplainStmt * _readExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) msg);
96
238
  static CreateTableAsStmt * _readCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) msg);
97
- static CreateSeqStmt * _readCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) msg);
98
- static AlterSeqStmt * _readAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) msg);
99
- static VariableSetStmt * _readVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) msg);
100
- static VariableShowStmt * _readVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) msg);
239
+ static RefreshMatViewStmt * _readRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) msg);
240
+ static CheckPointStmt * _readCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) msg);
101
241
  static DiscardStmt * _readDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) msg);
102
- static CreateTrigStmt * _readCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) msg);
103
- static CreatePLangStmt * _readCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) msg);
104
- static CreateRoleStmt * _readCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) msg);
105
- static AlterRoleStmt * _readAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) msg);
106
- static DropRoleStmt * _readDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) msg);
107
242
  static LockStmt * _readLockStmt(OUT_TYPE(LockStmt, LockStmt) msg);
108
243
  static ConstraintsSetStmt * _readConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) msg);
109
244
  static ReindexStmt * _readReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) msg);
110
- static CheckPointStmt * _readCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) msg);
111
- static CreateSchemaStmt * _readCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) msg);
112
- static AlterDatabaseStmt * _readAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) msg);
113
- static AlterDatabaseRefreshCollStmt * _readAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) msg);
114
- static AlterDatabaseSetStmt * _readAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) msg);
115
- static AlterRoleSetStmt * _readAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) msg);
116
245
  static CreateConversionStmt * _readCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) msg);
117
246
  static CreateCastStmt * _readCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) msg);
118
- static CreateOpClassStmt * _readCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) msg);
119
- static CreateOpFamilyStmt * _readCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) msg);
120
- static AlterOpFamilyStmt * _readAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) msg);
247
+ static CreateTransformStmt * _readCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) msg);
121
248
  static PrepareStmt * _readPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) msg);
122
249
  static ExecuteStmt * _readExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) msg);
123
250
  static DeallocateStmt * _readDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) msg);
124
- static DeclareCursorStmt * _readDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) msg);
125
- static CreateTableSpaceStmt * _readCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) msg);
126
- static DropTableSpaceStmt * _readDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) msg);
127
- static AlterObjectDependsStmt * _readAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) msg);
128
- static AlterObjectSchemaStmt * _readAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) msg);
129
- static AlterOwnerStmt * _readAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) msg);
130
- static AlterOperatorStmt * _readAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) msg);
131
- static AlterTypeStmt * _readAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) msg);
132
251
  static DropOwnedStmt * _readDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) msg);
133
252
  static ReassignOwnedStmt * _readReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) msg);
134
- static CompositeTypeStmt * _readCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) msg);
135
- static CreateEnumStmt * _readCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) msg);
136
- static CreateRangeStmt * _readCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) msg);
137
- static AlterEnumStmt * _readAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) msg);
138
253
  static AlterTSDictionaryStmt * _readAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) msg);
139
254
  static AlterTSConfigurationStmt * _readAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) msg);
140
- static CreateFdwStmt * _readCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) msg);
141
- static AlterFdwStmt * _readAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) msg);
142
- static CreateForeignServerStmt * _readCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) msg);
143
- static AlterForeignServerStmt * _readAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) msg);
144
- static CreateUserMappingStmt * _readCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) msg);
145
- static AlterUserMappingStmt * _readAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) msg);
146
- static DropUserMappingStmt * _readDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) msg);
147
- static AlterTableSpaceOptionsStmt * _readAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) msg);
148
- static AlterTableMoveAllStmt * _readAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) msg);
149
- static SecLabelStmt * _readSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) msg);
150
- static CreateForeignTableStmt * _readCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) msg);
151
- static ImportForeignSchemaStmt * _readImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) msg);
152
- static CreateExtensionStmt * _readCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) msg);
153
- static AlterExtensionStmt * _readAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) msg);
154
- static AlterExtensionContentsStmt * _readAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) msg);
155
- static CreateEventTrigStmt * _readCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) msg);
156
- static AlterEventTrigStmt * _readAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) msg);
157
- static RefreshMatViewStmt * _readRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) msg);
158
- static ReplicaIdentityStmt * _readReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) msg);
159
- static AlterSystemStmt * _readAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) msg);
160
- static CreatePolicyStmt * _readCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) msg);
161
- static AlterPolicyStmt * _readAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) msg);
162
- static CreateTransformStmt * _readCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) msg);
163
- static CreateAmStmt * _readCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) msg);
255
+ static PublicationTable * _readPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) msg);
256
+ static PublicationObjSpec * _readPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) msg);
164
257
  static CreatePublicationStmt * _readCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) msg);
165
258
  static AlterPublicationStmt * _readAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) msg);
166
259
  static CreateSubscriptionStmt * _readCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) msg);
167
260
  static AlterSubscriptionStmt * _readAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) msg);
168
261
  static DropSubscriptionStmt * _readDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) msg);
169
- static CreateStatsStmt * _readCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) msg);
170
- static AlterCollationStmt * _readAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) msg);
171
- static CallStmt * _readCallStmt(OUT_TYPE(CallStmt, CallStmt) msg);
172
- static AlterStatsStmt * _readAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) msg);
173
- static A_Expr * _readAExpr(OUT_TYPE(A_Expr, AExpr) msg);
174
- static ColumnRef * _readColumnRef(OUT_TYPE(ColumnRef, ColumnRef) msg);
175
- static ParamRef * _readParamRef(OUT_TYPE(ParamRef, ParamRef) msg);
176
- static FuncCall * _readFuncCall(OUT_TYPE(FuncCall, FuncCall) msg);
177
- static A_Star * _readAStar(OUT_TYPE(A_Star, AStar) msg);
178
- static A_Indices * _readAIndices(OUT_TYPE(A_Indices, AIndices) msg);
179
- static A_Indirection * _readAIndirection(OUT_TYPE(A_Indirection, AIndirection) msg);
180
- static A_ArrayExpr * _readAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) msg);
181
- static ResTarget * _readResTarget(OUT_TYPE(ResTarget, ResTarget) msg);
182
- static MultiAssignRef * _readMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) msg);
183
- static TypeCast * _readTypeCast(OUT_TYPE(TypeCast, TypeCast) msg);
184
- static CollateClause * _readCollateClause(OUT_TYPE(CollateClause, CollateClause) msg);
185
- static SortBy * _readSortBy(OUT_TYPE(SortBy, SortBy) msg);
186
- static WindowDef * _readWindowDef(OUT_TYPE(WindowDef, WindowDef) msg);
187
- static RangeSubselect * _readRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) msg);
188
- static RangeFunction * _readRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) msg);
189
- static RangeTableSample * _readRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) msg);
190
- static RangeTableFunc * _readRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) msg);
191
- static RangeTableFuncCol * _readRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) msg);
192
- static TypeName * _readTypeName(OUT_TYPE(TypeName, TypeName) msg);
193
- static ColumnDef * _readColumnDef(OUT_TYPE(ColumnDef, ColumnDef) msg);
194
- static IndexElem * _readIndexElem(OUT_TYPE(IndexElem, IndexElem) msg);
195
- static StatsElem * _readStatsElem(OUT_TYPE(StatsElem, StatsElem) msg);
196
- static Constraint * _readConstraint(OUT_TYPE(Constraint, Constraint) msg);
197
- static DefElem * _readDefElem(OUT_TYPE(DefElem, DefElem) msg);
198
- static RangeTblEntry * _readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg);
199
- static RangeTblFunction * _readRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) msg);
200
- static TableSampleClause * _readTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) msg);
201
- static WithCheckOption * _readWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) msg);
202
- static SortGroupClause * _readSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) msg);
203
- static GroupingSet * _readGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) msg);
204
- static WindowClause * _readWindowClause(OUT_TYPE(WindowClause, WindowClause) msg);
205
- static ObjectWithArgs * _readObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) msg);
206
- static AccessPriv * _readAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) msg);
207
- static CreateOpClassItem * _readCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) msg);
208
- static TableLikeClause * _readTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) msg);
209
- static FunctionParameter * _readFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) msg);
210
- static LockingClause * _readLockingClause(OUT_TYPE(LockingClause, LockingClause) msg);
211
- static RowMarkClause * _readRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) msg);
212
- static XmlSerialize * _readXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) msg);
213
- static WithClause * _readWithClause(OUT_TYPE(WithClause, WithClause) msg);
214
- static InferClause * _readInferClause(OUT_TYPE(InferClause, InferClause) msg);
215
- static OnConflictClause * _readOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) msg);
216
- static CTESearchClause * _readCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) msg);
217
- static CTECycleClause * _readCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) msg);
218
- static CommonTableExpr * _readCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) msg);
219
- static MergeWhenClause * _readMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) msg);
220
- static RoleSpec * _readRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) msg);
221
- static TriggerTransition * _readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg);
222
- static PartitionElem * _readPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) msg);
223
- static PartitionSpec * _readPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) msg);
224
- static PartitionBoundSpec * _readPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) msg);
225
- static PartitionRangeDatum * _readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg);
226
- static PartitionCmd * _readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg);
227
- static VacuumRelation * _readVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) msg);
228
- static PublicationObjSpec * _readPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) msg);
229
- static PublicationTable * _readPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) msg);
230
- static InlineCodeBlock * _readInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) msg);
231
- static CallContext * _readCallContext(OUT_TYPE(CallContext, CallContext) msg);
232
262
 
233
263
 
234
264
  static Alias *
@@ -258,6 +288,7 @@ static TableFunc *
258
288
  _readTableFunc(OUT_TYPE(TableFunc, TableFunc) msg)
259
289
  {
260
290
  TableFunc *node = makeNode(TableFunc);
291
+ READ_ENUM_FIELD(TableFuncType, functype, functype, functype);
261
292
  READ_LIST_FIELD(ns_uris, ns_uris, ns_uris);
262
293
  READ_LIST_FIELD(ns_names, ns_names, ns_names);
263
294
  READ_NODE_PTR_FIELD(docexpr, docexpr, docexpr);
@@ -268,24 +299,41 @@ _readTableFunc(OUT_TYPE(TableFunc, TableFunc) msg)
268
299
  READ_LIST_FIELD(colcollations, colcollations, colcollations);
269
300
  READ_LIST_FIELD(colexprs, colexprs, colexprs);
270
301
  READ_LIST_FIELD(coldefexprs, coldefexprs, coldefexprs);
302
+ READ_LIST_FIELD(colvalexprs, colvalexprs, colvalexprs);
303
+ READ_LIST_FIELD(passingvalexprs, passingvalexprs, passingvalexprs);
271
304
  READ_BITMAPSET_FIELD(notnulls, notnulls, notnulls);
305
+ READ_NODE_PTR_FIELD(plan, plan, plan);
272
306
  READ_INT_FIELD(ordinalitycol, ordinalitycol, ordinalitycol);
273
307
  READ_INT_FIELD(location, location, location);
274
308
  return node;
275
309
  }
276
310
 
277
- static Var *
278
- _readVar(OUT_TYPE(Var, Var) msg)
311
+ static IntoClause *
312
+ _readIntoClause(OUT_TYPE(IntoClause, IntoClause) msg)
279
313
  {
280
- Var *node = makeNode(Var);
281
- READ_INT_FIELD(varno, varno, varno);
282
- READ_INT_FIELD(varattno, varattno, varattno);
283
- READ_UINT_FIELD(vartype, vartype, vartype);
314
+ IntoClause *node = makeNode(IntoClause);
315
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, rel, rel, rel);
316
+ READ_LIST_FIELD(col_names, colNames, colNames);
317
+ READ_STRING_FIELD(access_method, accessMethod, accessMethod);
318
+ READ_LIST_FIELD(options, options, options);
319
+ READ_ENUM_FIELD(OnCommitAction, on_commit, onCommit, onCommit);
320
+ READ_STRING_FIELD(table_space_name, tableSpaceName, tableSpaceName);
321
+ READ_NODE_PTR_FIELD(view_query, viewQuery, viewQuery);
322
+ READ_BOOL_FIELD(skip_data, skipData, skipData);
323
+ return node;
324
+ }
325
+
326
+ static Var *
327
+ _readVar(OUT_TYPE(Var, Var) msg)
328
+ {
329
+ Var *node = makeNode(Var);
330
+ READ_INT_FIELD(varno, varno, varno);
331
+ READ_INT_FIELD(varattno, varattno, varattno);
332
+ READ_UINT_FIELD(vartype, vartype, vartype);
284
333
  READ_INT_FIELD(vartypmod, vartypmod, vartypmod);
285
334
  READ_UINT_FIELD(varcollid, varcollid, varcollid);
335
+ READ_BITMAPSET_FIELD(varnullingrels, varnullingrels, varnullingrels);
286
336
  READ_UINT_FIELD(varlevelsup, varlevelsup, varlevelsup);
287
- READ_UINT_FIELD(varnosyn, varnosyn, varnosyn);
288
- READ_INT_FIELD(varattnosyn, varattnosyn, varattnosyn);
289
337
  READ_INT_FIELD(location, location, location);
290
338
  return node;
291
339
  }
@@ -311,13 +359,12 @@ _readAggref(OUT_TYPE(Aggref, Aggref) msg)
311
359
  READ_UINT_FIELD(aggtype, aggtype, aggtype);
312
360
  READ_UINT_FIELD(aggcollid, aggcollid, aggcollid);
313
361
  READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
314
- READ_UINT_FIELD(aggtranstype, aggtranstype, aggtranstype);
315
362
  READ_LIST_FIELD(aggargtypes, aggargtypes, aggargtypes);
316
363
  READ_LIST_FIELD(aggdirectargs, aggdirectargs, aggdirectargs);
317
364
  READ_LIST_FIELD(args, args, args);
318
365
  READ_LIST_FIELD(aggorder, aggorder, aggorder);
319
366
  READ_LIST_FIELD(aggdistinct, aggdistinct, aggdistinct);
320
- READ_EXPR_PTR_FIELD(aggfilter, aggfilter, aggfilter);
367
+ READ_ABSTRACT_PTR_FIELD(aggfilter, aggfilter, aggfilter, Expr*);
321
368
  READ_BOOL_FIELD(aggstar, aggstar, aggstar);
322
369
  READ_BOOL_FIELD(aggvariadic, aggvariadic, aggvariadic);
323
370
  READ_CHAR_FIELD(aggkind, aggkind, aggkind);
@@ -335,7 +382,6 @@ _readGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) msg)
335
382
  GroupingFunc *node = makeNode(GroupingFunc);
336
383
  READ_LIST_FIELD(args, args, args);
337
384
  READ_LIST_FIELD(refs, refs, refs);
338
- READ_LIST_FIELD(cols, cols, cols);
339
385
  READ_UINT_FIELD(agglevelsup, agglevelsup, agglevelsup);
340
386
  READ_INT_FIELD(location, location, location);
341
387
  return node;
@@ -350,7 +396,8 @@ _readWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) msg)
350
396
  READ_UINT_FIELD(wincollid, wincollid, wincollid);
351
397
  READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
352
398
  READ_LIST_FIELD(args, args, args);
353
- READ_EXPR_PTR_FIELD(aggfilter, aggfilter, aggfilter);
399
+ READ_ABSTRACT_PTR_FIELD(aggfilter, aggfilter, aggfilter, Expr*);
400
+ READ_LIST_FIELD(run_condition, runCondition, runCondition);
354
401
  READ_UINT_FIELD(winref, winref, winref);
355
402
  READ_BOOL_FIELD(winstar, winstar, winstar);
356
403
  READ_BOOL_FIELD(winagg, winagg, winagg);
@@ -358,6 +405,27 @@ _readWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) msg)
358
405
  return node;
359
406
  }
360
407
 
408
+ static WindowFuncRunCondition *
409
+ _readWindowFuncRunCondition(OUT_TYPE(WindowFuncRunCondition, WindowFuncRunCondition) msg)
410
+ {
411
+ WindowFuncRunCondition *node = makeNode(WindowFuncRunCondition);
412
+ READ_UINT_FIELD(opno, opno, opno);
413
+ READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
414
+ READ_BOOL_FIELD(wfunc_left, wfunc_left, wfunc_left);
415
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
416
+ return node;
417
+ }
418
+
419
+ static MergeSupportFunc *
420
+ _readMergeSupportFunc(OUT_TYPE(MergeSupportFunc, MergeSupportFunc) msg)
421
+ {
422
+ MergeSupportFunc *node = makeNode(MergeSupportFunc);
423
+ READ_UINT_FIELD(msftype, msftype, msftype);
424
+ READ_UINT_FIELD(msfcollid, msfcollid, msfcollid);
425
+ READ_INT_FIELD(location, location, location);
426
+ return node;
427
+ }
428
+
361
429
  static SubscriptingRef *
362
430
  _readSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) msg)
363
431
  {
@@ -369,8 +437,8 @@ _readSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) msg)
369
437
  READ_UINT_FIELD(refcollid, refcollid, refcollid);
370
438
  READ_LIST_FIELD(refupperindexpr, refupperindexpr, refupperindexpr);
371
439
  READ_LIST_FIELD(reflowerindexpr, reflowerindexpr, reflowerindexpr);
372
- READ_EXPR_PTR_FIELD(refexpr, refexpr, refexpr);
373
- READ_EXPR_PTR_FIELD(refassgnexpr, refassgnexpr, refassgnexpr);
440
+ READ_ABSTRACT_PTR_FIELD(refexpr, refexpr, refexpr, Expr*);
441
+ READ_ABSTRACT_PTR_FIELD(refassgnexpr, refassgnexpr, refassgnexpr, Expr*);
374
442
  return node;
375
443
  }
376
444
 
@@ -394,7 +462,7 @@ static NamedArgExpr *
394
462
  _readNamedArgExpr(OUT_TYPE(NamedArgExpr, NamedArgExpr) msg)
395
463
  {
396
464
  NamedArgExpr *node = makeNode(NamedArgExpr);
397
- READ_EXPR_PTR_FIELD(arg, arg, arg);
465
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
398
466
  READ_STRING_FIELD(name, name, name);
399
467
  READ_INT_FIELD(argnumber, argnumber, argnumber);
400
468
  READ_INT_FIELD(location, location, location);
@@ -406,7 +474,6 @@ _readOpExpr(OUT_TYPE(OpExpr, OpExpr) msg)
406
474
  {
407
475
  OpExpr *node = makeNode(OpExpr);
408
476
  READ_UINT_FIELD(opno, opno, opno);
409
- READ_UINT_FIELD(opfuncid, opfuncid, opfuncid);
410
477
  READ_UINT_FIELD(opresulttype, opresulttype, opresulttype);
411
478
  READ_BOOL_FIELD(opretset, opretset, opretset);
412
479
  READ_UINT_FIELD(opcollid, opcollid, opcollid);
@@ -421,7 +488,6 @@ _readDistinctExpr(OUT_TYPE(DistinctExpr, DistinctExpr) msg)
421
488
  {
422
489
  DistinctExpr *node = makeNode(DistinctExpr);
423
490
  READ_UINT_FIELD(opno, opno, opno);
424
- READ_UINT_FIELD(opfuncid, opfuncid, opfuncid);
425
491
  READ_UINT_FIELD(opresulttype, opresulttype, opresulttype);
426
492
  READ_BOOL_FIELD(opretset, opretset, opretset);
427
493
  READ_UINT_FIELD(opcollid, opcollid, opcollid);
@@ -436,7 +502,6 @@ _readNullIfExpr(OUT_TYPE(NullIfExpr, NullIfExpr) msg)
436
502
  {
437
503
  NullIfExpr *node = makeNode(NullIfExpr);
438
504
  READ_UINT_FIELD(opno, opno, opno);
439
- READ_UINT_FIELD(opfuncid, opfuncid, opfuncid);
440
505
  READ_UINT_FIELD(opresulttype, opresulttype, opresulttype);
441
506
  READ_BOOL_FIELD(opretset, opretset, opretset);
442
507
  READ_UINT_FIELD(opcollid, opcollid, opcollid);
@@ -451,9 +516,6 @@ _readScalarArrayOpExpr(OUT_TYPE(ScalarArrayOpExpr, ScalarArrayOpExpr) msg)
451
516
  {
452
517
  ScalarArrayOpExpr *node = makeNode(ScalarArrayOpExpr);
453
518
  READ_UINT_FIELD(opno, opno, opno);
454
- READ_UINT_FIELD(opfuncid, opfuncid, opfuncid);
455
- READ_UINT_FIELD(hashfuncid, hashfuncid, hashfuncid);
456
- READ_UINT_FIELD(negfuncid, negfuncid, negfuncid);
457
519
  READ_BOOL_FIELD(use_or, useOr, useOr);
458
520
  READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
459
521
  READ_LIST_FIELD(args, args, args);
@@ -519,7 +581,7 @@ static FieldSelect *
519
581
  _readFieldSelect(OUT_TYPE(FieldSelect, FieldSelect) msg)
520
582
  {
521
583
  FieldSelect *node = makeNode(FieldSelect);
522
- READ_EXPR_PTR_FIELD(arg, arg, arg);
584
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
523
585
  READ_INT_FIELD(fieldnum, fieldnum, fieldnum);
524
586
  READ_UINT_FIELD(resulttype, resulttype, resulttype);
525
587
  READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod);
@@ -531,7 +593,7 @@ static FieldStore *
531
593
  _readFieldStore(OUT_TYPE(FieldStore, FieldStore) msg)
532
594
  {
533
595
  FieldStore *node = makeNode(FieldStore);
534
- READ_EXPR_PTR_FIELD(arg, arg, arg);
596
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
535
597
  READ_LIST_FIELD(newvals, newvals, newvals);
536
598
  READ_LIST_FIELD(fieldnums, fieldnums, fieldnums);
537
599
  READ_UINT_FIELD(resulttype, resulttype, resulttype);
@@ -542,7 +604,7 @@ static RelabelType *
542
604
  _readRelabelType(OUT_TYPE(RelabelType, RelabelType) msg)
543
605
  {
544
606
  RelabelType *node = makeNode(RelabelType);
545
- READ_EXPR_PTR_FIELD(arg, arg, arg);
607
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
546
608
  READ_UINT_FIELD(resulttype, resulttype, resulttype);
547
609
  READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod);
548
610
  READ_UINT_FIELD(resultcollid, resultcollid, resultcollid);
@@ -555,7 +617,7 @@ static CoerceViaIO *
555
617
  _readCoerceViaIO(OUT_TYPE(CoerceViaIO, CoerceViaIO) msg)
556
618
  {
557
619
  CoerceViaIO *node = makeNode(CoerceViaIO);
558
- READ_EXPR_PTR_FIELD(arg, arg, arg);
620
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
559
621
  READ_UINT_FIELD(resulttype, resulttype, resulttype);
560
622
  READ_UINT_FIELD(resultcollid, resultcollid, resultcollid);
561
623
  READ_ENUM_FIELD(CoercionForm, coerceformat, coerceformat, coerceformat);
@@ -567,8 +629,8 @@ static ArrayCoerceExpr *
567
629
  _readArrayCoerceExpr(OUT_TYPE(ArrayCoerceExpr, ArrayCoerceExpr) msg)
568
630
  {
569
631
  ArrayCoerceExpr *node = makeNode(ArrayCoerceExpr);
570
- READ_EXPR_PTR_FIELD(arg, arg, arg);
571
- READ_EXPR_PTR_FIELD(elemexpr, elemexpr, elemexpr);
632
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
633
+ READ_ABSTRACT_PTR_FIELD(elemexpr, elemexpr, elemexpr, Expr*);
572
634
  READ_UINT_FIELD(resulttype, resulttype, resulttype);
573
635
  READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod);
574
636
  READ_UINT_FIELD(resultcollid, resultcollid, resultcollid);
@@ -581,7 +643,7 @@ static ConvertRowtypeExpr *
581
643
  _readConvertRowtypeExpr(OUT_TYPE(ConvertRowtypeExpr, ConvertRowtypeExpr) msg)
582
644
  {
583
645
  ConvertRowtypeExpr *node = makeNode(ConvertRowtypeExpr);
584
- READ_EXPR_PTR_FIELD(arg, arg, arg);
646
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
585
647
  READ_UINT_FIELD(resulttype, resulttype, resulttype);
586
648
  READ_ENUM_FIELD(CoercionForm, convertformat, convertformat, convertformat);
587
649
  READ_INT_FIELD(location, location, location);
@@ -592,7 +654,7 @@ static CollateExpr *
592
654
  _readCollateExpr(OUT_TYPE(CollateExpr, CollateExpr) msg)
593
655
  {
594
656
  CollateExpr *node = makeNode(CollateExpr);
595
- READ_EXPR_PTR_FIELD(arg, arg, arg);
657
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
596
658
  READ_UINT_FIELD(coll_oid, collOid, collOid);
597
659
  READ_INT_FIELD(location, location, location);
598
660
  return node;
@@ -604,9 +666,9 @@ _readCaseExpr(OUT_TYPE(CaseExpr, CaseExpr) msg)
604
666
  CaseExpr *node = makeNode(CaseExpr);
605
667
  READ_UINT_FIELD(casetype, casetype, casetype);
606
668
  READ_UINT_FIELD(casecollid, casecollid, casecollid);
607
- READ_EXPR_PTR_FIELD(arg, arg, arg);
669
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
608
670
  READ_LIST_FIELD(args, args, args);
609
- READ_EXPR_PTR_FIELD(defresult, defresult, defresult);
671
+ READ_ABSTRACT_PTR_FIELD(defresult, defresult, defresult, Expr*);
610
672
  READ_INT_FIELD(location, location, location);
611
673
  return node;
612
674
  }
@@ -615,8 +677,8 @@ static CaseWhen *
615
677
  _readCaseWhen(OUT_TYPE(CaseWhen, CaseWhen) msg)
616
678
  {
617
679
  CaseWhen *node = makeNode(CaseWhen);
618
- READ_EXPR_PTR_FIELD(expr, expr, expr);
619
- READ_EXPR_PTR_FIELD(result, result, result);
680
+ READ_ABSTRACT_PTR_FIELD(expr, expr, expr, Expr*);
681
+ READ_ABSTRACT_PTR_FIELD(result, result, result, Expr*);
620
682
  READ_INT_FIELD(location, location, location);
621
683
  return node;
622
684
  }
@@ -714,17 +776,138 @@ _readXmlExpr(OUT_TYPE(XmlExpr, XmlExpr) msg)
714
776
  READ_LIST_FIELD(arg_names, arg_names, arg_names);
715
777
  READ_LIST_FIELD(args, args, args);
716
778
  READ_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption);
779
+ READ_BOOL_FIELD(indent, indent, indent);
717
780
  READ_UINT_FIELD(type, type, type);
718
781
  READ_INT_FIELD(typmod, typmod, typmod);
719
782
  READ_INT_FIELD(location, location, location);
720
783
  return node;
721
784
  }
722
785
 
786
+ static JsonFormat *
787
+ _readJsonFormat(OUT_TYPE(JsonFormat, JsonFormat) msg)
788
+ {
789
+ JsonFormat *node = makeNode(JsonFormat);
790
+ READ_ENUM_FIELD(JsonFormatType, format_type, format_type, format_type);
791
+ READ_ENUM_FIELD(JsonEncoding, encoding, encoding, encoding);
792
+ READ_INT_FIELD(location, location, location);
793
+ return node;
794
+ }
795
+
796
+ static JsonReturning *
797
+ _readJsonReturning(OUT_TYPE(JsonReturning, JsonReturning) msg)
798
+ {
799
+ JsonReturning *node = makeNode(JsonReturning);
800
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format);
801
+ READ_UINT_FIELD(typid, typid, typid);
802
+ READ_INT_FIELD(typmod, typmod, typmod);
803
+ return node;
804
+ }
805
+
806
+ static JsonValueExpr *
807
+ _readJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) msg)
808
+ {
809
+ JsonValueExpr *node = makeNode(JsonValueExpr);
810
+ READ_ABSTRACT_PTR_FIELD(raw_expr, raw_expr, raw_expr, Expr*);
811
+ READ_ABSTRACT_PTR_FIELD(formatted_expr, formatted_expr, formatted_expr, Expr*);
812
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format);
813
+ return node;
814
+ }
815
+
816
+ static JsonConstructorExpr *
817
+ _readJsonConstructorExpr(OUT_TYPE(JsonConstructorExpr, JsonConstructorExpr) msg)
818
+ {
819
+ JsonConstructorExpr *node = makeNode(JsonConstructorExpr);
820
+ READ_ENUM_FIELD(JsonConstructorType, type, type, type);
821
+ READ_LIST_FIELD(args, args, args);
822
+ READ_ABSTRACT_PTR_FIELD(func, func, func, Expr*);
823
+ READ_ABSTRACT_PTR_FIELD(coercion, coercion, coercion, Expr*);
824
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning);
825
+ READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
826
+ READ_BOOL_FIELD(unique, unique, unique);
827
+ READ_INT_FIELD(location, location, location);
828
+ return node;
829
+ }
830
+
831
+ static JsonIsPredicate *
832
+ _readJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) msg)
833
+ {
834
+ JsonIsPredicate *node = makeNode(JsonIsPredicate);
835
+ READ_NODE_PTR_FIELD(expr, expr, expr);
836
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format);
837
+ READ_ENUM_FIELD(JsonValueType, item_type, item_type, item_type);
838
+ READ_BOOL_FIELD(unique_keys, unique_keys, unique_keys);
839
+ READ_INT_FIELD(location, location, location);
840
+ return node;
841
+ }
842
+
843
+ static JsonBehavior *
844
+ _readJsonBehavior(OUT_TYPE(JsonBehavior, JsonBehavior) msg)
845
+ {
846
+ JsonBehavior *node = makeNode(JsonBehavior);
847
+ READ_ENUM_FIELD(JsonBehaviorType, btype, btype, btype);
848
+ READ_NODE_PTR_FIELD(expr, expr, expr);
849
+ READ_BOOL_FIELD(coerce, coerce, coerce);
850
+ READ_INT_FIELD(location, location, location);
851
+ return node;
852
+ }
853
+
854
+ static JsonExpr *
855
+ _readJsonExpr(OUT_TYPE(JsonExpr, JsonExpr) msg)
856
+ {
857
+ JsonExpr *node = makeNode(JsonExpr);
858
+ READ_ENUM_FIELD(JsonExprOp, op, op, op);
859
+ READ_STRING_FIELD(column_name, column_name, column_name);
860
+ READ_NODE_PTR_FIELD(formatted_expr, formatted_expr, formatted_expr);
861
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format);
862
+ READ_NODE_PTR_FIELD(path_spec, path_spec, path_spec);
863
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning);
864
+ READ_LIST_FIELD(passing_names, passing_names, passing_names);
865
+ READ_LIST_FIELD(passing_values, passing_values, passing_values);
866
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty);
867
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error);
868
+ READ_BOOL_FIELD(use_io_coercion, use_io_coercion, use_io_coercion);
869
+ READ_BOOL_FIELD(use_json_coercion, use_json_coercion, use_json_coercion);
870
+ READ_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper);
871
+ READ_BOOL_FIELD(omit_quotes, omit_quotes, omit_quotes);
872
+ READ_UINT_FIELD(collation, collation, collation);
873
+ READ_INT_FIELD(location, location, location);
874
+ return node;
875
+ }
876
+
877
+ static JsonTablePath *
878
+ _readJsonTablePath(OUT_TYPE(JsonTablePath, JsonTablePath) msg)
879
+ {
880
+ JsonTablePath *node = makeNode(JsonTablePath);
881
+ READ_STRING_FIELD(name, name, name);
882
+ return node;
883
+ }
884
+
885
+ static JsonTablePathScan *
886
+ _readJsonTablePathScan(OUT_TYPE(JsonTablePathScan, JsonTablePathScan) msg)
887
+ {
888
+ JsonTablePathScan *node = makeNode(JsonTablePathScan);
889
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonTablePath, json_table_path, path, path, path);
890
+ READ_BOOL_FIELD(error_on_error, errorOnError, errorOnError);
891
+ READ_ABSTRACT_PTR_FIELD(child, child, child, JsonTablePlan*);
892
+ READ_INT_FIELD(col_min, colMin, colMin);
893
+ READ_INT_FIELD(col_max, colMax, colMax);
894
+ return node;
895
+ }
896
+
897
+ static JsonTableSiblingJoin *
898
+ _readJsonTableSiblingJoin(OUT_TYPE(JsonTableSiblingJoin, JsonTableSiblingJoin) msg)
899
+ {
900
+ JsonTableSiblingJoin *node = makeNode(JsonTableSiblingJoin);
901
+ READ_ABSTRACT_PTR_FIELD(lplan, lplan, lplan, JsonTablePlan*);
902
+ READ_ABSTRACT_PTR_FIELD(rplan, rplan, rplan, JsonTablePlan*);
903
+ return node;
904
+ }
905
+
723
906
  static NullTest *
724
907
  _readNullTest(OUT_TYPE(NullTest, NullTest) msg)
725
908
  {
726
909
  NullTest *node = makeNode(NullTest);
727
- READ_EXPR_PTR_FIELD(arg, arg, arg);
910
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
728
911
  READ_ENUM_FIELD(NullTestType, nulltesttype, nulltesttype, nulltesttype);
729
912
  READ_BOOL_FIELD(argisrow, argisrow, argisrow);
730
913
  READ_INT_FIELD(location, location, location);
@@ -735,17 +918,30 @@ static BooleanTest *
735
918
  _readBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) msg)
736
919
  {
737
920
  BooleanTest *node = makeNode(BooleanTest);
738
- READ_EXPR_PTR_FIELD(arg, arg, arg);
921
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
739
922
  READ_ENUM_FIELD(BoolTestType, booltesttype, booltesttype, booltesttype);
740
923
  READ_INT_FIELD(location, location, location);
741
924
  return node;
742
925
  }
743
926
 
927
+ static MergeAction *
928
+ _readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg)
929
+ {
930
+ MergeAction *node = makeNode(MergeAction);
931
+ READ_ENUM_FIELD(MergeMatchKind, match_kind, matchKind, matchKind);
932
+ READ_ENUM_FIELD(CmdType, command_type, commandType, commandType);
933
+ READ_ENUM_FIELD(OverridingKind, override, override, override);
934
+ READ_NODE_PTR_FIELD(qual, qual, qual);
935
+ READ_LIST_FIELD(target_list, targetList, targetList);
936
+ READ_LIST_FIELD(update_colnos, updateColnos, updateColnos);
937
+ return node;
938
+ }
939
+
744
940
  static CoerceToDomain *
745
941
  _readCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) msg)
746
942
  {
747
943
  CoerceToDomain *node = makeNode(CoerceToDomain);
748
- READ_EXPR_PTR_FIELD(arg, arg, arg);
944
+ READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*);
749
945
  READ_UINT_FIELD(resulttype, resulttype, resulttype);
750
946
  READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod);
751
947
  READ_UINT_FIELD(resultcollid, resultcollid, resultcollid);
@@ -809,7 +1005,7 @@ static TargetEntry *
809
1005
  _readTargetEntry(OUT_TYPE(TargetEntry, TargetEntry) msg)
810
1006
  {
811
1007
  TargetEntry *node = makeNode(TargetEntry);
812
- READ_EXPR_PTR_FIELD(expr, expr, expr);
1008
+ READ_ABSTRACT_PTR_FIELD(expr, expr, expr, Expr*);
813
1009
  READ_INT_FIELD(resno, resno, resno);
814
1010
  READ_STRING_FIELD(resname, resname, resname);
815
1011
  READ_UINT_FIELD(ressortgroupref, ressortgroupref, ressortgroupref);
@@ -867,44 +1063,6 @@ _readOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) msg)
867
1063
  return node;
868
1064
  }
869
1065
 
870
- static IntoClause *
871
- _readIntoClause(OUT_TYPE(IntoClause, IntoClause) msg)
872
- {
873
- IntoClause *node = makeNode(IntoClause);
874
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, rel, rel, rel);
875
- READ_LIST_FIELD(col_names, colNames, colNames);
876
- READ_STRING_FIELD(access_method, accessMethod, accessMethod);
877
- READ_LIST_FIELD(options, options, options);
878
- READ_ENUM_FIELD(OnCommitAction, on_commit, onCommit, onCommit);
879
- READ_STRING_FIELD(table_space_name, tableSpaceName, tableSpaceName);
880
- READ_NODE_PTR_FIELD(view_query, viewQuery, viewQuery);
881
- READ_BOOL_FIELD(skip_data, skipData, skipData);
882
- return node;
883
- }
884
-
885
- static MergeAction *
886
- _readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg)
887
- {
888
- MergeAction *node = makeNode(MergeAction);
889
- READ_BOOL_FIELD(matched, matched, matched);
890
- READ_ENUM_FIELD(CmdType, command_type, commandType, commandType);
891
- READ_ENUM_FIELD(OverridingKind, override, override, override);
892
- READ_NODE_PTR_FIELD(qual, qual, qual);
893
- READ_LIST_FIELD(target_list, targetList, targetList);
894
- READ_LIST_FIELD(update_colnos, updateColnos, updateColnos);
895
- return node;
896
- }
897
-
898
- static RawStmt *
899
- _readRawStmt(OUT_TYPE(RawStmt, RawStmt) msg)
900
- {
901
- RawStmt *node = makeNode(RawStmt);
902
- READ_NODE_PTR_FIELD(stmt, stmt, stmt);
903
- READ_INT_FIELD(stmt_location, stmt_location, stmt_location);
904
- READ_INT_FIELD(stmt_len, stmt_len, stmt_len);
905
- return node;
906
- }
907
-
908
1066
  static Query *
909
1067
  _readQuery(OUT_TYPE(Query, Query) msg)
910
1068
  {
@@ -926,9 +1084,11 @@ _readQuery(OUT_TYPE(Query, Query) msg)
926
1084
  READ_BOOL_FIELD(is_return, isReturn, isReturn);
927
1085
  READ_LIST_FIELD(cte_list, cteList, cteList);
928
1086
  READ_LIST_FIELD(rtable, rtable, rtable);
1087
+ READ_LIST_FIELD(rteperminfos, rteperminfos, rteperminfos);
929
1088
  READ_SPECIFIC_NODE_PTR_FIELD(FromExpr, from_expr, jointree, jointree, jointree);
930
1089
  READ_LIST_FIELD(merge_action_list, mergeActionList, mergeActionList);
931
- READ_BOOL_FIELD(merge_use_outer_join, mergeUseOuterJoin, mergeUseOuterJoin);
1090
+ READ_INT_FIELD(merge_target_relation, mergeTargetRelation, mergeTargetRelation);
1091
+ READ_NODE_PTR_FIELD(merge_join_condition, mergeJoinCondition, mergeJoinCondition);
932
1092
  READ_LIST_FIELD(target_list, targetList, targetList);
933
1093
  READ_ENUM_FIELD(OverridingKind, override, override, override);
934
1094
  READ_SPECIFIC_NODE_PTR_FIELD(OnConflictExpr, on_conflict_expr, on_conflict, onConflict, onConflict);
@@ -952,664 +1112,950 @@ _readQuery(OUT_TYPE(Query, Query) msg)
952
1112
  return node;
953
1113
  }
954
1114
 
955
- static InsertStmt *
956
- _readInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) msg)
1115
+ static TypeName *
1116
+ _readTypeName(OUT_TYPE(TypeName, TypeName) msg)
957
1117
  {
958
- InsertStmt *node = makeNode(InsertStmt);
959
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
960
- READ_LIST_FIELD(cols, cols, cols);
961
- READ_NODE_PTR_FIELD(select_stmt, selectStmt, selectStmt);
962
- READ_SPECIFIC_NODE_PTR_FIELD(OnConflictClause, on_conflict_clause, on_conflict_clause, onConflictClause, onConflictClause);
963
- READ_LIST_FIELD(returning_list, returningList, returningList);
964
- READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
965
- READ_ENUM_FIELD(OverridingKind, override, override, override);
1118
+ TypeName *node = makeNode(TypeName);
1119
+ READ_LIST_FIELD(names, names, names);
1120
+ READ_UINT_FIELD(type_oid, typeOid, typeOid);
1121
+ READ_BOOL_FIELD(setof, setof, setof);
1122
+ READ_BOOL_FIELD(pct_type, pct_type, pct_type);
1123
+ READ_LIST_FIELD(typmods, typmods, typmods);
1124
+ READ_INT_FIELD(typemod, typemod, typemod);
1125
+ READ_LIST_FIELD(array_bounds, arrayBounds, arrayBounds);
1126
+ READ_INT_FIELD(location, location, location);
966
1127
  return node;
967
1128
  }
968
1129
 
969
- static DeleteStmt *
970
- _readDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) msg)
1130
+ static ColumnRef *
1131
+ _readColumnRef(OUT_TYPE(ColumnRef, ColumnRef) msg)
971
1132
  {
972
- DeleteStmt *node = makeNode(DeleteStmt);
973
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
974
- READ_LIST_FIELD(using_clause, usingClause, usingClause);
975
- READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
976
- READ_LIST_FIELD(returning_list, returningList, returningList);
977
- READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1133
+ ColumnRef *node = makeNode(ColumnRef);
1134
+ READ_LIST_FIELD(fields, fields, fields);
1135
+ READ_INT_FIELD(location, location, location);
978
1136
  return node;
979
1137
  }
980
1138
 
981
- static UpdateStmt *
982
- _readUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) msg)
1139
+ static ParamRef *
1140
+ _readParamRef(OUT_TYPE(ParamRef, ParamRef) msg)
983
1141
  {
984
- UpdateStmt *node = makeNode(UpdateStmt);
985
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
986
- READ_LIST_FIELD(target_list, targetList, targetList);
987
- READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
988
- READ_LIST_FIELD(from_clause, fromClause, fromClause);
989
- READ_LIST_FIELD(returning_list, returningList, returningList);
990
- READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1142
+ ParamRef *node = makeNode(ParamRef);
1143
+ READ_INT_FIELD(number, number, number);
1144
+ READ_INT_FIELD(location, location, location);
991
1145
  return node;
992
1146
  }
993
1147
 
994
- static MergeStmt *
995
- _readMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) msg)
1148
+ static A_Expr *
1149
+ _readAExpr(OUT_TYPE(A_Expr, AExpr) msg)
996
1150
  {
997
- MergeStmt *node = makeNode(MergeStmt);
998
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
999
- READ_NODE_PTR_FIELD(source_relation, sourceRelation, sourceRelation);
1000
- READ_NODE_PTR_FIELD(join_condition, joinCondition, joinCondition);
1001
- READ_LIST_FIELD(merge_when_clauses, mergeWhenClauses, mergeWhenClauses);
1002
- READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1151
+ A_Expr *node = makeNode(A_Expr);
1152
+ READ_ENUM_FIELD(A_Expr_Kind, kind, kind, kind);
1153
+ READ_LIST_FIELD(name, name, name);
1154
+ READ_NODE_PTR_FIELD(lexpr, lexpr, lexpr);
1155
+ READ_NODE_PTR_FIELD(rexpr, rexpr, rexpr);
1156
+ READ_INT_FIELD(location, location, location);
1003
1157
  return node;
1004
1158
  }
1005
1159
 
1006
- static SelectStmt *
1007
- _readSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) msg)
1160
+ static TypeCast *
1161
+ _readTypeCast(OUT_TYPE(TypeCast, TypeCast) msg)
1008
1162
  {
1009
- SelectStmt *node = makeNode(SelectStmt);
1010
- READ_LIST_FIELD(distinct_clause, distinctClause, distinctClause);
1011
- READ_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into_clause, intoClause, intoClause);
1012
- READ_LIST_FIELD(target_list, targetList, targetList);
1013
- READ_LIST_FIELD(from_clause, fromClause, fromClause);
1014
- READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1015
- READ_LIST_FIELD(group_clause, groupClause, groupClause);
1016
- READ_BOOL_FIELD(group_distinct, groupDistinct, groupDistinct);
1017
- READ_NODE_PTR_FIELD(having_clause, havingClause, havingClause);
1018
- READ_LIST_FIELD(window_clause, windowClause, windowClause);
1019
- READ_LIST_FIELD(values_lists, valuesLists, valuesLists);
1020
- READ_LIST_FIELD(sort_clause, sortClause, sortClause);
1021
- READ_NODE_PTR_FIELD(limit_offset, limitOffset, limitOffset);
1022
- READ_NODE_PTR_FIELD(limit_count, limitCount, limitCount);
1023
- READ_ENUM_FIELD(LimitOption, limit_option, limitOption, limitOption);
1024
- READ_LIST_FIELD(locking_clause, lockingClause, lockingClause);
1025
- READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1026
- READ_ENUM_FIELD(SetOperation, op, op, op);
1027
- READ_BOOL_FIELD(all, all, all);
1028
- READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, larg, larg, larg);
1029
- READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, rarg, rarg, rarg);
1163
+ TypeCast *node = makeNode(TypeCast);
1164
+ READ_NODE_PTR_FIELD(arg, arg, arg);
1165
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1166
+ READ_INT_FIELD(location, location, location);
1030
1167
  return node;
1031
1168
  }
1032
1169
 
1033
- static ReturnStmt *
1034
- _readReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) msg)
1170
+ static CollateClause *
1171
+ _readCollateClause(OUT_TYPE(CollateClause, CollateClause) msg)
1035
1172
  {
1036
- ReturnStmt *node = makeNode(ReturnStmt);
1037
- READ_NODE_PTR_FIELD(returnval, returnval, returnval);
1173
+ CollateClause *node = makeNode(CollateClause);
1174
+ READ_NODE_PTR_FIELD(arg, arg, arg);
1175
+ READ_LIST_FIELD(collname, collname, collname);
1176
+ READ_INT_FIELD(location, location, location);
1038
1177
  return node;
1039
1178
  }
1040
1179
 
1041
- static PLAssignStmt *
1042
- _readPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) msg)
1180
+ static RoleSpec *
1181
+ _readRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) msg)
1043
1182
  {
1044
- PLAssignStmt *node = makeNode(PLAssignStmt);
1045
- READ_STRING_FIELD(name, name, name);
1046
- READ_LIST_FIELD(indirection, indirection, indirection);
1047
- READ_INT_FIELD(nnames, nnames, nnames);
1048
- READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, val, val, val);
1183
+ RoleSpec *node = makeNode(RoleSpec);
1184
+ READ_ENUM_FIELD(RoleSpecType, roletype, roletype, roletype);
1185
+ READ_STRING_FIELD(rolename, rolename, rolename);
1049
1186
  READ_INT_FIELD(location, location, location);
1050
1187
  return node;
1051
1188
  }
1052
1189
 
1053
- static AlterTableStmt *
1054
- _readAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) msg)
1190
+ static FuncCall *
1191
+ _readFuncCall(OUT_TYPE(FuncCall, FuncCall) msg)
1055
1192
  {
1056
- AlterTableStmt *node = makeNode(AlterTableStmt);
1057
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1058
- READ_LIST_FIELD(cmds, cmds, cmds);
1059
- READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1060
- READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1193
+ FuncCall *node = makeNode(FuncCall);
1194
+ READ_LIST_FIELD(funcname, funcname, funcname);
1195
+ READ_LIST_FIELD(args, args, args);
1196
+ READ_LIST_FIELD(agg_order, agg_order, agg_order);
1197
+ READ_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter);
1198
+ READ_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over);
1199
+ READ_BOOL_FIELD(agg_within_group, agg_within_group, agg_within_group);
1200
+ READ_BOOL_FIELD(agg_star, agg_star, agg_star);
1201
+ READ_BOOL_FIELD(agg_distinct, agg_distinct, agg_distinct);
1202
+ READ_BOOL_FIELD(func_variadic, func_variadic, func_variadic);
1203
+ READ_ENUM_FIELD(CoercionForm, funcformat, funcformat, funcformat);
1204
+ READ_INT_FIELD(location, location, location);
1061
1205
  return node;
1062
1206
  }
1063
1207
 
1064
- static AlterTableCmd *
1065
- _readAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) msg)
1208
+ static A_Star *
1209
+ _readAStar(OUT_TYPE(A_Star, AStar) msg)
1066
1210
  {
1067
- AlterTableCmd *node = makeNode(AlterTableCmd);
1068
- READ_ENUM_FIELD(AlterTableType, subtype, subtype, subtype);
1069
- READ_STRING_FIELD(name, name, name);
1070
- READ_INT_FIELD(num, num, num);
1071
- READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner);
1072
- READ_NODE_PTR_FIELD(def, def, def);
1073
- READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1074
- READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1075
- READ_BOOL_FIELD(recurse, recurse, recurse);
1211
+ A_Star *node = makeNode(A_Star);
1076
1212
  return node;
1077
1213
  }
1078
1214
 
1079
- static AlterDomainStmt *
1080
- _readAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) msg)
1215
+ static A_Indices *
1216
+ _readAIndices(OUT_TYPE(A_Indices, AIndices) msg)
1081
1217
  {
1082
- AlterDomainStmt *node = makeNode(AlterDomainStmt);
1083
- READ_CHAR_FIELD(subtype, subtype, subtype);
1084
- READ_LIST_FIELD(type_name, typeName, typeName);
1085
- READ_STRING_FIELD(name, name, name);
1086
- READ_NODE_PTR_FIELD(def, def, def);
1087
- READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1088
- READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1218
+ A_Indices *node = makeNode(A_Indices);
1219
+ READ_BOOL_FIELD(is_slice, is_slice, is_slice);
1220
+ READ_NODE_PTR_FIELD(lidx, lidx, lidx);
1221
+ READ_NODE_PTR_FIELD(uidx, uidx, uidx);
1089
1222
  return node;
1090
1223
  }
1091
1224
 
1092
- static SetOperationStmt *
1093
- _readSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) msg)
1225
+ static A_Indirection *
1226
+ _readAIndirection(OUT_TYPE(A_Indirection, AIndirection) msg)
1094
1227
  {
1095
- SetOperationStmt *node = makeNode(SetOperationStmt);
1096
- READ_ENUM_FIELD(SetOperation, op, op, op);
1097
- READ_BOOL_FIELD(all, all, all);
1098
- READ_NODE_PTR_FIELD(larg, larg, larg);
1099
- READ_NODE_PTR_FIELD(rarg, rarg, rarg);
1100
- READ_LIST_FIELD(col_types, colTypes, colTypes);
1101
- READ_LIST_FIELD(col_typmods, colTypmods, colTypmods);
1102
- READ_LIST_FIELD(col_collations, colCollations, colCollations);
1103
- READ_LIST_FIELD(group_clauses, groupClauses, groupClauses);
1228
+ A_Indirection *node = makeNode(A_Indirection);
1229
+ READ_NODE_PTR_FIELD(arg, arg, arg);
1230
+ READ_LIST_FIELD(indirection, indirection, indirection);
1104
1231
  return node;
1105
1232
  }
1106
1233
 
1107
- static GrantStmt *
1108
- _readGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) msg)
1234
+ static A_ArrayExpr *
1235
+ _readAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) msg)
1109
1236
  {
1110
- GrantStmt *node = makeNode(GrantStmt);
1111
- READ_BOOL_FIELD(is_grant, is_grant, is_grant);
1112
- READ_ENUM_FIELD(GrantTargetType, targtype, targtype, targtype);
1113
- READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1114
- READ_LIST_FIELD(objects, objects, objects);
1115
- READ_LIST_FIELD(privileges, privileges, privileges);
1116
- READ_LIST_FIELD(grantees, grantees, grantees);
1117
- READ_BOOL_FIELD(grant_option, grant_option, grant_option);
1118
- READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor);
1119
- READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1237
+ A_ArrayExpr *node = makeNode(A_ArrayExpr);
1238
+ READ_LIST_FIELD(elements, elements, elements);
1239
+ READ_INT_FIELD(location, location, location);
1120
1240
  return node;
1121
1241
  }
1122
1242
 
1123
- static GrantRoleStmt *
1124
- _readGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) msg)
1243
+ static ResTarget *
1244
+ _readResTarget(OUT_TYPE(ResTarget, ResTarget) msg)
1125
1245
  {
1126
- GrantRoleStmt *node = makeNode(GrantRoleStmt);
1127
- READ_LIST_FIELD(granted_roles, granted_roles, granted_roles);
1128
- READ_LIST_FIELD(grantee_roles, grantee_roles, grantee_roles);
1129
- READ_BOOL_FIELD(is_grant, is_grant, is_grant);
1130
- READ_BOOL_FIELD(admin_opt, admin_opt, admin_opt);
1131
- READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor);
1132
- READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1246
+ ResTarget *node = makeNode(ResTarget);
1247
+ READ_STRING_FIELD(name, name, name);
1248
+ READ_LIST_FIELD(indirection, indirection, indirection);
1249
+ READ_NODE_PTR_FIELD(val, val, val);
1250
+ READ_INT_FIELD(location, location, location);
1133
1251
  return node;
1134
1252
  }
1135
1253
 
1136
- static AlterDefaultPrivilegesStmt *
1137
- _readAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) msg)
1254
+ static MultiAssignRef *
1255
+ _readMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) msg)
1138
1256
  {
1139
- AlterDefaultPrivilegesStmt *node = makeNode(AlterDefaultPrivilegesStmt);
1140
- READ_LIST_FIELD(options, options, options);
1141
- READ_SPECIFIC_NODE_PTR_FIELD(GrantStmt, grant_stmt, action, action, action);
1257
+ MultiAssignRef *node = makeNode(MultiAssignRef);
1258
+ READ_NODE_PTR_FIELD(source, source, source);
1259
+ READ_INT_FIELD(colno, colno, colno);
1260
+ READ_INT_FIELD(ncolumns, ncolumns, ncolumns);
1142
1261
  return node;
1143
1262
  }
1144
1263
 
1145
- static ClosePortalStmt *
1146
- _readClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) msg)
1264
+ static SortBy *
1265
+ _readSortBy(OUT_TYPE(SortBy, SortBy) msg)
1147
1266
  {
1148
- ClosePortalStmt *node = makeNode(ClosePortalStmt);
1149
- READ_STRING_FIELD(portalname, portalname, portalname);
1267
+ SortBy *node = makeNode(SortBy);
1268
+ READ_NODE_PTR_FIELD(node, node, node);
1269
+ READ_ENUM_FIELD(SortByDir, sortby_dir, sortby_dir, sortby_dir);
1270
+ READ_ENUM_FIELD(SortByNulls, sortby_nulls, sortby_nulls, sortby_nulls);
1271
+ READ_LIST_FIELD(use_op, useOp, useOp);
1272
+ READ_INT_FIELD(location, location, location);
1150
1273
  return node;
1151
1274
  }
1152
1275
 
1153
- static ClusterStmt *
1154
- _readClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) msg)
1276
+ static WindowDef *
1277
+ _readWindowDef(OUT_TYPE(WindowDef, WindowDef) msg)
1155
1278
  {
1156
- ClusterStmt *node = makeNode(ClusterStmt);
1157
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1158
- READ_STRING_FIELD(indexname, indexname, indexname);
1159
- READ_LIST_FIELD(params, params, params);
1279
+ WindowDef *node = makeNode(WindowDef);
1280
+ READ_STRING_FIELD(name, name, name);
1281
+ READ_STRING_FIELD(refname, refname, refname);
1282
+ READ_LIST_FIELD(partition_clause, partitionClause, partitionClause);
1283
+ READ_LIST_FIELD(order_clause, orderClause, orderClause);
1284
+ READ_INT_FIELD(frame_options, frameOptions, frameOptions);
1285
+ READ_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
1286
+ READ_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
1287
+ READ_INT_FIELD(location, location, location);
1160
1288
  return node;
1161
1289
  }
1162
1290
 
1163
- static CopyStmt *
1164
- _readCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) msg)
1291
+ static RangeSubselect *
1292
+ _readRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) msg)
1165
1293
  {
1166
- CopyStmt *node = makeNode(CopyStmt);
1167
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1168
- READ_NODE_PTR_FIELD(query, query, query);
1169
- READ_LIST_FIELD(attlist, attlist, attlist);
1170
- READ_BOOL_FIELD(is_from, is_from, is_from);
1171
- READ_BOOL_FIELD(is_program, is_program, is_program);
1172
- READ_STRING_FIELD(filename, filename, filename);
1173
- READ_LIST_FIELD(options, options, options);
1174
- READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1294
+ RangeSubselect *node = makeNode(RangeSubselect);
1295
+ READ_BOOL_FIELD(lateral, lateral, lateral);
1296
+ READ_NODE_PTR_FIELD(subquery, subquery, subquery);
1297
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
1175
1298
  return node;
1176
1299
  }
1177
1300
 
1178
- static CreateStmt *
1179
- _readCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) msg)
1301
+ static RangeFunction *
1302
+ _readRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) msg)
1180
1303
  {
1181
- CreateStmt *node = makeNode(CreateStmt);
1182
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1183
- READ_LIST_FIELD(table_elts, tableElts, tableElts);
1184
- READ_LIST_FIELD(inh_relations, inhRelations, inhRelations);
1185
- READ_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, partbound, partbound, partbound);
1186
- READ_SPECIFIC_NODE_PTR_FIELD(PartitionSpec, partition_spec, partspec, partspec, partspec);
1187
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, of_typename, ofTypename, ofTypename);
1188
- READ_LIST_FIELD(constraints, constraints, constraints);
1189
- READ_LIST_FIELD(options, options, options);
1190
- READ_ENUM_FIELD(OnCommitAction, oncommit, oncommit, oncommit);
1191
- READ_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1192
- READ_STRING_FIELD(access_method, accessMethod, accessMethod);
1193
- READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1304
+ RangeFunction *node = makeNode(RangeFunction);
1305
+ READ_BOOL_FIELD(lateral, lateral, lateral);
1306
+ READ_BOOL_FIELD(ordinality, ordinality, ordinality);
1307
+ READ_BOOL_FIELD(is_rowsfrom, is_rowsfrom, is_rowsfrom);
1308
+ READ_LIST_FIELD(functions, functions, functions);
1309
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
1310
+ READ_LIST_FIELD(coldeflist, coldeflist, coldeflist);
1194
1311
  return node;
1195
1312
  }
1196
1313
 
1197
- static DefineStmt *
1198
- _readDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) msg)
1314
+ static RangeTableFunc *
1315
+ _readRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) msg)
1199
1316
  {
1200
- DefineStmt *node = makeNode(DefineStmt);
1201
- READ_ENUM_FIELD(ObjectType, kind, kind, kind);
1202
- READ_BOOL_FIELD(oldstyle, oldstyle, oldstyle);
1203
- READ_LIST_FIELD(defnames, defnames, defnames);
1204
- READ_LIST_FIELD(args, args, args);
1205
- READ_LIST_FIELD(definition, definition, definition);
1206
- READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1207
- READ_BOOL_FIELD(replace, replace, replace);
1317
+ RangeTableFunc *node = makeNode(RangeTableFunc);
1318
+ READ_BOOL_FIELD(lateral, lateral, lateral);
1319
+ READ_NODE_PTR_FIELD(docexpr, docexpr, docexpr);
1320
+ READ_NODE_PTR_FIELD(rowexpr, rowexpr, rowexpr);
1321
+ READ_LIST_FIELD(namespaces, namespaces, namespaces);
1322
+ READ_LIST_FIELD(columns, columns, columns);
1323
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
1324
+ READ_INT_FIELD(location, location, location);
1208
1325
  return node;
1209
1326
  }
1210
1327
 
1211
- static DropStmt *
1212
- _readDropStmt(OUT_TYPE(DropStmt, DropStmt) msg)
1328
+ static RangeTableFuncCol *
1329
+ _readRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) msg)
1213
1330
  {
1214
- DropStmt *node = makeNode(DropStmt);
1215
- READ_LIST_FIELD(objects, objects, objects);
1216
- READ_ENUM_FIELD(ObjectType, remove_type, removeType, removeType);
1217
- READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1218
- READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1219
- READ_BOOL_FIELD(concurrent, concurrent, concurrent);
1331
+ RangeTableFuncCol *node = makeNode(RangeTableFuncCol);
1332
+ READ_STRING_FIELD(colname, colname, colname);
1333
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1334
+ READ_BOOL_FIELD(for_ordinality, for_ordinality, for_ordinality);
1335
+ READ_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
1336
+ READ_NODE_PTR_FIELD(colexpr, colexpr, colexpr);
1337
+ READ_NODE_PTR_FIELD(coldefexpr, coldefexpr, coldefexpr);
1338
+ READ_INT_FIELD(location, location, location);
1220
1339
  return node;
1221
1340
  }
1222
1341
 
1223
- static TruncateStmt *
1224
- _readTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) msg)
1342
+ static RangeTableSample *
1343
+ _readRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) msg)
1225
1344
  {
1226
- TruncateStmt *node = makeNode(TruncateStmt);
1227
- READ_LIST_FIELD(relations, relations, relations);
1228
- READ_BOOL_FIELD(restart_seqs, restart_seqs, restart_seqs);
1229
- READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1345
+ RangeTableSample *node = makeNode(RangeTableSample);
1346
+ READ_NODE_PTR_FIELD(relation, relation, relation);
1347
+ READ_LIST_FIELD(method, method, method);
1348
+ READ_LIST_FIELD(args, args, args);
1349
+ READ_NODE_PTR_FIELD(repeatable, repeatable, repeatable);
1350
+ READ_INT_FIELD(location, location, location);
1230
1351
  return node;
1231
1352
  }
1232
1353
 
1233
- static CommentStmt *
1234
- _readCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) msg)
1354
+ static ColumnDef *
1355
+ _readColumnDef(OUT_TYPE(ColumnDef, ColumnDef) msg)
1235
1356
  {
1236
- CommentStmt *node = makeNode(CommentStmt);
1237
- READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1238
- READ_NODE_PTR_FIELD(object, object, object);
1239
- READ_STRING_FIELD(comment, comment, comment);
1357
+ ColumnDef *node = makeNode(ColumnDef);
1358
+ READ_STRING_FIELD(colname, colname, colname);
1359
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1360
+ READ_STRING_FIELD(compression, compression, compression);
1361
+ READ_INT_FIELD(inhcount, inhcount, inhcount);
1362
+ READ_BOOL_FIELD(is_local, is_local, is_local);
1363
+ READ_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
1364
+ READ_BOOL_FIELD(is_from_type, is_from_type, is_from_type);
1365
+ READ_CHAR_FIELD(storage, storage, storage);
1366
+ READ_STRING_FIELD(storage_name, storage_name, storage_name);
1367
+ READ_NODE_PTR_FIELD(raw_default, raw_default, raw_default);
1368
+ READ_NODE_PTR_FIELD(cooked_default, cooked_default, cooked_default);
1369
+ READ_CHAR_FIELD(identity, identity, identity);
1370
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, identity_sequence, identitySequence, identitySequence);
1371
+ READ_CHAR_FIELD(generated, generated, generated);
1372
+ READ_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
1373
+ READ_UINT_FIELD(coll_oid, collOid, collOid);
1374
+ READ_LIST_FIELD(constraints, constraints, constraints);
1375
+ READ_LIST_FIELD(fdwoptions, fdwoptions, fdwoptions);
1376
+ READ_INT_FIELD(location, location, location);
1240
1377
  return node;
1241
1378
  }
1242
1379
 
1243
- static FetchStmt *
1244
- _readFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) msg)
1380
+ static TableLikeClause *
1381
+ _readTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) msg)
1245
1382
  {
1246
- FetchStmt *node = makeNode(FetchStmt);
1247
- READ_ENUM_FIELD(FetchDirection, direction, direction, direction);
1248
- READ_LONG_FIELD(how_many, howMany, howMany);
1249
- READ_STRING_FIELD(portalname, portalname, portalname);
1250
- READ_BOOL_FIELD(ismove, ismove, ismove);
1383
+ TableLikeClause *node = makeNode(TableLikeClause);
1384
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1385
+ READ_UINT_FIELD(options, options, options);
1386
+ READ_UINT_FIELD(relation_oid, relationOid, relationOid);
1251
1387
  return node;
1252
1388
  }
1253
1389
 
1254
- static IndexStmt *
1255
- _readIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) msg)
1390
+ static IndexElem *
1391
+ _readIndexElem(OUT_TYPE(IndexElem, IndexElem) msg)
1256
1392
  {
1257
- IndexStmt *node = makeNode(IndexStmt);
1258
- READ_STRING_FIELD(idxname, idxname, idxname);
1259
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1260
- READ_STRING_FIELD(access_method, accessMethod, accessMethod);
1261
- READ_STRING_FIELD(table_space, tableSpace, tableSpace);
1262
- READ_LIST_FIELD(index_params, indexParams, indexParams);
1263
- READ_LIST_FIELD(index_including_params, indexIncludingParams, indexIncludingParams);
1264
- READ_LIST_FIELD(options, options, options);
1265
- READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1266
- READ_LIST_FIELD(exclude_op_names, excludeOpNames, excludeOpNames);
1267
- READ_STRING_FIELD(idxcomment, idxcomment, idxcomment);
1268
- READ_UINT_FIELD(index_oid, indexOid, indexOid);
1269
- READ_UINT_FIELD(old_node, oldNode, oldNode);
1270
- READ_UINT_FIELD(old_create_subid, oldCreateSubid, oldCreateSubid);
1271
- READ_UINT_FIELD(old_first_relfilenode_subid, oldFirstRelfilenodeSubid, oldFirstRelfilenodeSubid);
1272
- READ_BOOL_FIELD(unique, unique, unique);
1273
- READ_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct);
1274
- READ_BOOL_FIELD(primary, primary, primary);
1275
- READ_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
1276
- READ_BOOL_FIELD(deferrable, deferrable, deferrable);
1277
- READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
1278
- READ_BOOL_FIELD(transformed, transformed, transformed);
1393
+ IndexElem *node = makeNode(IndexElem);
1394
+ READ_STRING_FIELD(name, name, name);
1395
+ READ_NODE_PTR_FIELD(expr, expr, expr);
1396
+ READ_STRING_FIELD(indexcolname, indexcolname, indexcolname);
1397
+ READ_LIST_FIELD(collation, collation, collation);
1398
+ READ_LIST_FIELD(opclass, opclass, opclass);
1399
+ READ_LIST_FIELD(opclassopts, opclassopts, opclassopts);
1400
+ READ_ENUM_FIELD(SortByDir, ordering, ordering, ordering);
1401
+ READ_ENUM_FIELD(SortByNulls, nulls_ordering, nulls_ordering, nulls_ordering);
1402
+ return node;
1403
+ }
1404
+
1405
+ static DefElem *
1406
+ _readDefElem(OUT_TYPE(DefElem, DefElem) msg)
1407
+ {
1408
+ DefElem *node = makeNode(DefElem);
1409
+ READ_STRING_FIELD(defnamespace, defnamespace, defnamespace);
1410
+ READ_STRING_FIELD(defname, defname, defname);
1411
+ READ_NODE_PTR_FIELD(arg, arg, arg);
1412
+ READ_ENUM_FIELD(DefElemAction, defaction, defaction, defaction);
1413
+ READ_INT_FIELD(location, location, location);
1414
+ return node;
1415
+ }
1416
+
1417
+ static LockingClause *
1418
+ _readLockingClause(OUT_TYPE(LockingClause, LockingClause) msg)
1419
+ {
1420
+ LockingClause *node = makeNode(LockingClause);
1421
+ READ_LIST_FIELD(locked_rels, lockedRels, lockedRels);
1422
+ READ_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
1423
+ READ_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
1424
+ return node;
1425
+ }
1426
+
1427
+ static XmlSerialize *
1428
+ _readXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) msg)
1429
+ {
1430
+ XmlSerialize *node = makeNode(XmlSerialize);
1431
+ READ_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption);
1432
+ READ_NODE_PTR_FIELD(expr, expr, expr);
1433
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1434
+ READ_BOOL_FIELD(indent, indent, indent);
1435
+ READ_INT_FIELD(location, location, location);
1436
+ return node;
1437
+ }
1438
+
1439
+ static PartitionElem *
1440
+ _readPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) msg)
1441
+ {
1442
+ PartitionElem *node = makeNode(PartitionElem);
1443
+ READ_STRING_FIELD(name, name, name);
1444
+ READ_NODE_PTR_FIELD(expr, expr, expr);
1445
+ READ_LIST_FIELD(collation, collation, collation);
1446
+ READ_LIST_FIELD(opclass, opclass, opclass);
1447
+ READ_INT_FIELD(location, location, location);
1448
+ return node;
1449
+ }
1450
+
1451
+ static PartitionSpec *
1452
+ _readPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) msg)
1453
+ {
1454
+ PartitionSpec *node = makeNode(PartitionSpec);
1455
+ READ_ENUM_FIELD(PartitionStrategy, strategy, strategy, strategy);
1456
+ READ_LIST_FIELD(part_params, partParams, partParams);
1457
+ READ_INT_FIELD(location, location, location);
1458
+ return node;
1459
+ }
1460
+
1461
+ static PartitionBoundSpec *
1462
+ _readPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) msg)
1463
+ {
1464
+ PartitionBoundSpec *node = makeNode(PartitionBoundSpec);
1465
+ READ_CHAR_FIELD(strategy, strategy, strategy);
1466
+ READ_BOOL_FIELD(is_default, is_default, is_default);
1467
+ READ_INT_FIELD(modulus, modulus, modulus);
1468
+ READ_INT_FIELD(remainder, remainder, remainder);
1469
+ READ_LIST_FIELD(listdatums, listdatums, listdatums);
1470
+ READ_LIST_FIELD(lowerdatums, lowerdatums, lowerdatums);
1471
+ READ_LIST_FIELD(upperdatums, upperdatums, upperdatums);
1472
+ READ_INT_FIELD(location, location, location);
1473
+ return node;
1474
+ }
1475
+
1476
+ static PartitionRangeDatum *
1477
+ _readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg)
1478
+ {
1479
+ PartitionRangeDatum *node = makeNode(PartitionRangeDatum);
1480
+ READ_ENUM_FIELD(PartitionRangeDatumKind, kind, kind, kind);
1481
+ READ_NODE_PTR_FIELD(value, value, value);
1482
+ READ_INT_FIELD(location, location, location);
1483
+ return node;
1484
+ }
1485
+
1486
+ static SinglePartitionSpec *
1487
+ _readSinglePartitionSpec(OUT_TYPE(SinglePartitionSpec, SinglePartitionSpec) msg)
1488
+ {
1489
+ SinglePartitionSpec *node = makeNode(SinglePartitionSpec);
1490
+ return node;
1491
+ }
1492
+
1493
+ static PartitionCmd *
1494
+ _readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg)
1495
+ {
1496
+ PartitionCmd *node = makeNode(PartitionCmd);
1497
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, name, name, name);
1498
+ READ_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, bound, bound, bound);
1279
1499
  READ_BOOL_FIELD(concurrent, concurrent, concurrent);
1280
- READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1281
- READ_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
1282
1500
  return node;
1283
1501
  }
1284
1502
 
1285
- static CreateFunctionStmt *
1286
- _readCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) msg)
1503
+ static RangeTblEntry *
1504
+ _readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg)
1505
+ {
1506
+ RangeTblEntry *node = makeNode(RangeTblEntry);
1507
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
1508
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref);
1509
+ READ_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind);
1510
+ READ_UINT_FIELD(relid, relid, relid);
1511
+ READ_BOOL_FIELD(inh, inh, inh);
1512
+ READ_CHAR_FIELD(relkind, relkind, relkind);
1513
+ READ_INT_FIELD(rellockmode, rellockmode, rellockmode);
1514
+ READ_UINT_FIELD(perminfoindex, perminfoindex, perminfoindex);
1515
+ READ_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample);
1516
+ READ_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery);
1517
+ READ_BOOL_FIELD(security_barrier, security_barrier, security_barrier);
1518
+ READ_ENUM_FIELD(JoinType, jointype, jointype, jointype);
1519
+ READ_INT_FIELD(joinmergedcols, joinmergedcols, joinmergedcols);
1520
+ READ_LIST_FIELD(joinaliasvars, joinaliasvars, joinaliasvars);
1521
+ READ_LIST_FIELD(joinleftcols, joinleftcols, joinleftcols);
1522
+ READ_LIST_FIELD(joinrightcols, joinrightcols, joinrightcols);
1523
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, join_using_alias, join_using_alias, join_using_alias);
1524
+ READ_LIST_FIELD(functions, functions, functions);
1525
+ READ_BOOL_FIELD(funcordinality, funcordinality, funcordinality);
1526
+ READ_SPECIFIC_NODE_PTR_FIELD(TableFunc, table_func, tablefunc, tablefunc, tablefunc);
1527
+ READ_LIST_FIELD(values_lists, values_lists, values_lists);
1528
+ READ_STRING_FIELD(ctename, ctename, ctename);
1529
+ READ_UINT_FIELD(ctelevelsup, ctelevelsup, ctelevelsup);
1530
+ READ_BOOL_FIELD(self_reference, self_reference, self_reference);
1531
+ READ_LIST_FIELD(coltypes, coltypes, coltypes);
1532
+ READ_LIST_FIELD(coltypmods, coltypmods, coltypmods);
1533
+ READ_LIST_FIELD(colcollations, colcollations, colcollations);
1534
+ READ_STRING_FIELD(enrname, enrname, enrname);
1535
+ READ_FLOAT_FIELD(enrtuples, enrtuples, enrtuples);
1536
+ READ_BOOL_FIELD(lateral, lateral, lateral);
1537
+ READ_BOOL_FIELD(in_from_cl, inFromCl, inFromCl);
1538
+ READ_LIST_FIELD(security_quals, securityQuals, securityQuals);
1539
+ return node;
1540
+ }
1541
+
1542
+ static RTEPermissionInfo *
1543
+ _readRTEPermissionInfo(OUT_TYPE(RTEPermissionInfo, RTEPermissionInfo) msg)
1544
+ {
1545
+ RTEPermissionInfo *node = makeNode(RTEPermissionInfo);
1546
+ READ_UINT_FIELD(relid, relid, relid);
1547
+ READ_BOOL_FIELD(inh, inh, inh);
1548
+ READ_UINT64_FIELD(required_perms, requiredPerms, requiredPerms);
1549
+ READ_UINT_FIELD(check_as_user, checkAsUser, checkAsUser);
1550
+ READ_BITMAPSET_FIELD(selected_cols, selectedCols, selectedCols);
1551
+ READ_BITMAPSET_FIELD(inserted_cols, insertedCols, insertedCols);
1552
+ READ_BITMAPSET_FIELD(updated_cols, updatedCols, updatedCols);
1553
+ return node;
1554
+ }
1555
+
1556
+ static RangeTblFunction *
1557
+ _readRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) msg)
1558
+ {
1559
+ RangeTblFunction *node = makeNode(RangeTblFunction);
1560
+ READ_NODE_PTR_FIELD(funcexpr, funcexpr, funcexpr);
1561
+ READ_INT_FIELD(funccolcount, funccolcount, funccolcount);
1562
+ READ_LIST_FIELD(funccolnames, funccolnames, funccolnames);
1563
+ READ_LIST_FIELD(funccoltypes, funccoltypes, funccoltypes);
1564
+ READ_LIST_FIELD(funccoltypmods, funccoltypmods, funccoltypmods);
1565
+ READ_LIST_FIELD(funccolcollations, funccolcollations, funccolcollations);
1566
+ READ_BITMAPSET_FIELD(funcparams, funcparams, funcparams);
1567
+ return node;
1568
+ }
1569
+
1570
+ static TableSampleClause *
1571
+ _readTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) msg)
1572
+ {
1573
+ TableSampleClause *node = makeNode(TableSampleClause);
1574
+ READ_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler);
1575
+ READ_LIST_FIELD(args, args, args);
1576
+ READ_ABSTRACT_PTR_FIELD(repeatable, repeatable, repeatable, Expr*);
1577
+ return node;
1578
+ }
1579
+
1580
+ static WithCheckOption *
1581
+ _readWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) msg)
1582
+ {
1583
+ WithCheckOption *node = makeNode(WithCheckOption);
1584
+ READ_ENUM_FIELD(WCOKind, kind, kind, kind);
1585
+ READ_STRING_FIELD(relname, relname, relname);
1586
+ READ_STRING_FIELD(polname, polname, polname);
1587
+ READ_NODE_PTR_FIELD(qual, qual, qual);
1588
+ READ_BOOL_FIELD(cascaded, cascaded, cascaded);
1589
+ return node;
1590
+ }
1591
+
1592
+ static SortGroupClause *
1593
+ _readSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) msg)
1594
+ {
1595
+ SortGroupClause *node = makeNode(SortGroupClause);
1596
+ READ_UINT_FIELD(tle_sort_group_ref, tleSortGroupRef, tleSortGroupRef);
1597
+ READ_UINT_FIELD(eqop, eqop, eqop);
1598
+ READ_UINT_FIELD(sortop, sortop, sortop);
1599
+ READ_BOOL_FIELD(nulls_first, nulls_first, nulls_first);
1600
+ READ_BOOL_FIELD(hashable, hashable, hashable);
1601
+ return node;
1602
+ }
1603
+
1604
+ static GroupingSet *
1605
+ _readGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) msg)
1606
+ {
1607
+ GroupingSet *node = makeNode(GroupingSet);
1608
+ READ_ENUM_FIELD(GroupingSetKind, kind, kind, kind);
1609
+ READ_LIST_FIELD(content, content, content);
1610
+ READ_INT_FIELD(location, location, location);
1611
+ return node;
1612
+ }
1613
+
1614
+ static WindowClause *
1615
+ _readWindowClause(OUT_TYPE(WindowClause, WindowClause) msg)
1616
+ {
1617
+ WindowClause *node = makeNode(WindowClause);
1618
+ READ_STRING_FIELD(name, name, name);
1619
+ READ_STRING_FIELD(refname, refname, refname);
1620
+ READ_LIST_FIELD(partition_clause, partitionClause, partitionClause);
1621
+ READ_LIST_FIELD(order_clause, orderClause, orderClause);
1622
+ READ_INT_FIELD(frame_options, frameOptions, frameOptions);
1623
+ READ_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
1624
+ READ_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
1625
+ READ_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc);
1626
+ READ_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc);
1627
+ READ_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl);
1628
+ READ_BOOL_FIELD(in_range_asc, inRangeAsc, inRangeAsc);
1629
+ READ_BOOL_FIELD(in_range_nulls_first, inRangeNullsFirst, inRangeNullsFirst);
1630
+ READ_UINT_FIELD(winref, winref, winref);
1631
+ READ_BOOL_FIELD(copied_order, copiedOrder, copiedOrder);
1632
+ return node;
1633
+ }
1634
+
1635
+ static RowMarkClause *
1636
+ _readRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) msg)
1637
+ {
1638
+ RowMarkClause *node = makeNode(RowMarkClause);
1639
+ READ_UINT_FIELD(rti, rti, rti);
1640
+ READ_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
1641
+ READ_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
1642
+ READ_BOOL_FIELD(pushed_down, pushedDown, pushedDown);
1643
+ return node;
1644
+ }
1645
+
1646
+ static WithClause *
1647
+ _readWithClause(OUT_TYPE(WithClause, WithClause) msg)
1648
+ {
1649
+ WithClause *node = makeNode(WithClause);
1650
+ READ_LIST_FIELD(ctes, ctes, ctes);
1651
+ READ_BOOL_FIELD(recursive, recursive, recursive);
1652
+ READ_INT_FIELD(location, location, location);
1653
+ return node;
1654
+ }
1655
+
1656
+ static InferClause *
1657
+ _readInferClause(OUT_TYPE(InferClause, InferClause) msg)
1658
+ {
1659
+ InferClause *node = makeNode(InferClause);
1660
+ READ_LIST_FIELD(index_elems, indexElems, indexElems);
1661
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1662
+ READ_STRING_FIELD(conname, conname, conname);
1663
+ READ_INT_FIELD(location, location, location);
1664
+ return node;
1665
+ }
1666
+
1667
+ static OnConflictClause *
1668
+ _readOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) msg)
1287
1669
  {
1288
- CreateFunctionStmt *node = makeNode(CreateFunctionStmt);
1289
- READ_BOOL_FIELD(is_procedure, is_procedure, is_procedure);
1290
- READ_BOOL_FIELD(replace, replace, replace);
1291
- READ_LIST_FIELD(funcname, funcname, funcname);
1292
- READ_LIST_FIELD(parameters, parameters, parameters);
1293
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, return_type, returnType, returnType);
1294
- READ_LIST_FIELD(options, options, options);
1295
- READ_NODE_PTR_FIELD(sql_body, sql_body, sql_body);
1670
+ OnConflictClause *node = makeNode(OnConflictClause);
1671
+ READ_ENUM_FIELD(OnConflictAction, action, action, action);
1672
+ READ_SPECIFIC_NODE_PTR_FIELD(InferClause, infer_clause, infer, infer, infer);
1673
+ READ_LIST_FIELD(target_list, targetList, targetList);
1674
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1675
+ READ_INT_FIELD(location, location, location);
1296
1676
  return node;
1297
1677
  }
1298
1678
 
1299
- static AlterFunctionStmt *
1300
- _readAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) msg)
1679
+ static CTESearchClause *
1680
+ _readCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) msg)
1301
1681
  {
1302
- AlterFunctionStmt *node = makeNode(AlterFunctionStmt);
1303
- READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1304
- READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
1305
- READ_LIST_FIELD(actions, actions, actions);
1682
+ CTESearchClause *node = makeNode(CTESearchClause);
1683
+ READ_LIST_FIELD(search_col_list, search_col_list, search_col_list);
1684
+ READ_BOOL_FIELD(search_breadth_first, search_breadth_first, search_breadth_first);
1685
+ READ_STRING_FIELD(search_seq_column, search_seq_column, search_seq_column);
1686
+ READ_INT_FIELD(location, location, location);
1306
1687
  return node;
1307
1688
  }
1308
1689
 
1309
- static DoStmt *
1310
- _readDoStmt(OUT_TYPE(DoStmt, DoStmt) msg)
1690
+ static CTECycleClause *
1691
+ _readCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) msg)
1311
1692
  {
1312
- DoStmt *node = makeNode(DoStmt);
1313
- READ_LIST_FIELD(args, args, args);
1693
+ CTECycleClause *node = makeNode(CTECycleClause);
1694
+ READ_LIST_FIELD(cycle_col_list, cycle_col_list, cycle_col_list);
1695
+ READ_STRING_FIELD(cycle_mark_column, cycle_mark_column, cycle_mark_column);
1696
+ READ_NODE_PTR_FIELD(cycle_mark_value, cycle_mark_value, cycle_mark_value);
1697
+ READ_NODE_PTR_FIELD(cycle_mark_default, cycle_mark_default, cycle_mark_default);
1698
+ READ_STRING_FIELD(cycle_path_column, cycle_path_column, cycle_path_column);
1699
+ READ_INT_FIELD(location, location, location);
1700
+ READ_UINT_FIELD(cycle_mark_type, cycle_mark_type, cycle_mark_type);
1701
+ READ_INT_FIELD(cycle_mark_typmod, cycle_mark_typmod, cycle_mark_typmod);
1702
+ READ_UINT_FIELD(cycle_mark_collation, cycle_mark_collation, cycle_mark_collation);
1703
+ READ_UINT_FIELD(cycle_mark_neop, cycle_mark_neop, cycle_mark_neop);
1314
1704
  return node;
1315
1705
  }
1316
1706
 
1317
- static RenameStmt *
1318
- _readRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) msg)
1707
+ static CommonTableExpr *
1708
+ _readCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) msg)
1319
1709
  {
1320
- RenameStmt *node = makeNode(RenameStmt);
1321
- READ_ENUM_FIELD(ObjectType, rename_type, renameType, renameType);
1322
- READ_ENUM_FIELD(ObjectType, relation_type, relationType, relationType);
1323
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1324
- READ_NODE_PTR_FIELD(object, object, object);
1325
- READ_STRING_FIELD(subname, subname, subname);
1326
- READ_STRING_FIELD(newname, newname, newname);
1327
- READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1328
- READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1710
+ CommonTableExpr *node = makeNode(CommonTableExpr);
1711
+ READ_STRING_FIELD(ctename, ctename, ctename);
1712
+ READ_LIST_FIELD(aliascolnames, aliascolnames, aliascolnames);
1713
+ READ_ENUM_FIELD(CTEMaterialize, ctematerialized, ctematerialized, ctematerialized);
1714
+ READ_NODE_PTR_FIELD(ctequery, ctequery, ctequery);
1715
+ READ_SPECIFIC_NODE_PTR_FIELD(CTESearchClause, ctesearch_clause, search_clause, search_clause, search_clause);
1716
+ READ_SPECIFIC_NODE_PTR_FIELD(CTECycleClause, ctecycle_clause, cycle_clause, cycle_clause, cycle_clause);
1717
+ READ_INT_FIELD(location, location, location);
1718
+ READ_BOOL_FIELD(cterecursive, cterecursive, cterecursive);
1719
+ READ_INT_FIELD(cterefcount, cterefcount, cterefcount);
1720
+ READ_LIST_FIELD(ctecolnames, ctecolnames, ctecolnames);
1721
+ READ_LIST_FIELD(ctecoltypes, ctecoltypes, ctecoltypes);
1722
+ READ_LIST_FIELD(ctecoltypmods, ctecoltypmods, ctecoltypmods);
1723
+ READ_LIST_FIELD(ctecolcollations, ctecolcollations, ctecolcollations);
1329
1724
  return node;
1330
1725
  }
1331
1726
 
1332
- static RuleStmt *
1333
- _readRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) msg)
1727
+ static MergeWhenClause *
1728
+ _readMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) msg)
1334
1729
  {
1335
- RuleStmt *node = makeNode(RuleStmt);
1336
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1337
- READ_STRING_FIELD(rulename, rulename, rulename);
1338
- READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1339
- READ_ENUM_FIELD(CmdType, event, event, event);
1340
- READ_BOOL_FIELD(instead, instead, instead);
1341
- READ_LIST_FIELD(actions, actions, actions);
1342
- READ_BOOL_FIELD(replace, replace, replace);
1730
+ MergeWhenClause *node = makeNode(MergeWhenClause);
1731
+ READ_ENUM_FIELD(MergeMatchKind, match_kind, matchKind, matchKind);
1732
+ READ_ENUM_FIELD(CmdType, command_type, commandType, commandType);
1733
+ READ_ENUM_FIELD(OverridingKind, override, override, override);
1734
+ READ_NODE_PTR_FIELD(condition, condition, condition);
1735
+ READ_LIST_FIELD(target_list, targetList, targetList);
1736
+ READ_LIST_FIELD(values, values, values);
1343
1737
  return node;
1344
1738
  }
1345
1739
 
1346
- static NotifyStmt *
1347
- _readNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) msg)
1740
+ static TriggerTransition *
1741
+ _readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg)
1348
1742
  {
1349
- NotifyStmt *node = makeNode(NotifyStmt);
1350
- READ_STRING_FIELD(conditionname, conditionname, conditionname);
1351
- READ_STRING_FIELD(payload, payload, payload);
1743
+ TriggerTransition *node = makeNode(TriggerTransition);
1744
+ READ_STRING_FIELD(name, name, name);
1745
+ READ_BOOL_FIELD(is_new, isNew, isNew);
1746
+ READ_BOOL_FIELD(is_table, isTable, isTable);
1352
1747
  return node;
1353
1748
  }
1354
1749
 
1355
- static ListenStmt *
1356
- _readListenStmt(OUT_TYPE(ListenStmt, ListenStmt) msg)
1750
+ static JsonOutput *
1751
+ _readJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) msg)
1357
1752
  {
1358
- ListenStmt *node = makeNode(ListenStmt);
1359
- READ_STRING_FIELD(conditionname, conditionname, conditionname);
1753
+ JsonOutput *node = makeNode(JsonOutput);
1754
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1755
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning);
1360
1756
  return node;
1361
1757
  }
1362
1758
 
1363
- static UnlistenStmt *
1364
- _readUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) msg)
1759
+ static JsonArgument *
1760
+ _readJsonArgument(OUT_TYPE(JsonArgument, JsonArgument) msg)
1365
1761
  {
1366
- UnlistenStmt *node = makeNode(UnlistenStmt);
1367
- READ_STRING_FIELD(conditionname, conditionname, conditionname);
1762
+ JsonArgument *node = makeNode(JsonArgument);
1763
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, val, val, val);
1764
+ READ_STRING_FIELD(name, name, name);
1368
1765
  return node;
1369
1766
  }
1370
1767
 
1371
- static TransactionStmt *
1372
- _readTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) msg)
1768
+ static JsonFuncExpr *
1769
+ _readJsonFuncExpr(OUT_TYPE(JsonFuncExpr, JsonFuncExpr) msg)
1373
1770
  {
1374
- TransactionStmt *node = makeNode(TransactionStmt);
1375
- READ_ENUM_FIELD(TransactionStmtKind, kind, kind, kind);
1376
- READ_LIST_FIELD(options, options, options);
1377
- READ_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name);
1378
- READ_STRING_FIELD(gid, gid, gid);
1379
- READ_BOOL_FIELD(chain, chain, chain);
1771
+ JsonFuncExpr *node = makeNode(JsonFuncExpr);
1772
+ READ_ENUM_FIELD(JsonExprOp, op, op, op);
1773
+ READ_STRING_FIELD(column_name, column_name, column_name);
1774
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, context_item, context_item, context_item);
1775
+ READ_NODE_PTR_FIELD(pathspec, pathspec, pathspec);
1776
+ READ_LIST_FIELD(passing, passing, passing);
1777
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1778
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty);
1779
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error);
1780
+ READ_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper);
1781
+ READ_ENUM_FIELD(JsonQuotes, quotes, quotes, quotes);
1782
+ READ_INT_FIELD(location, location, location);
1380
1783
  return node;
1381
1784
  }
1382
1785
 
1383
- static ViewStmt *
1384
- _readViewStmt(OUT_TYPE(ViewStmt, ViewStmt) msg)
1786
+ static JsonTablePathSpec *
1787
+ _readJsonTablePathSpec(OUT_TYPE(JsonTablePathSpec, JsonTablePathSpec) msg)
1385
1788
  {
1386
- ViewStmt *node = makeNode(ViewStmt);
1387
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, view, view, view);
1388
- READ_LIST_FIELD(aliases, aliases, aliases);
1389
- READ_NODE_PTR_FIELD(query, query, query);
1390
- READ_BOOL_FIELD(replace, replace, replace);
1391
- READ_LIST_FIELD(options, options, options);
1392
- READ_ENUM_FIELD(ViewCheckOption, with_check_option, withCheckOption, withCheckOption);
1789
+ JsonTablePathSpec *node = makeNode(JsonTablePathSpec);
1790
+ READ_NODE_PTR_FIELD(string, string, string);
1791
+ READ_STRING_FIELD(name, name, name);
1792
+ READ_INT_FIELD(name_location, name_location, name_location);
1793
+ READ_INT_FIELD(location, location, location);
1393
1794
  return node;
1394
1795
  }
1395
1796
 
1396
- static LoadStmt *
1397
- _readLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) msg)
1797
+ static JsonTable *
1798
+ _readJsonTable(OUT_TYPE(JsonTable, JsonTable) msg)
1398
1799
  {
1399
- LoadStmt *node = makeNode(LoadStmt);
1400
- READ_STRING_FIELD(filename, filename, filename);
1800
+ JsonTable *node = makeNode(JsonTable);
1801
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, context_item, context_item, context_item);
1802
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonTablePathSpec, json_table_path_spec, pathspec, pathspec, pathspec);
1803
+ READ_LIST_FIELD(passing, passing, passing);
1804
+ READ_LIST_FIELD(columns, columns, columns);
1805
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error);
1806
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
1807
+ READ_BOOL_FIELD(lateral, lateral, lateral);
1808
+ READ_INT_FIELD(location, location, location);
1401
1809
  return node;
1402
1810
  }
1403
1811
 
1404
- static CreateDomainStmt *
1405
- _readCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) msg)
1812
+ static JsonTableColumn *
1813
+ _readJsonTableColumn(OUT_TYPE(JsonTableColumn, JsonTableColumn) msg)
1406
1814
  {
1407
- CreateDomainStmt *node = makeNode(CreateDomainStmt);
1408
- READ_LIST_FIELD(domainname, domainname, domainname);
1815
+ JsonTableColumn *node = makeNode(JsonTableColumn);
1816
+ READ_ENUM_FIELD(JsonTableColumnType, coltype, coltype, coltype);
1817
+ READ_STRING_FIELD(name, name, name);
1409
1818
  READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1410
- READ_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
1411
- READ_LIST_FIELD(constraints, constraints, constraints);
1819
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonTablePathSpec, json_table_path_spec, pathspec, pathspec, pathspec);
1820
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format);
1821
+ READ_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper);
1822
+ READ_ENUM_FIELD(JsonQuotes, quotes, quotes, quotes);
1823
+ READ_LIST_FIELD(columns, columns, columns);
1824
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty);
1825
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error);
1826
+ READ_INT_FIELD(location, location, location);
1412
1827
  return node;
1413
1828
  }
1414
1829
 
1415
- static CreatedbStmt *
1416
- _readCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) msg)
1830
+ static JsonKeyValue *
1831
+ _readJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) msg)
1417
1832
  {
1418
- CreatedbStmt *node = makeNode(CreatedbStmt);
1419
- READ_STRING_FIELD(dbname, dbname, dbname);
1420
- READ_LIST_FIELD(options, options, options);
1833
+ JsonKeyValue *node = makeNode(JsonKeyValue);
1834
+ READ_ABSTRACT_PTR_FIELD(key, key, key, Expr*);
1835
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, value, value, value);
1421
1836
  return node;
1422
1837
  }
1423
1838
 
1424
- static DropdbStmt *
1425
- _readDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) msg)
1839
+ static JsonParseExpr *
1840
+ _readJsonParseExpr(OUT_TYPE(JsonParseExpr, JsonParseExpr) msg)
1426
1841
  {
1427
- DropdbStmt *node = makeNode(DropdbStmt);
1428
- READ_STRING_FIELD(dbname, dbname, dbname);
1429
- READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1430
- READ_LIST_FIELD(options, options, options);
1842
+ JsonParseExpr *node = makeNode(JsonParseExpr);
1843
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, expr, expr, expr);
1844
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1845
+ READ_BOOL_FIELD(unique_keys, unique_keys, unique_keys);
1846
+ READ_INT_FIELD(location, location, location);
1431
1847
  return node;
1432
1848
  }
1433
1849
 
1434
- static VacuumStmt *
1435
- _readVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) msg)
1850
+ static JsonScalarExpr *
1851
+ _readJsonScalarExpr(OUT_TYPE(JsonScalarExpr, JsonScalarExpr) msg)
1436
1852
  {
1437
- VacuumStmt *node = makeNode(VacuumStmt);
1438
- READ_LIST_FIELD(options, options, options);
1439
- READ_LIST_FIELD(rels, rels, rels);
1440
- READ_BOOL_FIELD(is_vacuumcmd, is_vacuumcmd, is_vacuumcmd);
1853
+ JsonScalarExpr *node = makeNode(JsonScalarExpr);
1854
+ READ_ABSTRACT_PTR_FIELD(expr, expr, expr, Expr*);
1855
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1856
+ READ_INT_FIELD(location, location, location);
1441
1857
  return node;
1442
1858
  }
1443
1859
 
1444
- static ExplainStmt *
1445
- _readExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) msg)
1860
+ static JsonSerializeExpr *
1861
+ _readJsonSerializeExpr(OUT_TYPE(JsonSerializeExpr, JsonSerializeExpr) msg)
1446
1862
  {
1447
- ExplainStmt *node = makeNode(ExplainStmt);
1448
- READ_NODE_PTR_FIELD(query, query, query);
1449
- READ_LIST_FIELD(options, options, options);
1863
+ JsonSerializeExpr *node = makeNode(JsonSerializeExpr);
1864
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, expr, expr, expr);
1865
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1866
+ READ_INT_FIELD(location, location, location);
1450
1867
  return node;
1451
1868
  }
1452
1869
 
1453
- static CreateTableAsStmt *
1454
- _readCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) msg)
1870
+ static JsonObjectConstructor *
1871
+ _readJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) msg)
1455
1872
  {
1456
- CreateTableAsStmt *node = makeNode(CreateTableAsStmt);
1457
- READ_NODE_PTR_FIELD(query, query, query);
1458
- READ_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into, into, into);
1459
- READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1460
- READ_BOOL_FIELD(is_select_into, is_select_into, is_select_into);
1461
- READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1873
+ JsonObjectConstructor *node = makeNode(JsonObjectConstructor);
1874
+ READ_LIST_FIELD(exprs, exprs, exprs);
1875
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1876
+ READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
1877
+ READ_BOOL_FIELD(unique, unique, unique);
1878
+ READ_INT_FIELD(location, location, location);
1462
1879
  return node;
1463
1880
  }
1464
1881
 
1465
- static CreateSeqStmt *
1466
- _readCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) msg)
1882
+ static JsonArrayConstructor *
1883
+ _readJsonArrayConstructor(OUT_TYPE(JsonArrayConstructor, JsonArrayConstructor) msg)
1467
1884
  {
1468
- CreateSeqStmt *node = makeNode(CreateSeqStmt);
1469
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
1470
- READ_LIST_FIELD(options, options, options);
1471
- READ_UINT_FIELD(owner_id, ownerId, ownerId);
1472
- READ_BOOL_FIELD(for_identity, for_identity, for_identity);
1473
- READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1885
+ JsonArrayConstructor *node = makeNode(JsonArrayConstructor);
1886
+ READ_LIST_FIELD(exprs, exprs, exprs);
1887
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1888
+ READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
1889
+ READ_INT_FIELD(location, location, location);
1474
1890
  return node;
1475
1891
  }
1476
1892
 
1477
- static AlterSeqStmt *
1478
- _readAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) msg)
1893
+ static JsonArrayQueryConstructor *
1894
+ _readJsonArrayQueryConstructor(OUT_TYPE(JsonArrayQueryConstructor, JsonArrayQueryConstructor) msg)
1479
1895
  {
1480
- AlterSeqStmt *node = makeNode(AlterSeqStmt);
1481
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
1482
- READ_LIST_FIELD(options, options, options);
1483
- READ_BOOL_FIELD(for_identity, for_identity, for_identity);
1484
- READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1896
+ JsonArrayQueryConstructor *node = makeNode(JsonArrayQueryConstructor);
1897
+ READ_NODE_PTR_FIELD(query, query, query);
1898
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1899
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format);
1900
+ READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
1901
+ READ_INT_FIELD(location, location, location);
1485
1902
  return node;
1486
1903
  }
1487
1904
 
1488
- static VariableSetStmt *
1489
- _readVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) msg)
1905
+ static JsonAggConstructor *
1906
+ _readJsonAggConstructor(OUT_TYPE(JsonAggConstructor, JsonAggConstructor) msg)
1490
1907
  {
1491
- VariableSetStmt *node = makeNode(VariableSetStmt);
1492
- READ_ENUM_FIELD(VariableSetKind, kind, kind, kind);
1493
- READ_STRING_FIELD(name, name, name);
1494
- READ_LIST_FIELD(args, args, args);
1495
- READ_BOOL_FIELD(is_local, is_local, is_local);
1908
+ JsonAggConstructor *node = makeNode(JsonAggConstructor);
1909
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1910
+ READ_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter);
1911
+ READ_LIST_FIELD(agg_order, agg_order, agg_order);
1912
+ READ_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over);
1913
+ READ_INT_FIELD(location, location, location);
1496
1914
  return node;
1497
1915
  }
1498
1916
 
1499
- static VariableShowStmt *
1500
- _readVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) msg)
1917
+ static JsonObjectAgg *
1918
+ _readJsonObjectAgg(OUT_TYPE(JsonObjectAgg, JsonObjectAgg) msg)
1501
1919
  {
1502
- VariableShowStmt *node = makeNode(VariableShowStmt);
1503
- READ_STRING_FIELD(name, name, name);
1920
+ JsonObjectAgg *node = makeNode(JsonObjectAgg);
1921
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonAggConstructor, json_agg_constructor, constructor, constructor, constructor);
1922
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonKeyValue, json_key_value, arg, arg, arg);
1923
+ READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
1924
+ READ_BOOL_FIELD(unique, unique, unique);
1504
1925
  return node;
1505
1926
  }
1506
1927
 
1507
- static DiscardStmt *
1508
- _readDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) msg)
1928
+ static JsonArrayAgg *
1929
+ _readJsonArrayAgg(OUT_TYPE(JsonArrayAgg, JsonArrayAgg) msg)
1509
1930
  {
1510
- DiscardStmt *node = makeNode(DiscardStmt);
1511
- READ_ENUM_FIELD(DiscardMode, target, target, target);
1931
+ JsonArrayAgg *node = makeNode(JsonArrayAgg);
1932
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonAggConstructor, json_agg_constructor, constructor, constructor, constructor);
1933
+ READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, arg, arg, arg);
1934
+ READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
1512
1935
  return node;
1513
1936
  }
1514
1937
 
1515
- static CreateTrigStmt *
1516
- _readCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) msg)
1517
- {
1518
- CreateTrigStmt *node = makeNode(CreateTrigStmt);
1519
- READ_BOOL_FIELD(replace, replace, replace);
1520
- READ_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
1521
- READ_STRING_FIELD(trigname, trigname, trigname);
1522
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1523
- READ_LIST_FIELD(funcname, funcname, funcname);
1524
- READ_LIST_FIELD(args, args, args);
1525
- READ_BOOL_FIELD(row, row, row);
1526
- READ_INT_FIELD(timing, timing, timing);
1527
- READ_INT_FIELD(events, events, events);
1528
- READ_LIST_FIELD(columns, columns, columns);
1529
- READ_NODE_PTR_FIELD(when_clause, whenClause, whenClause);
1530
- READ_LIST_FIELD(transition_rels, transitionRels, transitionRels);
1531
- READ_BOOL_FIELD(deferrable, deferrable, deferrable);
1532
- READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
1533
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, constrrel, constrrel, constrrel);
1938
+ static RawStmt *
1939
+ _readRawStmt(OUT_TYPE(RawStmt, RawStmt) msg)
1940
+ {
1941
+ RawStmt *node = makeNode(RawStmt);
1942
+ READ_NODE_PTR_FIELD(stmt, stmt, stmt);
1943
+ READ_INT_FIELD(stmt_location, stmt_location, stmt_location);
1944
+ READ_INT_FIELD(stmt_len, stmt_len, stmt_len);
1534
1945
  return node;
1535
1946
  }
1536
1947
 
1537
- static CreatePLangStmt *
1538
- _readCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) msg)
1948
+ static InsertStmt *
1949
+ _readInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) msg)
1539
1950
  {
1540
- CreatePLangStmt *node = makeNode(CreatePLangStmt);
1541
- READ_BOOL_FIELD(replace, replace, replace);
1542
- READ_STRING_FIELD(plname, plname, plname);
1543
- READ_LIST_FIELD(plhandler, plhandler, plhandler);
1544
- READ_LIST_FIELD(plinline, plinline, plinline);
1545
- READ_LIST_FIELD(plvalidator, plvalidator, plvalidator);
1546
- READ_BOOL_FIELD(pltrusted, pltrusted, pltrusted);
1951
+ InsertStmt *node = makeNode(InsertStmt);
1952
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1953
+ READ_LIST_FIELD(cols, cols, cols);
1954
+ READ_NODE_PTR_FIELD(select_stmt, selectStmt, selectStmt);
1955
+ READ_SPECIFIC_NODE_PTR_FIELD(OnConflictClause, on_conflict_clause, on_conflict_clause, onConflictClause, onConflictClause);
1956
+ READ_LIST_FIELD(returning_list, returningList, returningList);
1957
+ READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1958
+ READ_ENUM_FIELD(OverridingKind, override, override, override);
1547
1959
  return node;
1548
1960
  }
1549
1961
 
1550
- static CreateRoleStmt *
1551
- _readCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) msg)
1962
+ static DeleteStmt *
1963
+ _readDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) msg)
1552
1964
  {
1553
- CreateRoleStmt *node = makeNode(CreateRoleStmt);
1554
- READ_ENUM_FIELD(RoleStmtType, stmt_type, stmt_type, stmt_type);
1555
- READ_STRING_FIELD(role, role, role);
1556
- READ_LIST_FIELD(options, options, options);
1965
+ DeleteStmt *node = makeNode(DeleteStmt);
1966
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1967
+ READ_LIST_FIELD(using_clause, usingClause, usingClause);
1968
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1969
+ READ_LIST_FIELD(returning_list, returningList, returningList);
1970
+ READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1557
1971
  return node;
1558
1972
  }
1559
1973
 
1560
- static AlterRoleStmt *
1561
- _readAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) msg)
1974
+ static UpdateStmt *
1975
+ _readUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) msg)
1562
1976
  {
1563
- AlterRoleStmt *node = makeNode(AlterRoleStmt);
1564
- READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
1565
- READ_LIST_FIELD(options, options, options);
1566
- READ_INT_FIELD(action, action, action);
1977
+ UpdateStmt *node = makeNode(UpdateStmt);
1978
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1979
+ READ_LIST_FIELD(target_list, targetList, targetList);
1980
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1981
+ READ_LIST_FIELD(from_clause, fromClause, fromClause);
1982
+ READ_LIST_FIELD(returning_list, returningList, returningList);
1983
+ READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1567
1984
  return node;
1568
1985
  }
1569
1986
 
1570
- static DropRoleStmt *
1571
- _readDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) msg)
1987
+ static MergeStmt *
1988
+ _readMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) msg)
1572
1989
  {
1573
- DropRoleStmt *node = makeNode(DropRoleStmt);
1574
- READ_LIST_FIELD(roles, roles, roles);
1575
- READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1990
+ MergeStmt *node = makeNode(MergeStmt);
1991
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1992
+ READ_NODE_PTR_FIELD(source_relation, sourceRelation, sourceRelation);
1993
+ READ_NODE_PTR_FIELD(join_condition, joinCondition, joinCondition);
1994
+ READ_LIST_FIELD(merge_when_clauses, mergeWhenClauses, mergeWhenClauses);
1995
+ READ_LIST_FIELD(returning_list, returningList, returningList);
1996
+ READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1576
1997
  return node;
1577
1998
  }
1578
1999
 
1579
- static LockStmt *
1580
- _readLockStmt(OUT_TYPE(LockStmt, LockStmt) msg)
2000
+ static SelectStmt *
2001
+ _readSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) msg)
1581
2002
  {
1582
- LockStmt *node = makeNode(LockStmt);
1583
- READ_LIST_FIELD(relations, relations, relations);
1584
- READ_INT_FIELD(mode, mode, mode);
1585
- READ_BOOL_FIELD(nowait, nowait, nowait);
2003
+ SelectStmt *node = makeNode(SelectStmt);
2004
+ READ_LIST_FIELD(distinct_clause, distinctClause, distinctClause);
2005
+ READ_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into_clause, intoClause, intoClause);
2006
+ READ_LIST_FIELD(target_list, targetList, targetList);
2007
+ READ_LIST_FIELD(from_clause, fromClause, fromClause);
2008
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2009
+ READ_LIST_FIELD(group_clause, groupClause, groupClause);
2010
+ READ_BOOL_FIELD(group_distinct, groupDistinct, groupDistinct);
2011
+ READ_NODE_PTR_FIELD(having_clause, havingClause, havingClause);
2012
+ READ_LIST_FIELD(window_clause, windowClause, windowClause);
2013
+ READ_LIST_FIELD(values_lists, valuesLists, valuesLists);
2014
+ READ_LIST_FIELD(sort_clause, sortClause, sortClause);
2015
+ READ_NODE_PTR_FIELD(limit_offset, limitOffset, limitOffset);
2016
+ READ_NODE_PTR_FIELD(limit_count, limitCount, limitCount);
2017
+ READ_ENUM_FIELD(LimitOption, limit_option, limitOption, limitOption);
2018
+ READ_LIST_FIELD(locking_clause, lockingClause, lockingClause);
2019
+ READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
2020
+ READ_ENUM_FIELD(SetOperation, op, op, op);
2021
+ READ_BOOL_FIELD(all, all, all);
2022
+ READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, larg, larg, larg);
2023
+ READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, rarg, rarg, rarg);
1586
2024
  return node;
1587
2025
  }
1588
2026
 
1589
- static ConstraintsSetStmt *
1590
- _readConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) msg)
2027
+ static SetOperationStmt *
2028
+ _readSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) msg)
1591
2029
  {
1592
- ConstraintsSetStmt *node = makeNode(ConstraintsSetStmt);
1593
- READ_LIST_FIELD(constraints, constraints, constraints);
1594
- READ_BOOL_FIELD(deferred, deferred, deferred);
2030
+ SetOperationStmt *node = makeNode(SetOperationStmt);
2031
+ READ_ENUM_FIELD(SetOperation, op, op, op);
2032
+ READ_BOOL_FIELD(all, all, all);
2033
+ READ_NODE_PTR_FIELD(larg, larg, larg);
2034
+ READ_NODE_PTR_FIELD(rarg, rarg, rarg);
2035
+ READ_LIST_FIELD(col_types, colTypes, colTypes);
2036
+ READ_LIST_FIELD(col_typmods, colTypmods, colTypmods);
2037
+ READ_LIST_FIELD(col_collations, colCollations, colCollations);
2038
+ READ_LIST_FIELD(group_clauses, groupClauses, groupClauses);
1595
2039
  return node;
1596
2040
  }
1597
2041
 
1598
- static ReindexStmt *
1599
- _readReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) msg)
2042
+ static ReturnStmt *
2043
+ _readReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) msg)
1600
2044
  {
1601
- ReindexStmt *node = makeNode(ReindexStmt);
1602
- READ_ENUM_FIELD(ReindexObjectType, kind, kind, kind);
1603
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1604
- READ_STRING_FIELD(name, name, name);
1605
- READ_LIST_FIELD(params, params, params);
2045
+ ReturnStmt *node = makeNode(ReturnStmt);
2046
+ READ_NODE_PTR_FIELD(returnval, returnval, returnval);
1606
2047
  return node;
1607
2048
  }
1608
2049
 
1609
- static CheckPointStmt *
1610
- _readCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) msg)
2050
+ static PLAssignStmt *
2051
+ _readPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) msg)
1611
2052
  {
1612
- CheckPointStmt *node = makeNode(CheckPointStmt);
2053
+ PLAssignStmt *node = makeNode(PLAssignStmt);
2054
+ READ_STRING_FIELD(name, name, name);
2055
+ READ_LIST_FIELD(indirection, indirection, indirection);
2056
+ READ_INT_FIELD(nnames, nnames, nnames);
2057
+ READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, val, val, val);
2058
+ READ_INT_FIELD(location, location, location);
1613
2059
  return node;
1614
2060
  }
1615
2061
 
@@ -1624,133 +2070,208 @@ _readCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) msg)
1624
2070
  return node;
1625
2071
  }
1626
2072
 
1627
- static AlterDatabaseStmt *
1628
- _readAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) msg)
2073
+ static AlterTableStmt *
2074
+ _readAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) msg)
1629
2075
  {
1630
- AlterDatabaseStmt *node = makeNode(AlterDatabaseStmt);
1631
- READ_STRING_FIELD(dbname, dbname, dbname);
1632
- READ_LIST_FIELD(options, options, options);
2076
+ AlterTableStmt *node = makeNode(AlterTableStmt);
2077
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2078
+ READ_LIST_FIELD(cmds, cmds, cmds);
2079
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2080
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1633
2081
  return node;
1634
2082
  }
1635
2083
 
1636
- static AlterDatabaseRefreshCollStmt *
1637
- _readAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) msg)
2084
+ static ReplicaIdentityStmt *
2085
+ _readReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) msg)
1638
2086
  {
1639
- AlterDatabaseRefreshCollStmt *node = makeNode(AlterDatabaseRefreshCollStmt);
1640
- READ_STRING_FIELD(dbname, dbname, dbname);
2087
+ ReplicaIdentityStmt *node = makeNode(ReplicaIdentityStmt);
2088
+ READ_CHAR_FIELD(identity_type, identity_type, identity_type);
2089
+ READ_STRING_FIELD(name, name, name);
1641
2090
  return node;
1642
2091
  }
1643
2092
 
1644
- static AlterDatabaseSetStmt *
1645
- _readAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) msg)
2093
+ static AlterTableCmd *
2094
+ _readAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) msg)
1646
2095
  {
1647
- AlterDatabaseSetStmt *node = makeNode(AlterDatabaseSetStmt);
1648
- READ_STRING_FIELD(dbname, dbname, dbname);
1649
- READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
2096
+ AlterTableCmd *node = makeNode(AlterTableCmd);
2097
+ READ_ENUM_FIELD(AlterTableType, subtype, subtype, subtype);
2098
+ READ_STRING_FIELD(name, name, name);
2099
+ READ_INT_FIELD(num, num, num);
2100
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner);
2101
+ READ_NODE_PTR_FIELD(def, def, def);
2102
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2103
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2104
+ READ_BOOL_FIELD(recurse, recurse, recurse);
1650
2105
  return node;
1651
2106
  }
1652
2107
 
1653
- static AlterRoleSetStmt *
1654
- _readAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) msg)
2108
+ static AlterCollationStmt *
2109
+ _readAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) msg)
1655
2110
  {
1656
- AlterRoleSetStmt *node = makeNode(AlterRoleSetStmt);
1657
- READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
1658
- READ_STRING_FIELD(database, database, database);
1659
- READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
2111
+ AlterCollationStmt *node = makeNode(AlterCollationStmt);
2112
+ READ_LIST_FIELD(collname, collname, collname);
1660
2113
  return node;
1661
2114
  }
1662
2115
 
1663
- static CreateConversionStmt *
1664
- _readCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) msg)
2116
+ static AlterDomainStmt *
2117
+ _readAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) msg)
1665
2118
  {
1666
- CreateConversionStmt *node = makeNode(CreateConversionStmt);
1667
- READ_LIST_FIELD(conversion_name, conversion_name, conversion_name);
1668
- READ_STRING_FIELD(for_encoding_name, for_encoding_name, for_encoding_name);
1669
- READ_STRING_FIELD(to_encoding_name, to_encoding_name, to_encoding_name);
1670
- READ_LIST_FIELD(func_name, func_name, func_name);
1671
- READ_BOOL_FIELD(def, def, def);
2119
+ AlterDomainStmt *node = makeNode(AlterDomainStmt);
2120
+ READ_CHAR_FIELD(subtype, subtype, subtype);
2121
+ READ_LIST_FIELD(type_name, typeName, typeName);
2122
+ READ_STRING_FIELD(name, name, name);
2123
+ READ_NODE_PTR_FIELD(def, def, def);
2124
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2125
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1672
2126
  return node;
1673
2127
  }
1674
2128
 
1675
- static CreateCastStmt *
1676
- _readCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) msg)
2129
+ static GrantStmt *
2130
+ _readGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) msg)
1677
2131
  {
1678
- CreateCastStmt *node = makeNode(CreateCastStmt);
1679
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, sourcetype, sourcetype, sourcetype);
1680
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, targettype, targettype, targettype);
1681
- READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
1682
- READ_ENUM_FIELD(CoercionContext, context, context, context);
1683
- READ_BOOL_FIELD(inout, inout, inout);
2132
+ GrantStmt *node = makeNode(GrantStmt);
2133
+ READ_BOOL_FIELD(is_grant, is_grant, is_grant);
2134
+ READ_ENUM_FIELD(GrantTargetType, targtype, targtype, targtype);
2135
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2136
+ READ_LIST_FIELD(objects, objects, objects);
2137
+ READ_LIST_FIELD(privileges, privileges, privileges);
2138
+ READ_LIST_FIELD(grantees, grantees, grantees);
2139
+ READ_BOOL_FIELD(grant_option, grant_option, grant_option);
2140
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor);
2141
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1684
2142
  return node;
1685
2143
  }
1686
2144
 
1687
- static CreateOpClassStmt *
1688
- _readCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) msg)
2145
+ static ObjectWithArgs *
2146
+ _readObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) msg)
1689
2147
  {
1690
- CreateOpClassStmt *node = makeNode(CreateOpClassStmt);
1691
- READ_LIST_FIELD(opclassname, opclassname, opclassname);
1692
- READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1693
- READ_STRING_FIELD(amname, amname, amname);
1694
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, datatype, datatype, datatype);
1695
- READ_LIST_FIELD(items, items, items);
1696
- READ_BOOL_FIELD(is_default, isDefault, isDefault);
2148
+ ObjectWithArgs *node = makeNode(ObjectWithArgs);
2149
+ READ_LIST_FIELD(objname, objname, objname);
2150
+ READ_LIST_FIELD(objargs, objargs, objargs);
2151
+ READ_LIST_FIELD(objfuncargs, objfuncargs, objfuncargs);
2152
+ READ_BOOL_FIELD(args_unspecified, args_unspecified, args_unspecified);
2153
+ return node;
2154
+ }
2155
+
2156
+ static AccessPriv *
2157
+ _readAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) msg)
2158
+ {
2159
+ AccessPriv *node = makeNode(AccessPriv);
2160
+ READ_STRING_FIELD(priv_name, priv_name, priv_name);
2161
+ READ_LIST_FIELD(cols, cols, cols);
2162
+ return node;
2163
+ }
2164
+
2165
+ static GrantRoleStmt *
2166
+ _readGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) msg)
2167
+ {
2168
+ GrantRoleStmt *node = makeNode(GrantRoleStmt);
2169
+ READ_LIST_FIELD(granted_roles, granted_roles, granted_roles);
2170
+ READ_LIST_FIELD(grantee_roles, grantee_roles, grantee_roles);
2171
+ READ_BOOL_FIELD(is_grant, is_grant, is_grant);
2172
+ READ_LIST_FIELD(opt, opt, opt);
2173
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor);
2174
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1697
2175
  return node;
1698
2176
  }
1699
2177
 
1700
- static CreateOpFamilyStmt *
1701
- _readCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) msg)
2178
+ static AlterDefaultPrivilegesStmt *
2179
+ _readAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) msg)
1702
2180
  {
1703
- CreateOpFamilyStmt *node = makeNode(CreateOpFamilyStmt);
1704
- READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1705
- READ_STRING_FIELD(amname, amname, amname);
2181
+ AlterDefaultPrivilegesStmt *node = makeNode(AlterDefaultPrivilegesStmt);
2182
+ READ_LIST_FIELD(options, options, options);
2183
+ READ_SPECIFIC_NODE_PTR_FIELD(GrantStmt, grant_stmt, action, action, action);
1706
2184
  return node;
1707
2185
  }
1708
2186
 
1709
- static AlterOpFamilyStmt *
1710
- _readAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) msg)
2187
+ static CopyStmt *
2188
+ _readCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) msg)
1711
2189
  {
1712
- AlterOpFamilyStmt *node = makeNode(AlterOpFamilyStmt);
1713
- READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1714
- READ_STRING_FIELD(amname, amname, amname);
1715
- READ_BOOL_FIELD(is_drop, isDrop, isDrop);
1716
- READ_LIST_FIELD(items, items, items);
2190
+ CopyStmt *node = makeNode(CopyStmt);
2191
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2192
+ READ_NODE_PTR_FIELD(query, query, query);
2193
+ READ_LIST_FIELD(attlist, attlist, attlist);
2194
+ READ_BOOL_FIELD(is_from, is_from, is_from);
2195
+ READ_BOOL_FIELD(is_program, is_program, is_program);
2196
+ READ_STRING_FIELD(filename, filename, filename);
2197
+ READ_LIST_FIELD(options, options, options);
2198
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1717
2199
  return node;
1718
2200
  }
1719
2201
 
1720
- static PrepareStmt *
1721
- _readPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) msg)
2202
+ static VariableSetStmt *
2203
+ _readVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) msg)
1722
2204
  {
1723
- PrepareStmt *node = makeNode(PrepareStmt);
2205
+ VariableSetStmt *node = makeNode(VariableSetStmt);
2206
+ READ_ENUM_FIELD(VariableSetKind, kind, kind, kind);
1724
2207
  READ_STRING_FIELD(name, name, name);
1725
- READ_LIST_FIELD(argtypes, argtypes, argtypes);
1726
- READ_NODE_PTR_FIELD(query, query, query);
2208
+ READ_LIST_FIELD(args, args, args);
2209
+ READ_BOOL_FIELD(is_local, is_local, is_local);
1727
2210
  return node;
1728
2211
  }
1729
2212
 
1730
- static ExecuteStmt *
1731
- _readExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) msg)
2213
+ static VariableShowStmt *
2214
+ _readVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) msg)
1732
2215
  {
1733
- ExecuteStmt *node = makeNode(ExecuteStmt);
2216
+ VariableShowStmt *node = makeNode(VariableShowStmt);
1734
2217
  READ_STRING_FIELD(name, name, name);
1735
- READ_LIST_FIELD(params, params, params);
1736
2218
  return node;
1737
2219
  }
1738
2220
 
1739
- static DeallocateStmt *
1740
- _readDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) msg)
2221
+ static CreateStmt *
2222
+ _readCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) msg)
1741
2223
  {
1742
- DeallocateStmt *node = makeNode(DeallocateStmt);
1743
- READ_STRING_FIELD(name, name, name);
2224
+ CreateStmt *node = makeNode(CreateStmt);
2225
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2226
+ READ_LIST_FIELD(table_elts, tableElts, tableElts);
2227
+ READ_LIST_FIELD(inh_relations, inhRelations, inhRelations);
2228
+ READ_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, partbound, partbound, partbound);
2229
+ READ_SPECIFIC_NODE_PTR_FIELD(PartitionSpec, partition_spec, partspec, partspec, partspec);
2230
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, of_typename, ofTypename, ofTypename);
2231
+ READ_LIST_FIELD(constraints, constraints, constraints);
2232
+ READ_LIST_FIELD(options, options, options);
2233
+ READ_ENUM_FIELD(OnCommitAction, oncommit, oncommit, oncommit);
2234
+ READ_STRING_FIELD(tablespacename, tablespacename, tablespacename);
2235
+ READ_STRING_FIELD(access_method, accessMethod, accessMethod);
2236
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1744
2237
  return node;
1745
2238
  }
1746
2239
 
1747
- static DeclareCursorStmt *
1748
- _readDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) msg)
2240
+ static Constraint *
2241
+ _readConstraint(OUT_TYPE(Constraint, Constraint) msg)
1749
2242
  {
1750
- DeclareCursorStmt *node = makeNode(DeclareCursorStmt);
1751
- READ_STRING_FIELD(portalname, portalname, portalname);
1752
- READ_INT_FIELD(options, options, options);
1753
- READ_NODE_PTR_FIELD(query, query, query);
2243
+ Constraint *node = makeNode(Constraint);
2244
+ READ_ENUM_FIELD(ConstrType, contype, contype, contype);
2245
+ READ_STRING_FIELD(conname, conname, conname);
2246
+ READ_BOOL_FIELD(deferrable, deferrable, deferrable);
2247
+ READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
2248
+ READ_BOOL_FIELD(skip_validation, skip_validation, skip_validation);
2249
+ READ_BOOL_FIELD(initially_valid, initially_valid, initially_valid);
2250
+ READ_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit);
2251
+ READ_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr);
2252
+ READ_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr);
2253
+ READ_CHAR_FIELD(generated_when, generated_when, generated_when);
2254
+ READ_INT_FIELD(inhcount, inhcount, inhcount);
2255
+ READ_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct);
2256
+ READ_LIST_FIELD(keys, keys, keys);
2257
+ READ_LIST_FIELD(including, including, including);
2258
+ READ_LIST_FIELD(exclusions, exclusions, exclusions);
2259
+ READ_LIST_FIELD(options, options, options);
2260
+ READ_STRING_FIELD(indexname, indexname, indexname);
2261
+ READ_STRING_FIELD(indexspace, indexspace, indexspace);
2262
+ READ_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
2263
+ READ_STRING_FIELD(access_method, access_method, access_method);
2264
+ READ_NODE_PTR_FIELD(where_clause, where_clause, where_clause);
2265
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, pktable, pktable, pktable);
2266
+ READ_LIST_FIELD(fk_attrs, fk_attrs, fk_attrs);
2267
+ READ_LIST_FIELD(pk_attrs, pk_attrs, pk_attrs);
2268
+ READ_CHAR_FIELD(fk_matchtype, fk_matchtype, fk_matchtype);
2269
+ READ_CHAR_FIELD(fk_upd_action, fk_upd_action, fk_upd_action);
2270
+ READ_CHAR_FIELD(fk_del_action, fk_del_action, fk_del_action);
2271
+ READ_LIST_FIELD(fk_del_set_cols, fk_del_set_cols, fk_del_set_cols);
2272
+ READ_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop);
2273
+ READ_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid);
2274
+ READ_INT_FIELD(location, location, location);
1754
2275
  return node;
1755
2276
  }
1756
2277
 
@@ -1774,137 +2295,55 @@ _readDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) msg)
1774
2295
  return node;
1775
2296
  }
1776
2297
 
1777
- static AlterObjectDependsStmt *
1778
- _readAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) msg)
1779
- {
1780
- AlterObjectDependsStmt *node = makeNode(AlterObjectDependsStmt);
1781
- READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1782
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1783
- READ_NODE_PTR_FIELD(object, object, object);
1784
- READ_SPECIFIC_NODE_PTR_FIELD(String, string, extname, extname, extname);
1785
- READ_BOOL_FIELD(remove, remove, remove);
1786
- return node;
1787
- }
1788
-
1789
- static AlterObjectSchemaStmt *
1790
- _readAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) msg)
1791
- {
1792
- AlterObjectSchemaStmt *node = makeNode(AlterObjectSchemaStmt);
1793
- READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1794
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1795
- READ_NODE_PTR_FIELD(object, object, object);
1796
- READ_STRING_FIELD(newschema, newschema, newschema);
1797
- READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1798
- return node;
1799
- }
1800
-
1801
- static AlterOwnerStmt *
1802
- _readAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) msg)
1803
- {
1804
- AlterOwnerStmt *node = makeNode(AlterOwnerStmt);
1805
- READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1806
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1807
- READ_NODE_PTR_FIELD(object, object, object);
1808
- READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner);
1809
- return node;
1810
- }
1811
-
1812
- static AlterOperatorStmt *
1813
- _readAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) msg)
1814
- {
1815
- AlterOperatorStmt *node = makeNode(AlterOperatorStmt);
1816
- READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, opername, opername, opername);
1817
- READ_LIST_FIELD(options, options, options);
1818
- return node;
1819
- }
1820
-
1821
- static AlterTypeStmt *
1822
- _readAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) msg)
2298
+ static AlterTableSpaceOptionsStmt *
2299
+ _readAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) msg)
1823
2300
  {
1824
- AlterTypeStmt *node = makeNode(AlterTypeStmt);
1825
- READ_LIST_FIELD(type_name, typeName, typeName);
2301
+ AlterTableSpaceOptionsStmt *node = makeNode(AlterTableSpaceOptionsStmt);
2302
+ READ_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1826
2303
  READ_LIST_FIELD(options, options, options);
2304
+ READ_BOOL_FIELD(is_reset, isReset, isReset);
1827
2305
  return node;
1828
2306
  }
1829
2307
 
1830
- static DropOwnedStmt *
1831
- _readDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) msg)
1832
- {
1833
- DropOwnedStmt *node = makeNode(DropOwnedStmt);
1834
- READ_LIST_FIELD(roles, roles, roles);
1835
- READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1836
- return node;
1837
- }
1838
-
1839
- static ReassignOwnedStmt *
1840
- _readReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) msg)
2308
+ static AlterTableMoveAllStmt *
2309
+ _readAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) msg)
1841
2310
  {
1842
- ReassignOwnedStmt *node = makeNode(ReassignOwnedStmt);
2311
+ AlterTableMoveAllStmt *node = makeNode(AlterTableMoveAllStmt);
2312
+ READ_STRING_FIELD(orig_tablespacename, orig_tablespacename, orig_tablespacename);
2313
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1843
2314
  READ_LIST_FIELD(roles, roles, roles);
1844
- READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newrole, newrole, newrole);
1845
- return node;
1846
- }
1847
-
1848
- static CompositeTypeStmt *
1849
- _readCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) msg)
1850
- {
1851
- CompositeTypeStmt *node = makeNode(CompositeTypeStmt);
1852
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, typevar, typevar, typevar);
1853
- READ_LIST_FIELD(coldeflist, coldeflist, coldeflist);
1854
- return node;
1855
- }
1856
-
1857
- static CreateEnumStmt *
1858
- _readCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) msg)
1859
- {
1860
- CreateEnumStmt *node = makeNode(CreateEnumStmt);
1861
- READ_LIST_FIELD(type_name, typeName, typeName);
1862
- READ_LIST_FIELD(vals, vals, vals);
1863
- return node;
1864
- }
1865
-
1866
- static CreateRangeStmt *
1867
- _readCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) msg)
1868
- {
1869
- CreateRangeStmt *node = makeNode(CreateRangeStmt);
1870
- READ_LIST_FIELD(type_name, typeName, typeName);
1871
- READ_LIST_FIELD(params, params, params);
2315
+ READ_STRING_FIELD(new_tablespacename, new_tablespacename, new_tablespacename);
2316
+ READ_BOOL_FIELD(nowait, nowait, nowait);
1872
2317
  return node;
1873
2318
  }
1874
2319
 
1875
- static AlterEnumStmt *
1876
- _readAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) msg)
2320
+ static CreateExtensionStmt *
2321
+ _readCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) msg)
1877
2322
  {
1878
- AlterEnumStmt *node = makeNode(AlterEnumStmt);
1879
- READ_LIST_FIELD(type_name, typeName, typeName);
1880
- READ_STRING_FIELD(old_val, oldVal, oldVal);
1881
- READ_STRING_FIELD(new_val, newVal, newVal);
1882
- READ_STRING_FIELD(new_val_neighbor, newValNeighbor, newValNeighbor);
1883
- READ_BOOL_FIELD(new_val_is_after, newValIsAfter, newValIsAfter);
1884
- READ_BOOL_FIELD(skip_if_new_val_exists, skipIfNewValExists, skipIfNewValExists);
2323
+ CreateExtensionStmt *node = makeNode(CreateExtensionStmt);
2324
+ READ_STRING_FIELD(extname, extname, extname);
2325
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2326
+ READ_LIST_FIELD(options, options, options);
1885
2327
  return node;
1886
2328
  }
1887
2329
 
1888
- static AlterTSDictionaryStmt *
1889
- _readAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) msg)
2330
+ static AlterExtensionStmt *
2331
+ _readAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) msg)
1890
2332
  {
1891
- AlterTSDictionaryStmt *node = makeNode(AlterTSDictionaryStmt);
1892
- READ_LIST_FIELD(dictname, dictname, dictname);
2333
+ AlterExtensionStmt *node = makeNode(AlterExtensionStmt);
2334
+ READ_STRING_FIELD(extname, extname, extname);
1893
2335
  READ_LIST_FIELD(options, options, options);
1894
2336
  return node;
1895
2337
  }
1896
2338
 
1897
- static AlterTSConfigurationStmt *
1898
- _readAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) msg)
2339
+ static AlterExtensionContentsStmt *
2340
+ _readAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) msg)
1899
2341
  {
1900
- AlterTSConfigurationStmt *node = makeNode(AlterTSConfigurationStmt);
1901
- READ_ENUM_FIELD(AlterTSConfigType, kind, kind, kind);
1902
- READ_LIST_FIELD(cfgname, cfgname, cfgname);
1903
- READ_LIST_FIELD(tokentype, tokentype, tokentype);
1904
- READ_LIST_FIELD(dicts, dicts, dicts);
1905
- READ_BOOL_FIELD(override, override, override);
1906
- READ_BOOL_FIELD(replace, replace, replace);
1907
- READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2342
+ AlterExtensionContentsStmt *node = makeNode(AlterExtensionContentsStmt);
2343
+ READ_STRING_FIELD(extname, extname, extname);
2344
+ READ_INT_FIELD(action, action, action);
2345
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2346
+ READ_NODE_PTR_FIELD(object, object, object);
1908
2347
  return node;
1909
2348
  }
1910
2349
 
@@ -1948,7 +2387,18 @@ _readAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerS
1948
2387
  READ_STRING_FIELD(servername, servername, servername);
1949
2388
  READ_STRING_FIELD(version, version, version);
1950
2389
  READ_LIST_FIELD(options, options, options);
1951
- READ_BOOL_FIELD(has_version, has_version, has_version);
2390
+ READ_BOOL_FIELD(has_version, has_version, has_version);
2391
+ return node;
2392
+ }
2393
+
2394
+ static CreateForeignTableStmt *
2395
+ _readCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) msg)
2396
+ {
2397
+ CreateForeignTableStmt *node = makeNode(CreateForeignTableStmt);
2398
+ READ_SPECIFIC_NODE_FIELD(CreateStmt, create_stmt, base_stmt, base, base);
2399
+ READ_STRING_FIELD(servername, servername, servername);
2400
+ READ_LIST_FIELD(options, options, options);
2401
+ NodeSetTag(node, T_CreateForeignTableStmt);
1952
2402
  return node;
1953
2403
  }
1954
2404
 
@@ -1983,50 +2433,6 @@ _readDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) msg)
1983
2433
  return node;
1984
2434
  }
1985
2435
 
1986
- static AlterTableSpaceOptionsStmt *
1987
- _readAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) msg)
1988
- {
1989
- AlterTableSpaceOptionsStmt *node = makeNode(AlterTableSpaceOptionsStmt);
1990
- READ_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1991
- READ_LIST_FIELD(options, options, options);
1992
- READ_BOOL_FIELD(is_reset, isReset, isReset);
1993
- return node;
1994
- }
1995
-
1996
- static AlterTableMoveAllStmt *
1997
- _readAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) msg)
1998
- {
1999
- AlterTableMoveAllStmt *node = makeNode(AlterTableMoveAllStmt);
2000
- READ_STRING_FIELD(orig_tablespacename, orig_tablespacename, orig_tablespacename);
2001
- READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2002
- READ_LIST_FIELD(roles, roles, roles);
2003
- READ_STRING_FIELD(new_tablespacename, new_tablespacename, new_tablespacename);
2004
- READ_BOOL_FIELD(nowait, nowait, nowait);
2005
- return node;
2006
- }
2007
-
2008
- static SecLabelStmt *
2009
- _readSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) msg)
2010
- {
2011
- SecLabelStmt *node = makeNode(SecLabelStmt);
2012
- READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2013
- READ_NODE_PTR_FIELD(object, object, object);
2014
- READ_STRING_FIELD(provider, provider, provider);
2015
- READ_STRING_FIELD(label, label, label);
2016
- return node;
2017
- }
2018
-
2019
- static CreateForeignTableStmt *
2020
- _readCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) msg)
2021
- {
2022
- CreateForeignTableStmt *node = makeNode(CreateForeignTableStmt);
2023
- READ_SPECIFIC_NODE_FIELD(CreateStmt, create_stmt, base_stmt, base, base);
2024
- READ_STRING_FIELD(servername, servername, servername);
2025
- READ_LIST_FIELD(options, options, options);
2026
- NodeSetTag(node, T_CreateForeignTableStmt);
2027
- return node;
2028
- }
2029
-
2030
2436
  static ImportForeignSchemaStmt *
2031
2437
  _readImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) msg)
2032
2438
  {
@@ -2040,33 +2446,61 @@ _readImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSche
2040
2446
  return node;
2041
2447
  }
2042
2448
 
2043
- static CreateExtensionStmt *
2044
- _readCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) msg)
2449
+ static CreatePolicyStmt *
2450
+ _readCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) msg)
2045
2451
  {
2046
- CreateExtensionStmt *node = makeNode(CreateExtensionStmt);
2047
- READ_STRING_FIELD(extname, extname, extname);
2048
- READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2049
- READ_LIST_FIELD(options, options, options);
2452
+ CreatePolicyStmt *node = makeNode(CreatePolicyStmt);
2453
+ READ_STRING_FIELD(policy_name, policy_name, policy_name);
2454
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table);
2455
+ READ_STRING_FIELD(cmd_name, cmd_name, cmd_name);
2456
+ READ_BOOL_FIELD(permissive, permissive, permissive);
2457
+ READ_LIST_FIELD(roles, roles, roles);
2458
+ READ_NODE_PTR_FIELD(qual, qual, qual);
2459
+ READ_NODE_PTR_FIELD(with_check, with_check, with_check);
2050
2460
  return node;
2051
2461
  }
2052
2462
 
2053
- static AlterExtensionStmt *
2054
- _readAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) msg)
2463
+ static AlterPolicyStmt *
2464
+ _readAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) msg)
2055
2465
  {
2056
- AlterExtensionStmt *node = makeNode(AlterExtensionStmt);
2057
- READ_STRING_FIELD(extname, extname, extname);
2058
- READ_LIST_FIELD(options, options, options);
2466
+ AlterPolicyStmt *node = makeNode(AlterPolicyStmt);
2467
+ READ_STRING_FIELD(policy_name, policy_name, policy_name);
2468
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table);
2469
+ READ_LIST_FIELD(roles, roles, roles);
2470
+ READ_NODE_PTR_FIELD(qual, qual, qual);
2471
+ READ_NODE_PTR_FIELD(with_check, with_check, with_check);
2059
2472
  return node;
2060
2473
  }
2061
2474
 
2062
- static AlterExtensionContentsStmt *
2063
- _readAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) msg)
2475
+ static CreateAmStmt *
2476
+ _readCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) msg)
2064
2477
  {
2065
- AlterExtensionContentsStmt *node = makeNode(AlterExtensionContentsStmt);
2066
- READ_STRING_FIELD(extname, extname, extname);
2067
- READ_INT_FIELD(action, action, action);
2068
- READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2069
- READ_NODE_PTR_FIELD(object, object, object);
2478
+ CreateAmStmt *node = makeNode(CreateAmStmt);
2479
+ READ_STRING_FIELD(amname, amname, amname);
2480
+ READ_LIST_FIELD(handler_name, handler_name, handler_name);
2481
+ READ_CHAR_FIELD(amtype, amtype, amtype);
2482
+ return node;
2483
+ }
2484
+
2485
+ static CreateTrigStmt *
2486
+ _readCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) msg)
2487
+ {
2488
+ CreateTrigStmt *node = makeNode(CreateTrigStmt);
2489
+ READ_BOOL_FIELD(replace, replace, replace);
2490
+ READ_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
2491
+ READ_STRING_FIELD(trigname, trigname, trigname);
2492
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2493
+ READ_LIST_FIELD(funcname, funcname, funcname);
2494
+ READ_LIST_FIELD(args, args, args);
2495
+ READ_BOOL_FIELD(row, row, row);
2496
+ READ_INT_FIELD(timing, timing, timing);
2497
+ READ_INT_FIELD(events, events, events);
2498
+ READ_LIST_FIELD(columns, columns, columns);
2499
+ READ_NODE_PTR_FIELD(when_clause, whenClause, whenClause);
2500
+ READ_LIST_FIELD(transition_rels, transitionRels, transitionRels);
2501
+ READ_BOOL_FIELD(deferrable, deferrable, deferrable);
2502
+ READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
2503
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, constrrel, constrrel, constrrel);
2070
2504
  return node;
2071
2505
  }
2072
2506
 
@@ -2090,134 +2524,252 @@ _readAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) msg)
2090
2524
  return node;
2091
2525
  }
2092
2526
 
2093
- static RefreshMatViewStmt *
2094
- _readRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) msg)
2527
+ static CreatePLangStmt *
2528
+ _readCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) msg)
2095
2529
  {
2096
- RefreshMatViewStmt *node = makeNode(RefreshMatViewStmt);
2097
- READ_BOOL_FIELD(concurrent, concurrent, concurrent);
2098
- READ_BOOL_FIELD(skip_data, skipData, skipData);
2099
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2530
+ CreatePLangStmt *node = makeNode(CreatePLangStmt);
2531
+ READ_BOOL_FIELD(replace, replace, replace);
2532
+ READ_STRING_FIELD(plname, plname, plname);
2533
+ READ_LIST_FIELD(plhandler, plhandler, plhandler);
2534
+ READ_LIST_FIELD(plinline, plinline, plinline);
2535
+ READ_LIST_FIELD(plvalidator, plvalidator, plvalidator);
2536
+ READ_BOOL_FIELD(pltrusted, pltrusted, pltrusted);
2100
2537
  return node;
2101
2538
  }
2102
2539
 
2103
- static ReplicaIdentityStmt *
2104
- _readReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) msg)
2540
+ static CreateRoleStmt *
2541
+ _readCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) msg)
2105
2542
  {
2106
- ReplicaIdentityStmt *node = makeNode(ReplicaIdentityStmt);
2107
- READ_CHAR_FIELD(identity_type, identity_type, identity_type);
2108
- READ_STRING_FIELD(name, name, name);
2543
+ CreateRoleStmt *node = makeNode(CreateRoleStmt);
2544
+ READ_ENUM_FIELD(RoleStmtType, stmt_type, stmt_type, stmt_type);
2545
+ READ_STRING_FIELD(role, role, role);
2546
+ READ_LIST_FIELD(options, options, options);
2109
2547
  return node;
2110
2548
  }
2111
2549
 
2112
- static AlterSystemStmt *
2113
- _readAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) msg)
2550
+ static AlterRoleStmt *
2551
+ _readAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) msg)
2114
2552
  {
2115
- AlterSystemStmt *node = makeNode(AlterSystemStmt);
2553
+ AlterRoleStmt *node = makeNode(AlterRoleStmt);
2554
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
2555
+ READ_LIST_FIELD(options, options, options);
2556
+ READ_INT_FIELD(action, action, action);
2557
+ return node;
2558
+ }
2559
+
2560
+ static AlterRoleSetStmt *
2561
+ _readAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) msg)
2562
+ {
2563
+ AlterRoleSetStmt *node = makeNode(AlterRoleSetStmt);
2564
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
2565
+ READ_STRING_FIELD(database, database, database);
2116
2566
  READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
2117
2567
  return node;
2118
2568
  }
2119
2569
 
2120
- static CreatePolicyStmt *
2121
- _readCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) msg)
2570
+ static DropRoleStmt *
2571
+ _readDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) msg)
2122
2572
  {
2123
- CreatePolicyStmt *node = makeNode(CreatePolicyStmt);
2124
- READ_STRING_FIELD(policy_name, policy_name, policy_name);
2125
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table);
2126
- READ_STRING_FIELD(cmd_name, cmd_name, cmd_name);
2127
- READ_BOOL_FIELD(permissive, permissive, permissive);
2573
+ DropRoleStmt *node = makeNode(DropRoleStmt);
2128
2574
  READ_LIST_FIELD(roles, roles, roles);
2129
- READ_NODE_PTR_FIELD(qual, qual, qual);
2130
- READ_NODE_PTR_FIELD(with_check, with_check, with_check);
2575
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2576
+ return node;
2577
+ }
2578
+
2579
+ static CreateSeqStmt *
2580
+ _readCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) msg)
2581
+ {
2582
+ CreateSeqStmt *node = makeNode(CreateSeqStmt);
2583
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
2584
+ READ_LIST_FIELD(options, options, options);
2585
+ READ_UINT_FIELD(owner_id, ownerId, ownerId);
2586
+ READ_BOOL_FIELD(for_identity, for_identity, for_identity);
2587
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2588
+ return node;
2589
+ }
2590
+
2591
+ static AlterSeqStmt *
2592
+ _readAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) msg)
2593
+ {
2594
+ AlterSeqStmt *node = makeNode(AlterSeqStmt);
2595
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
2596
+ READ_LIST_FIELD(options, options, options);
2597
+ READ_BOOL_FIELD(for_identity, for_identity, for_identity);
2598
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2599
+ return node;
2600
+ }
2601
+
2602
+ static DefineStmt *
2603
+ _readDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) msg)
2604
+ {
2605
+ DefineStmt *node = makeNode(DefineStmt);
2606
+ READ_ENUM_FIELD(ObjectType, kind, kind, kind);
2607
+ READ_BOOL_FIELD(oldstyle, oldstyle, oldstyle);
2608
+ READ_LIST_FIELD(defnames, defnames, defnames);
2609
+ READ_LIST_FIELD(args, args, args);
2610
+ READ_LIST_FIELD(definition, definition, definition);
2611
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2612
+ READ_BOOL_FIELD(replace, replace, replace);
2613
+ return node;
2614
+ }
2615
+
2616
+ static CreateDomainStmt *
2617
+ _readCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) msg)
2618
+ {
2619
+ CreateDomainStmt *node = makeNode(CreateDomainStmt);
2620
+ READ_LIST_FIELD(domainname, domainname, domainname);
2621
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2622
+ READ_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
2623
+ READ_LIST_FIELD(constraints, constraints, constraints);
2624
+ return node;
2625
+ }
2626
+
2627
+ static CreateOpClassStmt *
2628
+ _readCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) msg)
2629
+ {
2630
+ CreateOpClassStmt *node = makeNode(CreateOpClassStmt);
2631
+ READ_LIST_FIELD(opclassname, opclassname, opclassname);
2632
+ READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
2633
+ READ_STRING_FIELD(amname, amname, amname);
2634
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, datatype, datatype, datatype);
2635
+ READ_LIST_FIELD(items, items, items);
2636
+ READ_BOOL_FIELD(is_default, isDefault, isDefault);
2637
+ return node;
2638
+ }
2639
+
2640
+ static CreateOpClassItem *
2641
+ _readCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) msg)
2642
+ {
2643
+ CreateOpClassItem *node = makeNode(CreateOpClassItem);
2644
+ READ_INT_FIELD(itemtype, itemtype, itemtype);
2645
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, name, name, name);
2646
+ READ_INT_FIELD(number, number, number);
2647
+ READ_LIST_FIELD(order_family, order_family, order_family);
2648
+ READ_LIST_FIELD(class_args, class_args, class_args);
2649
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, storedtype, storedtype, storedtype);
2650
+ return node;
2651
+ }
2652
+
2653
+ static CreateOpFamilyStmt *
2654
+ _readCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) msg)
2655
+ {
2656
+ CreateOpFamilyStmt *node = makeNode(CreateOpFamilyStmt);
2657
+ READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
2658
+ READ_STRING_FIELD(amname, amname, amname);
2659
+ return node;
2660
+ }
2661
+
2662
+ static AlterOpFamilyStmt *
2663
+ _readAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) msg)
2664
+ {
2665
+ AlterOpFamilyStmt *node = makeNode(AlterOpFamilyStmt);
2666
+ READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
2667
+ READ_STRING_FIELD(amname, amname, amname);
2668
+ READ_BOOL_FIELD(is_drop, isDrop, isDrop);
2669
+ READ_LIST_FIELD(items, items, items);
2131
2670
  return node;
2132
2671
  }
2133
2672
 
2134
- static AlterPolicyStmt *
2135
- _readAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) msg)
2673
+ static DropStmt *
2674
+ _readDropStmt(OUT_TYPE(DropStmt, DropStmt) msg)
2136
2675
  {
2137
- AlterPolicyStmt *node = makeNode(AlterPolicyStmt);
2138
- READ_STRING_FIELD(policy_name, policy_name, policy_name);
2139
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table);
2140
- READ_LIST_FIELD(roles, roles, roles);
2141
- READ_NODE_PTR_FIELD(qual, qual, qual);
2142
- READ_NODE_PTR_FIELD(with_check, with_check, with_check);
2676
+ DropStmt *node = makeNode(DropStmt);
2677
+ READ_LIST_FIELD(objects, objects, objects);
2678
+ READ_ENUM_FIELD(ObjectType, remove_type, removeType, removeType);
2679
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2680
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2681
+ READ_BOOL_FIELD(concurrent, concurrent, concurrent);
2143
2682
  return node;
2144
2683
  }
2145
2684
 
2146
- static CreateTransformStmt *
2147
- _readCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) msg)
2685
+ static TruncateStmt *
2686
+ _readTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) msg)
2148
2687
  {
2149
- CreateTransformStmt *node = makeNode(CreateTransformStmt);
2150
- READ_BOOL_FIELD(replace, replace, replace);
2151
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, type_name, type_name);
2152
- READ_STRING_FIELD(lang, lang, lang);
2153
- READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, fromsql, fromsql, fromsql);
2154
- READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, tosql, tosql, tosql);
2688
+ TruncateStmt *node = makeNode(TruncateStmt);
2689
+ READ_LIST_FIELD(relations, relations, relations);
2690
+ READ_BOOL_FIELD(restart_seqs, restart_seqs, restart_seqs);
2691
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2155
2692
  return node;
2156
2693
  }
2157
2694
 
2158
- static CreateAmStmt *
2159
- _readCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) msg)
2695
+ static CommentStmt *
2696
+ _readCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) msg)
2160
2697
  {
2161
- CreateAmStmt *node = makeNode(CreateAmStmt);
2162
- READ_STRING_FIELD(amname, amname, amname);
2163
- READ_LIST_FIELD(handler_name, handler_name, handler_name);
2164
- READ_CHAR_FIELD(amtype, amtype, amtype);
2698
+ CommentStmt *node = makeNode(CommentStmt);
2699
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2700
+ READ_NODE_PTR_FIELD(object, object, object);
2701
+ READ_STRING_FIELD(comment, comment, comment);
2165
2702
  return node;
2166
2703
  }
2167
2704
 
2168
- static CreatePublicationStmt *
2169
- _readCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) msg)
2705
+ static SecLabelStmt *
2706
+ _readSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) msg)
2170
2707
  {
2171
- CreatePublicationStmt *node = makeNode(CreatePublicationStmt);
2172
- READ_STRING_FIELD(pubname, pubname, pubname);
2173
- READ_LIST_FIELD(options, options, options);
2174
- READ_LIST_FIELD(pubobjects, pubobjects, pubobjects);
2175
- READ_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
2708
+ SecLabelStmt *node = makeNode(SecLabelStmt);
2709
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2710
+ READ_NODE_PTR_FIELD(object, object, object);
2711
+ READ_STRING_FIELD(provider, provider, provider);
2712
+ READ_STRING_FIELD(label, label, label);
2176
2713
  return node;
2177
2714
  }
2178
2715
 
2179
- static AlterPublicationStmt *
2180
- _readAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) msg)
2716
+ static DeclareCursorStmt *
2717
+ _readDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) msg)
2181
2718
  {
2182
- AlterPublicationStmt *node = makeNode(AlterPublicationStmt);
2183
- READ_STRING_FIELD(pubname, pubname, pubname);
2184
- READ_LIST_FIELD(options, options, options);
2185
- READ_LIST_FIELD(pubobjects, pubobjects, pubobjects);
2186
- READ_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
2187
- READ_ENUM_FIELD(AlterPublicationAction, action, action, action);
2719
+ DeclareCursorStmt *node = makeNode(DeclareCursorStmt);
2720
+ READ_STRING_FIELD(portalname, portalname, portalname);
2721
+ READ_INT_FIELD(options, options, options);
2722
+ READ_NODE_PTR_FIELD(query, query, query);
2188
2723
  return node;
2189
2724
  }
2190
2725
 
2191
- static CreateSubscriptionStmt *
2192
- _readCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) msg)
2726
+ static ClosePortalStmt *
2727
+ _readClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) msg)
2193
2728
  {
2194
- CreateSubscriptionStmt *node = makeNode(CreateSubscriptionStmt);
2195
- READ_STRING_FIELD(subname, subname, subname);
2196
- READ_STRING_FIELD(conninfo, conninfo, conninfo);
2197
- READ_LIST_FIELD(publication, publication, publication);
2198
- READ_LIST_FIELD(options, options, options);
2729
+ ClosePortalStmt *node = makeNode(ClosePortalStmt);
2730
+ READ_STRING_FIELD(portalname, portalname, portalname);
2199
2731
  return node;
2200
2732
  }
2201
2733
 
2202
- static AlterSubscriptionStmt *
2203
- _readAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) msg)
2734
+ static FetchStmt *
2735
+ _readFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) msg)
2204
2736
  {
2205
- AlterSubscriptionStmt *node = makeNode(AlterSubscriptionStmt);
2206
- READ_ENUM_FIELD(AlterSubscriptionType, kind, kind, kind);
2207
- READ_STRING_FIELD(subname, subname, subname);
2208
- READ_STRING_FIELD(conninfo, conninfo, conninfo);
2209
- READ_LIST_FIELD(publication, publication, publication);
2210
- READ_LIST_FIELD(options, options, options);
2737
+ FetchStmt *node = makeNode(FetchStmt);
2738
+ READ_ENUM_FIELD(FetchDirection, direction, direction, direction);
2739
+ READ_LONG_FIELD(how_many, howMany, howMany);
2740
+ READ_STRING_FIELD(portalname, portalname, portalname);
2741
+ READ_BOOL_FIELD(ismove, ismove, ismove);
2211
2742
  return node;
2212
2743
  }
2213
2744
 
2214
- static DropSubscriptionStmt *
2215
- _readDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) msg)
2745
+ static IndexStmt *
2746
+ _readIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) msg)
2216
2747
  {
2217
- DropSubscriptionStmt *node = makeNode(DropSubscriptionStmt);
2218
- READ_STRING_FIELD(subname, subname, subname);
2219
- READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2220
- READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2748
+ IndexStmt *node = makeNode(IndexStmt);
2749
+ READ_STRING_FIELD(idxname, idxname, idxname);
2750
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2751
+ READ_STRING_FIELD(access_method, accessMethod, accessMethod);
2752
+ READ_STRING_FIELD(table_space, tableSpace, tableSpace);
2753
+ READ_LIST_FIELD(index_params, indexParams, indexParams);
2754
+ READ_LIST_FIELD(index_including_params, indexIncludingParams, indexIncludingParams);
2755
+ READ_LIST_FIELD(options, options, options);
2756
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2757
+ READ_LIST_FIELD(exclude_op_names, excludeOpNames, excludeOpNames);
2758
+ READ_STRING_FIELD(idxcomment, idxcomment, idxcomment);
2759
+ READ_UINT_FIELD(index_oid, indexOid, indexOid);
2760
+ READ_UINT_FIELD(old_number, oldNumber, oldNumber);
2761
+ READ_UINT_FIELD(old_create_subid, oldCreateSubid, oldCreateSubid);
2762
+ READ_UINT_FIELD(old_first_relfilelocator_subid, oldFirstRelfilelocatorSubid, oldFirstRelfilelocatorSubid);
2763
+ READ_BOOL_FIELD(unique, unique, unique);
2764
+ READ_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct);
2765
+ READ_BOOL_FIELD(primary, primary, primary);
2766
+ READ_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
2767
+ READ_BOOL_FIELD(deferrable, deferrable, deferrable);
2768
+ READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
2769
+ READ_BOOL_FIELD(transformed, transformed, transformed);
2770
+ READ_BOOL_FIELD(concurrent, concurrent, concurrent);
2771
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2772
+ READ_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
2221
2773
  return node;
2222
2774
  }
2223
2775
 
@@ -2235,21 +2787,12 @@ _readCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) msg)
2235
2787
  return node;
2236
2788
  }
2237
2789
 
2238
- static AlterCollationStmt *
2239
- _readAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) msg)
2240
- {
2241
- AlterCollationStmt *node = makeNode(AlterCollationStmt);
2242
- READ_LIST_FIELD(collname, collname, collname);
2243
- return node;
2244
- }
2245
-
2246
- static CallStmt *
2247
- _readCallStmt(OUT_TYPE(CallStmt, CallStmt) msg)
2790
+ static StatsElem *
2791
+ _readStatsElem(OUT_TYPE(StatsElem, StatsElem) msg)
2248
2792
  {
2249
- CallStmt *node = makeNode(CallStmt);
2250
- READ_SPECIFIC_NODE_PTR_FIELD(FuncCall, func_call, funccall, funccall, funccall);
2251
- READ_SPECIFIC_NODE_PTR_FIELD(FuncExpr, func_expr, funcexpr, funcexpr, funcexpr);
2252
- READ_LIST_FIELD(outargs, outargs, outargs);
2793
+ StatsElem *node = makeNode(StatsElem);
2794
+ READ_STRING_FIELD(name, name, name);
2795
+ READ_NODE_PTR_FIELD(expr, expr, expr);
2253
2796
  return node;
2254
2797
  }
2255
2798
 
@@ -2258,726 +2801,536 @@ _readAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) msg)
2258
2801
  {
2259
2802
  AlterStatsStmt *node = makeNode(AlterStatsStmt);
2260
2803
  READ_LIST_FIELD(defnames, defnames, defnames);
2261
- READ_INT_FIELD(stxstattarget, stxstattarget, stxstattarget);
2804
+ READ_NODE_PTR_FIELD(stxstattarget, stxstattarget, stxstattarget);
2262
2805
  READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2263
2806
  return node;
2264
2807
  }
2265
2808
 
2266
- static A_Expr *
2267
- _readAExpr(OUT_TYPE(A_Expr, AExpr) msg)
2268
- {
2269
- A_Expr *node = makeNode(A_Expr);
2270
- READ_ENUM_FIELD(A_Expr_Kind, kind, kind, kind);
2271
- READ_LIST_FIELD(name, name, name);
2272
- READ_NODE_PTR_FIELD(lexpr, lexpr, lexpr);
2273
- READ_NODE_PTR_FIELD(rexpr, rexpr, rexpr);
2274
- READ_INT_FIELD(location, location, location);
2275
- return node;
2276
- }
2277
-
2278
- static ColumnRef *
2279
- _readColumnRef(OUT_TYPE(ColumnRef, ColumnRef) msg)
2280
- {
2281
- ColumnRef *node = makeNode(ColumnRef);
2282
- READ_LIST_FIELD(fields, fields, fields);
2283
- READ_INT_FIELD(location, location, location);
2284
- return node;
2285
- }
2286
-
2287
- static ParamRef *
2288
- _readParamRef(OUT_TYPE(ParamRef, ParamRef) msg)
2289
- {
2290
- ParamRef *node = makeNode(ParamRef);
2291
- READ_INT_FIELD(number, number, number);
2292
- READ_INT_FIELD(location, location, location);
2293
- return node;
2294
- }
2295
-
2296
- static FuncCall *
2297
- _readFuncCall(OUT_TYPE(FuncCall, FuncCall) msg)
2809
+ static CreateFunctionStmt *
2810
+ _readCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) msg)
2298
2811
  {
2299
- FuncCall *node = makeNode(FuncCall);
2812
+ CreateFunctionStmt *node = makeNode(CreateFunctionStmt);
2813
+ READ_BOOL_FIELD(is_procedure, is_procedure, is_procedure);
2814
+ READ_BOOL_FIELD(replace, replace, replace);
2300
2815
  READ_LIST_FIELD(funcname, funcname, funcname);
2301
- READ_LIST_FIELD(args, args, args);
2302
- READ_LIST_FIELD(agg_order, agg_order, agg_order);
2303
- READ_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter);
2304
- READ_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over);
2305
- READ_BOOL_FIELD(agg_within_group, agg_within_group, agg_within_group);
2306
- READ_BOOL_FIELD(agg_star, agg_star, agg_star);
2307
- READ_BOOL_FIELD(agg_distinct, agg_distinct, agg_distinct);
2308
- READ_BOOL_FIELD(func_variadic, func_variadic, func_variadic);
2309
- READ_ENUM_FIELD(CoercionForm, funcformat, funcformat, funcformat);
2310
- READ_INT_FIELD(location, location, location);
2816
+ READ_LIST_FIELD(parameters, parameters, parameters);
2817
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, return_type, returnType, returnType);
2818
+ READ_LIST_FIELD(options, options, options);
2819
+ READ_NODE_PTR_FIELD(sql_body, sql_body, sql_body);
2311
2820
  return node;
2312
2821
  }
2313
2822
 
2314
- static A_Star *
2315
- _readAStar(OUT_TYPE(A_Star, AStar) msg)
2823
+ static FunctionParameter *
2824
+ _readFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) msg)
2316
2825
  {
2317
- A_Star *node = makeNode(A_Star);
2826
+ FunctionParameter *node = makeNode(FunctionParameter);
2827
+ READ_STRING_FIELD(name, name, name);
2828
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, arg_type, argType, argType);
2829
+ READ_ENUM_FIELD(FunctionParameterMode, mode, mode, mode);
2830
+ READ_NODE_PTR_FIELD(defexpr, defexpr, defexpr);
2318
2831
  return node;
2319
2832
  }
2320
2833
 
2321
- static A_Indices *
2322
- _readAIndices(OUT_TYPE(A_Indices, AIndices) msg)
2834
+ static AlterFunctionStmt *
2835
+ _readAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) msg)
2323
2836
  {
2324
- A_Indices *node = makeNode(A_Indices);
2325
- READ_BOOL_FIELD(is_slice, is_slice, is_slice);
2326
- READ_NODE_PTR_FIELD(lidx, lidx, lidx);
2327
- READ_NODE_PTR_FIELD(uidx, uidx, uidx);
2837
+ AlterFunctionStmt *node = makeNode(AlterFunctionStmt);
2838
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2839
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
2840
+ READ_LIST_FIELD(actions, actions, actions);
2328
2841
  return node;
2329
2842
  }
2330
2843
 
2331
- static A_Indirection *
2332
- _readAIndirection(OUT_TYPE(A_Indirection, AIndirection) msg)
2844
+ static DoStmt *
2845
+ _readDoStmt(OUT_TYPE(DoStmt, DoStmt) msg)
2333
2846
  {
2334
- A_Indirection *node = makeNode(A_Indirection);
2335
- READ_NODE_PTR_FIELD(arg, arg, arg);
2336
- READ_LIST_FIELD(indirection, indirection, indirection);
2847
+ DoStmt *node = makeNode(DoStmt);
2848
+ READ_LIST_FIELD(args, args, args);
2337
2849
  return node;
2338
2850
  }
2339
2851
 
2340
- static A_ArrayExpr *
2341
- _readAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) msg)
2852
+ static InlineCodeBlock *
2853
+ _readInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) msg)
2342
2854
  {
2343
- A_ArrayExpr *node = makeNode(A_ArrayExpr);
2344
- READ_LIST_FIELD(elements, elements, elements);
2345
- READ_INT_FIELD(location, location, location);
2855
+ InlineCodeBlock *node = makeNode(InlineCodeBlock);
2856
+ READ_STRING_FIELD(source_text, source_text, source_text);
2857
+ READ_UINT_FIELD(lang_oid, langOid, langOid);
2858
+ READ_BOOL_FIELD(lang_is_trusted, langIsTrusted, langIsTrusted);
2859
+ READ_BOOL_FIELD(atomic, atomic, atomic);
2346
2860
  return node;
2347
2861
  }
2348
2862
 
2349
- static ResTarget *
2350
- _readResTarget(OUT_TYPE(ResTarget, ResTarget) msg)
2351
- {
2352
- ResTarget *node = makeNode(ResTarget);
2353
- READ_STRING_FIELD(name, name, name);
2354
- READ_LIST_FIELD(indirection, indirection, indirection);
2355
- READ_NODE_PTR_FIELD(val, val, val);
2356
- READ_INT_FIELD(location, location, location);
2863
+ static CallStmt *
2864
+ _readCallStmt(OUT_TYPE(CallStmt, CallStmt) msg)
2865
+ {
2866
+ CallStmt *node = makeNode(CallStmt);
2867
+ READ_SPECIFIC_NODE_PTR_FIELD(FuncCall, func_call, funccall, funccall, funccall);
2868
+ READ_SPECIFIC_NODE_PTR_FIELD(FuncExpr, func_expr, funcexpr, funcexpr, funcexpr);
2869
+ READ_LIST_FIELD(outargs, outargs, outargs);
2357
2870
  return node;
2358
2871
  }
2359
2872
 
2360
- static MultiAssignRef *
2361
- _readMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) msg)
2873
+ static CallContext *
2874
+ _readCallContext(OUT_TYPE(CallContext, CallContext) msg)
2362
2875
  {
2363
- MultiAssignRef *node = makeNode(MultiAssignRef);
2364
- READ_NODE_PTR_FIELD(source, source, source);
2365
- READ_INT_FIELD(colno, colno, colno);
2366
- READ_INT_FIELD(ncolumns, ncolumns, ncolumns);
2876
+ CallContext *node = makeNode(CallContext);
2877
+ READ_BOOL_FIELD(atomic, atomic, atomic);
2367
2878
  return node;
2368
2879
  }
2369
2880
 
2370
- static TypeCast *
2371
- _readTypeCast(OUT_TYPE(TypeCast, TypeCast) msg)
2881
+ static RenameStmt *
2882
+ _readRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) msg)
2372
2883
  {
2373
- TypeCast *node = makeNode(TypeCast);
2374
- READ_NODE_PTR_FIELD(arg, arg, arg);
2375
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2376
- READ_INT_FIELD(location, location, location);
2884
+ RenameStmt *node = makeNode(RenameStmt);
2885
+ READ_ENUM_FIELD(ObjectType, rename_type, renameType, renameType);
2886
+ READ_ENUM_FIELD(ObjectType, relation_type, relationType, relationType);
2887
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2888
+ READ_NODE_PTR_FIELD(object, object, object);
2889
+ READ_STRING_FIELD(subname, subname, subname);
2890
+ READ_STRING_FIELD(newname, newname, newname);
2891
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2892
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2377
2893
  return node;
2378
2894
  }
2379
2895
 
2380
- static CollateClause *
2381
- _readCollateClause(OUT_TYPE(CollateClause, CollateClause) msg)
2896
+ static AlterObjectDependsStmt *
2897
+ _readAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) msg)
2382
2898
  {
2383
- CollateClause *node = makeNode(CollateClause);
2384
- READ_NODE_PTR_FIELD(arg, arg, arg);
2385
- READ_LIST_FIELD(collname, collname, collname);
2386
- READ_INT_FIELD(location, location, location);
2899
+ AlterObjectDependsStmt *node = makeNode(AlterObjectDependsStmt);
2900
+ READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
2901
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2902
+ READ_NODE_PTR_FIELD(object, object, object);
2903
+ READ_SPECIFIC_NODE_PTR_FIELD(String, string, extname, extname, extname);
2904
+ READ_BOOL_FIELD(remove, remove, remove);
2387
2905
  return node;
2388
2906
  }
2389
2907
 
2390
- static SortBy *
2391
- _readSortBy(OUT_TYPE(SortBy, SortBy) msg)
2908
+ static AlterObjectSchemaStmt *
2909
+ _readAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) msg)
2392
2910
  {
2393
- SortBy *node = makeNode(SortBy);
2394
- READ_NODE_PTR_FIELD(node, node, node);
2395
- READ_ENUM_FIELD(SortByDir, sortby_dir, sortby_dir, sortby_dir);
2396
- READ_ENUM_FIELD(SortByNulls, sortby_nulls, sortby_nulls, sortby_nulls);
2397
- READ_LIST_FIELD(use_op, useOp, useOp);
2398
- READ_INT_FIELD(location, location, location);
2911
+ AlterObjectSchemaStmt *node = makeNode(AlterObjectSchemaStmt);
2912
+ READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
2913
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2914
+ READ_NODE_PTR_FIELD(object, object, object);
2915
+ READ_STRING_FIELD(newschema, newschema, newschema);
2916
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2399
2917
  return node;
2400
2918
  }
2401
2919
 
2402
- static WindowDef *
2403
- _readWindowDef(OUT_TYPE(WindowDef, WindowDef) msg)
2920
+ static AlterOwnerStmt *
2921
+ _readAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) msg)
2404
2922
  {
2405
- WindowDef *node = makeNode(WindowDef);
2406
- READ_STRING_FIELD(name, name, name);
2407
- READ_STRING_FIELD(refname, refname, refname);
2408
- READ_LIST_FIELD(partition_clause, partitionClause, partitionClause);
2409
- READ_LIST_FIELD(order_clause, orderClause, orderClause);
2410
- READ_INT_FIELD(frame_options, frameOptions, frameOptions);
2411
- READ_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
2412
- READ_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
2413
- READ_INT_FIELD(location, location, location);
2923
+ AlterOwnerStmt *node = makeNode(AlterOwnerStmt);
2924
+ READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
2925
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2926
+ READ_NODE_PTR_FIELD(object, object, object);
2927
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner);
2414
2928
  return node;
2415
2929
  }
2416
2930
 
2417
- static RangeSubselect *
2418
- _readRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) msg)
2931
+ static AlterOperatorStmt *
2932
+ _readAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) msg)
2419
2933
  {
2420
- RangeSubselect *node = makeNode(RangeSubselect);
2421
- READ_BOOL_FIELD(lateral, lateral, lateral);
2422
- READ_NODE_PTR_FIELD(subquery, subquery, subquery);
2423
- READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2934
+ AlterOperatorStmt *node = makeNode(AlterOperatorStmt);
2935
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, opername, opername, opername);
2936
+ READ_LIST_FIELD(options, options, options);
2424
2937
  return node;
2425
2938
  }
2426
2939
 
2427
- static RangeFunction *
2428
- _readRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) msg)
2940
+ static AlterTypeStmt *
2941
+ _readAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) msg)
2429
2942
  {
2430
- RangeFunction *node = makeNode(RangeFunction);
2431
- READ_BOOL_FIELD(lateral, lateral, lateral);
2432
- READ_BOOL_FIELD(ordinality, ordinality, ordinality);
2433
- READ_BOOL_FIELD(is_rowsfrom, is_rowsfrom, is_rowsfrom);
2434
- READ_LIST_FIELD(functions, functions, functions);
2435
- READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2436
- READ_LIST_FIELD(coldeflist, coldeflist, coldeflist);
2943
+ AlterTypeStmt *node = makeNode(AlterTypeStmt);
2944
+ READ_LIST_FIELD(type_name, typeName, typeName);
2945
+ READ_LIST_FIELD(options, options, options);
2437
2946
  return node;
2438
2947
  }
2439
2948
 
2440
- static RangeTableSample *
2441
- _readRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) msg)
2949
+ static RuleStmt *
2950
+ _readRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) msg)
2442
2951
  {
2443
- RangeTableSample *node = makeNode(RangeTableSample);
2444
- READ_NODE_PTR_FIELD(relation, relation, relation);
2445
- READ_LIST_FIELD(method, method, method);
2446
- READ_LIST_FIELD(args, args, args);
2447
- READ_NODE_PTR_FIELD(repeatable, repeatable, repeatable);
2448
- READ_INT_FIELD(location, location, location);
2952
+ RuleStmt *node = makeNode(RuleStmt);
2953
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2954
+ READ_STRING_FIELD(rulename, rulename, rulename);
2955
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2956
+ READ_ENUM_FIELD(CmdType, event, event, event);
2957
+ READ_BOOL_FIELD(instead, instead, instead);
2958
+ READ_LIST_FIELD(actions, actions, actions);
2959
+ READ_BOOL_FIELD(replace, replace, replace);
2449
2960
  return node;
2450
2961
  }
2451
2962
 
2452
- static RangeTableFunc *
2453
- _readRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) msg)
2963
+ static NotifyStmt *
2964
+ _readNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) msg)
2454
2965
  {
2455
- RangeTableFunc *node = makeNode(RangeTableFunc);
2456
- READ_BOOL_FIELD(lateral, lateral, lateral);
2457
- READ_NODE_PTR_FIELD(docexpr, docexpr, docexpr);
2458
- READ_NODE_PTR_FIELD(rowexpr, rowexpr, rowexpr);
2459
- READ_LIST_FIELD(namespaces, namespaces, namespaces);
2460
- READ_LIST_FIELD(columns, columns, columns);
2461
- READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2462
- READ_INT_FIELD(location, location, location);
2966
+ NotifyStmt *node = makeNode(NotifyStmt);
2967
+ READ_STRING_FIELD(conditionname, conditionname, conditionname);
2968
+ READ_STRING_FIELD(payload, payload, payload);
2463
2969
  return node;
2464
2970
  }
2465
2971
 
2466
- static RangeTableFuncCol *
2467
- _readRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) msg)
2972
+ static ListenStmt *
2973
+ _readListenStmt(OUT_TYPE(ListenStmt, ListenStmt) msg)
2468
2974
  {
2469
- RangeTableFuncCol *node = makeNode(RangeTableFuncCol);
2470
- READ_STRING_FIELD(colname, colname, colname);
2471
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2472
- READ_BOOL_FIELD(for_ordinality, for_ordinality, for_ordinality);
2473
- READ_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
2474
- READ_NODE_PTR_FIELD(colexpr, colexpr, colexpr);
2475
- READ_NODE_PTR_FIELD(coldefexpr, coldefexpr, coldefexpr);
2476
- READ_INT_FIELD(location, location, location);
2975
+ ListenStmt *node = makeNode(ListenStmt);
2976
+ READ_STRING_FIELD(conditionname, conditionname, conditionname);
2477
2977
  return node;
2478
2978
  }
2479
2979
 
2480
- static TypeName *
2481
- _readTypeName(OUT_TYPE(TypeName, TypeName) msg)
2980
+ static UnlistenStmt *
2981
+ _readUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) msg)
2482
2982
  {
2483
- TypeName *node = makeNode(TypeName);
2484
- READ_LIST_FIELD(names, names, names);
2485
- READ_UINT_FIELD(type_oid, typeOid, typeOid);
2486
- READ_BOOL_FIELD(setof, setof, setof);
2487
- READ_BOOL_FIELD(pct_type, pct_type, pct_type);
2488
- READ_LIST_FIELD(typmods, typmods, typmods);
2489
- READ_INT_FIELD(typemod, typemod, typemod);
2490
- READ_LIST_FIELD(array_bounds, arrayBounds, arrayBounds);
2491
- READ_INT_FIELD(location, location, location);
2983
+ UnlistenStmt *node = makeNode(UnlistenStmt);
2984
+ READ_STRING_FIELD(conditionname, conditionname, conditionname);
2492
2985
  return node;
2493
2986
  }
2494
2987
 
2495
- static ColumnDef *
2496
- _readColumnDef(OUT_TYPE(ColumnDef, ColumnDef) msg)
2988
+ static TransactionStmt *
2989
+ _readTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) msg)
2497
2990
  {
2498
- ColumnDef *node = makeNode(ColumnDef);
2499
- READ_STRING_FIELD(colname, colname, colname);
2500
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2501
- READ_STRING_FIELD(compression, compression, compression);
2502
- READ_INT_FIELD(inhcount, inhcount, inhcount);
2503
- READ_BOOL_FIELD(is_local, is_local, is_local);
2504
- READ_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
2505
- READ_BOOL_FIELD(is_from_type, is_from_type, is_from_type);
2506
- READ_CHAR_FIELD(storage, storage, storage);
2507
- READ_NODE_PTR_FIELD(raw_default, raw_default, raw_default);
2508
- READ_NODE_PTR_FIELD(cooked_default, cooked_default, cooked_default);
2509
- READ_CHAR_FIELD(identity, identity, identity);
2510
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, identity_sequence, identitySequence, identitySequence);
2511
- READ_CHAR_FIELD(generated, generated, generated);
2512
- READ_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
2513
- READ_UINT_FIELD(coll_oid, collOid, collOid);
2514
- READ_LIST_FIELD(constraints, constraints, constraints);
2515
- READ_LIST_FIELD(fdwoptions, fdwoptions, fdwoptions);
2991
+ TransactionStmt *node = makeNode(TransactionStmt);
2992
+ READ_ENUM_FIELD(TransactionStmtKind, kind, kind, kind);
2993
+ READ_LIST_FIELD(options, options, options);
2994
+ READ_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name);
2995
+ READ_STRING_FIELD(gid, gid, gid);
2996
+ READ_BOOL_FIELD(chain, chain, chain);
2516
2997
  READ_INT_FIELD(location, location, location);
2517
2998
  return node;
2518
2999
  }
2519
3000
 
2520
- static IndexElem *
2521
- _readIndexElem(OUT_TYPE(IndexElem, IndexElem) msg)
3001
+ static CompositeTypeStmt *
3002
+ _readCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) msg)
2522
3003
  {
2523
- IndexElem *node = makeNode(IndexElem);
2524
- READ_STRING_FIELD(name, name, name);
2525
- READ_NODE_PTR_FIELD(expr, expr, expr);
2526
- READ_STRING_FIELD(indexcolname, indexcolname, indexcolname);
2527
- READ_LIST_FIELD(collation, collation, collation);
2528
- READ_LIST_FIELD(opclass, opclass, opclass);
2529
- READ_LIST_FIELD(opclassopts, opclassopts, opclassopts);
2530
- READ_ENUM_FIELD(SortByDir, ordering, ordering, ordering);
2531
- READ_ENUM_FIELD(SortByNulls, nulls_ordering, nulls_ordering, nulls_ordering);
3004
+ CompositeTypeStmt *node = makeNode(CompositeTypeStmt);
3005
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, typevar, typevar, typevar);
3006
+ READ_LIST_FIELD(coldeflist, coldeflist, coldeflist);
2532
3007
  return node;
2533
3008
  }
2534
3009
 
2535
- static StatsElem *
2536
- _readStatsElem(OUT_TYPE(StatsElem, StatsElem) msg)
3010
+ static CreateEnumStmt *
3011
+ _readCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) msg)
2537
3012
  {
2538
- StatsElem *node = makeNode(StatsElem);
2539
- READ_STRING_FIELD(name, name, name);
2540
- READ_NODE_PTR_FIELD(expr, expr, expr);
3013
+ CreateEnumStmt *node = makeNode(CreateEnumStmt);
3014
+ READ_LIST_FIELD(type_name, typeName, typeName);
3015
+ READ_LIST_FIELD(vals, vals, vals);
2541
3016
  return node;
2542
3017
  }
2543
3018
 
2544
- static Constraint *
2545
- _readConstraint(OUT_TYPE(Constraint, Constraint) msg)
3019
+ static CreateRangeStmt *
3020
+ _readCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) msg)
2546
3021
  {
2547
- Constraint *node = makeNode(Constraint);
2548
- READ_ENUM_FIELD(ConstrType, contype, contype, contype);
2549
- READ_STRING_FIELD(conname, conname, conname);
2550
- READ_BOOL_FIELD(deferrable, deferrable, deferrable);
2551
- READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
2552
- READ_INT_FIELD(location, location, location);
2553
- READ_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit);
2554
- READ_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr);
2555
- READ_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr);
2556
- READ_CHAR_FIELD(generated_when, generated_when, generated_when);
2557
- READ_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct);
2558
- READ_LIST_FIELD(keys, keys, keys);
2559
- READ_LIST_FIELD(including, including, including);
2560
- READ_LIST_FIELD(exclusions, exclusions, exclusions);
2561
- READ_LIST_FIELD(options, options, options);
2562
- READ_STRING_FIELD(indexname, indexname, indexname);
2563
- READ_STRING_FIELD(indexspace, indexspace, indexspace);
2564
- READ_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
2565
- READ_STRING_FIELD(access_method, access_method, access_method);
2566
- READ_NODE_PTR_FIELD(where_clause, where_clause, where_clause);
2567
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, pktable, pktable, pktable);
2568
- READ_LIST_FIELD(fk_attrs, fk_attrs, fk_attrs);
2569
- READ_LIST_FIELD(pk_attrs, pk_attrs, pk_attrs);
2570
- READ_CHAR_FIELD(fk_matchtype, fk_matchtype, fk_matchtype);
2571
- READ_CHAR_FIELD(fk_upd_action, fk_upd_action, fk_upd_action);
2572
- READ_CHAR_FIELD(fk_del_action, fk_del_action, fk_del_action);
2573
- READ_LIST_FIELD(fk_del_set_cols, fk_del_set_cols, fk_del_set_cols);
2574
- READ_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop);
2575
- READ_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid);
2576
- READ_BOOL_FIELD(skip_validation, skip_validation, skip_validation);
2577
- READ_BOOL_FIELD(initially_valid, initially_valid, initially_valid);
3022
+ CreateRangeStmt *node = makeNode(CreateRangeStmt);
3023
+ READ_LIST_FIELD(type_name, typeName, typeName);
3024
+ READ_LIST_FIELD(params, params, params);
2578
3025
  return node;
2579
3026
  }
2580
3027
 
2581
- static DefElem *
2582
- _readDefElem(OUT_TYPE(DefElem, DefElem) msg)
3028
+ static AlterEnumStmt *
3029
+ _readAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) msg)
2583
3030
  {
2584
- DefElem *node = makeNode(DefElem);
2585
- READ_STRING_FIELD(defnamespace, defnamespace, defnamespace);
2586
- READ_STRING_FIELD(defname, defname, defname);
2587
- READ_NODE_PTR_FIELD(arg, arg, arg);
2588
- READ_ENUM_FIELD(DefElemAction, defaction, defaction, defaction);
2589
- READ_INT_FIELD(location, location, location);
3031
+ AlterEnumStmt *node = makeNode(AlterEnumStmt);
3032
+ READ_LIST_FIELD(type_name, typeName, typeName);
3033
+ READ_STRING_FIELD(old_val, oldVal, oldVal);
3034
+ READ_STRING_FIELD(new_val, newVal, newVal);
3035
+ READ_STRING_FIELD(new_val_neighbor, newValNeighbor, newValNeighbor);
3036
+ READ_BOOL_FIELD(new_val_is_after, newValIsAfter, newValIsAfter);
3037
+ READ_BOOL_FIELD(skip_if_new_val_exists, skipIfNewValExists, skipIfNewValExists);
2590
3038
  return node;
2591
3039
  }
2592
3040
 
2593
- static RangeTblEntry *
2594
- _readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg)
3041
+ static ViewStmt *
3042
+ _readViewStmt(OUT_TYPE(ViewStmt, ViewStmt) msg)
2595
3043
  {
2596
- RangeTblEntry *node = makeNode(RangeTblEntry);
2597
- READ_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind);
2598
- READ_UINT_FIELD(relid, relid, relid);
2599
- READ_CHAR_FIELD(relkind, relkind, relkind);
2600
- READ_INT_FIELD(rellockmode, rellockmode, rellockmode);
2601
- READ_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample);
2602
- READ_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery);
2603
- READ_BOOL_FIELD(security_barrier, security_barrier, security_barrier);
2604
- READ_ENUM_FIELD(JoinType, jointype, jointype, jointype);
2605
- READ_INT_FIELD(joinmergedcols, joinmergedcols, joinmergedcols);
2606
- READ_LIST_FIELD(joinaliasvars, joinaliasvars, joinaliasvars);
2607
- READ_LIST_FIELD(joinleftcols, joinleftcols, joinleftcols);
2608
- READ_LIST_FIELD(joinrightcols, joinrightcols, joinrightcols);
2609
- READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, join_using_alias, join_using_alias, join_using_alias);
2610
- READ_LIST_FIELD(functions, functions, functions);
2611
- READ_BOOL_FIELD(funcordinality, funcordinality, funcordinality);
2612
- READ_SPECIFIC_NODE_PTR_FIELD(TableFunc, table_func, tablefunc, tablefunc, tablefunc);
2613
- READ_LIST_FIELD(values_lists, values_lists, values_lists);
2614
- READ_STRING_FIELD(ctename, ctename, ctename);
2615
- READ_UINT_FIELD(ctelevelsup, ctelevelsup, ctelevelsup);
2616
- READ_BOOL_FIELD(self_reference, self_reference, self_reference);
2617
- READ_LIST_FIELD(coltypes, coltypes, coltypes);
2618
- READ_LIST_FIELD(coltypmods, coltypmods, coltypmods);
2619
- READ_LIST_FIELD(colcollations, colcollations, colcollations);
2620
- READ_STRING_FIELD(enrname, enrname, enrname);
2621
- READ_FLOAT_FIELD(enrtuples, enrtuples, enrtuples);
2622
- READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2623
- READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref);
2624
- READ_BOOL_FIELD(lateral, lateral, lateral);
2625
- READ_BOOL_FIELD(inh, inh, inh);
2626
- READ_BOOL_FIELD(in_from_cl, inFromCl, inFromCl);
2627
- READ_UINT_FIELD(required_perms, requiredPerms, requiredPerms);
2628
- READ_UINT_FIELD(check_as_user, checkAsUser, checkAsUser);
2629
- READ_BITMAPSET_FIELD(selected_cols, selectedCols, selectedCols);
2630
- READ_BITMAPSET_FIELD(inserted_cols, insertedCols, insertedCols);
2631
- READ_BITMAPSET_FIELD(updated_cols, updatedCols, updatedCols);
2632
- READ_BITMAPSET_FIELD(extra_updated_cols, extraUpdatedCols, extraUpdatedCols);
2633
- READ_LIST_FIELD(security_quals, securityQuals, securityQuals);
3044
+ ViewStmt *node = makeNode(ViewStmt);
3045
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, view, view, view);
3046
+ READ_LIST_FIELD(aliases, aliases, aliases);
3047
+ READ_NODE_PTR_FIELD(query, query, query);
3048
+ READ_BOOL_FIELD(replace, replace, replace);
3049
+ READ_LIST_FIELD(options, options, options);
3050
+ READ_ENUM_FIELD(ViewCheckOption, with_check_option, withCheckOption, withCheckOption);
2634
3051
  return node;
2635
3052
  }
2636
3053
 
2637
- static RangeTblFunction *
2638
- _readRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) msg)
3054
+ static LoadStmt *
3055
+ _readLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) msg)
2639
3056
  {
2640
- RangeTblFunction *node = makeNode(RangeTblFunction);
2641
- READ_NODE_PTR_FIELD(funcexpr, funcexpr, funcexpr);
2642
- READ_INT_FIELD(funccolcount, funccolcount, funccolcount);
2643
- READ_LIST_FIELD(funccolnames, funccolnames, funccolnames);
2644
- READ_LIST_FIELD(funccoltypes, funccoltypes, funccoltypes);
2645
- READ_LIST_FIELD(funccoltypmods, funccoltypmods, funccoltypmods);
2646
- READ_LIST_FIELD(funccolcollations, funccolcollations, funccolcollations);
2647
- READ_BITMAPSET_FIELD(funcparams, funcparams, funcparams);
3057
+ LoadStmt *node = makeNode(LoadStmt);
3058
+ READ_STRING_FIELD(filename, filename, filename);
2648
3059
  return node;
2649
3060
  }
2650
3061
 
2651
- static TableSampleClause *
2652
- _readTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) msg)
3062
+ static CreatedbStmt *
3063
+ _readCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) msg)
2653
3064
  {
2654
- TableSampleClause *node = makeNode(TableSampleClause);
2655
- READ_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler);
2656
- READ_LIST_FIELD(args, args, args);
2657
- READ_EXPR_PTR_FIELD(repeatable, repeatable, repeatable);
3065
+ CreatedbStmt *node = makeNode(CreatedbStmt);
3066
+ READ_STRING_FIELD(dbname, dbname, dbname);
3067
+ READ_LIST_FIELD(options, options, options);
2658
3068
  return node;
2659
3069
  }
2660
3070
 
2661
- static WithCheckOption *
2662
- _readWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) msg)
3071
+ static AlterDatabaseStmt *
3072
+ _readAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) msg)
2663
3073
  {
2664
- WithCheckOption *node = makeNode(WithCheckOption);
2665
- READ_ENUM_FIELD(WCOKind, kind, kind, kind);
2666
- READ_STRING_FIELD(relname, relname, relname);
2667
- READ_STRING_FIELD(polname, polname, polname);
2668
- READ_NODE_PTR_FIELD(qual, qual, qual);
2669
- READ_BOOL_FIELD(cascaded, cascaded, cascaded);
3074
+ AlterDatabaseStmt *node = makeNode(AlterDatabaseStmt);
3075
+ READ_STRING_FIELD(dbname, dbname, dbname);
3076
+ READ_LIST_FIELD(options, options, options);
2670
3077
  return node;
2671
3078
  }
2672
3079
 
2673
- static SortGroupClause *
2674
- _readSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) msg)
3080
+ static AlterDatabaseRefreshCollStmt *
3081
+ _readAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) msg)
2675
3082
  {
2676
- SortGroupClause *node = makeNode(SortGroupClause);
2677
- READ_UINT_FIELD(tle_sort_group_ref, tleSortGroupRef, tleSortGroupRef);
2678
- READ_UINT_FIELD(eqop, eqop, eqop);
2679
- READ_UINT_FIELD(sortop, sortop, sortop);
2680
- READ_BOOL_FIELD(nulls_first, nulls_first, nulls_first);
2681
- READ_BOOL_FIELD(hashable, hashable, hashable);
3083
+ AlterDatabaseRefreshCollStmt *node = makeNode(AlterDatabaseRefreshCollStmt);
3084
+ READ_STRING_FIELD(dbname, dbname, dbname);
2682
3085
  return node;
2683
3086
  }
2684
3087
 
2685
- static GroupingSet *
2686
- _readGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) msg)
3088
+ static AlterDatabaseSetStmt *
3089
+ _readAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) msg)
2687
3090
  {
2688
- GroupingSet *node = makeNode(GroupingSet);
2689
- READ_ENUM_FIELD(GroupingSetKind, kind, kind, kind);
2690
- READ_LIST_FIELD(content, content, content);
2691
- READ_INT_FIELD(location, location, location);
3091
+ AlterDatabaseSetStmt *node = makeNode(AlterDatabaseSetStmt);
3092
+ READ_STRING_FIELD(dbname, dbname, dbname);
3093
+ READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
2692
3094
  return node;
2693
3095
  }
2694
3096
 
2695
- static WindowClause *
2696
- _readWindowClause(OUT_TYPE(WindowClause, WindowClause) msg)
3097
+ static DropdbStmt *
3098
+ _readDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) msg)
2697
3099
  {
2698
- WindowClause *node = makeNode(WindowClause);
2699
- READ_STRING_FIELD(name, name, name);
2700
- READ_STRING_FIELD(refname, refname, refname);
2701
- READ_LIST_FIELD(partition_clause, partitionClause, partitionClause);
2702
- READ_LIST_FIELD(order_clause, orderClause, orderClause);
2703
- READ_INT_FIELD(frame_options, frameOptions, frameOptions);
2704
- READ_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
2705
- READ_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
2706
- READ_LIST_FIELD(run_condition, runCondition, runCondition);
2707
- READ_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc);
2708
- READ_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc);
2709
- READ_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl);
2710
- READ_BOOL_FIELD(in_range_asc, inRangeAsc, inRangeAsc);
2711
- READ_BOOL_FIELD(in_range_nulls_first, inRangeNullsFirst, inRangeNullsFirst);
2712
- READ_UINT_FIELD(winref, winref, winref);
2713
- READ_BOOL_FIELD(copied_order, copiedOrder, copiedOrder);
3100
+ DropdbStmt *node = makeNode(DropdbStmt);
3101
+ READ_STRING_FIELD(dbname, dbname, dbname);
3102
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
3103
+ READ_LIST_FIELD(options, options, options);
2714
3104
  return node;
2715
3105
  }
2716
3106
 
2717
- static ObjectWithArgs *
2718
- _readObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) msg)
3107
+ static AlterSystemStmt *
3108
+ _readAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) msg)
2719
3109
  {
2720
- ObjectWithArgs *node = makeNode(ObjectWithArgs);
2721
- READ_LIST_FIELD(objname, objname, objname);
2722
- READ_LIST_FIELD(objargs, objargs, objargs);
2723
- READ_LIST_FIELD(objfuncargs, objfuncargs, objfuncargs);
2724
- READ_BOOL_FIELD(args_unspecified, args_unspecified, args_unspecified);
3110
+ AlterSystemStmt *node = makeNode(AlterSystemStmt);
3111
+ READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
2725
3112
  return node;
2726
3113
  }
2727
3114
 
2728
- static AccessPriv *
2729
- _readAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) msg)
3115
+ static ClusterStmt *
3116
+ _readClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) msg)
2730
3117
  {
2731
- AccessPriv *node = makeNode(AccessPriv);
2732
- READ_STRING_FIELD(priv_name, priv_name, priv_name);
2733
- READ_LIST_FIELD(cols, cols, cols);
3118
+ ClusterStmt *node = makeNode(ClusterStmt);
3119
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
3120
+ READ_STRING_FIELD(indexname, indexname, indexname);
3121
+ READ_LIST_FIELD(params, params, params);
2734
3122
  return node;
2735
3123
  }
2736
3124
 
2737
- static CreateOpClassItem *
2738
- _readCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) msg)
3125
+ static VacuumStmt *
3126
+ _readVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) msg)
2739
3127
  {
2740
- CreateOpClassItem *node = makeNode(CreateOpClassItem);
2741
- READ_INT_FIELD(itemtype, itemtype, itemtype);
2742
- READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, name, name, name);
2743
- READ_INT_FIELD(number, number, number);
2744
- READ_LIST_FIELD(order_family, order_family, order_family);
2745
- READ_LIST_FIELD(class_args, class_args, class_args);
2746
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, storedtype, storedtype, storedtype);
3128
+ VacuumStmt *node = makeNode(VacuumStmt);
3129
+ READ_LIST_FIELD(options, options, options);
3130
+ READ_LIST_FIELD(rels, rels, rels);
3131
+ READ_BOOL_FIELD(is_vacuumcmd, is_vacuumcmd, is_vacuumcmd);
2747
3132
  return node;
2748
3133
  }
2749
3134
 
2750
- static TableLikeClause *
2751
- _readTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) msg)
3135
+ static VacuumRelation *
3136
+ _readVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) msg)
2752
3137
  {
2753
- TableLikeClause *node = makeNode(TableLikeClause);
3138
+ VacuumRelation *node = makeNode(VacuumRelation);
2754
3139
  READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2755
- READ_UINT_FIELD(options, options, options);
2756
- READ_UINT_FIELD(relation_oid, relationOid, relationOid);
3140
+ READ_UINT_FIELD(oid, oid, oid);
3141
+ READ_LIST_FIELD(va_cols, va_cols, va_cols);
2757
3142
  return node;
2758
3143
  }
2759
3144
 
2760
- static FunctionParameter *
2761
- _readFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) msg)
3145
+ static ExplainStmt *
3146
+ _readExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) msg)
2762
3147
  {
2763
- FunctionParameter *node = makeNode(FunctionParameter);
2764
- READ_STRING_FIELD(name, name, name);
2765
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, arg_type, argType, argType);
2766
- READ_ENUM_FIELD(FunctionParameterMode, mode, mode, mode);
2767
- READ_NODE_PTR_FIELD(defexpr, defexpr, defexpr);
3148
+ ExplainStmt *node = makeNode(ExplainStmt);
3149
+ READ_NODE_PTR_FIELD(query, query, query);
3150
+ READ_LIST_FIELD(options, options, options);
2768
3151
  return node;
2769
3152
  }
2770
3153
 
2771
- static LockingClause *
2772
- _readLockingClause(OUT_TYPE(LockingClause, LockingClause) msg)
3154
+ static CreateTableAsStmt *
3155
+ _readCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) msg)
2773
3156
  {
2774
- LockingClause *node = makeNode(LockingClause);
2775
- READ_LIST_FIELD(locked_rels, lockedRels, lockedRels);
2776
- READ_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
2777
- READ_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
3157
+ CreateTableAsStmt *node = makeNode(CreateTableAsStmt);
3158
+ READ_NODE_PTR_FIELD(query, query, query);
3159
+ READ_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into, into, into);
3160
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
3161
+ READ_BOOL_FIELD(is_select_into, is_select_into, is_select_into);
3162
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2778
3163
  return node;
2779
3164
  }
2780
3165
 
2781
- static RowMarkClause *
2782
- _readRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) msg)
3166
+ static RefreshMatViewStmt *
3167
+ _readRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) msg)
2783
3168
  {
2784
- RowMarkClause *node = makeNode(RowMarkClause);
2785
- READ_UINT_FIELD(rti, rti, rti);
2786
- READ_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
2787
- READ_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
2788
- READ_BOOL_FIELD(pushed_down, pushedDown, pushedDown);
3169
+ RefreshMatViewStmt *node = makeNode(RefreshMatViewStmt);
3170
+ READ_BOOL_FIELD(concurrent, concurrent, concurrent);
3171
+ READ_BOOL_FIELD(skip_data, skipData, skipData);
3172
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2789
3173
  return node;
2790
3174
  }
2791
3175
 
2792
- static XmlSerialize *
2793
- _readXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) msg)
3176
+ static CheckPointStmt *
3177
+ _readCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) msg)
2794
3178
  {
2795
- XmlSerialize *node = makeNode(XmlSerialize);
2796
- READ_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption);
2797
- READ_NODE_PTR_FIELD(expr, expr, expr);
2798
- READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2799
- READ_INT_FIELD(location, location, location);
3179
+ CheckPointStmt *node = makeNode(CheckPointStmt);
2800
3180
  return node;
2801
3181
  }
2802
3182
 
2803
- static WithClause *
2804
- _readWithClause(OUT_TYPE(WithClause, WithClause) msg)
3183
+ static DiscardStmt *
3184
+ _readDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) msg)
2805
3185
  {
2806
- WithClause *node = makeNode(WithClause);
2807
- READ_LIST_FIELD(ctes, ctes, ctes);
2808
- READ_BOOL_FIELD(recursive, recursive, recursive);
2809
- READ_INT_FIELD(location, location, location);
3186
+ DiscardStmt *node = makeNode(DiscardStmt);
3187
+ READ_ENUM_FIELD(DiscardMode, target, target, target);
2810
3188
  return node;
2811
3189
  }
2812
3190
 
2813
- static InferClause *
2814
- _readInferClause(OUT_TYPE(InferClause, InferClause) msg)
3191
+ static LockStmt *
3192
+ _readLockStmt(OUT_TYPE(LockStmt, LockStmt) msg)
2815
3193
  {
2816
- InferClause *node = makeNode(InferClause);
2817
- READ_LIST_FIELD(index_elems, indexElems, indexElems);
2818
- READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2819
- READ_STRING_FIELD(conname, conname, conname);
2820
- READ_INT_FIELD(location, location, location);
3194
+ LockStmt *node = makeNode(LockStmt);
3195
+ READ_LIST_FIELD(relations, relations, relations);
3196
+ READ_INT_FIELD(mode, mode, mode);
3197
+ READ_BOOL_FIELD(nowait, nowait, nowait);
2821
3198
  return node;
2822
3199
  }
2823
3200
 
2824
- static OnConflictClause *
2825
- _readOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) msg)
3201
+ static ConstraintsSetStmt *
3202
+ _readConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) msg)
2826
3203
  {
2827
- OnConflictClause *node = makeNode(OnConflictClause);
2828
- READ_ENUM_FIELD(OnConflictAction, action, action, action);
2829
- READ_SPECIFIC_NODE_PTR_FIELD(InferClause, infer_clause, infer, infer, infer);
2830
- READ_LIST_FIELD(target_list, targetList, targetList);
2831
- READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2832
- READ_INT_FIELD(location, location, location);
3204
+ ConstraintsSetStmt *node = makeNode(ConstraintsSetStmt);
3205
+ READ_LIST_FIELD(constraints, constraints, constraints);
3206
+ READ_BOOL_FIELD(deferred, deferred, deferred);
2833
3207
  return node;
2834
3208
  }
2835
3209
 
2836
- static CTESearchClause *
2837
- _readCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) msg)
3210
+ static ReindexStmt *
3211
+ _readReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) msg)
2838
3212
  {
2839
- CTESearchClause *node = makeNode(CTESearchClause);
2840
- READ_LIST_FIELD(search_col_list, search_col_list, search_col_list);
2841
- READ_BOOL_FIELD(search_breadth_first, search_breadth_first, search_breadth_first);
2842
- READ_STRING_FIELD(search_seq_column, search_seq_column, search_seq_column);
2843
- READ_INT_FIELD(location, location, location);
3213
+ ReindexStmt *node = makeNode(ReindexStmt);
3214
+ READ_ENUM_FIELD(ReindexObjectType, kind, kind, kind);
3215
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
3216
+ READ_STRING_FIELD(name, name, name);
3217
+ READ_LIST_FIELD(params, params, params);
2844
3218
  return node;
2845
3219
  }
2846
3220
 
2847
- static CTECycleClause *
2848
- _readCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) msg)
3221
+ static CreateConversionStmt *
3222
+ _readCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) msg)
2849
3223
  {
2850
- CTECycleClause *node = makeNode(CTECycleClause);
2851
- READ_LIST_FIELD(cycle_col_list, cycle_col_list, cycle_col_list);
2852
- READ_STRING_FIELD(cycle_mark_column, cycle_mark_column, cycle_mark_column);
2853
- READ_NODE_PTR_FIELD(cycle_mark_value, cycle_mark_value, cycle_mark_value);
2854
- READ_NODE_PTR_FIELD(cycle_mark_default, cycle_mark_default, cycle_mark_default);
2855
- READ_STRING_FIELD(cycle_path_column, cycle_path_column, cycle_path_column);
2856
- READ_INT_FIELD(location, location, location);
2857
- READ_UINT_FIELD(cycle_mark_type, cycle_mark_type, cycle_mark_type);
2858
- READ_INT_FIELD(cycle_mark_typmod, cycle_mark_typmod, cycle_mark_typmod);
2859
- READ_UINT_FIELD(cycle_mark_collation, cycle_mark_collation, cycle_mark_collation);
2860
- READ_UINT_FIELD(cycle_mark_neop, cycle_mark_neop, cycle_mark_neop);
3224
+ CreateConversionStmt *node = makeNode(CreateConversionStmt);
3225
+ READ_LIST_FIELD(conversion_name, conversion_name, conversion_name);
3226
+ READ_STRING_FIELD(for_encoding_name, for_encoding_name, for_encoding_name);
3227
+ READ_STRING_FIELD(to_encoding_name, to_encoding_name, to_encoding_name);
3228
+ READ_LIST_FIELD(func_name, func_name, func_name);
3229
+ READ_BOOL_FIELD(def, def, def);
2861
3230
  return node;
2862
3231
  }
2863
3232
 
2864
- static CommonTableExpr *
2865
- _readCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) msg)
3233
+ static CreateCastStmt *
3234
+ _readCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) msg)
2866
3235
  {
2867
- CommonTableExpr *node = makeNode(CommonTableExpr);
2868
- READ_STRING_FIELD(ctename, ctename, ctename);
2869
- READ_LIST_FIELD(aliascolnames, aliascolnames, aliascolnames);
2870
- READ_ENUM_FIELD(CTEMaterialize, ctematerialized, ctematerialized, ctematerialized);
2871
- READ_NODE_PTR_FIELD(ctequery, ctequery, ctequery);
2872
- READ_SPECIFIC_NODE_PTR_FIELD(CTESearchClause, ctesearch_clause, search_clause, search_clause, search_clause);
2873
- READ_SPECIFIC_NODE_PTR_FIELD(CTECycleClause, ctecycle_clause, cycle_clause, cycle_clause, cycle_clause);
2874
- READ_INT_FIELD(location, location, location);
2875
- READ_BOOL_FIELD(cterecursive, cterecursive, cterecursive);
2876
- READ_INT_FIELD(cterefcount, cterefcount, cterefcount);
2877
- READ_LIST_FIELD(ctecolnames, ctecolnames, ctecolnames);
2878
- READ_LIST_FIELD(ctecoltypes, ctecoltypes, ctecoltypes);
2879
- READ_LIST_FIELD(ctecoltypmods, ctecoltypmods, ctecoltypmods);
2880
- READ_LIST_FIELD(ctecolcollations, ctecolcollations, ctecolcollations);
3236
+ CreateCastStmt *node = makeNode(CreateCastStmt);
3237
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, sourcetype, sourcetype, sourcetype);
3238
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, targettype, targettype, targettype);
3239
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
3240
+ READ_ENUM_FIELD(CoercionContext, context, context, context);
3241
+ READ_BOOL_FIELD(inout, inout, inout);
2881
3242
  return node;
2882
3243
  }
2883
3244
 
2884
- static MergeWhenClause *
2885
- _readMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) msg)
3245
+ static CreateTransformStmt *
3246
+ _readCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) msg)
2886
3247
  {
2887
- MergeWhenClause *node = makeNode(MergeWhenClause);
2888
- READ_BOOL_FIELD(matched, matched, matched);
2889
- READ_ENUM_FIELD(CmdType, command_type, commandType, commandType);
2890
- READ_ENUM_FIELD(OverridingKind, override, override, override);
2891
- READ_NODE_PTR_FIELD(condition, condition, condition);
2892
- READ_LIST_FIELD(target_list, targetList, targetList);
2893
- READ_LIST_FIELD(values, values, values);
3248
+ CreateTransformStmt *node = makeNode(CreateTransformStmt);
3249
+ READ_BOOL_FIELD(replace, replace, replace);
3250
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, type_name, type_name);
3251
+ READ_STRING_FIELD(lang, lang, lang);
3252
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, fromsql, fromsql, fromsql);
3253
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, tosql, tosql, tosql);
2894
3254
  return node;
2895
3255
  }
2896
3256
 
2897
- static RoleSpec *
2898
- _readRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) msg)
3257
+ static PrepareStmt *
3258
+ _readPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) msg)
2899
3259
  {
2900
- RoleSpec *node = makeNode(RoleSpec);
2901
- READ_ENUM_FIELD(RoleSpecType, roletype, roletype, roletype);
2902
- READ_STRING_FIELD(rolename, rolename, rolename);
2903
- READ_INT_FIELD(location, location, location);
3260
+ PrepareStmt *node = makeNode(PrepareStmt);
3261
+ READ_STRING_FIELD(name, name, name);
3262
+ READ_LIST_FIELD(argtypes, argtypes, argtypes);
3263
+ READ_NODE_PTR_FIELD(query, query, query);
2904
3264
  return node;
2905
3265
  }
2906
3266
 
2907
- static TriggerTransition *
2908
- _readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg)
3267
+ static ExecuteStmt *
3268
+ _readExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) msg)
2909
3269
  {
2910
- TriggerTransition *node = makeNode(TriggerTransition);
3270
+ ExecuteStmt *node = makeNode(ExecuteStmt);
2911
3271
  READ_STRING_FIELD(name, name, name);
2912
- READ_BOOL_FIELD(is_new, isNew, isNew);
2913
- READ_BOOL_FIELD(is_table, isTable, isTable);
3272
+ READ_LIST_FIELD(params, params, params);
2914
3273
  return node;
2915
3274
  }
2916
3275
 
2917
- static PartitionElem *
2918
- _readPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) msg)
3276
+ static DeallocateStmt *
3277
+ _readDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) msg)
2919
3278
  {
2920
- PartitionElem *node = makeNode(PartitionElem);
3279
+ DeallocateStmt *node = makeNode(DeallocateStmt);
2921
3280
  READ_STRING_FIELD(name, name, name);
2922
- READ_NODE_PTR_FIELD(expr, expr, expr);
2923
- READ_LIST_FIELD(collation, collation, collation);
2924
- READ_LIST_FIELD(opclass, opclass, opclass);
3281
+ READ_BOOL_FIELD(isall, isall, isall);
2925
3282
  READ_INT_FIELD(location, location, location);
2926
3283
  return node;
2927
3284
  }
2928
3285
 
2929
- static PartitionSpec *
2930
- _readPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) msg)
3286
+ static DropOwnedStmt *
3287
+ _readDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) msg)
2931
3288
  {
2932
- PartitionSpec *node = makeNode(PartitionSpec);
2933
- READ_STRING_FIELD(strategy, strategy, strategy);
2934
- READ_LIST_FIELD(part_params, partParams, partParams);
2935
- READ_INT_FIELD(location, location, location);
3289
+ DropOwnedStmt *node = makeNode(DropOwnedStmt);
3290
+ READ_LIST_FIELD(roles, roles, roles);
3291
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2936
3292
  return node;
2937
3293
  }
2938
3294
 
2939
- static PartitionBoundSpec *
2940
- _readPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) msg)
3295
+ static ReassignOwnedStmt *
3296
+ _readReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) msg)
2941
3297
  {
2942
- PartitionBoundSpec *node = makeNode(PartitionBoundSpec);
2943
- READ_CHAR_FIELD(strategy, strategy, strategy);
2944
- READ_BOOL_FIELD(is_default, is_default, is_default);
2945
- READ_INT_FIELD(modulus, modulus, modulus);
2946
- READ_INT_FIELD(remainder, remainder, remainder);
2947
- READ_LIST_FIELD(listdatums, listdatums, listdatums);
2948
- READ_LIST_FIELD(lowerdatums, lowerdatums, lowerdatums);
2949
- READ_LIST_FIELD(upperdatums, upperdatums, upperdatums);
2950
- READ_INT_FIELD(location, location, location);
3298
+ ReassignOwnedStmt *node = makeNode(ReassignOwnedStmt);
3299
+ READ_LIST_FIELD(roles, roles, roles);
3300
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newrole, newrole, newrole);
2951
3301
  return node;
2952
3302
  }
2953
3303
 
2954
- static PartitionRangeDatum *
2955
- _readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg)
3304
+ static AlterTSDictionaryStmt *
3305
+ _readAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) msg)
2956
3306
  {
2957
- PartitionRangeDatum *node = makeNode(PartitionRangeDatum);
2958
- READ_ENUM_FIELD(PartitionRangeDatumKind, kind, kind, kind);
2959
- READ_NODE_PTR_FIELD(value, value, value);
2960
- READ_INT_FIELD(location, location, location);
3307
+ AlterTSDictionaryStmt *node = makeNode(AlterTSDictionaryStmt);
3308
+ READ_LIST_FIELD(dictname, dictname, dictname);
3309
+ READ_LIST_FIELD(options, options, options);
2961
3310
  return node;
2962
3311
  }
2963
3312
 
2964
- static PartitionCmd *
2965
- _readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg)
3313
+ static AlterTSConfigurationStmt *
3314
+ _readAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) msg)
2966
3315
  {
2967
- PartitionCmd *node = makeNode(PartitionCmd);
2968
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, name, name, name);
2969
- READ_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, bound, bound, bound);
2970
- READ_BOOL_FIELD(concurrent, concurrent, concurrent);
3316
+ AlterTSConfigurationStmt *node = makeNode(AlterTSConfigurationStmt);
3317
+ READ_ENUM_FIELD(AlterTSConfigType, kind, kind, kind);
3318
+ READ_LIST_FIELD(cfgname, cfgname, cfgname);
3319
+ READ_LIST_FIELD(tokentype, tokentype, tokentype);
3320
+ READ_LIST_FIELD(dicts, dicts, dicts);
3321
+ READ_BOOL_FIELD(override, override, override);
3322
+ READ_BOOL_FIELD(replace, replace, replace);
3323
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2971
3324
  return node;
2972
3325
  }
2973
3326
 
2974
- static VacuumRelation *
2975
- _readVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) msg)
3327
+ static PublicationTable *
3328
+ _readPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) msg)
2976
3329
  {
2977
- VacuumRelation *node = makeNode(VacuumRelation);
3330
+ PublicationTable *node = makeNode(PublicationTable);
2978
3331
  READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2979
- READ_UINT_FIELD(oid, oid, oid);
2980
- READ_LIST_FIELD(va_cols, va_cols, va_cols);
3332
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
3333
+ READ_LIST_FIELD(columns, columns, columns);
2981
3334
  return node;
2982
3335
  }
2983
3336
 
@@ -2992,32 +3345,59 @@ _readPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) msg)
2992
3345
  return node;
2993
3346
  }
2994
3347
 
2995
- static PublicationTable *
2996
- _readPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) msg)
3348
+ static CreatePublicationStmt *
3349
+ _readCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) msg)
2997
3350
  {
2998
- PublicationTable *node = makeNode(PublicationTable);
2999
- READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
3000
- READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
3001
- READ_LIST_FIELD(columns, columns, columns);
3351
+ CreatePublicationStmt *node = makeNode(CreatePublicationStmt);
3352
+ READ_STRING_FIELD(pubname, pubname, pubname);
3353
+ READ_LIST_FIELD(options, options, options);
3354
+ READ_LIST_FIELD(pubobjects, pubobjects, pubobjects);
3355
+ READ_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
3002
3356
  return node;
3003
3357
  }
3004
3358
 
3005
- static InlineCodeBlock *
3006
- _readInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) msg)
3359
+ static AlterPublicationStmt *
3360
+ _readAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) msg)
3007
3361
  {
3008
- InlineCodeBlock *node = makeNode(InlineCodeBlock);
3009
- READ_STRING_FIELD(source_text, source_text, source_text);
3010
- READ_UINT_FIELD(lang_oid, langOid, langOid);
3011
- READ_BOOL_FIELD(lang_is_trusted, langIsTrusted, langIsTrusted);
3012
- READ_BOOL_FIELD(atomic, atomic, atomic);
3362
+ AlterPublicationStmt *node = makeNode(AlterPublicationStmt);
3363
+ READ_STRING_FIELD(pubname, pubname, pubname);
3364
+ READ_LIST_FIELD(options, options, options);
3365
+ READ_LIST_FIELD(pubobjects, pubobjects, pubobjects);
3366
+ READ_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
3367
+ READ_ENUM_FIELD(AlterPublicationAction, action, action, action);
3013
3368
  return node;
3014
3369
  }
3015
3370
 
3016
- static CallContext *
3017
- _readCallContext(OUT_TYPE(CallContext, CallContext) msg)
3371
+ static CreateSubscriptionStmt *
3372
+ _readCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) msg)
3018
3373
  {
3019
- CallContext *node = makeNode(CallContext);
3020
- READ_BOOL_FIELD(atomic, atomic, atomic);
3374
+ CreateSubscriptionStmt *node = makeNode(CreateSubscriptionStmt);
3375
+ READ_STRING_FIELD(subname, subname, subname);
3376
+ READ_STRING_FIELD(conninfo, conninfo, conninfo);
3377
+ READ_LIST_FIELD(publication, publication, publication);
3378
+ READ_LIST_FIELD(options, options, options);
3379
+ return node;
3380
+ }
3381
+
3382
+ static AlterSubscriptionStmt *
3383
+ _readAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) msg)
3384
+ {
3385
+ AlterSubscriptionStmt *node = makeNode(AlterSubscriptionStmt);
3386
+ READ_ENUM_FIELD(AlterSubscriptionType, kind, kind, kind);
3387
+ READ_STRING_FIELD(subname, subname, subname);
3388
+ READ_STRING_FIELD(conninfo, conninfo, conninfo);
3389
+ READ_LIST_FIELD(publication, publication, publication);
3390
+ READ_LIST_FIELD(options, options, options);
3391
+ return node;
3392
+ }
3393
+
3394
+ static DropSubscriptionStmt *
3395
+ _readDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) msg)
3396
+ {
3397
+ DropSubscriptionStmt *node = makeNode(DropSubscriptionStmt);
3398
+ READ_STRING_FIELD(subname, subname, subname);
3399
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
3400
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
3021
3401
  return node;
3022
3402
  }
3023
3403