pg_query 2.0.3 → 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 (557) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +165 -0
  3. data/README.md +67 -29
  4. data/Rakefile +8 -23
  5. data/ext/pg_query/extconf.rb +21 -3
  6. data/ext/pg_query/include/pg_query.h +29 -4
  7. data/ext/pg_query/include/pg_query_enum_defs.c +551 -272
  8. data/ext/pg_query/include/pg_query_fingerprint_conds.c +563 -470
  9. data/ext/pg_query/include/pg_query_fingerprint_defs.c +5403 -3945
  10. data/ext/pg_query/include/pg_query_outfuncs_conds.c +402 -330
  11. data/ext/pg_query/include/pg_query_outfuncs_defs.c +1319 -1059
  12. data/ext/pg_query/include/pg_query_readfuncs_conds.c +141 -118
  13. data/ext/pg_query/include/pg_query_readfuncs_defs.c +1685 -1379
  14. data/ext/pg_query/include/{access → postgres/access}/amapi.h +47 -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 +2 -2
  17. data/ext/pg_query/include/{access → postgres/access}/clog.h +4 -2
  18. data/ext/pg_query/include/{access → postgres/access}/commit_ts.h +6 -9
  19. data/ext/pg_query/include/{access → postgres/access}/detoast.h +1 -11
  20. data/ext/pg_query/include/{access → postgres/access}/genam.h +21 -16
  21. data/ext/pg_query/include/{access → postgres/access}/gin.h +17 -4
  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 +80 -88
  24. data/ext/pg_query/include/{access → postgres/access}/itup.h +61 -52
  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 +17 -2
  29. data/ext/pg_query/include/postgres/access/rmgr.h +62 -0
  30. data/ext/pg_query/include/{access → postgres/access}/rmgrlist.h +24 -24
  31. data/ext/pg_query/include/{access → postgres/access}/sdir.h +12 -3
  32. data/ext/pg_query/include/{access → postgres/access}/skey.h +1 -1
  33. data/ext/pg_query/include/{access → postgres/access}/stratnum.h +4 -2
  34. data/ext/pg_query/include/{access → postgres/access}/sysattr.h +1 -1
  35. data/ext/pg_query/include/{access → postgres/access}/table.h +2 -1
  36. data/ext/pg_query/include/{access → postgres/access}/tableam.h +337 -62
  37. data/ext/pg_query/include/postgres/access/toast_compression.h +73 -0
  38. data/ext/pg_query/include/{access → postgres/access}/transam.h +123 -13
  39. data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
  40. data/ext/pg_query/include/{access → postgres/access}/tupconvert.h +5 -2
  41. data/ext/pg_query/include/{access → postgres/access}/tupdesc.h +2 -2
  42. data/ext/pg_query/include/{access → postgres/access}/tupmacs.h +60 -100
  43. data/ext/pg_query/include/{access → postgres/access}/twophase.h +5 -1
  44. data/ext/pg_query/include/{access → postgres/access}/xact.h +99 -32
  45. data/ext/pg_query/include/{access → postgres/access}/xlog.h +69 -165
  46. data/ext/pg_query/include/{access → postgres/access}/xlog_internal.h +147 -73
  47. data/ext/pg_query/include/postgres/access/xlogbackup.h +41 -0
  48. data/ext/pg_query/include/{access → postgres/access}/xlogdefs.h +13 -40
  49. data/ext/pg_query/include/postgres/access/xlogprefetcher.h +55 -0
  50. data/ext/pg_query/include/{access → postgres/access}/xlogreader.h +154 -37
  51. data/ext/pg_query/include/{access → postgres/access}/xlogrecord.h +34 -13
  52. data/ext/pg_query/include/postgres/access/xlogrecovery.h +158 -0
  53. data/ext/pg_query/include/postgres/archive/archive_module.h +59 -0
  54. data/ext/pg_query/include/{c.h → postgres/c.h} +245 -188
  55. data/ext/pg_query/include/{catalog → postgres/catalog}/catalog.h +6 -3
  56. data/ext/pg_query/include/{catalog → postgres/catalog}/catversion.h +6 -2
  57. data/ext/pg_query/include/{catalog → postgres/catalog}/dependency.h +14 -19
  58. data/ext/pg_query/include/postgres/catalog/genbki.h +143 -0
  59. data/ext/pg_query/include/{catalog → postgres/catalog}/index.h +20 -5
  60. data/ext/pg_query/include/postgres/catalog/indexing.h +54 -0
  61. data/ext/pg_query/include/{catalog → postgres/catalog}/namespace.h +5 -3
  62. data/ext/pg_query/include/{catalog → postgres/catalog}/objectaccess.h +73 -3
  63. data/ext/pg_query/include/{catalog → postgres/catalog}/objectaddress.h +12 -7
  64. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate.h +14 -10
  65. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_aggregate_d.h +2 -1
  66. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am.h +4 -1
  67. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_am_d.h +3 -1
  68. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute.h +45 -26
  69. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_attribute_d.h +19 -16
  70. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid.h +7 -2
  71. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_authid_d.h +19 -9
  72. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class.h +45 -15
  73. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_class_d.h +31 -2
  74. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation.h +35 -8
  75. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_collation_d.h +21 -3
  76. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint.h +39 -13
  77. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_constraint_d.h +10 -4
  78. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_control.h +13 -5
  79. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion.h +8 -5
  80. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_conversion_d.h +4 -1
  81. data/ext/pg_query/include/postgres/catalog/pg_database.h +124 -0
  82. data/ext/pg_query/include/postgres/catalog/pg_database_d.h +52 -0
  83. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend.h +11 -7
  84. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_depend_d.h +3 -1
  85. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger.h +9 -3
  86. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_event_trigger_d.h +3 -1
  87. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index.h +17 -7
  88. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_index_d.h +20 -17
  89. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language.h +10 -5
  90. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_language_d.h +3 -1
  91. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace.h +7 -2
  92. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_namespace_d.h +3 -1
  93. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass.h +8 -5
  94. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opclass_d.h +3 -1
  95. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator.h +21 -16
  96. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_operator_d.h +37 -1
  97. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily.h +8 -4
  98. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_opfamily_d.h +6 -2
  99. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table.h +20 -9
  100. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_partitioned_table_d.h +2 -1
  101. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc.h +20 -11
  102. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_proc_d.h +10 -8
  103. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication.h +49 -6
  104. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_publication_d.h +3 -1
  105. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin.h +6 -1
  106. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_replication_origin_d.h +5 -1
  107. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic.h +19 -12
  108. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_d.h +2 -1
  109. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext.h +19 -5
  110. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_statistic_ext_d.h +7 -2
  111. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform.h +8 -5
  112. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_transform_d.h +3 -1
  113. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger.h +24 -8
  114. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_trigger_d.h +4 -1
  115. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config.h +6 -3
  116. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_config_d.h +3 -1
  117. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict.h +8 -3
  118. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_dict_d.h +3 -1
  119. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser.h +6 -3
  120. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_parser_d.h +3 -1
  121. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template.h +6 -3
  122. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_ts_template_d.h +3 -1
  123. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type.h +56 -24
  124. data/ext/pg_query/include/{catalog → postgres/catalog}/pg_type_d.h +70 -31
  125. data/ext/pg_query/include/{catalog → postgres/catalog}/storage.h +9 -7
  126. data/ext/pg_query/include/{commands → postgres/commands}/async.h +4 -5
  127. data/ext/pg_query/include/{commands → postgres/commands}/dbcommands.h +3 -1
  128. data/ext/pg_query/include/{commands → postgres/commands}/defrem.h +12 -24
  129. data/ext/pg_query/include/{commands → postgres/commands}/event_trigger.h +2 -2
  130. data/ext/pg_query/include/{commands → postgres/commands}/explain.h +3 -1
  131. data/ext/pg_query/include/{commands → postgres/commands}/prepare.h +1 -1
  132. data/ext/pg_query/include/{commands → postgres/commands}/tablespace.h +6 -4
  133. data/ext/pg_query/include/{commands → postgres/commands}/trigger.h +36 -25
  134. data/ext/pg_query/include/{commands → postgres/commands}/user.h +10 -4
  135. data/ext/pg_query/include/{commands → postgres/commands}/vacuum.h +140 -47
  136. data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
  137. data/ext/pg_query/include/{common → postgres/common}/file_perm.h +4 -4
  138. data/ext/pg_query/include/{common → postgres/common}/hashfn.h +1 -1
  139. data/ext/pg_query/include/postgres/common/int.h +437 -0
  140. data/ext/pg_query/include/{common → postgres/common}/keywords.h +2 -6
  141. data/ext/pg_query/include/{common → postgres/common}/kwlookup.h +2 -2
  142. data/ext/pg_query/include/postgres/common/pg_prng.h +61 -0
  143. data/ext/pg_query/include/{common → postgres/common}/relpath.h +21 -14
  144. data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
  145. data/ext/pg_query/include/postgres/common/sha2.h +32 -0
  146. data/ext/pg_query/include/postgres/common/string.h +44 -0
  147. data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +125 -0
  148. data/ext/pg_query/include/{common/unicode_combining_table.h → postgres/common/unicode_nonspacing_table.h} +138 -8
  149. data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5013 -0
  150. data/ext/pg_query/include/postgres/copyfuncs.switch.c +938 -0
  151. data/ext/pg_query/include/{datatype → postgres/datatype}/timestamp.h +50 -4
  152. data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3097 -0
  153. data/ext/pg_query/include/postgres/equalfuncs.switch.c +785 -0
  154. data/ext/pg_query/include/{executor → postgres/executor}/execdesc.h +1 -1
  155. data/ext/pg_query/include/{executor → postgres/executor}/executor.h +98 -32
  156. data/ext/pg_query/include/{executor → postgres/executor}/functions.h +17 -3
  157. data/ext/pg_query/include/{executor → postgres/executor}/instrument.h +33 -16
  158. data/ext/pg_query/include/{executor → postgres/executor}/spi.h +42 -4
  159. data/ext/pg_query/include/{executor → postgres/executor}/tablefunc.h +1 -1
  160. data/ext/pg_query/include/{executor → postgres/executor}/tuptable.h +18 -11
  161. data/ext/pg_query/include/{fmgr.h → postgres/fmgr.h} +33 -8
  162. data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
  163. data/ext/pg_query/include/{funcapi.h → postgres/funcapi.h} +22 -10
  164. data/ext/pg_query/include/postgres/gram.h +1127 -0
  165. data/ext/pg_query/include/{parser → postgres}/gramparse.h +4 -4
  166. data/ext/pg_query/include/{jit → postgres/jit}/jit.h +12 -12
  167. data/ext/pg_query/include/postgres/kwlist_d.h +1119 -0
  168. data/ext/pg_query/include/postgres/lib/dshash.h +115 -0
  169. data/ext/pg_query/include/{lib → postgres/lib}/ilist.h +454 -22
  170. data/ext/pg_query/include/{lib → postgres/lib}/pairingheap.h +1 -1
  171. data/ext/pg_query/include/{lib → postgres/lib}/simplehash.h +158 -33
  172. data/ext/pg_query/include/postgres/lib/sort_template.h +432 -0
  173. data/ext/pg_query/include/{lib → postgres/lib}/stringinfo.h +3 -3
  174. data/ext/pg_query/include/{libpq → postgres/libpq}/auth.h +12 -4
  175. data/ext/pg_query/include/{libpq → postgres/libpq}/crypt.h +5 -4
  176. data/ext/pg_query/include/{libpq → postgres/libpq}/hba.h +54 -8
  177. data/ext/pg_query/include/{libpq → postgres/libpq}/libpq-be.h +45 -17
  178. data/ext/pg_query/include/{libpq → postgres/libpq}/libpq.h +31 -20
  179. data/ext/pg_query/include/{libpq → postgres/libpq}/pqcomm.h +26 -71
  180. data/ext/pg_query/include/{libpq → postgres/libpq}/pqformat.h +2 -2
  181. data/ext/pg_query/include/{libpq → postgres/libpq}/pqsignal.h +25 -13
  182. data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
  183. data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
  184. data/ext/pg_query/include/{mb → postgres/mb}/pg_wchar.h +125 -25
  185. data/ext/pg_query/include/{mb → postgres/mb}/stringinfo_mb.h +1 -1
  186. data/ext/pg_query/include/{miscadmin.h → postgres/miscadmin.h} +96 -65
  187. data/ext/pg_query/include/{nodes → postgres/nodes}/bitmapset.h +11 -7
  188. data/ext/pg_query/include/{nodes → postgres/nodes}/execnodes.h +351 -103
  189. data/ext/pg_query/include/{nodes → postgres/nodes}/extensible.h +8 -4
  190. data/ext/pg_query/include/{nodes → postgres/nodes}/lockoptions.h +1 -1
  191. data/ext/pg_query/include/{nodes → postgres/nodes}/makefuncs.h +19 -6
  192. data/ext/pg_query/include/{nodes → postgres/nodes}/memnodes.h +11 -6
  193. data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
  194. data/ext/pg_query/include/{nodes → postgres/nodes}/nodeFuncs.h +89 -29
  195. data/ext/pg_query/include/{nodes → postgres/nodes}/nodes.h +100 -496
  196. data/ext/pg_query/include/postgres/nodes/nodetags.h +471 -0
  197. data/ext/pg_query/include/{nodes → postgres/nodes}/params.h +3 -3
  198. data/ext/pg_query/include/{nodes → postgres/nodes}/parsenodes.h +678 -207
  199. data/ext/pg_query/include/{nodes → postgres/nodes}/pathnodes.h +1282 -454
  200. data/ext/pg_query/include/{nodes → postgres/nodes}/pg_list.h +103 -73
  201. data/ext/pg_query/include/{nodes → postgres/nodes}/plannodes.h +474 -133
  202. data/ext/pg_query/include/{nodes → postgres/nodes}/primnodes.h +754 -254
  203. data/ext/pg_query/include/{nodes → postgres/nodes}/print.h +1 -1
  204. data/ext/pg_query/include/postgres/nodes/queryjumble.h +86 -0
  205. data/ext/pg_query/include/postgres/nodes/replnodes.h +111 -0
  206. data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
  207. data/ext/pg_query/include/{nodes → postgres/nodes}/tidbitmap.h +1 -1
  208. data/ext/pg_query/include/postgres/nodes/value.h +90 -0
  209. data/ext/pg_query/include/{optimizer → postgres/optimizer}/cost.h +14 -5
  210. data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo.h +9 -7
  211. data/ext/pg_query/include/{optimizer → postgres/optimizer}/geqo_gene.h +1 -1
  212. data/ext/pg_query/include/{optimizer → postgres/optimizer}/optimizer.h +31 -28
  213. data/ext/pg_query/include/{optimizer → postgres/optimizer}/paths.h +29 -12
  214. data/ext/pg_query/include/{optimizer → postgres/optimizer}/planmain.h +15 -17
  215. data/ext/pg_query/include/{parser → postgres/parser}/analyze.h +20 -5
  216. data/ext/pg_query/include/postgres/parser/kwlist.h +498 -0
  217. data/ext/pg_query/include/{parser → postgres/parser}/parse_agg.h +5 -8
  218. data/ext/pg_query/include/{parser → postgres/parser}/parse_coerce.h +6 -1
  219. data/ext/pg_query/include/{parser → postgres/parser}/parse_expr.h +2 -3
  220. data/ext/pg_query/include/{parser → postgres/parser}/parse_func.h +2 -1
  221. data/ext/pg_query/include/{parser → postgres/parser}/parse_node.h +41 -11
  222. data/ext/pg_query/include/{parser → postgres/parser}/parse_oper.h +3 -5
  223. data/ext/pg_query/include/{parser → postgres/parser}/parse_relation.h +11 -5
  224. data/ext/pg_query/include/{parser → postgres/parser}/parse_type.h +4 -3
  225. data/ext/pg_query/include/postgres/parser/parser.h +68 -0
  226. data/ext/pg_query/include/{parser → postgres/parser}/parsetree.h +1 -1
  227. data/ext/pg_query/include/{parser → postgres/parser}/scanner.h +2 -2
  228. data/ext/pg_query/include/{parser → postgres/parser}/scansup.h +2 -5
  229. data/ext/pg_query/include/{partitioning → postgres/partitioning}/partdefs.h +1 -1
  230. data/ext/pg_query/include/{pg_config.h → postgres/pg_config.h} +216 -228
  231. data/ext/pg_query/include/{pg_config_manual.h → postgres/pg_config_manual.h} +80 -58
  232. data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
  233. data/ext/pg_query/include/{pg_getopt.h → postgres/pg_getopt.h} +6 -6
  234. data/ext/pg_query/include/{pg_trace.h → postgres/pg_trace.h} +1 -1
  235. data/ext/pg_query/include/postgres/pgstat.h +778 -0
  236. data/ext/pg_query/include/{pgtime.h → postgres/pgtime.h} +16 -6
  237. data/ext/pg_query/include/{pl_gram.h → postgres/pl_gram.h} +116 -116
  238. data/ext/pg_query/include/{pl_reserved_kwlist.h → postgres/pl_reserved_kwlist.h} +1 -1
  239. data/ext/pg_query/include/{pl_reserved_kwlist_d.h → postgres/pl_reserved_kwlist_d.h} +10 -10
  240. data/ext/pg_query/include/{pl_unreserved_kwlist.h → postgres/pl_unreserved_kwlist.h} +3 -3
  241. data/ext/pg_query/include/{pl_unreserved_kwlist_d.h → postgres/pl_unreserved_kwlist_d.h} +60 -60
  242. data/ext/pg_query/include/{plerrcodes.h → postgres/plerrcodes.h} +9 -1
  243. data/ext/pg_query/include/{plpgsql.h → postgres/plpgsql.h} +79 -86
  244. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-arm.h +9 -3
  245. data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
  246. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-ppc.h +21 -21
  247. data/ext/pg_query/include/{port → postgres/port}/atomics/arch-x86.h +2 -2
  248. data/ext/pg_query/include/{port → postgres/port}/atomics/fallback.h +3 -3
  249. data/ext/pg_query/include/{port → postgres/port}/atomics/generic-gcc.h +3 -3
  250. data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +101 -0
  251. data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +106 -0
  252. data/ext/pg_query/include/{port → postgres/port}/atomics/generic.h +1 -1
  253. data/ext/pg_query/include/{port → postgres/port}/atomics.h +2 -7
  254. data/ext/pg_query/include/{port → postgres/port}/pg_bitutils.h +129 -16
  255. data/ext/pg_query/include/{port → postgres/port}/pg_bswap.h +1 -1
  256. data/ext/pg_query/include/{port → postgres/port}/pg_crc32c.h +1 -1
  257. data/ext/pg_query/include/postgres/port/simd.h +375 -0
  258. data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
  259. data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
  260. data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
  261. data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
  262. data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
  263. data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
  264. data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
  265. data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
  266. data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
  267. data/ext/pg_query/include/postgres/port/win32/sys/socket.h +26 -0
  268. data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
  269. data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
  270. data/ext/pg_query/include/postgres/port/win32.h +59 -0
  271. data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
  272. data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
  273. data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
  274. data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
  275. data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
  276. data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
  277. data/ext/pg_query/include/postgres/port/win32_port.h +594 -0
  278. data/ext/pg_query/include/{port.h → postgres/port.h} +107 -111
  279. data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
  280. data/ext/pg_query/include/postgres/postgres.h +579 -0
  281. data/ext/pg_query/include/{postgres_ext.h → postgres/postgres_ext.h} +0 -1
  282. data/ext/pg_query/include/{postmaster → postgres/postmaster}/autovacuum.h +17 -20
  283. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker.h +3 -2
  284. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgworker_internals.h +2 -2
  285. data/ext/pg_query/include/{postmaster → postgres/postmaster}/bgwriter.h +6 -6
  286. data/ext/pg_query/include/{postmaster → postgres/postmaster}/interrupt.h +1 -1
  287. data/ext/pg_query/include/{postmaster → postgres/postmaster}/pgarch.h +7 -10
  288. data/ext/pg_query/include/{postmaster → postgres/postmaster}/postmaster.h +21 -17
  289. data/ext/pg_query/include/postgres/postmaster/startup.h +41 -0
  290. data/ext/pg_query/include/{postmaster → postgres/postmaster}/syslogger.h +16 -11
  291. data/ext/pg_query/include/{postmaster → postgres/postmaster}/walwriter.h +5 -3
  292. data/ext/pg_query/include/{regex → postgres/regex}/regex.h +27 -22
  293. data/ext/pg_query/include/{replication → postgres/replication}/logicallauncher.h +8 -5
  294. data/ext/pg_query/include/postgres/replication/logicalproto.h +274 -0
  295. data/ext/pg_query/include/postgres/replication/logicalworker.h +32 -0
  296. data/ext/pg_query/include/{replication → postgres/replication}/origin.h +8 -8
  297. data/ext/pg_query/include/postgres/replication/reorderbuffer.h +753 -0
  298. data/ext/pg_query/include/{replication → postgres/replication}/slot.h +42 -12
  299. data/ext/pg_query/include/{replication → postgres/replication}/syncrep.h +6 -12
  300. data/ext/pg_query/include/{replication → postgres/replication}/walreceiver.h +158 -20
  301. data/ext/pg_query/include/{replication → postgres/replication}/walsender.h +20 -20
  302. data/ext/pg_query/include/{rewrite → postgres/rewrite}/prs2lock.h +1 -1
  303. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteHandler.h +1 -6
  304. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteManip.h +11 -2
  305. data/ext/pg_query/include/{rewrite → postgres/rewrite}/rewriteSupport.h +1 -1
  306. data/ext/pg_query/include/{storage → postgres/storage}/backendid.h +3 -3
  307. data/ext/pg_query/include/{storage → postgres/storage}/block.h +24 -37
  308. data/ext/pg_query/include/{storage → postgres/storage}/buf.h +1 -1
  309. data/ext/pg_query/include/{storage → postgres/storage}/bufmgr.h +196 -95
  310. data/ext/pg_query/include/{storage → postgres/storage}/bufpage.h +152 -101
  311. data/ext/pg_query/include/{storage → postgres/storage}/condition_variable.h +14 -3
  312. data/ext/pg_query/include/{storage → postgres/storage}/dsm.h +6 -6
  313. data/ext/pg_query/include/{storage → postgres/storage}/dsm_impl.h +6 -2
  314. data/ext/pg_query/include/{storage → postgres/storage}/fd.h +48 -14
  315. data/ext/pg_query/include/postgres/storage/fileset.h +40 -0
  316. data/ext/pg_query/include/{storage → postgres/storage}/ipc.h +5 -2
  317. data/ext/pg_query/include/{storage → postgres/storage}/item.h +1 -1
  318. data/ext/pg_query/include/{storage → postgres/storage}/itemid.h +1 -1
  319. data/ext/pg_query/include/{storage → postgres/storage}/itemptr.h +96 -57
  320. data/ext/pg_query/include/{storage → postgres/storage}/large_object.h +2 -2
  321. data/ext/pg_query/include/{storage → postgres/storage}/latch.h +17 -13
  322. data/ext/pg_query/include/{storage → postgres/storage}/lmgr.h +7 -1
  323. data/ext/pg_query/include/{storage → postgres/storage}/lock.h +37 -25
  324. data/ext/pg_query/include/{storage → postgres/storage}/lockdefs.h +4 -4
  325. data/ext/pg_query/include/{storage → postgres/storage}/lwlock.h +21 -33
  326. data/ext/pg_query/include/{storage → postgres/storage}/lwlocknames.h +0 -1
  327. data/ext/pg_query/include/{storage → postgres/storage}/off.h +1 -1
  328. data/ext/pg_query/include/{storage → postgres/storage}/pg_sema.h +1 -1
  329. data/ext/pg_query/include/{storage → postgres/storage}/pg_shmem.h +9 -7
  330. data/ext/pg_query/include/{storage → postgres/storage}/pmsignal.h +15 -4
  331. data/ext/pg_query/include/{storage → postgres/storage}/predicate.h +5 -5
  332. data/ext/pg_query/include/{storage → postgres/storage}/proc.h +200 -67
  333. data/ext/pg_query/include/postgres/storage/procarray.h +99 -0
  334. data/ext/pg_query/include/{storage → postgres/storage}/proclist_types.h +1 -1
  335. data/ext/pg_query/include/{storage → postgres/storage}/procsignal.h +5 -7
  336. data/ext/pg_query/include/postgres/storage/relfilelocator.h +99 -0
  337. data/ext/pg_query/include/{storage → postgres/storage}/s_lock.h +118 -298
  338. data/ext/pg_query/include/{storage → postgres/storage}/sharedfileset.h +3 -11
  339. data/ext/pg_query/include/{storage → postgres/storage}/shm_mq.h +5 -4
  340. data/ext/pg_query/include/{storage → postgres/storage}/shm_toc.h +1 -1
  341. data/ext/pg_query/include/{storage → postgres/storage}/shmem.h +1 -23
  342. data/ext/pg_query/include/{storage → postgres/storage}/sinval.h +5 -5
  343. data/ext/pg_query/include/{storage → postgres/storage}/sinvaladt.h +4 -2
  344. data/ext/pg_query/include/{storage → postgres/storage}/smgr.h +21 -17
  345. data/ext/pg_query/include/{storage → postgres/storage}/spin.h +2 -2
  346. data/ext/pg_query/include/{storage → postgres/storage}/standby.h +17 -9
  347. data/ext/pg_query/include/{storage → postgres/storage}/standbydefs.h +2 -2
  348. data/ext/pg_query/include/{storage → postgres/storage}/sync.h +9 -5
  349. data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtag.h +7 -2
  350. data/ext/pg_query/include/{tcop → postgres/tcop}/cmdtaglist.h +3 -2
  351. data/ext/pg_query/include/{tcop → postgres/tcop}/deparse_utility.h +1 -1
  352. data/ext/pg_query/include/{tcop → postgres/tcop}/dest.h +1 -3
  353. data/ext/pg_query/include/{tcop → postgres/tcop}/fastpath.h +1 -2
  354. data/ext/pg_query/include/{tcop → postgres/tcop}/pquery.h +7 -1
  355. data/ext/pg_query/include/{tcop → postgres/tcop}/tcopprot.h +19 -14
  356. data/ext/pg_query/include/{tcop → postgres/tcop}/utility.h +7 -3
  357. data/ext/pg_query/include/{tsearch → postgres/tsearch}/ts_cache.h +3 -5
  358. data/ext/pg_query/include/{utils → postgres/utils}/acl.h +37 -71
  359. data/ext/pg_query/include/{utils → postgres/utils}/aclchk_internal.h +1 -1
  360. data/ext/pg_query/include/{utils → postgres/utils}/array.h +26 -2
  361. data/ext/pg_query/include/postgres/utils/backend_progress.h +45 -0
  362. data/ext/pg_query/include/postgres/utils/backend_status.h +342 -0
  363. data/ext/pg_query/include/{utils → postgres/utils}/builtins.h +20 -11
  364. data/ext/pg_query/include/{utils → postgres/utils}/bytea.h +3 -2
  365. data/ext/pg_query/include/{utils → postgres/utils}/catcache.h +1 -1
  366. data/ext/pg_query/include/{utils → postgres/utils}/date.h +37 -9
  367. data/ext/pg_query/include/{utils → postgres/utils}/datetime.h +48 -27
  368. data/ext/pg_query/include/{utils → postgres/utils}/datum.h +9 -1
  369. data/ext/pg_query/include/{utils → postgres/utils}/dsa.h +5 -1
  370. data/ext/pg_query/include/{utils → postgres/utils}/elog.h +154 -48
  371. data/ext/pg_query/include/{utils → postgres/utils}/errcodes.h +2 -0
  372. data/ext/pg_query/include/{utils → postgres/utils}/expandeddatum.h +14 -3
  373. data/ext/pg_query/include/{utils → postgres/utils}/expandedrecord.h +14 -4
  374. data/ext/pg_query/include/{utils → postgres/utils}/float.h +13 -12
  375. data/ext/pg_query/include/{utils → postgres/utils}/fmgroids.h +1353 -696
  376. data/ext/pg_query/include/{utils → postgres/utils}/fmgrprotos.h +243 -18
  377. data/ext/pg_query/include/{utils → postgres/utils}/fmgrtab.h +6 -5
  378. data/ext/pg_query/include/{utils → postgres/utils}/guc.h +120 -121
  379. data/ext/pg_query/include/postgres/utils/guc_hooks.h +163 -0
  380. data/ext/pg_query/include/{utils → postgres/utils}/guc_tables.h +71 -21
  381. data/ext/pg_query/include/{utils → postgres/utils}/hsearch.h +15 -11
  382. data/ext/pg_query/include/{utils → postgres/utils}/inval.h +7 -3
  383. data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
  384. data/ext/pg_query/include/{utils → postgres/utils}/lsyscache.h +16 -1
  385. data/ext/pg_query/include/{utils → postgres/utils}/memdebug.h +1 -1
  386. data/ext/pg_query/include/{utils → postgres/utils}/memutils.h +14 -53
  387. data/ext/pg_query/include/postgres/utils/memutils_internal.h +136 -0
  388. data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +237 -0
  389. data/ext/pg_query/include/{utils → postgres/utils}/numeric.h +38 -9
  390. data/ext/pg_query/include/{utils → postgres/utils}/palloc.h +33 -4
  391. data/ext/pg_query/include/{utils → postgres/utils}/partcache.h +3 -2
  392. data/ext/pg_query/include/{utils → postgres/utils}/pg_locale.h +37 -21
  393. data/ext/pg_query/include/postgres/utils/pgstat_internal.h +814 -0
  394. data/ext/pg_query/include/{utils → postgres/utils}/plancache.h +6 -5
  395. data/ext/pg_query/include/{utils → postgres/utils}/portal.h +12 -1
  396. data/ext/pg_query/include/{utils → postgres/utils}/probes.h +59 -59
  397. data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
  398. data/ext/pg_query/include/{utils → postgres/utils}/queryenvironment.h +1 -1
  399. data/ext/pg_query/include/postgres/utils/regproc.h +39 -0
  400. data/ext/pg_query/include/{utils → postgres/utils}/rel.h +129 -61
  401. data/ext/pg_query/include/{utils → postgres/utils}/relcache.h +21 -14
  402. data/ext/pg_query/include/{utils → postgres/utils}/reltrigger.h +1 -1
  403. data/ext/pg_query/include/{utils → postgres/utils}/resowner.h +1 -1
  404. data/ext/pg_query/include/{utils → postgres/utils}/ruleutils.h +9 -1
  405. data/ext/pg_query/include/{utils → postgres/utils}/sharedtuplestore.h +1 -1
  406. data/ext/pg_query/include/{utils → postgres/utils}/snapmgr.h +38 -15
  407. data/ext/pg_query/include/{utils → postgres/utils}/snapshot.h +14 -1
  408. data/ext/pg_query/include/{utils → postgres/utils}/sortsupport.h +117 -2
  409. data/ext/pg_query/include/{utils → postgres/utils}/syscache.h +9 -1
  410. data/ext/pg_query/include/{utils → postgres/utils}/timeout.h +11 -4
  411. data/ext/pg_query/include/{utils → postgres/utils}/timestamp.h +46 -15
  412. data/ext/pg_query/include/{utils → postgres/utils}/tuplesort.h +209 -41
  413. data/ext/pg_query/include/{utils → postgres/utils}/tuplestore.h +2 -2
  414. data/ext/pg_query/include/{utils → postgres/utils}/typcache.h +24 -17
  415. data/ext/pg_query/include/{utils → postgres/utils}/varlena.h +17 -3
  416. data/ext/pg_query/include/postgres/utils/wait_event.h +294 -0
  417. data/ext/pg_query/include/{utils → postgres/utils}/xml.h +18 -8
  418. data/ext/pg_query/include/{postgres.h → postgres/varatt.h} +65 -471
  419. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +7494 -6382
  420. data/ext/pg_query/include/protobuf/pg_query.pb.h +116922 -84792
  421. data/ext/pg_query/include/protobuf-c/protobuf-c.h +7 -3
  422. data/ext/pg_query/include/protobuf-c.h +7 -3
  423. data/ext/pg_query/pg_query.c +10 -1
  424. data/ext/pg_query/pg_query.pb-c.c +21026 -17002
  425. data/ext/pg_query/pg_query_deparse.c +1 -9896
  426. data/ext/pg_query/pg_query_fingerprint.c +162 -50
  427. data/ext/pg_query/pg_query_fingerprint.h +3 -1
  428. data/ext/pg_query/pg_query_internal.h +1 -1
  429. data/ext/pg_query/pg_query_json_plpgsql.c +56 -12
  430. data/ext/pg_query/pg_query_normalize.c +259 -64
  431. data/ext/pg_query/pg_query_outfuncs.h +1 -0
  432. data/ext/pg_query/pg_query_outfuncs_json.c +71 -16
  433. data/ext/pg_query/pg_query_outfuncs_protobuf.c +73 -12
  434. data/ext/pg_query/pg_query_parse.c +47 -5
  435. data/ext/pg_query/pg_query_parse_plpgsql.c +86 -21
  436. data/ext/pg_query/pg_query_readfuncs_protobuf.c +43 -8
  437. data/ext/pg_query/pg_query_ruby.c +6 -1
  438. data/ext/pg_query/pg_query_ruby_freebsd.sym +2 -0
  439. data/ext/pg_query/pg_query_scan.c +3 -2
  440. data/ext/pg_query/pg_query_split.c +6 -5
  441. data/ext/pg_query/postgres_deparse.c +11067 -0
  442. data/ext/pg_query/postgres_deparse.h +9 -0
  443. data/ext/pg_query/protobuf-c.c +34 -27
  444. data/ext/pg_query/src_backend_catalog_namespace.c +27 -10
  445. data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
  446. data/ext/pg_query/src_backend_commands_define.c +11 -1
  447. data/ext/pg_query/src_backend_nodes_bitmapset.c +13 -70
  448. data/ext/pg_query/src_backend_nodes_copyfuncs.c +103 -5894
  449. data/ext/pg_query/src_backend_nodes_equalfuncs.c +102 -3830
  450. data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
  451. data/ext/pg_query/src_backend_nodes_list.c +99 -12
  452. data/ext/pg_query/src_backend_nodes_makefuncs.c +99 -4
  453. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +325 -131
  454. data/ext/pg_query/src_backend_nodes_nodes.c +38 -0
  455. data/ext/pg_query/src_backend_nodes_value.c +28 -19
  456. data/ext/pg_query/src_backend_parser_gram.c +36104 -32074
  457. data/ext/pg_query/src_backend_parser_parser.c +53 -8
  458. data/ext/pg_query/src_backend_parser_scan.c +4893 -3701
  459. data/ext/pg_query/src_backend_parser_scansup.c +4 -28
  460. data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
  461. data/ext/pg_query/src_backend_tcop_postgres.c +133 -105
  462. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
  463. data/ext/pg_query/src_backend_utils_adt_datum.c +17 -7
  464. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  465. data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
  466. data/ext/pg_query/src_backend_utils_adt_numutils.c +489 -0
  467. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +187 -19
  468. data/ext/pg_query/src_backend_utils_error_assert.c +17 -18
  469. data/ext/pg_query/src_backend_utils_error_elog.c +513 -318
  470. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +44 -17
  471. data/ext/pg_query/src_backend_utils_init_globals.c +9 -6
  472. data/ext/pg_query/src_backend_utils_mb_mbutils.c +74 -131
  473. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +492 -0
  474. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +163 -0
  475. data/ext/pg_query/src_backend_utils_mmgr_aset.c +453 -314
  476. data/ext/pg_query/src_backend_utils_mmgr_generation.c +1039 -0
  477. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +549 -76
  478. data/ext/pg_query/src_backend_utils_mmgr_slab.c +1021 -0
  479. data/ext/pg_query/src_common_encnames.c +4 -1
  480. data/ext/pg_query/src_common_hashfn.c +420 -0
  481. data/ext/pg_query/src_common_keywords.c +15 -2
  482. data/ext/pg_query/src_common_kwlist_d.h +545 -498
  483. data/ext/pg_query/src_common_kwlookup.c +1 -1
  484. data/ext/pg_query/src_common_psprintf.c +1 -1
  485. data/ext/pg_query/src_common_stringinfo.c +4 -4
  486. data/ext/pg_query/src_common_wchar.c +717 -113
  487. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +49 -22
  488. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -18
  489. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1136 -1195
  490. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  491. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
  492. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +2 -2
  493. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +60 -60
  494. data/ext/pg_query/src_port_pg_bitutils.c +103 -40
  495. data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
  496. data/ext/pg_query/src_port_qsort.c +12 -224
  497. data/ext/pg_query/src_port_snprintf.c +51 -29
  498. data/ext/pg_query/src_port_strerror.c +9 -19
  499. data/ext/pg_query/src_port_strlcpy.c +79 -0
  500. data/lib/pg_query/deparse.rb +7 -1
  501. data/lib/pg_query/filter_columns.rb +7 -5
  502. data/lib/pg_query/fingerprint.rb +21 -9
  503. data/lib/pg_query/node.rb +18 -13
  504. data/lib/pg_query/param_refs.rb +1 -1
  505. data/lib/pg_query/parse.rb +141 -50
  506. data/lib/pg_query/pg_query_pb.rb +175 -3031
  507. data/lib/pg_query/treewalker.rb +26 -2
  508. data/lib/pg_query/truncate.rb +54 -8
  509. data/lib/pg_query/version.rb +1 -1
  510. data/lib/pg_query.rb +0 -1
  511. metadata +443 -380
  512. data/ext/pg_query/guc-file.c +0 -0
  513. data/ext/pg_query/include/access/rmgr.h +0 -35
  514. data/ext/pg_query/include/access/xloginsert.h +0 -64
  515. data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
  516. data/ext/pg_query/include/catalog/genbki.h +0 -64
  517. data/ext/pg_query/include/catalog/indexing.h +0 -366
  518. data/ext/pg_query/include/commands/variable.h +0 -38
  519. data/ext/pg_query/include/common/ip.h +0 -37
  520. data/ext/pg_query/include/common/string.h +0 -19
  521. data/ext/pg_query/include/getaddrinfo.h +0 -162
  522. data/ext/pg_query/include/kwlist_d.h +0 -1072
  523. data/ext/pg_query/include/nodes/value.h +0 -61
  524. data/ext/pg_query/include/parser/gram.h +0 -1067
  525. data/ext/pg_query/include/parser/kwlist.h +0 -477
  526. data/ext/pg_query/include/parser/parse_clause.h +0 -54
  527. data/ext/pg_query/include/parser/parse_collate.h +0 -27
  528. data/ext/pg_query/include/parser/parse_target.h +0 -46
  529. data/ext/pg_query/include/parser/parser.h +0 -41
  530. data/ext/pg_query/include/pg_config_os.h +0 -8
  531. data/ext/pg_query/include/pgstat.h +0 -1487
  532. data/ext/pg_query/include/portability/instr_time.h +0 -256
  533. data/ext/pg_query/include/postmaster/fork_process.h +0 -17
  534. data/ext/pg_query/include/replication/logicalproto.h +0 -110
  535. data/ext/pg_query/include/replication/logicalworker.h +0 -19
  536. data/ext/pg_query/include/replication/reorderbuffer.h +0 -467
  537. data/ext/pg_query/include/storage/relfilenode.h +0 -99
  538. data/ext/pg_query/include/utils/dynahash.h +0 -19
  539. data/ext/pg_query/include/utils/pg_lsn.h +0 -29
  540. data/ext/pg_query/include/utils/pidfile.h +0 -56
  541. data/ext/pg_query/include/utils/ps_status.h +0 -25
  542. data/ext/pg_query/include/utils/regproc.h +0 -28
  543. data/ext/pg_query/include/utils/rls.h +0 -50
  544. data/ext/pg_query/include/utils/tzparser.h +0 -39
  545. data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -651
  546. data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
  547. data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2230
  548. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -370
  549. data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1086
  550. data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1831
  551. data/ext/pg_query/src_common_string.c +0 -86
  552. data/ext/pg_query/src_port_erand48.c +0 -127
  553. data/ext/pg_query/src_port_pgsleep.c +0 -69
  554. data/ext/pg_query/src_port_random.c +0 -31
  555. data/ext/pg_query/src_port_strnlen.c +0 -39
  556. data/lib/pg_query/json_field_names.rb +0 -1402
  557. /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
