pg_query 4.2.2 → 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 +12 -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 +23 -217
  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 +511 -109
  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 void _outAlias(OUT_TYPE(Alias, Alias) out_node, const Alias *node);
4
4
  static void _outRangeVar(OUT_TYPE(RangeVar, RangeVar) out_node, const RangeVar *node);
5
5
  static void _outTableFunc(OUT_TYPE(TableFunc, TableFunc) out_node, const TableFunc *node);
6
+ static void _outIntoClause(OUT_TYPE(IntoClause, IntoClause) out_node, const IntoClause *node);
6
7
  static void _outVar(OUT_TYPE(Var, Var) out_node, const Var *node);
7
8
  static void _outParam(OUT_TYPE(Param, Param) out_node, const Param *node);
8
9
  static void _outAggref(OUT_TYPE(Aggref, Aggref) out_node, const Aggref *node);
@@ -36,6 +37,11 @@ static void _outCoalesceExpr(OUT_TYPE(CoalesceExpr, CoalesceExpr) out_node, cons
36
37
  static void _outMinMaxExpr(OUT_TYPE(MinMaxExpr, MinMaxExpr) out_node, const MinMaxExpr *node);
37
38
  static void _outSQLValueFunction(OUT_TYPE(SQLValueFunction, SQLValueFunction) out_node, const SQLValueFunction *node);
38
39
  static void _outXmlExpr(OUT_TYPE(XmlExpr, XmlExpr) out_node, const XmlExpr *node);
40
+ static void _outJsonFormat(OUT_TYPE(JsonFormat, JsonFormat) out_node, const JsonFormat *node);
41
+ static void _outJsonReturning(OUT_TYPE(JsonReturning, JsonReturning) out_node, const JsonReturning *node);
42
+ static void _outJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) out_node, const JsonValueExpr *node);
43
+ static void _outJsonConstructorExpr(OUT_TYPE(JsonConstructorExpr, JsonConstructorExpr) out_node, const JsonConstructorExpr *node);
44
+ static void _outJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) out_node, const JsonIsPredicate *node);
39
45
  static void _outNullTest(OUT_TYPE(NullTest, NullTest) out_node, const NullTest *node);
40
46
  static void _outBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) out_node, const BooleanTest *node);
41
47
  static void _outCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) out_node, const CoerceToDomain *node);
@@ -49,186 +55,194 @@ static void _outRangeTblRef(OUT_TYPE(RangeTblRef, RangeTblRef) out_node, const R
49
55
  static void _outJoinExpr(OUT_TYPE(JoinExpr, JoinExpr) out_node, const JoinExpr *node);
50
56
  static void _outFromExpr(OUT_TYPE(FromExpr, FromExpr) out_node, const FromExpr *node);
51
57
  static void _outOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) out_node, const OnConflictExpr *node);
52
- static void _outIntoClause(OUT_TYPE(IntoClause, IntoClause) out_node, const IntoClause *node);
58
+ static void _outQuery(OUT_TYPE(Query, Query) out_node, const Query *node);
59
+ static void _outTypeName(OUT_TYPE(TypeName, TypeName) out_node, const TypeName *node);
60
+ static void _outColumnRef(OUT_TYPE(ColumnRef, ColumnRef) out_node, const ColumnRef *node);
61
+ static void _outParamRef(OUT_TYPE(ParamRef, ParamRef) out_node, const ParamRef *node);
62
+ static void _outAExpr(OUT_TYPE(A_Expr, AExpr) out_node, const A_Expr *node);
63
+ static void _outTypeCast(OUT_TYPE(TypeCast, TypeCast) out_node, const TypeCast *node);
64
+ static void _outCollateClause(OUT_TYPE(CollateClause, CollateClause) out_node, const CollateClause *node);
65
+ static void _outRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) out_node, const RoleSpec *node);
66
+ static void _outFuncCall(OUT_TYPE(FuncCall, FuncCall) out_node, const FuncCall *node);
67
+ static void _outAStar(OUT_TYPE(A_Star, AStar) out_node, const A_Star *node);
68
+ static void _outAIndices(OUT_TYPE(A_Indices, AIndices) out_node, const A_Indices *node);
69
+ static void _outAIndirection(OUT_TYPE(A_Indirection, AIndirection) out_node, const A_Indirection *node);
70
+ static void _outAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) out_node, const A_ArrayExpr *node);
71
+ static void _outResTarget(OUT_TYPE(ResTarget, ResTarget) out_node, const ResTarget *node);
72
+ static void _outMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) out_node, const MultiAssignRef *node);
73
+ static void _outSortBy(OUT_TYPE(SortBy, SortBy) out_node, const SortBy *node);
74
+ static void _outWindowDef(OUT_TYPE(WindowDef, WindowDef) out_node, const WindowDef *node);
75
+ static void _outRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) out_node, const RangeSubselect *node);
76
+ static void _outRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) out_node, const RangeFunction *node);
77
+ static void _outRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) out_node, const RangeTableFunc *node);
78
+ static void _outRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) out_node, const RangeTableFuncCol *node);
79
+ static void _outRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) out_node, const RangeTableSample *node);
80
+ static void _outColumnDef(OUT_TYPE(ColumnDef, ColumnDef) out_node, const ColumnDef *node);
81
+ static void _outTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) out_node, const TableLikeClause *node);
82
+ static void _outIndexElem(OUT_TYPE(IndexElem, IndexElem) out_node, const IndexElem *node);
83
+ static void _outDefElem(OUT_TYPE(DefElem, DefElem) out_node, const DefElem *node);
84
+ static void _outLockingClause(OUT_TYPE(LockingClause, LockingClause) out_node, const LockingClause *node);
85
+ static void _outXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) out_node, const XmlSerialize *node);
86
+ static void _outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out_node, const PartitionElem *node);
87
+ static void _outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out_node, const PartitionSpec *node);
88
+ static void _outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out_node, const PartitionBoundSpec *node);
89
+ static void _outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out_node, const PartitionRangeDatum *node);
90
+ static void _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out_node, const PartitionCmd *node);
91
+ static void _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out_node, const RangeTblEntry *node);
92
+ static void _outRTEPermissionInfo(OUT_TYPE(RTEPermissionInfo, RTEPermissionInfo) out_node, const RTEPermissionInfo *node);
93
+ static void _outRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) out_node, const RangeTblFunction *node);
94
+ static void _outTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) out_node, const TableSampleClause *node);
95
+ static void _outWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) out_node, const WithCheckOption *node);
96
+ static void _outSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) out_node, const SortGroupClause *node);
97
+ static void _outGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) out_node, const GroupingSet *node);
98
+ static void _outWindowClause(OUT_TYPE(WindowClause, WindowClause) out_node, const WindowClause *node);
99
+ static void _outRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) out_node, const RowMarkClause *node);
100
+ static void _outWithClause(OUT_TYPE(WithClause, WithClause) out_node, const WithClause *node);
101
+ static void _outInferClause(OUT_TYPE(InferClause, InferClause) out_node, const InferClause *node);
102
+ static void _outOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) out_node, const OnConflictClause *node);
103
+ static void _outCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) out_node, const CTESearchClause *node);
104
+ static void _outCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) out_node, const CTECycleClause *node);
105
+ static void _outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out_node, const CommonTableExpr *node);
106
+ static void _outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out_node, const MergeWhenClause *node);
53
107
  static void _outMergeAction(OUT_TYPE(MergeAction, MergeAction) out_node, const MergeAction *node);
108
+ static void _outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out_node, const TriggerTransition *node);
109
+ static void _outJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) out_node, const JsonOutput *node);
110
+ static void _outJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) out_node, const JsonKeyValue *node);
111
+ static void _outJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) out_node, const JsonObjectConstructor *node);
112
+ static void _outJsonArrayConstructor(OUT_TYPE(JsonArrayConstructor, JsonArrayConstructor) out_node, const JsonArrayConstructor *node);
113
+ static void _outJsonArrayQueryConstructor(OUT_TYPE(JsonArrayQueryConstructor, JsonArrayQueryConstructor) out_node, const JsonArrayQueryConstructor *node);
114
+ static void _outJsonAggConstructor(OUT_TYPE(JsonAggConstructor, JsonAggConstructor) out_node, const JsonAggConstructor *node);
115
+ static void _outJsonObjectAgg(OUT_TYPE(JsonObjectAgg, JsonObjectAgg) out_node, const JsonObjectAgg *node);
116
+ static void _outJsonArrayAgg(OUT_TYPE(JsonArrayAgg, JsonArrayAgg) out_node, const JsonArrayAgg *node);
54
117
  static void _outRawStmt(OUT_TYPE(RawStmt, RawStmt) out_node, const RawStmt *node);
55
- static void _outQuery(OUT_TYPE(Query, Query) out_node, const Query *node);
56
118
  static void _outInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) out_node, const InsertStmt *node);
57
119
  static void _outDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) out_node, const DeleteStmt *node);
58
120
  static void _outUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) out_node, const UpdateStmt *node);
59
121
  static void _outMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) out_node, const MergeStmt *node);
60
122
  static void _outSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) out_node, const SelectStmt *node);
123
+ static void _outSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) out_node, const SetOperationStmt *node);
61
124
  static void _outReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) out_node, const ReturnStmt *node);
62
125
  static void _outPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) out_node, const PLAssignStmt *node);
126
+ static void _outCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) out_node, const CreateSchemaStmt *node);
63
127
  static void _outAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) out_node, const AlterTableStmt *node);
128
+ static void _outReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) out_node, const ReplicaIdentityStmt *node);
64
129
  static void _outAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) out_node, const AlterTableCmd *node);
130
+ static void _outAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) out_node, const AlterCollationStmt *node);
65
131
  static void _outAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) out_node, const AlterDomainStmt *node);
66
- static void _outSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) out_node, const SetOperationStmt *node);
67
132
  static void _outGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) out_node, const GrantStmt *node);
133
+ static void _outObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) out_node, const ObjectWithArgs *node);
134
+ static void _outAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) out_node, const AccessPriv *node);
68
135
  static void _outGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) out_node, const GrantRoleStmt *node);
69
136
  static void _outAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) out_node, const AlterDefaultPrivilegesStmt *node);
70
- static void _outClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) out_node, const ClosePortalStmt *node);
71
- static void _outClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) out_node, const ClusterStmt *node);
72
137
  static void _outCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) out_node, const CopyStmt *node);
138
+ static void _outVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) out_node, const VariableSetStmt *node);
139
+ static void _outVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) out_node, const VariableShowStmt *node);
73
140
  static void _outCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) out_node, const CreateStmt *node);
141
+ static void _outConstraint(OUT_TYPE(Constraint, Constraint) out_node, const Constraint *node);
142
+ static void _outCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) out_node, const CreateTableSpaceStmt *node);
143
+ static void _outDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) out_node, const DropTableSpaceStmt *node);
144
+ static void _outAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) out_node, const AlterTableSpaceOptionsStmt *node);
145
+ static void _outAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) out_node, const AlterTableMoveAllStmt *node);
146
+ static void _outCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) out_node, const CreateExtensionStmt *node);
147
+ static void _outAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) out_node, const AlterExtensionStmt *node);
148
+ static void _outAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) out_node, const AlterExtensionContentsStmt *node);
149
+ static void _outCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) out_node, const CreateFdwStmt *node);
150
+ static void _outAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) out_node, const AlterFdwStmt *node);
151
+ static void _outCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) out_node, const CreateForeignServerStmt *node);
152
+ static void _outAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) out_node, const AlterForeignServerStmt *node);
153
+ static void _outCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) out_node, const CreateForeignTableStmt *node);
154
+ static void _outCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) out_node, const CreateUserMappingStmt *node);
155
+ static void _outAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) out_node, const AlterUserMappingStmt *node);
156
+ static void _outDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) out_node, const DropUserMappingStmt *node);
157
+ static void _outImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) out_node, const ImportForeignSchemaStmt *node);
158
+ static void _outCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) out_node, const CreatePolicyStmt *node);
159
+ static void _outAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) out_node, const AlterPolicyStmt *node);
160
+ static void _outCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) out_node, const CreateAmStmt *node);
161
+ static void _outCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) out_node, const CreateTrigStmt *node);
162
+ static void _outCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) out_node, const CreateEventTrigStmt *node);
163
+ static void _outAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) out_node, const AlterEventTrigStmt *node);
164
+ static void _outCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) out_node, const CreatePLangStmt *node);
165
+ static void _outCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) out_node, const CreateRoleStmt *node);
166
+ static void _outAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) out_node, const AlterRoleStmt *node);
167
+ static void _outAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) out_node, const AlterRoleSetStmt *node);
168
+ static void _outDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) out_node, const DropRoleStmt *node);
169
+ static void _outCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) out_node, const CreateSeqStmt *node);
170
+ static void _outAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) out_node, const AlterSeqStmt *node);
74
171
  static void _outDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) out_node, const DefineStmt *node);
172
+ static void _outCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) out_node, const CreateDomainStmt *node);
173
+ static void _outCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) out_node, const CreateOpClassStmt *node);
174
+ static void _outCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) out_node, const CreateOpClassItem *node);
175
+ static void _outCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) out_node, const CreateOpFamilyStmt *node);
176
+ static void _outAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) out_node, const AlterOpFamilyStmt *node);
75
177
  static void _outDropStmt(OUT_TYPE(DropStmt, DropStmt) out_node, const DropStmt *node);
76
178
  static void _outTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) out_node, const TruncateStmt *node);
77
179
  static void _outCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) out_node, const CommentStmt *node);
180
+ static void _outSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) out_node, const SecLabelStmt *node);
181
+ static void _outDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) out_node, const DeclareCursorStmt *node);
182
+ static void _outClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) out_node, const ClosePortalStmt *node);
78
183
  static void _outFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) out_node, const FetchStmt *node);
79
184
  static void _outIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) out_node, const IndexStmt *node);
185
+ static void _outCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) out_node, const CreateStatsStmt *node);
186
+ static void _outStatsElem(OUT_TYPE(StatsElem, StatsElem) out_node, const StatsElem *node);
187
+ static void _outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out_node, const AlterStatsStmt *node);
80
188
  static void _outCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) out_node, const CreateFunctionStmt *node);
189
+ static void _outFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) out_node, const FunctionParameter *node);
81
190
  static void _outAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) out_node, const AlterFunctionStmt *node);
82
191
  static void _outDoStmt(OUT_TYPE(DoStmt, DoStmt) out_node, const DoStmt *node);
192
+ static void _outInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) out_node, const InlineCodeBlock *node);
193
+ static void _outCallStmt(OUT_TYPE(CallStmt, CallStmt) out_node, const CallStmt *node);
194
+ static void _outCallContext(OUT_TYPE(CallContext, CallContext) out_node, const CallContext *node);
83
195
  static void _outRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) out_node, const RenameStmt *node);
196
+ static void _outAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) out_node, const AlterObjectDependsStmt *node);
197
+ static void _outAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) out_node, const AlterObjectSchemaStmt *node);
198
+ static void _outAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) out_node, const AlterOwnerStmt *node);
199
+ static void _outAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) out_node, const AlterOperatorStmt *node);
200
+ static void _outAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) out_node, const AlterTypeStmt *node);
84
201
  static void _outRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) out_node, const RuleStmt *node);
85
202
  static void _outNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) out_node, const NotifyStmt *node);
86
203
  static void _outListenStmt(OUT_TYPE(ListenStmt, ListenStmt) out_node, const ListenStmt *node);
87
204
  static void _outUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) out_node, const UnlistenStmt *node);
88
205
  static void _outTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) out_node, const TransactionStmt *node);
206
+ static void _outCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) out_node, const CompositeTypeStmt *node);
207
+ static void _outCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) out_node, const CreateEnumStmt *node);
208
+ static void _outCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) out_node, const CreateRangeStmt *node);
209
+ static void _outAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) out_node, const AlterEnumStmt *node);
89
210
  static void _outViewStmt(OUT_TYPE(ViewStmt, ViewStmt) out_node, const ViewStmt *node);
90
211
  static void _outLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) out_node, const LoadStmt *node);
91
- static void _outCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) out_node, const CreateDomainStmt *node);
92
212
  static void _outCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) out_node, const CreatedbStmt *node);
213
+ static void _outAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) out_node, const AlterDatabaseStmt *node);
214
+ static void _outAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) out_node, const AlterDatabaseRefreshCollStmt *node);
215
+ static void _outAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) out_node, const AlterDatabaseSetStmt *node);
93
216
  static void _outDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) out_node, const DropdbStmt *node);
217
+ static void _outAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) out_node, const AlterSystemStmt *node);
218
+ static void _outClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) out_node, const ClusterStmt *node);
94
219
  static void _outVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) out_node, const VacuumStmt *node);
220
+ static void _outVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) out_node, const VacuumRelation *node);
95
221
  static void _outExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) out_node, const ExplainStmt *node);
96
222
  static void _outCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) out_node, const CreateTableAsStmt *node);
97
- static void _outCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) out_node, const CreateSeqStmt *node);
98
- static void _outAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) out_node, const AlterSeqStmt *node);
99
- static void _outVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) out_node, const VariableSetStmt *node);
100
- static void _outVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) out_node, const VariableShowStmt *node);
223
+ static void _outRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) out_node, const RefreshMatViewStmt *node);
224
+ static void _outCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) out_node, const CheckPointStmt *node);
101
225
  static void _outDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) out_node, const DiscardStmt *node);
102
- static void _outCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) out_node, const CreateTrigStmt *node);
103
- static void _outCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) out_node, const CreatePLangStmt *node);
104
- static void _outCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) out_node, const CreateRoleStmt *node);
105
- static void _outAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) out_node, const AlterRoleStmt *node);
106
- static void _outDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) out_node, const DropRoleStmt *node);
107
226
  static void _outLockStmt(OUT_TYPE(LockStmt, LockStmt) out_node, const LockStmt *node);
108
227
  static void _outConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) out_node, const ConstraintsSetStmt *node);
109
228
  static void _outReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) out_node, const ReindexStmt *node);
110
- static void _outCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) out_node, const CheckPointStmt *node);
111
- static void _outCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) out_node, const CreateSchemaStmt *node);
112
- static void _outAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) out_node, const AlterDatabaseStmt *node);
113
- static void _outAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) out_node, const AlterDatabaseRefreshCollStmt *node);
114
- static void _outAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) out_node, const AlterDatabaseSetStmt *node);
115
- static void _outAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) out_node, const AlterRoleSetStmt *node);
116
229
  static void _outCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) out_node, const CreateConversionStmt *node);
117
230
  static void _outCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) out_node, const CreateCastStmt *node);
118
- static void _outCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) out_node, const CreateOpClassStmt *node);
119
- static void _outCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) out_node, const CreateOpFamilyStmt *node);
120
- static void _outAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) out_node, const AlterOpFamilyStmt *node);
231
+ static void _outCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) out_node, const CreateTransformStmt *node);
121
232
  static void _outPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) out_node, const PrepareStmt *node);
122
233
  static void _outExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) out_node, const ExecuteStmt *node);
123
234
  static void _outDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) out_node, const DeallocateStmt *node);
124
- static void _outDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) out_node, const DeclareCursorStmt *node);
125
- static void _outCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) out_node, const CreateTableSpaceStmt *node);
126
- static void _outDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) out_node, const DropTableSpaceStmt *node);
127
- static void _outAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) out_node, const AlterObjectDependsStmt *node);
128
- static void _outAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) out_node, const AlterObjectSchemaStmt *node);
129
- static void _outAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) out_node, const AlterOwnerStmt *node);
130
- static void _outAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) out_node, const AlterOperatorStmt *node);
131
- static void _outAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) out_node, const AlterTypeStmt *node);
132
235
  static void _outDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) out_node, const DropOwnedStmt *node);
133
236
  static void _outReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) out_node, const ReassignOwnedStmt *node);
134
- static void _outCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) out_node, const CompositeTypeStmt *node);
135
- static void _outCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) out_node, const CreateEnumStmt *node);
136
- static void _outCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) out_node, const CreateRangeStmt *node);
137
- static void _outAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) out_node, const AlterEnumStmt *node);
138
237
  static void _outAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) out_node, const AlterTSDictionaryStmt *node);
139
238
  static void _outAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) out_node, const AlterTSConfigurationStmt *node);
140
- static void _outCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) out_node, const CreateFdwStmt *node);
141
- static void _outAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) out_node, const AlterFdwStmt *node);
142
- static void _outCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) out_node, const CreateForeignServerStmt *node);
143
- static void _outAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) out_node, const AlterForeignServerStmt *node);
144
- static void _outCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) out_node, const CreateUserMappingStmt *node);
145
- static void _outAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) out_node, const AlterUserMappingStmt *node);
146
- static void _outDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) out_node, const DropUserMappingStmt *node);
147
- static void _outAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) out_node, const AlterTableSpaceOptionsStmt *node);
148
- static void _outAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) out_node, const AlterTableMoveAllStmt *node);
149
- static void _outSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) out_node, const SecLabelStmt *node);
150
- static void _outCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) out_node, const CreateForeignTableStmt *node);
151
- static void _outImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) out_node, const ImportForeignSchemaStmt *node);
152
- static void _outCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) out_node, const CreateExtensionStmt *node);
153
- static void _outAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) out_node, const AlterExtensionStmt *node);
154
- static void _outAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) out_node, const AlterExtensionContentsStmt *node);
155
- static void _outCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) out_node, const CreateEventTrigStmt *node);
156
- static void _outAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) out_node, const AlterEventTrigStmt *node);
157
- static void _outRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) out_node, const RefreshMatViewStmt *node);
158
- static void _outReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) out_node, const ReplicaIdentityStmt *node);
159
- static void _outAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) out_node, const AlterSystemStmt *node);
160
- static void _outCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) out_node, const CreatePolicyStmt *node);
161
- static void _outAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) out_node, const AlterPolicyStmt *node);
162
- static void _outCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) out_node, const CreateTransformStmt *node);
163
- static void _outCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) out_node, const CreateAmStmt *node);
239
+ static void _outPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) out_node, const PublicationTable *node);
240
+ static void _outPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) out_node, const PublicationObjSpec *node);
164
241
  static void _outCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) out_node, const CreatePublicationStmt *node);
165
242
  static void _outAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) out_node, const AlterPublicationStmt *node);
166
243
  static void _outCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) out_node, const CreateSubscriptionStmt *node);
167
244
  static void _outAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) out_node, const AlterSubscriptionStmt *node);
168
245
  static void _outDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) out_node, const DropSubscriptionStmt *node);
