pg_query 4.2.3 → 5.0.0

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