@@ -3,7 +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 _outExpr(OUT_TYPE(Expr, Expr) out_node, const Expr *node);
6
+ static void _outIntoClause(OUT_TYPE(IntoClause, IntoClause) out_node, const IntoClause *node);
7
7
  static void _outVar(OUT_TYPE(Var, Var) out_node, const Var *node);
8
8
  static void _outParam(OUT_TYPE(Param, Param) out_node, const Param *node);
9
9
  static void _outAggref(OUT_TYPE(Aggref, Aggref) out_node, const Aggref *node);
@@ -37,6 +37,11 @@ static void _outCoalesceExpr(OUT_TYPE(CoalesceExpr, CoalesceExpr) out_node, cons
37
37
  static void _outMinMaxExpr(OUT_TYPE(MinMaxExpr, MinMaxExpr) out_node, const MinMaxExpr *node);
38
38
  static void _outSQLValueFunction(OUT_TYPE(SQLValueFunction, SQLValueFunction) out_node, const SQLValueFunction *node);
39
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);
40
45
  static void _outNullTest(OUT_TYPE(NullTest, NullTest) out_node, const NullTest *node);
41
46
  static void _outBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) out_node, const BooleanTest *node);
42
47
  static void _outCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) out_node, const CoerceToDomain *node);
@@ -50,176 +55,194 @@ static void _outRangeTblRef(OUT_TYPE(RangeTblRef, RangeTblRef) out_node, const R
50
55
  static void _outJoinExpr(OUT_TYPE(JoinExpr, JoinExpr) out_node, const JoinExpr *node);
51
56
  static void _outFromExpr(OUT_TYPE(FromExpr, FromExpr) out_node, const FromExpr *node);
52
57
  static void _outOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) out_node, const OnConflictExpr *node);