169
- static void _outCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) out_node, const CreateStatsStmt *node);
170
- static void _outAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) out_node, const AlterCollationStmt *node);
171
- static void _outCallStmt(OUT_TYPE(CallStmt, CallStmt) out_node, const CallStmt *node);
172
- static void _outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out_node, const AlterStatsStmt *node);
173
- static void _outAExpr(OUT_TYPE(A_Expr, AExpr) out_node, const A_Expr *node);
174
- static void _outColumnRef(OUT_TYPE(ColumnRef, ColumnRef) out_node, const ColumnRef *node);
175
- static void _outParamRef(OUT_TYPE(ParamRef, ParamRef) out_node, const ParamRef *node);
176
- static void _outFuncCall(OUT_TYPE(FuncCall, FuncCall) out_node, const FuncCall *node);
177
- static void _outAStar(OUT_TYPE(A_Star, AStar) out_node, const A_Star *node);
178
- static void _outAIndices(OUT_TYPE(A_Indices, AIndices) out_node, const A_Indices *node);
179
- static void _outAIndirection(OUT_TYPE(A_Indirection, AIndirection) out_node, const A_Indirection *node);
180
- static void _outAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) out_node, const A_ArrayExpr *node);
181
- static void _outResTarget(OUT_TYPE(ResTarget, ResTarget) out_node, const ResTarget *node);
182
- static void _outMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) out_node, const MultiAssignRef *node);
183
- static void _outTypeCast(OUT_TYPE(TypeCast, TypeCast) out_node, const TypeCast *node);
184
- static void _outCollateClause(OUT_TYPE(CollateClause, CollateClause) out_node, const CollateClause *node);
185
- static void _outSortBy(OUT_TYPE(SortBy, SortBy) out_node, const SortBy *node);
186
- static void _outWindowDef(OUT_TYPE(WindowDef, WindowDef) out_node, const WindowDef *node);
187
- static void _outRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) out_node, const RangeSubselect *node);
188
- static void _outRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) out_node, const RangeFunction *node);
189
- static void _outRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) out_node, const RangeTableSample *node);
190
- static void _outRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) out_node, const RangeTableFunc *node);
191
- static void _outRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) out_node, const RangeTableFuncCol *node);
192
- static void _outTypeName(OUT_TYPE(TypeName, TypeName) out_node, const TypeName *node);
193
- static void _outColumnDef(OUT_TYPE(ColumnDef, ColumnDef) out_node, const ColumnDef *node);
194
- static void _outIndexElem(OUT_TYPE(IndexElem, IndexElem) out_node, const IndexElem *node);
195
- static void _outStatsElem(OUT_TYPE(StatsElem, StatsElem) out_node, const StatsElem *node);
196
- static void _outConstraint(OUT_TYPE(Constraint, Constraint) out_node, const Constraint *node);
197
- static void _outDefElem(OUT_TYPE(DefElem, DefElem) out_node, const DefElem *node);
198
- static void _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out_node, const RangeTblEntry *node);
199
- static void _outRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) out_node, const RangeTblFunction *node);
200
- static void _outTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) out_node, const TableSampleClause *node);
201
- static void _outWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) out_node, const WithCheckOption *node);
202
- static void _outSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) out_node, const SortGroupClause *node);
203
- static void _outGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) out_node, const GroupingSet *node);
204
- static void _outWindowClause(OUT_TYPE(WindowClause, WindowClause) out_node, const WindowClause *node);
205
- static void _outObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) out_node, const ObjectWithArgs *node);
206
- static void _outAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) out_node, const AccessPriv *node);
207
- static void _outCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) out_node, const CreateOpClassItem *node);
208
- static void _outTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) out_node, const TableLikeClause *node);
209
- static void _outFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) out_node, const FunctionParameter *node);
210
- static void _outLockingClause(OUT_TYPE(LockingClause, LockingClause) out_node, const LockingClause *node);
211
- static void _outRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) out_node, const RowMarkClause *node);
212
- static void _outXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) out_node, const XmlSerialize *node);
213
- static void _outWithClause(OUT_TYPE(WithClause, WithClause) out_node, const WithClause *node);
214
- static void _outInferClause(OUT_TYPE(InferClause, InferClause) out_node, const InferClause *node);
215
- static void _outOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) out_node, const OnConflictClause *node);
216
- static void _outCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) out_node, const CTESearchClause *node);
217
- static void _outCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) out_node, const CTECycleClause *node);
218
- static void _outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out_node, const CommonTableExpr *node);
219
- static void _outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out_node, const MergeWhenClause *node);
220
- static void _outRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) out_node, const RoleSpec *node);
221
- static void _outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out_node, const TriggerTransition *node);
222
- static void _outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out_node, const PartitionElem *node);
223
- static void _outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out_node, const PartitionSpec *node);
224
- static void _outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out_node, const PartitionBoundSpec *node);
225
- static void _outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out_node, const PartitionRangeDatum *node);
226
- static void _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out_node, const PartitionCmd *node);
227
- static void _outVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) out_node, const VacuumRelation *node);
228
- static void _outPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) out_node, const PublicationObjSpec *node);
229
- static void _outPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) out_node, const PublicationTable *node);
230
- static void _outInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) out_node, const InlineCodeBlock *node);
231
- static void _outCallContext(OUT_TYPE(CallContext, CallContext) out_node, const CallContext *node);
232
246
 
233
247
 
234
248
  static void
@@ -269,18 +283,30 @@ _outTableFunc(OUT_TYPE(TableFunc, TableFunc) out, const TableFunc *node)
269
283
  }
270
284
 
271
285
  static void
272
- _outVar(OUT_TYPE(Var, Var) out, const Var *node)
286
+ _outIntoClause(OUT_TYPE(IntoClause, IntoClause) out, const IntoClause *node)
273
287
  {
274
- WRITE_INT_FIELD(varno, varno, varno);
275
- WRITE_INT_FIELD(varattno, varattno, varattno);
276
- WRITE_UINT_FIELD(vartype, vartype, vartype);
277
- WRITE_INT_FIELD(vartypmod, vartypmod, vartypmod);
278
- WRITE_UINT_FIELD(varcollid, varcollid, varcollid);
279
- WRITE_UINT_FIELD(varlevelsup, varlevelsup, varlevelsup);
280
- WRITE_UINT_FIELD(varnosyn, varnosyn, varnosyn);
281
- WRITE_INT_FIELD(varattnosyn, varattnosyn, varattnosyn);
282
- WRITE_INT_FIELD(location, location, location);
283
- }
288
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, rel, rel, rel);
289
+ WRITE_LIST_FIELD(col_names, colNames, colNames);
290
+ WRITE_STRING_FIELD(access_method, accessMethod, accessMethod);
291
+ WRITE_LIST_FIELD(options, options, options);
292
+ WRITE_ENUM_FIELD(OnCommitAction, on_commit, onCommit, onCommit);
293
+ WRITE_STRING_FIELD(table_space_name, tableSpaceName, tableSpaceName);
294
+ WRITE_NODE_PTR_FIELD(view_query, viewQuery, viewQuery);
295
+ WRITE_BOOL_FIELD(skip_data, skipData, skipData);
296
+ }
297
+
298
+ static void
299
+ _outVar(OUT_TYPE(Var, Var) out, const Var *node)
300
+ {
301
+ WRITE_INT_FIELD(varno, varno, varno);
302
+ WRITE_INT_FIELD(varattno, varattno, varattno);
303
+ WRITE_UINT_FIELD(vartype, vartype, vartype);
304
+ WRITE_INT_FIELD(vartypmod, vartypmod, vartypmod);
305
+ WRITE_UINT_FIELD(varcollid, varcollid, varcollid);
306
+ WRITE_BITMAPSET_FIELD(varnullingrels, varnullingrels, varnullingrels);
307
+ WRITE_UINT_FIELD(varlevelsup, varlevelsup, varlevelsup);
308
+ WRITE_INT_FIELD(location, location, location);
309
+ }
284
310
 
285
311
  static void
286
312
  _outParam(OUT_TYPE(Param, Param) out, const Param *node)
@@ -300,7 +326,6 @@ _outAggref(OUT_TYPE(Aggref, Aggref) out, const Aggref *node)
300
326
  WRITE_UINT_FIELD(aggtype, aggtype, aggtype);
301
327
  WRITE_UINT_FIELD(aggcollid, aggcollid, aggcollid);
302
328
  WRITE_UINT_FIELD(inputcollid, inputcollid, inputcollid);
303
- WRITE_UINT_FIELD(aggtranstype, aggtranstype, aggtranstype);
304
329
  WRITE_LIST_FIELD(aggargtypes, aggargtypes, aggargtypes);
305
330
  WRITE_LIST_FIELD(aggdirectargs, aggdirectargs, aggdirectargs);
306
331
  WRITE_LIST_FIELD(args, args, args);
@@ -322,7 +347,6 @@ _outGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) out, const GroupingFunc *n
322
347
  {
323
348
  WRITE_LIST_FIELD(args, args, args);
324
349
  WRITE_LIST_FIELD(refs, refs, refs);
325
- WRITE_LIST_FIELD(cols, cols, cols);
326
350
  WRITE_UINT_FIELD(agglevelsup, agglevelsup, agglevelsup);
327
351
  WRITE_INT_FIELD(location, location, location);
328
352
  }
@@ -383,7 +407,6 @@ static void
383
407
  _outOpExpr(OUT_TYPE(OpExpr, OpExpr) out, const OpExpr *node)
384
408
  {
385
409
  WRITE_UINT_FIELD(opno, opno, opno);
386
- WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid);
387
410
  WRITE_UINT_FIELD(opresulttype, opresulttype, opresulttype);
388
411
  WRITE_BOOL_FIELD(opretset, opretset, opretset);
389
412
  WRITE_UINT_FIELD(opcollid, opcollid, opcollid);
@@ -396,7 +419,6 @@ static void
396
419
  _outDistinctExpr(OUT_TYPE(DistinctExpr, DistinctExpr) out, const DistinctExpr *node)
397
420
  {
398
421
  WRITE_UINT_FIELD(opno, opno, opno);
399
- WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid);
400
422
  WRITE_UINT_FIELD(opresulttype, opresulttype, opresulttype);
401
423
  WRITE_BOOL_FIELD(opretset, opretset, opretset);
402
424
  WRITE_UINT_FIELD(opcollid, opcollid, opcollid);
@@ -409,7 +431,6 @@ static void
409
431
  _outNullIfExpr(OUT_TYPE(NullIfExpr, NullIfExpr) out, const NullIfExpr *node)
410
432
  {
411
433
  WRITE_UINT_FIELD(opno, opno, opno);
412
- WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid);
413
434
  WRITE_UINT_FIELD(opresulttype, opresulttype, opresulttype);
414
435
  WRITE_BOOL_FIELD(opretset, opretset, opretset);
415
436
  WRITE_UINT_FIELD(opcollid, opcollid, opcollid);
@@ -422,9 +443,6 @@ static void
422
443
  _outScalarArrayOpExpr(OUT_TYPE(ScalarArrayOpExpr, ScalarArrayOpExpr) out, const ScalarArrayOpExpr *node)
423
444
  {
424
445
  WRITE_UINT_FIELD(opno, opno, opno);
425
- WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid);
426
- WRITE_UINT_FIELD(hashfuncid, hashfuncid, hashfuncid);
427
- WRITE_UINT_FIELD(negfuncid, negfuncid, negfuncid);
428
446
  WRITE_BOOL_FIELD(use_or, useOr, useOr);
429
447
  WRITE_UINT_FIELD(inputcollid, inputcollid, inputcollid);
430
448
  WRITE_LIST_FIELD(args, args, args);
@@ -643,11 +661,59 @@ _outXmlExpr(OUT_TYPE(XmlExpr, XmlExpr) out, const XmlExpr *node)
643
661
  WRITE_LIST_FIELD(arg_names, arg_names, arg_names);
644
662
  WRITE_LIST_FIELD(args, args, args);
645
663
  WRITE_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption);
664
+ WRITE_BOOL_FIELD(indent, indent, indent);
646
665
  WRITE_UINT_FIELD(type, type, type);
647
666
  WRITE_INT_FIELD(typmod, typmod, typmod);
648
667
  WRITE_INT_FIELD(location, location, location);
649
668
  }
650
669
 
670
+ static void
671
+ _outJsonFormat(OUT_TYPE(JsonFormat, JsonFormat) out, const JsonFormat *node)
672
+ {
673
+ WRITE_ENUM_FIELD(JsonFormatType, format_type, format_type, format_type);
674
+ WRITE_ENUM_FIELD(JsonEncoding, encoding, encoding, encoding);
675
+ WRITE_INT_FIELD(location, location, location);
676
+ }
677
+
678
+ static void
679
+ _outJsonReturning(OUT_TYPE(JsonReturning, JsonReturning) out, const JsonReturning *node)
680
+ {
681
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format);
682
+ WRITE_UINT_FIELD(typid, typid, typid);
683
+ WRITE_INT_FIELD(typmod, typmod, typmod);
684
+ }
685
+
686
+ static void
687
+ _outJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) out, const JsonValueExpr *node)
688
+ {
689
+ WRITE_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr);
690
+ WRITE_NODE_PTR_FIELD(formatted_expr, formatted_expr, formatted_expr);
691
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format);
692
+ }
693
+
694
+ static void
695
+ _outJsonConstructorExpr(OUT_TYPE(JsonConstructorExpr, JsonConstructorExpr) out, const JsonConstructorExpr *node)
696
+ {
697
+ WRITE_ENUM_FIELD(JsonConstructorType, type, type, type);
698
+ WRITE_LIST_FIELD(args, args, args);
699
+ WRITE_NODE_PTR_FIELD(func, func, func);
700
+ WRITE_NODE_PTR_FIELD(coercion, coercion, coercion);
701
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning);
702
+ WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
703
+ WRITE_BOOL_FIELD(unique, unique, unique);
704
+ WRITE_INT_FIELD(location, location, location);
705
+ }
706
+
707
+ static void
708
+ _outJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) out, const JsonIsPredicate *node)
709
+ {
710
+ WRITE_NODE_PTR_FIELD(expr, expr, expr);
711
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format);
712
+ WRITE_ENUM_FIELD(JsonValueType, item_type, item_type, item_type);
713
+ WRITE_BOOL_FIELD(unique_keys, unique_keys, unique_keys);
714
+ WRITE_INT_FIELD(location, location, location);
715
+ }
716
+
651
717
  static void
652
718
  _outNullTest(OUT_TYPE(NullTest, NullTest) out, const NullTest *node)
653
719
  {
@@ -769,38 +835,6 @@ _outOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) out, const OnConflic
769
835
  WRITE_LIST_FIELD(excl_rel_tlist, exclRelTlist, exclRelTlist);
770
836
  }
771
837
 
772
- static void
773
- _outIntoClause(OUT_TYPE(IntoClause, IntoClause) out, const IntoClause *node)
774
- {
775
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, rel, rel, rel);
776
- WRITE_LIST_FIELD(col_names, colNames, colNames);
777
- WRITE_STRING_FIELD(access_method, accessMethod, accessMethod);
778
- WRITE_LIST_FIELD(options, options, options);
779
- WRITE_ENUM_FIELD(OnCommitAction, on_commit, onCommit, onCommit);
780
- WRITE_STRING_FIELD(table_space_name, tableSpaceName, tableSpaceName);
781
- WRITE_NODE_PTR_FIELD(view_query, viewQuery, viewQuery);
782
- WRITE_BOOL_FIELD(skip_data, skipData, skipData);
783
- }
784
-
785
- static void
786
- _outMergeAction(OUT_TYPE(MergeAction, MergeAction) out, const MergeAction *node)
787
- {
788
- WRITE_BOOL_FIELD(matched, matched, matched);
789
- WRITE_ENUM_FIELD(CmdType, command_type, commandType, commandType);
790
- WRITE_ENUM_FIELD(OverridingKind, override, override, override);
791
- WRITE_NODE_PTR_FIELD(qual, qual, qual);
792
- WRITE_LIST_FIELD(target_list, targetList, targetList);
793
- WRITE_LIST_FIELD(update_colnos, updateColnos, updateColnos);
794
- }
795
-
796
- static void
797
- _outRawStmt(OUT_TYPE(RawStmt, RawStmt) out, const RawStmt *node)
798
- {
799
- WRITE_NODE_PTR_FIELD(stmt, stmt, stmt);
800
- WRITE_INT_FIELD(stmt_location, stmt_location, stmt_location);
801
- WRITE_INT_FIELD(stmt_len, stmt_len, stmt_len);
802
- }
803
-
804
838
  static void
805
839
  _outQuery(OUT_TYPE(Query, Query) out, const Query *node)
806
840
  {
@@ -821,6 +855,7 @@ _outQuery(OUT_TYPE(Query, Query) out, const Query *node)
821
855
  WRITE_BOOL_FIELD(is_return, isReturn, isReturn);
822
856
  WRITE_LIST_FIELD(cte_list, cteList, cteList);
823
857
  WRITE_LIST_FIELD(rtable, rtable, rtable);
858
+ WRITE_LIST_FIELD(rteperminfos, rteperminfos, rteperminfos);
824
859
  WRITE_SPECIFIC_NODE_PTR_FIELD(FromExpr, from_expr, jointree, jointree, jointree);
825
860
  WRITE_LIST_FIELD(merge_action_list, mergeActionList, mergeActionList);
826
861
  WRITE_BOOL_FIELD(merge_use_outer_join, mergeUseOuterJoin, mergeUseOuterJoin);
@@ -847,851 +882,918 @@ _outQuery(OUT_TYPE(Query, Query) out, const Query *node)
847
882
  }
848
883
 
849
884
  static void
850
- _outInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) out, const InsertStmt *node)
885
+ _outTypeName(OUT_TYPE(TypeName, TypeName) out, const TypeName *node)
851
886
  {
852
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
853
- WRITE_LIST_FIELD(cols, cols, cols);
854
- WRITE_NODE_PTR_FIELD(select_stmt, selectStmt, selectStmt);
855
- WRITE_SPECIFIC_NODE_PTR_FIELD(OnConflictClause, on_conflict_clause, on_conflict_clause, onConflictClause, onConflictClause);
856
- WRITE_LIST_FIELD(returning_list, returningList, returningList);
857
- WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
858
- WRITE_ENUM_FIELD(OverridingKind, override, override, override);
887
+ WRITE_LIST_FIELD(names, names, names);
888
+ WRITE_UINT_FIELD(type_oid, typeOid, typeOid);
889
+ WRITE_BOOL_FIELD(setof, setof, setof);
890
+ WRITE_BOOL_FIELD(pct_type, pct_type, pct_type);
891
+ WRITE_LIST_FIELD(typmods, typmods, typmods);
892
+ WRITE_INT_FIELD(typemod, typemod, typemod);
893
+ WRITE_LIST_FIELD(array_bounds, arrayBounds, arrayBounds);
894
+ WRITE_INT_FIELD(location, location, location);
859
895
  }
860
896
 
861
897
  static void
862
- _outDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) out, const DeleteStmt *node)
898
+ _outColumnRef(OUT_TYPE(ColumnRef, ColumnRef) out, const ColumnRef *node)
863
899
  {
864
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
865
- WRITE_LIST_FIELD(using_clause, usingClause, usingClause);
866
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
867
- WRITE_LIST_FIELD(returning_list, returningList, returningList);
868
- WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
900
+ WRITE_LIST_FIELD(fields, fields, fields);
901
+ WRITE_INT_FIELD(location, location, location);
869
902
  }
870
903
 
871
904
  static void
872
- _outUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) out, const UpdateStmt *node)
905
+ _outParamRef(OUT_TYPE(ParamRef, ParamRef) out, const ParamRef *node)
873
906
  {
874
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
875
- WRITE_LIST_FIELD(target_list, targetList, targetList);
876
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
877
- WRITE_LIST_FIELD(from_clause, fromClause, fromClause);
878
- WRITE_LIST_FIELD(returning_list, returningList, returningList);
879
- WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
907
+ WRITE_INT_FIELD(number, number, number);
908
+ WRITE_INT_FIELD(location, location, location);
880
909
  }
881
910
 
882
911
  static void
883
- _outMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) out, const MergeStmt *node)
912
+ _outAExpr(OUT_TYPE(A_Expr, AExpr) out, const A_Expr *node)
884
913
  {
885
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
886
- WRITE_NODE_PTR_FIELD(source_relation, sourceRelation, sourceRelation);
887
- WRITE_NODE_PTR_FIELD(join_condition, joinCondition, joinCondition);
888
- WRITE_LIST_FIELD(merge_when_clauses, mergeWhenClauses, mergeWhenClauses);
889
- WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
914
+ WRITE_ENUM_FIELD(A_Expr_Kind, kind, kind, kind);
915
+ WRITE_LIST_FIELD(name, name, name);
916
+ WRITE_NODE_PTR_FIELD(lexpr, lexpr, lexpr);
917
+ WRITE_NODE_PTR_FIELD(rexpr, rexpr, rexpr);
918
+ WRITE_INT_FIELD(location, location, location);
890
919
  }
891
920
 
892
921
  static void
893
- _outSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) out, const SelectStmt *node)
922
+ _outTypeCast(OUT_TYPE(TypeCast, TypeCast) out, const TypeCast *node)
894
923
  {
895
- WRITE_LIST_FIELD(distinct_clause, distinctClause, distinctClause);
896
- WRITE_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into_clause, intoClause, intoClause);
897
- WRITE_LIST_FIELD(target_list, targetList, targetList);
898
- WRITE_LIST_FIELD(from_clause, fromClause, fromClause);
899
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
900
- WRITE_LIST_FIELD(group_clause, groupClause, groupClause);
901
- WRITE_BOOL_FIELD(group_distinct, groupDistinct, groupDistinct);
902
- WRITE_NODE_PTR_FIELD(having_clause, havingClause, havingClause);
903
- WRITE_LIST_FIELD(window_clause, windowClause, windowClause);
904
- WRITE_LIST_FIELD(values_lists, valuesLists, valuesLists);
905
- WRITE_LIST_FIELD(sort_clause, sortClause, sortClause);
906
- WRITE_NODE_PTR_FIELD(limit_offset, limitOffset, limitOffset);
907
- WRITE_NODE_PTR_FIELD(limit_count, limitCount, limitCount);
908
- WRITE_ENUM_FIELD(LimitOption, limit_option, limitOption, limitOption);
909
- WRITE_LIST_FIELD(locking_clause, lockingClause, lockingClause);
910
- WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
911
- WRITE_ENUM_FIELD(SetOperation, op, op, op);
912
- WRITE_BOOL_FIELD(all, all, all);
913
- WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, larg, larg, larg);
914
- WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, rarg, rarg, rarg);
924
+ WRITE_NODE_PTR_FIELD(arg, arg, arg);
925
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
926
+ WRITE_INT_FIELD(location, location, location);
915
927
  }
916
928
 
917
929
  static void
918
- _outReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) out, const ReturnStmt *node)
930
+ _outCollateClause(OUT_TYPE(CollateClause, CollateClause) out, const CollateClause *node)
919
931
  {
920
- WRITE_NODE_PTR_FIELD(returnval, returnval, returnval);
932
+ WRITE_NODE_PTR_FIELD(arg, arg, arg);
933
+ WRITE_LIST_FIELD(collname, collname, collname);
934
+ WRITE_INT_FIELD(location, location, location);
921
935
  }
922
936
 
923
937
  static void
924
- _outPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) out, const PLAssignStmt *node)
938
+ _outRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) out, const RoleSpec *node)
925
939
  {
926
- WRITE_STRING_FIELD(name, name, name);
927
- WRITE_LIST_FIELD(indirection, indirection, indirection);
928
- WRITE_INT_FIELD(nnames, nnames, nnames);
929
- WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, val, val, val);
940
+ WRITE_ENUM_FIELD(RoleSpecType, roletype, roletype, roletype);
941
+ WRITE_STRING_FIELD(rolename, rolename, rolename);
930
942
  WRITE_INT_FIELD(location, location, location);
931
943
  }
932
944
 
933
945
  static void
934
- _outAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) out, const AlterTableStmt *node)
946
+ _outFuncCall(OUT_TYPE(FuncCall, FuncCall) out, const FuncCall *node)
935
947
  {
936
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
937
- WRITE_LIST_FIELD(cmds, cmds, cmds);
938
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
939
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
948
+ WRITE_LIST_FIELD(funcname, funcname, funcname);
949
+ WRITE_LIST_FIELD(args, args, args);
950
+ WRITE_LIST_FIELD(agg_order, agg_order, agg_order);
951
+ WRITE_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter);
952
+ WRITE_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over);
953
+ WRITE_BOOL_FIELD(agg_within_group, agg_within_group, agg_within_group);
954
+ WRITE_BOOL_FIELD(agg_star, agg_star, agg_star);
955
+ WRITE_BOOL_FIELD(agg_distinct, agg_distinct, agg_distinct);
956
+ WRITE_BOOL_FIELD(func_variadic, func_variadic, func_variadic);
957
+ WRITE_ENUM_FIELD(CoercionForm, funcformat, funcformat, funcformat);
958
+ WRITE_INT_FIELD(location, location, location);
940
959
  }
941
960
 
942
961
  static void
943
- _outAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) out, const AlterTableCmd *node)
962
+ _outAStar(OUT_TYPE(A_Star, AStar) out, const A_Star *node)
944
963
  {
945
- WRITE_ENUM_FIELD(AlterTableType, subtype, subtype, subtype);
946
- WRITE_STRING_FIELD(name, name, name);
947
- WRITE_INT_FIELD(num, num, num);
948
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner);
949
- WRITE_NODE_PTR_FIELD(def, def, def);
950
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
951
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
952
- WRITE_BOOL_FIELD(recurse, recurse, recurse);
953
964
  }
