pg_query 4.2.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +6 -8
  4. data/Rakefile +5 -6
  5. data/ext/pg_query/extconf.rb +14 -4
  6. data/ext/pg_query/include/pg_query.h +27 -3
  7. data/ext/pg_query/include/pg_query_enum_defs.c +311 -149
  8. data/ext/pg_query/include/pg_query_fingerprint_conds.c +545 -489
  9. data/ext/pg_query/include/pg_query_fingerprint_defs.c +5092 -4432
  10. data/ext/pg_query/include/pg_query_outfuncs_conds.c +385 -343
  11. data/ext/pg_query/include/pg_query_outfuncs_defs.c +1294 -1161
  12. data/ext/pg_query/include/pg_query_readfuncs_conds.c +137 -123
  13. data/ext/pg_query/include/pg_query_readfuncs_defs.c +1657 -1496
  14. data/ext/pg_query/include/{access → postgres/access}/amapi.h +3 -1
  15. data/ext/pg_query/include/{access → postgres/access}/attmap.h +5 -3
  16. data/ext/pg_query/include/{access → postgres/access}/attnum.h +1 -1
  17. data/ext/pg_query/include/{access → postgres/access}/clog.h +1 -1
  18. data/ext/pg_query/include/{access → postgres/access}/commit_ts.h +1 -1
  19. data/ext/pg_query/include/{access → postgres/access}/detoast.h +1 -1
  20. data/ext/pg_query/include/{access → postgres/access}/genam.h +7 -5
  21. data/ext/pg_query/include/{access → postgres/access}/gin.h +16 -3
  22. data/ext/pg_query/include/{access → postgres/access}/htup.h +1 -1
  23. data/ext/pg_query/include/{access → postgres/access}/htup_details.h +6 -2
  24. data/ext/pg_query/include/{access → postgres/access}/itup.h +61 -58
  25. data/ext/pg_query/include/{access → postgres/access}/parallel.h +2 -2
  26. data/ext/pg_query/include/{access → postgres/access}/printtup.h +1 -1
  27. data/ext/pg_query/include/{access → postgres/access}/relation.h +1 -1
  28. data/ext/pg_query/include/{access → postgres/access}/relscan.h +1 -1
  29. data/ext/pg_query/include/{access → postgres/access}/rmgrlist.h +2 -2
  30. data/ext/pg_query/include/{access → postgres/access}/sdir.h +12 -3
  31. data/ext/pg_query/include/{access → postgres/access}/skey.h +1 -1
  32. data/ext/pg_query/include/{access → postgres/access}/stratnum.h +1 -1
  33. data/ext/pg_query/include/{access → postgres/access}/sysattr.h +1 -1
  34. data/ext/pg_query/include/{access → postgres/access}/table.h +1 -1
  35. data/ext/pg_query/include/{access → postgres/access}/tableam.h +68 -45
  36. data/ext/pg_query/include/{access → postgres/access}/toast_compression.h +1 -1
  37. data/ext/pg_query/include/{access → postgres/access}/transam.h +1 -1
  38. data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
  39. data/ext/pg_query/include/{access → postgres/access}/tupconvert.h +5 -2
  40. data/ext/pg_query/include/{access → postgres/access}/tupdesc.h +2 -2
  41. data/ext/pg_query/include/{access → postgres/access}/tupmacs.h +58 -98
  42. data/ext/pg_query/include/{access → postgres/access}/twophase.h +2 -2
  43. data/ext/pg_query/include/{access → postgres/access}/xact.h +25 -18
  44. data/ext/pg_query/include/{access → postgres/access}/xlog.h +15 -16
  45. data/ext/pg_query/include/{access → postgres/access}/xlog_internal.h +100 -62
  46. data/ext/pg_query/include/postgres/access/xlogbackup.h +41 -0
  47. data/ext/pg_query/include/{access → postgres/access}/xlogdefs.h +6 -25
  48. data/ext/pg_query/include/{access → postgres/access}/xlogprefetcher.h +1 -1
  49. data/ext/pg_query/include/{access → postgres/access}/xlogreader.h +7 -6
  50. data/ext/pg_query/include/{access → postgres/access}/xlogrecord.h +17 -5
  51. data/ext/pg_query/include/{access → postgres/access}/xlogrecovery.h +4 -3
  52. data/ext/pg_query/include/postgres/archive/archive_module.h +59 -0
  53. data/ext/pg_query/include/{c.h → postgres/c.h} +144 -156
  54. data/ext/pg_query/include/{catalog → postgres/catalog}/catalog.h +4 -3
  55. data/ext/pg_query/include/{catalog → postgres/catalog}/catversion.h +6 -2
  56. data/ext/pg_query/include/{catalog → postgres/catalog}/dependency.h +5 -4
  57. data/ext/pg_query/include/{catalog → postgres/catalog}/genbki.h +7 -6
  58. data/ext/pg_query/include/{catalog → postgres/catalog}/index.h +4 -4
  59. data/ext/pg_query/include/{catalog → postgres/catalog}/indexing.h +1 -1
  60. data/ext/pg_query/include/{catalog → postgres/catalog}/namespace.h +2 -2
  61. data/ext/pg_query/include/{catalog → postgres/catalog}/objectaccess.h +10 -8
  62. data/ext/pg_query/include/{catalog → postgres/catalog}/objectaddress.h +3 -3
  63. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate.h +1 -1
  64. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate_d.h +1 -1
  65. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am.h +1 -1
  66. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am_d.h +1 -1
  67. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute.h +19 -17
  68. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute_d.h +19 -19
  69. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid.h +1 -1
  70. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid_d.h +3 -1
  71. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class.h +1 -1
  72. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class_d.h +1 -1
  73. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation.h +3 -1
  74. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation_d.h +4 -3
  75. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint.h +2 -2
  76. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint_d.h +1 -1
  77. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_control.h +9 -1
  78. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion.h +2 -2
  79. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion_d.h +1 -1
  80. data/ext/pg_query/include/postgres/catalog/pg_database.h +124 -0
  81. data/ext/pg_query/include/postgres/catalog/pg_database_d.h +52 -0
  82. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend.h +1 -1
  83. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend_d.h +1 -1
  84. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger.h +1 -1
  85. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger_d.h +1 -1
  86. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index.h +1 -1
  87. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index_d.h +1 -1
  88. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language.h +1 -1
  89. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language_d.h +1 -1
  90. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace.h +1 -1
  91. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace_d.h +1 -1
  92. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass.h +1 -1
  93. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass_d.h +1 -1
  94. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator.h +1 -1
  95. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator_d.h +1 -1
  96. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily.h +3 -2
  97. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily_d.h +4 -2
  98. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table.h +1 -1
  99. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table_d.h +1 -1
  100. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc.h +1 -1
  101. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc_d.h +1 -1
  102. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication.h +2 -5
  103. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication_d.h +1 -1
  104. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin.h +1 -1
  105. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin_d.h +1 -1
  106. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic.h +1 -1
  107. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_d.h +1 -1
  108. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext.h +1 -1
  109. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext_d.h +1 -1
  110. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform.h +1 -1
  111. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform_d.h +1 -1
  112. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger.h +1 -1
  113. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger_d.h +1 -1
  114. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config.h +1 -1
  115. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config_d.h +1 -1
  116. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict.h +1 -1
  117. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict_d.h +1 -1
  118. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser.h +1 -1
  119. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser_d.h +1 -1
  120. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template.h +1 -1
  121. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template_d.h +1 -1
  122. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type.h +1 -1
  123. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type_d.h +1 -1
  124. data/ext/pg_query/include/{catalog → postgres/catalog}/storage.h +6 -6
  125. data/ext/pg_query/include/{commands → postgres/commands}/async.h +1 -1
  126. data/ext/pg_query/include/{commands → postgres/commands}/dbcommands.h +2 -1
  127. data/ext/pg_query/include/{commands → postgres/commands}/defrem.h +2 -1
  128. data/ext/pg_query/include/{commands → postgres/commands}/event_trigger.h +1 -1
  129. data/ext/pg_query/include/{commands → postgres/commands}/explain.h +3 -1
  130. data/ext/pg_query/include/{commands → postgres/commands}/prepare.h +1 -1
  131. data/ext/pg_query/include/{commands → postgres/commands}/tablespace.h +4 -4
  132. data/ext/pg_query/include/{commands → postgres/commands}/trigger.h +15 -14
  133. data/ext/pg_query/include/{commands → postgres/commands}/user.h +9 -3
  134. data/ext/pg_query/include/{commands → postgres/commands}/vacuum.h +60 -14
  135. data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
  136. data/ext/pg_query/include/{common → postgres/common}/file_perm.h +1 -1
  137. data/ext/pg_query/include/{common → postgres/common}/hashfn.h +1 -1
  138. data/ext/pg_query/include/postgres/common/int.h +437 -0
  139. data/ext/pg_query/include/{common → postgres/common}/keywords.h +1 -1
  140. data/ext/pg_query/include/{common → postgres/common}/kwlookup.h +2 -2
  141. data/ext/pg_query/include/{common → postgres/common}/pg_prng.h +3 -2
  142. data/ext/pg_query/include/{common → postgres/common}/relpath.h +20 -13
  143. data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
  144. data/ext/pg_query/include/postgres/common/sha2.h +32 -0
  145. data/ext/pg_query/include/{common → postgres/common}/string.h +5 -3
  146. data/ext/pg_query/include/{common → postgres/common}/unicode_east_asian_fw_table.h +10 -10
  147. data/ext/pg_query/include/{common/unicode_combining_table.h → postgres/common/unicode_nonspacing_table.h} +31 -13
  148. data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5013 -0
  149. data/ext/pg_query/include/postgres/copyfuncs.switch.c +938 -0
  150. data/ext/pg_query/include/{datatype → postgres/datatype}/timestamp.h +11 -4
  151. data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3097 -0
  152. data/ext/pg_query/include/postgres/equalfuncs.switch.c +785 -0
  153. data/ext/pg_query/include/{executor → postgres/executor}/execdesc.h +1 -1
  154. data/ext/pg_query/include/{executor → postgres/executor}/executor.h +34 -17
  155. data/ext/pg_query/include/{executor → postgres/executor}/functions.h +1 -1
  156. data/ext/pg_query/include/{executor → postgres/executor}/instrument.h +1 -1
  157. data/ext/pg_query/include/{executor → postgres/executor}/spi.h +2 -2
  158. data/ext/pg_query/include/{executor → postgres/executor}/tablefunc.h +1 -1
  159. data/ext/pg_query/include/{executor → postgres/executor}/tuptable.h +18 -11
  160. data/ext/pg_query/include/{fmgr.h → postgres/fmgr.h} +21 -2
  161. data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
  162. data/ext/pg_query/include/{funcapi.h → postgres/funcapi.h} +12 -12
  163. data/ext/pg_query/include/postgres/gram.h +1127 -0
  164. data/ext/pg_query/include/{parser → postgres}/gramparse.h +4 -4
  165. data/ext/pg_query/include/{jit → postgres/jit}/jit.h +2 -2
  166. data/ext/pg_query/include/postgres/kwlist_d.h +1119 -0
  167. data/ext/pg_query/include/{lib → postgres/lib}/dshash.h +4 -1
  168. data/ext/pg_query/include/{lib → postgres/lib}/ilist.h +435 -22
  169. data/ext/pg_query/include/{lib → postgres/lib}/pairingheap.h +1 -1
  170. data/ext/pg_query/include/{lib → postgres/lib}/simplehash.h +9 -9
  171. data/ext/pg_query/include/{lib → postgres/lib}/sort_template.h +1 -1
  172. data/ext/pg_query/include/{lib → postgres/lib}/stringinfo.h +3 -3
  173. data/ext/pg_query/include/{libpq → postgres/libpq}/auth.h +8 -2
  174. data/ext/pg_query/include/{libpq → postgres/libpq}/crypt.h +1 -1
  175. data/ext/pg_query/include/{libpq → postgres/libpq}/hba.h +24 -17
  176. data/ext/pg_query/include/{libpq → postgres/libpq}/libpq-be.h +36 -25
  177. data/ext/pg_query/include/{libpq → postgres/libpq}/libpq.h +1 -1
  178. data/ext/pg_query/include/{libpq → postgres/libpq}/pqcomm.h +10 -41
  179. data/ext/pg_query/include/{libpq → postgres/libpq}/pqformat.h +2 -2
  180. data/ext/pg_query/include/{libpq → postgres/libpq}/pqsignal.h +22 -10
  181. data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
  182. data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
  183. data/ext/pg_query/include/{mb → postgres/mb}/pg_wchar.h +35 -18
  184. data/ext/pg_query/include/{mb → postgres/mb}/stringinfo_mb.h +1 -1
  185. data/ext/pg_query/include/{miscadmin.h → postgres/miscadmin.h} +27 -15
  186. data/ext/pg_query/include/{nodes → postgres/nodes}/bitmapset.h +11 -7
  187. data/ext/pg_query/include/{nodes → postgres/nodes}/execnodes.h +83 -30
  188. data/ext/pg_query/include/{nodes → postgres/nodes}/extensible.h +5 -3
  189. data/ext/pg_query/include/{nodes → postgres/nodes}/lockoptions.h +1 -1
  190. data/ext/pg_query/include/{nodes → postgres/nodes}/makefuncs.h +14 -2
  191. data/ext/pg_query/include/{nodes → postgres/nodes}/memnodes.h +7 -4
  192. data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
  193. data/ext/pg_query/include/{nodes → postgres/nodes}/nodeFuncs.h +89 -29
  194. data/ext/pg_query/include/{nodes → postgres/nodes}/nodes.h +96 -511
  195. data/ext/pg_query/include/postgres/nodes/nodetags.h +471 -0
  196. data/ext/pg_query/include/{nodes → postgres/nodes}/params.h +3 -3
  197. data/ext/pg_query/include/{nodes → postgres/nodes}/parsenodes.h +377 -139
  198. data/ext/pg_query/include/{nodes → postgres/nodes}/pathnodes.h +1090 -440
  199. data/ext/pg_query/include/{nodes → postgres/nodes}/pg_list.h +30 -7
  200. data/ext/pg_query/include/{nodes → postgres/nodes}/plannodes.h +367 -124
  201. data/ext/pg_query/include/{nodes → postgres/nodes}/primnodes.h +670 -222
  202. data/ext/pg_query/include/{nodes → postgres/nodes}/print.h +1 -1
  203. data/ext/pg_query/include/{utils → postgres/nodes}/queryjumble.h +5 -7
  204. data/ext/pg_query/include/postgres/nodes/replnodes.h +111 -0
  205. data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
  206. data/ext/pg_query/include/{nodes → postgres/nodes}/tidbitmap.h +1 -1
  207. data/ext/pg_query/include/{nodes → postgres/nodes}/value.h +12 -2
  208. data/ext/pg_query/include/{optimizer → postgres/optimizer}/cost.h +6 -4
  209. data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo.h +1 -1
  210. data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo_gene.h +1 -1
  211. data/ext/pg_query/include/{optimizer → postgres/optimizer}/optimizer.h +8 -8
  212. data/ext/pg_query/include/{optimizer → postgres/optimizer}/paths.h +16 -7
  213. data/ext/pg_query/include/{optimizer → postgres/optimizer}/planmain.h +3 -6
  214. data/ext/pg_query/include/{parser → postgres/parser}/analyze.h +4 -3
  215. data/ext/pg_query/include/{parser → postgres/parser}/kwlist.h +12 -1
  216. data/ext/pg_query/include/{parser → postgres/parser}/parse_agg.h +4 -2
  217. data/ext/pg_query/include/{parser → postgres/parser}/parse_coerce.h +3 -1
  218. data/ext/pg_query/include/{parser → postgres/parser}/parse_expr.h +1 -1
  219. data/ext/pg_query/include/{parser → postgres/parser}/parse_func.h +1 -1
  220. data/ext/pg_query/include/{parser → postgres/parser}/parse_node.h +22 -4
  221. data/ext/pg_query/include/{parser → postgres/parser}/parse_oper.h +3 -3
  222. data/ext/pg_query/include/{parser → postgres/parser}/parse_relation.h +8 -3
  223. data/ext/pg_query/include/{parser → postgres/parser}/parse_type.h +4 -3
  224. data/ext/pg_query/include/{parser → postgres/parser}/parser.h +4 -4
  225. data/ext/pg_query/include/{parser → postgres/parser}/parsetree.h +1 -1
  226. data/ext/pg_query/include/{parser → postgres/parser}/scanner.h +2 -2
  227. data/ext/pg_query/include/{parser → postgres/parser}/scansup.h +1 -1
  228. data/ext/pg_query/include/{partitioning → postgres/partitioning}/partdefs.h +1 -1
  229. data/ext/pg_query/include/{pg_config.h → postgres/pg_config.h} +158 -218
  230. data/ext/pg_query/include/{pg_config_manual.h → postgres/pg_config_manual.h} +8 -46
  231. data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
  232. data/ext/pg_query/include/{pg_getopt.h → postgres/pg_getopt.h} +1 -1
  233. data/ext/pg_query/include/{pg_trace.h → postgres/pg_trace.h} +1 -1
  234. data/ext/pg_query/include/{pgstat.h → postgres/pgstat.h} +173 -94
  235. data/ext/pg_query/include/{pgtime.h → postgres/pgtime.h} +3 -3
  236. data/ext/pg_query/include/{pl_gram.h → postgres/pl_gram.h} +66 -64
  237. data/ext/pg_query/include/{pl_reserved_kwlist.h → postgres/pl_reserved_kwlist.h} +1 -1
  238. data/ext/pg_query/include/{pl_reserved_kwlist_d.h → postgres/pl_reserved_kwlist_d.h} +1 -1
  239. data/ext/pg_query/include/{pl_unreserved_kwlist.h → postgres/pl_unreserved_kwlist.h} +2 -1
  240. data/ext/pg_query/include/{pl_unreserved_kwlist_d.h → postgres/pl_unreserved_kwlist_d.h} +48 -46
  241. data/ext/pg_query/include/{plpgsql.h → postgres/plpgsql.h} +28 -33
  242. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-arm.h +3 -3
  243. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
  244. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-ppc.h +21 -21
  245. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-x86.h +2 -2
  246. data/ext/pg_query/include/{port → postgres/port}/atomics/fallback.h +3 -3
  247. data/ext/pg_query/include/{port → postgres/port}/atomics/generic-gcc.h +1 -1
  248. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +101 -0
  249. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +106 -0
  250. data/ext/pg_query/include/{port → postgres/port}/atomics/generic.h +1 -1
  251. data/ext/pg_query/include/{port → postgres/port}/atomics.h +2 -7
  252. data/ext/pg_query/include/{port → postgres/port}/pg_bitutils.h +62 -25
  253. data/ext/pg_query/include/{port → postgres/port}/pg_bswap.h +1 -1
  254. data/ext/pg_query/include/{port → postgres/port}/pg_crc32c.h +1 -1
  255. data/ext/pg_query/include/postgres/port/simd.h +375 -0
  256. data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
  257. data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
  258. data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
  259. data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
  260. data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
  261. data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
  262. data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
  263. data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
  264. data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
  265. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +26 -0
  266. data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
  267. data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
  268. data/ext/pg_query/include/postgres/port/win32.h +59 -0
  269. data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
  270. data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
  271. data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
  272. data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
  273. data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
  274. data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
  275. data/ext/pg_query/include/postgres/port/win32_port.h +594 -0
  276. data/ext/pg_query/include/{port.h → postgres/port.h} +42 -75
  277. data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
  278. data/ext/pg_query/include/postgres/postgres.h +579 -0
  279. data/ext/pg_query/include/{postgres_ext.h → postgres/postgres_ext.h} +0 -1
  280. data/ext/pg_query/include/{postmaster → postgres/postmaster}/autovacuum.h +1 -4
  281. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker.h +2 -2
  282. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker_internals.h +1 -1
  283. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgwriter.h +2 -2
  284. data/ext/pg_query/include/{postmaster → postgres/postmaster}/interrupt.h +1 -1
  285. data/ext/pg_query/include/postgres/postmaster/pgarch.h +36 -0
  286. data/ext/pg_query/include/{postmaster → postgres/postmaster}/postmaster.h +6 -3
  287. data/ext/pg_query/include/{postmaster → postgres/postmaster}/startup.h +3 -1
  288. data/ext/pg_query/include/{postmaster → postgres/postmaster}/syslogger.h +2 -2
  289. data/ext/pg_query/include/{postmaster → postgres/postmaster}/walwriter.h +3 -1
  290. data/ext/pg_query/include/{regex → postgres/regex}/regex.h +9 -6
  291. data/ext/pg_query/include/{replication → postgres/replication}/logicallauncher.h +6 -1
  292. data/ext/pg_query/include/{replication → postgres/replication}/logicalproto.h +30 -10
  293. data/ext/pg_query/include/postgres/replication/logicalworker.h +32 -0
  294. data/ext/pg_query/include/{replication → postgres/replication}/origin.h +4 -4
  295. data/ext/pg_query/include/{replication → postgres/replication}/reorderbuffer.h +113 -45
  296. data/ext/pg_query/include/{replication → postgres/replication}/slot.h +25 -6
  297. data/ext/pg_query/include/{replication → postgres/replication}/syncrep.h +2 -8
  298. data/ext/pg_query/include/{replication → postgres/replication}/walreceiver.h +15 -9
  299. data/ext/pg_query/include/{replication → postgres/replication}/walsender.h +13 -13
  300. data/ext/pg_query/include/{rewrite → postgres/rewrite}/prs2lock.h +1 -1
  301. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteHandler.h +1 -4
  302. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteManip.h +11 -2
  303. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteSupport.h +1 -1
  304. data/ext/pg_query/include/{storage → postgres/storage}/backendid.h +1 -1
  305. data/ext/pg_query/include/{storage → postgres/storage}/block.h +24 -31
  306. data/ext/pg_query/include/{storage → postgres/storage}/buf.h +1 -1
  307. data/ext/pg_query/include/{storage → postgres/storage}/bufmgr.h +183 -87
  308. data/ext/pg_query/include/{storage → postgres/storage}/bufpage.h +146 -93
  309. data/ext/pg_query/include/{storage → postgres/storage}/condition_variable.h +2 -2
  310. data/ext/pg_query/include/{storage → postgres/storage}/dsm.h +3 -6
  311. data/ext/pg_query/include/{storage → postgres/storage}/dsm_impl.h +4 -1
  312. data/ext/pg_query/include/{storage → postgres/storage}/fd.h +24 -20
  313. data/ext/pg_query/include/{storage → postgres/storage}/fileset.h +1 -1
  314. data/ext/pg_query/include/{storage → postgres/storage}/ipc.h +2 -2
  315. data/ext/pg_query/include/{storage → postgres/storage}/item.h +1 -1
  316. data/ext/pg_query/include/{storage → postgres/storage}/itemid.h +1 -1
  317. data/ext/pg_query/include/{storage → postgres/storage}/itemptr.h +94 -57
  318. data/ext/pg_query/include/{storage → postgres/storage}/large_object.h +1 -1
  319. data/ext/pg_query/include/{storage → postgres/storage}/latch.h +9 -1
  320. data/ext/pg_query/include/{storage → postgres/storage}/lmgr.h +6 -1
  321. data/ext/pg_query/include/{storage → postgres/storage}/lock.h +21 -13
  322. data/ext/pg_query/include/{storage → postgres/storage}/lockdefs.h +3 -3
  323. data/ext/pg_query/include/{storage → postgres/storage}/lwlock.h +16 -2
  324. data/ext/pg_query/include/{storage → postgres/storage}/off.h +1 -1
  325. data/ext/pg_query/include/{storage → postgres/storage}/pg_sema.h +1 -1
  326. data/ext/pg_query/include/{storage → postgres/storage}/pg_shmem.h +1 -1
  327. data/ext/pg_query/include/{storage → postgres/storage}/pmsignal.h +1 -1
  328. data/ext/pg_query/include/{storage → postgres/storage}/predicate.h +2 -2
  329. data/ext/pg_query/include/{storage → postgres/storage}/proc.h +22 -17
  330. data/ext/pg_query/include/{storage → postgres/storage}/procarray.h +3 -2
  331. data/ext/pg_query/include/{storage → postgres/storage}/proclist_types.h +1 -1
  332. data/ext/pg_query/include/{storage → postgres/storage}/procsignal.h +3 -1
  333. data/ext/pg_query/include/postgres/storage/relfilelocator.h +99 -0
  334. data/ext/pg_query/include/{storage → postgres/storage}/s_lock.h +66 -309
  335. data/ext/pg_query/include/{storage → postgres/storage}/sharedfileset.h +1 -1
  336. data/ext/pg_query/include/{storage → postgres/storage}/shm_mq.h +1 -1
  337. data/ext/pg_query/include/{storage → postgres/storage}/shm_toc.h +1 -1
  338. data/ext/pg_query/include/{storage → postgres/storage}/shmem.h +1 -23
  339. data/ext/pg_query/include/{storage → postgres/storage}/sinval.h +3 -3
  340. data/ext/pg_query/include/{storage → postgres/storage}/sinvaladt.h +4 -2
  341. data/ext/pg_query/include/{storage → postgres/storage}/smgr.h +12 -10
  342. data/ext/pg_query/include/{storage → postgres/storage}/spin.h +1 -1
  343. data/ext/pg_query/include/{storage → postgres/storage}/standby.h +9 -8
  344. data/ext/pg_query/include/{storage → postgres/storage}/standbydefs.h +1 -1
  345. data/ext/pg_query/include/{storage → postgres/storage}/sync.h +3 -3
  346. data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtag.h +7 -2
  347. data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtaglist.h +1 -1
  348. data/ext/pg_query/include/{tcop → postgres/tcop}/deparse_utility.h +1 -1
  349. data/ext/pg_query/include/{tcop → postgres/tcop}/dest.h +1 -3
  350. data/ext/pg_query/include/{tcop → postgres/tcop}/fastpath.h +1 -1
  351. data/ext/pg_query/include/{tcop → postgres/tcop}/pquery.h +1 -1
  352. data/ext/pg_query/include/{tcop → postgres/tcop}/tcopprot.h +3 -6
  353. data/ext/pg_query/include/{tcop → postgres/tcop}/utility.h +1 -1
  354. data/ext/pg_query/include/{tsearch → postgres/tsearch}/ts_cache.h +2 -4
  355. data/ext/pg_query/include/{utils → postgres/utils}/acl.h +26 -81
  356. data/ext/pg_query/include/{utils → postgres/utils}/aclchk_internal.h +1 -1
  357. data/ext/pg_query/include/{utils → postgres/utils}/array.h +19 -1
  358. data/ext/pg_query/include/{utils → postgres/utils}/backend_progress.h +2 -1
  359. data/ext/pg_query/include/{utils → postgres/utils}/backend_status.h +24 -3
  360. data/ext/pg_query/include/{utils → postgres/utils}/builtins.h +15 -6
  361. data/ext/pg_query/include/{utils → postgres/utils}/bytea.h +1 -1
  362. data/ext/pg_query/include/{utils → postgres/utils}/catcache.h +1 -1
  363. data/ext/pg_query/include/{utils → postgres/utils}/date.h +37 -9
  364. data/ext/pg_query/include/{utils → postgres/utils}/datetime.h +41 -21
  365. data/ext/pg_query/include/{utils → postgres/utils}/datum.h +1 -1
  366. data/ext/pg_query/include/{utils → postgres/utils}/dsa.h +5 -1
  367. data/ext/pg_query/include/{utils → postgres/utils}/elog.h +104 -29
  368. data/ext/pg_query/include/{utils → postgres/utils}/expandeddatum.h +14 -3
  369. data/ext/pg_query/include/{utils → postgres/utils}/expandedrecord.h +14 -4
  370. data/ext/pg_query/include/{utils → postgres/utils}/float.h +7 -6
  371. data/ext/pg_query/include/{utils → postgres/utils}/fmgroids.h +54 -1
  372. data/ext/pg_query/include/{utils → postgres/utils}/fmgrprotos.h +45 -3
  373. data/ext/pg_query/include/{utils → postgres/utils}/fmgrtab.h +1 -1
  374. data/ext/pg_query/include/{utils → postgres/utils}/guc.h +59 -86
  375. data/ext/pg_query/include/postgres/utils/guc_hooks.h +163 -0
  376. data/ext/pg_query/include/{utils → postgres/utils}/guc_tables.h +49 -3
  377. data/ext/pg_query/include/{utils → postgres/utils}/hsearch.h +1 -1
  378. data/ext/pg_query/include/{utils → postgres/utils}/inval.h +3 -3
  379. data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
  380. data/ext/pg_query/include/{utils → postgres/utils}/lsyscache.h +5 -1
  381. data/ext/pg_query/include/{utils → postgres/utils}/memdebug.h +1 -1
  382. data/ext/pg_query/include/{utils → postgres/utils}/memutils.h +7 -51
  383. data/ext/pg_query/include/postgres/utils/memutils_internal.h +136 -0
  384. data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +237 -0
  385. data/ext/pg_query/include/{utils → postgres/utils}/numeric.h +20 -5
  386. data/ext/pg_query/include/{utils → postgres/utils}/palloc.h +9 -2
  387. data/ext/pg_query/include/{utils → postgres/utils}/partcache.h +3 -2
  388. data/ext/pg_query/include/{utils → postgres/utils}/pg_locale.h +22 -14
  389. data/ext/pg_query/include/{utils → postgres/utils}/pgstat_internal.h +37 -7
  390. data/ext/pg_query/include/{utils → postgres/utils}/plancache.h +1 -1
  391. data/ext/pg_query/include/{utils → postgres/utils}/portal.h +1 -1
  392. data/ext/pg_query/include/{utils → postgres/utils}/probes.h +6 -6
  393. data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
  394. data/ext/pg_query/include/{utils → postgres/utils}/queryenvironment.h +1 -1
  395. data/ext/pg_query/include/{utils → postgres/utils}/regproc.h +3 -3
  396. data/ext/pg_query/include/{utils → postgres/utils}/rel.h +60 -43
  397. data/ext/pg_query/include/{utils → postgres/utils}/relcache.h +13 -8
  398. data/ext/pg_query/include/{utils → postgres/utils}/reltrigger.h +1 -1
  399. data/ext/pg_query/include/{utils → postgres/utils}/resowner.h +1 -1
  400. data/ext/pg_query/include/{utils → postgres/utils}/ruleutils.h +6 -1
  401. data/ext/pg_query/include/{utils → postgres/utils}/sharedtuplestore.h +1 -1
  402. data/ext/pg_query/include/{utils → postgres/utils}/snapmgr.h +4 -2
  403. data/ext/pg_query/include/{utils → postgres/utils}/snapshot.h +1 -1
  404. data/ext/pg_query/include/{utils → postgres/utils}/sortsupport.h +2 -2
  405. data/ext/pg_query/include/{utils → postgres/utils}/syscache.h +4 -1
  406. data/ext/pg_query/include/{utils → postgres/utils}/timeout.h +1 -1
  407. data/ext/pg_query/include/{utils → postgres/utils}/timestamp.h +41 -11
  408. data/ext/pg_query/include/{utils → postgres/utils}/tuplesort.h +189 -35
  409. data/ext/pg_query/include/{utils → postgres/utils}/tuplestore.h +1 -1
  410. data/ext/pg_query/include/{utils → postgres/utils}/typcache.h +1 -1
  411. data/ext/pg_query/include/{utils → postgres/utils}/varlena.h +13 -1
  412. data/ext/pg_query/include/{utils → postgres/utils}/wait_event.h +9 -4
  413. data/ext/pg_query/include/{utils → postgres/utils}/xml.h +15 -5
  414. data/ext/pg_query/include/{postgres.h → postgres/varatt.h} +7 -457
  415. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +6186 -5585
  416. data/ext/pg_query/include/protobuf/pg_query.pb.h +112443 -91222
  417. data/ext/pg_query/pg_query.c +10 -1
  418. data/ext/pg_query/pg_query.pb-c.c +19755 -17757
  419. data/ext/pg_query/pg_query_deparse.c +1 -10635
  420. data/ext/pg_query/pg_query_fingerprint.c +12 -8
  421. data/ext/pg_query/pg_query_fingerprint.h +1 -1
  422. data/ext/pg_query/pg_query_internal.h +1 -1
  423. data/ext/pg_query/pg_query_json_plpgsql.c +1 -0
  424. data/ext/pg_query/pg_query_normalize.c +1 -1
  425. data/ext/pg_query/pg_query_outfuncs_json.c +6 -0
  426. data/ext/pg_query/pg_query_outfuncs_protobuf.c +3 -2
  427. data/ext/pg_query/pg_query_parse.c +47 -5
  428. data/ext/pg_query/pg_query_parse_plpgsql.c +7 -5
  429. data/ext/pg_query/pg_query_readfuncs_protobuf.c +1 -0
  430. data/ext/pg_query/pg_query_ruby.c +5 -0
  431. data/ext/pg_query/pg_query_ruby_freebsd.sym +2 -0
  432. data/ext/pg_query/pg_query_scan.c +1 -1
  433. data/ext/pg_query/pg_query_split.c +3 -3
  434. data/ext/pg_query/postgres_deparse.c +11067 -0
  435. data/ext/pg_query/postgres_deparse.h +9 -0
  436. data/ext/pg_query/src_backend_catalog_namespace.c +7 -2
  437. data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -1
  438. data/ext/pg_query/src_backend_commands_define.c +1 -1
  439. data/ext/pg_query/src_backend_nodes_bitmapset.c +11 -70
  440. data/ext/pg_query/src_backend_nodes_copyfuncs.c +96 -6202
  441. data/ext/pg_query/src_backend_nodes_equalfuncs.c +95 -4068
  442. data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
  443. data/ext/pg_query/src_backend_nodes_list.c +14 -2
  444. data/ext/pg_query/src_backend_nodes_makefuncs.c +95 -1
  445. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +283 -132
  446. data/ext/pg_query/src_backend_nodes_nodes.c +38 -0
  447. data/ext/pg_query/src_backend_nodes_value.c +1 -1
  448. data/ext/pg_query/src_backend_parser_gram.c +33208 -31806
  449. data/ext/pg_query/src_backend_parser_parser.c +28 -2
  450. data/ext/pg_query/src_backend_parser_scan.c +4318 -3329
  451. data/ext/pg_query/src_backend_parser_scansup.c +1 -1
  452. data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
  453. data/ext/pg_query/src_backend_tcop_postgres.c +66 -87
  454. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +1 -1
  455. data/ext/pg_query/src_backend_utils_adt_datum.c +5 -7
  456. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  457. data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
  458. data/ext/pg_query/src_backend_utils_adt_numutils.c +489 -0
  459. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +79 -5
  460. data/ext/pg_query/src_backend_utils_error_assert.c +4 -7
  461. data/ext/pg_query/src_backend_utils_error_elog.c +371 -249
  462. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +33 -1
  463. data/ext/pg_query/src_backend_utils_init_globals.c +6 -3
  464. data/ext/pg_query/src_backend_utils_mb_mbutils.c +21 -67
  465. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +492 -0
  466. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +163 -0
  467. data/ext/pg_query/src_backend_utils_mmgr_aset.c +449 -312
  468. data/ext/pg_query/src_backend_utils_mmgr_generation.c +1039 -0
  469. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +398 -49
  470. data/ext/pg_query/src_backend_utils_mmgr_slab.c +1021 -0
  471. data/ext/pg_query/src_common_encnames.c +4 -1
  472. data/ext/pg_query/src_common_hashfn.c +1 -1
  473. data/ext/pg_query/src_common_keywords.c +1 -1
  474. data/ext/pg_query/src_common_kwlist_d.h +534 -510
  475. data/ext/pg_query/src_common_kwlookup.c +1 -1
  476. data/ext/pg_query/src_common_psprintf.c +1 -1
  477. data/ext/pg_query/src_common_stringinfo.c +4 -4
  478. data/ext/pg_query/src_common_wchar.c +9 -8
  479. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +1 -1
  480. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -1
  481. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +661 -694
  482. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  483. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
  484. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +1 -1
  485. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +48 -46
  486. data/ext/pg_query/src_port_pg_bitutils.c +79 -5
  487. data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
  488. data/ext/pg_query/src_port_snprintf.c +6 -10
  489. data/ext/pg_query/src_port_strerror.c +1 -1
  490. data/ext/pg_query/src_port_strlcpy.c +79 -0
  491. data/lib/pg_query/fingerprint.rb +2 -3
  492. data/lib/pg_query/node.rb +16 -11
  493. data/lib/pg_query/parse.rb +1 -1
  494. data/lib/pg_query/pg_query_pb.rb +166 -3191
  495. data/lib/pg_query/treewalker.rb +23 -5
  496. data/lib/pg_query/version.rb +1 -1
  497. metadata +432 -380
  498. data/ext/pg_query/guc-file.c +0 -0
  499. data/ext/pg_query/include/catalog/pg_parameter_acl.h +0 -60
  500. data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +0 -34
  501. data/ext/pg_query/include/commands/variable.h +0 -38
  502. data/ext/pg_query/include/common/ip.h +0 -31
  503. data/ext/pg_query/include/getaddrinfo.h +0 -162
  504. data/ext/pg_query/include/kwlist_d.h +0 -1095
  505. data/ext/pg_query/include/parser/gram.h +0 -1101
  506. data/ext/pg_query/include/pg_config_os.h +0 -8
  507. data/ext/pg_query/include/portability/instr_time.h +0 -256
  508. data/ext/pg_query/include/postmaster/auxprocess.h +0 -20
  509. data/ext/pg_query/include/postmaster/fork_process.h +0 -17
  510. data/ext/pg_query/include/postmaster/pgarch.h +0 -73
  511. data/ext/pg_query/include/replication/logicalworker.h +0 -19
  512. data/ext/pg_query/include/storage/relfilenode.h +0 -99
  513. data/ext/pg_query/include/utils/dynahash.h +0 -20
  514. data/ext/pg_query/include/utils/pg_lsn.h +0 -29
  515. data/ext/pg_query/include/utils/pidfile.h +0 -56
  516. data/ext/pg_query/include/utils/ps_status.h +0 -25
  517. data/ext/pg_query/include/utils/rls.h +0 -50
  518. data/ext/pg_query/include/utils/tzparser.h +0 -39
  519. data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2201
  520. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -371
  521. data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1116
  522. data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1993
  523. data/ext/pg_query/src_common_pg_prng.c +0 -152
  524. data/ext/pg_query/src_common_string.c +0 -92
  525. data/ext/pg_query/src_port_pgsleep.c +0 -69
  526. data/ext/pg_query/src_port_strnlen.c +0 -39
  527. /data/ext/pg_query/include/{access → postgres/access}/rmgr.h +0 -0
  528. /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
  529. /data/ext/pg_query/include/{plerrcodes.h → postgres/plerrcodes.h} +0 -0
  530. /data/ext/pg_query/include/{storage → postgres/storage}/lwlocknames.h +0 -0
  531. /data/ext/pg_query/include/{utils → postgres/utils}/errcodes.h +0 -0
@@ -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_UINT64_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