53
- static void _outIntoClause(OUT_TYPE(IntoClause, IntoClause) out_node, const IntoClause *node);
54
- static void _outRawStmt(OUT_TYPE(RawStmt, RawStmt) out_node, const RawStmt *node);
55
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);
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);
117
+ static void _outRawStmt(OUT_TYPE(RawStmt, RawStmt) out_node, const RawStmt *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);
121
+ static void _outMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) out_node, const MergeStmt *node);
59
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);
124
+ static void _outReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) out_node, const ReturnStmt *node);
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);
60
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);
61
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);
62
131
  static void _outAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) out_node, const AlterDomainStmt *node);
63
- static void _outSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) out_node, const SetOperationStmt *node);
64
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);
65
135
  static void _outGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) out_node, const GrantRoleStmt *node);
66
136
  static void _outAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) out_node, const AlterDefaultPrivilegesStmt *node);
67
- static void _outClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) out_node, const ClosePortalStmt *node);
68
- static void _outClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) out_node, const ClusterStmt *node);
69
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);
70
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);
71
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);
72
177
  static void _outDropStmt(OUT_TYPE(DropStmt, DropStmt) out_node, const DropStmt *node);
73
178
  static void _outTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) out_node, const TruncateStmt *node);
74
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);
75
183
  static void _outFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) out_node, const FetchStmt *node);
76
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);
77
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);
78
190
  static void _outAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) out_node, const AlterFunctionStmt *node);
79
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);
80
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);
81
201
  static void _outRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) out_node, const RuleStmt *node);
82
202
  static void _outNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) out_node, const NotifyStmt *node);
83
203
  static void _outListenStmt(OUT_TYPE(ListenStmt, ListenStmt) out_node, const ListenStmt *node);
84
204
  static void _outUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) out_node, const UnlistenStmt *node);
85
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);
86
210
  static void _outViewStmt(OUT_TYPE(ViewStmt, ViewStmt) out_node, const ViewStmt *node);
87
211
  static void _outLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) out_node, const LoadStmt *node);
88
- static void _outCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) out_node, const CreateDomainStmt *node);
89
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);
90
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);
91
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);
92
221
  static void _outExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) out_node, const ExplainStmt *node);
93
222
  static void _outCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) out_node, const CreateTableAsStmt *node);
94
- static void _outCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) out_node, const CreateSeqStmt *node);
95
- static void _outAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) out_node, const AlterSeqStmt *node);
96
- static void _outVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) out_node, const VariableSetStmt *node);
97
- 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);
98
225
  static void _outDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) out_node, const DiscardStmt *node);
99
- static void _outCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) out_node, const CreateTrigStmt *node);
100
- static void _outCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) out_node, const CreatePLangStmt *node);
101
- static void _outCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) out_node, const CreateRoleStmt *node);
102
- static void _outAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) out_node, const AlterRoleStmt *node);
103
- static void _outDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) out_node, const DropRoleStmt *node);
104
226
  static void _outLockStmt(OUT_TYPE(LockStmt, LockStmt) out_node, const LockStmt *node);
105
227
  static void _outConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) out_node, const ConstraintsSetStmt *node);
106
228
  static void _outReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) out_node, const ReindexStmt *node);
107
- static void _outCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) out_node, const CheckPointStmt *node);
108
- static void _outCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) out_node, const CreateSchemaStmt *node);
109
- static void _outAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) out_node, const AlterDatabaseStmt *node);
110
- static void _outAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) out_node, const AlterDatabaseSetStmt *node);
111
- static void _outAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) out_node, const AlterRoleSetStmt *node);
112
229
  static void _outCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) out_node, const CreateConversionStmt *node);
113
230
  static void _outCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) out_node, const CreateCastStmt *node);
114
- static void _outCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) out_node, const CreateOpClassStmt *node);
115
- static void _outCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) out_node, const CreateOpFamilyStmt *node);
116
- 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);
117
232
  static void _outPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) out_node, const PrepareStmt *node);
118
233
  static void _outExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) out_node, const ExecuteStmt *node);
119
234
  static void _outDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) out_node, const DeallocateStmt *node);
120
- static void _outDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) out_node, const DeclareCursorStmt *node);
121
- static void _outCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) out_node, const CreateTableSpaceStmt *node);
122
- static void _outDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) out_node, const DropTableSpaceStmt *node);
123
- static void _outAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) out_node, const AlterObjectDependsStmt *node);
124
- static void _outAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) out_node, const AlterObjectSchemaStmt *node);
125
- static void _outAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) out_node, const AlterOwnerStmt *node);
126
- static void _outAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) out_node, const AlterOperatorStmt *node);
127
- static void _outAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) out_node, const AlterTypeStmt *node);
128
235
  static void _outDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) out_node, const DropOwnedStmt *node);
129
236
  static void _outReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) out_node, const ReassignOwnedStmt *node);
130
- static void _outCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) out_node, const CompositeTypeStmt *node);
131
- static void _outCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) out_node, const CreateEnumStmt *node);
132
- static void _outCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) out_node, const CreateRangeStmt *node);
133
- static void _outAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) out_node, const AlterEnumStmt *node);
134
237
  static void _outAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) out_node, const AlterTSDictionaryStmt *node);
135
238
  static void _outAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) out_node, const AlterTSConfigurationStmt *node);
136
- static void _outCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) out_node, const CreateFdwStmt *node);
137
- static void _outAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) out_node, const AlterFdwStmt *node);
138
- static void _outCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) out_node, const CreateForeignServerStmt *node);
139
- static void _outAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) out_node, const AlterForeignServerStmt *node);
140
- static void _outCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) out_node, const CreateUserMappingStmt *node);
141
- static void _outAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) out_node, const AlterUserMappingStmt *node);
142
- static void _outDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) out_node, const DropUserMappingStmt *node);
143
- static void _outAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) out_node, const AlterTableSpaceOptionsStmt *node);
144
- static void _outAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) out_node, const AlterTableMoveAllStmt *node);
145
- static void _outSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) out_node, const SecLabelStmt *node);
146
- static void _outCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) out_node, const CreateForeignTableStmt *node);
147
- static void _outImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) out_node, const ImportForeignSchemaStmt *node);
148
- static void _outCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) out_node, const CreateExtensionStmt *node);
149
- static void _outAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) out_node, const AlterExtensionStmt *node);
150
- static void _outAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) out_node, const AlterExtensionContentsStmt *node);
151
- static void _outCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) out_node, const CreateEventTrigStmt *node);
152
- static void _outAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) out_node, const AlterEventTrigStmt *node);
153
- static void _outRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) out_node, const RefreshMatViewStmt *node);
154
- static void _outReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) out_node, const ReplicaIdentityStmt *node);
155
- static void _outAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) out_node, const AlterSystemStmt *node);
156
- static void _outCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) out_node, const CreatePolicyStmt *node);
157
- static void _outAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) out_node, const AlterPolicyStmt *node);
158
- static void _outCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) out_node, const CreateTransformStmt *node);
159
- 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);
160
241
  static void _outCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) out_node, const CreatePublicationStmt *node);
161
242
  static void _outAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) out_node, const AlterPublicationStmt *node);
162
243
  static void _outCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) out_node, const CreateSubscriptionStmt *node);
163
244
  static void _outAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) out_node, const AlterSubscriptionStmt *node);
164
245
  static void _outDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) out_node, const DropSubscriptionStmt *node);
165
- static void _outCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) out_node, const CreateStatsStmt *node);
166
- static void _outAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) out_node, const AlterCollationStmt *node);
167
- static void _outCallStmt(OUT_TYPE(CallStmt, CallStmt) out_node, const CallStmt *node);
168
- static void _outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out_node, const AlterStatsStmt *node);
169
- static void _outAExpr(OUT_TYPE(A_Expr, AExpr) out_node, const A_Expr *node);
170
- static void _outColumnRef(OUT_TYPE(ColumnRef, ColumnRef) out_node, const ColumnRef *node);
171
- static void _outParamRef(OUT_TYPE(ParamRef, ParamRef) out_node, const ParamRef *node);
172
- static void _outAConst(OUT_TYPE(A_Const, AConst) out_node, const A_Const *node);
173
- static void _outFuncCall(OUT_TYPE(FuncCall, FuncCall) out_node, const FuncCall *node);
174
- static void _outAStar(OUT_TYPE(A_Star, AStar) out_node, const A_Star *node);
175
- static void _outAIndices(OUT_TYPE(A_Indices, AIndices) out_node, const A_Indices *node);
176
- static void _outAIndirection(OUT_TYPE(A_Indirection, AIndirection) out_node, const A_Indirection *node);
177
- static void _outAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) out_node, const A_ArrayExpr *node);
178
- static void _outResTarget(OUT_TYPE(ResTarget, ResTarget) out_node, const ResTarget *node);
179
- static void _outMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) out_node, const MultiAssignRef *node);
180
- static void _outTypeCast(OUT_TYPE(TypeCast, TypeCast) out_node, const TypeCast *node);
181
- static void _outCollateClause(OUT_TYPE(CollateClause, CollateClause) out_node, const CollateClause *node);
182
- static void _outSortBy(OUT_TYPE(SortBy, SortBy) out_node, const SortBy *node);
183
- static void _outWindowDef(OUT_TYPE(WindowDef, WindowDef) out_node, const WindowDef *node);
184
- static void _outRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) out_node, const RangeSubselect *node);
185
- static void _outRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) out_node, const RangeFunction *node);
186
- static void _outRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) out_node, const RangeTableSample *node);
187
- static void _outRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) out_node, const RangeTableFunc *node);
188
- static void _outRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) out_node, const RangeTableFuncCol *node);
189
- static void _outTypeName(OUT_TYPE(TypeName, TypeName) out_node, const TypeName *node);
190
- static void _outColumnDef(OUT_TYPE(ColumnDef, ColumnDef) out_node, const ColumnDef *node);
191
- static void _outIndexElem(OUT_TYPE(IndexElem, IndexElem) out_node, const IndexElem *node);
192
- static void _outConstraint(OUT_TYPE(Constraint, Constraint) out_node, const Constraint *node);
193
- static void _outDefElem(OUT_TYPE(DefElem, DefElem) out_node, const DefElem *node);
194
- static void _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out_node, const RangeTblEntry *node);
195
- static void _outRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) out_node, const RangeTblFunction *node);
196
- static void _outTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) out_node, const TableSampleClause *node);
197
- static void _outWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) out_node, const WithCheckOption *node);
198
- static void _outSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) out_node, const SortGroupClause *node);
199
- static void _outGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) out_node, const GroupingSet *node);
200
- static void _outWindowClause(OUT_TYPE(WindowClause, WindowClause) out_node, const WindowClause *node);
201
- static void _outObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) out_node, const ObjectWithArgs *node);
202
- static void _outAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) out_node, const AccessPriv *node);
203
- static void _outCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) out_node, const CreateOpClassItem *node);
204
- static void _outTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) out_node, const TableLikeClause *node);
205
- static void _outFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) out_node, const FunctionParameter *node);
206
- static void _outLockingClause(OUT_TYPE(LockingClause, LockingClause) out_node, const LockingClause *node);
207
- static void _outRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) out_node, const RowMarkClause *node);
208
- static void _outXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) out_node, const XmlSerialize *node);
209
- static void _outWithClause(OUT_TYPE(WithClause, WithClause) out_node, const WithClause *node);
210
- static void _outInferClause(OUT_TYPE(InferClause, InferClause) out_node, const InferClause *node);
211
- static void _outOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) out_node, const OnConflictClause *node);
212
- static void _outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out_node, const CommonTableExpr *node);
213
- static void _outRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) out_node, const RoleSpec *node);
214
- static void _outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out_node, const TriggerTransition *node);
215
- static void _outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out_node, const PartitionElem *node);
216
- static void _outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out_node, const PartitionSpec *node);
217
- static void _outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out_node, const PartitionBoundSpec *node);
218
- static void _outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out_node, const PartitionRangeDatum *node);
219
- static void _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out_node, const PartitionCmd *node);
220
- static void _outVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) out_node, const VacuumRelation *node);
221
- static void _outInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) out_node, const InlineCodeBlock *node);
222
- static void _outCallContext(OUT_TYPE(CallContext, CallContext) out_node, const CallContext *node);
223
246
 
224
247
 
225
248
  static void
@@ -260,21 +283,28 @@ _outTableFunc(OUT_TYPE(TableFunc, TableFunc) out, const TableFunc *node)
260
283
  }
261
284
 
262
285
  static void
263
- _outExpr(OUT_TYPE(Expr, Expr) out, const Expr *node)
286
+ _outIntoClause(OUT_TYPE(IntoClause, IntoClause) out, const IntoClause *node)
264
287
  {
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);
265
296
  }
266
297
 
267
298
  static void
268
299
  _outVar(OUT_TYPE(Var, Var) out, const Var *node)
269
300
  {
270
- WRITE_UINT_FIELD(varno, varno, varno);
301
+ WRITE_INT_FIELD(varno, varno, varno);
271
302
  WRITE_INT_FIELD(varattno, varattno, varattno);
272
303
  WRITE_UINT_FIELD(vartype, vartype, vartype);
273
304
  WRITE_INT_FIELD(vartypmod, vartypmod, vartypmod);
274
305
  WRITE_UINT_FIELD(varcollid, varcollid, varcollid);
306
+ WRITE_BITMAPSET_FIELD(varnullingrels, varnullingrels, varnullingrels);
275
307
  WRITE_UINT_FIELD(varlevelsup, varlevelsup, varlevelsup);
276
- WRITE_UINT_FIELD(varnosyn, varnosyn, varnosyn);
277
- WRITE_INT_FIELD(varattnosyn, varattnosyn, varattnosyn);
278
308
  WRITE_INT_FIELD(location, location, location);
279
309
  }
280
310
 
@@ -296,7 +326,6 @@ _outAggref(OUT_TYPE(Aggref, Aggref) out, const Aggref *node)
296
326
  WRITE_UINT_FIELD(aggtype, aggtype, aggtype);
297
327
  WRITE_UINT_FIELD(aggcollid, aggcollid, aggcollid);
298
328
  WRITE_UINT_FIELD(inputcollid, inputcollid, inputcollid);
299
- WRITE_UINT_FIELD(aggtranstype, aggtranstype, aggtranstype);
300
329
  WRITE_LIST_FIELD(aggargtypes, aggargtypes, aggargtypes);
301
330
  WRITE_LIST_FIELD(aggdirectargs, aggdirectargs, aggdirectargs);
302
331
  WRITE_LIST_FIELD(args, args, args);
@@ -308,6 +337,8 @@ _outAggref(OUT_TYPE(Aggref, Aggref) out, const Aggref *node)
308
337
  WRITE_CHAR_FIELD(aggkind, aggkind, aggkind);
309
338
  WRITE_UINT_FIELD(agglevelsup, agglevelsup, agglevelsup);
310
339
  WRITE_ENUM_FIELD(AggSplit, aggsplit, aggsplit, aggsplit);
340
+ WRITE_INT_FIELD(aggno, aggno, aggno);
341
+ WRITE_INT_FIELD(aggtransno, aggtransno, aggtransno);
311
342
  WRITE_INT_FIELD(location, location, location);
312
343
  }
313
344
 
@@ -316,7 +347,6 @@ _outGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) out, const GroupingFunc *n
316
347
  {
317
348
  WRITE_LIST_FIELD(args, args, args);
318
349
  WRITE_LIST_FIELD(refs, refs, refs);
319
- WRITE_LIST_FIELD(cols, cols, cols);
320
350
  WRITE_UINT_FIELD(agglevelsup, agglevelsup, agglevelsup);
321
351
  WRITE_INT_FIELD(location, location, location);
322
352
  }
@@ -341,6 +371,7 @@ _outSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) out, const Subscr
341
371
  {
342
372
  WRITE_UINT_FIELD(refcontainertype, refcontainertype, refcontainertype);
343
373
  WRITE_UINT_FIELD(refelemtype, refelemtype, refelemtype);
374
+ WRITE_UINT_FIELD(refrestype, refrestype, refrestype);
344
375
  WRITE_INT_FIELD(reftypmod, reftypmod, reftypmod);
345
376
  WRITE_UINT_FIELD(refcollid, refcollid, refcollid);
346
377
  WRITE_LIST_FIELD(refupperindexpr, refupperindexpr, refupperindexpr);
@@ -376,7 +407,6 @@ static void
376
407
  _outOpExpr(OUT_TYPE(OpExpr, OpExpr) out, const OpExpr *node)
377
408
  {
378
409
  WRITE_UINT_FIELD(opno, opno, opno);
379
- WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid);
380
410
  WRITE_UINT_FIELD(opresulttype, opresulttype, opresulttype);
381
411
  WRITE_BOOL_FIELD(opretset, opretset, opretset);
382
412
  WRITE_UINT_FIELD(opcollid, opcollid, opcollid);
@@ -389,7 +419,6 @@ static void
389
419
  _outDistinctExpr(OUT_TYPE(DistinctExpr, DistinctExpr) out, const DistinctExpr *node)
390
420
  {
391
421
  WRITE_UINT_FIELD(opno, opno, opno);
392
- WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid);
393
422
  WRITE_UINT_FIELD(opresulttype, opresulttype, opresulttype);
394
423
  WRITE_BOOL_FIELD(opretset, opretset, opretset);
395
424
  WRITE_UINT_FIELD(opcollid, opcollid, opcollid);
@@ -402,7 +431,6 @@ static void
402
431
  _outNullIfExpr(OUT_TYPE(NullIfExpr, NullIfExpr) out, const NullIfExpr *node)
403
432
  {
404
433
  WRITE_UINT_FIELD(opno, opno, opno);
405
- WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid);
406
434
  WRITE_UINT_FIELD(opresulttype, opresulttype, opresulttype);
407
435
  WRITE_BOOL_FIELD(opretset, opretset, opretset);
408
436
  WRITE_UINT_FIELD(opcollid, opcollid, opcollid);
@@ -415,7 +443,6 @@ static void
415
443
  _outScalarArrayOpExpr(OUT_TYPE(ScalarArrayOpExpr, ScalarArrayOpExpr) out, const ScalarArrayOpExpr *node)
416
444
  {
417
445
  WRITE_UINT_FIELD(opno, opno, opno);
418
- WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid);
419
446
  WRITE_BOOL_FIELD(use_or, useOr, useOr);
420
447
  WRITE_UINT_FIELD(inputcollid, inputcollid, inputcollid);
421
448
  WRITE_LIST_FIELD(args, args, args);
@@ -634,35 +661,83 @@ _outXmlExpr(OUT_TYPE(XmlExpr, XmlExpr) out, const XmlExpr *node)
634
661
  WRITE_LIST_FIELD(arg_names, arg_names, arg_names);
635
662
  WRITE_LIST_FIELD(args, args, args);
636
663
  WRITE_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption);
664
+ WRITE_BOOL_FIELD(indent, indent, indent);
637
665
  WRITE_UINT_FIELD(type, type, type);
638
666
  WRITE_INT_FIELD(typmod, typmod, typmod);
639
667
  WRITE_INT_FIELD(location, location, location);
640
668
  }
641
669
 
642
670
  static void
643
- _outNullTest(OUT_TYPE(NullTest, NullTest) out, const NullTest *node)
671
+ _outJsonFormat(OUT_TYPE(JsonFormat, JsonFormat) out, const JsonFormat *node)
644
672
  {
645
- WRITE_NODE_PTR_FIELD(arg, arg, arg);
646
- WRITE_ENUM_FIELD(NullTestType, nulltesttype, nulltesttype, nulltesttype);
647
- WRITE_BOOL_FIELD(argisrow, argisrow, argisrow);
673
+ WRITE_ENUM_FIELD(JsonFormatType, format_type, format_type, format_type);
674
+ WRITE_ENUM_FIELD(JsonEncoding, encoding, encoding, encoding);
648
675
  WRITE_INT_FIELD(location, location, location);
649
676
  }
650
677
 
651
678
  static void
652
- _outBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) out, const BooleanTest *node)
679
+ _outJsonReturning(OUT_TYPE(JsonReturning, JsonReturning) out, const JsonReturning *node)
653
680
  {
654
- WRITE_NODE_PTR_FIELD(arg, arg, arg);
655
- WRITE_ENUM_FIELD(BoolTestType, booltesttype, booltesttype, booltesttype);
656
- WRITE_INT_FIELD(location, location, location);
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);
657
684
  }
658
685
 
659
686
  static void
660
- _outCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) out, const CoerceToDomain *node)
687
+ _outJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) out, const JsonValueExpr *node)
661
688
  {
662
- WRITE_NODE_PTR_FIELD(arg, arg, arg);
663
- WRITE_UINT_FIELD(resulttype, resulttype, resulttype);
664
- WRITE_INT_FIELD(resulttypmod, resulttypmod, resulttypmod);
665
- WRITE_UINT_FIELD(resultcollid, resultcollid, resultcollid);
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
+
717
+ static void
718
+ _outNullTest(OUT_TYPE(NullTest, NullTest) out, const NullTest *node)
719
+ {
720
+ WRITE_NODE_PTR_FIELD(arg, arg, arg);
721
+ WRITE_ENUM_FIELD(NullTestType, nulltesttype, nulltesttype, nulltesttype);
722
+ WRITE_BOOL_FIELD(argisrow, argisrow, argisrow);
723
+ WRITE_INT_FIELD(location, location, location);
724
+ }
725
+
726
+ static void
727
+ _outBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) out, const BooleanTest *node)
728
+ {
729
+ WRITE_NODE_PTR_FIELD(arg, arg, arg);
730
+ WRITE_ENUM_FIELD(BoolTestType, booltesttype, booltesttype, booltesttype);
731
+ WRITE_INT_FIELD(location, location, location);
732
+ }
733
+
734
+ static void
735
+ _outCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) out, const CoerceToDomain *node)
736
+ {
737
+ WRITE_NODE_PTR_FIELD(arg, arg, arg);
738
+ WRITE_UINT_FIELD(resulttype, resulttype, resulttype);
739
+ WRITE_INT_FIELD(resulttypmod, resulttypmod, resulttypmod);
740
+ WRITE_UINT_FIELD(resultcollid, resultcollid, resultcollid);
666
741
  WRITE_ENUM_FIELD(CoercionForm, coercionformat, coercionformat, coercionformat);
667
742
  WRITE_INT_FIELD(location, location, location);
668
743
  }