954
965
 
955
966
  static void
956
- _outAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) out, const AlterDomainStmt *node)
967
+ _outAIndices(OUT_TYPE(A_Indices, AIndices) out, const A_Indices *node)
957
968
  {
958
- WRITE_CHAR_FIELD(subtype, subtype, subtype);
959
- WRITE_LIST_FIELD(type_name, typeName, typeName);
960
- WRITE_STRING_FIELD(name, name, name);
961
- WRITE_NODE_PTR_FIELD(def, def, def);
962
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
963
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
969
+ WRITE_BOOL_FIELD(is_slice, is_slice, is_slice);
970
+ WRITE_NODE_PTR_FIELD(lidx, lidx, lidx);
971
+ WRITE_NODE_PTR_FIELD(uidx, uidx, uidx);
964
972
  }
965
973
 
966
974
  static void
967
- _outSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) out, const SetOperationStmt *node)
975
+ _outAIndirection(OUT_TYPE(A_Indirection, AIndirection) out, const A_Indirection *node)
968
976
  {
969
- WRITE_ENUM_FIELD(SetOperation, op, op, op);
970
- WRITE_BOOL_FIELD(all, all, all);
971
- WRITE_NODE_PTR_FIELD(larg, larg, larg);
972
- WRITE_NODE_PTR_FIELD(rarg, rarg, rarg);
973
- WRITE_LIST_FIELD(col_types, colTypes, colTypes);
974
- WRITE_LIST_FIELD(col_typmods, colTypmods, colTypmods);
975
- WRITE_LIST_FIELD(col_collations, colCollations, colCollations);
976
- WRITE_LIST_FIELD(group_clauses, groupClauses, groupClauses);
977
+ WRITE_NODE_PTR_FIELD(arg, arg, arg);
978
+ WRITE_LIST_FIELD(indirection, indirection, indirection);
977
979
  }
978
980
 
979
981
  static void
980
- _outGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) out, const GrantStmt *node)
982
+ _outAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) out, const A_ArrayExpr *node)
981
983
  {
982
- WRITE_BOOL_FIELD(is_grant, is_grant, is_grant);
983
- WRITE_ENUM_FIELD(GrantTargetType, targtype, targtype, targtype);
984
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
985
- WRITE_LIST_FIELD(objects, objects, objects);
986
- WRITE_LIST_FIELD(privileges, privileges, privileges);
987
- WRITE_LIST_FIELD(grantees, grantees, grantees);
988
- WRITE_BOOL_FIELD(grant_option, grant_option, grant_option);
989
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor);
990
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
984
+ WRITE_LIST_FIELD(elements, elements, elements);
985
+ WRITE_INT_FIELD(location, location, location);
991
986
  }
992
987
 
993
988
  static void
994
- _outGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) out, const GrantRoleStmt *node)
989
+ _outResTarget(OUT_TYPE(ResTarget, ResTarget) out, const ResTarget *node)
995
990
  {
996
- WRITE_LIST_FIELD(granted_roles, granted_roles, granted_roles);
997
- WRITE_LIST_FIELD(grantee_roles, grantee_roles, grantee_roles);
998
- WRITE_BOOL_FIELD(is_grant, is_grant, is_grant);
999
- WRITE_BOOL_FIELD(admin_opt, admin_opt, admin_opt);
1000
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor);
1001
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
991
+ WRITE_STRING_FIELD(name, name, name);
992
+ WRITE_LIST_FIELD(indirection, indirection, indirection);
993
+ WRITE_NODE_PTR_FIELD(val, val, val);
994
+ WRITE_INT_FIELD(location, location, location);
1002
995
  }
1003
996
 
1004
997
  static void
1005
- _outAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) out, const AlterDefaultPrivilegesStmt *node)
998
+ _outMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) out, const MultiAssignRef *node)
1006
999
  {
1007
- WRITE_LIST_FIELD(options, options, options);
1008
- WRITE_SPECIFIC_NODE_PTR_FIELD(GrantStmt, grant_stmt, action, action, action);
1000
+ WRITE_NODE_PTR_FIELD(source, source, source);
1001
+ WRITE_INT_FIELD(colno, colno, colno);
1002
+ WRITE_INT_FIELD(ncolumns, ncolumns, ncolumns);
1009
1003
  }
1010
1004
 
1011
1005
  static void
1012
- _outClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) out, const ClosePortalStmt *node)
1006
+ _outSortBy(OUT_TYPE(SortBy, SortBy) out, const SortBy *node)
1013
1007
  {
1014
- WRITE_STRING_FIELD(portalname, portalname, portalname);
1015
- }
1016
-
1017
- static void
1018
- _outClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) out, const ClusterStmt *node)
1019
- {
1020
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1021
- WRITE_STRING_FIELD(indexname, indexname, indexname);
1022
- WRITE_LIST_FIELD(params, params, params);
1008
+ WRITE_NODE_PTR_FIELD(node, node, node);
1009
+ WRITE_ENUM_FIELD(SortByDir, sortby_dir, sortby_dir, sortby_dir);
1010
+ WRITE_ENUM_FIELD(SortByNulls, sortby_nulls, sortby_nulls, sortby_nulls);
1011
+ WRITE_LIST_FIELD(use_op, useOp, useOp);
1012
+ WRITE_INT_FIELD(location, location, location);
1023
1013
  }
1024
1014
 
1025
1015
  static void
1026
- _outCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) out, const CopyStmt *node)
1016
+ _outWindowDef(OUT_TYPE(WindowDef, WindowDef) out, const WindowDef *node)
1027
1017
  {
1028
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1029
- WRITE_NODE_PTR_FIELD(query, query, query);
1030
- WRITE_LIST_FIELD(attlist, attlist, attlist);
1031
- WRITE_BOOL_FIELD(is_from, is_from, is_from);
1032
- WRITE_BOOL_FIELD(is_program, is_program, is_program);
1033
- WRITE_STRING_FIELD(filename, filename, filename);
1034
- WRITE_LIST_FIELD(options, options, options);
1035
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1018
+ WRITE_STRING_FIELD(name, name, name);
1019
+ WRITE_STRING_FIELD(refname, refname, refname);
1020
+ WRITE_LIST_FIELD(partition_clause, partitionClause, partitionClause);
1021
+ WRITE_LIST_FIELD(order_clause, orderClause, orderClause);
1022
+ WRITE_INT_FIELD(frame_options, frameOptions, frameOptions);
1023
+ WRITE_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
1024
+ WRITE_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
1025
+ WRITE_INT_FIELD(location, location, location);
1036
1026
  }
1037
1027
 
1038
1028
  static void
1039
- _outCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) out, const CreateStmt *node)
1029
+ _outRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) out, const RangeSubselect *node)
1040
1030
  {
1041
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1042
- WRITE_LIST_FIELD(table_elts, tableElts, tableElts);
1043
- WRITE_LIST_FIELD(inh_relations, inhRelations, inhRelations);
1044
- WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, partbound, partbound, partbound);
1045
- WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionSpec, partition_spec, partspec, partspec, partspec);
1046
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, of_typename, ofTypename, ofTypename);
1047
- WRITE_LIST_FIELD(constraints, constraints, constraints);
1048
- WRITE_LIST_FIELD(options, options, options);
1049
- WRITE_ENUM_FIELD(OnCommitAction, oncommit, oncommit, oncommit);
1050
- WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1051
- WRITE_STRING_FIELD(access_method, accessMethod, accessMethod);
1052
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1031
+ WRITE_BOOL_FIELD(lateral, lateral, lateral);
1032
+ WRITE_NODE_PTR_FIELD(subquery, subquery, subquery);
1033
+ WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
1053
1034
  }
1054
1035
 
1055
1036
  static void
1056
- _outDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) out, const DefineStmt *node)
1037
+ _outRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) out, const RangeFunction *node)
1057
1038
  {
1058
- WRITE_ENUM_FIELD(ObjectType, kind, kind, kind);
1059
- WRITE_BOOL_FIELD(oldstyle, oldstyle, oldstyle);
1060
- WRITE_LIST_FIELD(defnames, defnames, defnames);
1061
- WRITE_LIST_FIELD(args, args, args);
1062
- WRITE_LIST_FIELD(definition, definition, definition);
1063
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1064
- WRITE_BOOL_FIELD(replace, replace, replace);
1039
+ WRITE_BOOL_FIELD(lateral, lateral, lateral);
1040
+ WRITE_BOOL_FIELD(ordinality, ordinality, ordinality);
1041
+ WRITE_BOOL_FIELD(is_rowsfrom, is_rowsfrom, is_rowsfrom);
1042
+ WRITE_LIST_FIELD(functions, functions, functions);
1043
+ WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
1044
+ WRITE_LIST_FIELD(coldeflist, coldeflist, coldeflist);
1065
1045
  }
1066
1046
 
1067
1047
  static void
1068
- _outDropStmt(OUT_TYPE(DropStmt, DropStmt) out, const DropStmt *node)
1048
+ _outRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) out, const RangeTableFunc *node)
1069
1049
  {
1070
- WRITE_LIST_FIELD(objects, objects, objects);
1071
- WRITE_ENUM_FIELD(ObjectType, remove_type, removeType, removeType);
1072
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1073
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1074
- WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
1050
+ WRITE_BOOL_FIELD(lateral, lateral, lateral);
1051
+ WRITE_NODE_PTR_FIELD(docexpr, docexpr, docexpr);
1052
+ WRITE_NODE_PTR_FIELD(rowexpr, rowexpr, rowexpr);
1053
+ WRITE_LIST_FIELD(namespaces, namespaces, namespaces);
1054
+ WRITE_LIST_FIELD(columns, columns, columns);
1055
+ WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
1056
+ WRITE_INT_FIELD(location, location, location);
1075
1057
  }
1076
1058
 
1077
1059
  static void
1078
- _outTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) out, const TruncateStmt *node)
1060
+ _outRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) out, const RangeTableFuncCol *node)
1079
1061
  {
1080
- WRITE_LIST_FIELD(relations, relations, relations);
1081
- WRITE_BOOL_FIELD(restart_seqs, restart_seqs, restart_seqs);
1082
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1062
+ WRITE_STRING_FIELD(colname, colname, colname);
1063
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1064
+ WRITE_BOOL_FIELD(for_ordinality, for_ordinality, for_ordinality);
1065
+ WRITE_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
1066
+ WRITE_NODE_PTR_FIELD(colexpr, colexpr, colexpr);
1067
+ WRITE_NODE_PTR_FIELD(coldefexpr, coldefexpr, coldefexpr);
1068
+ WRITE_INT_FIELD(location, location, location);
1083
1069
  }
1084
1070
 
1085
1071
  static void
1086
- _outCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) out, const CommentStmt *node)
1072
+ _outRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) out, const RangeTableSample *node)
1087
1073
  {
1088
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1089
- WRITE_NODE_PTR_FIELD(object, object, object);
1090
- WRITE_STRING_FIELD(comment, comment, comment);
1074
+ WRITE_NODE_PTR_FIELD(relation, relation, relation);
1075
+ WRITE_LIST_FIELD(method, method, method);
1076
+ WRITE_LIST_FIELD(args, args, args);
1077
+ WRITE_NODE_PTR_FIELD(repeatable, repeatable, repeatable);
1078
+ WRITE_INT_FIELD(location, location, location);
1091
1079
  }
1092
1080
 
1093
1081
  static void
1094
- _outFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) out, const FetchStmt *node)
1082
+ _outColumnDef(OUT_TYPE(ColumnDef, ColumnDef) out, const ColumnDef *node)
1095
1083
  {
1096
- WRITE_ENUM_FIELD(FetchDirection, direction, direction, direction);
1097
- WRITE_LONG_FIELD(how_many, howMany, howMany);
1098
- WRITE_STRING_FIELD(portalname, portalname, portalname);
1099
- WRITE_BOOL_FIELD(ismove, ismove, ismove);
1084
+ WRITE_STRING_FIELD(colname, colname, colname);
1085
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1086
+ WRITE_STRING_FIELD(compression, compression, compression);
1087
+ WRITE_INT_FIELD(inhcount, inhcount, inhcount);
1088
+ WRITE_BOOL_FIELD(is_local, is_local, is_local);
1089
+ WRITE_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
1090
+ WRITE_BOOL_FIELD(is_from_type, is_from_type, is_from_type);
1091
+ WRITE_CHAR_FIELD(storage, storage, storage);
1092
+ WRITE_STRING_FIELD(storage_name, storage_name, storage_name);
1093
+ WRITE_NODE_PTR_FIELD(raw_default, raw_default, raw_default);
1094
+ WRITE_NODE_PTR_FIELD(cooked_default, cooked_default, cooked_default);
1095
+ WRITE_CHAR_FIELD(identity, identity, identity);
1096
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, identity_sequence, identitySequence, identitySequence);
1097
+ WRITE_CHAR_FIELD(generated, generated, generated);
1098
+ WRITE_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
1099
+ WRITE_UINT_FIELD(coll_oid, collOid, collOid);
1100
+ WRITE_LIST_FIELD(constraints, constraints, constraints);
1101
+ WRITE_LIST_FIELD(fdwoptions, fdwoptions, fdwoptions);
1102
+ WRITE_INT_FIELD(location, location, location);
1100
1103
  }
1101
1104
 
1102
1105
  static void
1103
- _outIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) out, const IndexStmt *node)
1106
+ _outTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) out, const TableLikeClause *node)
1104
1107
  {
1105
- WRITE_STRING_FIELD(idxname, idxname, idxname);
1106
1108
  WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1107
- WRITE_STRING_FIELD(access_method, accessMethod, accessMethod);
1108
- WRITE_STRING_FIELD(table_space, tableSpace, tableSpace);
1109
- WRITE_LIST_FIELD(index_params, indexParams, indexParams);
1110
- WRITE_LIST_FIELD(index_including_params, indexIncludingParams, indexIncludingParams);
1111
- WRITE_LIST_FIELD(options, options, options);
1112
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1113
- WRITE_LIST_FIELD(exclude_op_names, excludeOpNames, excludeOpNames);
1114
- WRITE_STRING_FIELD(idxcomment, idxcomment, idxcomment);
1115
- WRITE_UINT_FIELD(index_oid, indexOid, indexOid);
1116
- WRITE_UINT_FIELD(old_node, oldNode, oldNode);
1117
- WRITE_UINT_FIELD(old_create_subid, oldCreateSubid, oldCreateSubid);
1118
- WRITE_UINT_FIELD(old_first_relfilenode_subid, oldFirstRelfilenodeSubid, oldFirstRelfilenodeSubid);
1119
- WRITE_BOOL_FIELD(unique, unique, unique);
1120
- WRITE_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct);
1121
- WRITE_BOOL_FIELD(primary, primary, primary);
1122
- WRITE_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
1123
- WRITE_BOOL_FIELD(deferrable, deferrable, deferrable);
1124
- WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
1125
- WRITE_BOOL_FIELD(transformed, transformed, transformed);
1126
- WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
1127
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1128
- WRITE_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
1129
- }
1130
-
1131
- static void
1132
- _outCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) out, const CreateFunctionStmt *node)
1133
- {
1134
- WRITE_BOOL_FIELD(is_procedure, is_procedure, is_procedure);
1135
- WRITE_BOOL_FIELD(replace, replace, replace);
1136
- WRITE_LIST_FIELD(funcname, funcname, funcname);
1137
- WRITE_LIST_FIELD(parameters, parameters, parameters);
1138
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, return_type, returnType, returnType);
1139
- WRITE_LIST_FIELD(options, options, options);
1140
- WRITE_NODE_PTR_FIELD(sql_body, sql_body, sql_body);
1109
+ WRITE_UINT_FIELD(options, options, options);
1110
+ WRITE_UINT_FIELD(relation_oid, relationOid, relationOid);
1141
1111
  }
1142
1112
 
1143
1113
  static void
1144
- _outAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) out, const AlterFunctionStmt *node)
1114
+ _outIndexElem(OUT_TYPE(IndexElem, IndexElem) out, const IndexElem *node)
1145
1115
  {
1146
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1147
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
1148
- WRITE_LIST_FIELD(actions, actions, actions);
1116
+ WRITE_STRING_FIELD(name, name, name);
1117
+ WRITE_NODE_PTR_FIELD(expr, expr, expr);
1118
+ WRITE_STRING_FIELD(indexcolname, indexcolname, indexcolname);
1119
+ WRITE_LIST_FIELD(collation, collation, collation);
1120
+ WRITE_LIST_FIELD(opclass, opclass, opclass);
1121
+ WRITE_LIST_FIELD(opclassopts, opclassopts, opclassopts);
1122
+ WRITE_ENUM_FIELD(SortByDir, ordering, ordering, ordering);
1123
+ WRITE_ENUM_FIELD(SortByNulls, nulls_ordering, nulls_ordering, nulls_ordering);
1149
1124
  }
1150
1125
 
1151
1126
  static void
1152
- _outDoStmt(OUT_TYPE(DoStmt, DoStmt) out, const DoStmt *node)
1127
+ _outDefElem(OUT_TYPE(DefElem, DefElem) out, const DefElem *node)
1153
1128
  {
1154
- WRITE_LIST_FIELD(args, args, args);
1129
+ WRITE_STRING_FIELD(defnamespace, defnamespace, defnamespace);
1130
+ WRITE_STRING_FIELD(defname, defname, defname);
1131
+ WRITE_NODE_PTR_FIELD(arg, arg, arg);
1132
+ WRITE_ENUM_FIELD(DefElemAction, defaction, defaction, defaction);
1133
+ WRITE_INT_FIELD(location, location, location);
1155
1134
  }
1156
1135
 
1157
1136
  static void
1158
- _outRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) out, const RenameStmt *node)
1137
+ _outLockingClause(OUT_TYPE(LockingClause, LockingClause) out, const LockingClause *node)
1159
1138
  {
1160
- WRITE_ENUM_FIELD(ObjectType, rename_type, renameType, renameType);
1161
- WRITE_ENUM_FIELD(ObjectType, relation_type, relationType, relationType);
1162
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1163
- WRITE_NODE_PTR_FIELD(object, object, object);
1164
- WRITE_STRING_FIELD(subname, subname, subname);
1165
- WRITE_STRING_FIELD(newname, newname, newname);
1166
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1167
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1139
+ WRITE_LIST_FIELD(locked_rels, lockedRels, lockedRels);
1140
+ WRITE_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
1141
+ WRITE_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
1168
1142
  }
1169
1143
 
1170
1144
  static void
1171
- _outRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) out, const RuleStmt *node)
1145
+ _outXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) out, const XmlSerialize *node)
1172
1146
  {
1173
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1174
- WRITE_STRING_FIELD(rulename, rulename, rulename);
1175
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1176
- WRITE_ENUM_FIELD(CmdType, event, event, event);
1177
- WRITE_BOOL_FIELD(instead, instead, instead);
1178
- WRITE_LIST_FIELD(actions, actions, actions);
1179
- WRITE_BOOL_FIELD(replace, replace, replace);
1147
+ WRITE_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption);
1148
+ WRITE_NODE_PTR_FIELD(expr, expr, expr);
1149
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1150
+ WRITE_BOOL_FIELD(indent, indent, indent);
1151
+ WRITE_INT_FIELD(location, location, location);
1180
1152
  }
1181
1153
 
1182
1154
  static void
1183
- _outNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) out, const NotifyStmt *node)
1155
+ _outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out, const PartitionElem *node)
1184
1156
  {
1185
- WRITE_STRING_FIELD(conditionname, conditionname, conditionname);
1186
- WRITE_STRING_FIELD(payload, payload, payload);
1157
+ WRITE_STRING_FIELD(name, name, name);
1158
+ WRITE_NODE_PTR_FIELD(expr, expr, expr);
1159
+ WRITE_LIST_FIELD(collation, collation, collation);
1160
+ WRITE_LIST_FIELD(opclass, opclass, opclass);
1161
+ WRITE_INT_FIELD(location, location, location);
1187
1162
  }
1188
1163
 
1189
1164
  static void
1190
- _outListenStmt(OUT_TYPE(ListenStmt, ListenStmt) out, const ListenStmt *node)
1165
+ _outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out, const PartitionSpec *node)
1191
1166
  {
1192
- WRITE_STRING_FIELD(conditionname, conditionname, conditionname);
1167
+ WRITE_ENUM_FIELD(PartitionStrategy, strategy, strategy, strategy);
1168
+ WRITE_LIST_FIELD(part_params, partParams, partParams);
1169
+ WRITE_INT_FIELD(location, location, location);
1193
1170
  }
1194
1171
 
1195
1172
  static void
1196
- _outUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) out, const UnlistenStmt *node)
1173
+ _outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out, const PartitionBoundSpec *node)
1197
1174
  {
1198
- WRITE_STRING_FIELD(conditionname, conditionname, conditionname);
1175
+ WRITE_CHAR_FIELD(strategy, strategy, strategy);
1176
+ WRITE_BOOL_FIELD(is_default, is_default, is_default);
1177
+ WRITE_INT_FIELD(modulus, modulus, modulus);
1178
+ WRITE_INT_FIELD(remainder, remainder, remainder);
1179
+ WRITE_LIST_FIELD(listdatums, listdatums, listdatums);
1180
+ WRITE_LIST_FIELD(lowerdatums, lowerdatums, lowerdatums);
1181
+ WRITE_LIST_FIELD(upperdatums, upperdatums, upperdatums);
1182
+ WRITE_INT_FIELD(location, location, location);
1199
1183
  }
1200
1184
 
1201
1185
  static void
1202
- _outTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) out, const TransactionStmt *node)
1186
+ _outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out, const PartitionRangeDatum *node)
1203
1187
  {
1204
- WRITE_ENUM_FIELD(TransactionStmtKind, kind, kind, kind);
1205
- WRITE_LIST_FIELD(options, options, options);
1206
- WRITE_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name);
1207
- WRITE_STRING_FIELD(gid, gid, gid);
1208
- WRITE_BOOL_FIELD(chain, chain, chain);
1188
+ WRITE_ENUM_FIELD(PartitionRangeDatumKind, kind, kind, kind);
1189
+ WRITE_NODE_PTR_FIELD(value, value, value);
1190
+ WRITE_INT_FIELD(location, location, location);
1209
1191
  }
1210
1192
 
1211
1193
  static void
1212
- _outViewStmt(OUT_TYPE(ViewStmt, ViewStmt) out, const ViewStmt *node)
1194
+ _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out, const PartitionCmd *node)
1213
1195
  {
1214
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, view, view, view);
1215
- WRITE_LIST_FIELD(aliases, aliases, aliases);
1216
- WRITE_NODE_PTR_FIELD(query, query, query);
1217
- WRITE_BOOL_FIELD(replace, replace, replace);
1218
- WRITE_LIST_FIELD(options, options, options);
1219
- WRITE_ENUM_FIELD(ViewCheckOption, with_check_option, withCheckOption, withCheckOption);
1196
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, name, name, name);
1197
+ WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, bound, bound, bound);
1198
+ WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
1220
1199
  }
1221
1200
 
1222
1201
  static void