@@ -734,6 +809,7 @@ _outJoinExpr(OUT_TYPE(JoinExpr, JoinExpr) out, const JoinExpr *node)
734
809
  WRITE_NODE_PTR_FIELD(larg, larg, larg);
735
810
  WRITE_NODE_PTR_FIELD(rarg, rarg, rarg);
736
811
  WRITE_LIST_FIELD(using_clause, usingClause, usingClause);
812
+ WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, join_using_alias, join_using_alias, join_using_alias);
737
813
  WRITE_NODE_PTR_FIELD(quals, quals, quals);
738
814
  WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
739
815
  WRITE_INT_FIELD(rtindex, rtindex, rtindex);
@@ -759,27 +835,6 @@ _outOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) out, const OnConflic
759
835
  WRITE_LIST_FIELD(excl_rel_tlist, exclRelTlist, exclRelTlist);
760
836
  }
761
837
 
762
- static void
763
- _outIntoClause(OUT_TYPE(IntoClause, IntoClause) out, const IntoClause *node)
764
- {
765
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, rel, rel, rel);
766
- WRITE_LIST_FIELD(col_names, colNames, colNames);
767
- WRITE_STRING_FIELD(access_method, accessMethod, accessMethod);
768
- WRITE_LIST_FIELD(options, options, options);
769
- WRITE_ENUM_FIELD(OnCommitAction, on_commit, onCommit, onCommit);
770
- WRITE_STRING_FIELD(table_space_name, tableSpaceName, tableSpaceName);
771
- WRITE_NODE_PTR_FIELD(view_query, viewQuery, viewQuery);
772
- WRITE_BOOL_FIELD(skip_data, skipData, skipData);
773
- }
774
-
775
- static void
776
- _outRawStmt(OUT_TYPE(RawStmt, RawStmt) out, const RawStmt *node)
777
- {
778
- WRITE_NODE_PTR_FIELD(stmt, stmt, stmt);
779
- WRITE_INT_FIELD(stmt_location, stmt_location, stmt_location);
780
- WRITE_INT_FIELD(stmt_len, stmt_len, stmt_len);
781
- }
782
-
783
838
  static void
784
839
  _outQuery(OUT_TYPE(Query, Query) out, const Query *node)
785
840
  {
@@ -797,14 +852,19 @@ _outQuery(OUT_TYPE(Query, Query) out, const Query *node)
797
852
  WRITE_BOOL_FIELD(has_modifying_cte, hasModifyingCTE, hasModifyingCTE);
798
853
  WRITE_BOOL_FIELD(has_for_update, hasForUpdate, hasForUpdate);
799
854
  WRITE_BOOL_FIELD(has_row_security, hasRowSecurity, hasRowSecurity);
855
+ WRITE_BOOL_FIELD(is_return, isReturn, isReturn);
800
856
  WRITE_LIST_FIELD(cte_list, cteList, cteList);
801
857
  WRITE_LIST_FIELD(rtable, rtable, rtable);
858
+ WRITE_LIST_FIELD(rteperminfos, rteperminfos, rteperminfos);
802
859
  WRITE_SPECIFIC_NODE_PTR_FIELD(FromExpr, from_expr, jointree, jointree, jointree);
860
+ WRITE_LIST_FIELD(merge_action_list, mergeActionList, mergeActionList);
861
+ WRITE_BOOL_FIELD(merge_use_outer_join, mergeUseOuterJoin, mergeUseOuterJoin);
803
862
  WRITE_LIST_FIELD(target_list, targetList, targetList);
804
863
  WRITE_ENUM_FIELD(OverridingKind, override, override, override);
805
864
  WRITE_SPECIFIC_NODE_PTR_FIELD(OnConflictExpr, on_conflict_expr, on_conflict, onConflict, onConflict);
806
865
  WRITE_LIST_FIELD(returning_list, returningList, returningList);
807
866
  WRITE_LIST_FIELD(group_clause, groupClause, groupClause);
867
+ WRITE_BOOL_FIELD(group_distinct, groupDistinct, groupDistinct);
808
868
  WRITE_LIST_FIELD(grouping_sets, groupingSets, groupingSets);
809
869
  WRITE_NODE_PTR_FIELD(having_qual, havingQual, havingQual);
810
870
  WRITE_LIST_FIELD(window_clause, windowClause, windowClause);
@@ -822,754 +882,961 @@ _outQuery(OUT_TYPE(Query, Query) out, const Query *node)
822
882
  }
823
883
 
824
884
  static void
825
- _outInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) out, const InsertStmt *node)
885
+ _outTypeName(OUT_TYPE(TypeName, TypeName) out, const TypeName *node)
826
886
  {
827
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
828
- WRITE_LIST_FIELD(cols, cols, cols);
829
- WRITE_NODE_PTR_FIELD(select_stmt, selectStmt, selectStmt);
830
- WRITE_SPECIFIC_NODE_PTR_FIELD(OnConflictClause, on_conflict_clause, on_conflict_clause, onConflictClause, onConflictClause);
831
- WRITE_LIST_FIELD(returning_list, returningList, returningList);
832
- WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
833
- 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);
834
895
  }
835
896
 
836
897
  static void
837
- _outDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) out, const DeleteStmt *node)
898
+ _outColumnRef(OUT_TYPE(ColumnRef, ColumnRef) out, const ColumnRef *node)
838
899
  {
839
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
840
- WRITE_LIST_FIELD(using_clause, usingClause, usingClause);
841
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
842
- WRITE_LIST_FIELD(returning_list, returningList, returningList);
843
- 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);
844
902
  }
845
903
 
846
904
  static void
847
- _outUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) out, const UpdateStmt *node)
905
+ _outParamRef(OUT_TYPE(ParamRef, ParamRef) out, const ParamRef *node)
848
906
  {
849
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
850
- WRITE_LIST_FIELD(target_list, targetList, targetList);
851
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
852
- WRITE_LIST_FIELD(from_clause, fromClause, fromClause);
853
- WRITE_LIST_FIELD(returning_list, returningList, returningList);
854
- 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);
855
909
  }
856
910
 
857
911
  static void
858
- _outSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) out, const SelectStmt *node)
912
+ _outAExpr(OUT_TYPE(A_Expr, AExpr) out, const A_Expr *node)
859
913
  {
860
- WRITE_LIST_FIELD(distinct_clause, distinctClause, distinctClause);
861
- WRITE_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into_clause, intoClause, intoClause);
862
- WRITE_LIST_FIELD(target_list, targetList, targetList);
863
- WRITE_LIST_FIELD(from_clause, fromClause, fromClause);
864
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
865
- WRITE_LIST_FIELD(group_clause, groupClause, groupClause);
866
- WRITE_NODE_PTR_FIELD(having_clause, havingClause, havingClause);
867
- WRITE_LIST_FIELD(window_clause, windowClause, windowClause);
868
- WRITE_LIST_FIELD(values_lists, valuesLists, valuesLists);
869
- WRITE_LIST_FIELD(sort_clause, sortClause, sortClause);
870
- WRITE_NODE_PTR_FIELD(limit_offset, limitOffset, limitOffset);
871
- WRITE_NODE_PTR_FIELD(limit_count, limitCount, limitCount);
872
- WRITE_ENUM_FIELD(LimitOption, limit_option, limitOption, limitOption);
873
- WRITE_LIST_FIELD(locking_clause, lockingClause, lockingClause);
874
- WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
875
- WRITE_ENUM_FIELD(SetOperation, op, op, op);
876
- WRITE_BOOL_FIELD(all, all, all);
877
- WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, larg, larg, larg);
878
- WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, rarg, rarg, rarg);
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);
879
919
  }
880
920
 
881
921
  static void
882
- _outAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) out, const AlterTableStmt *node)
922
+ _outTypeCast(OUT_TYPE(TypeCast, TypeCast) out, const TypeCast *node)
883
923
  {
884
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
885
- WRITE_LIST_FIELD(cmds, cmds, cmds);
886
- WRITE_ENUM_FIELD(ObjectType, relkind, relkind, relkind);
887
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
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);
888
927
  }
889
928
 
890
929
  static void
891
- _outAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) out, const AlterTableCmd *node)
930
+ _outCollateClause(OUT_TYPE(CollateClause, CollateClause) out, const CollateClause *node)
892
931
  {
893
- WRITE_ENUM_FIELD(AlterTableType, subtype, subtype, subtype);
894
- WRITE_STRING_FIELD(name, name, name);
895
- WRITE_INT_FIELD(num, num, num);
896
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner);
897
- WRITE_NODE_PTR_FIELD(def, def, def);
898
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
899
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
932
+ WRITE_NODE_PTR_FIELD(arg, arg, arg);
933
+ WRITE_LIST_FIELD(collname, collname, collname);
934
+ WRITE_INT_FIELD(location, location, location);
900
935
  }
901
936
 
902
937
  static void
903
- _outAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) out, const AlterDomainStmt *node)
938
+ _outRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) out, const RoleSpec *node)
904
939
  {
905
- WRITE_CHAR_FIELD(subtype, subtype, subtype);
906
- WRITE_LIST_FIELD(type_name, typeName, typeName);
907
- WRITE_STRING_FIELD(name, name, name);
908
- WRITE_NODE_PTR_FIELD(def, def, def);
909
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
910
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
940
+ WRITE_ENUM_FIELD(RoleSpecType, roletype, roletype, roletype);
941
+ WRITE_STRING_FIELD(rolename, rolename, rolename);
942
+ WRITE_INT_FIELD(location, location, location);
911
943
  }
912
944
 
913
945
  static void
914
- _outSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) out, const SetOperationStmt *node)
946
+ _outFuncCall(OUT_TYPE(FuncCall, FuncCall) out, const FuncCall *node)
915
947
  {
916
- WRITE_ENUM_FIELD(SetOperation, op, op, op);
917
- WRITE_BOOL_FIELD(all, all, all);
918
- WRITE_NODE_PTR_FIELD(larg, larg, larg);
919
- WRITE_NODE_PTR_FIELD(rarg, rarg, rarg);
920
- WRITE_LIST_FIELD(col_types, colTypes, colTypes);
921
- WRITE_LIST_FIELD(col_typmods, colTypmods, colTypmods);
922
- WRITE_LIST_FIELD(col_collations, colCollations, colCollations);
923
- WRITE_LIST_FIELD(group_clauses, groupClauses, groupClauses);
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);
924
959
  }
925
960
 
926
961
  static void
927
- _outGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) out, const GrantStmt *node)
962
+ _outAStar(OUT_TYPE(A_Star, AStar) out, const A_Star *node)
928
963
  {
929
- WRITE_BOOL_FIELD(is_grant, is_grant, is_grant);
930
- WRITE_ENUM_FIELD(GrantTargetType, targtype, targtype, targtype);
931
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
932
- WRITE_LIST_FIELD(objects, objects, objects);
933
- WRITE_LIST_FIELD(privileges, privileges, privileges);
934
- WRITE_LIST_FIELD(grantees, grantees, grantees);
935
- WRITE_BOOL_FIELD(grant_option, grant_option, grant_option);
936
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
937
964
  }
938
965
 
939
966
  static void
940
- _outGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) out, const GrantRoleStmt *node)
967
+ _outAIndices(OUT_TYPE(A_Indices, AIndices) out, const A_Indices *node)
941
968
  {
942
- WRITE_LIST_FIELD(granted_roles, granted_roles, granted_roles);
943
- WRITE_LIST_FIELD(grantee_roles, grantee_roles, grantee_roles);
944
- WRITE_BOOL_FIELD(is_grant, is_grant, is_grant);
945
- WRITE_BOOL_FIELD(admin_opt, admin_opt, admin_opt);
946
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor);
947
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
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);
948
972
  }
949
973
 
950
974
  static void
951
- _outAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) out, const AlterDefaultPrivilegesStmt *node)
975
+ _outAIndirection(OUT_TYPE(A_Indirection, AIndirection) out, const A_Indirection *node)
952
976
  {
953
- WRITE_LIST_FIELD(options, options, options);
954
- WRITE_SPECIFIC_NODE_PTR_FIELD(GrantStmt, grant_stmt, action, action, action);
977
+ WRITE_NODE_PTR_FIELD(arg, arg, arg);
978
+ WRITE_LIST_FIELD(indirection, indirection, indirection);
955
979
  }
956
980
 
957
981
  static void
958
- _outClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) out, const ClosePortalStmt *node)
982
+ _outAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) out, const A_ArrayExpr *node)
959
983
  {
960
- WRITE_STRING_FIELD(portalname, portalname, portalname);
984
+ WRITE_LIST_FIELD(elements, elements, elements);
985
+ WRITE_INT_FIELD(location, location, location);
961
986
  }
962
987
 
963
988
  static void
964
- _outClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) out, const ClusterStmt *node)
989
+ _outResTarget(OUT_TYPE(ResTarget, ResTarget) out, const ResTarget *node)
965
990
  {
966
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
967
- WRITE_STRING_FIELD(indexname, indexname, indexname);
968
- WRITE_INT_FIELD(options, options, options);
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);
969
995
  }
970
996
 
971
997
  static void
972
- _outCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) out, const CopyStmt *node)
998
+ _outMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) out, const MultiAssignRef *node)
973
999
  {
974
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
975
- WRITE_NODE_PTR_FIELD(query, query, query);
976
- WRITE_LIST_FIELD(attlist, attlist, attlist);
977
- WRITE_BOOL_FIELD(is_from, is_from, is_from);
978
- WRITE_BOOL_FIELD(is_program, is_program, is_program);
979
- WRITE_STRING_FIELD(filename, filename, filename);
980
- WRITE_LIST_FIELD(options, options, options);
981
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1000
+ WRITE_NODE_PTR_FIELD(source, source, source);
1001
+ WRITE_INT_FIELD(colno, colno, colno);
1002
+ WRITE_INT_FIELD(ncolumns, ncolumns, ncolumns);
982
1003
  }
983
1004
 
984
1005
  static void
985
- _outCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) out, const CreateStmt *node)
1006
+ _outSortBy(OUT_TYPE(SortBy, SortBy) out, const SortBy *node)
986
1007
  {
987
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
988
- WRITE_LIST_FIELD(table_elts, tableElts, tableElts);
989
- WRITE_LIST_FIELD(inh_relations, inhRelations, inhRelations);
990
- WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, partbound, partbound, partbound);
991
- WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionSpec, partition_spec, partspec, partspec, partspec);
992
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, of_typename, ofTypename, ofTypename);
993
- WRITE_LIST_FIELD(constraints, constraints, constraints);
994
- WRITE_LIST_FIELD(options, options, options);
995
- WRITE_ENUM_FIELD(OnCommitAction, oncommit, oncommit, oncommit);
996
- WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
997
- WRITE_STRING_FIELD(access_method, accessMethod, accessMethod);
998
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
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);
999
1013
  }
1000
1014
 
1001
1015
  static void
1002
- _outDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) out, const DefineStmt *node)
1016
+ _outWindowDef(OUT_TYPE(WindowDef, WindowDef) out, const WindowDef *node)
1003
1017
  {
1004
- WRITE_ENUM_FIELD(ObjectType, kind, kind, kind);
1005
- WRITE_BOOL_FIELD(oldstyle, oldstyle, oldstyle);
1006
- WRITE_LIST_FIELD(defnames, defnames, defnames);
1007
- WRITE_LIST_FIELD(args, args, args);
1008
- WRITE_LIST_FIELD(definition, definition, definition);
1009
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1010
- WRITE_BOOL_FIELD(replace, replace, replace);
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);
1011
1026
  }
1012
1027
 
1013
1028
  static void
1014
- _outDropStmt(OUT_TYPE(DropStmt, DropStmt) out, const DropStmt *node)
1029
+ _outRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) out, const RangeSubselect *node)
1015
1030
  {
1016
- WRITE_LIST_FIELD(objects, objects, objects);
1017
- WRITE_ENUM_FIELD(ObjectType, remove_type, removeType, removeType);
1018
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1019
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1020
- WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
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);
1021
1034
  }
1022
1035
 
1023
1036
  static void
1024
- _outTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) out, const TruncateStmt *node)
1037
+ _outRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) out, const RangeFunction *node)
1025
1038
  {
1026
- WRITE_LIST_FIELD(relations, relations, relations);
1027
- WRITE_BOOL_FIELD(restart_seqs, restart_seqs, restart_seqs);
1028
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
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);
1029
1045
  }
1030
1046
 
1031
1047
  static void
1032
- _outCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) out, const CommentStmt *node)
1048
+ _outRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) out, const RangeTableFunc *node)
1033
1049
  {
1034
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1035
- WRITE_NODE_PTR_FIELD(object, object, object);
1036
- WRITE_STRING_FIELD(comment, comment, comment);
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);
1037
1057
  }
1038
1058
 
1039
1059
  static void
1040
- _outFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) out, const FetchStmt *node)
1060
+ _outRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) out, const RangeTableFuncCol *node)
1041
1061
  {
1042
- WRITE_ENUM_FIELD(FetchDirection, direction, direction, direction);
1043
- WRITE_LONG_FIELD(how_many, howMany, howMany);
1044
- WRITE_STRING_FIELD(portalname, portalname, portalname);
1045
- WRITE_BOOL_FIELD(ismove, ismove, ismove);
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);
1046
1069
  }
1047
1070
 
1048
1071
  static void
1049
- _outIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) out, const IndexStmt *node)
1072
+ _outRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) out, const RangeTableSample *node)
1073
+ {
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);
1079
+ }
1080
+
1081
+ static void
1082
+ _outColumnDef(OUT_TYPE(ColumnDef, ColumnDef) out, const ColumnDef *node)
1083
+ {
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);
1103
+ }
1104
+
1105
+ static void
1106
+ _outTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) out, const TableLikeClause *node)
1050
1107
  {
1051
- WRITE_STRING_FIELD(idxname, idxname, idxname);
1052
1108
  WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1053
- WRITE_STRING_FIELD(access_method, accessMethod, accessMethod);
1054
- WRITE_STRING_FIELD(table_space, tableSpace, tableSpace);
1055
- WRITE_LIST_FIELD(index_params, indexParams, indexParams);
1056
- WRITE_LIST_FIELD(index_including_params, indexIncludingParams, indexIncludingParams);
1057
- WRITE_LIST_FIELD(options, options, options);
1058
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1059
- WRITE_LIST_FIELD(exclude_op_names, excludeOpNames, excludeOpNames);
1060
- WRITE_STRING_FIELD(idxcomment, idxcomment, idxcomment);
1061
- WRITE_UINT_FIELD(index_oid, indexOid, indexOid);
1062
- WRITE_UINT_FIELD(old_node, oldNode, oldNode);
1063
- WRITE_UINT_FIELD(old_create_subid, oldCreateSubid, oldCreateSubid);
1064
- WRITE_UINT_FIELD(old_first_relfilenode_subid, oldFirstRelfilenodeSubid, oldFirstRelfilenodeSubid);
1065
- WRITE_BOOL_FIELD(unique, unique, unique);
1066
- WRITE_BOOL_FIELD(primary, primary, primary);
1067
- WRITE_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
1068
- WRITE_BOOL_FIELD(deferrable, deferrable, deferrable);
1069
- WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
1070
- WRITE_BOOL_FIELD(transformed, transformed, transformed);
1071
- WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
1072
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1073
- WRITE_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
1109
+ WRITE_UINT_FIELD(options, options, options);
1110
+ WRITE_UINT_FIELD(relation_oid, relationOid, relationOid);
1074
1111
  }
1075
1112
 
1076
1113
  static void
1077
- _outCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) out, const CreateFunctionStmt *node)
1114
+ _outIndexElem(OUT_TYPE(IndexElem, IndexElem) out, const IndexElem *node)
1078
1115
  {
1079
- WRITE_BOOL_FIELD(is_procedure, is_procedure, is_procedure);
1080
- WRITE_BOOL_FIELD(replace, replace, replace);
1081
- WRITE_LIST_FIELD(funcname, funcname, funcname);
1082
- WRITE_LIST_FIELD(parameters, parameters, parameters);
1083
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, return_type, returnType, returnType);
1084
- WRITE_LIST_FIELD(options, options, options);
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);
1085
1124
  }
1086
1125
 
1087
1126
  static void
1088
- _outAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) out, const AlterFunctionStmt *node)
1127
+ _outDefElem(OUT_TYPE(DefElem, DefElem) out, const DefElem *node)
1089
1128
  {
1090
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1091
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
1092
- WRITE_LIST_FIELD(actions, actions, actions);
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);
1093
1134
  }
1094
1135
 
1095
1136
  static void
1096
- _outDoStmt(OUT_TYPE(DoStmt, DoStmt) out, const DoStmt *node)
1137
+ _outLockingClause(OUT_TYPE(LockingClause, LockingClause) out, const LockingClause *node)
1097
1138
  {
1098
- WRITE_LIST_FIELD(args, args, args);
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);
1099
1142
  }
1100
1143
 
1101
1144
  static void
1102
- _outRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) out, const RenameStmt *node)
1145
+ _outXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) out, const XmlSerialize *node)
1103
1146
  {
1104
- WRITE_ENUM_FIELD(ObjectType, rename_type, renameType, renameType);
1105
- WRITE_ENUM_FIELD(ObjectType, relation_type, relationType, relationType);
1106
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1107
- WRITE_NODE_PTR_FIELD(object, object, object);
1108
- WRITE_STRING_FIELD(subname, subname, subname);
1109
- WRITE_STRING_FIELD(newname, newname, newname);
1110
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1111
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
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);
1112
1152
  }
1113
1153
 
1114
1154
  static void
1115
- _outRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) out, const RuleStmt *node)
1155
+ _outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out, const PartitionElem *node)
1116
1156
  {
1117
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1118
- WRITE_STRING_FIELD(rulename, rulename, rulename);
1119
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1120
- WRITE_ENUM_FIELD(CmdType, event, event, event);
1121
- WRITE_BOOL_FIELD(instead, instead, instead);
1122
- WRITE_LIST_FIELD(actions, actions, actions);
1123
- WRITE_BOOL_FIELD(replace, replace, replace);
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);
1124
1162
  }
1125
1163
 
1126
1164
  static void
1127
- _outNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) out, const NotifyStmt *node)
1165
+ _outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out, const PartitionSpec *node)
1128
1166
  {
1129
- WRITE_STRING_FIELD(conditionname, conditionname, conditionname);
1130
- WRITE_STRING_FIELD(payload, payload, payload);
1167
+ WRITE_ENUM_FIELD(PartitionStrategy, strategy, strategy, strategy);
1168
+ WRITE_LIST_FIELD(part_params, partParams, partParams);
1169
+ WRITE_INT_FIELD(location, location, location);
1131
1170
  }
1132
1171
 
1133
1172
  static void
1134
- _outListenStmt(OUT_TYPE(ListenStmt, ListenStmt) out, const ListenStmt *node)
1173
+ _outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out, const PartitionBoundSpec *node)
1135
1174
  {
1136
- 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);
1137
1183
  }
1138
1184
 
1139
1185
  static void
1140
- _outUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) out, const UnlistenStmt *node)
1186
+ _outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out, const PartitionRangeDatum *node)
1141
1187
  {
1142
- WRITE_STRING_FIELD(conditionname, conditionname, conditionname);
1188
+ WRITE_ENUM_FIELD(PartitionRangeDatumKind, kind, kind, kind);
1189
+ WRITE_NODE_PTR_FIELD(value, value, value);
1190
+ WRITE_INT_FIELD(location, location, location);
1143
1191
  }
1144
1192
 
1145
1193
  static void
1146
- _outTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) out, const TransactionStmt *node)
1194
+ _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out, const PartitionCmd *node)
1147
1195
  {
1148
- WRITE_ENUM_FIELD(TransactionStmtKind, kind, kind, kind);
1149
- WRITE_LIST_FIELD(options, options, options);
1150
- WRITE_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name);
1151
- WRITE_STRING_FIELD(gid, gid, gid);
1152
- WRITE_BOOL_FIELD(chain, chain, chain);
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);
1153
1199
  }
1154
1200
 
1155
1201
  static void
1156
- _outViewStmt(OUT_TYPE(ViewStmt, ViewStmt) out, const ViewStmt *node)
1202
+ _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out, const RangeTblEntry *node)
1157
1203
  {
1158
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, view, view, view);
1159
- WRITE_LIST_FIELD(aliases, aliases, aliases);
1160
- WRITE_NODE_PTR_FIELD(query, query, query);
1161
- WRITE_BOOL_FIELD(replace, replace, replace);
1162
- WRITE_LIST_FIELD(options, options, options);
1163
- WRITE_ENUM_FIELD(ViewCheckOption, with_check_option, withCheckOption, withCheckOption);
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);
1164
1236
  }
1165
1237
 
1166
1238
  static void
1167
- _outLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) out, const LoadStmt *node)
1239
+ _outRTEPermissionInfo(OUT_TYPE(RTEPermissionInfo, RTEPermissionInfo) out, const RTEPermissionInfo *node)
1168
1240
  {
1169
- WRITE_STRING_FIELD(filename, filename, filename);
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);
1170
1248
  }
1171
1249
 
1172
1250
  static void
1173
- _outCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) out, const CreateDomainStmt *node)
1251
+ _outRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) out, const RangeTblFunction *node)
1174
1252
  {
1175
- WRITE_LIST_FIELD(domainname, domainname, domainname);
1176
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1177
- WRITE_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
1178
- WRITE_LIST_FIELD(constraints, constraints, constraints);
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);
1179
1260
  }
1180
1261
 
1181
1262
  static void
1182
- _outCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) out, const CreatedbStmt *node)
1263
+ _outTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) out, const TableSampleClause *node)
1183
1264
  {
1184
- WRITE_STRING_FIELD(dbname, dbname, dbname);
1185
- WRITE_LIST_FIELD(options, options, options);
1265
+ WRITE_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler);
1266
+ WRITE_LIST_FIELD(args, args, args);
1267
+ WRITE_NODE_PTR_FIELD(repeatable, repeatable, repeatable);
1186
1268
  }
1187
1269
 
1188
1270
  static void
1189
- _outDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) out, const DropdbStmt *node)
1271
+ _outWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) out, const WithCheckOption *node)
1190
1272
  {
1191
- WRITE_STRING_FIELD(dbname, dbname, dbname);
1192
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1193
- 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);
1194
1278
  }
1195
1279
 
1196
1280
  static void
1197
- _outVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) out, const VacuumStmt *node)
1281
+ _outSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) out, const SortGroupClause *node)
1198
1282
  {
1199
- WRITE_LIST_FIELD(options, options, options);
1200
- WRITE_LIST_FIELD(rels, rels, rels);
1201
- WRITE_BOOL_FIELD(is_vacuumcmd, is_vacuumcmd, is_vacuumcmd);
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);
1202
1288
  }
1203
1289
 
1204
1290
  static void
1205
- _outExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) out, const ExplainStmt *node)
1291
+ _outGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) out, const GroupingSet *node)
1206
1292
  {
1207
- WRITE_NODE_PTR_FIELD(query, query, query);
1208
- WRITE_LIST_FIELD(options, options, options);
1293
+ WRITE_ENUM_FIELD(GroupingSetKind, kind, kind, kind);
1294
+ WRITE_LIST_FIELD(content, content, content);
1295
+ WRITE_INT_FIELD(location, location, location);
1209
1296
  }
1210
1297
 
1211
1298
  static void
1212
- _outCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) out, const CreateTableAsStmt *node)
1299
+ _outWindowClause(OUT_TYPE(WindowClause, WindowClause) out, const WindowClause *node)
1213
1300
  {
1214
- WRITE_NODE_PTR_FIELD(query, query, query);
1215
- WRITE_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into, into, into);
1216
- WRITE_ENUM_FIELD(ObjectType, relkind, relkind, relkind);
1217
- WRITE_BOOL_FIELD(is_select_into, is_select_into, is_select_into);
1218
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
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);
1219
1316
  }
1220
1317
 
1221
1318
  static void
1222
- _outCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) out, const CreateSeqStmt *node)
1319
+ _outRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) out, const RowMarkClause *node)
1223
1320
  {
1224
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
1225
- WRITE_LIST_FIELD(options, options, options);
1226
- WRITE_UINT_FIELD(owner_id, ownerId, ownerId);
1227
- WRITE_BOOL_FIELD(for_identity, for_identity, for_identity);
1228
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
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);
1229
1325
  }
1230
1326
 
1231
1327
  static void
1232
- _outAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) out, const AlterSeqStmt *node)
1328
+ _outWithClause(OUT_TYPE(WithClause, WithClause) out, const WithClause *node)
1233
1329
  {
1234
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
1235
- WRITE_LIST_FIELD(options, options, options);
1236
- WRITE_BOOL_FIELD(for_identity, for_identity, for_identity);
1237
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1330
+ WRITE_LIST_FIELD(ctes, ctes, ctes);
1331
+ WRITE_BOOL_FIELD(recursive, recursive, recursive);
1332
+ WRITE_INT_FIELD(location, location, location);
1238
1333
  }
1239
1334
 
1240
1335
  static void
1241
- _outVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) out, const VariableSetStmt *node)
1336
+ _outInferClause(OUT_TYPE(InferClause, InferClause) out, const InferClause *node)
1242
1337
  {
1243
- WRITE_ENUM_FIELD(VariableSetKind, kind, kind, kind);
1244
- WRITE_STRING_FIELD(name, name, name);
1245
- WRITE_LIST_FIELD(args, args, args);
1246
- WRITE_BOOL_FIELD(is_local, is_local, is_local);
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);
1247
1342
  }
1248
1343
 
1249
1344
  static void
1250
- _outVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) out, const VariableShowStmt *node)
1345
+ _outOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) out, const OnConflictClause *node)
1251
1346
  {
1252
- WRITE_STRING_FIELD(name, name, name);
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);
1253
1352
  }
1254
1353
 
1255
1354
  static void
1256
- _outDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) out, const DiscardStmt *node)
1355
+ _outCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) out, const CTESearchClause *node)
1257
1356
  {
1258
- WRITE_ENUM_FIELD(DiscardMode, target, target, target);
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);
1259
1361
  }
1260
1362
 
1261
1363
  static void
1262
- _outCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) out, const CreateTrigStmt *node)
1364
+ _outCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) out, const CTECycleClause *node)
1263
1365
  {
1264
- WRITE_STRING_FIELD(trigname, trigname, trigname);
1265
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1266
- WRITE_LIST_FIELD(funcname, funcname, funcname);
1267
- WRITE_LIST_FIELD(args, args, args);
1268
- WRITE_BOOL_FIELD(row, row, row);
1269
- WRITE_INT_FIELD(timing, timing, timing);
1270
- WRITE_INT_FIELD(events, events, events);
1271
- WRITE_LIST_FIELD(columns, columns, columns);
1272
- WRITE_NODE_PTR_FIELD(when_clause, whenClause, whenClause);
1273
- WRITE_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
1274
- WRITE_LIST_FIELD(transition_rels, transitionRels, transitionRels);
1275
- WRITE_BOOL_FIELD(deferrable, deferrable, deferrable);
1276
- WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
1277
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, constrrel, constrrel, constrrel);
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);
1376
+ }
1377
+
1378
+ static void
1379
+ _outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out, const CommonTableExpr *node)
1380
+ {
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);
1394
+ }
1395
+
1396
+ static void
1397
+ _outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out, const MergeWhenClause *node)
1398
+ {
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);
1405
+ }
1406
+
1407
+ static void
1408
+ _outMergeAction(OUT_TYPE(MergeAction, MergeAction) out, const MergeAction *node)
1409
+ {
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);
1416
+ }
1417
+
1418
+ static void
1419
+ _outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out, const TriggerTransition *node)
1420
+ {
1421
+ WRITE_STRING_FIELD(name, name, name);
1422
+ WRITE_BOOL_FIELD(is_new, isNew, isNew);
1423
+ WRITE_BOOL_FIELD(is_table, isTable, isTable);
1424
+ }
1425
+
1426
+ static void
1427
+ _outJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) out, const JsonOutput *node)
1428
+ {
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);
1431
+ }
1432
+
1433
+ static void
1434
+ _outJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) out, const JsonKeyValue *node)
1435
+ {
1436
+ WRITE_NODE_PTR_FIELD(key, key, key);
1437
+ WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, value, value, value);
1278
1438
  }
1279
1439
 
1280
1440
  static void
1281
- _outCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) out, const CreatePLangStmt *node)
1441
+ _outJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) out, const JsonObjectConstructor *node)
1282
1442
  {
1283
- WRITE_BOOL_FIELD(replace, replace, replace);
1284
- WRITE_STRING_FIELD(plname, plname, plname);
1285
- WRITE_LIST_FIELD(plhandler, plhandler, plhandler);
1286
- WRITE_LIST_FIELD(plinline, plinline, plinline);
1287
- WRITE_LIST_FIELD(plvalidator, plvalidator, plvalidator);
1288
- WRITE_BOOL_FIELD(pltrusted, pltrusted, pltrusted);
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);
1289
1448
  }
1290
1449
 
1291
1450
  static void
1292
- _outCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) out, const CreateRoleStmt *node)
1451
+ _outJsonArrayConstructor(OUT_TYPE(JsonArrayConstructor, JsonArrayConstructor) out, const JsonArrayConstructor *node)
1293
1452
  {
1294
- WRITE_ENUM_FIELD(RoleStmtType, stmt_type, stmt_type, stmt_type);
1295
- WRITE_STRING_FIELD(role, role, role);
1296
- 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);
1297
1457
  }
1298
1458
 
1299
1459
  static void
1300
- _outAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) out, const AlterRoleStmt *node)
1460
+ _outJsonArrayQueryConstructor(OUT_TYPE(JsonArrayQueryConstructor, JsonArrayQueryConstructor) out, const JsonArrayQueryConstructor *node)
1301
1461
  {
1302
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
1303
- WRITE_LIST_FIELD(options, options, options);
1304
- WRITE_INT_FIELD(action, action, action);
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);
1305
1467
  }
1306
1468
 
1307
1469
  static void
1308
- _outDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) out, const DropRoleStmt *node)
1470
+ _outJsonAggConstructor(OUT_TYPE(JsonAggConstructor, JsonAggConstructor) out, const JsonAggConstructor *node)
1309
1471
  {
1310
- WRITE_LIST_FIELD(roles, roles, roles);
1311
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
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);
1312
1477
  }
1313
1478
 
1314
1479
  static void
1315
- _outLockStmt(OUT_TYPE(LockStmt, LockStmt) out, const LockStmt *node)
1480
+ _outJsonObjectAgg(OUT_TYPE(JsonObjectAgg, JsonObjectAgg) out, const JsonObjectAgg *node)
1316
1481
  {
1317
- WRITE_LIST_FIELD(relations, relations, relations);
1318
- WRITE_INT_FIELD(mode, mode, mode);
1319
- WRITE_BOOL_FIELD(nowait, nowait, nowait);
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);
1320
1486
  }
1321
1487
 
1322
1488
  static void
1323
- _outConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) out, const ConstraintsSetStmt *node)
1489
+ _outJsonArrayAgg(OUT_TYPE(JsonArrayAgg, JsonArrayAgg) out, const JsonArrayAgg *node)
1324
1490
  {
1325
- WRITE_LIST_FIELD(constraints, constraints, constraints);
1326
- WRITE_BOOL_FIELD(deferred, deferred, deferred);
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);
1327
1494
  }
1328
1495
 
1329
1496
  static void
1330
- _outReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) out, const ReindexStmt *node)
1497
+ _outRawStmt(OUT_TYPE(RawStmt, RawStmt) out, const RawStmt *node)
1331
1498
  {
1332
- WRITE_ENUM_FIELD(ReindexObjectType, kind, kind, kind);
1333
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1334
- WRITE_STRING_FIELD(name, name, name);
1335
- WRITE_INT_FIELD(options, options, options);
1336
- WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
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);
1337
1502
  }
1338
1503
 
1339
1504
  static void
1340
- _outCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) out, const CheckPointStmt *node)
1505
+ _outInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) out, const InsertStmt *node)
1341
1506
  {
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);
1342
1514
  }
1343
1515
 
1344
1516
  static void
1345
- _outCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) out, const CreateSchemaStmt *node)
1517
+ _outDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) out, const DeleteStmt *node)
1346
1518
  {
1347
- WRITE_STRING_FIELD(schemaname, schemaname, schemaname);
1348
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, authrole, authrole, authrole);
1349
- WRITE_LIST_FIELD(schema_elts, schemaElts, schemaElts);
1350
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
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);
1351
1524
  }
1352
1525
 
1353
1526
  static void
1354
- _outAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) out, const AlterDatabaseStmt *node)
1527
+ _outUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) out, const UpdateStmt *node)
1355
1528
  {
1356
- WRITE_STRING_FIELD(dbname, dbname, dbname);
1357
- WRITE_LIST_FIELD(options, options, options);
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);
1358
1535
  }
1359
1536
 
1360
1537
  static void
1361
- _outAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) out, const AlterDatabaseSetStmt *node)
1538
+ _outMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) out, const MergeStmt *node)
1362
1539
  {
1363
- WRITE_STRING_FIELD(dbname, dbname, dbname);
1364
- WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
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);
1365
1545
  }
1366
1546
 
1367
1547
  static void
1368
- _outAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) out, const AlterRoleSetStmt *node)
1548
+ _outSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) out, const SelectStmt *node)
1369
1549
  {
1370
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
1371
- WRITE_STRING_FIELD(database, database, database);
1372
- WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
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);
1373
1570
  }
1374
1571
 
1375
1572
  static void
1376
- _outCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) out, const CreateConversionStmt *node)
1573
+ _outSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) out, const SetOperationStmt *node)
1377
1574
  {
1378
- WRITE_LIST_FIELD(conversion_name, conversion_name, conversion_name);
1379
- WRITE_STRING_FIELD(for_encoding_name, for_encoding_name, for_encoding_name);
1380
- WRITE_STRING_FIELD(to_encoding_name, to_encoding_name, to_encoding_name);
1381
- WRITE_LIST_FIELD(func_name, func_name, func_name);
1382
- WRITE_BOOL_FIELD(def, def, def);
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);
1383
1583
  }
1384
1584
 
1385
1585
  static void
1386
- _outCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) out, const CreateCastStmt *node)
1586
+ _outReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) out, const ReturnStmt *node)
1387
1587
  {
1388
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, sourcetype, sourcetype, sourcetype);
1389
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, targettype, targettype, targettype);
1390
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
1391
- WRITE_ENUM_FIELD(CoercionContext, context, context, context);
1392
- WRITE_BOOL_FIELD(inout, inout, inout);
1588
+ WRITE_NODE_PTR_FIELD(returnval, returnval, returnval);
1393
1589
  }
1394
1590
 
1395
1591
  static void
1396
- _outCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) out, const CreateOpClassStmt *node)
1592
+ _outPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) out, const PLAssignStmt *node)
1397
1593
  {
1398
- WRITE_LIST_FIELD(opclassname, opclassname, opclassname);
1399
- WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1400
- WRITE_STRING_FIELD(amname, amname, amname);
1401
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, datatype, datatype, datatype);
1402
- WRITE_LIST_FIELD(items, items, items);
1403
- WRITE_BOOL_FIELD(is_default, isDefault, isDefault);
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);
1404
1599
  }
1405
1600
 
1406
1601
  static void
1407
- _outCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) out, const CreateOpFamilyStmt *node)
1602
+ _outCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) out, const CreateSchemaStmt *node)
1408
1603
  {
1409
- WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1410
- WRITE_STRING_FIELD(amname, amname, amname);
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);
1411
1608
  }
1412
1609
 
1413
1610
  static void
1414
- _outAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) out, const AlterOpFamilyStmt *node)
1611
+ _outAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) out, const AlterTableStmt *node)
1415
1612
  {
1416
- WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1417
- WRITE_STRING_FIELD(amname, amname, amname);
1418
- WRITE_BOOL_FIELD(is_drop, isDrop, isDrop);
1419
- WRITE_LIST_FIELD(items, items, items);
1613
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
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);
1420
1617
  }
1421
1618
 
1422
1619
  static void
1423
- _outPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) out, const PrepareStmt *node)
1620
+ _outReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) out, const ReplicaIdentityStmt *node)
1424
1621
  {
1622
+ WRITE_CHAR_FIELD(identity_type, identity_type, identity_type);
1425
1623
  WRITE_STRING_FIELD(name, name, name);
1426
- WRITE_LIST_FIELD(argtypes, argtypes, argtypes);
1427
- WRITE_NODE_PTR_FIELD(query, query, query);
1428
1624
  }
1429
1625
 
1430
1626
  static void
1431
- _outExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) out, const ExecuteStmt *node)
1627
+ _outAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) out, const AlterTableCmd *node)
1432
1628
  {
1629
+ WRITE_ENUM_FIELD(AlterTableType, subtype, subtype, subtype);
1433
1630
  WRITE_STRING_FIELD(name, name, name);
1434
- WRITE_LIST_FIELD(params, params, params);
1631
+ WRITE_INT_FIELD(num, num, num);
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);
1435
1637
  }
1436
1638
 
1437
1639
  static void
1438
- _outDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) out, const DeallocateStmt *node)
1640
+ _outAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) out, const AlterCollationStmt *node)
1641
+ {
1642
+ WRITE_LIST_FIELD(collname, collname, collname);
1643
+ }
1644
+
1645
+ static void
1646
+ _outAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) out, const AlterDomainStmt *node)
1439
1647
  {
1648
+ WRITE_CHAR_FIELD(subtype, subtype, subtype);
1649
+ WRITE_LIST_FIELD(type_name, typeName, typeName);
1440
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);
1441
1654
  }