1223
- _outLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) out, const LoadStmt *node)
1202
+ _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out, const RangeTblEntry *node)
1224
1203
  {
1225
- WRITE_STRING_FIELD(filename, filename, filename);
1226
- }
1227
-
1228
- static void
1229
- _outCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) out, const CreateDomainStmt *node)
1230
- {
1231
- WRITE_LIST_FIELD(domainname, domainname, domainname);
1232
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1233
- WRITE_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
1234
- WRITE_LIST_FIELD(constraints, constraints, constraints);
1204
+ WRITE_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind);
1205
+ WRITE_UINT_FIELD(relid, relid, relid);
1206
+ WRITE_CHAR_FIELD(relkind, relkind, relkind);
1207
+ WRITE_INT_FIELD(rellockmode, rellockmode, rellockmode);
1208
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample);
1209
+ WRITE_UINT_FIELD(perminfoindex, perminfoindex, perminfoindex);
1210
+ WRITE_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery);
1211
+ WRITE_BOOL_FIELD(security_barrier, security_barrier, security_barrier);
1212
+ WRITE_ENUM_FIELD(JoinType, jointype, jointype, jointype);
1213
+ WRITE_INT_FIELD(joinmergedcols, joinmergedcols, joinmergedcols);
1214
+ WRITE_LIST_FIELD(joinaliasvars, joinaliasvars, joinaliasvars);
1215
+ WRITE_LIST_FIELD(joinleftcols, joinleftcols, joinleftcols);
1216
+ WRITE_LIST_FIELD(joinrightcols, joinrightcols, joinrightcols);
1217
+ WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, join_using_alias, join_using_alias, join_using_alias);
1218
+ WRITE_LIST_FIELD(functions, functions, functions);
1219
+ WRITE_BOOL_FIELD(funcordinality, funcordinality, funcordinality);
1220
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TableFunc, table_func, tablefunc, tablefunc, tablefunc);
1221
+ WRITE_LIST_FIELD(values_lists, values_lists, values_lists);
1222
+ WRITE_STRING_FIELD(ctename, ctename, ctename);
1223
+ WRITE_UINT_FIELD(ctelevelsup, ctelevelsup, ctelevelsup);
1224
+ WRITE_BOOL_FIELD(self_reference, self_reference, self_reference);
1225
+ WRITE_LIST_FIELD(coltypes, coltypes, coltypes);
1226
+ WRITE_LIST_FIELD(coltypmods, coltypmods, coltypmods);
1227
+ WRITE_LIST_FIELD(colcollations, colcollations, colcollations);
1228
+ WRITE_STRING_FIELD(enrname, enrname, enrname);
1229
+ WRITE_FLOAT_FIELD(enrtuples, enrtuples, enrtuples);
1230
+ WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
1231
+ WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref);
1232
+ WRITE_BOOL_FIELD(lateral, lateral, lateral);
1233
+ WRITE_BOOL_FIELD(inh, inh, inh);
1234
+ WRITE_BOOL_FIELD(in_from_cl, inFromCl, inFromCl);
1235
+ WRITE_LIST_FIELD(security_quals, securityQuals, securityQuals);
1235
1236
  }
1236
1237
 
1237
1238
  static void
1238
- _outCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) out, const CreatedbStmt *node)
1239
+ _outRTEPermissionInfo(OUT_TYPE(RTEPermissionInfo, RTEPermissionInfo) out, const RTEPermissionInfo *node)
1239
1240
  {
1240
- WRITE_STRING_FIELD(dbname, dbname, dbname);
1241
- WRITE_LIST_FIELD(options, options, options);
1241
+ WRITE_UINT_FIELD(relid, relid, relid);
1242
+ WRITE_BOOL_FIELD(inh, inh, inh);
1243
+ WRITE_LONG_FIELD(required_perms, requiredPerms, requiredPerms);
1244
+ WRITE_UINT_FIELD(check_as_user, checkAsUser, checkAsUser);
1245
+ WRITE_BITMAPSET_FIELD(selected_cols, selectedCols, selectedCols);
1246
+ WRITE_BITMAPSET_FIELD(inserted_cols, insertedCols, insertedCols);
1247
+ WRITE_BITMAPSET_FIELD(updated_cols, updatedCols, updatedCols);
1242
1248
  }
1243
1249
 
1244
1250
  static void
1245
- _outDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) out, const DropdbStmt *node)
1251
+ _outRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) out, const RangeTblFunction *node)
1246
1252
  {
1247
- WRITE_STRING_FIELD(dbname, dbname, dbname);
1248
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1249
- WRITE_LIST_FIELD(options, options, options);
1253
+ WRITE_NODE_PTR_FIELD(funcexpr, funcexpr, funcexpr);
1254
+ WRITE_INT_FIELD(funccolcount, funccolcount, funccolcount);
1255
+ WRITE_LIST_FIELD(funccolnames, funccolnames, funccolnames);
1256
+ WRITE_LIST_FIELD(funccoltypes, funccoltypes, funccoltypes);
1257
+ WRITE_LIST_FIELD(funccoltypmods, funccoltypmods, funccoltypmods);
1258
+ WRITE_LIST_FIELD(funccolcollations, funccolcollations, funccolcollations);
1259
+ WRITE_BITMAPSET_FIELD(funcparams, funcparams, funcparams);
1250
1260
  }
1251
1261
 
1252
1262
  static void
1253
- _outVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) out, const VacuumStmt *node)
1263
+ _outTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) out, const TableSampleClause *node)
1254
1264
  {
1255
- WRITE_LIST_FIELD(options, options, options);
1256
- WRITE_LIST_FIELD(rels, rels, rels);
1257
- WRITE_BOOL_FIELD(is_vacuumcmd, is_vacuumcmd, is_vacuumcmd);
1265
+ WRITE_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler);
1266
+ WRITE_LIST_FIELD(args, args, args);
1267
+ WRITE_NODE_PTR_FIELD(repeatable, repeatable, repeatable);
1258
1268
  }
1259
1269
 
1260
1270
  static void
1261
- _outExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) out, const ExplainStmt *node)
1271
+ _outWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) out, const WithCheckOption *node)
1262
1272
  {
1263
- WRITE_NODE_PTR_FIELD(query, query, query);
1264
- WRITE_LIST_FIELD(options, options, options);
1273
+ WRITE_ENUM_FIELD(WCOKind, kind, kind, kind);
1274
+ WRITE_STRING_FIELD(relname, relname, relname);
1275
+ WRITE_STRING_FIELD(polname, polname, polname);
1276
+ WRITE_NODE_PTR_FIELD(qual, qual, qual);
1277
+ WRITE_BOOL_FIELD(cascaded, cascaded, cascaded);
1265
1278
  }
1266
1279
 
1267
1280
  static void
1268
- _outCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) out, const CreateTableAsStmt *node)
1281
+ _outSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) out, const SortGroupClause *node)
1269
1282
  {
1270
- WRITE_NODE_PTR_FIELD(query, query, query);
1271
- WRITE_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into, into, into);
1272
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1273
- WRITE_BOOL_FIELD(is_select_into, is_select_into, is_select_into);
1274
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1283
+ WRITE_UINT_FIELD(tle_sort_group_ref, tleSortGroupRef, tleSortGroupRef);
1284
+ WRITE_UINT_FIELD(eqop, eqop, eqop);
1285
+ WRITE_UINT_FIELD(sortop, sortop, sortop);
1286
+ WRITE_BOOL_FIELD(nulls_first, nulls_first, nulls_first);
1287
+ WRITE_BOOL_FIELD(hashable, hashable, hashable);
1275
1288
  }
1276
1289
 
1277
1290
  static void
1278
- _outCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) out, const CreateSeqStmt *node)
1291
+ _outGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) out, const GroupingSet *node)
1279
1292
  {
1280
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
1281
- WRITE_LIST_FIELD(options, options, options);
1282
- WRITE_UINT_FIELD(owner_id, ownerId, ownerId);
1283
- WRITE_BOOL_FIELD(for_identity, for_identity, for_identity);
1284
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1293
+ WRITE_ENUM_FIELD(GroupingSetKind, kind, kind, kind);
1294
+ WRITE_LIST_FIELD(content, content, content);
1295
+ WRITE_INT_FIELD(location, location, location);
1285
1296
  }
1286
1297
 
1287
1298
  static void
1288
- _outAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) out, const AlterSeqStmt *node)
1299
+ _outWindowClause(OUT_TYPE(WindowClause, WindowClause) out, const WindowClause *node)
1289
1300
  {
1290
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
1291
- WRITE_LIST_FIELD(options, options, options);
1292
- WRITE_BOOL_FIELD(for_identity, for_identity, for_identity);
1293
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1301
+ WRITE_STRING_FIELD(name, name, name);
1302
+ WRITE_STRING_FIELD(refname, refname, refname);
1303
+ WRITE_LIST_FIELD(partition_clause, partitionClause, partitionClause);
1304
+ WRITE_LIST_FIELD(order_clause, orderClause, orderClause);
1305
+ WRITE_INT_FIELD(frame_options, frameOptions, frameOptions);
1306
+ WRITE_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
1307
+ WRITE_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
1308
+ WRITE_LIST_FIELD(run_condition, runCondition, runCondition);
1309
+ WRITE_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc);
1310
+ WRITE_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc);
1311
+ WRITE_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl);
1312
+ WRITE_BOOL_FIELD(in_range_asc, inRangeAsc, inRangeAsc);
1313
+ WRITE_BOOL_FIELD(in_range_nulls_first, inRangeNullsFirst, inRangeNullsFirst);
1314
+ WRITE_UINT_FIELD(winref, winref, winref);
1315
+ WRITE_BOOL_FIELD(copied_order, copiedOrder, copiedOrder);
1294
1316
  }
1295
1317
 
1296
1318
  static void
1297
- _outVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) out, const VariableSetStmt *node)
1319
+ _outRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) out, const RowMarkClause *node)
1298
1320
  {
1299
- WRITE_ENUM_FIELD(VariableSetKind, kind, kind, kind);
1300
- WRITE_STRING_FIELD(name, name, name);
1301
- WRITE_LIST_FIELD(args, args, args);
1302
- WRITE_BOOL_FIELD(is_local, is_local, is_local);
1321
+ WRITE_UINT_FIELD(rti, rti, rti);
1322
+ WRITE_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
1323
+ WRITE_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
1324
+ WRITE_BOOL_FIELD(pushed_down, pushedDown, pushedDown);
1303
1325
  }
1304
1326
 
1305
1327
  static void
1306
- _outVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) out, const VariableShowStmt *node)
1328
+ _outWithClause(OUT_TYPE(WithClause, WithClause) out, const WithClause *node)
1307
1329
  {
1308
- WRITE_STRING_FIELD(name, name, name);
1330
+ WRITE_LIST_FIELD(ctes, ctes, ctes);
1331
+ WRITE_BOOL_FIELD(recursive, recursive, recursive);
1332
+ WRITE_INT_FIELD(location, location, location);
1309
1333
  }
1310
1334
 
1311
1335
  static void
1312
- _outDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) out, const DiscardStmt *node)
1336
+ _outInferClause(OUT_TYPE(InferClause, InferClause) out, const InferClause *node)
1313
1337
  {
1314
- WRITE_ENUM_FIELD(DiscardMode, target, target, target);
1338
+ WRITE_LIST_FIELD(index_elems, indexElems, indexElems);
1339
+ WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1340
+ WRITE_STRING_FIELD(conname, conname, conname);
1341
+ WRITE_INT_FIELD(location, location, location);
1315
1342
  }
1316
1343
 
1317
1344
  static void
1318
- _outCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) out, const CreateTrigStmt *node)
1345
+ _outOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) out, const OnConflictClause *node)
1319
1346
  {
1320
- WRITE_BOOL_FIELD(replace, replace, replace);
1321
- WRITE_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
1322
- WRITE_STRING_FIELD(trigname, trigname, trigname);
1323
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1324
- WRITE_LIST_FIELD(funcname, funcname, funcname);
1325
- WRITE_LIST_FIELD(args, args, args);
1326
- WRITE_BOOL_FIELD(row, row, row);
1327
- WRITE_INT_FIELD(timing, timing, timing);
1328
- WRITE_INT_FIELD(events, events, events);
1329
- WRITE_LIST_FIELD(columns, columns, columns);
1330
- WRITE_NODE_PTR_FIELD(when_clause, whenClause, whenClause);
1331
- WRITE_LIST_FIELD(transition_rels, transitionRels, transitionRels);
1332
- WRITE_BOOL_FIELD(deferrable, deferrable, deferrable);
1333
- WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
1334
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, constrrel, constrrel, constrrel);
1347
+ WRITE_ENUM_FIELD(OnConflictAction, action, action, action);
1348
+ WRITE_SPECIFIC_NODE_PTR_FIELD(InferClause, infer_clause, infer, infer, infer);
1349
+ WRITE_LIST_FIELD(target_list, targetList, targetList);
1350
+ WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1351
+ WRITE_INT_FIELD(location, location, location);
1335
1352
  }
1336
1353
 
1337
1354
  static void
1338
- _outCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) out, const CreatePLangStmt *node)
1355
+ _outCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) out, const CTESearchClause *node)
1339
1356
  {
1340
- WRITE_BOOL_FIELD(replace, replace, replace);
1341
- WRITE_STRING_FIELD(plname, plname, plname);
1342
- WRITE_LIST_FIELD(plhandler, plhandler, plhandler);
1343
- WRITE_LIST_FIELD(plinline, plinline, plinline);
1344
- WRITE_LIST_FIELD(plvalidator, plvalidator, plvalidator);
1345
- WRITE_BOOL_FIELD(pltrusted, pltrusted, pltrusted);
1357
+ WRITE_LIST_FIELD(search_col_list, search_col_list, search_col_list);
1358
+ WRITE_BOOL_FIELD(search_breadth_first, search_breadth_first, search_breadth_first);
1359
+ WRITE_STRING_FIELD(search_seq_column, search_seq_column, search_seq_column);
1360
+ WRITE_INT_FIELD(location, location, location);
1346
1361
  }
1347
1362
 
1348
1363
  static void
1349
- _outCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) out, const CreateRoleStmt *node)
1364
+ _outCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) out, const CTECycleClause *node)
1350
1365
  {
1351
- WRITE_ENUM_FIELD(RoleStmtType, stmt_type, stmt_type, stmt_type);
1352
- WRITE_STRING_FIELD(role, role, role);
1353
- WRITE_LIST_FIELD(options, options, options);
1366
+ WRITE_LIST_FIELD(cycle_col_list, cycle_col_list, cycle_col_list);
1367
+ WRITE_STRING_FIELD(cycle_mark_column, cycle_mark_column, cycle_mark_column);
1368
+ WRITE_NODE_PTR_FIELD(cycle_mark_value, cycle_mark_value, cycle_mark_value);
1369
+ WRITE_NODE_PTR_FIELD(cycle_mark_default, cycle_mark_default, cycle_mark_default);
1370
+ WRITE_STRING_FIELD(cycle_path_column, cycle_path_column, cycle_path_column);
1371
+ WRITE_INT_FIELD(location, location, location);
1372
+ WRITE_UINT_FIELD(cycle_mark_type, cycle_mark_type, cycle_mark_type);
1373
+ WRITE_INT_FIELD(cycle_mark_typmod, cycle_mark_typmod, cycle_mark_typmod);
1374
+ WRITE_UINT_FIELD(cycle_mark_collation, cycle_mark_collation, cycle_mark_collation);
1375
+ WRITE_UINT_FIELD(cycle_mark_neop, cycle_mark_neop, cycle_mark_neop);
1354
1376
  }
1355
1377
 
1356
1378
  static void
1357
- _outAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) out, const AlterRoleStmt *node)
1379
+ _outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out, const CommonTableExpr *node)
1358
1380
  {
1359
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
1360
- WRITE_LIST_FIELD(options, options, options);
1361
- WRITE_INT_FIELD(action, action, action);
1381
+ WRITE_STRING_FIELD(ctename, ctename, ctename);
1382
+ WRITE_LIST_FIELD(aliascolnames, aliascolnames, aliascolnames);
1383
+ WRITE_ENUM_FIELD(CTEMaterialize, ctematerialized, ctematerialized, ctematerialized);
1384
+ WRITE_NODE_PTR_FIELD(ctequery, ctequery, ctequery);
1385
+ WRITE_SPECIFIC_NODE_PTR_FIELD(CTESearchClause, ctesearch_clause, search_clause, search_clause, search_clause);
1386
+ WRITE_SPECIFIC_NODE_PTR_FIELD(CTECycleClause, ctecycle_clause, cycle_clause, cycle_clause, cycle_clause);
1387
+ WRITE_INT_FIELD(location, location, location);
1388
+ WRITE_BOOL_FIELD(cterecursive, cterecursive, cterecursive);
1389
+ WRITE_INT_FIELD(cterefcount, cterefcount, cterefcount);
1390
+ WRITE_LIST_FIELD(ctecolnames, ctecolnames, ctecolnames);
1391
+ WRITE_LIST_FIELD(ctecoltypes, ctecoltypes, ctecoltypes);
1392
+ WRITE_LIST_FIELD(ctecoltypmods, ctecoltypmods, ctecoltypmods);
1393
+ WRITE_LIST_FIELD(ctecolcollations, ctecolcollations, ctecolcollations);
1362
1394
  }
1363
1395
 
1364
1396
  static void
1365
- _outDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) out, const DropRoleStmt *node)
1397
+ _outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out, const MergeWhenClause *node)
1366
1398
  {
1367
- WRITE_LIST_FIELD(roles, roles, roles);
1368
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1399
+ WRITE_BOOL_FIELD(matched, matched, matched);
1400
+ WRITE_ENUM_FIELD(CmdType, command_type, commandType, commandType);
1401
+ WRITE_ENUM_FIELD(OverridingKind, override, override, override);
1402
+ WRITE_NODE_PTR_FIELD(condition, condition, condition);
1403
+ WRITE_LIST_FIELD(target_list, targetList, targetList);
1404
+ WRITE_LIST_FIELD(values, values, values);
1369
1405
  }
1370
1406
 
1371
1407
  static void
1372
- _outLockStmt(OUT_TYPE(LockStmt, LockStmt) out, const LockStmt *node)
1408
+ _outMergeAction(OUT_TYPE(MergeAction, MergeAction) out, const MergeAction *node)
1373
1409
  {
1374
- WRITE_LIST_FIELD(relations, relations, relations);
1375
- WRITE_INT_FIELD(mode, mode, mode);
1376
- WRITE_BOOL_FIELD(nowait, nowait, nowait);
1410
+ WRITE_BOOL_FIELD(matched, matched, matched);
1411
+ WRITE_ENUM_FIELD(CmdType, command_type, commandType, commandType);
1412
+ WRITE_ENUM_FIELD(OverridingKind, override, override, override);
1413
+ WRITE_NODE_PTR_FIELD(qual, qual, qual);
1414
+ WRITE_LIST_FIELD(target_list, targetList, targetList);
1415
+ WRITE_LIST_FIELD(update_colnos, updateColnos, updateColnos);
1377
1416
  }
1378
1417
 
1379
1418
  static void
1380
- _outConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) out, const ConstraintsSetStmt *node)
1419
+ _outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out, const TriggerTransition *node)
1381
1420
  {
1382
- WRITE_LIST_FIELD(constraints, constraints, constraints);
1383
- WRITE_BOOL_FIELD(deferred, deferred, deferred);
1421
+ WRITE_STRING_FIELD(name, name, name);
1422
+ WRITE_BOOL_FIELD(is_new, isNew, isNew);
1423
+ WRITE_BOOL_FIELD(is_table, isTable, isTable);
1384
1424
  }
1385
1425
 
1386
1426
  static void
1387
- _outReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) out, const ReindexStmt *node)
1427
+ _outJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) out, const JsonOutput *node)
1388
1428
  {
1389
- WRITE_ENUM_FIELD(ReindexObjectType, kind, kind, kind);
1390
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1391
- WRITE_STRING_FIELD(name, name, name);
1392
- WRITE_LIST_FIELD(params, params, params);
1429
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1430
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning);
1393
1431
  }
1394
1432
 
1395
1433
  static void
1396
- _outCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) out, const CheckPointStmt *node)
1434
+ _outJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) out, const JsonKeyValue *node)
1397
1435
  {
1436
+ WRITE_NODE_PTR_FIELD(key, key, key);
1437
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, value, value, value);
1398
1438
  }
1399
1439
 
1400
1440
  static void
1401
- _outCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) out, const CreateSchemaStmt *node)
1441
+ _outJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) out, const JsonObjectConstructor *node)
1402
1442
  {
1403
- WRITE_STRING_FIELD(schemaname, schemaname, schemaname);
1404
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, authrole, authrole, authrole);
1405
- WRITE_LIST_FIELD(schema_elts, schemaElts, schemaElts);
1406
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1443
+ WRITE_LIST_FIELD(exprs, exprs, exprs);
1444
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1445
+ WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
1446
+ WRITE_BOOL_FIELD(unique, unique, unique);
1447
+ WRITE_INT_FIELD(location, location, location);
1407
1448
  }
1408
1449
 
1409
1450
  static void
1410
- _outAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) out, const AlterDatabaseStmt *node)
1451
+ _outJsonArrayConstructor(OUT_TYPE(JsonArrayConstructor, JsonArrayConstructor) out, const JsonArrayConstructor *node)
1411
1452
  {
1412
- WRITE_STRING_FIELD(dbname, dbname, dbname);
1413
- WRITE_LIST_FIELD(options, options, options);
1453
+ WRITE_LIST_FIELD(exprs, exprs, exprs);
1454
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1455
+ WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
1456
+ WRITE_INT_FIELD(location, location, location);
1414
1457
  }
1415
1458
 
1416
1459
  static void
1417
- _outAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) out, const AlterDatabaseRefreshCollStmt *node)
1460
+ _outJsonArrayQueryConstructor(OUT_TYPE(JsonArrayQueryConstructor, JsonArrayQueryConstructor) out, const JsonArrayQueryConstructor *node)
1418
1461
  {
1419
- WRITE_STRING_FIELD(dbname, dbname, dbname);
1462
+ WRITE_NODE_PTR_FIELD(query, query, query);
1463
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1464
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format);
1465
+ WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
1466
+ WRITE_INT_FIELD(location, location, location);
1420
1467
  }
1421
1468
 
1422
1469
  static void
1423
- _outAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) out, const AlterDatabaseSetStmt *node)
1470
+ _outJsonAggConstructor(OUT_TYPE(JsonAggConstructor, JsonAggConstructor) out, const JsonAggConstructor *node)
1424
1471
  {
1425
- WRITE_STRING_FIELD(dbname, dbname, dbname);
1426
- WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
1472
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output);
1473
+ WRITE_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter);
1474
+ WRITE_LIST_FIELD(agg_order, agg_order, agg_order);
1475
+ WRITE_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over);
1476
+ WRITE_INT_FIELD(location, location, location);
1427
1477
  }
1428
1478
 
1429
1479
  static void
1430
- _outAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) out, const AlterRoleSetStmt *node)
1480
+ _outJsonObjectAgg(OUT_TYPE(JsonObjectAgg, JsonObjectAgg) out, const JsonObjectAgg *node)
1431
1481
  {
1432
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
1433
- WRITE_STRING_FIELD(database, database, database);
1434
- WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
1482
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonAggConstructor, json_agg_constructor, constructor, constructor, constructor);
1483
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonKeyValue, json_key_value, arg, arg, arg);
1484
+ WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
1485
+ WRITE_BOOL_FIELD(unique, unique, unique);
1435
1486
  }
1436
1487
 
1437
1488
  static void
1438
- _outCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) out, const CreateConversionStmt *node)
1489
+ _outJsonArrayAgg(OUT_TYPE(JsonArrayAgg, JsonArrayAgg) out, const JsonArrayAgg *node)
1439
1490
  {
1440
- WRITE_LIST_FIELD(conversion_name, conversion_name, conversion_name);
1441
- WRITE_STRING_FIELD(for_encoding_name, for_encoding_name, for_encoding_name);
1442
- WRITE_STRING_FIELD(to_encoding_name, to_encoding_name, to_encoding_name);
1443
- WRITE_LIST_FIELD(func_name, func_name, func_name);
1444
- WRITE_BOOL_FIELD(def, def, def);
1491
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonAggConstructor, json_agg_constructor, constructor, constructor, constructor);
1492
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, arg, arg, arg);
1493
+ WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null);
1445
1494
  }
1446
1495
 
1447
1496
  static void
1448
- _outCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) out, const CreateCastStmt *node)
1497
+ _outRawStmt(OUT_TYPE(RawStmt, RawStmt) out, const RawStmt *node)
1449
1498
  {
1450
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, sourcetype, sourcetype, sourcetype);
1451
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, targettype, targettype, targettype);
1452
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
1453
- WRITE_ENUM_FIELD(CoercionContext, context, context, context);
1454
- WRITE_BOOL_FIELD(inout, inout, inout);
1499
+ WRITE_NODE_PTR_FIELD(stmt, stmt, stmt);
1500
+ WRITE_INT_FIELD(stmt_location, stmt_location, stmt_location);
1501
+ WRITE_INT_FIELD(stmt_len, stmt_len, stmt_len);
1455
1502
  }
1456
1503
 
1457
1504
  static void
1458
- _outCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) out, const CreateOpClassStmt *node)
1505
+ _outInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) out, const InsertStmt *node)
1459
1506
  {
1460
- WRITE_LIST_FIELD(opclassname, opclassname, opclassname);
1461
- WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1462
- WRITE_STRING_FIELD(amname, amname, amname);
1463
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, datatype, datatype, datatype);
1464
- WRITE_LIST_FIELD(items, items, items);
1465
- WRITE_BOOL_FIELD(is_default, isDefault, isDefault);
1507
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1508
+ WRITE_LIST_FIELD(cols, cols, cols);
1509
+ WRITE_NODE_PTR_FIELD(select_stmt, selectStmt, selectStmt);
1510
+ WRITE_SPECIFIC_NODE_PTR_FIELD(OnConflictClause, on_conflict_clause, on_conflict_clause, onConflictClause, onConflictClause);
1511
+ WRITE_LIST_FIELD(returning_list, returningList, returningList);
1512
+ WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1513
+ WRITE_ENUM_FIELD(OverridingKind, override, override, override);
1466
1514
  }
1467
1515
 
1468
1516
  static void
1469
- _outCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) out, const CreateOpFamilyStmt *node)
1517
+ _outDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) out, const DeleteStmt *node)
1470
1518
  {
1471
- WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1472
- WRITE_STRING_FIELD(amname, amname, amname);
1519
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1520
+ WRITE_LIST_FIELD(using_clause, usingClause, usingClause);
1521
+ WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1522
+ WRITE_LIST_FIELD(returning_list, returningList, returningList);
1523
+ WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1473
1524
  }
1474
1525
 
1475
1526
  static void
1476
- _outAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) out, const AlterOpFamilyStmt *node)
1527
+ _outUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) out, const UpdateStmt *node)
1477
1528
  {
1478
- WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1479
- WRITE_STRING_FIELD(amname, amname, amname);
1480
- WRITE_BOOL_FIELD(is_drop, isDrop, isDrop);
1481
- WRITE_LIST_FIELD(items, items, items);
1529
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1530
+ WRITE_LIST_FIELD(target_list, targetList, targetList);
1531
+ WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1532
+ WRITE_LIST_FIELD(from_clause, fromClause, fromClause);
1533
+ WRITE_LIST_FIELD(returning_list, returningList, returningList);
1534
+ WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1482
1535
  }
1483
1536
 
1484
1537
  static void
1485
- _outPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) out, const PrepareStmt *node)
1538
+ _outMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) out, const MergeStmt *node)
1486
1539
  {
1487
- WRITE_STRING_FIELD(name, name, name);
1488
- WRITE_LIST_FIELD(argtypes, argtypes, argtypes);
1489
- WRITE_NODE_PTR_FIELD(query, query, query);
1540
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1541
+ WRITE_NODE_PTR_FIELD(source_relation, sourceRelation, sourceRelation);
1542
+ WRITE_NODE_PTR_FIELD(join_condition, joinCondition, joinCondition);
1543
+ WRITE_LIST_FIELD(merge_when_clauses, mergeWhenClauses, mergeWhenClauses);
1544
+ WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1490
1545
  }
1491
1546
 
1492
1547
  static void
1493
- _outExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) out, const ExecuteStmt *node)
1548
+ _outSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) out, const SelectStmt *node)
1494
1549
  {
1495
- WRITE_STRING_FIELD(name, name, name);
1496
- WRITE_LIST_FIELD(params, params, params);
1550
+ WRITE_LIST_FIELD(distinct_clause, distinctClause, distinctClause);
1551
+ WRITE_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into_clause, intoClause, intoClause);
1552
+ WRITE_LIST_FIELD(target_list, targetList, targetList);
1553
+ WRITE_LIST_FIELD(from_clause, fromClause, fromClause);
1554
+ WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1555
+ WRITE_LIST_FIELD(group_clause, groupClause, groupClause);
1556
+ WRITE_BOOL_FIELD(group_distinct, groupDistinct, groupDistinct);
1557
+ WRITE_NODE_PTR_FIELD(having_clause, havingClause, havingClause);
1558
+ WRITE_LIST_FIELD(window_clause, windowClause, windowClause);
1559
+ WRITE_LIST_FIELD(values_lists, valuesLists, valuesLists);
1560
+ WRITE_LIST_FIELD(sort_clause, sortClause, sortClause);
1561
+ WRITE_NODE_PTR_FIELD(limit_offset, limitOffset, limitOffset);
1562
+ WRITE_NODE_PTR_FIELD(limit_count, limitCount, limitCount);
1563
+ WRITE_ENUM_FIELD(LimitOption, limit_option, limitOption, limitOption);
1564
+ WRITE_LIST_FIELD(locking_clause, lockingClause, lockingClause);
1565
+ WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
1566
+ WRITE_ENUM_FIELD(SetOperation, op, op, op);
1567
+ WRITE_BOOL_FIELD(all, all, all);
1568
+ WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, larg, larg, larg);
1569
+ WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, rarg, rarg, rarg);
1497
1570
  }
1498
1571
 
1499
1572
  static void
1500
- _outDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) out, const DeallocateStmt *node)
1573
+ _outSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) out, const SetOperationStmt *node)
1501
1574
  {
1502
- WRITE_STRING_FIELD(name, name, name);
1575
+ WRITE_ENUM_FIELD(SetOperation, op, op, op);
1576
+ WRITE_BOOL_FIELD(all, all, all);
1577
+ WRITE_NODE_PTR_FIELD(larg, larg, larg);
1578
+ WRITE_NODE_PTR_FIELD(rarg, rarg, rarg);
1579
+ WRITE_LIST_FIELD(col_types, colTypes, colTypes);
1580
+ WRITE_LIST_FIELD(col_typmods, colTypmods, colTypmods);
1581
+ WRITE_LIST_FIELD(col_collations, colCollations, colCollations);
1582
+ WRITE_LIST_FIELD(group_clauses, groupClauses, groupClauses);
1503
1583
  }
1504
1584
 
1505
1585
  static void
1506
- _outDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) out, const DeclareCursorStmt *node)
1586
+ _outReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) out, const ReturnStmt *node)
1507
1587
  {
1508
- WRITE_STRING_FIELD(portalname, portalname, portalname);
1509
- WRITE_INT_FIELD(options, options, options);
1510
- WRITE_NODE_PTR_FIELD(query, query, query);
1588
+ WRITE_NODE_PTR_FIELD(returnval, returnval, returnval);
1511
1589
  }
1512
1590
 
1513
1591
  static void
1514
- _outCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) out, const CreateTableSpaceStmt *node)
1592
+ _outPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) out, const PLAssignStmt *node)
1515
1593
  {
1516
- WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1517
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, owner, owner, owner);
1518
- WRITE_STRING_FIELD(location, location, location);
1519
- WRITE_LIST_FIELD(options, options, options);
1594
+ WRITE_STRING_FIELD(name, name, name);
1595
+ WRITE_LIST_FIELD(indirection, indirection, indirection);
1596
+ WRITE_INT_FIELD(nnames, nnames, nnames);
1597
+ WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, val, val, val);
1598
+ WRITE_INT_FIELD(location, location, location);
1520
1599
  }
1521
1600
 
1522
1601
  static void
1523
- _outDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) out, const DropTableSpaceStmt *node)
1602
+ _outCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) out, const CreateSchemaStmt *node)
1524
1603
  {
1525
- WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1526
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1604
+ WRITE_STRING_FIELD(schemaname, schemaname, schemaname);
1605
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, authrole, authrole, authrole);
1606
+ WRITE_LIST_FIELD(schema_elts, schemaElts, schemaElts);
1607
+ WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1527
1608
  }
1528
1609
 
1529
1610
  static void
1530
- _outAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) out, const AlterObjectDependsStmt *node)
1611
+ _outAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) out, const AlterTableStmt *node)
1531
1612
  {
1532
- WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1533
1613
  WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1534
- WRITE_NODE_PTR_FIELD(object, object, object);
1535
- WRITE_SPECIFIC_NODE_PTR_FIELD(String, string, extname, extname, extname);
1536
- WRITE_BOOL_FIELD(remove, remove, remove);
1614
+ WRITE_LIST_FIELD(cmds, cmds, cmds);
1615
+ WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1616
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1537
1617
  }
1538
1618
 
1539
1619
  static void
1540
- _outAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) out, const AlterObjectSchemaStmt *node)
1620
+ _outReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) out, const ReplicaIdentityStmt *node)
1541
1621
  {
1542
- WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1543
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1544
- WRITE_NODE_PTR_FIELD(object, object, object);
1545
- WRITE_STRING_FIELD(newschema, newschema, newschema);
1546
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1622
+ WRITE_CHAR_FIELD(identity_type, identity_type, identity_type);
1623
+ WRITE_STRING_FIELD(name, name, name);
1547
1624
  }
1548
1625
 
1549
1626
  static void
1550
- _outAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) out, const AlterOwnerStmt *node)
1627
+ _outAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) out, const AlterTableCmd *node)
1551
1628
  {
1552
- WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1553
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1554
- WRITE_NODE_PTR_FIELD(object, object, object);
1629
+ WRITE_ENUM_FIELD(AlterTableType, subtype, subtype, subtype);
1630
+ WRITE_STRING_FIELD(name, name, name);
1631
+ WRITE_INT_FIELD(num, num, num);
1555
1632
  WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner);
1633
+ WRITE_NODE_PTR_FIELD(def, def, def);
1634
+ WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1635
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1636
+ WRITE_BOOL_FIELD(recurse, recurse, recurse);
1556
1637
  }
1557
1638
 
1558
1639
  static void
1559
- _outAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) out, const AlterOperatorStmt *node)
1640
+ _outAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) out, const AlterCollationStmt *node)
1560
1641
  {
1561
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, opername, opername, opername);
1562
- WRITE_LIST_FIELD(options, options, options);
1642
+ WRITE_LIST_FIELD(collname, collname, collname);
1563
1643
  }
1564
1644
 
1565
1645
  static void
1566
- _outAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) out, const AlterTypeStmt *node)
1646
+ _outAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) out, const AlterDomainStmt *node)
1567
1647
  {
1648
+ WRITE_CHAR_FIELD(subtype, subtype, subtype);
1568
1649
  WRITE_LIST_FIELD(type_name, typeName, typeName);
1569
- WRITE_LIST_FIELD(options, options, options);
1650
+ WRITE_STRING_FIELD(name, name, name);
1651
+ WRITE_NODE_PTR_FIELD(def, def, def);
1652
+ WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1653
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1570
1654
  }
1571
1655
 
1572
1656
  static void
1573
- _outDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) out, const DropOwnedStmt *node)
1657
+ _outGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) out, const GrantStmt *node)
1574
1658
  {
1575
- WRITE_LIST_FIELD(roles, roles, roles);
1659
+ WRITE_BOOL_FIELD(is_grant, is_grant, is_grant);
1660
+ WRITE_ENUM_FIELD(GrantTargetType, targtype, targtype, targtype);
1661
+ WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1662
+ WRITE_LIST_FIELD(objects, objects, objects);
1663
+ WRITE_LIST_FIELD(privileges, privileges, privileges);
1664
+ WRITE_LIST_FIELD(grantees, grantees, grantees);
1665
+ WRITE_BOOL_FIELD(grant_option, grant_option, grant_option);
1666
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor);
1576
1667
  WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1577
1668
  }
1578
1669
 
1579
1670
  static void
1580
- _outReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) out, const ReassignOwnedStmt *node)
1671
+ _outObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) out, const ObjectWithArgs *node)
1581
1672
  {
1582
- WRITE_LIST_FIELD(roles, roles, roles);
1583
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newrole, newrole, newrole);
1673
+ WRITE_LIST_FIELD(objname, objname, objname);
1674
+ WRITE_LIST_FIELD(objargs, objargs, objargs);
1675
+ WRITE_LIST_FIELD(objfuncargs, objfuncargs, objfuncargs);
1676
+ WRITE_BOOL_FIELD(args_unspecified, args_unspecified, args_unspecified);
1584
1677
  }
1585
1678
 
1586
1679
  static void
1587
- _outCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) out, const CompositeTypeStmt *node)
1680
+ _outAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) out, const AccessPriv *node)
1588
1681
  {
1589
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, typevar, typevar, typevar);
1590
- WRITE_LIST_FIELD(coldeflist, coldeflist, coldeflist);
1682
+ WRITE_STRING_FIELD(priv_name, priv_name, priv_name);
1683
+ WRITE_LIST_FIELD(cols, cols, cols);
1591
1684
  }
1592
1685
 
1593
1686
  static void
1594
- _outCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) out, const CreateEnumStmt *node)
1687
+ _outGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) out, const GrantRoleStmt *node)
1595
1688
  {
1596
- WRITE_LIST_FIELD(type_name, typeName, typeName);
1597
- WRITE_LIST_FIELD(vals, vals, vals);
1689
+ WRITE_LIST_FIELD(granted_roles, granted_roles, granted_roles);
1690
+ WRITE_LIST_FIELD(grantee_roles, grantee_roles, grantee_roles);
1691
+ WRITE_BOOL_FIELD(is_grant, is_grant, is_grant);
1692
+ WRITE_LIST_FIELD(opt, opt, opt);
1693
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor);
1694
+ WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1598
1695
  }
1599
1696
 
1600
1697
  static void
1601
- _outCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) out, const CreateRangeStmt *node)
1698
+ _outAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) out, const AlterDefaultPrivilegesStmt *node)
1602
1699
  {
1603
- WRITE_LIST_FIELD(type_name, typeName, typeName);
1604
- WRITE_LIST_FIELD(params, params, params);
1700
+ WRITE_LIST_FIELD(options, options, options);
1701
+ WRITE_SPECIFIC_NODE_PTR_FIELD(GrantStmt, grant_stmt, action, action, action);
1605
1702
  }
1606
1703
 
1607
1704
  static void
1608
- _outAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) out, const AlterEnumStmt *node)
1705
+ _outCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) out, const CopyStmt *node)
1609
1706
  {
1610
- WRITE_LIST_FIELD(type_name, typeName, typeName);
1611
- WRITE_STRING_FIELD(old_val, oldVal, oldVal);
1612
- WRITE_STRING_FIELD(new_val, newVal, newVal);
1613
- WRITE_STRING_FIELD(new_val_neighbor, newValNeighbor, newValNeighbor);
1614
- WRITE_BOOL_FIELD(new_val_is_after, newValIsAfter, newValIsAfter);
1615
- WRITE_BOOL_FIELD(skip_if_new_val_exists, skipIfNewValExists, skipIfNewValExists);
1707
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1708
+ WRITE_NODE_PTR_FIELD(query, query, query);
1709
+ WRITE_LIST_FIELD(attlist, attlist, attlist);
1710
+ WRITE_BOOL_FIELD(is_from, is_from, is_from);
1711
+ WRITE_BOOL_FIELD(is_program, is_program, is_program);
1712
+ WRITE_STRING_FIELD(filename, filename, filename);
1713
+ WRITE_LIST_FIELD(options, options, options);
1714
+ WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1616
1715
  }
1617
1716
 
1618
1717
  static void
1619
- _outAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) out, const AlterTSDictionaryStmt *node)
1718
+ _outVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) out, const VariableSetStmt *node)
1620
1719
  {
1621
- WRITE_LIST_FIELD(dictname, dictname, dictname);
1622
- WRITE_LIST_FIELD(options, options, options);
1720
+ WRITE_ENUM_FIELD(VariableSetKind, kind, kind, kind);
1721
+ WRITE_STRING_FIELD(name, name, name);
1722
+ WRITE_LIST_FIELD(args, args, args);
1723
+ WRITE_BOOL_FIELD(is_local, is_local, is_local);
1623
1724
  }
1624
1725
 
1625
1726
  static void
1626
- _outAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) out, const AlterTSConfigurationStmt *node)
1727
+ _outVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) out, const VariableShowStmt *node)
1627
1728
  {
1628
- WRITE_ENUM_FIELD(AlterTSConfigType, kind, kind, kind);
1629
- WRITE_LIST_FIELD(cfgname, cfgname, cfgname);
1630
- WRITE_LIST_FIELD(tokentype, tokentype, tokentype);
1631
- WRITE_LIST_FIELD(dicts, dicts, dicts);
1632
- WRITE_BOOL_FIELD(override, override, override);
1633
- WRITE_BOOL_FIELD(replace, replace, replace);
1634
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1729
+ WRITE_STRING_FIELD(name, name, name);
1635
1730
  }
1636
1731
 
1637
1732
  static void
1638
- _outCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) out, const CreateFdwStmt *node)
1639
- {
1640
- WRITE_STRING_FIELD(fdwname, fdwname, fdwname);
1641
- WRITE_LIST_FIELD(func_options, func_options, func_options);
1642
- WRITE_LIST_FIELD(options, options, options);
1643
- }
1644
-
1645
- static void
1646
- _outAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) out, const AlterFdwStmt *node)
1733
+ _outCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) out, const CreateStmt *node)
1647
1734
  {
1648
- WRITE_STRING_FIELD(fdwname, fdwname, fdwname);
1649
- WRITE_LIST_FIELD(func_options, func_options, func_options);
1735
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1736
+ WRITE_LIST_FIELD(table_elts, tableElts, tableElts);
1737
+ WRITE_LIST_FIELD(inh_relations, inhRelations, inhRelations);
1738
+ WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, partbound, partbound, partbound);
1739
+ WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionSpec, partition_spec, partspec, partspec, partspec);
1740
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, of_typename, ofTypename, ofTypename);
1741
+ WRITE_LIST_FIELD(constraints, constraints, constraints);
1650
1742
  WRITE_LIST_FIELD(options, options, options);
1651
- }
1652
-
1653
- static void
1654
- _outCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) out, const CreateForeignServerStmt *node)
1655
- {
1656
- WRITE_STRING_FIELD(servername, servername, servername);
1657
- WRITE_STRING_FIELD(servertype, servertype, servertype);
1658
- WRITE_STRING_FIELD(version, version, version);
1659
- WRITE_STRING_FIELD(fdwname, fdwname, fdwname);
1743
+ WRITE_ENUM_FIELD(OnCommitAction, oncommit, oncommit, oncommit);
1744
+ WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1745
+ WRITE_STRING_FIELD(access_method, accessMethod, accessMethod);
1660
1746
  WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1661
- WRITE_LIST_FIELD(options, options, options);
1662
- }
1663
-
1664
- static void
1665
- _outAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) out, const AlterForeignServerStmt *node)
1666
- {
1667
- WRITE_STRING_FIELD(servername, servername, servername);
1668
- WRITE_STRING_FIELD(version, version, version);
1669
- WRITE_LIST_FIELD(options, options, options);
1670
- WRITE_BOOL_FIELD(has_version, has_version, has_version);
1671
1747
  }
1672
1748
 
1673
1749
  static void
1674
- _outCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) out, const CreateUserMappingStmt *node)
1750
+ _outConstraint(OUT_TYPE(Constraint, Constraint) out, const Constraint *node)
1675
1751
  {
1676
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user);
1677
- WRITE_STRING_FIELD(servername, servername, servername);
1678
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1752
+ WRITE_ENUM_FIELD(ConstrType, contype, contype, contype);
1753
+ WRITE_STRING_FIELD(conname, conname, conname);
1754
+ WRITE_BOOL_FIELD(deferrable, deferrable, deferrable);
1755
+ WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
1756
+ WRITE_INT_FIELD(location, location, location);
1757
+ WRITE_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit);
1758
+ WRITE_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr);
1759
+ WRITE_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr);
1760
+ WRITE_CHAR_FIELD(generated_when, generated_when, generated_when);
1761
+ WRITE_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct);
1762
+ WRITE_LIST_FIELD(keys, keys, keys);
1763
+ WRITE_LIST_FIELD(including, including, including);
1764
+ WRITE_LIST_FIELD(exclusions, exclusions, exclusions);
1679
1765
  WRITE_LIST_FIELD(options, options, options);
1766
+ WRITE_STRING_FIELD(indexname, indexname, indexname);
1767
+ WRITE_STRING_FIELD(indexspace, indexspace, indexspace);
1768
+ WRITE_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
1769
+ WRITE_STRING_FIELD(access_method, access_method, access_method);
1770
+ WRITE_NODE_PTR_FIELD(where_clause, where_clause, where_clause);
1771
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, pktable, pktable, pktable);
1772
+ WRITE_LIST_FIELD(fk_attrs, fk_attrs, fk_attrs);
1773
+ WRITE_LIST_FIELD(pk_attrs, pk_attrs, pk_attrs);
1774
+ WRITE_CHAR_FIELD(fk_matchtype, fk_matchtype, fk_matchtype);
1775
+ WRITE_CHAR_FIELD(fk_upd_action, fk_upd_action, fk_upd_action);
1776
+ WRITE_CHAR_FIELD(fk_del_action, fk_del_action, fk_del_action);
1777
+ WRITE_LIST_FIELD(fk_del_set_cols, fk_del_set_cols, fk_del_set_cols);
1778
+ WRITE_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop);
1779
+ WRITE_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid);
1780
+ WRITE_BOOL_FIELD(skip_validation, skip_validation, skip_validation);
1781
+ WRITE_BOOL_FIELD(initially_valid, initially_valid, initially_valid);
1680
1782
  }
1681
1783
 
1682
1784
  static void
1683
- _outAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) out, const AlterUserMappingStmt *node)
1785
+ _outCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) out, const CreateTableSpaceStmt *node)
1684
1786
  {
1685
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user);
1686
- WRITE_STRING_FIELD(servername, servername, servername);
1787
+ WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1788
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, owner, owner, owner);
1789
+ WRITE_STRING_FIELD(location, location, location);
1687
1790
  WRITE_LIST_FIELD(options, options, options);
1688
1791
  }
1689
1792
 
1690
1793
  static void
1691
- _outDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) out, const DropUserMappingStmt *node)
1794
+ _outDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) out, const DropTableSpaceStmt *node)
1692
1795
  {
1693
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user);
1694
- WRITE_STRING_FIELD(servername, servername, servername);
1796
+ WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1695
1797
  WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1696
1798
  }
1697
1799
 
@@ -1714,92 +1816,107 @@ _outAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt)
1714
1816
  }
1715
1817
 
1716
1818
  static void
1717
- _outSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) out, const SecLabelStmt *node)
1819
+ _outCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) out, const CreateExtensionStmt *node)
1718
1820
  {
1719
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1720
- WRITE_NODE_PTR_FIELD(object, object, object);
1721
- WRITE_STRING_FIELD(provider, provider, provider);
1722
- WRITE_STRING_FIELD(label, label, label);
1821
+ WRITE_STRING_FIELD(extname, extname, extname);
1822
+ WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1823
+ WRITE_LIST_FIELD(options, options, options);
1723
1824
  }
1724
1825
 
1725
1826
  static void
1726
- _outCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) out, const CreateForeignTableStmt *node)
1827
+ _outAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) out, const AlterExtensionStmt *node)
1727
1828
  {
1728
- WRITE_SPECIFIC_NODE_FIELD(CreateStmt, create_stmt, base_stmt, base, base);
1729
- WRITE_STRING_FIELD(servername, servername, servername);
1829
+ WRITE_STRING_FIELD(extname, extname, extname);
1730
1830
  WRITE_LIST_FIELD(options, options, options);
1731
1831
  }
1732
1832
 
1733
1833
  static void
1734
- _outImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) out, const ImportForeignSchemaStmt *node)
1834
+ _outAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) out, const AlterExtensionContentsStmt *node)
1735
1835
  {
1736
- WRITE_STRING_FIELD(server_name, server_name, server_name);
1737
- WRITE_STRING_FIELD(remote_schema, remote_schema, remote_schema);
1738
- WRITE_STRING_FIELD(local_schema, local_schema, local_schema);
1739
- WRITE_ENUM_FIELD(ImportForeignSchemaType, list_type, list_type, list_type);
1740
- WRITE_LIST_FIELD(table_list, table_list, table_list);
1836
+ WRITE_STRING_FIELD(extname, extname, extname);
1837
+ WRITE_INT_FIELD(action, action, action);
1838
+ WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1839
+ WRITE_NODE_PTR_FIELD(object, object, object);
1840
+ }
1841
+
1842
+ static void
1843
+ _outCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) out, const CreateFdwStmt *node)
1844
+ {
1845
+ WRITE_STRING_FIELD(fdwname, fdwname, fdwname);
1846
+ WRITE_LIST_FIELD(func_options, func_options, func_options);
1741
1847
  WRITE_LIST_FIELD(options, options, options);
1742
1848
  }