1442
1655
 
1443
1656
  static void
1444
- _outDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) out, const DeclareCursorStmt *node)
1657
+ _outGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) out, const GrantStmt *node)
1445
1658
  {
1446
- WRITE_STRING_FIELD(portalname, portalname, portalname);
1447
- WRITE_INT_FIELD(options, options, options);
1448
- WRITE_NODE_PTR_FIELD(query, query, query);
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);
1667
+ WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1449
1668
  }
1450
1669
 
1451
1670
  static void
1452
- _outCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) out, const CreateTableSpaceStmt *node)
1671
+ _outObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) out, const ObjectWithArgs *node)
1453
1672
  {
1454
- WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1455
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, owner, owner, owner);
1456
- WRITE_STRING_FIELD(location, location, location);
1457
- WRITE_LIST_FIELD(options, options, options);
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);
1458
1677
  }
1459
1678
 
1460
1679
  static void
1461
- _outDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) out, const DropTableSpaceStmt *node)
1680
+ _outAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) out, const AccessPriv *node)
1462
1681
  {
1463
- WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1464
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1682
+ WRITE_STRING_FIELD(priv_name, priv_name, priv_name);
1683
+ WRITE_LIST_FIELD(cols, cols, cols);
1465
1684
  }
1466
1685
 
1467
1686
  static void
1468
- _outAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) out, const AlterObjectDependsStmt *node)
1687
+ _outGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) out, const GrantRoleStmt *node)
1469
1688
  {
1470
- WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1471
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1472
- WRITE_NODE_PTR_FIELD(object, object, object);
1473
- WRITE_NODE_PTR_FIELD(extname, extname, extname);
1474
- WRITE_BOOL_FIELD(remove, remove, remove);
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);
1475
1695
  }
1476
1696
 
1477
1697
  static void
1478
- _outAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) out, const AlterObjectSchemaStmt *node)
1698
+ _outAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) out, const AlterDefaultPrivilegesStmt *node)
1479
1699
  {
1480
- WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1481
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1482
- WRITE_NODE_PTR_FIELD(object, object, object);
1483
- WRITE_STRING_FIELD(newschema, newschema, newschema);
1484
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1700
+ WRITE_LIST_FIELD(options, options, options);
1701
+ WRITE_SPECIFIC_NODE_PTR_FIELD(GrantStmt, grant_stmt, action, action, action);
1485
1702
  }
1486
1703
 
1487
1704
  static void
1488
- _outAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) out, const AlterOwnerStmt *node)
1705
+ _outCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) out, const CopyStmt *node)
1489
1706
  {
1490
- WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1491
1707
  WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1492
- WRITE_NODE_PTR_FIELD(object, object, object);
1493
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner);
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);
1494
1715
  }
1495
1716
 
1496
1717
  static void
1497
- _outAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) out, const AlterOperatorStmt *node)
1718
+ _outVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) out, const VariableSetStmt *node)
1719
+ {
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);
1724
+ }
1725
+
1726
+ static void
1727
+ _outVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) out, const VariableShowStmt *node)
1498
1728
  {
1499
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, opername, opername, opername);
1500
- WRITE_LIST_FIELD(options, options, options);
1729
+ WRITE_STRING_FIELD(name, name, name);
1501
1730
  }
1502
1731
 
1503
1732
  static void
1504
- _outAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) out, const AlterTypeStmt *node)
1733
+ _outCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) out, const CreateStmt *node)
1505
1734
  {
1506
- WRITE_LIST_FIELD(type_name, typeName, typeName);
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);
1507
1742
  WRITE_LIST_FIELD(options, options, options);
1743
+ WRITE_ENUM_FIELD(OnCommitAction, oncommit, oncommit, oncommit);
1744
+ WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1745
+ WRITE_STRING_FIELD(access_method, accessMethod, accessMethod);
1746
+ WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1508
1747
  }
1509
1748
 
1510
1749
  static void
1511
- _outDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) out, const DropOwnedStmt *node)
1750
+ _outConstraint(OUT_TYPE(Constraint, Constraint) out, const Constraint *node)
1512
1751
  {
1513
- WRITE_LIST_FIELD(roles, roles, roles);
1514
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
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);
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);
1515
1782
  }
1516
1783
 
1517
1784
  static void
1518
- _outReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) out, const ReassignOwnedStmt *node)
1785
+ _outCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) out, const CreateTableSpaceStmt *node)
1519
1786
  {
1520
- WRITE_LIST_FIELD(roles, roles, roles);
1521
- WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newrole, newrole, newrole);
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);
1790
+ WRITE_LIST_FIELD(options, options, options);
1522
1791
  }
1523
1792
 
1524
1793
  static void
1525
- _outCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) out, const CompositeTypeStmt *node)
1794
+ _outDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) out, const DropTableSpaceStmt *node)
1526
1795
  {
1527
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, typevar, typevar, typevar);
1528
- WRITE_LIST_FIELD(coldeflist, coldeflist, coldeflist);
1796
+ WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1797
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1529
1798
  }
1530
1799
 
1531
1800
  static void
1532
- _outCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) out, const CreateEnumStmt *node)
1801
+ _outAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) out, const AlterTableSpaceOptionsStmt *node)
1533
1802
  {
1534
- WRITE_LIST_FIELD(type_name, typeName, typeName);
1535
- WRITE_LIST_FIELD(vals, vals, vals);
1803
+ WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1804
+ WRITE_LIST_FIELD(options, options, options);
1805
+ WRITE_BOOL_FIELD(is_reset, isReset, isReset);
1536
1806
  }
1537
1807
 
1538
1808
  static void
1539
- _outCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) out, const CreateRangeStmt *node)
1809
+ _outAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) out, const AlterTableMoveAllStmt *node)
1540
1810
  {
1541
- WRITE_LIST_FIELD(type_name, typeName, typeName);
1542
- WRITE_LIST_FIELD(params, params, params);
1811
+ WRITE_STRING_FIELD(orig_tablespacename, orig_tablespacename, orig_tablespacename);
1812
+ WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1813
+ WRITE_LIST_FIELD(roles, roles, roles);
1814
+ WRITE_STRING_FIELD(new_tablespacename, new_tablespacename, new_tablespacename);
1815
+ WRITE_BOOL_FIELD(nowait, nowait, nowait);
1543
1816
  }
1544
1817
 
1545
1818
  static void
1546
- _outAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) out, const AlterEnumStmt *node)
1819
+ _outCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) out, const CreateExtensionStmt *node)
1547
1820
  {
1548
- WRITE_LIST_FIELD(type_name, typeName, typeName);
1549
- WRITE_STRING_FIELD(old_val, oldVal, oldVal);
1550
- WRITE_STRING_FIELD(new_val, newVal, newVal);
1551
- WRITE_STRING_FIELD(new_val_neighbor, newValNeighbor, newValNeighbor);
1552
- WRITE_BOOL_FIELD(new_val_is_after, newValIsAfter, newValIsAfter);
1553
- WRITE_BOOL_FIELD(skip_if_new_val_exists, skipIfNewValExists, skipIfNewValExists);
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);
1554
1824
  }
1555
1825
 
1556
1826
  static void
1557
- _outAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) out, const AlterTSDictionaryStmt *node)
1827
+ _outAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) out, const AlterExtensionStmt *node)
1558
1828
  {
1559
- WRITE_LIST_FIELD(dictname, dictname, dictname);
1829
+ WRITE_STRING_FIELD(extname, extname, extname);
1560
1830
  WRITE_LIST_FIELD(options, options, options);
1561
1831
  }
1562
1832
 
1563
1833
  static void
1564
- _outAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) out, const AlterTSConfigurationStmt *node)
1834
+ _outAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) out, const AlterExtensionContentsStmt *node)
1565
1835
  {
1566
- WRITE_ENUM_FIELD(AlterTSConfigType, kind, kind, kind);
1567
- WRITE_LIST_FIELD(cfgname, cfgname, cfgname);
1568
- WRITE_LIST_FIELD(tokentype, tokentype, tokentype);
1569
- WRITE_LIST_FIELD(dicts, dicts, dicts);
1570
- WRITE_BOOL_FIELD(override, override, override);
1571
- WRITE_BOOL_FIELD(replace, replace, replace);
1572
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
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);
1573
1840
  }
1574
1841
 
1575
1842
  static void
@@ -1608,6 +1875,14 @@ _outAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerSt
1608
1875
  WRITE_BOOL_FIELD(has_version, has_version, has_version);
1609
1876
  }
1610
1877
 
1878
+ static void
1879
+ _outCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) out, const CreateForeignTableStmt *node)
1880
+ {
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);
1884
+ }
1885
+
1611
1886
  static void
1612
1887
  _outCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) out, const CreateUserMappingStmt *node)
1613
1888
  {
@@ -1634,804 +1909,789 @@ _outDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) out,
1634
1909
  }
1635
1910
 
1636
1911
  static void
1637
- _outAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) out, const AlterTableSpaceOptionsStmt *node)
1912
+ _outImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) out, const ImportForeignSchemaStmt *node)
1638
1913
  {
1639
- WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename);
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);
1640
1919
  WRITE_LIST_FIELD(options, options, options);
1641
- WRITE_BOOL_FIELD(is_reset, isReset, isReset);
1642
1920
  }
1643
1921
 
1644
1922
  static void
1645
- _outAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) out, const AlterTableMoveAllStmt *node)
1923
+ _outCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) out, const CreatePolicyStmt *node)
1646
1924
  {
1647
- WRITE_STRING_FIELD(orig_tablespacename, orig_tablespacename, orig_tablespacename);
1648
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1925
+ WRITE_STRING_FIELD(policy_name, policy_name, policy_name);
1926
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table);
1927
+ WRITE_STRING_FIELD(cmd_name, cmd_name, cmd_name);
1928
+ WRITE_BOOL_FIELD(permissive, permissive, permissive);
1649
1929
  WRITE_LIST_FIELD(roles, roles, roles);
1650
- WRITE_STRING_FIELD(new_tablespacename, new_tablespacename, new_tablespacename);
1651
- WRITE_BOOL_FIELD(nowait, nowait, nowait);
1930
+ WRITE_NODE_PTR_FIELD(qual, qual, qual);
1931
+ WRITE_NODE_PTR_FIELD(with_check, with_check, with_check);
1652
1932
  }
1653
1933
 
1654
1934
  static void
1655
- _outSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) out, const SecLabelStmt *node)
1935
+ _outAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) out, const AlterPolicyStmt *node)
1656
1936
  {
1657
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1658
- WRITE_NODE_PTR_FIELD(object, object, object);
1659
- WRITE_STRING_FIELD(provider, provider, provider);
1660
- WRITE_STRING_FIELD(label, label, label);
1937
+ WRITE_STRING_FIELD(policy_name, policy_name, policy_name);
1938
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table);
1939
+ WRITE_LIST_FIELD(roles, roles, roles);
1940
+ WRITE_NODE_PTR_FIELD(qual, qual, qual);
1941
+ WRITE_NODE_PTR_FIELD(with_check, with_check, with_check);
1661
1942
  }
1662
1943
 
1663
1944
  static void
1664
- _outCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) out, const CreateForeignTableStmt *node)
1945
+ _outCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) out, const CreateAmStmt *node)
1665
1946
  {
1666
- WRITE_SPECIFIC_NODE_FIELD(CreateStmt, create_stmt, base_stmt, base, base);
1667
- WRITE_STRING_FIELD(servername, servername, servername);
1947
+ WRITE_STRING_FIELD(amname, amname, amname);
1948
+ WRITE_LIST_FIELD(handler_name, handler_name, handler_name);
1949
+ WRITE_CHAR_FIELD(amtype, amtype, amtype);
1950
+ }
1951
+
1952
+ static void
1953
+ _outCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) out, const CreateTrigStmt *node)
1954
+ {
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);
1970
+ }
1971
+
1972
+ static void
1973
+ _outCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) out, const CreateEventTrigStmt *node)
1974
+ {
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);
1979
+ }
1980
+
1981
+ static void
1982
+ _outAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) out, const AlterEventTrigStmt *node)
1983
+ {
1984
+ WRITE_STRING_FIELD(trigname, trigname, trigname);
1985
+ WRITE_CHAR_FIELD(tgenabled, tgenabled, tgenabled);
1986
+ }
1987
+
1988
+ static void
1989
+ _outCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) out, const CreatePLangStmt *node)
1990
+ {
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);
1997
+ }
1998
+
1999
+ static void
2000
+ _outCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) out, const CreateRoleStmt *node)
2001
+ {
2002
+ WRITE_ENUM_FIELD(RoleStmtType, stmt_type, stmt_type, stmt_type);
2003
+ WRITE_STRING_FIELD(role, role, role);
1668
2004
  WRITE_LIST_FIELD(options, options, options);
1669
2005
  }
1670
2006
 
1671
2007
  static void
1672
- _outImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) out, const ImportForeignSchemaStmt *node)
2008
+ _outAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) out, const AlterRoleStmt *node)
1673
2009
  {
1674
- WRITE_STRING_FIELD(server_name, server_name, server_name);
1675
- WRITE_STRING_FIELD(remote_schema, remote_schema, remote_schema);
1676
- WRITE_STRING_FIELD(local_schema, local_schema, local_schema);
1677
- WRITE_ENUM_FIELD(ImportForeignSchemaType, list_type, list_type, list_type);
1678
- WRITE_LIST_FIELD(table_list, table_list, table_list);
2010
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
1679
2011
  WRITE_LIST_FIELD(options, options, options);
2012
+ WRITE_INT_FIELD(action, action, action);
1680
2013
  }
1681
2014
 
1682
2015
  static void
1683
- _outCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) out, const CreateExtensionStmt *node)
2016
+ _outAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) out, const AlterRoleSetStmt *node)
1684
2017
  {
1685
- WRITE_STRING_FIELD(extname, extname, extname);
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);
2021
+ }
2022
+
2023
+ static void
2024
+ _outDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) out, const DropRoleStmt *node)
2025
+ {
2026
+ WRITE_LIST_FIELD(roles, roles, roles);
2027
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2028
+ }
2029
+
2030
+ static void
2031
+ _outCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) out, const CreateSeqStmt *node)
2032
+ {
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);
2038
+ }
2039
+
2040
+ static void
2041
+ _outAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) out, const AlterSeqStmt *node)
2042
+ {
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);
2047
+ }
2048
+
2049
+ static void
2050
+ _outDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) out, const DefineStmt *node)
2051
+ {
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);
1686
2057
  WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1687
- WRITE_LIST_FIELD(options, options, options);
2058
+ WRITE_BOOL_FIELD(replace, replace, replace);
1688
2059
  }
1689
2060
 
1690
2061
  static void
1691
- _outAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) out, const AlterExtensionStmt *node)
2062
+ _outCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) out, const CreateDomainStmt *node)
1692
2063
  {
1693
- WRITE_STRING_FIELD(extname, extname, extname);
1694
- WRITE_LIST_FIELD(options, options, options);
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);
1695
2068
  }
1696
2069
 
1697
2070
  static void
1698
- _outAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) out, const AlterExtensionContentsStmt *node)
2071
+ _outCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) out, const CreateOpClassStmt *node)
1699
2072
  {
1700
- WRITE_STRING_FIELD(extname, extname, extname);
1701
- WRITE_INT_FIELD(action, action, action);
1702
- WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1703
- WRITE_NODE_PTR_FIELD(object, object, object);
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);
1704
2079
  }
1705
2080
 
1706
2081
  static void
1707
- _outCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) out, const CreateEventTrigStmt *node)
2082
+ _outCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) out, const CreateOpClassItem *node)
1708
2083
  {
1709
- WRITE_STRING_FIELD(trigname, trigname, trigname);
1710
- WRITE_STRING_FIELD(eventname, eventname, eventname);
1711
- WRITE_LIST_FIELD(whenclause, whenclause, whenclause);
1712
- WRITE_LIST_FIELD(funcname, funcname, funcname);
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);
1713
2090
  }
1714
2091
 
1715
2092
  static void
1716
- _outAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) out, const AlterEventTrigStmt *node)
2093
+ _outCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) out, const CreateOpFamilyStmt *node)
1717
2094
  {
1718
- WRITE_STRING_FIELD(trigname, trigname, trigname);
1719
- WRITE_CHAR_FIELD(tgenabled, tgenabled, tgenabled);
2095
+ WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
2096
+ WRITE_STRING_FIELD(amname, amname, amname);
1720
2097
  }
1721
2098
 
1722
2099
  static void
1723
- _outRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) out, const RefreshMatViewStmt *node)
2100
+ _outAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) out, const AlterOpFamilyStmt *node)
1724
2101
  {
1725
- WRITE_BOOL_FIELD(concurrent, concurrent, concurrent);
1726
- WRITE_BOOL_FIELD(skip_data, skipData, skipData);
1727
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
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);
1728
2106
  }
1729
2107
 
1730
2108
  static void
1731
- _outReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) out, const ReplicaIdentityStmt *node)
2109
+ _outDropStmt(OUT_TYPE(DropStmt, DropStmt) out, const DropStmt *node)
1732
2110
  {
1733
- WRITE_CHAR_FIELD(identity_type, identity_type, identity_type);
1734
- WRITE_STRING_FIELD(name, name, name);
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);
1735
2116
  }
1736
2117
 
1737
2118
  static void
1738
- _outAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) out, const AlterSystemStmt *node)
2119
+ _outTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) out, const TruncateStmt *node)
1739
2120
  {
1740
- WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
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);
1741
2124
  }
1742
2125
 
1743
2126
  static void
1744
- _outCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) out, const CreatePolicyStmt *node)
2127
+ _outCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) out, const CommentStmt *node)
1745
2128
  {
1746
- WRITE_STRING_FIELD(policy_name, policy_name, policy_name);
1747
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table);
1748
- WRITE_STRING_FIELD(cmd_name, cmd_name, cmd_name);
1749
- WRITE_BOOL_FIELD(permissive, permissive, permissive);
1750
- WRITE_LIST_FIELD(roles, roles, roles);
1751
- WRITE_NODE_PTR_FIELD(qual, qual, qual);
1752
- WRITE_NODE_PTR_FIELD(with_check, with_check, with_check);
2129
+ WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
2130
+ WRITE_NODE_PTR_FIELD(object, object, object);
2131
+ WRITE_STRING_FIELD(comment, comment, comment);
1753
2132
  }
1754
2133
 
1755
2134
  static void
1756
- _outAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) out, const AlterPolicyStmt *node)
2135
+ _outSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) out, const SecLabelStmt *node)
1757
2136
  {
1758
- WRITE_STRING_FIELD(policy_name, policy_name, policy_name);
1759
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table);
1760
- WRITE_LIST_FIELD(roles, roles, roles);
1761
- WRITE_NODE_PTR_FIELD(qual, qual, qual);
1762
- WRITE_NODE_PTR_FIELD(with_check, with_check, with_check);
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);
1763
2141
  }
1764
2142
 
1765
2143
  static void
1766
- _outCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) out, const CreateTransformStmt *node)
2144
+ _outDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) out, const DeclareCursorStmt *node)
1767
2145
  {
1768
- WRITE_BOOL_FIELD(replace, replace, replace);
1769
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, type_name, type_name);
1770
- WRITE_STRING_FIELD(lang, lang, lang);
1771
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, fromsql, fromsql, fromsql);
1772
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, tosql, tosql, tosql);
2146
+ WRITE_STRING_FIELD(portalname, portalname, portalname);
2147
+ WRITE_INT_FIELD(options, options, options);
2148
+ WRITE_NODE_PTR_FIELD(query, query, query);
1773
2149
  }
1774
2150
 
1775
2151
  static void
1776
- _outCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) out, const CreateAmStmt *node)
2152
+ _outClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) out, const ClosePortalStmt *node)
1777
2153
  {
1778
- WRITE_STRING_FIELD(amname, amname, amname);
1779
- WRITE_LIST_FIELD(handler_name, handler_name, handler_name);
1780
- WRITE_CHAR_FIELD(amtype, amtype, amtype);
2154
+ WRITE_STRING_FIELD(portalname, portalname, portalname);
1781
2155
  }
1782
2156
 
1783
2157
  static void
1784
- _outCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) out, const CreatePublicationStmt *node)
2158
+ _outFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) out, const FetchStmt *node)
1785
2159
  {
1786
- WRITE_STRING_FIELD(pubname, pubname, pubname);
1787
- WRITE_LIST_FIELD(options, options, options);
1788
- WRITE_LIST_FIELD(tables, tables, tables);
1789
- WRITE_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
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);
1790
2164
  }
1791
2165
 
1792
2166
  static void
1793
- _outAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) out, const AlterPublicationStmt *node)
2167
+ _outIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) out, const IndexStmt *node)
1794
2168
  {
1795
- WRITE_STRING_FIELD(pubname, pubname, pubname);
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);
1796
2175
  WRITE_LIST_FIELD(options, options, options);
1797
- WRITE_LIST_FIELD(tables, tables, tables);
1798
- WRITE_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
1799
- WRITE_ENUM_FIELD(DefElemAction, table_action, tableAction, tableAction);
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);
1800
2193
  }
1801
2194
 
1802
2195
  static void
1803
- _outCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) out, const CreateSubscriptionStmt *node)
2196
+ _outCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) out, const CreateStatsStmt *node)
1804
2197
  {
1805
- WRITE_STRING_FIELD(subname, subname, subname);
1806
- WRITE_STRING_FIELD(conninfo, conninfo, conninfo);
1807
- WRITE_LIST_FIELD(publication, publication, publication);
1808
- WRITE_LIST_FIELD(options, options, options);
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);
1809
2205
  }
1810
2206
 
1811
2207
  static void
1812
- _outAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) out, const AlterSubscriptionStmt *node)
2208
+ _outStatsElem(OUT_TYPE(StatsElem, StatsElem) out, const StatsElem *node)
1813
2209
  {
1814
- WRITE_ENUM_FIELD(AlterSubscriptionType, kind, kind, kind);
1815
- WRITE_STRING_FIELD(subname, subname, subname);
1816
- WRITE_STRING_FIELD(conninfo, conninfo, conninfo);
1817
- WRITE_LIST_FIELD(publication, publication, publication);
1818
- WRITE_LIST_FIELD(options, options, options);
2210
+ WRITE_STRING_FIELD(name, name, name);
2211
+ WRITE_NODE_PTR_FIELD(expr, expr, expr);
1819
2212
  }
1820
2213
 
1821
2214
  static void
1822
- _outDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) out, const DropSubscriptionStmt *node)
2215
+ _outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out, const AlterStatsStmt *node)
1823
2216
  {
1824
- WRITE_STRING_FIELD(subname, subname, subname);
2217
+ WRITE_LIST_FIELD(defnames, defnames, defnames);
2218
+ WRITE_INT_FIELD(stxstattarget, stxstattarget, stxstattarget);
1825
2219
  WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1826
- WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1827
2220
  }
1828
2221
 
1829
2222
  static void
1830
- _outCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) out, const CreateStatsStmt *node)
2223
+ _outCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) out, const CreateFunctionStmt *node)
1831
2224
  {
1832
- WRITE_LIST_FIELD(defnames, defnames, defnames);
1833
- WRITE_LIST_FIELD(stat_types, stat_types, stat_types);
1834
- WRITE_LIST_FIELD(exprs, exprs, exprs);
1835
- WRITE_LIST_FIELD(relations, relations, relations);
1836
- WRITE_STRING_FIELD(stxcomment, stxcomment, stxcomment);
1837
- WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
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);
1838
2232
  }
1839
2233
 
1840
2234
  static void
1841
- _outAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) out, const AlterCollationStmt *node)
2235
+ _outFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) out, const FunctionParameter *node)
1842
2236
  {
1843
- WRITE_LIST_FIELD(collname, collname, collname);
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);
1844
2241
  }
1845
2242
 
1846
2243
  static void
1847
- _outCallStmt(OUT_TYPE(CallStmt, CallStmt) out, const CallStmt *node)
2244
+ _outAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) out, const AlterFunctionStmt *node)
1848
2245
  {
1849
- WRITE_SPECIFIC_NODE_PTR_FIELD(FuncCall, func_call, funccall, funccall, funccall);
1850
- WRITE_SPECIFIC_NODE_PTR_FIELD(FuncExpr, func_expr, funcexpr, funcexpr, funcexpr);
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);
1851
2249
  }
1852
2250
 
1853
2251
  static void
1854
- _outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out, const AlterStatsStmt *node)
2252
+ _outDoStmt(OUT_TYPE(DoStmt, DoStmt) out, const DoStmt *node)
1855
2253
  {
1856
- WRITE_LIST_FIELD(defnames, defnames, defnames);
1857
- WRITE_INT_FIELD(stxstattarget, stxstattarget, stxstattarget);
1858
- WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2254
+ WRITE_LIST_FIELD(args, args, args);
1859
2255
  }
1860
2256
 
1861
2257
  static void
1862
- _outAExpr(OUT_TYPE(A_Expr, AExpr) out, const A_Expr *node)
2258
+ _outInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) out, const InlineCodeBlock *node)
1863
2259
  {
1864
- WRITE_ENUM_FIELD(A_Expr_Kind, kind, kind, kind);
1865
- WRITE_LIST_FIELD(name, name, name);
1866
- WRITE_NODE_PTR_FIELD(lexpr, lexpr, lexpr);
1867
- WRITE_NODE_PTR_FIELD(rexpr, rexpr, rexpr);
1868
- WRITE_INT_FIELD(location, location, location);
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);
1869
2264
  }
1870
2265
 
1871
2266
  static void
1872
- _outColumnRef(OUT_TYPE(ColumnRef, ColumnRef) out, const ColumnRef *node)
2267
+ _outCallStmt(OUT_TYPE(CallStmt, CallStmt) out, const CallStmt *node)
1873
2268
  {
1874
- WRITE_LIST_FIELD(fields, fields, fields);
1875
- WRITE_INT_FIELD(location, location, location);
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);
1876
2272
  }
1877
2273
 
1878
2274
  static void
1879
- _outParamRef(OUT_TYPE(ParamRef, ParamRef) out, const ParamRef *node)
2275
+ _outCallContext(OUT_TYPE(CallContext, CallContext) out, const CallContext *node)
1880
2276
  {
1881
- WRITE_INT_FIELD(number, number, number);
1882
- WRITE_INT_FIELD(location, location, location);
2277
+ WRITE_BOOL_FIELD(atomic, atomic, atomic);
1883
2278
  }
1884
2279
 
1885
2280
  static void
1886
- _outAConst(OUT_TYPE(A_Const, AConst) out, const A_Const *node)
2281
+ _outRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) out, const RenameStmt *node)
1887
2282
  {
1888
- WRITE_NODE_FIELD(val, val, val);
1889
- WRITE_INT_FIELD(location, location, location);
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);
1890
2291
  }
1891
2292
 
1892
2293
  static void
1893
- _outFuncCall(OUT_TYPE(FuncCall, FuncCall) out, const FuncCall *node)
2294
+ _outAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) out, const AlterObjectDependsStmt *node)
1894
2295
  {
1895
- WRITE_LIST_FIELD(funcname, funcname, funcname);
1896
- WRITE_LIST_FIELD(args, args, args);
1897
- WRITE_LIST_FIELD(agg_order, agg_order, agg_order);
1898
- WRITE_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter);
1899
- WRITE_BOOL_FIELD(agg_within_group, agg_within_group, agg_within_group);
1900
- WRITE_BOOL_FIELD(agg_star, agg_star, agg_star);
1901
- WRITE_BOOL_FIELD(agg_distinct, agg_distinct, agg_distinct);
1902
- WRITE_BOOL_FIELD(func_variadic, func_variadic, func_variadic);
1903
- WRITE_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over);
1904
- WRITE_INT_FIELD(location, location, location);
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);
1905
2301
  }
1906
2302
 
1907
2303
  static void
1908
- _outAStar(OUT_TYPE(A_Star, AStar) out, const A_Star *node)
2304
+ _outAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) out, const AlterObjectSchemaStmt *node)
1909
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);
1910
2311
  }
1911
2312
 
1912
2313
  static void
1913
- _outAIndices(OUT_TYPE(A_Indices, AIndices) out, const A_Indices *node)
2314
+ _outAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) out, const AlterOwnerStmt *node)
1914
2315
  {
1915
- WRITE_BOOL_FIELD(is_slice, is_slice, is_slice);
1916
- WRITE_NODE_PTR_FIELD(lidx, lidx, lidx);
1917
- WRITE_NODE_PTR_FIELD(uidx, uidx, uidx);
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);
1918
2320
  }
1919
2321
 
1920
2322
  static void
1921
- _outAIndirection(OUT_TYPE(A_Indirection, AIndirection) out, const A_Indirection *node)
2323
+ _outAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) out, const AlterOperatorStmt *node)
1922
2324
  {
1923
- WRITE_NODE_PTR_FIELD(arg, arg, arg);
1924
- WRITE_LIST_FIELD(indirection, indirection, indirection);
2325
+ WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, opername, opername, opername);
2326
+ WRITE_LIST_FIELD(options, options, options);
1925
2327
  }
1926
2328
 
1927
2329
  static void
1928
- _outAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) out, const A_ArrayExpr *node)
2330
+ _outAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) out, const AlterTypeStmt *node)
1929
2331
  {
1930
- WRITE_LIST_FIELD(elements, elements, elements);
1931
- WRITE_INT_FIELD(location, location, location);
2332
+ WRITE_LIST_FIELD(type_name, typeName, typeName);
2333
+ WRITE_LIST_FIELD(options, options, options);
1932
2334
  }
1933
2335
 
1934
2336
  static void
1935
- _outResTarget(OUT_TYPE(ResTarget, ResTarget) out, const ResTarget *node)
2337
+ _outRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) out, const RuleStmt *node)
1936
2338
  {
1937
- WRITE_STRING_FIELD(name, name, name);
1938
- WRITE_LIST_FIELD(indirection, indirection, indirection);
1939
- WRITE_NODE_PTR_FIELD(val, val, val);
1940
- WRITE_INT_FIELD(location, location, location);
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);
1941
2346
  }
1942
2347
 
1943
2348
  static void
1944
- _outMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) out, const MultiAssignRef *node)
2349
+ _outNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) out, const NotifyStmt *node)
1945
2350
  {
1946
- WRITE_NODE_PTR_FIELD(source, source, source);
1947
- WRITE_INT_FIELD(colno, colno, colno);
1948
- WRITE_INT_FIELD(ncolumns, ncolumns, ncolumns);
2351
+ WRITE_STRING_FIELD(conditionname, conditionname, conditionname);
2352
+ WRITE_STRING_FIELD(payload, payload, payload);
1949
2353
  }
1950
2354
 
1951
2355
  static void
1952
- _outTypeCast(OUT_TYPE(TypeCast, TypeCast) out, const TypeCast *node)
2356
+ _outListenStmt(OUT_TYPE(ListenStmt, ListenStmt) out, const ListenStmt *node)
1953
2357
  {
1954
- WRITE_NODE_PTR_FIELD(arg, arg, arg);
1955
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1956
- WRITE_INT_FIELD(location, location, location);
2358
+ WRITE_STRING_FIELD(conditionname, conditionname, conditionname);
1957
2359
  }
1958
2360
 
1959
2361
  static void
1960
- _outCollateClause(OUT_TYPE(CollateClause, CollateClause) out, const CollateClause *node)
2362
+ _outUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) out, const UnlistenStmt *node)
1961
2363
  {
1962
- WRITE_NODE_PTR_FIELD(arg, arg, arg);
1963
- WRITE_LIST_FIELD(collname, collname, collname);
1964
- WRITE_INT_FIELD(location, location, location);
2364
+ WRITE_STRING_FIELD(conditionname, conditionname, conditionname);
1965
2365
  }
1966
2366
 
1967
2367
  static void
1968
- _outSortBy(OUT_TYPE(SortBy, SortBy) out, const SortBy *node)
2368
+ _outTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) out, const TransactionStmt *node)
1969
2369
  {
1970
- WRITE_NODE_PTR_FIELD(node, node, node);
1971
- WRITE_ENUM_FIELD(SortByDir, sortby_dir, sortby_dir, sortby_dir);
1972
- WRITE_ENUM_FIELD(SortByNulls, sortby_nulls, sortby_nulls, sortby_nulls);
1973
- WRITE_LIST_FIELD(use_op, useOp, useOp);
1974
- WRITE_INT_FIELD(location, location, location);
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);
1975
2375
  }
1976
2376
 
1977
2377
  static void
1978
- _outWindowDef(OUT_TYPE(WindowDef, WindowDef) out, const WindowDef *node)
2378
+ _outCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) out, const CompositeTypeStmt *node)
1979
2379
  {
1980
- WRITE_STRING_FIELD(name, name, name);
1981
- WRITE_STRING_FIELD(refname, refname, refname);
1982
- WRITE_LIST_FIELD(partition_clause, partitionClause, partitionClause);
1983
- WRITE_LIST_FIELD(order_clause, orderClause, orderClause);
1984
- WRITE_INT_FIELD(frame_options, frameOptions, frameOptions);
1985
- WRITE_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
1986
- WRITE_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
1987
- 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);
1988
2382
  }
1989
2383
 
1990
2384
  static void
1991
- _outRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) out, const RangeSubselect *node)
2385
+ _outCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) out, const CreateEnumStmt *node)
1992
2386
  {
1993
- WRITE_BOOL_FIELD(lateral, lateral, lateral);
1994
- WRITE_NODE_PTR_FIELD(subquery, subquery, subquery);
1995
- WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2387
+ WRITE_LIST_FIELD(type_name, typeName, typeName);
2388
+ WRITE_LIST_FIELD(vals, vals, vals);
1996
2389
  }
1997
2390
 
1998
2391
  static void
1999
- _outRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) out, const RangeFunction *node)
2392
+ _outCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) out, const CreateRangeStmt *node)
2000
2393
  {
2001
- WRITE_BOOL_FIELD(lateral, lateral, lateral);
2002
- WRITE_BOOL_FIELD(ordinality, ordinality, ordinality);
2003
- WRITE_BOOL_FIELD(is_rowsfrom, is_rowsfrom, is_rowsfrom);
2004
- WRITE_LIST_FIELD(functions, functions, functions);
2005
- WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2006
- WRITE_LIST_FIELD(coldeflist, coldeflist, coldeflist);
2394
+ WRITE_LIST_FIELD(type_name, typeName, typeName);
2395
+ WRITE_LIST_FIELD(params, params, params);
2007
2396
  }
2008
2397
 
2009
2398
  static void
2010
- _outRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) out, const RangeTableSample *node)
2399
+ _outAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) out, const AlterEnumStmt *node)
2011
2400
  {
2012
- WRITE_NODE_PTR_FIELD(relation, relation, relation);
2013
- WRITE_LIST_FIELD(method, method, method);
2014
- WRITE_LIST_FIELD(args, args, args);
2015
- WRITE_NODE_PTR_FIELD(repeatable, repeatable, repeatable);
2016
- WRITE_INT_FIELD(location, location, location);
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);
2017
2407
  }
2018
2408
 
2019
2409
  static void
2020
- _outRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) out, const RangeTableFunc *node)
2410
+ _outViewStmt(OUT_TYPE(ViewStmt, ViewStmt) out, const ViewStmt *node)
2021
2411
  {
2022
- WRITE_BOOL_FIELD(lateral, lateral, lateral);
2023
- WRITE_NODE_PTR_FIELD(docexpr, docexpr, docexpr);
2024
- WRITE_NODE_PTR_FIELD(rowexpr, rowexpr, rowexpr);
2025
- WRITE_LIST_FIELD(namespaces, namespaces, namespaces);
2026
- WRITE_LIST_FIELD(columns, columns, columns);
2027
- WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2028
- WRITE_INT_FIELD(location, location, location);
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);
2029
2418
  }
2030
2419
 
2031
2420
  static void
2032
- _outRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) out, const RangeTableFuncCol *node)
2421
+ _outLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) out, const LoadStmt *node)
2033
2422
  {
2034
- WRITE_STRING_FIELD(colname, colname, colname);
2035
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2036
- WRITE_BOOL_FIELD(for_ordinality, for_ordinality, for_ordinality);
2037
- WRITE_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
2038
- WRITE_NODE_PTR_FIELD(colexpr, colexpr, colexpr);
2039
- WRITE_NODE_PTR_FIELD(coldefexpr, coldefexpr, coldefexpr);
2040
- WRITE_INT_FIELD(location, location, location);
2423
+ WRITE_STRING_FIELD(filename, filename, filename);
2041
2424
  }
2042
2425
 
2043
2426
  static void
2044
- _outTypeName(OUT_TYPE(TypeName, TypeName) out, const TypeName *node)
2427
+ _outCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) out, const CreatedbStmt *node)
2045
2428
  {
2046
- WRITE_LIST_FIELD(names, names, names);
2047
- WRITE_UINT_FIELD(type_oid, typeOid, typeOid);
2048
- WRITE_BOOL_FIELD(setof, setof, setof);
2049
- WRITE_BOOL_FIELD(pct_type, pct_type, pct_type);
2050
- WRITE_LIST_FIELD(typmods, typmods, typmods);
2051
- WRITE_INT_FIELD(typemod, typemod, typemod);
2052
- WRITE_LIST_FIELD(array_bounds, arrayBounds, arrayBounds);
2053
- WRITE_INT_FIELD(location, location, location);
2429
+ WRITE_STRING_FIELD(dbname, dbname, dbname);
2430
+ WRITE_LIST_FIELD(options, options, options);
2054
2431
  }
2055
2432
 
2056
2433
  static void
2057
- _outColumnDef(OUT_TYPE(ColumnDef, ColumnDef) out, const ColumnDef *node)
2434
+ _outAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) out, const AlterDatabaseStmt *node)
2058
2435
  {
2059
- WRITE_STRING_FIELD(colname, colname, colname);
2060
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2061
- WRITE_INT_FIELD(inhcount, inhcount, inhcount);
2062
- WRITE_BOOL_FIELD(is_local, is_local, is_local);
2063
- WRITE_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
2064
- WRITE_BOOL_FIELD(is_from_type, is_from_type, is_from_type);
2065
- WRITE_CHAR_FIELD(storage, storage, storage);
2066
- WRITE_NODE_PTR_FIELD(raw_default, raw_default, raw_default);
2067
- WRITE_NODE_PTR_FIELD(cooked_default, cooked_default, cooked_default);
2068
- WRITE_CHAR_FIELD(identity, identity, identity);
2069
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, identity_sequence, identitySequence, identitySequence);
2070
- WRITE_CHAR_FIELD(generated, generated, generated);
2071
- WRITE_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
2072
- WRITE_UINT_FIELD(coll_oid, collOid, collOid);
2073
- WRITE_LIST_FIELD(constraints, constraints, constraints);
2074
- WRITE_LIST_FIELD(fdwoptions, fdwoptions, fdwoptions);
2075
- WRITE_INT_FIELD(location, location, location);
2436
+ WRITE_STRING_FIELD(dbname, dbname, dbname);
2437
+ WRITE_LIST_FIELD(options, options, options);
2076
2438
  }
2077
2439
 
2078
2440
  static void
2079
- _outIndexElem(OUT_TYPE(IndexElem, IndexElem) out, const IndexElem *node)
2441
+ _outAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) out, const AlterDatabaseRefreshCollStmt *node)
2080
2442
  {
2081
- WRITE_STRING_FIELD(name, name, name);
2082
- WRITE_NODE_PTR_FIELD(expr, expr, expr);
2083
- WRITE_STRING_FIELD(indexcolname, indexcolname, indexcolname);
2084
- WRITE_LIST_FIELD(collation, collation, collation);
2085
- WRITE_LIST_FIELD(opclass, opclass, opclass);
2086
- WRITE_LIST_FIELD(opclassopts, opclassopts, opclassopts);
2087
- WRITE_ENUM_FIELD(SortByDir, ordering, ordering, ordering);
2088
- WRITE_ENUM_FIELD(SortByNulls, nulls_ordering, nulls_ordering, nulls_ordering);
2443
+ WRITE_STRING_FIELD(dbname, dbname, dbname);
2089
2444
  }
2090
2445
 
2091
2446
  static void
2092
- _outConstraint(OUT_TYPE(Constraint, Constraint) out, const Constraint *node)
2447
+ _outAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) out, const AlterDatabaseSetStmt *node)
2093
2448
  {
2094
- WRITE_ENUM_FIELD(ConstrType, contype, contype, contype);
2095
- WRITE_STRING_FIELD(conname, conname, conname);
2096
- WRITE_BOOL_FIELD(deferrable, deferrable, deferrable);
2097
- WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
2098
- WRITE_INT_FIELD(location, location, location);
2099
- WRITE_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit);
2100
- WRITE_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr);
2101
- WRITE_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr);
2102
- WRITE_CHAR_FIELD(generated_when, generated_when, generated_when);
2103
- WRITE_LIST_FIELD(keys, keys, keys);
2104
- WRITE_LIST_FIELD(including, including, including);
2105
- WRITE_LIST_FIELD(exclusions, exclusions, exclusions);
2106
- WRITE_LIST_FIELD(options, options, options);
2107
- WRITE_STRING_FIELD(indexname, indexname, indexname);
2108
- WRITE_STRING_FIELD(indexspace, indexspace, indexspace);
2109
- WRITE_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
2110
- WRITE_STRING_FIELD(access_method, access_method, access_method);
2111
- WRITE_NODE_PTR_FIELD(where_clause, where_clause, where_clause);
2112
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, pktable, pktable, pktable);
2113
- WRITE_LIST_FIELD(fk_attrs, fk_attrs, fk_attrs);
2114
- WRITE_LIST_FIELD(pk_attrs, pk_attrs, pk_attrs);
2115
- WRITE_CHAR_FIELD(fk_matchtype, fk_matchtype, fk_matchtype);
2116
- WRITE_CHAR_FIELD(fk_upd_action, fk_upd_action, fk_upd_action);
2117
- WRITE_CHAR_FIELD(fk_del_action, fk_del_action, fk_del_action);
2118
- WRITE_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop);
2119
- WRITE_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid);
2120
- WRITE_BOOL_FIELD(skip_validation, skip_validation, skip_validation);
2121
- WRITE_BOOL_FIELD(initially_valid, initially_valid, initially_valid);
2449
+ WRITE_STRING_FIELD(dbname, dbname, dbname);
2450
+ WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
2122
2451
  }