1743
1849
 
1744
1850
  static void
1745
- _outCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) out, const CreateExtensionStmt *node)
1851
+ _outAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) out, const AlterFdwStmt *node)
1746
1852
  {
1747
- WRITE_STRING_FIELD(extname, extname, extname);
1748
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1853
+ WRITE_STRING_FIELD(fdwname, fdwname, fdwname);
1854
+ WRITE_LIST_FIELD(func_options, func_options, func_options);
1749
1855
  WRITE_LIST_FIELD(options, options, options);
1750
1856
  }
1751
1857
 
1752
1858
  static void
1753
- _outAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) out, const AlterExtensionStmt *node)
1859
+ _outCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) out, const CreateForeignServerStmt *node)
1754
1860
  {
1755
- WRITE_STRING_FIELD(extname, extname, extname);
1861
+ WRITE_STRING_FIELD(servername, servername, servername);
1862
+ WRITE_STRING_FIELD(servertype, servertype, servertype);
1863
+ WRITE_STRING_FIELD(version, version, version);
1864
+ WRITE_STRING_FIELD(fdwname, fdwname, fdwname);
1865
+ WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1756
1866
  WRITE_LIST_FIELD(options, options, options);
1757
1867
  }
1758
1868
 
1759
1869
  static void
1760
- _outAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) out, const AlterExtensionContentsStmt *node)
1870
+ _outAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) out, const AlterForeignServerStmt *node)
1761
1871
  {
1762
- WRITE_STRING_FIELD(extname, extname, extname);
1763
- WRITE_INT_FIELD(action, action, action);
1764
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1765
- WRITE_NODE_PTR_FIELD(object, object, object);
1872
+ WRITE_STRING_FIELD(servername, servername, servername);
1873
+ WRITE_STRING_FIELD(version, version, version);
1874
+ WRITE_LIST_FIELD(options, options, options);
1875
+ WRITE_BOOL_FIELD(has_version, has_version, has_version);
1766
1876
  }
1767
1877
 
1768
1878
  static void
1769
- _outCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) out, const CreateEventTrigStmt *node)
1879
+ _outCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) out, const CreateForeignTableStmt *node)
1770
1880
  {
1771
- WRITE_STRING_FIELD(trigname, trigname, trigname);
1772
- WRITE_STRING_FIELD(eventname, eventname, eventname);
1773
- WRITE_LIST_FIELD(whenclause, whenclause, whenclause);
1774
- WRITE_LIST_FIELD(funcname, funcname, funcname);
1881
+ WRITE_SPECIFIC_NODE_FIELD(CreateStmt, create_stmt, base_stmt, base, base);
1882
+ WRITE_STRING_FIELD(servername, servername, servername);
1883
+ WRITE_LIST_FIELD(options, options, options);
1775
1884
  }
1776
1885
 
1777
1886
  static void
1778
- _outAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) out, const AlterEventTrigStmt *node)
1887
+ _outCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) out, const CreateUserMappingStmt *node)
1779
1888
  {
1780
- WRITE_STRING_FIELD(trigname, trigname, trigname);
1781
- WRITE_CHAR_FIELD(tgenabled, tgenabled, tgenabled);
1889
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user);
1890
+ WRITE_STRING_FIELD(servername, servername, servername);
1891
+ WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1892
+ WRITE_LIST_FIELD(options, options, options);
1782
1893
  }
1783
1894
 
1784
1895
  static void
1785
- _outRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) out, const RefreshMatViewStmt *node)
1896
+ _outAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) out, const AlterUserMappingStmt *node)
1786
1897
  {
1787
- WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
1788
- WRITE_BOOL_FIELD(skip_data, skipData, skipData);
1789
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1898
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user);
1899
+ WRITE_STRING_FIELD(servername, servername, servername);
1900
+ WRITE_LIST_FIELD(options, options, options);
1790
1901
  }
1791
1902
 
1792
1903
  static void
1793
- _outReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) out, const ReplicaIdentityStmt *node)
1904
+ _outDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) out, const DropUserMappingStmt *node)
1794
1905
  {
1795
- WRITE_CHAR_FIELD(identity_type, identity_type, identity_type);
1796
- WRITE_STRING_FIELD(name, name, name);
1906
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user);
1907
+ WRITE_STRING_FIELD(servername, servername, servername);
1908
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1797
1909
  }
1798
1910
 
1799
1911
  static void
1800
- _outAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) out, const AlterSystemStmt *node)
1912
+ _outImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) out, const ImportForeignSchemaStmt *node)
1801
1913
  {
1802
- WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
1914
+ WRITE_STRING_FIELD(server_name, server_name, server_name);
1915
+ WRITE_STRING_FIELD(remote_schema, remote_schema, remote_schema);
1916
+ WRITE_STRING_FIELD(local_schema, local_schema, local_schema);
1917
+ WRITE_ENUM_FIELD(ImportForeignSchemaType, list_type, list_type, list_type);
1918
+ WRITE_LIST_FIELD(table_list, table_list, table_list);
1919
+ WRITE_LIST_FIELD(options, options, options);
1803
1920
  }
1804
1921
 
1805
1922
  static void
@@ -1824,16 +1941,6 @@ _outAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) out, const AlterP
1824
1941
  WRITE_NODE_PTR_FIELD(with_check, with_check, with_check);
1825
1942
  }
1826
1943
 
1827
- static void
1828
- _outCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) out, const CreateTransformStmt *node)
1829
- {
1830
- WRITE_BOOL_FIELD(replace, replace, replace);
1831
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, type_name, type_name);
1832
- WRITE_STRING_FIELD(lang, lang, lang);
1833
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, fromsql, fromsql, fromsql);
1834
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, tosql, tosql, tosql);
1835
- }
1836
-
1837
1944
  static void
1838
1945
  _outCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) out, const CreateAmStmt *node)
1839
1946
  {
@@ -1843,691 +1950,694 @@ _outCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) out, const CreateAmStmt *n
1843
1950
  }
1844
1951
 
1845
1952
  static void
1846
- _outCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) out, const CreatePublicationStmt *node)
1953
+ _outCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) out, const CreateTrigStmt *node)
1847
1954
  {
1848
- WRITE_STRING_FIELD(pubname, pubname, pubname);
1849
- WRITE_LIST_FIELD(options, options, options);
1850
- WRITE_LIST_FIELD(pubobjects, pubobjects, pubobjects);
1851
- WRITE_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
1955
+ WRITE_BOOL_FIELD(replace, replace, replace);
1956
+ WRITE_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
1957
+ WRITE_STRING_FIELD(trigname, trigname, trigname);
1958
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1959
+ WRITE_LIST_FIELD(funcname, funcname, funcname);
1960
+ WRITE_LIST_FIELD(args, args, args);
1961
+ WRITE_BOOL_FIELD(row, row, row);
1962
+ WRITE_INT_FIELD(timing, timing, timing);
1963
+ WRITE_INT_FIELD(events, events, events);
1964
+ WRITE_LIST_FIELD(columns, columns, columns);
1965
+ WRITE_NODE_PTR_FIELD(when_clause, whenClause, whenClause);
1966
+ WRITE_LIST_FIELD(transition_rels, transitionRels, transitionRels);
1967
+ WRITE_BOOL_FIELD(deferrable, deferrable, deferrable);
1968
+ WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
1969
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, constrrel, constrrel, constrrel);
1852
1970
  }
1853
1971
 
1854
1972
  static void
1855
- _outAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) out, const AlterPublicationStmt *node)
1973
+ _outCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) out, const CreateEventTrigStmt *node)
1856
1974
  {
1857
- WRITE_STRING_FIELD(pubname, pubname, pubname);
1858
- WRITE_LIST_FIELD(options, options, options);
1859
- WRITE_LIST_FIELD(pubobjects, pubobjects, pubobjects);
1860
- WRITE_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
1861
- WRITE_ENUM_FIELD(AlterPublicationAction, action, action, action);
1975
+ WRITE_STRING_FIELD(trigname, trigname, trigname);
1976
+ WRITE_STRING_FIELD(eventname, eventname, eventname);
1977
+ WRITE_LIST_FIELD(whenclause, whenclause, whenclause);
1978
+ WRITE_LIST_FIELD(funcname, funcname, funcname);
1862
1979
  }
1863
1980
 
1864
1981
  static void
1865
- _outCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) out, const CreateSubscriptionStmt *node)
1982
+ _outAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) out, const AlterEventTrigStmt *node)
1866
1983
  {
1867
- WRITE_STRING_FIELD(subname, subname, subname);
1868
- WRITE_STRING_FIELD(conninfo, conninfo, conninfo);
1869
- WRITE_LIST_FIELD(publication, publication, publication);
1870
- WRITE_LIST_FIELD(options, options, options);
1984
+ WRITE_STRING_FIELD(trigname, trigname, trigname);
1985
+ WRITE_CHAR_FIELD(tgenabled, tgenabled, tgenabled);
1871
1986
  }
1872
1987
 
1873
1988
  static void
1874
- _outAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) out, const AlterSubscriptionStmt *node)
1989
+ _outCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) out, const CreatePLangStmt *node)
1875
1990
  {
1876
- WRITE_ENUM_FIELD(AlterSubscriptionType, kind, kind, kind);
1877
- WRITE_STRING_FIELD(subname, subname, subname);
1878
- WRITE_STRING_FIELD(conninfo, conninfo, conninfo);
1879
- WRITE_LIST_FIELD(publication, publication, publication);
1880
- WRITE_LIST_FIELD(options, options, options);
1991
+ WRITE_BOOL_FIELD(replace, replace, replace);
1992
+ WRITE_STRING_FIELD(plname, plname, plname);
1993
+ WRITE_LIST_FIELD(plhandler, plhandler, plhandler);
1994
+ WRITE_LIST_FIELD(plinline, plinline, plinline);
1995
+ WRITE_LIST_FIELD(plvalidator, plvalidator, plvalidator);
1996
+ WRITE_BOOL_FIELD(pltrusted, pltrusted, pltrusted);
1881
1997
  }
1882
1998
 
1883
1999
  static void
1884
- _outDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) out, const DropSubscriptionStmt *node)
2000
+ _outCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) out, const CreateRoleStmt *node)
1885
2001
  {
1886
- WRITE_STRING_FIELD(subname, subname, subname);
1887
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1888
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2002
+ WRITE_ENUM_FIELD(RoleStmtType, stmt_type, stmt_type, stmt_type);
2003
+ WRITE_STRING_FIELD(role, role, role);
2004
+ WRITE_LIST_FIELD(options, options, options);
1889
2005
  }
1890
2006
 
1891
2007
  static void
1892
- _outCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) out, const CreateStatsStmt *node)
2008
+ _outAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) out, const AlterRoleStmt *node)
1893
2009
  {
1894
- WRITE_LIST_FIELD(defnames, defnames, defnames);
1895
- WRITE_LIST_FIELD(stat_types, stat_types, stat_types);
1896
- WRITE_LIST_FIELD(exprs, exprs, exprs);
1897
- WRITE_LIST_FIELD(relations, relations, relations);
1898
- WRITE_STRING_FIELD(stxcomment, stxcomment, stxcomment);
1899
- WRITE_BOOL_FIELD(transformed, transformed, transformed);
1900
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2010
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
2011
+ WRITE_LIST_FIELD(options, options, options);
2012
+ WRITE_INT_FIELD(action, action, action);
1901
2013
  }
1902
2014
 
1903
2015
  static void
1904
- _outAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) out, const AlterCollationStmt *node)
2016
+ _outAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) out, const AlterRoleSetStmt *node)
1905
2017
  {
1906
- WRITE_LIST_FIELD(collname, collname, collname);
2018
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
2019
+ WRITE_STRING_FIELD(database, database, database);
2020
+ WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
1907
2021
  }
1908
2022
 
1909
2023
  static void
1910
- _outCallStmt(OUT_TYPE(CallStmt, CallStmt) out, const CallStmt *node)
2024
+ _outDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) out, const DropRoleStmt *node)
1911
2025
  {
1912
- WRITE_SPECIFIC_NODE_PTR_FIELD(FuncCall, func_call, funccall, funccall, funccall);
1913
- WRITE_SPECIFIC_NODE_PTR_FIELD(FuncExpr, func_expr, funcexpr, funcexpr, funcexpr);
1914
- WRITE_LIST_FIELD(outargs, outargs, outargs);
2026
+ WRITE_LIST_FIELD(roles, roles, roles);
2027
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1915
2028
  }
1916
2029
 
1917
2030
  static void
1918
- _outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out, const AlterStatsStmt *node)
2031
+ _outCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) out, const CreateSeqStmt *node)
1919
2032
  {
1920
- WRITE_LIST_FIELD(defnames, defnames, defnames);
1921
- WRITE_INT_FIELD(stxstattarget, stxstattarget, stxstattarget);
1922
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2033
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
2034
+ WRITE_LIST_FIELD(options, options, options);
2035
+ WRITE_UINT_FIELD(owner_id, ownerId, ownerId);
2036
+ WRITE_BOOL_FIELD(for_identity, for_identity, for_identity);
2037
+ WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1923
2038
  }
1924
2039
 
1925
2040
  static void
1926
- _outAExpr(OUT_TYPE(A_Expr, AExpr) out, const A_Expr *node)
2041
+ _outAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) out, const AlterSeqStmt *node)
1927
2042
  {
1928
- WRITE_ENUM_FIELD(A_Expr_Kind, kind, kind, kind);
1929
- WRITE_LIST_FIELD(name, name, name);
1930
- WRITE_NODE_PTR_FIELD(lexpr, lexpr, lexpr);
1931
- WRITE_NODE_PTR_FIELD(rexpr, rexpr, rexpr);
1932
- WRITE_INT_FIELD(location, location, location);
2043
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
2044
+ WRITE_LIST_FIELD(options, options, options);
2045
+ WRITE_BOOL_FIELD(for_identity, for_identity, for_identity);
2046
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1933
2047
  }
1934
2048
 
1935
2049
  static void
1936
- _outColumnRef(OUT_TYPE(ColumnRef, ColumnRef) out, const ColumnRef *node)
2050
+ _outDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) out, const DefineStmt *node)
1937
2051
  {
1938
- WRITE_LIST_FIELD(fields, fields, fields);
1939
- WRITE_INT_FIELD(location, location, location);
2052
+ WRITE_ENUM_FIELD(ObjectType, kind, kind, kind);
2053
+ WRITE_BOOL_FIELD(oldstyle, oldstyle, oldstyle);
2054
+ WRITE_LIST_FIELD(defnames, defnames, defnames);
2055
+ WRITE_LIST_FIELD(args, args, args);
2056
+ WRITE_LIST_FIELD(definition, definition, definition);
2057
+ WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2058
+ WRITE_BOOL_FIELD(replace, replace, replace);
1940
2059
  }
1941
2060
 
1942
2061
  static void
1943
- _outParamRef(OUT_TYPE(ParamRef, ParamRef) out, const ParamRef *node)
2062
+ _outCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) out, const CreateDomainStmt *node)
1944
2063
  {
1945
- WRITE_INT_FIELD(number, number, number);
1946
- WRITE_INT_FIELD(location, location, location);
2064
+ WRITE_LIST_FIELD(domainname, domainname, domainname);
2065
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2066
+ WRITE_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
2067
+ WRITE_LIST_FIELD(constraints, constraints, constraints);
1947
2068
  }
1948
2069
 
1949
2070
  static void
1950
- _outFuncCall(OUT_TYPE(FuncCall, FuncCall) out, const FuncCall *node)
2071
+ _outCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) out, const CreateOpClassStmt *node)
1951
2072
  {
1952
- WRITE_LIST_FIELD(funcname, funcname, funcname);
1953
- WRITE_LIST_FIELD(args, args, args);
1954
- WRITE_LIST_FIELD(agg_order, agg_order, agg_order);
1955
- WRITE_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter);
1956
- WRITE_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over);
1957
- WRITE_BOOL_FIELD(agg_within_group, agg_within_group, agg_within_group);
1958
- WRITE_BOOL_FIELD(agg_star, agg_star, agg_star);
1959
- WRITE_BOOL_FIELD(agg_distinct, agg_distinct, agg_distinct);
1960
- WRITE_BOOL_FIELD(func_variadic, func_variadic, func_variadic);
1961
- WRITE_ENUM_FIELD(CoercionForm, funcformat, funcformat, funcformat);
1962
- WRITE_INT_FIELD(location, location, location);
2073
+ WRITE_LIST_FIELD(opclassname, opclassname, opclassname);
2074
+ WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
2075
+ WRITE_STRING_FIELD(amname, amname, amname);
2076
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, datatype, datatype, datatype);
2077
+ WRITE_LIST_FIELD(items, items, items);
2078
+ WRITE_BOOL_FIELD(is_default, isDefault, isDefault);
1963
2079
  }
1964
2080
 
1965
2081
  static void
1966
- _outAStar(OUT_TYPE(A_Star, AStar) out, const A_Star *node)
2082
+ _outCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) out, const CreateOpClassItem *node)
1967
2083
  {
2084
+ WRITE_INT_FIELD(itemtype, itemtype, itemtype);
2085
+ WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, name, name, name);
2086
+ WRITE_INT_FIELD(number, number, number);
2087
+ WRITE_LIST_FIELD(order_family, order_family, order_family);
2088
+ WRITE_LIST_FIELD(class_args, class_args, class_args);
2089
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, storedtype, storedtype, storedtype);
1968
2090
  }
1969
2091
 
1970
2092
  static void
1971
- _outAIndices(OUT_TYPE(A_Indices, AIndices) out, const A_Indices *node)
2093
+ _outCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) out, const CreateOpFamilyStmt *node)
1972
2094
  {
1973
- WRITE_BOOL_FIELD(is_slice, is_slice, is_slice);
1974
- WRITE_NODE_PTR_FIELD(lidx, lidx, lidx);
1975
- WRITE_NODE_PTR_FIELD(uidx, uidx, uidx);
2095
+ WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
2096
+ WRITE_STRING_FIELD(amname, amname, amname);
1976
2097
  }
1977
2098
 
1978
2099
  static void
1979
- _outAIndirection(OUT_TYPE(A_Indirection, AIndirection) out, const A_Indirection *node)
2100
+ _outAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) out, const AlterOpFamilyStmt *node)
1980
2101
  {
1981
- WRITE_NODE_PTR_FIELD(arg, arg, arg);
1982
- WRITE_LIST_FIELD(indirection, indirection, indirection);
2102
+ WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
2103
+ WRITE_STRING_FIELD(amname, amname, amname);
2104
+ WRITE_BOOL_FIELD(is_drop, isDrop, isDrop);
2105
+ WRITE_LIST_FIELD(items, items, items);
1983
2106
  }
1984
2107
 
1985
2108
  static void
1986
- _outAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) out, const A_ArrayExpr *node)
2109
+ _outDropStmt(OUT_TYPE(DropStmt, DropStmt) out, const DropStmt *node)
1987
2110
  {
1988
- WRITE_LIST_FIELD(elements, elements, elements);
1989
- WRITE_INT_FIELD(location, location, location);
2111
+ WRITE_LIST_FIELD(objects, objects, objects);
2112
+ WRITE_ENUM_FIELD(ObjectType, remove_type, removeType, removeType);
2113
+ WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2114
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2115
+ WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
1990
2116
  }
1991
2117
 
1992
2118
  static void
1993
- _outResTarget(OUT_TYPE(ResTarget, ResTarget) out, const ResTarget *node)
2119
+ _outTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) out, const TruncateStmt *node)
1994
2120
  {
1995
- WRITE_STRING_FIELD(name, name, name);
1996
- WRITE_LIST_FIELD(indirection, indirection, indirection);
1997
- WRITE_NODE_PTR_FIELD(val, val, val);
1998
- WRITE_INT_FIELD(location, location, location);
2121
+ WRITE_LIST_FIELD(relations, relations, relations);
2122
+ WRITE_BOOL_FIELD(restart_seqs, restart_seqs, restart_seqs);
2123
+ WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1999
2124
  }
2000
2125
 
2001
2126
  static void
2002
- _outMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) out, const MultiAssignRef *node)
2127
+ _outCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) out, const CommentStmt *node)
2003
2128
  {
2004
- WRITE_NODE_PTR_FIELD(source, source, source);
2005
- WRITE_INT_FIELD(colno, colno, colno);
2006
- WRITE_INT_FIELD(ncolumns, ncolumns, ncolumns);
2129
+ WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2130
+ WRITE_NODE_PTR_FIELD(object, object, object);
2131
+ WRITE_STRING_FIELD(comment, comment, comment);
2007
2132
  }
2008
2133
 
2009
2134
  static void
2010
- _outTypeCast(OUT_TYPE(TypeCast, TypeCast) out, const TypeCast *node)
2135
+ _outSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) out, const SecLabelStmt *node)
2011
2136
  {
2012
- WRITE_NODE_PTR_FIELD(arg, arg, arg);
2013
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2014
- WRITE_INT_FIELD(location, location, location);
2137
+ WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2138
+ WRITE_NODE_PTR_FIELD(object, object, object);
2139
+ WRITE_STRING_FIELD(provider, provider, provider);
2140
+ WRITE_STRING_FIELD(label, label, label);
2015
2141
  }
2016
2142
 
2017
2143
  static void
2018
- _outCollateClause(OUT_TYPE(CollateClause, CollateClause) out, const CollateClause *node)
2144
+ _outDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) out, const DeclareCursorStmt *node)
2019
2145
  {
2020
- WRITE_NODE_PTR_FIELD(arg, arg, arg);
2021
- WRITE_LIST_FIELD(collname, collname, collname);
2022
- WRITE_INT_FIELD(location, location, location);
2146
+ WRITE_STRING_FIELD(portalname, portalname, portalname);
2147
+ WRITE_INT_FIELD(options, options, options);
2148
+ WRITE_NODE_PTR_FIELD(query, query, query);
2023
2149
  }
2024
2150
 
2025
2151
  static void
2026
- _outSortBy(OUT_TYPE(SortBy, SortBy) out, const SortBy *node)
2152
+ _outClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) out, const ClosePortalStmt *node)
2027
2153
  {
2028
- WRITE_NODE_PTR_FIELD(node, node, node);
2029
- WRITE_ENUM_FIELD(SortByDir, sortby_dir, sortby_dir, sortby_dir);
2030
- WRITE_ENUM_FIELD(SortByNulls, sortby_nulls, sortby_nulls, sortby_nulls);
2031
- WRITE_LIST_FIELD(use_op, useOp, useOp);
2032
- WRITE_INT_FIELD(location, location, location);
2154
+ WRITE_STRING_FIELD(portalname, portalname, portalname);
2033
2155
  }
2034
2156
 
2035
2157
  static void
2036
- _outWindowDef(OUT_TYPE(WindowDef, WindowDef) out, const WindowDef *node)
2158
+ _outFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) out, const FetchStmt *node)
2037
2159
  {
2038
- WRITE_STRING_FIELD(name, name, name);
2039
- WRITE_STRING_FIELD(refname, refname, refname);
2040
- WRITE_LIST_FIELD(partition_clause, partitionClause, partitionClause);
2041
- WRITE_LIST_FIELD(order_clause, orderClause, orderClause);
2042
- WRITE_INT_FIELD(frame_options, frameOptions, frameOptions);
2043
- WRITE_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
2044
- WRITE_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
2045
- WRITE_INT_FIELD(location, location, location);
2160
+ WRITE_ENUM_FIELD(FetchDirection, direction, direction, direction);
2161
+ WRITE_LONG_FIELD(how_many, howMany, howMany);
2162
+ WRITE_STRING_FIELD(portalname, portalname, portalname);
2163
+ WRITE_BOOL_FIELD(ismove, ismove, ismove);
2046
2164
  }