2123
2452
 
2124
2453
  static void
2125
- _outDefElem(OUT_TYPE(DefElem, DefElem) out, const DefElem *node)
2454
+ _outDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) out, const DropdbStmt *node)
2126
2455
  {
2127
- WRITE_STRING_FIELD(defnamespace, defnamespace, defnamespace);
2128
- WRITE_STRING_FIELD(defname, defname, defname);
2129
- WRITE_NODE_PTR_FIELD(arg, arg, arg);
2130
- WRITE_ENUM_FIELD(DefElemAction, defaction, defaction, defaction);
2131
- WRITE_INT_FIELD(location, location, location);
2456
+ WRITE_STRING_FIELD(dbname, dbname, dbname);
2457
+ WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2458
+ WRITE_LIST_FIELD(options, options, options);
2132
2459
  }
2133
2460
 
2134
2461
  static void
2135
- _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out, const RangeTblEntry *node)
2462
+ _outAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) out, const AlterSystemStmt *node)
2136
2463
  {
2137
- WRITE_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind);
2138
- WRITE_UINT_FIELD(relid, relid, relid);
2139
- WRITE_CHAR_FIELD(relkind, relkind, relkind);
2140
- WRITE_INT_FIELD(rellockmode, rellockmode, rellockmode);
2141
- WRITE_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample);
2142
- WRITE_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery);
2143
- WRITE_BOOL_FIELD(security_barrier, security_barrier, security_barrier);
2144
- WRITE_ENUM_FIELD(JoinType, jointype, jointype, jointype);
2145
- WRITE_INT_FIELD(joinmergedcols, joinmergedcols, joinmergedcols);
2146
- WRITE_LIST_FIELD(joinaliasvars, joinaliasvars, joinaliasvars);
2147
- WRITE_LIST_FIELD(joinleftcols, joinleftcols, joinleftcols);
2148
- WRITE_LIST_FIELD(joinrightcols, joinrightcols, joinrightcols);
2149
- WRITE_LIST_FIELD(functions, functions, functions);
2150
- WRITE_BOOL_FIELD(funcordinality, funcordinality, funcordinality);
2151
- WRITE_SPECIFIC_NODE_PTR_FIELD(TableFunc, table_func, tablefunc, tablefunc, tablefunc);
2152
- WRITE_LIST_FIELD(values_lists, values_lists, values_lists);
2153
- WRITE_STRING_FIELD(ctename, ctename, ctename);
2154
- WRITE_UINT_FIELD(ctelevelsup, ctelevelsup, ctelevelsup);
2155
- WRITE_BOOL_FIELD(self_reference, self_reference, self_reference);
2156
- WRITE_LIST_FIELD(coltypes, coltypes, coltypes);
2157
- WRITE_LIST_FIELD(coltypmods, coltypmods, coltypmods);
2158
- WRITE_LIST_FIELD(colcollations, colcollations, colcollations);
2159
- WRITE_STRING_FIELD(enrname, enrname, enrname);
2160
- WRITE_FLOAT_FIELD(enrtuples, enrtuples, enrtuples);
2161
- WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2162
- WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref);
2163
- WRITE_BOOL_FIELD(lateral, lateral, lateral);
2164
- WRITE_BOOL_FIELD(inh, inh, inh);
2165
- WRITE_BOOL_FIELD(in_from_cl, inFromCl, inFromCl);
2166
- WRITE_UINT_FIELD(required_perms, requiredPerms, requiredPerms);
2167
- WRITE_UINT_FIELD(check_as_user, checkAsUser, checkAsUser);
2168
- WRITE_BITMAPSET_FIELD(selected_cols, selectedCols, selectedCols);
2169
- WRITE_BITMAPSET_FIELD(inserted_cols, insertedCols, insertedCols);
2170
- WRITE_BITMAPSET_FIELD(updated_cols, updatedCols, updatedCols);
2171
- WRITE_BITMAPSET_FIELD(extra_updated_cols, extraUpdatedCols, extraUpdatedCols);
2172
- WRITE_LIST_FIELD(security_quals, securityQuals, securityQuals);
2464
+ WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
2173
2465
  }
2174
2466
 
2175
2467
  static void
2176
- _outRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) out, const RangeTblFunction *node)
2468
+ _outClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) out, const ClusterStmt *node)
2177
2469
  {
2178
- WRITE_NODE_PTR_FIELD(funcexpr, funcexpr, funcexpr);
2179
- WRITE_INT_FIELD(funccolcount, funccolcount, funccolcount);
2180
- WRITE_LIST_FIELD(funccolnames, funccolnames, funccolnames);
2181
- WRITE_LIST_FIELD(funccoltypes, funccoltypes, funccoltypes);
2182
- WRITE_LIST_FIELD(funccoltypmods, funccoltypmods, funccoltypmods);
2183
- WRITE_LIST_FIELD(funccolcollations, funccolcollations, funccolcollations);
2184
- WRITE_BITMAPSET_FIELD(funcparams, funcparams, funcparams);
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);
2185
2473
  }
2186
2474
 
2187
2475
  static void
2188
- _outTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) out, const TableSampleClause *node)
2476
+ _outVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) out, const VacuumStmt *node)
2189
2477
  {
2190
- WRITE_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler);
2191
- WRITE_LIST_FIELD(args, args, args);
2192
- WRITE_NODE_PTR_FIELD(repeatable, repeatable, repeatable);
2478
+ WRITE_LIST_FIELD(options, options, options);
2479
+ WRITE_LIST_FIELD(rels, rels, rels);
2480
+ WRITE_BOOL_FIELD(is_vacuumcmd, is_vacuumcmd, is_vacuumcmd);
2193
2481
  }
2194
2482
 
2195
2483
  static void
2196
- _outWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) out, const WithCheckOption *node)
2484
+ _outVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) out, const VacuumRelation *node)
2197
2485
  {
2198
- WRITE_ENUM_FIELD(WCOKind, kind, kind, kind);
2199
- WRITE_STRING_FIELD(relname, relname, relname);
2200
- WRITE_STRING_FIELD(polname, polname, polname);
2201
- WRITE_NODE_PTR_FIELD(qual, qual, qual);
2202
- WRITE_BOOL_FIELD(cascaded, cascaded, cascaded);
2486
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2487
+ WRITE_UINT_FIELD(oid, oid, oid);
2488
+ WRITE_LIST_FIELD(va_cols, va_cols, va_cols);
2203
2489
  }
2204
2490
 
2205
2491
  static void
2206
- _outSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) out, const SortGroupClause *node)
2492
+ _outExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) out, const ExplainStmt *node)
2207
2493
  {
2208
- WRITE_UINT_FIELD(tle_sort_group_ref, tleSortGroupRef, tleSortGroupRef);
2209
- WRITE_UINT_FIELD(eqop, eqop, eqop);
2210
- WRITE_UINT_FIELD(sortop, sortop, sortop);
2211
- WRITE_BOOL_FIELD(nulls_first, nulls_first, nulls_first);
2212
- WRITE_BOOL_FIELD(hashable, hashable, hashable);
2494
+ WRITE_NODE_PTR_FIELD(query, query, query);
2495
+ WRITE_LIST_FIELD(options, options, options);
2213
2496
  }
2214
2497
 
2215
2498
  static void
2216
- _outGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) out, const GroupingSet *node)
2499
+ _outCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) out, const CreateTableAsStmt *node)
2217
2500
  {
2218
- WRITE_ENUM_FIELD(GroupingSetKind, kind, kind, kind);
2219
- WRITE_LIST_FIELD(content, content, content);
2220
- WRITE_INT_FIELD(location, location, location);
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);
2221
2506
  }
2222
2507
 
2223
2508
  static void
2224
- _outWindowClause(OUT_TYPE(WindowClause, WindowClause) out, const WindowClause *node)
2509
+ _outRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) out, const RefreshMatViewStmt *node)
2225
2510
  {
2226
- WRITE_STRING_FIELD(name, name, name);
2227
- WRITE_STRING_FIELD(refname, refname, refname);
2228
- WRITE_LIST_FIELD(partition_clause, partitionClause, partitionClause);
2229
- WRITE_LIST_FIELD(order_clause, orderClause, orderClause);
2230
- WRITE_INT_FIELD(frame_options, frameOptions, frameOptions);
2231
- WRITE_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
2232
- WRITE_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
2233
- WRITE_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc);
2234
- WRITE_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc);
2235
- WRITE_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl);
2236
- WRITE_BOOL_FIELD(in_range_asc, inRangeAsc, inRangeAsc);
2237
- WRITE_BOOL_FIELD(in_range_nulls_first, inRangeNullsFirst, inRangeNullsFirst);
2238
- WRITE_UINT_FIELD(winref, winref, winref);
2239
- WRITE_BOOL_FIELD(copied_order, copiedOrder, copiedOrder);
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);
2240
2514
  }
2241
2515
 
2242
2516
  static void
2243
- _outObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) out, const ObjectWithArgs *node)
2517
+ _outCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) out, const CheckPointStmt *node)
2244
2518
  {
2245
- WRITE_LIST_FIELD(objname, objname, objname);
2246
- WRITE_LIST_FIELD(objargs, objargs, objargs);
2247
- WRITE_BOOL_FIELD(args_unspecified, args_unspecified, args_unspecified);
2248
2519
  }
2249
2520
 
2250
2521
  static void
2251
- _outAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) out, const AccessPriv *node)
2522
+ _outDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) out, const DiscardStmt *node)
2252
2523
  {
2253
- WRITE_STRING_FIELD(priv_name, priv_name, priv_name);
2254
- WRITE_LIST_FIELD(cols, cols, cols);
2524
+ WRITE_ENUM_FIELD(DiscardMode, target, target, target);
2255
2525
  }
2256
2526
 
2257
2527
  static void
2258
- _outCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) out, const CreateOpClassItem *node)
2528
+ _outLockStmt(OUT_TYPE(LockStmt, LockStmt) out, const LockStmt *node)
2259
2529
  {
2260
- WRITE_INT_FIELD(itemtype, itemtype, itemtype);
2261
- WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, name, name, name);
2262
- WRITE_INT_FIELD(number, number, number);
2263
- WRITE_LIST_FIELD(order_family, order_family, order_family);
2264
- WRITE_LIST_FIELD(class_args, class_args, class_args);
2265
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, storedtype, storedtype, storedtype);
2530
+ WRITE_LIST_FIELD(relations, relations, relations);
2531
+ WRITE_INT_FIELD(mode, mode, mode);
2532
+ WRITE_BOOL_FIELD(nowait, nowait, nowait);
2266
2533
  }
2267
2534
 
2268
2535
  static void
2269
- _outTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) out, const TableLikeClause *node)
2536
+ _outConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) out, const ConstraintsSetStmt *node)
2270
2537
  {
2271
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2272
- WRITE_UINT_FIELD(options, options, options);
2538
+ WRITE_LIST_FIELD(constraints, constraints, constraints);
2539
+ WRITE_BOOL_FIELD(deferred, deferred, deferred);
2273
2540
  }
2274
2541
 
2275
2542
  static void
2276
- _outFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) out, const FunctionParameter *node)
2543
+ _outReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) out, const ReindexStmt *node)
2277
2544
  {
2545
+ WRITE_ENUM_FIELD(ReindexObjectType, kind, kind, kind);
2546
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2278
2547
  WRITE_STRING_FIELD(name, name, name);
2279
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, arg_type, argType, argType);
2280
- WRITE_ENUM_FIELD(FunctionParameterMode, mode, mode, mode);
2281
- WRITE_NODE_PTR_FIELD(defexpr, defexpr, defexpr);
2548
+ WRITE_LIST_FIELD(params, params, params);
2282
2549
  }
2283
2550
 
2284
2551
  static void
2285
- _outLockingClause(OUT_TYPE(LockingClause, LockingClause) out, const LockingClause *node)
2552
+ _outCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) out, const CreateConversionStmt *node)
2286
2553
  {
2287
- WRITE_LIST_FIELD(locked_rels, lockedRels, lockedRels);
2288
- WRITE_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
2289
- WRITE_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
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);
2290
2559
  }
2291
2560
 
2292
2561
  static void
2293
- _outRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) out, const RowMarkClause *node)
2562
+ _outCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) out, const CreateCastStmt *node)
2294
2563
  {
2295
- WRITE_UINT_FIELD(rti, rti, rti);
2296
- WRITE_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
2297
- WRITE_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
2298
- WRITE_BOOL_FIELD(pushed_down, pushedDown, pushedDown);
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);
2299
2569
  }
2300
2570
 
2301
2571
  static void
2302
- _outXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) out, const XmlSerialize *node)
2572
+ _outCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) out, const CreateTransformStmt *node)
2303
2573
  {
2304
- WRITE_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption);
2305
- WRITE_NODE_PTR_FIELD(expr, expr, expr);
2306
- WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2307
- WRITE_INT_FIELD(location, location, location);
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);
2308
2579
  }
2309
2580
 
2310
2581
  static void
2311
- _outWithClause(OUT_TYPE(WithClause, WithClause) out, const WithClause *node)
2582
+ _outPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) out, const PrepareStmt *node)
2312
2583
  {
2313
- WRITE_LIST_FIELD(ctes, ctes, ctes);
2314
- WRITE_BOOL_FIELD(recursive, recursive, recursive);
2315
- 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);
2316
2587
  }
2317
2588
 
2318
2589
  static void
2319
- _outInferClause(OUT_TYPE(InferClause, InferClause) out, const InferClause *node)
2590
+ _outExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) out, const ExecuteStmt *node)
2320
2591
  {
2321
- WRITE_LIST_FIELD(index_elems, indexElems, indexElems);
2322
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2323
- WRITE_STRING_FIELD(conname, conname, conname);
2324
- WRITE_INT_FIELD(location, location, location);
2592
+ WRITE_STRING_FIELD(name, name, name);
2593
+ WRITE_LIST_FIELD(params, params, params);
2325
2594
  }
2326
2595
 
2327
2596
  static void
2328
- _outOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) out, const OnConflictClause *node)
2597
+ _outDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) out, const DeallocateStmt *node)
2329
2598
  {
2330
- WRITE_ENUM_FIELD(OnConflictAction, action, action, action);
2331
- WRITE_SPECIFIC_NODE_PTR_FIELD(InferClause, infer_clause, infer, infer, infer);
2332
- WRITE_LIST_FIELD(target_list, targetList, targetList);
2333
- WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2334
- WRITE_INT_FIELD(location, location, location);
2599
+ WRITE_STRING_FIELD(name, name, name);
2335
2600
  }
2336
2601
 
2337
2602
  static void
2338
- _outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out, const CommonTableExpr *node)
2603
+ _outDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) out, const DropOwnedStmt *node)
2339
2604
  {
2340
- WRITE_STRING_FIELD(ctename, ctename, ctename);
2341
- WRITE_LIST_FIELD(aliascolnames, aliascolnames, aliascolnames);
2342
- WRITE_ENUM_FIELD(CTEMaterialize, ctematerialized, ctematerialized, ctematerialized);
2343
- WRITE_NODE_PTR_FIELD(ctequery, ctequery, ctequery);
2344
- WRITE_INT_FIELD(location, location, location);
2345
- WRITE_BOOL_FIELD(cterecursive, cterecursive, cterecursive);
2346
- WRITE_INT_FIELD(cterefcount, cterefcount, cterefcount);
2347
- WRITE_LIST_FIELD(ctecolnames, ctecolnames, ctecolnames);
2348
- WRITE_LIST_FIELD(ctecoltypes, ctecoltypes, ctecoltypes);
2349
- WRITE_LIST_FIELD(ctecoltypmods, ctecoltypmods, ctecoltypmods);
2350
- WRITE_LIST_FIELD(ctecolcollations, ctecolcollations, ctecolcollations);
2605
+ WRITE_LIST_FIELD(roles, roles, roles);
2606
+ WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2351
2607
  }
2352
2608
 
2353
2609
  static void
2354
- _outRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) out, const RoleSpec *node)
2610
+ _outReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) out, const ReassignOwnedStmt *node)
2355
2611
  {
2356
- WRITE_ENUM_FIELD(RoleSpecType, roletype, roletype, roletype);
2357
- WRITE_STRING_FIELD(rolename, rolename, rolename);
2358
- 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);
2359
2614
  }
2360
2615
 
2361
2616
  static void
2362
- _outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out, const TriggerTransition *node)
2617
+ _outAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) out, const AlterTSDictionaryStmt *node)
2363
2618
  {
2364
- WRITE_STRING_FIELD(name, name, name);
2365
- WRITE_BOOL_FIELD(is_new, isNew, isNew);
2366
- WRITE_BOOL_FIELD(is_table, isTable, isTable);
2619
+ WRITE_LIST_FIELD(dictname, dictname, dictname);
2620
+ WRITE_LIST_FIELD(options, options, options);
2367
2621
  }
2368
2622
 
2369
2623
  static void
2370
- _outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out, const PartitionElem *node)
2624
+ _outAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) out, const AlterTSConfigurationStmt *node)
2371
2625
  {
2372
- WRITE_STRING_FIELD(name, name, name);
2373
- WRITE_NODE_PTR_FIELD(expr, expr, expr);
2374
- WRITE_LIST_FIELD(collation, collation, collation);
2375
- WRITE_LIST_FIELD(opclass, opclass, opclass);
2376
- WRITE_INT_FIELD(location, location, location);
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);
2377
2633
  }
2378
2634
 
2379
2635
  static void
2380
- _outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out, const PartitionSpec *node)
2636
+ _outPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) out, const PublicationTable *node)
2381
2637
  {
2382
- WRITE_STRING_FIELD(strategy, strategy, strategy);
2383
- WRITE_LIST_FIELD(part_params, partParams, partParams);
2384
- WRITE_INT_FIELD(location, location, location);
2638
+ WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2639
+ WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2640
+ WRITE_LIST_FIELD(columns, columns, columns);
2385
2641
  }
2386
2642
 
2387
2643
  static void
2388
- _outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out, const PartitionBoundSpec *node)
2644
+ _outPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) out, const PublicationObjSpec *node)
2389
2645
  {
2390
- WRITE_CHAR_FIELD(strategy, strategy, strategy);
2391
- WRITE_BOOL_FIELD(is_default, is_default, is_default);
2392
- WRITE_INT_FIELD(modulus, modulus, modulus);
2393
- WRITE_INT_FIELD(remainder, remainder, remainder);
2394
- WRITE_LIST_FIELD(listdatums, listdatums, listdatums);
2395
- WRITE_LIST_FIELD(lowerdatums, lowerdatums, lowerdatums);
2396
- WRITE_LIST_FIELD(upperdatums, upperdatums, upperdatums);
2646
+ WRITE_ENUM_FIELD(PublicationObjSpecType, pubobjtype, pubobjtype, pubobjtype);
2647
+ WRITE_STRING_FIELD(name, name, name);
2648
+ WRITE_SPECIFIC_NODE_PTR_FIELD(PublicationTable, publication_table, pubtable, pubtable, pubtable);
2397
2649
  WRITE_INT_FIELD(location, location, location);
2398
2650
  }
2399
2651
 
2400
2652
  static void
2401
- _outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out, const PartitionRangeDatum *node)
2653
+ _outCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) out, const CreatePublicationStmt *node)
2402
2654
  {
2403
- WRITE_ENUM_FIELD(PartitionRangeDatumKind, kind, kind, kind);
2404
- WRITE_NODE_PTR_FIELD(value, value, value);
2405
- WRITE_INT_FIELD(location, location, location);
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);
2406
2659
  }
2407
2660
 
2408
2661
  static void
2409
- _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out, const PartitionCmd *node)
2662
+ _outAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) out, const AlterPublicationStmt *node)
2410
2663
  {
2411
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, name, name, name);
2412
- WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, bound, bound, bound);
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);
2413
2669
  }
2414
2670
 
2415
2671
  static void
2416
- _outVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) out, const VacuumRelation *node)
2672
+ _outCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) out, const CreateSubscriptionStmt *node)
2417
2673
  {
2418
- WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2419
- WRITE_UINT_FIELD(oid, oid, oid);
2420
- WRITE_LIST_FIELD(va_cols, va_cols, va_cols);
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);
2421
2678
  }
2422
2679
 
2423
2680
  static void
2424
- _outInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) out, const InlineCodeBlock *node)
2681
+ _outAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) out, const AlterSubscriptionStmt *node)
2425
2682
  {
2426
- WRITE_STRING_FIELD(source_text, source_text, source_text);
2427
- WRITE_UINT_FIELD(lang_oid, langOid, langOid);
2428
- WRITE_BOOL_FIELD(lang_is_trusted, langIsTrusted, langIsTrusted);
2429
- WRITE_BOOL_FIELD(atomic, atomic, atomic);
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);
2430
2688
  }
2431
2689
 
2432
2690
  static void
2433
- _outCallContext(OUT_TYPE(CallContext, CallContext) out, const CallContext *node)
2691
+ _outDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) out, const DropSubscriptionStmt *node)
2434
2692
  {
2435
- WRITE_BOOL_FIELD(atomic, atomic, atomic);
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);
2436
2696
  }
2437
2697