2047
2165
 
2048
2166
  static void
2049
- _outRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) out, const RangeSubselect *node)
2167
+ _outIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) out, const IndexStmt *node)
2050
2168
  {
2051
- WRITE_BOOL_FIELD(lateral, lateral, lateral);
2052
- WRITE_NODE_PTR_FIELD(subquery, subquery, subquery);
2053
- WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2169
+ WRITE_STRING_FIELD(idxname, idxname, idxname);
2170
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2171
+ WRITE_STRING_FIELD(access_method, accessMethod, accessMethod);
2172
+ WRITE_STRING_FIELD(table_space, tableSpace, tableSpace);
2173
+ WRITE_LIST_FIELD(index_params, indexParams, indexParams);
2174
+ WRITE_LIST_FIELD(index_including_params, indexIncludingParams, indexIncludingParams);
2175
+ WRITE_LIST_FIELD(options, options, options);
2176
+ WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2177
+ WRITE_LIST_FIELD(exclude_op_names, excludeOpNames, excludeOpNames);
2178
+ WRITE_STRING_FIELD(idxcomment, idxcomment, idxcomment);
2179
+ WRITE_UINT_FIELD(index_oid, indexOid, indexOid);
2180
+ WRITE_UINT_FIELD(old_number, oldNumber, oldNumber);
2181
+ WRITE_UINT_FIELD(old_create_subid, oldCreateSubid, oldCreateSubid);
2182
+ WRITE_UINT_FIELD(old_first_relfilelocator_subid, oldFirstRelfilelocatorSubid, oldFirstRelfilelocatorSubid);
2183
+ WRITE_BOOL_FIELD(unique, unique, unique);
2184
+ WRITE_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct);
2185
+ WRITE_BOOL_FIELD(primary, primary, primary);
2186
+ WRITE_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
2187
+ WRITE_BOOL_FIELD(deferrable, deferrable, deferrable);
2188
+ WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
2189
+ WRITE_BOOL_FIELD(transformed, transformed, transformed);
2190
+ WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
2191
+ WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2192
+ WRITE_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
2054
2193
  }
2055
2194
 
2056
2195
  static void
2057
- _outRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) out, const RangeFunction *node)
2196
+ _outCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) out, const CreateStatsStmt *node)
2058
2197
  {
2059
- WRITE_BOOL_FIELD(lateral, lateral, lateral);
2060
- WRITE_BOOL_FIELD(ordinality, ordinality, ordinality);
2061
- WRITE_BOOL_FIELD(is_rowsfrom, is_rowsfrom, is_rowsfrom);
2062
- WRITE_LIST_FIELD(functions, functions, functions);
2063
- WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2064
- WRITE_LIST_FIELD(coldeflist, coldeflist, coldeflist);
2198
+ WRITE_LIST_FIELD(defnames, defnames, defnames);
2199
+ WRITE_LIST_FIELD(stat_types, stat_types, stat_types);
2200
+ WRITE_LIST_FIELD(exprs, exprs, exprs);
2201
+ WRITE_LIST_FIELD(relations, relations, relations);
2202
+ WRITE_STRING_FIELD(stxcomment, stxcomment, stxcomment);
2203
+ WRITE_BOOL_FIELD(transformed, transformed, transformed);
2204
+ WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2065
2205
  }
2066
2206
 
2067
2207
  static void
2068
- _outRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) out, const RangeTableSample *node)
2208
+ _outStatsElem(OUT_TYPE(StatsElem, StatsElem) out, const StatsElem *node)
2069
2209
  {
2070
- WRITE_NODE_PTR_FIELD(relation, relation, relation);
2071
- WRITE_LIST_FIELD(method, method, method);
2072
- WRITE_LIST_FIELD(args, args, args);
2073
- WRITE_NODE_PTR_FIELD(repeatable, repeatable, repeatable);
2074
- WRITE_INT_FIELD(location, location, location);
2210
+ WRITE_STRING_FIELD(name, name, name);
2211
+ WRITE_NODE_PTR_FIELD(expr, expr, expr);
2075
2212
  }
2076
2213
 
2077
2214
  static void
2078
- _outRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) out, const RangeTableFunc *node)
2215
+ _outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out, const AlterStatsStmt *node)
2079
2216
  {
2080
- WRITE_BOOL_FIELD(lateral, lateral, lateral);
2081
- WRITE_NODE_PTR_FIELD(docexpr, docexpr, docexpr);
2082
- WRITE_NODE_PTR_FIELD(rowexpr, rowexpr, rowexpr);
2083
- WRITE_LIST_FIELD(namespaces, namespaces, namespaces);
2084
- WRITE_LIST_FIELD(columns, columns, columns);
2085
- WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2086
- WRITE_INT_FIELD(location, location, location);
2217
+ WRITE_LIST_FIELD(defnames, defnames, defnames);
2218
+ WRITE_INT_FIELD(stxstattarget, stxstattarget, stxstattarget);
2219
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2087
2220
  }
2088
2221
 
2089
2222
  static void
2090
- _outRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) out, const RangeTableFuncCol *node)
2223
+ _outCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) out, const CreateFunctionStmt *node)
2091
2224
  {
2092
- WRITE_STRING_FIELD(colname, colname, colname);
2093
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2094
- WRITE_BOOL_FIELD(for_ordinality, for_ordinality, for_ordinality);
2095
- WRITE_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
2096
- WRITE_NODE_PTR_FIELD(colexpr, colexpr, colexpr);
2097
- WRITE_NODE_PTR_FIELD(coldefexpr, coldefexpr, coldefexpr);
2098
- WRITE_INT_FIELD(location, location, location);
2225
+ WRITE_BOOL_FIELD(is_procedure, is_procedure, is_procedure);
2226
+ WRITE_BOOL_FIELD(replace, replace, replace);
2227
+ WRITE_LIST_FIELD(funcname, funcname, funcname);
2228
+ WRITE_LIST_FIELD(parameters, parameters, parameters);
2229
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, return_type, returnType, returnType);
2230
+ WRITE_LIST_FIELD(options, options, options);
2231
+ WRITE_NODE_PTR_FIELD(sql_body, sql_body, sql_body);
2099
2232
  }
2100
2233
 
2101
2234
  static void
2102
- _outTypeName(OUT_TYPE(TypeName, TypeName) out, const TypeName *node)
2235
+ _outFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) out, const FunctionParameter *node)
2103
2236
  {
2104
- WRITE_LIST_FIELD(names, names, names);
2105
- WRITE_UINT_FIELD(type_oid, typeOid, typeOid);
2106
- WRITE_BOOL_FIELD(setof, setof, setof);
2107
- WRITE_BOOL_FIELD(pct_type, pct_type, pct_type);
2108
- WRITE_LIST_FIELD(typmods, typmods, typmods);
2109
- WRITE_INT_FIELD(typemod, typemod, typemod);
2110
- WRITE_LIST_FIELD(array_bounds, arrayBounds, arrayBounds);
2111
- WRITE_INT_FIELD(location, location, location);
2237
+ WRITE_STRING_FIELD(name, name, name);
2238
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, arg_type, argType, argType);
2239
+ WRITE_ENUM_FIELD(FunctionParameterMode, mode, mode, mode);
2240
+ WRITE_NODE_PTR_FIELD(defexpr, defexpr, defexpr);
2112
2241
  }
2113
2242
 
2114
2243
  static void
2115
- _outColumnDef(OUT_TYPE(ColumnDef, ColumnDef) out, const ColumnDef *node)
2244
+ _outAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) out, const AlterFunctionStmt *node)
2116
2245
  {
2117
- WRITE_STRING_FIELD(colname, colname, colname);
2118
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2119
- WRITE_STRING_FIELD(compression, compression, compression);
2120
- WRITE_INT_FIELD(inhcount, inhcount, inhcount);
2121
- WRITE_BOOL_FIELD(is_local, is_local, is_local);
2122
- WRITE_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
2123
- WRITE_BOOL_FIELD(is_from_type, is_from_type, is_from_type);
2124
- WRITE_CHAR_FIELD(storage, storage, storage);
2125
- WRITE_NODE_PTR_FIELD(raw_default, raw_default, raw_default);
2126
- WRITE_NODE_PTR_FIELD(cooked_default, cooked_default, cooked_default);
2127
- WRITE_CHAR_FIELD(identity, identity, identity);
2128
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, identity_sequence, identitySequence, identitySequence);
2129
- WRITE_CHAR_FIELD(generated, generated, generated);
2130
- WRITE_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
2131
- WRITE_UINT_FIELD(coll_oid, collOid, collOid);
2132
- WRITE_LIST_FIELD(constraints, constraints, constraints);
2133
- WRITE_LIST_FIELD(fdwoptions, fdwoptions, fdwoptions);
2134
- WRITE_INT_FIELD(location, location, location);
2246
+ WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2247
+ WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
2248
+ WRITE_LIST_FIELD(actions, actions, actions);
2135
2249
  }
2136
2250
 
2137
2251
  static void
2138
- _outIndexElem(OUT_TYPE(IndexElem, IndexElem) out, const IndexElem *node)
2252
+ _outDoStmt(OUT_TYPE(DoStmt, DoStmt) out, const DoStmt *node)
2139
2253
  {
2140
- WRITE_STRING_FIELD(name, name, name);
2141
- WRITE_NODE_PTR_FIELD(expr, expr, expr);
2142
- WRITE_STRING_FIELD(indexcolname, indexcolname, indexcolname);
2143
- WRITE_LIST_FIELD(collation, collation, collation);
2144
- WRITE_LIST_FIELD(opclass, opclass, opclass);
2145
- WRITE_LIST_FIELD(opclassopts, opclassopts, opclassopts);
2146
- WRITE_ENUM_FIELD(SortByDir, ordering, ordering, ordering);
2147
- WRITE_ENUM_FIELD(SortByNulls, nulls_ordering, nulls_ordering, nulls_ordering);
2254
+ WRITE_LIST_FIELD(args, args, args);
2148
2255
  }
2149
2256
 
2150
2257
  static void
2151
- _outStatsElem(OUT_TYPE(StatsElem, StatsElem) out, const StatsElem *node)
2258
+ _outInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) out, const InlineCodeBlock *node)
2152
2259
  {
2153
- WRITE_STRING_FIELD(name, name, name);
2154
- WRITE_NODE_PTR_FIELD(expr, expr, expr);
2260
+ WRITE_STRING_FIELD(source_text, source_text, source_text);
2261
+ WRITE_UINT_FIELD(lang_oid, langOid, langOid);
2262
+ WRITE_BOOL_FIELD(lang_is_trusted, langIsTrusted, langIsTrusted);
2263
+ WRITE_BOOL_FIELD(atomic, atomic, atomic);
2155
2264
  }
2156
2265
 
2157
2266
  static void
2158
- _outConstraint(OUT_TYPE(Constraint, Constraint) out, const Constraint *node)
2267
+ _outCallStmt(OUT_TYPE(CallStmt, CallStmt) out, const CallStmt *node)
2159
2268
  {
2160
- WRITE_ENUM_FIELD(ConstrType, contype, contype, contype);
2161
- WRITE_STRING_FIELD(conname, conname, conname);
2162
- WRITE_BOOL_FIELD(deferrable, deferrable, deferrable);
2163
- WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
2164
- WRITE_INT_FIELD(location, location, location);
2165
- WRITE_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit);
2166
- WRITE_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr);
2167
- WRITE_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr);
2168
- WRITE_CHAR_FIELD(generated_when, generated_when, generated_when);
2169
- WRITE_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct);
2170
- WRITE_LIST_FIELD(keys, keys, keys);
2171
- WRITE_LIST_FIELD(including, including, including);
2172
- WRITE_LIST_FIELD(exclusions, exclusions, exclusions);
2269
+ WRITE_SPECIFIC_NODE_PTR_FIELD(FuncCall, func_call, funccall, funccall, funccall);
2270
+ WRITE_SPECIFIC_NODE_PTR_FIELD(FuncExpr, func_expr, funcexpr, funcexpr, funcexpr);
2271
+ WRITE_LIST_FIELD(outargs, outargs, outargs);
2272
+ }
2273
+
2274
+ static void
2275
+ _outCallContext(OUT_TYPE(CallContext, CallContext) out, const CallContext *node)
2276
+ {
2277
+ WRITE_BOOL_FIELD(atomic, atomic, atomic);
2278
+ }
2279
+
2280
+ static void
2281
+ _outRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) out, const RenameStmt *node)
2282
+ {
2283
+ WRITE_ENUM_FIELD(ObjectType, rename_type, renameType, renameType);
2284
+ WRITE_ENUM_FIELD(ObjectType, relation_type, relationType, relationType);
2285
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2286
+ WRITE_NODE_PTR_FIELD(object, object, object);
2287
+ WRITE_STRING_FIELD(subname, subname, subname);
2288
+ WRITE_STRING_FIELD(newname, newname, newname);
2289
+ WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2290
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2291
+ }
2292
+
2293
+ static void
2294
+ _outAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) out, const AlterObjectDependsStmt *node)
2295
+ {
2296
+ WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
2297
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2298
+ WRITE_NODE_PTR_FIELD(object, object, object);
2299
+ WRITE_SPECIFIC_NODE_PTR_FIELD(String, string, extname, extname, extname);
2300
+ WRITE_BOOL_FIELD(remove, remove, remove);
2301
+ }
2302
+
2303
+ static void
2304
+ _outAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) out, const AlterObjectSchemaStmt *node)
2305
+ {
2306
+ WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
2307
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2308
+ WRITE_NODE_PTR_FIELD(object, object, object);
2309
+ WRITE_STRING_FIELD(newschema, newschema, newschema);
2310
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2311
+ }
2312
+
2313
+ static void
2314
+ _outAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) out, const AlterOwnerStmt *node)
2315
+ {
2316
+ WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
2317
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2318
+ WRITE_NODE_PTR_FIELD(object, object, object);
2319
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner);
2320
+ }
2321
+
2322
+ static void
2323
+ _outAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) out, const AlterOperatorStmt *node)
2324
+ {
2325
+ WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, opername, opername, opername);
2173
2326
  WRITE_LIST_FIELD(options, options, options);
2174
- WRITE_STRING_FIELD(indexname, indexname, indexname);
2175
- WRITE_STRING_FIELD(indexspace, indexspace, indexspace);
2176
- WRITE_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
2177
- WRITE_STRING_FIELD(access_method, access_method, access_method);
2178
- WRITE_NODE_PTR_FIELD(where_clause, where_clause, where_clause);
2179
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, pktable, pktable, pktable);
2180
- WRITE_LIST_FIELD(fk_attrs, fk_attrs, fk_attrs);
2181
- WRITE_LIST_FIELD(pk_attrs, pk_attrs, pk_attrs);
2182
- WRITE_CHAR_FIELD(fk_matchtype, fk_matchtype, fk_matchtype);
2183
- WRITE_CHAR_FIELD(fk_upd_action, fk_upd_action, fk_upd_action);
2184
- WRITE_CHAR_FIELD(fk_del_action, fk_del_action, fk_del_action);
2185
- WRITE_LIST_FIELD(fk_del_set_cols, fk_del_set_cols, fk_del_set_cols);
2186
- WRITE_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop);
2187
- WRITE_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid);
2188
- WRITE_BOOL_FIELD(skip_validation, skip_validation, skip_validation);
2189
- WRITE_BOOL_FIELD(initially_valid, initially_valid, initially_valid);
2190
2327
  }
2191
2328
 
2192
2329
  static void
2193
- _outDefElem(OUT_TYPE(DefElem, DefElem) out, const DefElem *node)
2330
+ _outAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) out, const AlterTypeStmt *node)
2194
2331
  {
2195
- WRITE_STRING_FIELD(defnamespace, defnamespace, defnamespace);
2196
- WRITE_STRING_FIELD(defname, defname, defname);
2197
- WRITE_NODE_PTR_FIELD(arg, arg, arg);
2198
- WRITE_ENUM_FIELD(DefElemAction, defaction, defaction, defaction);
2199
- WRITE_INT_FIELD(location, location, location);
2332
+ WRITE_LIST_FIELD(type_name, typeName, typeName);
2333
+ WRITE_LIST_FIELD(options, options, options);
2200
2334
  }
2201
2335
 
2202
2336
  static void
2203
- _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out, const RangeTblEntry *node)
2337
+ _outRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) out, const RuleStmt *node)
2204
2338
  {
2205
- WRITE_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind);
2206
- WRITE_UINT_FIELD(relid, relid, relid);
2207
- WRITE_CHAR_FIELD(relkind, relkind, relkind);
2208
- WRITE_INT_FIELD(rellockmode, rellockmode, rellockmode);
2209
- WRITE_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample);
2210
- WRITE_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery);
2211
- WRITE_BOOL_FIELD(security_barrier, security_barrier, security_barrier);
2212
- WRITE_ENUM_FIELD(JoinType, jointype, jointype, jointype);
2213
- WRITE_INT_FIELD(joinmergedcols, joinmergedcols, joinmergedcols);
2214
- WRITE_LIST_FIELD(joinaliasvars, joinaliasvars, joinaliasvars);
2215
- WRITE_LIST_FIELD(joinleftcols, joinleftcols, joinleftcols);
2216
- WRITE_LIST_FIELD(joinrightcols, joinrightcols, joinrightcols);
2217
- WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, join_using_alias, join_using_alias, join_using_alias);
2218
- WRITE_LIST_FIELD(functions, functions, functions);
2219
- WRITE_BOOL_FIELD(funcordinality, funcordinality, funcordinality);
2220
- WRITE_SPECIFIC_NODE_PTR_FIELD(TableFunc, table_func, tablefunc, tablefunc, tablefunc);
2221
- WRITE_LIST_FIELD(values_lists, values_lists, values_lists);
2222
- WRITE_STRING_FIELD(ctename, ctename, ctename);
2223
- WRITE_UINT_FIELD(ctelevelsup, ctelevelsup, ctelevelsup);
2224
- WRITE_BOOL_FIELD(self_reference, self_reference, self_reference);
2225
- WRITE_LIST_FIELD(coltypes, coltypes, coltypes);
2226
- WRITE_LIST_FIELD(coltypmods, coltypmods, coltypmods);
2227
- WRITE_LIST_FIELD(colcollations, colcollations, colcollations);
2228
- WRITE_STRING_FIELD(enrname, enrname, enrname);
2229
- WRITE_FLOAT_FIELD(enrtuples, enrtuples, enrtuples);
2230
- WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2231
- WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref);
2232
- WRITE_BOOL_FIELD(lateral, lateral, lateral);
2233
- WRITE_BOOL_FIELD(inh, inh, inh);
2234
- WRITE_BOOL_FIELD(in_from_cl, inFromCl, inFromCl);
2235
- WRITE_UINT_FIELD(required_perms, requiredPerms, requiredPerms);
2236
- WRITE_UINT_FIELD(check_as_user, checkAsUser, checkAsUser);
2237
- WRITE_BITMAPSET_FIELD(selected_cols, selectedCols, selectedCols);
2238
- WRITE_BITMAPSET_FIELD(inserted_cols, insertedCols, insertedCols);
2239
- WRITE_BITMAPSET_FIELD(updated_cols, updatedCols, updatedCols);
2240
- WRITE_BITMAPSET_FIELD(extra_updated_cols, extraUpdatedCols, extraUpdatedCols);
2241
- WRITE_LIST_FIELD(security_quals, securityQuals, securityQuals);
2339
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2340
+ WRITE_STRING_FIELD(rulename, rulename, rulename);
2341
+ WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2342
+ WRITE_ENUM_FIELD(CmdType, event, event, event);
2343
+ WRITE_BOOL_FIELD(instead, instead, instead);
2344
+ WRITE_LIST_FIELD(actions, actions, actions);
2345
+ WRITE_BOOL_FIELD(replace, replace, replace);
2242
2346
  }
2243
2347
 
2244
2348
  static void
2245
- _outRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) out, const RangeTblFunction *node)
2349
+ _outNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) out, const NotifyStmt *node)
2246
2350
  {
2247
- WRITE_NODE_PTR_FIELD(funcexpr, funcexpr, funcexpr);
2248
- WRITE_INT_FIELD(funccolcount, funccolcount, funccolcount);
2249
- WRITE_LIST_FIELD(funccolnames, funccolnames, funccolnames);
2250
- WRITE_LIST_FIELD(funccoltypes, funccoltypes, funccoltypes);
2251
- WRITE_LIST_FIELD(funccoltypmods, funccoltypmods, funccoltypmods);
2252
- WRITE_LIST_FIELD(funccolcollations, funccolcollations, funccolcollations);
2253
- WRITE_BITMAPSET_FIELD(funcparams, funcparams, funcparams);
2351
+ WRITE_STRING_FIELD(conditionname, conditionname, conditionname);
2352
+ WRITE_STRING_FIELD(payload, payload, payload);
2254
2353
  }
2255
2354
 
2256
2355
  static void
2257
- _outTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) out, const TableSampleClause *node)
2356
+ _outListenStmt(OUT_TYPE(ListenStmt, ListenStmt) out, const ListenStmt *node)
2258
2357
  {
2259
- WRITE_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler);
2260
- WRITE_LIST_FIELD(args, args, args);
2261
- WRITE_NODE_PTR_FIELD(repeatable, repeatable, repeatable);
2358
+ WRITE_STRING_FIELD(conditionname, conditionname, conditionname);
2262
2359
  }
2263
2360
 
2264
2361
  static void
2265
- _outWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) out, const WithCheckOption *node)
2362
+ _outUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) out, const UnlistenStmt *node)
2266
2363
  {
2267
- WRITE_ENUM_FIELD(WCOKind, kind, kind, kind);
2268
- WRITE_STRING_FIELD(relname, relname, relname);
2269
- WRITE_STRING_FIELD(polname, polname, polname);
2270
- WRITE_NODE_PTR_FIELD(qual, qual, qual);
2271
- WRITE_BOOL_FIELD(cascaded, cascaded, cascaded);
2364
+ WRITE_STRING_FIELD(conditionname, conditionname, conditionname);
2272
2365
  }
2273
2366
 
2274
2367
  static void
2275
- _outSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) out, const SortGroupClause *node)
2368
+ _outTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) out, const TransactionStmt *node)
2276
2369
  {
2277
- WRITE_UINT_FIELD(tle_sort_group_ref, tleSortGroupRef, tleSortGroupRef);
2278
- WRITE_UINT_FIELD(eqop, eqop, eqop);
2279
- WRITE_UINT_FIELD(sortop, sortop, sortop);
2280
- WRITE_BOOL_FIELD(nulls_first, nulls_first, nulls_first);
2281
- WRITE_BOOL_FIELD(hashable, hashable, hashable);
2370
+ WRITE_ENUM_FIELD(TransactionStmtKind, kind, kind, kind);
2371
+ WRITE_LIST_FIELD(options, options, options);
2372
+ WRITE_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name);
2373
+ WRITE_STRING_FIELD(gid, gid, gid);
2374
+ WRITE_BOOL_FIELD(chain, chain, chain);
2282
2375
  }
2283
2376
 
2284
2377
  static void
2285
- _outGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) out, const GroupingSet *node)
2378
+ _outCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) out, const CompositeTypeStmt *node)
2286
2379
  {
2287
- WRITE_ENUM_FIELD(GroupingSetKind, kind, kind, kind);
2288
- WRITE_LIST_FIELD(content, content, content);
2289
- WRITE_INT_FIELD(location, location, location);
2380
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, typevar, typevar, typevar);
2381
+ WRITE_LIST_FIELD(coldeflist, coldeflist, coldeflist);
2290
2382
  }
2291
2383
 
2292
2384
  static void
2293
- _outWindowClause(OUT_TYPE(WindowClause, WindowClause) out, const WindowClause *node)
2385
+ _outCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) out, const CreateEnumStmt *node)
2294
2386
  {
2295
- WRITE_STRING_FIELD(name, name, name);
2296
- WRITE_STRING_FIELD(refname, refname, refname);
2297
- WRITE_LIST_FIELD(partition_clause, partitionClause, partitionClause);
2298
- WRITE_LIST_FIELD(order_clause, orderClause, orderClause);
2299
- WRITE_INT_FIELD(frame_options, frameOptions, frameOptions);
2300
- WRITE_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
2301
- WRITE_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
2302
- WRITE_LIST_FIELD(run_condition, runCondition, runCondition);
2303
- WRITE_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc);
2304
- WRITE_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc);
2305
- WRITE_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl);
2306
- WRITE_BOOL_FIELD(in_range_asc, inRangeAsc, inRangeAsc);
2307
- WRITE_BOOL_FIELD(in_range_nulls_first, inRangeNullsFirst, inRangeNullsFirst);
2308
- WRITE_UINT_FIELD(winref, winref, winref);
2309
- WRITE_BOOL_FIELD(copied_order, copiedOrder, copiedOrder);
2387
+ WRITE_LIST_FIELD(type_name, typeName, typeName);
2388
+ WRITE_LIST_FIELD(vals, vals, vals);
2389
+ }
2390
+
2391
+ static void
2392
+ _outCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) out, const CreateRangeStmt *node)
2393
+ {
2394
+ WRITE_LIST_FIELD(type_name, typeName, typeName);
2395
+ WRITE_LIST_FIELD(params, params, params);
2396
+ }
2397
+
2398
+ static void
2399
+ _outAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) out, const AlterEnumStmt *node)
2400
+ {
2401
+ WRITE_LIST_FIELD(type_name, typeName, typeName);
2402
+ WRITE_STRING_FIELD(old_val, oldVal, oldVal);
2403
+ WRITE_STRING_FIELD(new_val, newVal, newVal);
2404
+ WRITE_STRING_FIELD(new_val_neighbor, newValNeighbor, newValNeighbor);
2405
+ WRITE_BOOL_FIELD(new_val_is_after, newValIsAfter, newValIsAfter);
2406
+ WRITE_BOOL_FIELD(skip_if_new_val_exists, skipIfNewValExists, skipIfNewValExists);
2407
+ }
2408
+
2409
+ static void
2410
+ _outViewStmt(OUT_TYPE(ViewStmt, ViewStmt) out, const ViewStmt *node)
2411
+ {
2412
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, view, view, view);
2413
+ WRITE_LIST_FIELD(aliases, aliases, aliases);
2414
+ WRITE_NODE_PTR_FIELD(query, query, query);
2415
+ WRITE_BOOL_FIELD(replace, replace, replace);
2416
+ WRITE_LIST_FIELD(options, options, options);
2417
+ WRITE_ENUM_FIELD(ViewCheckOption, with_check_option, withCheckOption, withCheckOption);
2418
+ }
2419
+
2420
+ static void
2421
+ _outLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) out, const LoadStmt *node)
2422
+ {
2423
+ WRITE_STRING_FIELD(filename, filename, filename);
2424
+ }
2425
+
2426
+ static void
2427
+ _outCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) out, const CreatedbStmt *node)
2428
+ {
2429
+ WRITE_STRING_FIELD(dbname, dbname, dbname);
2430
+ WRITE_LIST_FIELD(options, options, options);
2431
+ }
2432
+
2433
+ static void
2434
+ _outAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) out, const AlterDatabaseStmt *node)
2435
+ {
2436
+ WRITE_STRING_FIELD(dbname, dbname, dbname);
2437
+ WRITE_LIST_FIELD(options, options, options);
2438
+ }
2439
+
2440
+ static void
2441
+ _outAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) out, const AlterDatabaseRefreshCollStmt *node)
2442
+ {
2443
+ WRITE_STRING_FIELD(dbname, dbname, dbname);
2444
+ }
2445
+
2446
+ static void
2447
+ _outAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) out, const AlterDatabaseSetStmt *node)
2448
+ {
2449
+ WRITE_STRING_FIELD(dbname, dbname, dbname);
2450
+ WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
2451
+ }
2452
+
2453
+ static void
2454
+ _outDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) out, const DropdbStmt *node)
2455
+ {
2456
+ WRITE_STRING_FIELD(dbname, dbname, dbname);
2457
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2458
+ WRITE_LIST_FIELD(options, options, options);
2310
2459
  }
2311
2460
 
2312
2461
  static void
2313
- _outObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) out, const ObjectWithArgs *node)
2462
+ _outAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) out, const AlterSystemStmt *node)
2314
2463
  {
2315
- WRITE_LIST_FIELD(objname, objname, objname);
2316
- WRITE_LIST_FIELD(objargs, objargs, objargs);
2317
- WRITE_LIST_FIELD(objfuncargs, objfuncargs, objfuncargs);
2318
- WRITE_BOOL_FIELD(args_unspecified, args_unspecified, args_unspecified);
2464
+ WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
2319
2465
  }
2320
2466
 
2321
2467
  static void
2322
- _outAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) out, const AccessPriv *node)
2468
+ _outClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) out, const ClusterStmt *node)
2323
2469
  {
2324
- WRITE_STRING_FIELD(priv_name, priv_name, priv_name);
2325
- WRITE_LIST_FIELD(cols, cols, cols);
2470
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2471
+ WRITE_STRING_FIELD(indexname, indexname, indexname);
2472
+ WRITE_LIST_FIELD(params, params, params);
2326
2473
  }
2327
2474
 
2328
2475
  static void
2329
- _outCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) out, const CreateOpClassItem *node)
2476
+ _outVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) out, const VacuumStmt *node)
2330
2477
  {
2331
- WRITE_INT_FIELD(itemtype, itemtype, itemtype);
2332
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, name, name, name);
2333
- WRITE_INT_FIELD(number, number, number);
2334
- WRITE_LIST_FIELD(order_family, order_family, order_family);
2335
- WRITE_LIST_FIELD(class_args, class_args, class_args);
2336
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, storedtype, storedtype, storedtype);
2478
+ WRITE_LIST_FIELD(options, options, options);
2479
+ WRITE_LIST_FIELD(rels, rels, rels);
2480
+ WRITE_BOOL_FIELD(is_vacuumcmd, is_vacuumcmd, is_vacuumcmd);
2337
2481
  }
2338
2482
 
2339
2483
  static void
2340
- _outTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) out, const TableLikeClause *node)
2484
+ _outVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) out, const VacuumRelation *node)
2341
2485
  {
2342
2486
  WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2343
- WRITE_UINT_FIELD(options, options, options);
2344
- WRITE_UINT_FIELD(relation_oid, relationOid, relationOid);
2487
+ WRITE_UINT_FIELD(oid, oid, oid);
2488
+ WRITE_LIST_FIELD(va_cols, va_cols, va_cols);
2345
2489
  }
2346
2490
 
2347
2491
  static void
2348
- _outFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) out, const FunctionParameter *node)
2492
+ _outExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) out, const ExplainStmt *node)
2349
2493
  {
2350
- WRITE_STRING_FIELD(name, name, name);
2351
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, arg_type, argType, argType);
2352
- WRITE_ENUM_FIELD(FunctionParameterMode, mode, mode, mode);
2353
- WRITE_NODE_PTR_FIELD(defexpr, defexpr, defexpr);
2494
+ WRITE_NODE_PTR_FIELD(query, query, query);
2495
+ WRITE_LIST_FIELD(options, options, options);
2354
2496
  }
2355
2497
 
2356
2498
  static void
2357
- _outLockingClause(OUT_TYPE(LockingClause, LockingClause) out, const LockingClause *node)
2499
+ _outCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) out, const CreateTableAsStmt *node)
2358
2500
  {
2359
- WRITE_LIST_FIELD(locked_rels, lockedRels, lockedRels);
2360
- WRITE_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
2361
- WRITE_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
2501
+ WRITE_NODE_PTR_FIELD(query, query, query);
2502
+ WRITE_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into, into, into);
2503
+ WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2504
+ WRITE_BOOL_FIELD(is_select_into, is_select_into, is_select_into);
2505
+ WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2362
2506
  }
2363
2507
 
2364
2508
  static void
2365
- _outRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) out, const RowMarkClause *node)
2509
+ _outRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) out, const RefreshMatViewStmt *node)
2366
2510
  {
2367
- WRITE_UINT_FIELD(rti, rti, rti);
2368
- WRITE_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
2369
- WRITE_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
2370
- WRITE_BOOL_FIELD(pushed_down, pushedDown, pushedDown);
2511
+ WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
2512
+ WRITE_BOOL_FIELD(skip_data, skipData, skipData);
2513
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2371
2514
  }
2372
2515
 
2373
2516
  static void
2374
- _outXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) out, const XmlSerialize *node)
2517
+ _outCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) out, const CheckPointStmt *node)
2375
2518
  {
2376
- WRITE_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption);
2377
- WRITE_NODE_PTR_FIELD(expr, expr, expr);
2378
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2379
- WRITE_INT_FIELD(location, location, location);
2380
2519
  }
2381
2520
 
2382
2521
  static void
2383
- _outWithClause(OUT_TYPE(WithClause, WithClause) out, const WithClause *node)
2522
+ _outDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) out, const DiscardStmt *node)
2384
2523
  {
2385
- WRITE_LIST_FIELD(ctes, ctes, ctes);
2386
- WRITE_BOOL_FIELD(recursive, recursive, recursive);
2387
- WRITE_INT_FIELD(location, location, location);
2524
+ WRITE_ENUM_FIELD(DiscardMode, target, target, target);
2388
2525
  }
2389
2526
 
2390
2527
  static void
2391
- _outInferClause(OUT_TYPE(InferClause, InferClause) out, const InferClause *node)
2528
+ _outLockStmt(OUT_TYPE(LockStmt, LockStmt) out, const LockStmt *node)
2392
2529
  {
2393
- WRITE_LIST_FIELD(index_elems, indexElems, indexElems);
2394
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2395
- WRITE_STRING_FIELD(conname, conname, conname);
2396
- WRITE_INT_FIELD(location, location, location);
2530
+ WRITE_LIST_FIELD(relations, relations, relations);
2531
+ WRITE_INT_FIELD(mode, mode, mode);
2532
+ WRITE_BOOL_FIELD(nowait, nowait, nowait);
2397
2533
  }
2398
2534
 
2399
2535
  static void
2400
- _outOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) out, const OnConflictClause *node)
2536
+ _outConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) out, const ConstraintsSetStmt *node)
2401
2537
  {
2402
- WRITE_ENUM_FIELD(OnConflictAction, action, action, action);
2403
- WRITE_SPECIFIC_NODE_PTR_FIELD(InferClause, infer_clause, infer, infer, infer);
2404
- WRITE_LIST_FIELD(target_list, targetList, targetList);
2405
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2406
- WRITE_INT_FIELD(location, location, location);
2538
+ WRITE_LIST_FIELD(constraints, constraints, constraints);
2539
+ WRITE_BOOL_FIELD(deferred, deferred, deferred);
2407
2540
  }
2408
2541
 
2409
2542
  static void
2410
- _outCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) out, const CTESearchClause *node)
2543
+ _outReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) out, const ReindexStmt *node)
2411
2544
  {
2412
- WRITE_LIST_FIELD(search_col_list, search_col_list, search_col_list);
2413
- WRITE_BOOL_FIELD(search_breadth_first, search_breadth_first, search_breadth_first);
2414
- WRITE_STRING_FIELD(search_seq_column, search_seq_column, search_seq_column);
2415
- WRITE_INT_FIELD(location, location, location);
2545
+ WRITE_ENUM_FIELD(ReindexObjectType, kind, kind, kind);
2546
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2547
+ WRITE_STRING_FIELD(name, name, name);
2548
+ WRITE_LIST_FIELD(params, params, params);
2416
2549
  }
2417
2550
 
2418
2551
  static void
2419
- _outCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) out, const CTECycleClause *node)
2552
+ _outCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) out, const CreateConversionStmt *node)
2420
2553
  {
2421
- WRITE_LIST_FIELD(cycle_col_list, cycle_col_list, cycle_col_list);
2422
- WRITE_STRING_FIELD(cycle_mark_column, cycle_mark_column, cycle_mark_column);
2423
- WRITE_NODE_PTR_FIELD(cycle_mark_value, cycle_mark_value, cycle_mark_value);
2424
- WRITE_NODE_PTR_FIELD(cycle_mark_default, cycle_mark_default, cycle_mark_default);
2425
- WRITE_STRING_FIELD(cycle_path_column, cycle_path_column, cycle_path_column);
2426
- WRITE_INT_FIELD(location, location, location);
2427
- WRITE_UINT_FIELD(cycle_mark_type, cycle_mark_type, cycle_mark_type);
2428
- WRITE_INT_FIELD(cycle_mark_typmod, cycle_mark_typmod, cycle_mark_typmod);
2429
- WRITE_UINT_FIELD(cycle_mark_collation, cycle_mark_collation, cycle_mark_collation);
2430
- WRITE_UINT_FIELD(cycle_mark_neop, cycle_mark_neop, cycle_mark_neop);
2554
+ WRITE_LIST_FIELD(conversion_name, conversion_name, conversion_name);
2555
+ WRITE_STRING_FIELD(for_encoding_name, for_encoding_name, for_encoding_name);
2556
+ WRITE_STRING_FIELD(to_encoding_name, to_encoding_name, to_encoding_name);
2557
+ WRITE_LIST_FIELD(func_name, func_name, func_name);
2558
+ WRITE_BOOL_FIELD(def, def, def);
2431
2559
  }
2432
2560
 
2433
2561
  static void
2434
- _outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out, const CommonTableExpr *node)
2562
+ _outCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) out, const CreateCastStmt *node)
2435
2563
  {
2436
- WRITE_STRING_FIELD(ctename, ctename, ctename);
2437
- WRITE_LIST_FIELD(aliascolnames, aliascolnames, aliascolnames);
2438
- WRITE_ENUM_FIELD(CTEMaterialize, ctematerialized, ctematerialized, ctematerialized);
2439
- WRITE_NODE_PTR_FIELD(ctequery, ctequery, ctequery);
2440
- WRITE_SPECIFIC_NODE_PTR_FIELD(CTESearchClause, ctesearch_clause, search_clause, search_clause, search_clause);
2441
- WRITE_SPECIFIC_NODE_PTR_FIELD(CTECycleClause, ctecycle_clause, cycle_clause, cycle_clause, cycle_clause);
2442
- WRITE_INT_FIELD(location, location, location);
2443
- WRITE_BOOL_FIELD(cterecursive, cterecursive, cterecursive);
2444
- WRITE_INT_FIELD(cterefcount, cterefcount, cterefcount);
2445
- WRITE_LIST_FIELD(ctecolnames, ctecolnames, ctecolnames);
2446
- WRITE_LIST_FIELD(ctecoltypes, ctecoltypes, ctecoltypes);
2447
- WRITE_LIST_FIELD(ctecoltypmods, ctecoltypmods, ctecoltypmods);
2448
- WRITE_LIST_FIELD(ctecolcollations, ctecolcollations, ctecolcollations);
2564
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, sourcetype, sourcetype, sourcetype);
2565
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, targettype, targettype, targettype);
2566
+ WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
2567
+ WRITE_ENUM_FIELD(CoercionContext, context, context, context);
2568
+ WRITE_BOOL_FIELD(inout, inout, inout);
2449
2569
  }
2450
2570
 
2451
2571
  static void
2452
- _outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out, const MergeWhenClause *node)
2572
+ _outCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) out, const CreateTransformStmt *node)
2453
2573
  {
2454
- WRITE_BOOL_FIELD(matched, matched, matched);
2455
- WRITE_ENUM_FIELD(CmdType, command_type, commandType, commandType);
2456
- WRITE_ENUM_FIELD(OverridingKind, override, override, override);
2457
- WRITE_NODE_PTR_FIELD(condition, condition, condition);
2458
- WRITE_LIST_FIELD(target_list, targetList, targetList);
2459
- WRITE_LIST_FIELD(values, values, values);
2574
+ WRITE_BOOL_FIELD(replace, replace, replace);
2575
+ WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, type_name, type_name);
2576
+ WRITE_STRING_FIELD(lang, lang, lang);
2577
+ WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, fromsql, fromsql, fromsql);
2578
+ WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, tosql, tosql, tosql);
2460
2579
  }
2461
2580
 
2462
2581
  static void
2463
- _outRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) out, const RoleSpec *node)
2582
+ _outPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) out, const PrepareStmt *node)
2464
2583
  {
2465
- WRITE_ENUM_FIELD(RoleSpecType, roletype, roletype, roletype);
2466
- WRITE_STRING_FIELD(rolename, rolename, rolename);
2467
- WRITE_INT_FIELD(location, location, location);
2584
+ WRITE_STRING_FIELD(name, name, name);
2585
+ WRITE_LIST_FIELD(argtypes, argtypes, argtypes);
2586
+ WRITE_NODE_PTR_FIELD(query, query, query);
2468
2587
  }
2469
2588
 
2470
2589
  static void
2471
- _outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out, const TriggerTransition *node)
2590
+ _outExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) out, const ExecuteStmt *node)
2472
2591
  {
2473
2592
  WRITE_STRING_FIELD(name, name, name);
2474
- WRITE_BOOL_FIELD(is_new, isNew, isNew);
2475
- WRITE_BOOL_FIELD(is_table, isTable, isTable);
2593
+ WRITE_LIST_FIELD(params, params, params);
2476
2594
  }
2477
2595
 
2478
2596
  static void
2479
- _outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out, const PartitionElem *node)
2597
+ _outDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) out, const DeallocateStmt *node)
2480
2598
  {
2481
2599
  WRITE_STRING_FIELD(name, name, name);
2482
- WRITE_NODE_PTR_FIELD(expr, expr, expr);
2483
- WRITE_LIST_FIELD(collation, collation, collation);
2484
- WRITE_LIST_FIELD(opclass, opclass, opclass);
2485
- WRITE_INT_FIELD(location, location, location);
2486
2600
  }
2487
2601
 
2488
2602
  static void
2489
- _outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out, const PartitionSpec *node)
2603
+ _outDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) out, const DropOwnedStmt *node)
2490
2604
  {
2491
- WRITE_STRING_FIELD(strategy, strategy, strategy);
2492
- WRITE_LIST_FIELD(part_params, partParams, partParams);
2493
- WRITE_INT_FIELD(location, location, location);
2605
+ WRITE_LIST_FIELD(roles, roles, roles);
2606
+ WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2494
2607
  }
2495
2608
 
2496
2609
  static void
2497
- _outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out, const PartitionBoundSpec *node)
2610
+ _outReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) out, const ReassignOwnedStmt *node)
2498
2611
  {
2499
- WRITE_CHAR_FIELD(strategy, strategy, strategy);
2500
- WRITE_BOOL_FIELD(is_default, is_default, is_default);
2501
- WRITE_INT_FIELD(modulus, modulus, modulus);
2502
- WRITE_INT_FIELD(remainder, remainder, remainder);
2503
- WRITE_LIST_FIELD(listdatums, listdatums, listdatums);
2504
- WRITE_LIST_FIELD(lowerdatums, lowerdatums, lowerdatums);
2505
- WRITE_LIST_FIELD(upperdatums, upperdatums, upperdatums);
2506
- WRITE_INT_FIELD(location, location, location);
2612
+ WRITE_LIST_FIELD(roles, roles, roles);
2613
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newrole, newrole, newrole);
2507
2614
  }
2508
2615
 
2509
2616
  static void
2510
- _outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out, const PartitionRangeDatum *node)
2617
+ _outAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) out, const AlterTSDictionaryStmt *node)
2511
2618
  {
2512
- WRITE_ENUM_FIELD(PartitionRangeDatumKind, kind, kind, kind);
2513
- WRITE_NODE_PTR_FIELD(value, value, value);
2514
- WRITE_INT_FIELD(location, location, location);
2619
+ WRITE_LIST_FIELD(dictname, dictname, dictname);
2620
+ WRITE_LIST_FIELD(options, options, options);
2515
2621
  }
2516
2622
 
2517
2623
  static void
2518
- _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out, const PartitionCmd *node)
2624
+ _outAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) out, const AlterTSConfigurationStmt *node)
2519
2625
  {
2520
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, name, name, name);
2521
- WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, bound, bound, bound);
2522
- WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
2626
+ WRITE_ENUM_FIELD(AlterTSConfigType, kind, kind, kind);
2627
+ WRITE_LIST_FIELD(cfgname, cfgname, cfgname);
2628
+ WRITE_LIST_FIELD(tokentype, tokentype, tokentype);
2629
+ WRITE_LIST_FIELD(dicts, dicts, dicts);
2630
+ WRITE_BOOL_FIELD(override, override, override);
2631
+ WRITE_BOOL_FIELD(replace, replace, replace);
2632
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2523
2633
  }
2524
2634
 
2525
2635
  static void
2526
- _outVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) out, const VacuumRelation *node)
2636
+ _outPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) out, const PublicationTable *node)
2527
2637
  {
2528
2638
  WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2529
- WRITE_UINT_FIELD(oid, oid, oid);
2530
- WRITE_LIST_FIELD(va_cols, va_cols, va_cols);
2639
+ WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2640
+ WRITE_LIST_FIELD(columns, columns, columns);
2531
2641
  }
2532
2642
 
2533
2643
  static void
@@ -2540,25 +2650,48 @@ _outPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) out, con
2540
2650
  }
2541
2651
 
2542
2652
  static void
2543
- _outPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) out, const PublicationTable *node)
2653
+ _outCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) out, const CreatePublicationStmt *node)
2544
2654
  {
2545
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2546
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2547
- WRITE_LIST_FIELD(columns, columns, columns);
2655
+ WRITE_STRING_FIELD(pubname, pubname, pubname);
2656
+ WRITE_LIST_FIELD(options, options, options);
2657
+ WRITE_LIST_FIELD(pubobjects, pubobjects, pubobjects);
2658
+ WRITE_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
2548
2659
  }
2549
2660
 
2550
2661
  static void
2551
- _outInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) out, const InlineCodeBlock *node)
2662
+ _outAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) out, const AlterPublicationStmt *node)
2552
2663
  {
2553
- WRITE_STRING_FIELD(source_text, source_text, source_text);
2554
- WRITE_UINT_FIELD(lang_oid, langOid, langOid);
2555
- WRITE_BOOL_FIELD(lang_is_trusted, langIsTrusted, langIsTrusted);
2556
- WRITE_BOOL_FIELD(atomic, atomic, atomic);
2664
+ WRITE_STRING_FIELD(pubname, pubname, pubname);
2665
+ WRITE_LIST_FIELD(options, options, options);
2666
+ WRITE_LIST_FIELD(pubobjects, pubobjects, pubobjects);
2667
+ WRITE_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
2668
+ WRITE_ENUM_FIELD(AlterPublicationAction, action, action, action);
2557
2669
  }
2558
2670
 
2559
2671
  static void
2560
- _outCallContext(OUT_TYPE(CallContext, CallContext) out, const CallContext *node)
2672
+ _outCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) out, const CreateSubscriptionStmt *node)
2561
2673
  {
2562
- WRITE_BOOL_FIELD(atomic, atomic, atomic);
2674
+ WRITE_STRING_FIELD(subname, subname, subname);
2675
+ WRITE_STRING_FIELD(conninfo, conninfo, conninfo);
2676
+ WRITE_LIST_FIELD(publication, publication, publication);
2677
+ WRITE_LIST_FIELD(options, options, options);
2678
+ }
2679
+
2680
+ static void
2681
+ _outAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) out, const AlterSubscriptionStmt *node)
2682
+ {
2683
+ WRITE_ENUM_FIELD(AlterSubscriptionType, kind, kind, kind);
2684
+ WRITE_STRING_FIELD(subname, subname, subname);
2685
+ WRITE_STRING_FIELD(conninfo, conninfo, conninfo);
2686
+ WRITE_LIST_FIELD(publication, publication, publication);
2687
+ WRITE_LIST_FIELD(options, options, options);
2688
+ }
2689
+
2690
+ static void
2691
+ _outDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) out, const DropSubscriptionStmt *node)
2692
+ {
2693
+ WRITE_STRING_FIELD(subname, subname, subname);
2694
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2695
+ WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2563
2696
  }
2564
2697