gitlab-pg_query 1.3.1 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (480) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +217 -99
  3. data/README.md +92 -69
  4. data/Rakefile +85 -5
  5. data/ext/pg_query/extconf.rb +3 -40
  6. data/ext/pg_query/guc-file.c +0 -0
  7. data/ext/pg_query/include/access/amapi.h +246 -0
  8. data/ext/pg_query/include/access/attmap.h +52 -0
  9. data/ext/pg_query/include/access/attnum.h +64 -0
  10. data/ext/pg_query/include/access/clog.h +61 -0
  11. data/ext/pg_query/include/access/commit_ts.h +77 -0
  12. data/ext/pg_query/include/access/detoast.h +92 -0
  13. data/ext/pg_query/include/access/genam.h +228 -0
  14. data/ext/pg_query/include/access/gin.h +78 -0
  15. data/ext/pg_query/include/access/htup.h +89 -0
  16. data/ext/pg_query/include/access/htup_details.h +819 -0
  17. data/ext/pg_query/include/access/itup.h +161 -0
  18. data/ext/pg_query/include/access/parallel.h +82 -0
  19. data/ext/pg_query/include/access/printtup.h +35 -0
  20. data/ext/pg_query/include/access/relation.h +28 -0
  21. data/ext/pg_query/include/access/relscan.h +176 -0
  22. data/ext/pg_query/include/access/rmgr.h +35 -0
  23. data/ext/pg_query/include/access/rmgrlist.h +49 -0
  24. data/ext/pg_query/include/access/sdir.h +58 -0
  25. data/ext/pg_query/include/access/skey.h +151 -0
  26. data/ext/pg_query/include/access/stratnum.h +83 -0
  27. data/ext/pg_query/include/access/sysattr.h +29 -0
  28. data/ext/pg_query/include/access/table.h +27 -0
  29. data/ext/pg_query/include/access/tableam.h +1825 -0
  30. data/ext/pg_query/include/access/transam.h +265 -0
  31. data/ext/pg_query/include/access/tupconvert.h +51 -0
  32. data/ext/pg_query/include/access/tupdesc.h +154 -0
  33. data/ext/pg_query/include/access/tupmacs.h +247 -0
  34. data/ext/pg_query/include/access/twophase.h +61 -0
  35. data/ext/pg_query/include/access/xact.h +463 -0
  36. data/ext/pg_query/include/access/xlog.h +398 -0
  37. data/ext/pg_query/include/access/xlog_internal.h +330 -0
  38. data/ext/pg_query/include/access/xlogdefs.h +109 -0
  39. data/ext/pg_query/include/access/xloginsert.h +64 -0
  40. data/ext/pg_query/include/access/xlogreader.h +327 -0
  41. data/ext/pg_query/include/access/xlogrecord.h +227 -0
  42. data/ext/pg_query/include/bootstrap/bootstrap.h +62 -0
  43. data/ext/pg_query/include/c.h +1322 -0
  44. data/ext/pg_query/include/catalog/catalog.h +42 -0
  45. data/ext/pg_query/include/catalog/catversion.h +58 -0
  46. data/ext/pg_query/include/catalog/dependency.h +275 -0
  47. data/ext/pg_query/include/catalog/genbki.h +64 -0
  48. data/ext/pg_query/include/catalog/index.h +199 -0
  49. data/ext/pg_query/include/catalog/indexing.h +366 -0
  50. data/ext/pg_query/include/catalog/namespace.h +188 -0
  51. data/ext/pg_query/include/catalog/objectaccess.h +197 -0
  52. data/ext/pg_query/include/catalog/objectaddress.h +84 -0
  53. data/ext/pg_query/include/catalog/pg_aggregate.h +176 -0
  54. data/ext/pg_query/include/catalog/pg_aggregate_d.h +77 -0
  55. data/ext/pg_query/include/catalog/pg_am.h +60 -0
  56. data/ext/pg_query/include/catalog/pg_am_d.h +45 -0
  57. data/ext/pg_query/include/catalog/pg_attribute.h +204 -0
  58. data/ext/pg_query/include/catalog/pg_attribute_d.h +59 -0
  59. data/ext/pg_query/include/catalog/pg_authid.h +58 -0
  60. data/ext/pg_query/include/catalog/pg_authid_d.h +49 -0
  61. data/ext/pg_query/include/catalog/pg_class.h +200 -0
  62. data/ext/pg_query/include/catalog/pg_class_d.h +103 -0
  63. data/ext/pg_query/include/catalog/pg_collation.h +73 -0
  64. data/ext/pg_query/include/catalog/pg_collation_d.h +45 -0
  65. data/ext/pg_query/include/catalog/pg_constraint.h +247 -0
  66. data/ext/pg_query/include/catalog/pg_constraint_d.h +67 -0
  67. data/ext/pg_query/include/catalog/pg_control.h +250 -0
  68. data/ext/pg_query/include/catalog/pg_conversion.h +72 -0
  69. data/ext/pg_query/include/catalog/pg_conversion_d.h +35 -0
  70. data/ext/pg_query/include/catalog/pg_depend.h +73 -0
  71. data/ext/pg_query/include/catalog/pg_depend_d.h +34 -0
  72. data/ext/pg_query/include/catalog/pg_event_trigger.h +51 -0
  73. data/ext/pg_query/include/catalog/pg_event_trigger_d.h +34 -0
  74. data/ext/pg_query/include/catalog/pg_index.h +80 -0
  75. data/ext/pg_query/include/catalog/pg_index_d.h +56 -0
  76. data/ext/pg_query/include/catalog/pg_language.h +67 -0
  77. data/ext/pg_query/include/catalog/pg_language_d.h +39 -0
  78. data/ext/pg_query/include/catalog/pg_namespace.h +59 -0
  79. data/ext/pg_query/include/catalog/pg_namespace_d.h +34 -0
  80. data/ext/pg_query/include/catalog/pg_opclass.h +85 -0
  81. data/ext/pg_query/include/catalog/pg_opclass_d.h +49 -0
  82. data/ext/pg_query/include/catalog/pg_operator.h +102 -0
  83. data/ext/pg_query/include/catalog/pg_operator_d.h +106 -0
  84. data/ext/pg_query/include/catalog/pg_opfamily.h +60 -0
  85. data/ext/pg_query/include/catalog/pg_opfamily_d.h +47 -0
  86. data/ext/pg_query/include/catalog/pg_partitioned_table.h +63 -0
  87. data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +35 -0
  88. data/ext/pg_query/include/catalog/pg_proc.h +211 -0
  89. data/ext/pg_query/include/catalog/pg_proc_d.h +99 -0
  90. data/ext/pg_query/include/catalog/pg_publication.h +115 -0
  91. data/ext/pg_query/include/catalog/pg_publication_d.h +36 -0
  92. data/ext/pg_query/include/catalog/pg_replication_origin.h +57 -0
  93. data/ext/pg_query/include/catalog/pg_replication_origin_d.h +29 -0
  94. data/ext/pg_query/include/catalog/pg_statistic.h +275 -0
  95. data/ext/pg_query/include/catalog/pg_statistic_d.h +194 -0
  96. data/ext/pg_query/include/catalog/pg_statistic_ext.h +74 -0
  97. data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +40 -0
  98. data/ext/pg_query/include/catalog/pg_transform.h +45 -0
  99. data/ext/pg_query/include/catalog/pg_transform_d.h +32 -0
  100. data/ext/pg_query/include/catalog/pg_trigger.h +137 -0
  101. data/ext/pg_query/include/catalog/pg_trigger_d.h +106 -0
  102. data/ext/pg_query/include/catalog/pg_ts_config.h +50 -0
  103. data/ext/pg_query/include/catalog/pg_ts_config_d.h +32 -0
  104. data/ext/pg_query/include/catalog/pg_ts_dict.h +54 -0
  105. data/ext/pg_query/include/catalog/pg_ts_dict_d.h +33 -0
  106. data/ext/pg_query/include/catalog/pg_ts_parser.h +57 -0
  107. data/ext/pg_query/include/catalog/pg_ts_parser_d.h +35 -0
  108. data/ext/pg_query/include/catalog/pg_ts_template.h +48 -0
  109. data/ext/pg_query/include/catalog/pg_ts_template_d.h +32 -0
  110. data/ext/pg_query/include/catalog/pg_type.h +372 -0
  111. data/ext/pg_query/include/catalog/pg_type_d.h +285 -0
  112. data/ext/pg_query/include/catalog/storage.h +48 -0
  113. data/ext/pg_query/include/commands/async.h +54 -0
  114. data/ext/pg_query/include/commands/dbcommands.h +35 -0
  115. data/ext/pg_query/include/commands/defrem.h +173 -0
  116. data/ext/pg_query/include/commands/event_trigger.h +88 -0
  117. data/ext/pg_query/include/commands/explain.h +127 -0
  118. data/ext/pg_query/include/commands/prepare.h +61 -0
  119. data/ext/pg_query/include/commands/tablespace.h +67 -0
  120. data/ext/pg_query/include/commands/trigger.h +277 -0
  121. data/ext/pg_query/include/commands/user.h +37 -0
  122. data/ext/pg_query/include/commands/vacuum.h +293 -0
  123. data/ext/pg_query/include/commands/variable.h +38 -0
  124. data/ext/pg_query/include/common/file_perm.h +56 -0
  125. data/ext/pg_query/include/common/hashfn.h +104 -0
  126. data/ext/pg_query/include/common/ip.h +37 -0
  127. data/ext/pg_query/include/common/keywords.h +33 -0
  128. data/ext/pg_query/include/common/kwlookup.h +44 -0
  129. data/ext/pg_query/include/common/relpath.h +90 -0
  130. data/ext/pg_query/include/common/string.h +19 -0
  131. data/ext/pg_query/include/common/unicode_combining_table.h +196 -0
  132. data/ext/pg_query/include/datatype/timestamp.h +197 -0
  133. data/ext/pg_query/include/executor/execdesc.h +70 -0
  134. data/ext/pg_query/include/executor/executor.h +614 -0
  135. data/ext/pg_query/include/executor/functions.h +41 -0
  136. data/ext/pg_query/include/executor/instrument.h +101 -0
  137. data/ext/pg_query/include/executor/spi.h +175 -0
  138. data/ext/pg_query/include/executor/tablefunc.h +67 -0
  139. data/ext/pg_query/include/executor/tuptable.h +487 -0
  140. data/ext/pg_query/include/fmgr.h +775 -0
  141. data/ext/pg_query/include/funcapi.h +348 -0
  142. data/ext/pg_query/include/getaddrinfo.h +162 -0
  143. data/ext/pg_query/include/jit/jit.h +105 -0
  144. data/ext/pg_query/include/kwlist_d.h +1072 -0
  145. data/ext/pg_query/include/lib/ilist.h +727 -0
  146. data/ext/pg_query/include/lib/pairingheap.h +102 -0
  147. data/ext/pg_query/include/lib/simplehash.h +1059 -0
  148. data/ext/pg_query/include/lib/stringinfo.h +161 -0
  149. data/ext/pg_query/include/libpq/auth.h +29 -0
  150. data/ext/pg_query/include/libpq/crypt.h +46 -0
  151. data/ext/pg_query/include/libpq/hba.h +140 -0
  152. data/ext/pg_query/include/libpq/libpq-be.h +326 -0
  153. data/ext/pg_query/include/libpq/libpq.h +133 -0
  154. data/ext/pg_query/include/libpq/pqcomm.h +208 -0
  155. data/ext/pg_query/include/libpq/pqformat.h +210 -0
  156. data/ext/pg_query/include/libpq/pqsignal.h +42 -0
  157. data/ext/pg_query/include/mb/pg_wchar.h +672 -0
  158. data/ext/pg_query/include/mb/stringinfo_mb.h +24 -0
  159. data/ext/pg_query/include/miscadmin.h +476 -0
  160. data/ext/pg_query/include/nodes/bitmapset.h +122 -0
  161. data/ext/pg_query/include/nodes/execnodes.h +2520 -0
  162. data/ext/pg_query/include/nodes/extensible.h +160 -0
  163. data/ext/pg_query/include/nodes/lockoptions.h +61 -0
  164. data/ext/pg_query/include/nodes/makefuncs.h +108 -0
  165. data/ext/pg_query/include/nodes/memnodes.h +108 -0
  166. data/ext/pg_query/include/nodes/nodeFuncs.h +162 -0
  167. data/ext/pg_query/include/nodes/nodes.h +842 -0
  168. data/ext/pg_query/include/nodes/params.h +170 -0
  169. data/ext/pg_query/include/nodes/parsenodes.h +3579 -0
  170. data/ext/pg_query/include/nodes/pathnodes.h +2556 -0
  171. data/ext/pg_query/include/nodes/pg_list.h +605 -0
  172. data/ext/pg_query/include/nodes/plannodes.h +1251 -0
  173. data/ext/pg_query/include/nodes/primnodes.h +1541 -0
  174. data/ext/pg_query/include/nodes/print.h +34 -0
  175. data/ext/pg_query/include/nodes/tidbitmap.h +75 -0
  176. data/ext/pg_query/include/nodes/value.h +61 -0
  177. data/ext/pg_query/include/optimizer/cost.h +206 -0
  178. data/ext/pg_query/include/optimizer/geqo.h +88 -0
  179. data/ext/pg_query/include/optimizer/geqo_gene.h +45 -0
  180. data/ext/pg_query/include/optimizer/optimizer.h +199 -0
  181. data/ext/pg_query/include/optimizer/paths.h +249 -0
  182. data/ext/pg_query/include/optimizer/planmain.h +119 -0
  183. data/ext/pg_query/include/parser/analyze.h +49 -0
  184. data/ext/pg_query/include/parser/gram.h +1067 -0
  185. data/ext/pg_query/include/parser/gramparse.h +75 -0
  186. data/ext/pg_query/include/parser/kwlist.h +477 -0
  187. data/ext/pg_query/include/parser/parse_agg.h +68 -0
  188. data/ext/pg_query/include/parser/parse_clause.h +54 -0
  189. data/ext/pg_query/include/parser/parse_coerce.h +97 -0
  190. data/ext/pg_query/include/parser/parse_collate.h +27 -0
  191. data/ext/pg_query/include/parser/parse_expr.h +26 -0
  192. data/ext/pg_query/include/parser/parse_func.h +73 -0
  193. data/ext/pg_query/include/parser/parse_node.h +327 -0
  194. data/ext/pg_query/include/parser/parse_oper.h +67 -0
  195. data/ext/pg_query/include/parser/parse_relation.h +123 -0
  196. data/ext/pg_query/include/parser/parse_target.h +46 -0
  197. data/ext/pg_query/include/parser/parse_type.h +60 -0
  198. data/ext/pg_query/include/parser/parser.h +41 -0
  199. data/ext/pg_query/include/parser/parsetree.h +61 -0
  200. data/ext/pg_query/include/parser/scanner.h +152 -0
  201. data/ext/pg_query/include/parser/scansup.h +30 -0
  202. data/ext/pg_query/include/partitioning/partdefs.h +26 -0
  203. data/ext/pg_query/include/pg_config.h +989 -0
  204. data/ext/pg_query/include/pg_config_ext.h +8 -0
  205. data/ext/pg_query/include/pg_config_manual.h +350 -0
  206. data/ext/pg_query/include/pg_config_os.h +8 -0
  207. data/ext/pg_query/include/pg_getopt.h +56 -0
  208. data/ext/pg_query/include/pg_query.h +121 -0
  209. data/ext/pg_query/include/pg_query_enum_defs.c +2454 -0
  210. data/ext/pg_query/include/pg_query_fingerprint_conds.c +875 -0
  211. data/ext/pg_query/include/pg_query_fingerprint_defs.c +12413 -0
  212. data/ext/pg_query/include/pg_query_json_helper.c +61 -0
  213. data/ext/pg_query/include/pg_query_outfuncs_conds.c +686 -0
  214. data/ext/pg_query/include/pg_query_outfuncs_defs.c +2437 -0
  215. data/ext/pg_query/include/pg_query_readfuncs_conds.c +222 -0
  216. data/ext/pg_query/include/pg_query_readfuncs_defs.c +2878 -0
  217. data/ext/pg_query/include/pg_trace.h +17 -0
  218. data/ext/pg_query/include/pgstat.h +1487 -0
  219. data/ext/pg_query/include/pgtime.h +84 -0
  220. data/ext/pg_query/include/pl_gram.h +385 -0
  221. data/ext/pg_query/include/pl_reserved_kwlist.h +52 -0
  222. data/ext/pg_query/include/pl_reserved_kwlist_d.h +114 -0
  223. data/ext/pg_query/include/pl_unreserved_kwlist.h +112 -0
  224. data/ext/pg_query/include/pl_unreserved_kwlist_d.h +246 -0
  225. data/ext/pg_query/include/plerrcodes.h +990 -0
  226. data/ext/pg_query/include/plpgsql.h +1347 -0
  227. data/ext/pg_query/include/port.h +524 -0
  228. data/ext/pg_query/include/port/atomics.h +524 -0
  229. data/ext/pg_query/include/port/atomics/arch-arm.h +26 -0
  230. data/ext/pg_query/include/port/atomics/arch-ppc.h +254 -0
  231. data/ext/pg_query/include/port/atomics/arch-x86.h +252 -0
  232. data/ext/pg_query/include/port/atomics/fallback.h +170 -0
  233. data/ext/pg_query/include/port/atomics/generic-gcc.h +286 -0
  234. data/ext/pg_query/include/port/atomics/generic.h +401 -0
  235. data/ext/pg_query/include/port/pg_bitutils.h +226 -0
  236. data/ext/pg_query/include/port/pg_bswap.h +161 -0
  237. data/ext/pg_query/include/port/pg_crc32c.h +101 -0
  238. data/ext/pg_query/include/portability/instr_time.h +256 -0
  239. data/ext/pg_query/include/postgres.h +764 -0
  240. data/ext/pg_query/include/postgres_ext.h +74 -0
  241. data/ext/pg_query/include/postmaster/autovacuum.h +83 -0
  242. data/ext/pg_query/include/postmaster/bgworker.h +161 -0
  243. data/ext/pg_query/include/postmaster/bgworker_internals.h +64 -0
  244. data/ext/pg_query/include/postmaster/bgwriter.h +45 -0
  245. data/ext/pg_query/include/postmaster/fork_process.h +17 -0
  246. data/ext/pg_query/include/postmaster/interrupt.h +32 -0
  247. data/ext/pg_query/include/postmaster/pgarch.h +39 -0
  248. data/ext/pg_query/include/postmaster/postmaster.h +77 -0
  249. data/ext/pg_query/include/postmaster/syslogger.h +98 -0
  250. data/ext/pg_query/include/postmaster/walwriter.h +21 -0
  251. data/ext/pg_query/include/protobuf-c.h +1106 -0
  252. data/ext/pg_query/include/protobuf-c/protobuf-c.h +1106 -0
  253. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +10846 -0
  254. data/ext/pg_query/include/protobuf/pg_query.pb.h +124718 -0
  255. data/ext/pg_query/include/regex/regex.h +184 -0
  256. data/ext/pg_query/include/replication/logicallauncher.h +31 -0
  257. data/ext/pg_query/include/replication/logicalproto.h +110 -0
  258. data/ext/pg_query/include/replication/logicalworker.h +19 -0
  259. data/ext/pg_query/include/replication/origin.h +73 -0
  260. data/ext/pg_query/include/replication/reorderbuffer.h +467 -0
  261. data/ext/pg_query/include/replication/slot.h +219 -0
  262. data/ext/pg_query/include/replication/syncrep.h +115 -0
  263. data/ext/pg_query/include/replication/walreceiver.h +340 -0
  264. data/ext/pg_query/include/replication/walsender.h +74 -0
  265. data/ext/pg_query/include/rewrite/prs2lock.h +46 -0
  266. data/ext/pg_query/include/rewrite/rewriteHandler.h +40 -0
  267. data/ext/pg_query/include/rewrite/rewriteManip.h +87 -0
  268. data/ext/pg_query/include/rewrite/rewriteSupport.h +26 -0
  269. data/ext/pg_query/include/storage/backendid.h +37 -0
  270. data/ext/pg_query/include/storage/block.h +121 -0
  271. data/ext/pg_query/include/storage/buf.h +46 -0
  272. data/ext/pg_query/include/storage/bufmgr.h +292 -0
  273. data/ext/pg_query/include/storage/bufpage.h +459 -0
  274. data/ext/pg_query/include/storage/condition_variable.h +62 -0
  275. data/ext/pg_query/include/storage/dsm.h +61 -0
  276. data/ext/pg_query/include/storage/dsm_impl.h +75 -0
  277. data/ext/pg_query/include/storage/fd.h +168 -0
  278. data/ext/pg_query/include/storage/ipc.h +81 -0
  279. data/ext/pg_query/include/storage/item.h +19 -0
  280. data/ext/pg_query/include/storage/itemid.h +184 -0
  281. data/ext/pg_query/include/storage/itemptr.h +206 -0
  282. data/ext/pg_query/include/storage/large_object.h +100 -0
  283. data/ext/pg_query/include/storage/latch.h +190 -0
  284. data/ext/pg_query/include/storage/lmgr.h +114 -0
  285. data/ext/pg_query/include/storage/lock.h +612 -0
  286. data/ext/pg_query/include/storage/lockdefs.h +59 -0
  287. data/ext/pg_query/include/storage/lwlock.h +232 -0
  288. data/ext/pg_query/include/storage/lwlocknames.h +51 -0
  289. data/ext/pg_query/include/storage/off.h +57 -0
  290. data/ext/pg_query/include/storage/pg_sema.h +61 -0
  291. data/ext/pg_query/include/storage/pg_shmem.h +90 -0
  292. data/ext/pg_query/include/storage/pmsignal.h +94 -0
  293. data/ext/pg_query/include/storage/predicate.h +87 -0
  294. data/ext/pg_query/include/storage/proc.h +333 -0
  295. data/ext/pg_query/include/storage/proclist_types.h +51 -0
  296. data/ext/pg_query/include/storage/procsignal.h +75 -0
  297. data/ext/pg_query/include/storage/relfilenode.h +99 -0
  298. data/ext/pg_query/include/storage/s_lock.h +1047 -0
  299. data/ext/pg_query/include/storage/sharedfileset.h +45 -0
  300. data/ext/pg_query/include/storage/shm_mq.h +85 -0
  301. data/ext/pg_query/include/storage/shm_toc.h +58 -0
  302. data/ext/pg_query/include/storage/shmem.h +81 -0
  303. data/ext/pg_query/include/storage/sinval.h +153 -0
  304. data/ext/pg_query/include/storage/sinvaladt.h +43 -0
  305. data/ext/pg_query/include/storage/smgr.h +109 -0
  306. data/ext/pg_query/include/storage/spin.h +77 -0
  307. data/ext/pg_query/include/storage/standby.h +91 -0
  308. data/ext/pg_query/include/storage/standbydefs.h +74 -0
  309. data/ext/pg_query/include/storage/sync.h +62 -0
  310. data/ext/pg_query/include/tcop/cmdtag.h +58 -0
  311. data/ext/pg_query/include/tcop/cmdtaglist.h +217 -0
  312. data/ext/pg_query/include/tcop/deparse_utility.h +108 -0
  313. data/ext/pg_query/include/tcop/dest.h +149 -0
  314. data/ext/pg_query/include/tcop/fastpath.h +21 -0
  315. data/ext/pg_query/include/tcop/pquery.h +45 -0
  316. data/ext/pg_query/include/tcop/tcopprot.h +89 -0
  317. data/ext/pg_query/include/tcop/utility.h +108 -0
  318. data/ext/pg_query/include/tsearch/ts_cache.h +98 -0
  319. data/ext/pg_query/include/utils/acl.h +312 -0
  320. data/ext/pg_query/include/utils/aclchk_internal.h +45 -0
  321. data/ext/pg_query/include/utils/array.h +458 -0
  322. data/ext/pg_query/include/utils/builtins.h +127 -0
  323. data/ext/pg_query/include/utils/bytea.h +27 -0
  324. data/ext/pg_query/include/utils/catcache.h +231 -0
  325. data/ext/pg_query/include/utils/date.h +90 -0
  326. data/ext/pg_query/include/utils/datetime.h +343 -0
  327. data/ext/pg_query/include/utils/datum.h +68 -0
  328. data/ext/pg_query/include/utils/dsa.h +123 -0
  329. data/ext/pg_query/include/utils/dynahash.h +19 -0
  330. data/ext/pg_query/include/utils/elog.h +439 -0
  331. data/ext/pg_query/include/utils/errcodes.h +352 -0
  332. data/ext/pg_query/include/utils/expandeddatum.h +159 -0
  333. data/ext/pg_query/include/utils/expandedrecord.h +231 -0
  334. data/ext/pg_query/include/utils/float.h +356 -0
  335. data/ext/pg_query/include/utils/fmgroids.h +2657 -0
  336. data/ext/pg_query/include/utils/fmgrprotos.h +2646 -0
  337. data/ext/pg_query/include/utils/fmgrtab.h +48 -0
  338. data/ext/pg_query/include/utils/guc.h +443 -0
  339. data/ext/pg_query/include/utils/guc_tables.h +272 -0
  340. data/ext/pg_query/include/utils/hsearch.h +149 -0
  341. data/ext/pg_query/include/utils/inval.h +64 -0
  342. data/ext/pg_query/include/utils/lsyscache.h +197 -0
  343. data/ext/pg_query/include/utils/memdebug.h +82 -0
  344. data/ext/pg_query/include/utils/memutils.h +225 -0
  345. data/ext/pg_query/include/utils/numeric.h +76 -0
  346. data/ext/pg_query/include/utils/palloc.h +136 -0
  347. data/ext/pg_query/include/utils/partcache.h +102 -0
  348. data/ext/pg_query/include/utils/pg_locale.h +119 -0
  349. data/ext/pg_query/include/utils/pg_lsn.h +29 -0
  350. data/ext/pg_query/include/utils/pidfile.h +56 -0
  351. data/ext/pg_query/include/utils/plancache.h +235 -0
  352. data/ext/pg_query/include/utils/portal.h +241 -0
  353. data/ext/pg_query/include/utils/probes.h +114 -0
  354. data/ext/pg_query/include/utils/ps_status.h +25 -0
  355. data/ext/pg_query/include/utils/queryenvironment.h +74 -0
  356. data/ext/pg_query/include/utils/regproc.h +28 -0
  357. data/ext/pg_query/include/utils/rel.h +644 -0
  358. data/ext/pg_query/include/utils/relcache.h +151 -0
  359. data/ext/pg_query/include/utils/reltrigger.h +81 -0
  360. data/ext/pg_query/include/utils/resowner.h +86 -0
  361. data/ext/pg_query/include/utils/rls.h +50 -0
  362. data/ext/pg_query/include/utils/ruleutils.h +44 -0
  363. data/ext/pg_query/include/utils/sharedtuplestore.h +61 -0
  364. data/ext/pg_query/include/utils/snapmgr.h +158 -0
  365. data/ext/pg_query/include/utils/snapshot.h +206 -0
  366. data/ext/pg_query/include/utils/sortsupport.h +276 -0
  367. data/ext/pg_query/include/utils/syscache.h +219 -0
  368. data/ext/pg_query/include/utils/timeout.h +88 -0
  369. data/ext/pg_query/include/utils/timestamp.h +116 -0
  370. data/ext/pg_query/include/utils/tuplesort.h +277 -0
  371. data/ext/pg_query/include/utils/tuplestore.h +91 -0
  372. data/ext/pg_query/include/utils/typcache.h +202 -0
  373. data/ext/pg_query/include/utils/tzparser.h +39 -0
  374. data/ext/pg_query/include/utils/varlena.h +39 -0
  375. data/ext/pg_query/include/utils/xml.h +84 -0
  376. data/ext/pg_query/include/xxhash.h +5445 -0
  377. data/ext/pg_query/include/xxhash/xxhash.h +5445 -0
  378. data/ext/pg_query/pg_query.c +104 -0
  379. data/ext/pg_query/pg_query.pb-c.c +37628 -0
  380. data/ext/pg_query/pg_query_deparse.c +9959 -0
  381. data/ext/pg_query/pg_query_fingerprint.c +295 -0
  382. data/ext/pg_query/pg_query_fingerprint.h +8 -0
  383. data/ext/pg_query/pg_query_internal.h +24 -0
  384. data/ext/pg_query/pg_query_json_plpgsql.c +738 -0
  385. data/ext/pg_query/pg_query_json_plpgsql.h +9 -0
  386. data/ext/pg_query/pg_query_normalize.c +439 -0
  387. data/ext/pg_query/pg_query_outfuncs.h +10 -0
  388. data/ext/pg_query/pg_query_outfuncs_json.c +297 -0
  389. data/ext/pg_query/pg_query_outfuncs_protobuf.c +237 -0
  390. data/ext/pg_query/pg_query_parse.c +148 -0
  391. data/ext/pg_query/pg_query_parse_plpgsql.c +460 -0
  392. data/ext/pg_query/pg_query_readfuncs.h +11 -0
  393. data/ext/pg_query/pg_query_readfuncs_protobuf.c +142 -0
  394. data/ext/pg_query/pg_query_ruby.c +108 -12
  395. data/ext/pg_query/pg_query_scan.c +173 -0
  396. data/ext/pg_query/pg_query_split.c +221 -0
  397. data/ext/pg_query/protobuf-c.c +3660 -0
  398. data/ext/pg_query/src_backend_catalog_namespace.c +1051 -0
  399. data/ext/pg_query/src_backend_catalog_pg_proc.c +142 -0
  400. data/ext/pg_query/src_backend_commands_define.c +117 -0
  401. data/ext/pg_query/src_backend_libpq_pqcomm.c +651 -0
  402. data/ext/pg_query/src_backend_nodes_bitmapset.c +513 -0
  403. data/ext/pg_query/src_backend_nodes_copyfuncs.c +6013 -0
  404. data/ext/pg_query/src_backend_nodes_equalfuncs.c +4003 -0
  405. data/ext/pg_query/src_backend_nodes_extensible.c +99 -0
  406. data/ext/pg_query/src_backend_nodes_list.c +922 -0
  407. data/ext/pg_query/src_backend_nodes_makefuncs.c +417 -0
  408. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +1363 -0
  409. data/ext/pg_query/src_backend_nodes_value.c +84 -0
  410. data/ext/pg_query/src_backend_parser_gram.c +47456 -0
  411. data/ext/pg_query/src_backend_parser_parse_expr.c +313 -0
  412. data/ext/pg_query/src_backend_parser_parser.c +497 -0
  413. data/ext/pg_query/src_backend_parser_scan.c +7091 -0
  414. data/ext/pg_query/src_backend_parser_scansup.c +160 -0
  415. data/ext/pg_query/src_backend_postmaster_postmaster.c +2230 -0
  416. data/ext/pg_query/src_backend_storage_ipc_ipc.c +192 -0
  417. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +370 -0
  418. data/ext/pg_query/src_backend_tcop_postgres.c +776 -0
  419. data/ext/pg_query/src_backend_utils_adt_datum.c +326 -0
  420. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +98 -0
  421. data/ext/pg_query/src_backend_utils_adt_format_type.c +136 -0
  422. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +1683 -0
  423. data/ext/pg_query/src_backend_utils_error_assert.c +74 -0
  424. data/ext/pg_query/src_backend_utils_error_elog.c +1748 -0
  425. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +570 -0
  426. data/ext/pg_query/src_backend_utils_hash_dynahash.c +1086 -0
  427. data/ext/pg_query/src_backend_utils_init_globals.c +168 -0
  428. data/ext/pg_query/src_backend_utils_mb_mbutils.c +839 -0
  429. data/ext/pg_query/src_backend_utils_misc_guc.c +1831 -0
  430. data/ext/pg_query/src_backend_utils_mmgr_aset.c +1560 -0
  431. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +1006 -0
  432. data/ext/pg_query/src_common_encnames.c +158 -0
  433. data/ext/pg_query/src_common_keywords.c +39 -0
  434. data/ext/pg_query/src_common_kwlist_d.h +1081 -0
  435. data/ext/pg_query/src_common_kwlookup.c +91 -0
  436. data/ext/pg_query/src_common_psprintf.c +158 -0
  437. data/ext/pg_query/src_common_string.c +86 -0
  438. data/ext/pg_query/src_common_stringinfo.c +336 -0
  439. data/ext/pg_query/src_common_wchar.c +1651 -0
  440. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +1133 -0
  441. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +877 -0
  442. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +6533 -0
  443. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +107 -0
  444. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +123 -0
  445. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +671 -0
  446. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +255 -0
  447. data/ext/pg_query/src_port_erand48.c +127 -0
  448. data/ext/pg_query/src_port_pg_bitutils.c +246 -0
  449. data/ext/pg_query/src_port_pgsleep.c +69 -0
  450. data/ext/pg_query/src_port_pgstrcasecmp.c +83 -0
  451. data/ext/pg_query/src_port_qsort.c +240 -0
  452. data/ext/pg_query/src_port_random.c +31 -0
  453. data/ext/pg_query/src_port_snprintf.c +1449 -0
  454. data/ext/pg_query/src_port_strerror.c +324 -0
  455. data/ext/pg_query/src_port_strnlen.c +39 -0
  456. data/ext/pg_query/xxhash.c +43 -0
  457. data/lib/pg_query.rb +7 -4
  458. data/lib/pg_query/constants.rb +21 -0
  459. data/lib/pg_query/deparse.rb +15 -1581
  460. data/lib/pg_query/filter_columns.rb +88 -85
  461. data/lib/pg_query/fingerprint.rb +122 -87
  462. data/lib/pg_query/json_field_names.rb +1402 -0
  463. data/lib/pg_query/node.rb +31 -0
  464. data/lib/pg_query/param_refs.rb +42 -37
  465. data/lib/pg_query/parse.rb +220 -203
  466. data/lib/pg_query/parse_error.rb +1 -1
  467. data/lib/pg_query/pg_query_pb.rb +3211 -0
  468. data/lib/pg_query/scan.rb +23 -0
  469. data/lib/pg_query/treewalker.rb +24 -40
  470. data/lib/pg_query/truncate.rb +71 -42
  471. data/lib/pg_query/version.rb +2 -2
  472. metadata +472 -11
  473. data/ext/pg_query/pg_query_ruby.h +0 -10
  474. data/lib/pg_query/deep_dup.rb +0 -16
  475. data/lib/pg_query/deparse/alter_table.rb +0 -42
  476. data/lib/pg_query/deparse/interval.rb +0 -105
  477. data/lib/pg_query/deparse/keywords.rb +0 -159
  478. data/lib/pg_query/deparse/rename.rb +0 -41
  479. data/lib/pg_query/legacy_parsetree.rb +0 -109
  480. data/lib/pg_query/node_types.rb +0 -296
@@ -0,0 +1,222 @@
1
+ // This file is autogenerated by ./scripts/generate_protobuf_and_funcs.rb
2
+
3
+ READ_COND(Alias, Alias, alias, ALIAS, Alias, alias);
4
+ READ_COND(RangeVar, RangeVar, range_var, RANGE_VAR, RangeVar, range_var);
5
+ READ_COND(TableFunc, TableFunc, table_func, TABLE_FUNC, TableFunc, table_func);
6
+ READ_COND(Expr, Expr, expr, EXPR, Expr, expr);
7
+ READ_COND(Var, Var, var, VAR, Var, var);
8
+ READ_COND(Param, Param, param, PARAM, Param, param);
9
+ READ_COND(Aggref, Aggref, aggref, AGGREF, Aggref, aggref);
10
+ READ_COND(GroupingFunc, GroupingFunc, grouping_func, GROUPING_FUNC, GroupingFunc, grouping_func);
11
+ READ_COND(WindowFunc, WindowFunc, window_func, WINDOW_FUNC, WindowFunc, window_func);
12
+ READ_COND(SubscriptingRef, SubscriptingRef, subscripting_ref, SUBSCRIPTING_REF, SubscriptingRef, subscripting_ref);
13
+ READ_COND(FuncExpr, FuncExpr, func_expr, FUNC_EXPR, FuncExpr, func_expr);
14
+ READ_COND(NamedArgExpr, NamedArgExpr, named_arg_expr, NAMED_ARG_EXPR, NamedArgExpr, named_arg_expr);
15
+ READ_COND(OpExpr, OpExpr, op_expr, OP_EXPR, OpExpr, op_expr);
16
+ READ_COND(DistinctExpr, DistinctExpr, distinct_expr, DISTINCT_EXPR, DistinctExpr, distinct_expr);
17
+ READ_COND(NullIfExpr, NullIfExpr, null_if_expr, NULL_IF_EXPR, NullIfExpr, null_if_expr);
18
+ READ_COND(ScalarArrayOpExpr, ScalarArrayOpExpr, scalar_array_op_expr, SCALAR_ARRAY_OP_EXPR, ScalarArrayOpExpr, scalar_array_op_expr);
19
+ READ_COND(BoolExpr, BoolExpr, bool_expr, BOOL_EXPR, BoolExpr, bool_expr);
20
+ READ_COND(SubLink, SubLink, sub_link, SUB_LINK, SubLink, sub_link);
21
+ READ_COND(SubPlan, SubPlan, sub_plan, SUB_PLAN, SubPlan, sub_plan);
22
+ READ_COND(AlternativeSubPlan, AlternativeSubPlan, alternative_sub_plan, ALTERNATIVE_SUB_PLAN, AlternativeSubPlan, alternative_sub_plan);
23
+ READ_COND(FieldSelect, FieldSelect, field_select, FIELD_SELECT, FieldSelect, field_select);
24
+ READ_COND(FieldStore, FieldStore, field_store, FIELD_STORE, FieldStore, field_store);
25
+ READ_COND(RelabelType, RelabelType, relabel_type, RELABEL_TYPE, RelabelType, relabel_type);
26
+ READ_COND(CoerceViaIO, CoerceViaIO, coerce_via_io, COERCE_VIA_IO, CoerceViaIO, coerce_via_io);
27
+ READ_COND(ArrayCoerceExpr, ArrayCoerceExpr, array_coerce_expr, ARRAY_COERCE_EXPR, ArrayCoerceExpr, array_coerce_expr);
28
+ READ_COND(ConvertRowtypeExpr, ConvertRowtypeExpr, convert_rowtype_expr, CONVERT_ROWTYPE_EXPR, ConvertRowtypeExpr, convert_rowtype_expr);
29
+ READ_COND(CollateExpr, CollateExpr, collate_expr, COLLATE_EXPR, CollateExpr, collate_expr);
30
+ READ_COND(CaseExpr, CaseExpr, case_expr, CASE_EXPR, CaseExpr, case_expr);
31
+ READ_COND(CaseWhen, CaseWhen, case_when, CASE_WHEN, CaseWhen, case_when);
32
+ READ_COND(CaseTestExpr, CaseTestExpr, case_test_expr, CASE_TEST_EXPR, CaseTestExpr, case_test_expr);
33
+ READ_COND(ArrayExpr, ArrayExpr, array_expr, ARRAY_EXPR, ArrayExpr, array_expr);
34
+ READ_COND(RowExpr, RowExpr, row_expr, ROW_EXPR, RowExpr, row_expr);
35
+ READ_COND(RowCompareExpr, RowCompareExpr, row_compare_expr, ROW_COMPARE_EXPR, RowCompareExpr, row_compare_expr);
36
+ READ_COND(CoalesceExpr, CoalesceExpr, coalesce_expr, COALESCE_EXPR, CoalesceExpr, coalesce_expr);
37
+ READ_COND(MinMaxExpr, MinMaxExpr, min_max_expr, MIN_MAX_EXPR, MinMaxExpr, min_max_expr);
38
+ READ_COND(SQLValueFunction, SQLValueFunction, sqlvalue_function, SQLVALUE_FUNCTION, SQLValueFunction, sqlvalue_function);
39
+ READ_COND(XmlExpr, XmlExpr, xml_expr, XML_EXPR, XmlExpr, xml_expr);
40
+ READ_COND(NullTest, NullTest, null_test, NULL_TEST, NullTest, null_test);
41
+ READ_COND(BooleanTest, BooleanTest, boolean_test, BOOLEAN_TEST, BooleanTest, boolean_test);
42
+ READ_COND(CoerceToDomain, CoerceToDomain, coerce_to_domain, COERCE_TO_DOMAIN, CoerceToDomain, coerce_to_domain);
43
+ READ_COND(CoerceToDomainValue, CoerceToDomainValue, coerce_to_domain_value, COERCE_TO_DOMAIN_VALUE, CoerceToDomainValue, coerce_to_domain_value);
44
+ READ_COND(SetToDefault, SetToDefault, set_to_default, SET_TO_DEFAULT, SetToDefault, set_to_default);
45
+ READ_COND(CurrentOfExpr, CurrentOfExpr, current_of_expr, CURRENT_OF_EXPR, CurrentOfExpr, current_of_expr);
46
+ READ_COND(NextValueExpr, NextValueExpr, next_value_expr, NEXT_VALUE_EXPR, NextValueExpr, next_value_expr);
47
+ READ_COND(InferenceElem, InferenceElem, inference_elem, INFERENCE_ELEM, InferenceElem, inference_elem);
48
+ READ_COND(TargetEntry, TargetEntry, target_entry, TARGET_ENTRY, TargetEntry, target_entry);
49
+ READ_COND(RangeTblRef, RangeTblRef, range_tbl_ref, RANGE_TBL_REF, RangeTblRef, range_tbl_ref);
50
+ READ_COND(JoinExpr, JoinExpr, join_expr, JOIN_EXPR, JoinExpr, join_expr);
51
+ READ_COND(FromExpr, FromExpr, from_expr, FROM_EXPR, FromExpr, from_expr);
52
+ READ_COND(OnConflictExpr, OnConflictExpr, on_conflict_expr, ON_CONFLICT_EXPR, OnConflictExpr, on_conflict_expr);
53
+ READ_COND(IntoClause, IntoClause, into_clause, INTO_CLAUSE, IntoClause, into_clause);
54
+ READ_COND(RawStmt, RawStmt, raw_stmt, RAW_STMT, RawStmt, raw_stmt);
55
+ READ_COND(Query, Query, query, QUERY, Query, query);
56
+ READ_COND(InsertStmt, InsertStmt, insert_stmt, INSERT_STMT, InsertStmt, insert_stmt);
57
+ READ_COND(DeleteStmt, DeleteStmt, delete_stmt, DELETE_STMT, DeleteStmt, delete_stmt);
58
+ READ_COND(UpdateStmt, UpdateStmt, update_stmt, UPDATE_STMT, UpdateStmt, update_stmt);
59
+ READ_COND(SelectStmt, SelectStmt, select_stmt, SELECT_STMT, SelectStmt, select_stmt);
60
+ READ_COND(AlterTableStmt, AlterTableStmt, alter_table_stmt, ALTER_TABLE_STMT, AlterTableStmt, alter_table_stmt);
61
+ READ_COND(AlterTableCmd, AlterTableCmd, alter_table_cmd, ALTER_TABLE_CMD, AlterTableCmd, alter_table_cmd);
62
+ READ_COND(AlterDomainStmt, AlterDomainStmt, alter_domain_stmt, ALTER_DOMAIN_STMT, AlterDomainStmt, alter_domain_stmt);
63
+ READ_COND(SetOperationStmt, SetOperationStmt, set_operation_stmt, SET_OPERATION_STMT, SetOperationStmt, set_operation_stmt);
64
+ READ_COND(GrantStmt, GrantStmt, grant_stmt, GRANT_STMT, GrantStmt, grant_stmt);
65
+ READ_COND(GrantRoleStmt, GrantRoleStmt, grant_role_stmt, GRANT_ROLE_STMT, GrantRoleStmt, grant_role_stmt);
66
+ READ_COND(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt, alter_default_privileges_stmt, ALTER_DEFAULT_PRIVILEGES_STMT, AlterDefaultPrivilegesStmt, alter_default_privileges_stmt);
67
+ READ_COND(ClosePortalStmt, ClosePortalStmt, close_portal_stmt, CLOSE_PORTAL_STMT, ClosePortalStmt, close_portal_stmt);
68
+ READ_COND(ClusterStmt, ClusterStmt, cluster_stmt, CLUSTER_STMT, ClusterStmt, cluster_stmt);
69
+ READ_COND(CopyStmt, CopyStmt, copy_stmt, COPY_STMT, CopyStmt, copy_stmt);
70
+ READ_COND(CreateStmt, CreateStmt, create_stmt, CREATE_STMT, CreateStmt, create_stmt);
71
+ READ_COND(DefineStmt, DefineStmt, define_stmt, DEFINE_STMT, DefineStmt, define_stmt);
72
+ READ_COND(DropStmt, DropStmt, drop_stmt, DROP_STMT, DropStmt, drop_stmt);
73
+ READ_COND(TruncateStmt, TruncateStmt, truncate_stmt, TRUNCATE_STMT, TruncateStmt, truncate_stmt);
74
+ READ_COND(CommentStmt, CommentStmt, comment_stmt, COMMENT_STMT, CommentStmt, comment_stmt);
75
+ READ_COND(FetchStmt, FetchStmt, fetch_stmt, FETCH_STMT, FetchStmt, fetch_stmt);
76
+ READ_COND(IndexStmt, IndexStmt, index_stmt, INDEX_STMT, IndexStmt, index_stmt);
77
+ READ_COND(CreateFunctionStmt, CreateFunctionStmt, create_function_stmt, CREATE_FUNCTION_STMT, CreateFunctionStmt, create_function_stmt);
78
+ READ_COND(AlterFunctionStmt, AlterFunctionStmt, alter_function_stmt, ALTER_FUNCTION_STMT, AlterFunctionStmt, alter_function_stmt);
79
+ READ_COND(DoStmt, DoStmt, do_stmt, DO_STMT, DoStmt, do_stmt);
80
+ READ_COND(RenameStmt, RenameStmt, rename_stmt, RENAME_STMT, RenameStmt, rename_stmt);
81
+ READ_COND(RuleStmt, RuleStmt, rule_stmt, RULE_STMT, RuleStmt, rule_stmt);
82
+ READ_COND(NotifyStmt, NotifyStmt, notify_stmt, NOTIFY_STMT, NotifyStmt, notify_stmt);
83
+ READ_COND(ListenStmt, ListenStmt, listen_stmt, LISTEN_STMT, ListenStmt, listen_stmt);
84
+ READ_COND(UnlistenStmt, UnlistenStmt, unlisten_stmt, UNLISTEN_STMT, UnlistenStmt, unlisten_stmt);
85
+ READ_COND(TransactionStmt, TransactionStmt, transaction_stmt, TRANSACTION_STMT, TransactionStmt, transaction_stmt);
86
+ READ_COND(ViewStmt, ViewStmt, view_stmt, VIEW_STMT, ViewStmt, view_stmt);
87
+ READ_COND(LoadStmt, LoadStmt, load_stmt, LOAD_STMT, LoadStmt, load_stmt);
88
+ READ_COND(CreateDomainStmt, CreateDomainStmt, create_domain_stmt, CREATE_DOMAIN_STMT, CreateDomainStmt, create_domain_stmt);
89
+ READ_COND(CreatedbStmt, CreatedbStmt, createdb_stmt, CREATEDB_STMT, CreatedbStmt, createdb_stmt);
90
+ READ_COND(DropdbStmt, DropdbStmt, dropdb_stmt, DROPDB_STMT, DropdbStmt, dropdb_stmt);
91
+ READ_COND(VacuumStmt, VacuumStmt, vacuum_stmt, VACUUM_STMT, VacuumStmt, vacuum_stmt);
92
+ READ_COND(ExplainStmt, ExplainStmt, explain_stmt, EXPLAIN_STMT, ExplainStmt, explain_stmt);
93
+ READ_COND(CreateTableAsStmt, CreateTableAsStmt, create_table_as_stmt, CREATE_TABLE_AS_STMT, CreateTableAsStmt, create_table_as_stmt);
94
+ READ_COND(CreateSeqStmt, CreateSeqStmt, create_seq_stmt, CREATE_SEQ_STMT, CreateSeqStmt, create_seq_stmt);
95
+ READ_COND(AlterSeqStmt, AlterSeqStmt, alter_seq_stmt, ALTER_SEQ_STMT, AlterSeqStmt, alter_seq_stmt);
96
+ READ_COND(VariableSetStmt, VariableSetStmt, variable_set_stmt, VARIABLE_SET_STMT, VariableSetStmt, variable_set_stmt);
97
+ READ_COND(VariableShowStmt, VariableShowStmt, variable_show_stmt, VARIABLE_SHOW_STMT, VariableShowStmt, variable_show_stmt);
98
+ READ_COND(DiscardStmt, DiscardStmt, discard_stmt, DISCARD_STMT, DiscardStmt, discard_stmt);
99
+ READ_COND(CreateTrigStmt, CreateTrigStmt, create_trig_stmt, CREATE_TRIG_STMT, CreateTrigStmt, create_trig_stmt);
100
+ READ_COND(CreatePLangStmt, CreatePLangStmt, create_plang_stmt, CREATE_PLANG_STMT, CreatePLangStmt, create_plang_stmt);
101
+ READ_COND(CreateRoleStmt, CreateRoleStmt, create_role_stmt, CREATE_ROLE_STMT, CreateRoleStmt, create_role_stmt);
102
+ READ_COND(AlterRoleStmt, AlterRoleStmt, alter_role_stmt, ALTER_ROLE_STMT, AlterRoleStmt, alter_role_stmt);
103
+ READ_COND(DropRoleStmt, DropRoleStmt, drop_role_stmt, DROP_ROLE_STMT, DropRoleStmt, drop_role_stmt);
104
+ READ_COND(LockStmt, LockStmt, lock_stmt, LOCK_STMT, LockStmt, lock_stmt);
105
+ READ_COND(ConstraintsSetStmt, ConstraintsSetStmt, constraints_set_stmt, CONSTRAINTS_SET_STMT, ConstraintsSetStmt, constraints_set_stmt);
106
+ READ_COND(ReindexStmt, ReindexStmt, reindex_stmt, REINDEX_STMT, ReindexStmt, reindex_stmt);
107
+ READ_COND(CheckPointStmt, CheckPointStmt, check_point_stmt, CHECK_POINT_STMT, CheckPointStmt, check_point_stmt);
108
+ READ_COND(CreateSchemaStmt, CreateSchemaStmt, create_schema_stmt, CREATE_SCHEMA_STMT, CreateSchemaStmt, create_schema_stmt);
109
+ READ_COND(AlterDatabaseStmt, AlterDatabaseStmt, alter_database_stmt, ALTER_DATABASE_STMT, AlterDatabaseStmt, alter_database_stmt);
110
+ READ_COND(AlterDatabaseSetStmt, AlterDatabaseSetStmt, alter_database_set_stmt, ALTER_DATABASE_SET_STMT, AlterDatabaseSetStmt, alter_database_set_stmt);
111
+ READ_COND(AlterRoleSetStmt, AlterRoleSetStmt, alter_role_set_stmt, ALTER_ROLE_SET_STMT, AlterRoleSetStmt, alter_role_set_stmt);
112
+ READ_COND(CreateConversionStmt, CreateConversionStmt, create_conversion_stmt, CREATE_CONVERSION_STMT, CreateConversionStmt, create_conversion_stmt);
113
+ READ_COND(CreateCastStmt, CreateCastStmt, create_cast_stmt, CREATE_CAST_STMT, CreateCastStmt, create_cast_stmt);
114
+ READ_COND(CreateOpClassStmt, CreateOpClassStmt, create_op_class_stmt, CREATE_OP_CLASS_STMT, CreateOpClassStmt, create_op_class_stmt);
115
+ READ_COND(CreateOpFamilyStmt, CreateOpFamilyStmt, create_op_family_stmt, CREATE_OP_FAMILY_STMT, CreateOpFamilyStmt, create_op_family_stmt);
116
+ READ_COND(AlterOpFamilyStmt, AlterOpFamilyStmt, alter_op_family_stmt, ALTER_OP_FAMILY_STMT, AlterOpFamilyStmt, alter_op_family_stmt);
117
+ READ_COND(PrepareStmt, PrepareStmt, prepare_stmt, PREPARE_STMT, PrepareStmt, prepare_stmt);
118
+ READ_COND(ExecuteStmt, ExecuteStmt, execute_stmt, EXECUTE_STMT, ExecuteStmt, execute_stmt);
119
+ READ_COND(DeallocateStmt, DeallocateStmt, deallocate_stmt, DEALLOCATE_STMT, DeallocateStmt, deallocate_stmt);
120
+ READ_COND(DeclareCursorStmt, DeclareCursorStmt, declare_cursor_stmt, DECLARE_CURSOR_STMT, DeclareCursorStmt, declare_cursor_stmt);
121
+ READ_COND(CreateTableSpaceStmt, CreateTableSpaceStmt, create_table_space_stmt, CREATE_TABLE_SPACE_STMT, CreateTableSpaceStmt, create_table_space_stmt);
122
+ READ_COND(DropTableSpaceStmt, DropTableSpaceStmt, drop_table_space_stmt, DROP_TABLE_SPACE_STMT, DropTableSpaceStmt, drop_table_space_stmt);
123
+ READ_COND(AlterObjectDependsStmt, AlterObjectDependsStmt, alter_object_depends_stmt, ALTER_OBJECT_DEPENDS_STMT, AlterObjectDependsStmt, alter_object_depends_stmt);
124
+ READ_COND(AlterObjectSchemaStmt, AlterObjectSchemaStmt, alter_object_schema_stmt, ALTER_OBJECT_SCHEMA_STMT, AlterObjectSchemaStmt, alter_object_schema_stmt);
125
+ READ_COND(AlterOwnerStmt, AlterOwnerStmt, alter_owner_stmt, ALTER_OWNER_STMT, AlterOwnerStmt, alter_owner_stmt);
126
+ READ_COND(AlterOperatorStmt, AlterOperatorStmt, alter_operator_stmt, ALTER_OPERATOR_STMT, AlterOperatorStmt, alter_operator_stmt);
127
+ READ_COND(AlterTypeStmt, AlterTypeStmt, alter_type_stmt, ALTER_TYPE_STMT, AlterTypeStmt, alter_type_stmt);
128
+ READ_COND(DropOwnedStmt, DropOwnedStmt, drop_owned_stmt, DROP_OWNED_STMT, DropOwnedStmt, drop_owned_stmt);
129
+ READ_COND(ReassignOwnedStmt, ReassignOwnedStmt, reassign_owned_stmt, REASSIGN_OWNED_STMT, ReassignOwnedStmt, reassign_owned_stmt);
130
+ READ_COND(CompositeTypeStmt, CompositeTypeStmt, composite_type_stmt, COMPOSITE_TYPE_STMT, CompositeTypeStmt, composite_type_stmt);
131
+ READ_COND(CreateEnumStmt, CreateEnumStmt, create_enum_stmt, CREATE_ENUM_STMT, CreateEnumStmt, create_enum_stmt);
132
+ READ_COND(CreateRangeStmt, CreateRangeStmt, create_range_stmt, CREATE_RANGE_STMT, CreateRangeStmt, create_range_stmt);
133
+ READ_COND(AlterEnumStmt, AlterEnumStmt, alter_enum_stmt, ALTER_ENUM_STMT, AlterEnumStmt, alter_enum_stmt);
134
+ READ_COND(AlterTSDictionaryStmt, AlterTSDictionaryStmt, alter_tsdictionary_stmt, ALTER_TSDICTIONARY_STMT, AlterTSDictionaryStmt, alter_tsdictionary_stmt);
135
+ READ_COND(AlterTSConfigurationStmt, AlterTSConfigurationStmt, alter_tsconfiguration_stmt, ALTER_TSCONFIGURATION_STMT, AlterTSConfigurationStmt, alter_tsconfiguration_stmt);
136
+ READ_COND(CreateFdwStmt, CreateFdwStmt, create_fdw_stmt, CREATE_FDW_STMT, CreateFdwStmt, create_fdw_stmt);
137
+ READ_COND(AlterFdwStmt, AlterFdwStmt, alter_fdw_stmt, ALTER_FDW_STMT, AlterFdwStmt, alter_fdw_stmt);
138
+ READ_COND(CreateForeignServerStmt, CreateForeignServerStmt, create_foreign_server_stmt, CREATE_FOREIGN_SERVER_STMT, CreateForeignServerStmt, create_foreign_server_stmt);
139
+ READ_COND(AlterForeignServerStmt, AlterForeignServerStmt, alter_foreign_server_stmt, ALTER_FOREIGN_SERVER_STMT, AlterForeignServerStmt, alter_foreign_server_stmt);
140
+ READ_COND(CreateUserMappingStmt, CreateUserMappingStmt, create_user_mapping_stmt, CREATE_USER_MAPPING_STMT, CreateUserMappingStmt, create_user_mapping_stmt);
141
+ READ_COND(AlterUserMappingStmt, AlterUserMappingStmt, alter_user_mapping_stmt, ALTER_USER_MAPPING_STMT, AlterUserMappingStmt, alter_user_mapping_stmt);
142
+ READ_COND(DropUserMappingStmt, DropUserMappingStmt, drop_user_mapping_stmt, DROP_USER_MAPPING_STMT, DropUserMappingStmt, drop_user_mapping_stmt);
143
+ READ_COND(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt, alter_table_space_options_stmt, ALTER_TABLE_SPACE_OPTIONS_STMT, AlterTableSpaceOptionsStmt, alter_table_space_options_stmt);
144
+ READ_COND(AlterTableMoveAllStmt, AlterTableMoveAllStmt, alter_table_move_all_stmt, ALTER_TABLE_MOVE_ALL_STMT, AlterTableMoveAllStmt, alter_table_move_all_stmt);
145
+ READ_COND(SecLabelStmt, SecLabelStmt, sec_label_stmt, SEC_LABEL_STMT, SecLabelStmt, sec_label_stmt);
146
+ READ_COND(CreateForeignTableStmt, CreateForeignTableStmt, create_foreign_table_stmt, CREATE_FOREIGN_TABLE_STMT, CreateForeignTableStmt, create_foreign_table_stmt);
147
+ READ_COND(ImportForeignSchemaStmt, ImportForeignSchemaStmt, import_foreign_schema_stmt, IMPORT_FOREIGN_SCHEMA_STMT, ImportForeignSchemaStmt, import_foreign_schema_stmt);
148
+ READ_COND(CreateExtensionStmt, CreateExtensionStmt, create_extension_stmt, CREATE_EXTENSION_STMT, CreateExtensionStmt, create_extension_stmt);
149
+ READ_COND(AlterExtensionStmt, AlterExtensionStmt, alter_extension_stmt, ALTER_EXTENSION_STMT, AlterExtensionStmt, alter_extension_stmt);
150
+ READ_COND(AlterExtensionContentsStmt, AlterExtensionContentsStmt, alter_extension_contents_stmt, ALTER_EXTENSION_CONTENTS_STMT, AlterExtensionContentsStmt, alter_extension_contents_stmt);
151
+ READ_COND(CreateEventTrigStmt, CreateEventTrigStmt, create_event_trig_stmt, CREATE_EVENT_TRIG_STMT, CreateEventTrigStmt, create_event_trig_stmt);
152
+ READ_COND(AlterEventTrigStmt, AlterEventTrigStmt, alter_event_trig_stmt, ALTER_EVENT_TRIG_STMT, AlterEventTrigStmt, alter_event_trig_stmt);
153
+ READ_COND(RefreshMatViewStmt, RefreshMatViewStmt, refresh_mat_view_stmt, REFRESH_MAT_VIEW_STMT, RefreshMatViewStmt, refresh_mat_view_stmt);
154
+ READ_COND(ReplicaIdentityStmt, ReplicaIdentityStmt, replica_identity_stmt, REPLICA_IDENTITY_STMT, ReplicaIdentityStmt, replica_identity_stmt);
155
+ READ_COND(AlterSystemStmt, AlterSystemStmt, alter_system_stmt, ALTER_SYSTEM_STMT, AlterSystemStmt, alter_system_stmt);
156
+ READ_COND(CreatePolicyStmt, CreatePolicyStmt, create_policy_stmt, CREATE_POLICY_STMT, CreatePolicyStmt, create_policy_stmt);
157
+ READ_COND(AlterPolicyStmt, AlterPolicyStmt, alter_policy_stmt, ALTER_POLICY_STMT, AlterPolicyStmt, alter_policy_stmt);
158
+ READ_COND(CreateTransformStmt, CreateTransformStmt, create_transform_stmt, CREATE_TRANSFORM_STMT, CreateTransformStmt, create_transform_stmt);
159
+ READ_COND(CreateAmStmt, CreateAmStmt, create_am_stmt, CREATE_AM_STMT, CreateAmStmt, create_am_stmt);
160
+ READ_COND(CreatePublicationStmt, CreatePublicationStmt, create_publication_stmt, CREATE_PUBLICATION_STMT, CreatePublicationStmt, create_publication_stmt);
161
+ READ_COND(AlterPublicationStmt, AlterPublicationStmt, alter_publication_stmt, ALTER_PUBLICATION_STMT, AlterPublicationStmt, alter_publication_stmt);
162
+ READ_COND(CreateSubscriptionStmt, CreateSubscriptionStmt, create_subscription_stmt, CREATE_SUBSCRIPTION_STMT, CreateSubscriptionStmt, create_subscription_stmt);
163
+ READ_COND(AlterSubscriptionStmt, AlterSubscriptionStmt, alter_subscription_stmt, ALTER_SUBSCRIPTION_STMT, AlterSubscriptionStmt, alter_subscription_stmt);
164
+ READ_COND(DropSubscriptionStmt, DropSubscriptionStmt, drop_subscription_stmt, DROP_SUBSCRIPTION_STMT, DropSubscriptionStmt, drop_subscription_stmt);
165
+ READ_COND(CreateStatsStmt, CreateStatsStmt, create_stats_stmt, CREATE_STATS_STMT, CreateStatsStmt, create_stats_stmt);
166
+ READ_COND(AlterCollationStmt, AlterCollationStmt, alter_collation_stmt, ALTER_COLLATION_STMT, AlterCollationStmt, alter_collation_stmt);
167
+ READ_COND(CallStmt, CallStmt, call_stmt, CALL_STMT, CallStmt, call_stmt);
168
+ READ_COND(AlterStatsStmt, AlterStatsStmt, alter_stats_stmt, ALTER_STATS_STMT, AlterStatsStmt, alter_stats_stmt);
169
+ READ_COND(A_Expr, AExpr, a__expr, A_EXPR, A_Expr, a_expr);
170
+ READ_COND(ColumnRef, ColumnRef, column_ref, COLUMN_REF, ColumnRef, column_ref);
171
+ READ_COND(ParamRef, ParamRef, param_ref, PARAM_REF, ParamRef, param_ref);
172
+ READ_COND(A_Const, AConst, a__const, A_CONST, A_Const, a_const);
173
+ READ_COND(FuncCall, FuncCall, func_call, FUNC_CALL, FuncCall, func_call);
174
+ READ_COND(A_Star, AStar, a__star, A_STAR, A_Star, a_star);
175
+ READ_COND(A_Indices, AIndices, a__indices, A_INDICES, A_Indices, a_indices);
176
+ READ_COND(A_Indirection, AIndirection, a__indirection, A_INDIRECTION, A_Indirection, a_indirection);
177
+ READ_COND(A_ArrayExpr, AArrayExpr, a__array_expr, A_ARRAY_EXPR, A_ArrayExpr, a_array_expr);
178
+ READ_COND(ResTarget, ResTarget, res_target, RES_TARGET, ResTarget, res_target);
179
+ READ_COND(MultiAssignRef, MultiAssignRef, multi_assign_ref, MULTI_ASSIGN_REF, MultiAssignRef, multi_assign_ref);
180
+ READ_COND(TypeCast, TypeCast, type_cast, TYPE_CAST, TypeCast, type_cast);
181
+ READ_COND(CollateClause, CollateClause, collate_clause, COLLATE_CLAUSE, CollateClause, collate_clause);
182
+ READ_COND(SortBy, SortBy, sort_by, SORT_BY, SortBy, sort_by);
183
+ READ_COND(WindowDef, WindowDef, window_def, WINDOW_DEF, WindowDef, window_def);
184
+ READ_COND(RangeSubselect, RangeSubselect, range_subselect, RANGE_SUBSELECT, RangeSubselect, range_subselect);
185
+ READ_COND(RangeFunction, RangeFunction, range_function, RANGE_FUNCTION, RangeFunction, range_function);
186
+ READ_COND(RangeTableSample, RangeTableSample, range_table_sample, RANGE_TABLE_SAMPLE, RangeTableSample, range_table_sample);
187
+ READ_COND(RangeTableFunc, RangeTableFunc, range_table_func, RANGE_TABLE_FUNC, RangeTableFunc, range_table_func);
188
+ READ_COND(RangeTableFuncCol, RangeTableFuncCol, range_table_func_col, RANGE_TABLE_FUNC_COL, RangeTableFuncCol, range_table_func_col);
189
+ READ_COND(TypeName, TypeName, type_name, TYPE_NAME, TypeName, type_name);
190
+ READ_COND(ColumnDef, ColumnDef, column_def, COLUMN_DEF, ColumnDef, column_def);
191
+ READ_COND(IndexElem, IndexElem, index_elem, INDEX_ELEM, IndexElem, index_elem);
192
+ READ_COND(Constraint, Constraint, constraint, CONSTRAINT, Constraint, constraint);
193
+ READ_COND(DefElem, DefElem, def_elem, DEF_ELEM, DefElem, def_elem);
194
+ READ_COND(RangeTblEntry, RangeTblEntry, range_tbl_entry, RANGE_TBL_ENTRY, RangeTblEntry, range_tbl_entry);
195
+ READ_COND(RangeTblFunction, RangeTblFunction, range_tbl_function, RANGE_TBL_FUNCTION, RangeTblFunction, range_tbl_function);
196
+ READ_COND(TableSampleClause, TableSampleClause, table_sample_clause, TABLE_SAMPLE_CLAUSE, TableSampleClause, table_sample_clause);
197
+ READ_COND(WithCheckOption, WithCheckOption, with_check_option, WITH_CHECK_OPTION, WithCheckOption, with_check_option);
198
+ READ_COND(SortGroupClause, SortGroupClause, sort_group_clause, SORT_GROUP_CLAUSE, SortGroupClause, sort_group_clause);
199
+ READ_COND(GroupingSet, GroupingSet, grouping_set, GROUPING_SET, GroupingSet, grouping_set);
200
+ READ_COND(WindowClause, WindowClause, window_clause, WINDOW_CLAUSE, WindowClause, window_clause);
201
+ READ_COND(ObjectWithArgs, ObjectWithArgs, object_with_args, OBJECT_WITH_ARGS, ObjectWithArgs, object_with_args);
202
+ READ_COND(AccessPriv, AccessPriv, access_priv, ACCESS_PRIV, AccessPriv, access_priv);
203
+ READ_COND(CreateOpClassItem, CreateOpClassItem, create_op_class_item, CREATE_OP_CLASS_ITEM, CreateOpClassItem, create_op_class_item);
204
+ READ_COND(TableLikeClause, TableLikeClause, table_like_clause, TABLE_LIKE_CLAUSE, TableLikeClause, table_like_clause);
205
+ READ_COND(FunctionParameter, FunctionParameter, function_parameter, FUNCTION_PARAMETER, FunctionParameter, function_parameter);
206
+ READ_COND(LockingClause, LockingClause, locking_clause, LOCKING_CLAUSE, LockingClause, locking_clause);
207
+ READ_COND(RowMarkClause, RowMarkClause, row_mark_clause, ROW_MARK_CLAUSE, RowMarkClause, row_mark_clause);
208
+ READ_COND(XmlSerialize, XmlSerialize, xml_serialize, XML_SERIALIZE, XmlSerialize, xml_serialize);
209
+ READ_COND(WithClause, WithClause, with_clause, WITH_CLAUSE, WithClause, with_clause);
210
+ READ_COND(InferClause, InferClause, infer_clause, INFER_CLAUSE, InferClause, infer_clause);
211
+ READ_COND(OnConflictClause, OnConflictClause, on_conflict_clause, ON_CONFLICT_CLAUSE, OnConflictClause, on_conflict_clause);
212
+ READ_COND(CommonTableExpr, CommonTableExpr, common_table_expr, COMMON_TABLE_EXPR, CommonTableExpr, common_table_expr);
213
+ READ_COND(RoleSpec, RoleSpec, role_spec, ROLE_SPEC, RoleSpec, role_spec);
214
+ READ_COND(TriggerTransition, TriggerTransition, trigger_transition, TRIGGER_TRANSITION, TriggerTransition, trigger_transition);
215
+ READ_COND(PartitionElem, PartitionElem, partition_elem, PARTITION_ELEM, PartitionElem, partition_elem);
216
+ READ_COND(PartitionSpec, PartitionSpec, partition_spec, PARTITION_SPEC, PartitionSpec, partition_spec);
217
+ READ_COND(PartitionBoundSpec, PartitionBoundSpec, partition_bound_spec, PARTITION_BOUND_SPEC, PartitionBoundSpec, partition_bound_spec);
218
+ READ_COND(PartitionRangeDatum, PartitionRangeDatum, partition_range_datum, PARTITION_RANGE_DATUM, PartitionRangeDatum, partition_range_datum);
219
+ READ_COND(PartitionCmd, PartitionCmd, partition_cmd, PARTITION_CMD, PartitionCmd, partition_cmd);
220
+ READ_COND(VacuumRelation, VacuumRelation, vacuum_relation, VACUUM_RELATION, VacuumRelation, vacuum_relation);
221
+ READ_COND(InlineCodeBlock, InlineCodeBlock, inline_code_block, INLINE_CODE_BLOCK, InlineCodeBlock, inline_code_block);
222
+ READ_COND(CallContext, CallContext, call_context, CALL_CONTEXT, CallContext, call_context);
@@ -0,0 +1,2878 @@
1
+ // This file is autogenerated by ./scripts/generate_protobuf_and_funcs.rb
2
+
3
+ static Alias * _readAlias(OUT_TYPE(Alias, Alias) msg);
4
+ static RangeVar * _readRangeVar(OUT_TYPE(RangeVar, RangeVar) msg);
5
+ static TableFunc * _readTableFunc(OUT_TYPE(TableFunc, TableFunc) msg);
6
+ static Expr * _readExpr(OUT_TYPE(Expr, Expr) msg);
7
+ static Var * _readVar(OUT_TYPE(Var, Var) msg);
8
+ static Param * _readParam(OUT_TYPE(Param, Param) msg);
9
+ static Aggref * _readAggref(OUT_TYPE(Aggref, Aggref) msg);
10
+ static GroupingFunc * _readGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) msg);
11
+ static WindowFunc * _readWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) msg);
12
+ static SubscriptingRef * _readSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) msg);
13
+ static FuncExpr * _readFuncExpr(OUT_TYPE(FuncExpr, FuncExpr) msg);
14
+ static NamedArgExpr * _readNamedArgExpr(OUT_TYPE(NamedArgExpr, NamedArgExpr) msg);
15
+ static OpExpr * _readOpExpr(OUT_TYPE(OpExpr, OpExpr) msg);
16
+ static DistinctExpr * _readDistinctExpr(OUT_TYPE(DistinctExpr, DistinctExpr) msg);
17
+ static NullIfExpr * _readNullIfExpr(OUT_TYPE(NullIfExpr, NullIfExpr) msg);
18
+ static ScalarArrayOpExpr * _readScalarArrayOpExpr(OUT_TYPE(ScalarArrayOpExpr, ScalarArrayOpExpr) msg);
19
+ static BoolExpr * _readBoolExpr(OUT_TYPE(BoolExpr, BoolExpr) msg);
20
+ static SubLink * _readSubLink(OUT_TYPE(SubLink, SubLink) msg);
21
+ static SubPlan * _readSubPlan(OUT_TYPE(SubPlan, SubPlan) msg);
22
+ static AlternativeSubPlan * _readAlternativeSubPlan(OUT_TYPE(AlternativeSubPlan, AlternativeSubPlan) msg);
23
+ static FieldSelect * _readFieldSelect(OUT_TYPE(FieldSelect, FieldSelect) msg);
24
+ static FieldStore * _readFieldStore(OUT_TYPE(FieldStore, FieldStore) msg);
25
+ static RelabelType * _readRelabelType(OUT_TYPE(RelabelType, RelabelType) msg);
26
+ static CoerceViaIO * _readCoerceViaIO(OUT_TYPE(CoerceViaIO, CoerceViaIO) msg);
27
+ static ArrayCoerceExpr * _readArrayCoerceExpr(OUT_TYPE(ArrayCoerceExpr, ArrayCoerceExpr) msg);
28
+ static ConvertRowtypeExpr * _readConvertRowtypeExpr(OUT_TYPE(ConvertRowtypeExpr, ConvertRowtypeExpr) msg);
29
+ static CollateExpr * _readCollateExpr(OUT_TYPE(CollateExpr, CollateExpr) msg);
30
+ static CaseExpr * _readCaseExpr(OUT_TYPE(CaseExpr, CaseExpr) msg);
31
+ static CaseWhen * _readCaseWhen(OUT_TYPE(CaseWhen, CaseWhen) msg);
32
+ static CaseTestExpr * _readCaseTestExpr(OUT_TYPE(CaseTestExpr, CaseTestExpr) msg);
33
+ static ArrayExpr * _readArrayExpr(OUT_TYPE(ArrayExpr, ArrayExpr) msg);
34
+ static RowExpr * _readRowExpr(OUT_TYPE(RowExpr, RowExpr) msg);
35
+ static RowCompareExpr * _readRowCompareExpr(OUT_TYPE(RowCompareExpr, RowCompareExpr) msg);
36
+ static CoalesceExpr * _readCoalesceExpr(OUT_TYPE(CoalesceExpr, CoalesceExpr) msg);
37
+ static MinMaxExpr * _readMinMaxExpr(OUT_TYPE(MinMaxExpr, MinMaxExpr) msg);
38
+ static SQLValueFunction * _readSQLValueFunction(OUT_TYPE(SQLValueFunction, SQLValueFunction) msg);
39
+ static XmlExpr * _readXmlExpr(OUT_TYPE(XmlExpr, XmlExpr) msg);
40
+ static NullTest * _readNullTest(OUT_TYPE(NullTest, NullTest) msg);
41
+ static BooleanTest * _readBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) msg);
42
+ static CoerceToDomain * _readCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) msg);
43
+ static CoerceToDomainValue * _readCoerceToDomainValue(OUT_TYPE(CoerceToDomainValue, CoerceToDomainValue) msg);
44
+ static SetToDefault * _readSetToDefault(OUT_TYPE(SetToDefault, SetToDefault) msg);
45
+ static CurrentOfExpr * _readCurrentOfExpr(OUT_TYPE(CurrentOfExpr, CurrentOfExpr) msg);
46
+ static NextValueExpr * _readNextValueExpr(OUT_TYPE(NextValueExpr, NextValueExpr) msg);
47
+ static InferenceElem * _readInferenceElem(OUT_TYPE(InferenceElem, InferenceElem) msg);
48
+ static TargetEntry * _readTargetEntry(OUT_TYPE(TargetEntry, TargetEntry) msg);
49
+ static RangeTblRef * _readRangeTblRef(OUT_TYPE(RangeTblRef, RangeTblRef) msg);
50
+ static JoinExpr * _readJoinExpr(OUT_TYPE(JoinExpr, JoinExpr) msg);
51
+ static FromExpr * _readFromExpr(OUT_TYPE(FromExpr, FromExpr) msg);
52
+ static OnConflictExpr * _readOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) msg);
53
+ static IntoClause * _readIntoClause(OUT_TYPE(IntoClause, IntoClause) msg);
54
+ static RawStmt * _readRawStmt(OUT_TYPE(RawStmt, RawStmt) msg);
55
+ static Query * _readQuery(OUT_TYPE(Query, Query) msg);
56
+ static InsertStmt * _readInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) msg);
57
+ static DeleteStmt * _readDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) msg);
58
+ static UpdateStmt * _readUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) msg);
59
+ static SelectStmt * _readSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) msg);
60
+ static AlterTableStmt * _readAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) msg);
61
+ static AlterTableCmd * _readAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) msg);
62
+ static AlterDomainStmt * _readAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) msg);
63
+ static SetOperationStmt * _readSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) msg);
64
+ static GrantStmt * _readGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) msg);
65
+ static GrantRoleStmt * _readGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) msg);
66
+ static AlterDefaultPrivilegesStmt * _readAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) msg);
67
+ static ClosePortalStmt * _readClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) msg);
68
+ static ClusterStmt * _readClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) msg);
69
+ static CopyStmt * _readCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) msg);
70
+ static CreateStmt * _readCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) msg);
71
+ static DefineStmt * _readDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) msg);
72
+ static DropStmt * _readDropStmt(OUT_TYPE(DropStmt, DropStmt) msg);
73
+ static TruncateStmt * _readTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) msg);
74
+ static CommentStmt * _readCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) msg);
75
+ static FetchStmt * _readFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) msg);
76
+ static IndexStmt * _readIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) msg);
77
+ static CreateFunctionStmt * _readCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) msg);
78
+ static AlterFunctionStmt * _readAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) msg);
79
+ static DoStmt * _readDoStmt(OUT_TYPE(DoStmt, DoStmt) msg);
80
+ static RenameStmt * _readRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) msg);
81
+ static RuleStmt * _readRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) msg);
82
+ static NotifyStmt * _readNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) msg);
83
+ static ListenStmt * _readListenStmt(OUT_TYPE(ListenStmt, ListenStmt) msg);
84
+ static UnlistenStmt * _readUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) msg);
85
+ static TransactionStmt * _readTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) msg);
86
+ static ViewStmt * _readViewStmt(OUT_TYPE(ViewStmt, ViewStmt) msg);
87
+ static LoadStmt * _readLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) msg);
88
+ static CreateDomainStmt * _readCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) msg);
89
+ static CreatedbStmt * _readCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) msg);
90
+ static DropdbStmt * _readDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) msg);
91
+ static VacuumStmt * _readVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) msg);
92
+ static ExplainStmt * _readExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) msg);
93
+ static CreateTableAsStmt * _readCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) msg);
94
+ static CreateSeqStmt * _readCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) msg);
95
+ static AlterSeqStmt * _readAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) msg);
96
+ static VariableSetStmt * _readVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) msg);
97
+ static VariableShowStmt * _readVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) msg);
98
+ static DiscardStmt * _readDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) msg);
99
+ static CreateTrigStmt * _readCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) msg);
100
+ static CreatePLangStmt * _readCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) msg);
101
+ static CreateRoleStmt * _readCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) msg);
102
+ static AlterRoleStmt * _readAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) msg);
103
+ static DropRoleStmt * _readDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) msg);
104
+ static LockStmt * _readLockStmt(OUT_TYPE(LockStmt, LockStmt) msg);
105
+ static ConstraintsSetStmt * _readConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) msg);
106
+ static ReindexStmt * _readReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) msg);
107
+ static CheckPointStmt * _readCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) msg);
108
+ static CreateSchemaStmt * _readCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) msg);
109
+ static AlterDatabaseStmt * _readAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) msg);
110
+ static AlterDatabaseSetStmt * _readAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) msg);
111
+ static AlterRoleSetStmt * _readAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) msg);
112
+ static CreateConversionStmt * _readCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) msg);
113
+ static CreateCastStmt * _readCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) msg);
114
+ static CreateOpClassStmt * _readCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) msg);
115
+ static CreateOpFamilyStmt * _readCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) msg);
116
+ static AlterOpFamilyStmt * _readAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) msg);
117
+ static PrepareStmt * _readPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) msg);
118
+ static ExecuteStmt * _readExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) msg);
119
+ static DeallocateStmt * _readDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) msg);
120
+ static DeclareCursorStmt * _readDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) msg);
121
+ static CreateTableSpaceStmt * _readCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) msg);
122
+ static DropTableSpaceStmt * _readDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) msg);
123
+ static AlterObjectDependsStmt * _readAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) msg);
124
+ static AlterObjectSchemaStmt * _readAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) msg);
125
+ static AlterOwnerStmt * _readAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) msg);
126
+ static AlterOperatorStmt * _readAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) msg);
127
+ static AlterTypeStmt * _readAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) msg);
128
+ static DropOwnedStmt * _readDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) msg);
129
+ static ReassignOwnedStmt * _readReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) msg);
130
+ static CompositeTypeStmt * _readCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) msg);
131
+ static CreateEnumStmt * _readCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) msg);
132
+ static CreateRangeStmt * _readCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) msg);
133
+ static AlterEnumStmt * _readAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) msg);
134
+ static AlterTSDictionaryStmt * _readAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) msg);
135
+ static AlterTSConfigurationStmt * _readAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) msg);
136
+ static CreateFdwStmt * _readCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) msg);
137
+ static AlterFdwStmt * _readAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) msg);
138
+ static CreateForeignServerStmt * _readCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) msg);
139
+ static AlterForeignServerStmt * _readAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) msg);
140
+ static CreateUserMappingStmt * _readCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) msg);
141
+ static AlterUserMappingStmt * _readAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) msg);
142
+ static DropUserMappingStmt * _readDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) msg);
143
+ static AlterTableSpaceOptionsStmt * _readAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) msg);
144
+ static AlterTableMoveAllStmt * _readAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) msg);
145
+ static SecLabelStmt * _readSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) msg);
146
+ static CreateForeignTableStmt * _readCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) msg);
147
+ static ImportForeignSchemaStmt * _readImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) msg);
148
+ static CreateExtensionStmt * _readCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) msg);
149
+ static AlterExtensionStmt * _readAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) msg);
150
+ static AlterExtensionContentsStmt * _readAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) msg);
151
+ static CreateEventTrigStmt * _readCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) msg);
152
+ static AlterEventTrigStmt * _readAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) msg);
153
+ static RefreshMatViewStmt * _readRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) msg);
154
+ static ReplicaIdentityStmt * _readReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) msg);
155
+ static AlterSystemStmt * _readAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) msg);
156
+ static CreatePolicyStmt * _readCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) msg);
157
+ static AlterPolicyStmt * _readAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) msg);
158
+ static CreateTransformStmt * _readCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) msg);
159
+ static CreateAmStmt * _readCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) msg);
160
+ static CreatePublicationStmt * _readCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) msg);
161
+ static AlterPublicationStmt * _readAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) msg);
162
+ static CreateSubscriptionStmt * _readCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) msg);
163
+ static AlterSubscriptionStmt * _readAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) msg);
164
+ static DropSubscriptionStmt * _readDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) msg);
165
+ static CreateStatsStmt * _readCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) msg);
166
+ static AlterCollationStmt * _readAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) msg);
167
+ static CallStmt * _readCallStmt(OUT_TYPE(CallStmt, CallStmt) msg);
168
+ static AlterStatsStmt * _readAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) msg);
169
+ static A_Expr * _readAExpr(OUT_TYPE(A_Expr, AExpr) msg);
170
+ static ColumnRef * _readColumnRef(OUT_TYPE(ColumnRef, ColumnRef) msg);
171
+ static ParamRef * _readParamRef(OUT_TYPE(ParamRef, ParamRef) msg);
172
+ static A_Const * _readAConst(OUT_TYPE(A_Const, AConst) msg);
173
+ static FuncCall * _readFuncCall(OUT_TYPE(FuncCall, FuncCall) msg);
174
+ static A_Star * _readAStar(OUT_TYPE(A_Star, AStar) msg);
175
+ static A_Indices * _readAIndices(OUT_TYPE(A_Indices, AIndices) msg);
176
+ static A_Indirection * _readAIndirection(OUT_TYPE(A_Indirection, AIndirection) msg);
177
+ static A_ArrayExpr * _readAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) msg);
178
+ static ResTarget * _readResTarget(OUT_TYPE(ResTarget, ResTarget) msg);
179
+ static MultiAssignRef * _readMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) msg);
180
+ static TypeCast * _readTypeCast(OUT_TYPE(TypeCast, TypeCast) msg);
181
+ static CollateClause * _readCollateClause(OUT_TYPE(CollateClause, CollateClause) msg);
182
+ static SortBy * _readSortBy(OUT_TYPE(SortBy, SortBy) msg);
183
+ static WindowDef * _readWindowDef(OUT_TYPE(WindowDef, WindowDef) msg);
184
+ static RangeSubselect * _readRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) msg);
185
+ static RangeFunction * _readRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) msg);
186
+ static RangeTableSample * _readRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) msg);
187
+ static RangeTableFunc * _readRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) msg);
188
+ static RangeTableFuncCol * _readRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) msg);
189
+ static TypeName * _readTypeName(OUT_TYPE(TypeName, TypeName) msg);
190
+ static ColumnDef * _readColumnDef(OUT_TYPE(ColumnDef, ColumnDef) msg);
191
+ static IndexElem * _readIndexElem(OUT_TYPE(IndexElem, IndexElem) msg);
192
+ static Constraint * _readConstraint(OUT_TYPE(Constraint, Constraint) msg);
193
+ static DefElem * _readDefElem(OUT_TYPE(DefElem, DefElem) msg);
194
+ static RangeTblEntry * _readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg);
195
+ static RangeTblFunction * _readRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) msg);
196
+ static TableSampleClause * _readTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) msg);
197
+ static WithCheckOption * _readWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) msg);
198
+ static SortGroupClause * _readSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) msg);
199
+ static GroupingSet * _readGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) msg);
200
+ static WindowClause * _readWindowClause(OUT_TYPE(WindowClause, WindowClause) msg);
201
+ static ObjectWithArgs * _readObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) msg);
202
+ static AccessPriv * _readAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) msg);
203
+ static CreateOpClassItem * _readCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) msg);
204
+ static TableLikeClause * _readTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) msg);
205
+ static FunctionParameter * _readFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) msg);
206
+ static LockingClause * _readLockingClause(OUT_TYPE(LockingClause, LockingClause) msg);
207
+ static RowMarkClause * _readRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) msg);
208
+ static XmlSerialize * _readXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) msg);
209
+ static WithClause * _readWithClause(OUT_TYPE(WithClause, WithClause) msg);
210
+ static InferClause * _readInferClause(OUT_TYPE(InferClause, InferClause) msg);
211
+ static OnConflictClause * _readOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) msg);
212
+ static CommonTableExpr * _readCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) msg);
213
+ static RoleSpec * _readRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) msg);
214
+ static TriggerTransition * _readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg);
215
+ static PartitionElem * _readPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) msg);
216
+ static PartitionSpec * _readPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) msg);
217
+ static PartitionBoundSpec * _readPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) msg);
218
+ static PartitionRangeDatum * _readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg);
219
+ static PartitionCmd * _readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg);
220
+ static VacuumRelation * _readVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) msg);
221
+ static InlineCodeBlock * _readInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) msg);
222
+ static CallContext * _readCallContext(OUT_TYPE(CallContext, CallContext) msg);
223
+
224
+
225
+ static Alias *
226
+ _readAlias(OUT_TYPE(Alias, Alias) msg)
227
+ {
228
+ Alias *node = makeNode(Alias);
229
+ READ_STRING_FIELD(aliasname, aliasname, aliasname);
230
+ READ_LIST_FIELD(colnames, colnames, colnames);
231
+ return node;
232
+ }
233
+
234
+ static RangeVar *
235
+ _readRangeVar(OUT_TYPE(RangeVar, RangeVar) msg)
236
+ {
237
+ RangeVar *node = makeNode(RangeVar);
238
+ READ_STRING_FIELD(catalogname, catalogname, catalogname);
239
+ READ_STRING_FIELD(schemaname, schemaname, schemaname);
240
+ READ_STRING_FIELD(relname, relname, relname);
241
+ READ_BOOL_FIELD(inh, inh, inh);
242
+ READ_CHAR_FIELD(relpersistence, relpersistence, relpersistence);
243
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
244
+ READ_INT_FIELD(location, location, location);
245
+ return node;
246
+ }
247
+
248
+ static TableFunc *
249
+ _readTableFunc(OUT_TYPE(TableFunc, TableFunc) msg)
250
+ {
251
+ TableFunc *node = makeNode(TableFunc);
252
+ READ_LIST_FIELD(ns_uris, ns_uris, ns_uris);
253
+ READ_LIST_FIELD(ns_names, ns_names, ns_names);
254
+ READ_NODE_PTR_FIELD(docexpr, docexpr, docexpr);
255
+ READ_NODE_PTR_FIELD(rowexpr, rowexpr, rowexpr);
256
+ READ_LIST_FIELD(colnames, colnames, colnames);
257
+ READ_LIST_FIELD(coltypes, coltypes, coltypes);
258
+ READ_LIST_FIELD(coltypmods, coltypmods, coltypmods);
259
+ READ_LIST_FIELD(colcollations, colcollations, colcollations);
260
+ READ_LIST_FIELD(colexprs, colexprs, colexprs);
261
+ READ_LIST_FIELD(coldefexprs, coldefexprs, coldefexprs);
262
+ READ_BITMAPSET_FIELD(notnulls, notnulls, notnulls);
263
+ READ_INT_FIELD(ordinalitycol, ordinalitycol, ordinalitycol);
264
+ READ_INT_FIELD(location, location, location);
265
+ return node;
266
+ }
267
+
268
+ static Expr *
269
+ _readExpr(OUT_TYPE(Expr, Expr) msg)
270
+ {
271
+ Expr *node = makeNode(Expr);
272
+ return node;
273
+ }
274
+
275
+ static Var *
276
+ _readVar(OUT_TYPE(Var, Var) msg)
277
+ {
278
+ Var *node = makeNode(Var);
279
+ READ_UINT_FIELD(varno, varno, varno);
280
+ READ_INT_FIELD(varattno, varattno, varattno);
281
+ READ_UINT_FIELD(vartype, vartype, vartype);
282
+ READ_INT_FIELD(vartypmod, vartypmod, vartypmod);
283
+ READ_UINT_FIELD(varcollid, varcollid, varcollid);
284
+ READ_UINT_FIELD(varlevelsup, varlevelsup, varlevelsup);
285
+ READ_UINT_FIELD(varnosyn, varnosyn, varnosyn);
286
+ READ_INT_FIELD(varattnosyn, varattnosyn, varattnosyn);
287
+ READ_INT_FIELD(location, location, location);
288
+ return node;
289
+ }
290
+
291
+ static Param *
292
+ _readParam(OUT_TYPE(Param, Param) msg)
293
+ {
294
+ Param *node = makeNode(Param);
295
+ READ_ENUM_FIELD(ParamKind, paramkind, paramkind, paramkind);
296
+ READ_INT_FIELD(paramid, paramid, paramid);
297
+ READ_UINT_FIELD(paramtype, paramtype, paramtype);
298
+ READ_INT_FIELD(paramtypmod, paramtypmod, paramtypmod);
299
+ READ_UINT_FIELD(paramcollid, paramcollid, paramcollid);
300
+ READ_INT_FIELD(location, location, location);
301
+ return node;
302
+ }
303
+
304
+ static Aggref *
305
+ _readAggref(OUT_TYPE(Aggref, Aggref) msg)
306
+ {
307
+ Aggref *node = makeNode(Aggref);
308
+ READ_UINT_FIELD(aggfnoid, aggfnoid, aggfnoid);
309
+ READ_UINT_FIELD(aggtype, aggtype, aggtype);
310
+ READ_UINT_FIELD(aggcollid, aggcollid, aggcollid);
311
+ READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
312
+ READ_UINT_FIELD(aggtranstype, aggtranstype, aggtranstype);
313
+ READ_LIST_FIELD(aggargtypes, aggargtypes, aggargtypes);
314
+ READ_LIST_FIELD(aggdirectargs, aggdirectargs, aggdirectargs);
315
+ READ_LIST_FIELD(args, args, args);
316
+ READ_LIST_FIELD(aggorder, aggorder, aggorder);
317
+ READ_LIST_FIELD(aggdistinct, aggdistinct, aggdistinct);
318
+ READ_EXPR_PTR_FIELD(aggfilter, aggfilter, aggfilter);
319
+ READ_BOOL_FIELD(aggstar, aggstar, aggstar);
320
+ READ_BOOL_FIELD(aggvariadic, aggvariadic, aggvariadic);
321
+ READ_CHAR_FIELD(aggkind, aggkind, aggkind);
322
+ READ_UINT_FIELD(agglevelsup, agglevelsup, agglevelsup);
323
+ READ_ENUM_FIELD(AggSplit, aggsplit, aggsplit, aggsplit);
324
+ READ_INT_FIELD(location, location, location);
325
+ return node;
326
+ }
327
+
328
+ static GroupingFunc *
329
+ _readGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) msg)
330
+ {
331
+ GroupingFunc *node = makeNode(GroupingFunc);
332
+ READ_LIST_FIELD(args, args, args);
333
+ READ_LIST_FIELD(refs, refs, refs);
334
+ READ_LIST_FIELD(cols, cols, cols);
335
+ READ_UINT_FIELD(agglevelsup, agglevelsup, agglevelsup);
336
+ READ_INT_FIELD(location, location, location);
337
+ return node;
338
+ }
339
+
340
+ static WindowFunc *
341
+ _readWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) msg)
342
+ {
343
+ WindowFunc *node = makeNode(WindowFunc);
344
+ READ_UINT_FIELD(winfnoid, winfnoid, winfnoid);
345
+ READ_UINT_FIELD(wintype, wintype, wintype);
346
+ READ_UINT_FIELD(wincollid, wincollid, wincollid);
347
+ READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
348
+ READ_LIST_FIELD(args, args, args);
349
+ READ_EXPR_PTR_FIELD(aggfilter, aggfilter, aggfilter);
350
+ READ_UINT_FIELD(winref, winref, winref);
351
+ READ_BOOL_FIELD(winstar, winstar, winstar);
352
+ READ_BOOL_FIELD(winagg, winagg, winagg);
353
+ READ_INT_FIELD(location, location, location);
354
+ return node;
355
+ }
356
+
357
+ static SubscriptingRef *
358
+ _readSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) msg)
359
+ {
360
+ SubscriptingRef *node = makeNode(SubscriptingRef);
361
+ READ_UINT_FIELD(refcontainertype, refcontainertype, refcontainertype);
362
+ READ_UINT_FIELD(refelemtype, refelemtype, refelemtype);
363
+ READ_INT_FIELD(reftypmod, reftypmod, reftypmod);
364
+ READ_UINT_FIELD(refcollid, refcollid, refcollid);
365
+ READ_LIST_FIELD(refupperindexpr, refupperindexpr, refupperindexpr);
366
+ READ_LIST_FIELD(reflowerindexpr, reflowerindexpr, reflowerindexpr);
367
+ READ_EXPR_PTR_FIELD(refexpr, refexpr, refexpr);
368
+ READ_EXPR_PTR_FIELD(refassgnexpr, refassgnexpr, refassgnexpr);
369
+ return node;
370
+ }
371
+
372
+ static FuncExpr *
373
+ _readFuncExpr(OUT_TYPE(FuncExpr, FuncExpr) msg)
374
+ {
375
+ FuncExpr *node = makeNode(FuncExpr);
376
+ READ_UINT_FIELD(funcid, funcid, funcid);
377
+ READ_UINT_FIELD(funcresulttype, funcresulttype, funcresulttype);
378
+ READ_BOOL_FIELD(funcretset, funcretset, funcretset);
379
+ READ_BOOL_FIELD(funcvariadic, funcvariadic, funcvariadic);
380
+ READ_ENUM_FIELD(CoercionForm, funcformat, funcformat, funcformat);
381
+ READ_UINT_FIELD(funccollid, funccollid, funccollid);
382
+ READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
383
+ READ_LIST_FIELD(args, args, args);
384
+ READ_INT_FIELD(location, location, location);
385
+ return node;
386
+ }
387
+
388
+ static NamedArgExpr *
389
+ _readNamedArgExpr(OUT_TYPE(NamedArgExpr, NamedArgExpr) msg)
390
+ {
391
+ NamedArgExpr *node = makeNode(NamedArgExpr);
392
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
393
+ READ_STRING_FIELD(name, name, name);
394
+ READ_INT_FIELD(argnumber, argnumber, argnumber);
395
+ READ_INT_FIELD(location, location, location);
396
+ return node;
397
+ }
398
+
399
+ static OpExpr *
400
+ _readOpExpr(OUT_TYPE(OpExpr, OpExpr) msg)
401
+ {
402
+ OpExpr *node = makeNode(OpExpr);
403
+ READ_UINT_FIELD(opno, opno, opno);
404
+ READ_UINT_FIELD(opfuncid, opfuncid, opfuncid);
405
+ READ_UINT_FIELD(opresulttype, opresulttype, opresulttype);
406
+ READ_BOOL_FIELD(opretset, opretset, opretset);
407
+ READ_UINT_FIELD(opcollid, opcollid, opcollid);
408
+ READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
409
+ READ_LIST_FIELD(args, args, args);
410
+ READ_INT_FIELD(location, location, location);
411
+ return node;
412
+ }
413
+
414
+ static DistinctExpr *
415
+ _readDistinctExpr(OUT_TYPE(DistinctExpr, DistinctExpr) msg)
416
+ {
417
+ DistinctExpr *node = makeNode(DistinctExpr);
418
+ READ_UINT_FIELD(opno, opno, opno);
419
+ READ_UINT_FIELD(opfuncid, opfuncid, opfuncid);
420
+ READ_UINT_FIELD(opresulttype, opresulttype, opresulttype);
421
+ READ_BOOL_FIELD(opretset, opretset, opretset);
422
+ READ_UINT_FIELD(opcollid, opcollid, opcollid);
423
+ READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
424
+ READ_LIST_FIELD(args, args, args);
425
+ READ_INT_FIELD(location, location, location);
426
+ return node;
427
+ }
428
+
429
+ static NullIfExpr *
430
+ _readNullIfExpr(OUT_TYPE(NullIfExpr, NullIfExpr) msg)
431
+ {
432
+ NullIfExpr *node = makeNode(NullIfExpr);
433
+ READ_UINT_FIELD(opno, opno, opno);
434
+ READ_UINT_FIELD(opfuncid, opfuncid, opfuncid);
435
+ READ_UINT_FIELD(opresulttype, opresulttype, opresulttype);
436
+ READ_BOOL_FIELD(opretset, opretset, opretset);
437
+ READ_UINT_FIELD(opcollid, opcollid, opcollid);
438
+ READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
439
+ READ_LIST_FIELD(args, args, args);
440
+ READ_INT_FIELD(location, location, location);
441
+ return node;
442
+ }
443
+
444
+ static ScalarArrayOpExpr *
445
+ _readScalarArrayOpExpr(OUT_TYPE(ScalarArrayOpExpr, ScalarArrayOpExpr) msg)
446
+ {
447
+ ScalarArrayOpExpr *node = makeNode(ScalarArrayOpExpr);
448
+ READ_UINT_FIELD(opno, opno, opno);
449
+ READ_UINT_FIELD(opfuncid, opfuncid, opfuncid);
450
+ READ_BOOL_FIELD(use_or, useOr, useOr);
451
+ READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
452
+ READ_LIST_FIELD(args, args, args);
453
+ READ_INT_FIELD(location, location, location);
454
+ return node;
455
+ }
456
+
457
+ static BoolExpr *
458
+ _readBoolExpr(OUT_TYPE(BoolExpr, BoolExpr) msg)
459
+ {
460
+ BoolExpr *node = makeNode(BoolExpr);
461
+ READ_ENUM_FIELD(BoolExprType, boolop, boolop, boolop);
462
+ READ_LIST_FIELD(args, args, args);
463
+ READ_INT_FIELD(location, location, location);
464
+ return node;
465
+ }
466
+
467
+ static SubLink *
468
+ _readSubLink(OUT_TYPE(SubLink, SubLink) msg)
469
+ {
470
+ SubLink *node = makeNode(SubLink);
471
+ READ_ENUM_FIELD(SubLinkType, sub_link_type, subLinkType, subLinkType);
472
+ READ_INT_FIELD(sub_link_id, subLinkId, subLinkId);
473
+ READ_NODE_PTR_FIELD(testexpr, testexpr, testexpr);
474
+ READ_LIST_FIELD(oper_name, operName, operName);
475
+ READ_NODE_PTR_FIELD(subselect, subselect, subselect);
476
+ READ_INT_FIELD(location, location, location);
477
+ return node;
478
+ }
479
+
480
+ static SubPlan *
481
+ _readSubPlan(OUT_TYPE(SubPlan, SubPlan) msg)
482
+ {
483
+ SubPlan *node = makeNode(SubPlan);
484
+ READ_ENUM_FIELD(SubLinkType, sub_link_type, subLinkType, subLinkType);
485
+ READ_NODE_PTR_FIELD(testexpr, testexpr, testexpr);
486
+ READ_LIST_FIELD(param_ids, paramIds, paramIds);
487
+ READ_INT_FIELD(plan_id, plan_id, plan_id);
488
+ READ_STRING_FIELD(plan_name, plan_name, plan_name);
489
+ READ_UINT_FIELD(first_col_type, firstColType, firstColType);
490
+ READ_INT_FIELD(first_col_typmod, firstColTypmod, firstColTypmod);
491
+ READ_UINT_FIELD(first_col_collation, firstColCollation, firstColCollation);
492
+ READ_BOOL_FIELD(use_hash_table, useHashTable, useHashTable);
493
+ READ_BOOL_FIELD(unknown_eq_false, unknownEqFalse, unknownEqFalse);
494
+ READ_BOOL_FIELD(parallel_safe, parallel_safe, parallel_safe);
495
+ READ_LIST_FIELD(set_param, setParam, setParam);
496
+ READ_LIST_FIELD(par_param, parParam, parParam);
497
+ READ_LIST_FIELD(args, args, args);
498
+ READ_FLOAT_FIELD(startup_cost, startup_cost, startup_cost);
499
+ READ_FLOAT_FIELD(per_call_cost, per_call_cost, per_call_cost);
500
+ return node;
501
+ }
502
+
503
+ static AlternativeSubPlan *
504
+ _readAlternativeSubPlan(OUT_TYPE(AlternativeSubPlan, AlternativeSubPlan) msg)
505
+ {
506
+ AlternativeSubPlan *node = makeNode(AlternativeSubPlan);
507
+ READ_LIST_FIELD(subplans, subplans, subplans);
508
+ return node;
509
+ }
510
+
511
+ static FieldSelect *
512
+ _readFieldSelect(OUT_TYPE(FieldSelect, FieldSelect) msg)
513
+ {
514
+ FieldSelect *node = makeNode(FieldSelect);
515
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
516
+ READ_INT_FIELD(fieldnum, fieldnum, fieldnum);
517
+ READ_UINT_FIELD(resulttype, resulttype, resulttype);
518
+ READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod);
519
+ READ_UINT_FIELD(resultcollid, resultcollid, resultcollid);
520
+ return node;
521
+ }
522
+
523
+ static FieldStore *
524
+ _readFieldStore(OUT_TYPE(FieldStore, FieldStore) msg)
525
+ {
526
+ FieldStore *node = makeNode(FieldStore);
527
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
528
+ READ_LIST_FIELD(newvals, newvals, newvals);
529
+ READ_LIST_FIELD(fieldnums, fieldnums, fieldnums);
530
+ READ_UINT_FIELD(resulttype, resulttype, resulttype);
531
+ return node;
532
+ }
533
+
534
+ static RelabelType *
535
+ _readRelabelType(OUT_TYPE(RelabelType, RelabelType) msg)
536
+ {
537
+ RelabelType *node = makeNode(RelabelType);
538
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
539
+ READ_UINT_FIELD(resulttype, resulttype, resulttype);
540
+ READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod);
541
+ READ_UINT_FIELD(resultcollid, resultcollid, resultcollid);
542
+ READ_ENUM_FIELD(CoercionForm, relabelformat, relabelformat, relabelformat);
543
+ READ_INT_FIELD(location, location, location);
544
+ return node;
545
+ }
546
+
547
+ static CoerceViaIO *
548
+ _readCoerceViaIO(OUT_TYPE(CoerceViaIO, CoerceViaIO) msg)
549
+ {
550
+ CoerceViaIO *node = makeNode(CoerceViaIO);
551
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
552
+ READ_UINT_FIELD(resulttype, resulttype, resulttype);
553
+ READ_UINT_FIELD(resultcollid, resultcollid, resultcollid);
554
+ READ_ENUM_FIELD(CoercionForm, coerceformat, coerceformat, coerceformat);
555
+ READ_INT_FIELD(location, location, location);
556
+ return node;
557
+ }
558
+
559
+ static ArrayCoerceExpr *
560
+ _readArrayCoerceExpr(OUT_TYPE(ArrayCoerceExpr, ArrayCoerceExpr) msg)
561
+ {
562
+ ArrayCoerceExpr *node = makeNode(ArrayCoerceExpr);
563
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
564
+ READ_EXPR_PTR_FIELD(elemexpr, elemexpr, elemexpr);
565
+ READ_UINT_FIELD(resulttype, resulttype, resulttype);
566
+ READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod);
567
+ READ_UINT_FIELD(resultcollid, resultcollid, resultcollid);
568
+ READ_ENUM_FIELD(CoercionForm, coerceformat, coerceformat, coerceformat);
569
+ READ_INT_FIELD(location, location, location);
570
+ return node;
571
+ }
572
+
573
+ static ConvertRowtypeExpr *
574
+ _readConvertRowtypeExpr(OUT_TYPE(ConvertRowtypeExpr, ConvertRowtypeExpr) msg)
575
+ {
576
+ ConvertRowtypeExpr *node = makeNode(ConvertRowtypeExpr);
577
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
578
+ READ_UINT_FIELD(resulttype, resulttype, resulttype);
579
+ READ_ENUM_FIELD(CoercionForm, convertformat, convertformat, convertformat);
580
+ READ_INT_FIELD(location, location, location);
581
+ return node;
582
+ }
583
+
584
+ static CollateExpr *
585
+ _readCollateExpr(OUT_TYPE(CollateExpr, CollateExpr) msg)
586
+ {
587
+ CollateExpr *node = makeNode(CollateExpr);
588
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
589
+ READ_UINT_FIELD(coll_oid, collOid, collOid);
590
+ READ_INT_FIELD(location, location, location);
591
+ return node;
592
+ }
593
+
594
+ static CaseExpr *
595
+ _readCaseExpr(OUT_TYPE(CaseExpr, CaseExpr) msg)
596
+ {
597
+ CaseExpr *node = makeNode(CaseExpr);
598
+ READ_UINT_FIELD(casetype, casetype, casetype);
599
+ READ_UINT_FIELD(casecollid, casecollid, casecollid);
600
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
601
+ READ_LIST_FIELD(args, args, args);
602
+ READ_EXPR_PTR_FIELD(defresult, defresult, defresult);
603
+ READ_INT_FIELD(location, location, location);
604
+ return node;
605
+ }
606
+
607
+ static CaseWhen *
608
+ _readCaseWhen(OUT_TYPE(CaseWhen, CaseWhen) msg)
609
+ {
610
+ CaseWhen *node = makeNode(CaseWhen);
611
+ READ_EXPR_PTR_FIELD(expr, expr, expr);
612
+ READ_EXPR_PTR_FIELD(result, result, result);
613
+ READ_INT_FIELD(location, location, location);
614
+ return node;
615
+ }
616
+
617
+ static CaseTestExpr *
618
+ _readCaseTestExpr(OUT_TYPE(CaseTestExpr, CaseTestExpr) msg)
619
+ {
620
+ CaseTestExpr *node = makeNode(CaseTestExpr);
621
+ READ_UINT_FIELD(type_id, typeId, typeId);
622
+ READ_INT_FIELD(type_mod, typeMod, typeMod);
623
+ READ_UINT_FIELD(collation, collation, collation);
624
+ return node;
625
+ }
626
+
627
+ static ArrayExpr *
628
+ _readArrayExpr(OUT_TYPE(ArrayExpr, ArrayExpr) msg)
629
+ {
630
+ ArrayExpr *node = makeNode(ArrayExpr);
631
+ READ_UINT_FIELD(array_typeid, array_typeid, array_typeid);
632
+ READ_UINT_FIELD(array_collid, array_collid, array_collid);
633
+ READ_UINT_FIELD(element_typeid, element_typeid, element_typeid);
634
+ READ_LIST_FIELD(elements, elements, elements);
635
+ READ_BOOL_FIELD(multidims, multidims, multidims);
636
+ READ_INT_FIELD(location, location, location);
637
+ return node;
638
+ }
639
+
640
+ static RowExpr *
641
+ _readRowExpr(OUT_TYPE(RowExpr, RowExpr) msg)
642
+ {
643
+ RowExpr *node = makeNode(RowExpr);
644
+ READ_LIST_FIELD(args, args, args);
645
+ READ_UINT_FIELD(row_typeid, row_typeid, row_typeid);
646
+ READ_ENUM_FIELD(CoercionForm, row_format, row_format, row_format);
647
+ READ_LIST_FIELD(colnames, colnames, colnames);
648
+ READ_INT_FIELD(location, location, location);
649
+ return node;
650
+ }
651
+
652
+ static RowCompareExpr *
653
+ _readRowCompareExpr(OUT_TYPE(RowCompareExpr, RowCompareExpr) msg)
654
+ {
655
+ RowCompareExpr *node = makeNode(RowCompareExpr);
656
+ READ_ENUM_FIELD(RowCompareType, rctype, rctype, rctype);
657
+ READ_LIST_FIELD(opnos, opnos, opnos);
658
+ READ_LIST_FIELD(opfamilies, opfamilies, opfamilies);
659
+ READ_LIST_FIELD(inputcollids, inputcollids, inputcollids);
660
+ READ_LIST_FIELD(largs, largs, largs);
661
+ READ_LIST_FIELD(rargs, rargs, rargs);
662
+ return node;
663
+ }
664
+
665
+ static CoalesceExpr *
666
+ _readCoalesceExpr(OUT_TYPE(CoalesceExpr, CoalesceExpr) msg)
667
+ {
668
+ CoalesceExpr *node = makeNode(CoalesceExpr);
669
+ READ_UINT_FIELD(coalescetype, coalescetype, coalescetype);
670
+ READ_UINT_FIELD(coalescecollid, coalescecollid, coalescecollid);
671
+ READ_LIST_FIELD(args, args, args);
672
+ READ_INT_FIELD(location, location, location);
673
+ return node;
674
+ }
675
+
676
+ static MinMaxExpr *
677
+ _readMinMaxExpr(OUT_TYPE(MinMaxExpr, MinMaxExpr) msg)
678
+ {
679
+ MinMaxExpr *node = makeNode(MinMaxExpr);
680
+ READ_UINT_FIELD(minmaxtype, minmaxtype, minmaxtype);
681
+ READ_UINT_FIELD(minmaxcollid, minmaxcollid, minmaxcollid);
682
+ READ_UINT_FIELD(inputcollid, inputcollid, inputcollid);
683
+ READ_ENUM_FIELD(MinMaxOp, op, op, op);
684
+ READ_LIST_FIELD(args, args, args);
685
+ READ_INT_FIELD(location, location, location);
686
+ return node;
687
+ }
688
+
689
+ static SQLValueFunction *
690
+ _readSQLValueFunction(OUT_TYPE(SQLValueFunction, SQLValueFunction) msg)
691
+ {
692
+ SQLValueFunction *node = makeNode(SQLValueFunction);
693
+ READ_ENUM_FIELD(SQLValueFunctionOp, op, op, op);
694
+ READ_UINT_FIELD(type, type, type);
695
+ READ_INT_FIELD(typmod, typmod, typmod);
696
+ READ_INT_FIELD(location, location, location);
697
+ return node;
698
+ }
699
+
700
+ static XmlExpr *
701
+ _readXmlExpr(OUT_TYPE(XmlExpr, XmlExpr) msg)
702
+ {
703
+ XmlExpr *node = makeNode(XmlExpr);
704
+ READ_ENUM_FIELD(XmlExprOp, op, op, op);
705
+ READ_STRING_FIELD(name, name, name);
706
+ READ_LIST_FIELD(named_args, named_args, named_args);
707
+ READ_LIST_FIELD(arg_names, arg_names, arg_names);
708
+ READ_LIST_FIELD(args, args, args);
709
+ READ_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption);
710
+ READ_UINT_FIELD(type, type, type);
711
+ READ_INT_FIELD(typmod, typmod, typmod);
712
+ READ_INT_FIELD(location, location, location);
713
+ return node;
714
+ }
715
+
716
+ static NullTest *
717
+ _readNullTest(OUT_TYPE(NullTest, NullTest) msg)
718
+ {
719
+ NullTest *node = makeNode(NullTest);
720
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
721
+ READ_ENUM_FIELD(NullTestType, nulltesttype, nulltesttype, nulltesttype);
722
+ READ_BOOL_FIELD(argisrow, argisrow, argisrow);
723
+ READ_INT_FIELD(location, location, location);
724
+ return node;
725
+ }
726
+
727
+ static BooleanTest *
728
+ _readBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) msg)
729
+ {
730
+ BooleanTest *node = makeNode(BooleanTest);
731
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
732
+ READ_ENUM_FIELD(BoolTestType, booltesttype, booltesttype, booltesttype);
733
+ READ_INT_FIELD(location, location, location);
734
+ return node;
735
+ }
736
+
737
+ static CoerceToDomain *
738
+ _readCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) msg)
739
+ {
740
+ CoerceToDomain *node = makeNode(CoerceToDomain);
741
+ READ_EXPR_PTR_FIELD(arg, arg, arg);
742
+ READ_UINT_FIELD(resulttype, resulttype, resulttype);
743
+ READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod);
744
+ READ_UINT_FIELD(resultcollid, resultcollid, resultcollid);
745
+ READ_ENUM_FIELD(CoercionForm, coercionformat, coercionformat, coercionformat);
746
+ READ_INT_FIELD(location, location, location);
747
+ return node;
748
+ }
749
+
750
+ static CoerceToDomainValue *
751
+ _readCoerceToDomainValue(OUT_TYPE(CoerceToDomainValue, CoerceToDomainValue) msg)
752
+ {
753
+ CoerceToDomainValue *node = makeNode(CoerceToDomainValue);
754
+ READ_UINT_FIELD(type_id, typeId, typeId);
755
+ READ_INT_FIELD(type_mod, typeMod, typeMod);
756
+ READ_UINT_FIELD(collation, collation, collation);
757
+ READ_INT_FIELD(location, location, location);
758
+ return node;
759
+ }
760
+
761
+ static SetToDefault *
762
+ _readSetToDefault(OUT_TYPE(SetToDefault, SetToDefault) msg)
763
+ {
764
+ SetToDefault *node = makeNode(SetToDefault);
765
+ READ_UINT_FIELD(type_id, typeId, typeId);
766
+ READ_INT_FIELD(type_mod, typeMod, typeMod);
767
+ READ_UINT_FIELD(collation, collation, collation);
768
+ READ_INT_FIELD(location, location, location);
769
+ return node;
770
+ }
771
+
772
+ static CurrentOfExpr *
773
+ _readCurrentOfExpr(OUT_TYPE(CurrentOfExpr, CurrentOfExpr) msg)
774
+ {
775
+ CurrentOfExpr *node = makeNode(CurrentOfExpr);
776
+ READ_UINT_FIELD(cvarno, cvarno, cvarno);
777
+ READ_STRING_FIELD(cursor_name, cursor_name, cursor_name);
778
+ READ_INT_FIELD(cursor_param, cursor_param, cursor_param);
779
+ return node;
780
+ }
781
+
782
+ static NextValueExpr *
783
+ _readNextValueExpr(OUT_TYPE(NextValueExpr, NextValueExpr) msg)
784
+ {
785
+ NextValueExpr *node = makeNode(NextValueExpr);
786
+ READ_UINT_FIELD(seqid, seqid, seqid);
787
+ READ_UINT_FIELD(type_id, typeId, typeId);
788
+ return node;
789
+ }
790
+
791
+ static InferenceElem *
792
+ _readInferenceElem(OUT_TYPE(InferenceElem, InferenceElem) msg)
793
+ {
794
+ InferenceElem *node = makeNode(InferenceElem);
795
+ READ_NODE_PTR_FIELD(expr, expr, expr);
796
+ READ_UINT_FIELD(infercollid, infercollid, infercollid);
797
+ READ_UINT_FIELD(inferopclass, inferopclass, inferopclass);
798
+ return node;
799
+ }
800
+
801
+ static TargetEntry *
802
+ _readTargetEntry(OUT_TYPE(TargetEntry, TargetEntry) msg)
803
+ {
804
+ TargetEntry *node = makeNode(TargetEntry);
805
+ READ_EXPR_PTR_FIELD(expr, expr, expr);
806
+ READ_INT_FIELD(resno, resno, resno);
807
+ READ_STRING_FIELD(resname, resname, resname);
808
+ READ_UINT_FIELD(ressortgroupref, ressortgroupref, ressortgroupref);
809
+ READ_UINT_FIELD(resorigtbl, resorigtbl, resorigtbl);
810
+ READ_INT_FIELD(resorigcol, resorigcol, resorigcol);
811
+ READ_BOOL_FIELD(resjunk, resjunk, resjunk);
812
+ return node;
813
+ }
814
+
815
+ static RangeTblRef *
816
+ _readRangeTblRef(OUT_TYPE(RangeTblRef, RangeTblRef) msg)
817
+ {
818
+ RangeTblRef *node = makeNode(RangeTblRef);
819
+ READ_INT_FIELD(rtindex, rtindex, rtindex);
820
+ return node;
821
+ }
822
+
823
+ static JoinExpr *
824
+ _readJoinExpr(OUT_TYPE(JoinExpr, JoinExpr) msg)
825
+ {
826
+ JoinExpr *node = makeNode(JoinExpr);
827
+ READ_ENUM_FIELD(JoinType, jointype, jointype, jointype);
828
+ READ_BOOL_FIELD(is_natural, isNatural, isNatural);
829
+ READ_NODE_PTR_FIELD(larg, larg, larg);
830
+ READ_NODE_PTR_FIELD(rarg, rarg, rarg);
831
+ READ_LIST_FIELD(using_clause, usingClause, usingClause);
832
+ READ_NODE_PTR_FIELD(quals, quals, quals);
833
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
834
+ READ_INT_FIELD(rtindex, rtindex, rtindex);
835
+ return node;
836
+ }
837
+
838
+ static FromExpr *
839
+ _readFromExpr(OUT_TYPE(FromExpr, FromExpr) msg)
840
+ {
841
+ FromExpr *node = makeNode(FromExpr);
842
+ READ_LIST_FIELD(fromlist, fromlist, fromlist);
843
+ READ_NODE_PTR_FIELD(quals, quals, quals);
844
+ return node;
845
+ }
846
+
847
+ static OnConflictExpr *
848
+ _readOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) msg)
849
+ {
850
+ OnConflictExpr *node = makeNode(OnConflictExpr);
851
+ READ_ENUM_FIELD(OnConflictAction, action, action, action);
852
+ READ_LIST_FIELD(arbiter_elems, arbiterElems, arbiterElems);
853
+ READ_NODE_PTR_FIELD(arbiter_where, arbiterWhere, arbiterWhere);
854
+ READ_UINT_FIELD(constraint, constraint, constraint);
855
+ READ_LIST_FIELD(on_conflict_set, onConflictSet, onConflictSet);
856
+ READ_NODE_PTR_FIELD(on_conflict_where, onConflictWhere, onConflictWhere);
857
+ READ_INT_FIELD(excl_rel_index, exclRelIndex, exclRelIndex);
858
+ READ_LIST_FIELD(excl_rel_tlist, exclRelTlist, exclRelTlist);
859
+ return node;
860
+ }
861
+
862
+ static IntoClause *
863
+ _readIntoClause(OUT_TYPE(IntoClause, IntoClause) msg)
864
+ {
865
+ IntoClause *node = makeNode(IntoClause);
866
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, rel, rel, rel);
867
+ READ_LIST_FIELD(col_names, colNames, colNames);
868
+ READ_STRING_FIELD(access_method, accessMethod, accessMethod);
869
+ READ_LIST_FIELD(options, options, options);
870
+ READ_ENUM_FIELD(OnCommitAction, on_commit, onCommit, onCommit);
871
+ READ_STRING_FIELD(table_space_name, tableSpaceName, tableSpaceName);
872
+ READ_NODE_PTR_FIELD(view_query, viewQuery, viewQuery);
873
+ READ_BOOL_FIELD(skip_data, skipData, skipData);
874
+ return node;
875
+ }
876
+
877
+ static RawStmt *
878
+ _readRawStmt(OUT_TYPE(RawStmt, RawStmt) msg)
879
+ {
880
+ RawStmt *node = makeNode(RawStmt);
881
+ READ_NODE_PTR_FIELD(stmt, stmt, stmt);
882
+ READ_INT_FIELD(stmt_location, stmt_location, stmt_location);
883
+ READ_INT_FIELD(stmt_len, stmt_len, stmt_len);
884
+ return node;
885
+ }
886
+
887
+ static Query *
888
+ _readQuery(OUT_TYPE(Query, Query) msg)
889
+ {
890
+ Query *node = makeNode(Query);
891
+ READ_ENUM_FIELD(CmdType, command_type, commandType, commandType);
892
+ READ_ENUM_FIELD(QuerySource, query_source, querySource, querySource);
893
+ READ_BOOL_FIELD(can_set_tag, canSetTag, canSetTag);
894
+ READ_NODE_PTR_FIELD(utility_stmt, utilityStmt, utilityStmt);
895
+ READ_INT_FIELD(result_relation, resultRelation, resultRelation);
896
+ READ_BOOL_FIELD(has_aggs, hasAggs, hasAggs);
897
+ READ_BOOL_FIELD(has_window_funcs, hasWindowFuncs, hasWindowFuncs);
898
+ READ_BOOL_FIELD(has_target_srfs, hasTargetSRFs, hasTargetSRFs);
899
+ READ_BOOL_FIELD(has_sub_links, hasSubLinks, hasSubLinks);
900
+ READ_BOOL_FIELD(has_distinct_on, hasDistinctOn, hasDistinctOn);
901
+ READ_BOOL_FIELD(has_recursive, hasRecursive, hasRecursive);
902
+ READ_BOOL_FIELD(has_modifying_cte, hasModifyingCTE, hasModifyingCTE);
903
+ READ_BOOL_FIELD(has_for_update, hasForUpdate, hasForUpdate);
904
+ READ_BOOL_FIELD(has_row_security, hasRowSecurity, hasRowSecurity);
905
+ READ_LIST_FIELD(cte_list, cteList, cteList);
906
+ READ_LIST_FIELD(rtable, rtable, rtable);
907
+ READ_SPECIFIC_NODE_PTR_FIELD(FromExpr, from_expr, jointree, jointree, jointree);
908
+ READ_LIST_FIELD(target_list, targetList, targetList);
909
+ READ_ENUM_FIELD(OverridingKind, override, override, override);
910
+ READ_SPECIFIC_NODE_PTR_FIELD(OnConflictExpr, on_conflict_expr, on_conflict, onConflict, onConflict);
911
+ READ_LIST_FIELD(returning_list, returningList, returningList);
912
+ READ_LIST_FIELD(group_clause, groupClause, groupClause);
913
+ READ_LIST_FIELD(grouping_sets, groupingSets, groupingSets);
914
+ READ_NODE_PTR_FIELD(having_qual, havingQual, havingQual);
915
+ READ_LIST_FIELD(window_clause, windowClause, windowClause);
916
+ READ_LIST_FIELD(distinct_clause, distinctClause, distinctClause);
917
+ READ_LIST_FIELD(sort_clause, sortClause, sortClause);
918
+ READ_NODE_PTR_FIELD(limit_offset, limitOffset, limitOffset);
919
+ READ_NODE_PTR_FIELD(limit_count, limitCount, limitCount);
920
+ READ_ENUM_FIELD(LimitOption, limit_option, limitOption, limitOption);
921
+ READ_LIST_FIELD(row_marks, rowMarks, rowMarks);
922
+ READ_NODE_PTR_FIELD(set_operations, setOperations, setOperations);
923
+ READ_LIST_FIELD(constraint_deps, constraintDeps, constraintDeps);
924
+ READ_LIST_FIELD(with_check_options, withCheckOptions, withCheckOptions);
925
+ READ_INT_FIELD(stmt_location, stmt_location, stmt_location);
926
+ READ_INT_FIELD(stmt_len, stmt_len, stmt_len);
927
+ return node;
928
+ }
929
+
930
+ static InsertStmt *
931
+ _readInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) msg)
932
+ {
933
+ InsertStmt *node = makeNode(InsertStmt);
934
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
935
+ READ_LIST_FIELD(cols, cols, cols);
936
+ READ_NODE_PTR_FIELD(select_stmt, selectStmt, selectStmt);
937
+ READ_SPECIFIC_NODE_PTR_FIELD(OnConflictClause, on_conflict_clause, on_conflict_clause, onConflictClause, onConflictClause);
938
+ READ_LIST_FIELD(returning_list, returningList, returningList);
939
+ READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
940
+ READ_ENUM_FIELD(OverridingKind, override, override, override);
941
+ return node;
942
+ }
943
+
944
+ static DeleteStmt *
945
+ _readDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) msg)
946
+ {
947
+ DeleteStmt *node = makeNode(DeleteStmt);
948
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
949
+ READ_LIST_FIELD(using_clause, usingClause, usingClause);
950
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
951
+ READ_LIST_FIELD(returning_list, returningList, returningList);
952
+ READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
953
+ return node;
954
+ }
955
+
956
+ static UpdateStmt *
957
+ _readUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) msg)
958
+ {
959
+ UpdateStmt *node = makeNode(UpdateStmt);
960
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
961
+ READ_LIST_FIELD(target_list, targetList, targetList);
962
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
963
+ READ_LIST_FIELD(from_clause, fromClause, fromClause);
964
+ READ_LIST_FIELD(returning_list, returningList, returningList);
965
+ READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
966
+ return node;
967
+ }
968
+
969
+ static SelectStmt *
970
+ _readSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) msg)
971
+ {
972
+ SelectStmt *node = makeNode(SelectStmt);
973
+ READ_LIST_FIELD(distinct_clause, distinctClause, distinctClause);
974
+ READ_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into_clause, intoClause, intoClause);
975
+ READ_LIST_FIELD(target_list, targetList, targetList);
976
+ READ_LIST_FIELD(from_clause, fromClause, fromClause);
977
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
978
+ READ_LIST_FIELD(group_clause, groupClause, groupClause);
979
+ READ_NODE_PTR_FIELD(having_clause, havingClause, havingClause);
980
+ READ_LIST_FIELD(window_clause, windowClause, windowClause);
981
+ READ_LIST_FIELD(values_lists, valuesLists, valuesLists);
982
+ READ_LIST_FIELD(sort_clause, sortClause, sortClause);
983
+ READ_NODE_PTR_FIELD(limit_offset, limitOffset, limitOffset);
984
+ READ_NODE_PTR_FIELD(limit_count, limitCount, limitCount);
985
+ READ_ENUM_FIELD(LimitOption, limit_option, limitOption, limitOption);
986
+ READ_LIST_FIELD(locking_clause, lockingClause, lockingClause);
987
+ READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause);
988
+ READ_ENUM_FIELD(SetOperation, op, op, op);
989
+ READ_BOOL_FIELD(all, all, all);
990
+ READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, larg, larg, larg);
991
+ READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, rarg, rarg, rarg);
992
+ return node;
993
+ }
994
+
995
+ static AlterTableStmt *
996
+ _readAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) msg)
997
+ {
998
+ AlterTableStmt *node = makeNode(AlterTableStmt);
999
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1000
+ READ_LIST_FIELD(cmds, cmds, cmds);
1001
+ READ_ENUM_FIELD(ObjectType, relkind, relkind, relkind);
1002
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1003
+ return node;
1004
+ }
1005
+
1006
+ static AlterTableCmd *
1007
+ _readAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) msg)
1008
+ {
1009
+ AlterTableCmd *node = makeNode(AlterTableCmd);
1010
+ READ_ENUM_FIELD(AlterTableType, subtype, subtype, subtype);
1011
+ READ_STRING_FIELD(name, name, name);
1012
+ READ_INT_FIELD(num, num, num);
1013
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner);
1014
+ READ_NODE_PTR_FIELD(def, def, def);
1015
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1016
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1017
+ return node;
1018
+ }
1019
+
1020
+ static AlterDomainStmt *
1021
+ _readAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) msg)
1022
+ {
1023
+ AlterDomainStmt *node = makeNode(AlterDomainStmt);
1024
+ READ_CHAR_FIELD(subtype, subtype, subtype);
1025
+ READ_LIST_FIELD(type_name, typeName, typeName);
1026
+ READ_STRING_FIELD(name, name, name);
1027
+ READ_NODE_PTR_FIELD(def, def, def);
1028
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1029
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1030
+ return node;
1031
+ }
1032
+
1033
+ static SetOperationStmt *
1034
+ _readSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) msg)
1035
+ {
1036
+ SetOperationStmt *node = makeNode(SetOperationStmt);
1037
+ READ_ENUM_FIELD(SetOperation, op, op, op);
1038
+ READ_BOOL_FIELD(all, all, all);
1039
+ READ_NODE_PTR_FIELD(larg, larg, larg);
1040
+ READ_NODE_PTR_FIELD(rarg, rarg, rarg);
1041
+ READ_LIST_FIELD(col_types, colTypes, colTypes);
1042
+ READ_LIST_FIELD(col_typmods, colTypmods, colTypmods);
1043
+ READ_LIST_FIELD(col_collations, colCollations, colCollations);
1044
+ READ_LIST_FIELD(group_clauses, groupClauses, groupClauses);
1045
+ return node;
1046
+ }
1047
+
1048
+ static GrantStmt *
1049
+ _readGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) msg)
1050
+ {
1051
+ GrantStmt *node = makeNode(GrantStmt);
1052
+ READ_BOOL_FIELD(is_grant, is_grant, is_grant);
1053
+ READ_ENUM_FIELD(GrantTargetType, targtype, targtype, targtype);
1054
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1055
+ READ_LIST_FIELD(objects, objects, objects);
1056
+ READ_LIST_FIELD(privileges, privileges, privileges);
1057
+ READ_LIST_FIELD(grantees, grantees, grantees);
1058
+ READ_BOOL_FIELD(grant_option, grant_option, grant_option);
1059
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1060
+ return node;
1061
+ }
1062
+
1063
+ static GrantRoleStmt *
1064
+ _readGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) msg)
1065
+ {
1066
+ GrantRoleStmt *node = makeNode(GrantRoleStmt);
1067
+ READ_LIST_FIELD(granted_roles, granted_roles, granted_roles);
1068
+ READ_LIST_FIELD(grantee_roles, grantee_roles, grantee_roles);
1069
+ READ_BOOL_FIELD(is_grant, is_grant, is_grant);
1070
+ READ_BOOL_FIELD(admin_opt, admin_opt, admin_opt);
1071
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor);
1072
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1073
+ return node;
1074
+ }
1075
+
1076
+ static AlterDefaultPrivilegesStmt *
1077
+ _readAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) msg)
1078
+ {
1079
+ AlterDefaultPrivilegesStmt *node = makeNode(AlterDefaultPrivilegesStmt);
1080
+ READ_LIST_FIELD(options, options, options);
1081
+ READ_SPECIFIC_NODE_PTR_FIELD(GrantStmt, grant_stmt, action, action, action);
1082
+ return node;
1083
+ }
1084
+
1085
+ static ClosePortalStmt *
1086
+ _readClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) msg)
1087
+ {
1088
+ ClosePortalStmt *node = makeNode(ClosePortalStmt);
1089
+ READ_STRING_FIELD(portalname, portalname, portalname);
1090
+ return node;
1091
+ }
1092
+
1093
+ static ClusterStmt *
1094
+ _readClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) msg)
1095
+ {
1096
+ ClusterStmt *node = makeNode(ClusterStmt);
1097
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1098
+ READ_STRING_FIELD(indexname, indexname, indexname);
1099
+ READ_INT_FIELD(options, options, options);
1100
+ return node;
1101
+ }
1102
+
1103
+ static CopyStmt *
1104
+ _readCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) msg)
1105
+ {
1106
+ CopyStmt *node = makeNode(CopyStmt);
1107
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1108
+ READ_NODE_PTR_FIELD(query, query, query);
1109
+ READ_LIST_FIELD(attlist, attlist, attlist);
1110
+ READ_BOOL_FIELD(is_from, is_from, is_from);
1111
+ READ_BOOL_FIELD(is_program, is_program, is_program);
1112
+ READ_STRING_FIELD(filename, filename, filename);
1113
+ READ_LIST_FIELD(options, options, options);
1114
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1115
+ return node;
1116
+ }
1117
+
1118
+ static CreateStmt *
1119
+ _readCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) msg)
1120
+ {
1121
+ CreateStmt *node = makeNode(CreateStmt);
1122
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1123
+ READ_LIST_FIELD(table_elts, tableElts, tableElts);
1124
+ READ_LIST_FIELD(inh_relations, inhRelations, inhRelations);
1125
+ READ_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, partbound, partbound, partbound);
1126
+ READ_SPECIFIC_NODE_PTR_FIELD(PartitionSpec, partition_spec, partspec, partspec, partspec);
1127
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, of_typename, ofTypename, ofTypename);
1128
+ READ_LIST_FIELD(constraints, constraints, constraints);
1129
+ READ_LIST_FIELD(options, options, options);
1130
+ READ_ENUM_FIELD(OnCommitAction, oncommit, oncommit, oncommit);
1131
+ READ_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1132
+ READ_STRING_FIELD(access_method, accessMethod, accessMethod);
1133
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1134
+ return node;
1135
+ }
1136
+
1137
+ static DefineStmt *
1138
+ _readDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) msg)
1139
+ {
1140
+ DefineStmt *node = makeNode(DefineStmt);
1141
+ READ_ENUM_FIELD(ObjectType, kind, kind, kind);
1142
+ READ_BOOL_FIELD(oldstyle, oldstyle, oldstyle);
1143
+ READ_LIST_FIELD(defnames, defnames, defnames);
1144
+ READ_LIST_FIELD(args, args, args);
1145
+ READ_LIST_FIELD(definition, definition, definition);
1146
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1147
+ READ_BOOL_FIELD(replace, replace, replace);
1148
+ return node;
1149
+ }
1150
+
1151
+ static DropStmt *
1152
+ _readDropStmt(OUT_TYPE(DropStmt, DropStmt) msg)
1153
+ {
1154
+ DropStmt *node = makeNode(DropStmt);
1155
+ READ_LIST_FIELD(objects, objects, objects);
1156
+ READ_ENUM_FIELD(ObjectType, remove_type, removeType, removeType);
1157
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1158
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1159
+ READ_BOOL_FIELD(concurrent, concurrent, concurrent);
1160
+ return node;
1161
+ }
1162
+
1163
+ static TruncateStmt *
1164
+ _readTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) msg)
1165
+ {
1166
+ TruncateStmt *node = makeNode(TruncateStmt);
1167
+ READ_LIST_FIELD(relations, relations, relations);
1168
+ READ_BOOL_FIELD(restart_seqs, restart_seqs, restart_seqs);
1169
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1170
+ return node;
1171
+ }
1172
+
1173
+ static CommentStmt *
1174
+ _readCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) msg)
1175
+ {
1176
+ CommentStmt *node = makeNode(CommentStmt);
1177
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1178
+ READ_NODE_PTR_FIELD(object, object, object);
1179
+ READ_STRING_FIELD(comment, comment, comment);
1180
+ return node;
1181
+ }
1182
+
1183
+ static FetchStmt *
1184
+ _readFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) msg)
1185
+ {
1186
+ FetchStmt *node = makeNode(FetchStmt);
1187
+ READ_ENUM_FIELD(FetchDirection, direction, direction, direction);
1188
+ READ_LONG_FIELD(how_many, howMany, howMany);
1189
+ READ_STRING_FIELD(portalname, portalname, portalname);
1190
+ READ_BOOL_FIELD(ismove, ismove, ismove);
1191
+ return node;
1192
+ }
1193
+
1194
+ static IndexStmt *
1195
+ _readIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) msg)
1196
+ {
1197
+ IndexStmt *node = makeNode(IndexStmt);
1198
+ READ_STRING_FIELD(idxname, idxname, idxname);
1199
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1200
+ READ_STRING_FIELD(access_method, accessMethod, accessMethod);
1201
+ READ_STRING_FIELD(table_space, tableSpace, tableSpace);
1202
+ READ_LIST_FIELD(index_params, indexParams, indexParams);
1203
+ READ_LIST_FIELD(index_including_params, indexIncludingParams, indexIncludingParams);
1204
+ READ_LIST_FIELD(options, options, options);
1205
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1206
+ READ_LIST_FIELD(exclude_op_names, excludeOpNames, excludeOpNames);
1207
+ READ_STRING_FIELD(idxcomment, idxcomment, idxcomment);
1208
+ READ_UINT_FIELD(index_oid, indexOid, indexOid);
1209
+ READ_UINT_FIELD(old_node, oldNode, oldNode);
1210
+ READ_UINT_FIELD(old_create_subid, oldCreateSubid, oldCreateSubid);
1211
+ READ_UINT_FIELD(old_first_relfilenode_subid, oldFirstRelfilenodeSubid, oldFirstRelfilenodeSubid);
1212
+ READ_BOOL_FIELD(unique, unique, unique);
1213
+ READ_BOOL_FIELD(primary, primary, primary);
1214
+ READ_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
1215
+ READ_BOOL_FIELD(deferrable, deferrable, deferrable);
1216
+ READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
1217
+ READ_BOOL_FIELD(transformed, transformed, transformed);
1218
+ READ_BOOL_FIELD(concurrent, concurrent, concurrent);
1219
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1220
+ READ_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
1221
+ return node;
1222
+ }
1223
+
1224
+ static CreateFunctionStmt *
1225
+ _readCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) msg)
1226
+ {
1227
+ CreateFunctionStmt *node = makeNode(CreateFunctionStmt);
1228
+ READ_BOOL_FIELD(is_procedure, is_procedure, is_procedure);
1229
+ READ_BOOL_FIELD(replace, replace, replace);
1230
+ READ_LIST_FIELD(funcname, funcname, funcname);
1231
+ READ_LIST_FIELD(parameters, parameters, parameters);
1232
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, return_type, returnType, returnType);
1233
+ READ_LIST_FIELD(options, options, options);
1234
+ return node;
1235
+ }
1236
+
1237
+ static AlterFunctionStmt *
1238
+ _readAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) msg)
1239
+ {
1240
+ AlterFunctionStmt *node = makeNode(AlterFunctionStmt);
1241
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1242
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
1243
+ READ_LIST_FIELD(actions, actions, actions);
1244
+ return node;
1245
+ }
1246
+
1247
+ static DoStmt *
1248
+ _readDoStmt(OUT_TYPE(DoStmt, DoStmt) msg)
1249
+ {
1250
+ DoStmt *node = makeNode(DoStmt);
1251
+ READ_LIST_FIELD(args, args, args);
1252
+ return node;
1253
+ }
1254
+
1255
+ static RenameStmt *
1256
+ _readRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) msg)
1257
+ {
1258
+ RenameStmt *node = makeNode(RenameStmt);
1259
+ READ_ENUM_FIELD(ObjectType, rename_type, renameType, renameType);
1260
+ READ_ENUM_FIELD(ObjectType, relation_type, relationType, relationType);
1261
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1262
+ READ_NODE_PTR_FIELD(object, object, object);
1263
+ READ_STRING_FIELD(subname, subname, subname);
1264
+ READ_STRING_FIELD(newname, newname, newname);
1265
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1266
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1267
+ return node;
1268
+ }
1269
+
1270
+ static RuleStmt *
1271
+ _readRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) msg)
1272
+ {
1273
+ RuleStmt *node = makeNode(RuleStmt);
1274
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1275
+ READ_STRING_FIELD(rulename, rulename, rulename);
1276
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
1277
+ READ_ENUM_FIELD(CmdType, event, event, event);
1278
+ READ_BOOL_FIELD(instead, instead, instead);
1279
+ READ_LIST_FIELD(actions, actions, actions);
1280
+ READ_BOOL_FIELD(replace, replace, replace);
1281
+ return node;
1282
+ }
1283
+
1284
+ static NotifyStmt *
1285
+ _readNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) msg)
1286
+ {
1287
+ NotifyStmt *node = makeNode(NotifyStmt);
1288
+ READ_STRING_FIELD(conditionname, conditionname, conditionname);
1289
+ READ_STRING_FIELD(payload, payload, payload);
1290
+ return node;
1291
+ }
1292
+
1293
+ static ListenStmt *
1294
+ _readListenStmt(OUT_TYPE(ListenStmt, ListenStmt) msg)
1295
+ {
1296
+ ListenStmt *node = makeNode(ListenStmt);
1297
+ READ_STRING_FIELD(conditionname, conditionname, conditionname);
1298
+ return node;
1299
+ }
1300
+
1301
+ static UnlistenStmt *
1302
+ _readUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) msg)
1303
+ {
1304
+ UnlistenStmt *node = makeNode(UnlistenStmt);
1305
+ READ_STRING_FIELD(conditionname, conditionname, conditionname);
1306
+ return node;
1307
+ }
1308
+
1309
+ static TransactionStmt *
1310
+ _readTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) msg)
1311
+ {
1312
+ TransactionStmt *node = makeNode(TransactionStmt);
1313
+ READ_ENUM_FIELD(TransactionStmtKind, kind, kind, kind);
1314
+ READ_LIST_FIELD(options, options, options);
1315
+ READ_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name);
1316
+ READ_STRING_FIELD(gid, gid, gid);
1317
+ READ_BOOL_FIELD(chain, chain, chain);
1318
+ return node;
1319
+ }
1320
+
1321
+ static ViewStmt *
1322
+ _readViewStmt(OUT_TYPE(ViewStmt, ViewStmt) msg)
1323
+ {
1324
+ ViewStmt *node = makeNode(ViewStmt);
1325
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, view, view, view);
1326
+ READ_LIST_FIELD(aliases, aliases, aliases);
1327
+ READ_NODE_PTR_FIELD(query, query, query);
1328
+ READ_BOOL_FIELD(replace, replace, replace);
1329
+ READ_LIST_FIELD(options, options, options);
1330
+ READ_ENUM_FIELD(ViewCheckOption, with_check_option, withCheckOption, withCheckOption);
1331
+ return node;
1332
+ }
1333
+
1334
+ static LoadStmt *
1335
+ _readLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) msg)
1336
+ {
1337
+ LoadStmt *node = makeNode(LoadStmt);
1338
+ READ_STRING_FIELD(filename, filename, filename);
1339
+ return node;
1340
+ }
1341
+
1342
+ static CreateDomainStmt *
1343
+ _readCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) msg)
1344
+ {
1345
+ CreateDomainStmt *node = makeNode(CreateDomainStmt);
1346
+ READ_LIST_FIELD(domainname, domainname, domainname);
1347
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
1348
+ READ_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
1349
+ READ_LIST_FIELD(constraints, constraints, constraints);
1350
+ return node;
1351
+ }
1352
+
1353
+ static CreatedbStmt *
1354
+ _readCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) msg)
1355
+ {
1356
+ CreatedbStmt *node = makeNode(CreatedbStmt);
1357
+ READ_STRING_FIELD(dbname, dbname, dbname);
1358
+ READ_LIST_FIELD(options, options, options);
1359
+ return node;
1360
+ }
1361
+
1362
+ static DropdbStmt *
1363
+ _readDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) msg)
1364
+ {
1365
+ DropdbStmt *node = makeNode(DropdbStmt);
1366
+ READ_STRING_FIELD(dbname, dbname, dbname);
1367
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1368
+ READ_LIST_FIELD(options, options, options);
1369
+ return node;
1370
+ }
1371
+
1372
+ static VacuumStmt *
1373
+ _readVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) msg)
1374
+ {
1375
+ VacuumStmt *node = makeNode(VacuumStmt);
1376
+ READ_LIST_FIELD(options, options, options);
1377
+ READ_LIST_FIELD(rels, rels, rels);
1378
+ READ_BOOL_FIELD(is_vacuumcmd, is_vacuumcmd, is_vacuumcmd);
1379
+ return node;
1380
+ }
1381
+
1382
+ static ExplainStmt *
1383
+ _readExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) msg)
1384
+ {
1385
+ ExplainStmt *node = makeNode(ExplainStmt);
1386
+ READ_NODE_PTR_FIELD(query, query, query);
1387
+ READ_LIST_FIELD(options, options, options);
1388
+ return node;
1389
+ }
1390
+
1391
+ static CreateTableAsStmt *
1392
+ _readCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) msg)
1393
+ {
1394
+ CreateTableAsStmt *node = makeNode(CreateTableAsStmt);
1395
+ READ_NODE_PTR_FIELD(query, query, query);
1396
+ READ_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into, into, into);
1397
+ READ_ENUM_FIELD(ObjectType, relkind, relkind, relkind);
1398
+ READ_BOOL_FIELD(is_select_into, is_select_into, is_select_into);
1399
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1400
+ return node;
1401
+ }
1402
+
1403
+ static CreateSeqStmt *
1404
+ _readCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) msg)
1405
+ {
1406
+ CreateSeqStmt *node = makeNode(CreateSeqStmt);
1407
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
1408
+ READ_LIST_FIELD(options, options, options);
1409
+ READ_UINT_FIELD(owner_id, ownerId, ownerId);
1410
+ READ_BOOL_FIELD(for_identity, for_identity, for_identity);
1411
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1412
+ return node;
1413
+ }
1414
+
1415
+ static AlterSeqStmt *
1416
+ _readAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) msg)
1417
+ {
1418
+ AlterSeqStmt *node = makeNode(AlterSeqStmt);
1419
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence);
1420
+ READ_LIST_FIELD(options, options, options);
1421
+ READ_BOOL_FIELD(for_identity, for_identity, for_identity);
1422
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1423
+ return node;
1424
+ }
1425
+
1426
+ static VariableSetStmt *
1427
+ _readVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) msg)
1428
+ {
1429
+ VariableSetStmt *node = makeNode(VariableSetStmt);
1430
+ READ_ENUM_FIELD(VariableSetKind, kind, kind, kind);
1431
+ READ_STRING_FIELD(name, name, name);
1432
+ READ_LIST_FIELD(args, args, args);
1433
+ READ_BOOL_FIELD(is_local, is_local, is_local);
1434
+ return node;
1435
+ }
1436
+
1437
+ static VariableShowStmt *
1438
+ _readVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) msg)
1439
+ {
1440
+ VariableShowStmt *node = makeNode(VariableShowStmt);
1441
+ READ_STRING_FIELD(name, name, name);
1442
+ return node;
1443
+ }
1444
+
1445
+ static DiscardStmt *
1446
+ _readDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) msg)
1447
+ {
1448
+ DiscardStmt *node = makeNode(DiscardStmt);
1449
+ READ_ENUM_FIELD(DiscardMode, target, target, target);
1450
+ return node;
1451
+ }
1452
+
1453
+ static CreateTrigStmt *
1454
+ _readCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) msg)
1455
+ {
1456
+ CreateTrigStmt *node = makeNode(CreateTrigStmt);
1457
+ READ_STRING_FIELD(trigname, trigname, trigname);
1458
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1459
+ READ_LIST_FIELD(funcname, funcname, funcname);
1460
+ READ_LIST_FIELD(args, args, args);
1461
+ READ_BOOL_FIELD(row, row, row);
1462
+ READ_INT_FIELD(timing, timing, timing);
1463
+ READ_INT_FIELD(events, events, events);
1464
+ READ_LIST_FIELD(columns, columns, columns);
1465
+ READ_NODE_PTR_FIELD(when_clause, whenClause, whenClause);
1466
+ READ_BOOL_FIELD(isconstraint, isconstraint, isconstraint);
1467
+ READ_LIST_FIELD(transition_rels, transitionRels, transitionRels);
1468
+ READ_BOOL_FIELD(deferrable, deferrable, deferrable);
1469
+ READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
1470
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, constrrel, constrrel, constrrel);
1471
+ return node;
1472
+ }
1473
+
1474
+ static CreatePLangStmt *
1475
+ _readCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) msg)
1476
+ {
1477
+ CreatePLangStmt *node = makeNode(CreatePLangStmt);
1478
+ READ_BOOL_FIELD(replace, replace, replace);
1479
+ READ_STRING_FIELD(plname, plname, plname);
1480
+ READ_LIST_FIELD(plhandler, plhandler, plhandler);
1481
+ READ_LIST_FIELD(plinline, plinline, plinline);
1482
+ READ_LIST_FIELD(plvalidator, plvalidator, plvalidator);
1483
+ READ_BOOL_FIELD(pltrusted, pltrusted, pltrusted);
1484
+ return node;
1485
+ }
1486
+
1487
+ static CreateRoleStmt *
1488
+ _readCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) msg)
1489
+ {
1490
+ CreateRoleStmt *node = makeNode(CreateRoleStmt);
1491
+ READ_ENUM_FIELD(RoleStmtType, stmt_type, stmt_type, stmt_type);
1492
+ READ_STRING_FIELD(role, role, role);
1493
+ READ_LIST_FIELD(options, options, options);
1494
+ return node;
1495
+ }
1496
+
1497
+ static AlterRoleStmt *
1498
+ _readAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) msg)
1499
+ {
1500
+ AlterRoleStmt *node = makeNode(AlterRoleStmt);
1501
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
1502
+ READ_LIST_FIELD(options, options, options);
1503
+ READ_INT_FIELD(action, action, action);
1504
+ return node;
1505
+ }
1506
+
1507
+ static DropRoleStmt *
1508
+ _readDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) msg)
1509
+ {
1510
+ DropRoleStmt *node = makeNode(DropRoleStmt);
1511
+ READ_LIST_FIELD(roles, roles, roles);
1512
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1513
+ return node;
1514
+ }
1515
+
1516
+ static LockStmt *
1517
+ _readLockStmt(OUT_TYPE(LockStmt, LockStmt) msg)
1518
+ {
1519
+ LockStmt *node = makeNode(LockStmt);
1520
+ READ_LIST_FIELD(relations, relations, relations);
1521
+ READ_INT_FIELD(mode, mode, mode);
1522
+ READ_BOOL_FIELD(nowait, nowait, nowait);
1523
+ return node;
1524
+ }
1525
+
1526
+ static ConstraintsSetStmt *
1527
+ _readConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) msg)
1528
+ {
1529
+ ConstraintsSetStmt *node = makeNode(ConstraintsSetStmt);
1530
+ READ_LIST_FIELD(constraints, constraints, constraints);
1531
+ READ_BOOL_FIELD(deferred, deferred, deferred);
1532
+ return node;
1533
+ }
1534
+
1535
+ static ReindexStmt *
1536
+ _readReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) msg)
1537
+ {
1538
+ ReindexStmt *node = makeNode(ReindexStmt);
1539
+ READ_ENUM_FIELD(ReindexObjectType, kind, kind, kind);
1540
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1541
+ READ_STRING_FIELD(name, name, name);
1542
+ READ_INT_FIELD(options, options, options);
1543
+ READ_BOOL_FIELD(concurrent, concurrent, concurrent);
1544
+ return node;
1545
+ }
1546
+
1547
+ static CheckPointStmt *
1548
+ _readCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) msg)
1549
+ {
1550
+ CheckPointStmt *node = makeNode(CheckPointStmt);
1551
+ return node;
1552
+ }
1553
+
1554
+ static CreateSchemaStmt *
1555
+ _readCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) msg)
1556
+ {
1557
+ CreateSchemaStmt *node = makeNode(CreateSchemaStmt);
1558
+ READ_STRING_FIELD(schemaname, schemaname, schemaname);
1559
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, authrole, authrole, authrole);
1560
+ READ_LIST_FIELD(schema_elts, schemaElts, schemaElts);
1561
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1562
+ return node;
1563
+ }
1564
+
1565
+ static AlterDatabaseStmt *
1566
+ _readAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) msg)
1567
+ {
1568
+ AlterDatabaseStmt *node = makeNode(AlterDatabaseStmt);
1569
+ READ_STRING_FIELD(dbname, dbname, dbname);
1570
+ READ_LIST_FIELD(options, options, options);
1571
+ return node;
1572
+ }
1573
+
1574
+ static AlterDatabaseSetStmt *
1575
+ _readAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) msg)
1576
+ {
1577
+ AlterDatabaseSetStmt *node = makeNode(AlterDatabaseSetStmt);
1578
+ READ_STRING_FIELD(dbname, dbname, dbname);
1579
+ READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
1580
+ return node;
1581
+ }
1582
+
1583
+ static AlterRoleSetStmt *
1584
+ _readAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) msg)
1585
+ {
1586
+ AlterRoleSetStmt *node = makeNode(AlterRoleSetStmt);
1587
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role);
1588
+ READ_STRING_FIELD(database, database, database);
1589
+ READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
1590
+ return node;
1591
+ }
1592
+
1593
+ static CreateConversionStmt *
1594
+ _readCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) msg)
1595
+ {
1596
+ CreateConversionStmt *node = makeNode(CreateConversionStmt);
1597
+ READ_LIST_FIELD(conversion_name, conversion_name, conversion_name);
1598
+ READ_STRING_FIELD(for_encoding_name, for_encoding_name, for_encoding_name);
1599
+ READ_STRING_FIELD(to_encoding_name, to_encoding_name, to_encoding_name);
1600
+ READ_LIST_FIELD(func_name, func_name, func_name);
1601
+ READ_BOOL_FIELD(def, def, def);
1602
+ return node;
1603
+ }
1604
+
1605
+ static CreateCastStmt *
1606
+ _readCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) msg)
1607
+ {
1608
+ CreateCastStmt *node = makeNode(CreateCastStmt);
1609
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, sourcetype, sourcetype, sourcetype);
1610
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, targettype, targettype, targettype);
1611
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func);
1612
+ READ_ENUM_FIELD(CoercionContext, context, context, context);
1613
+ READ_BOOL_FIELD(inout, inout, inout);
1614
+ return node;
1615
+ }
1616
+
1617
+ static CreateOpClassStmt *
1618
+ _readCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) msg)
1619
+ {
1620
+ CreateOpClassStmt *node = makeNode(CreateOpClassStmt);
1621
+ READ_LIST_FIELD(opclassname, opclassname, opclassname);
1622
+ READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1623
+ READ_STRING_FIELD(amname, amname, amname);
1624
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, datatype, datatype, datatype);
1625
+ READ_LIST_FIELD(items, items, items);
1626
+ READ_BOOL_FIELD(is_default, isDefault, isDefault);
1627
+ return node;
1628
+ }
1629
+
1630
+ static CreateOpFamilyStmt *
1631
+ _readCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) msg)
1632
+ {
1633
+ CreateOpFamilyStmt *node = makeNode(CreateOpFamilyStmt);
1634
+ READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1635
+ READ_STRING_FIELD(amname, amname, amname);
1636
+ return node;
1637
+ }
1638
+
1639
+ static AlterOpFamilyStmt *
1640
+ _readAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) msg)
1641
+ {
1642
+ AlterOpFamilyStmt *node = makeNode(AlterOpFamilyStmt);
1643
+ READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname);
1644
+ READ_STRING_FIELD(amname, amname, amname);
1645
+ READ_BOOL_FIELD(is_drop, isDrop, isDrop);
1646
+ READ_LIST_FIELD(items, items, items);
1647
+ return node;
1648
+ }
1649
+
1650
+ static PrepareStmt *
1651
+ _readPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) msg)
1652
+ {
1653
+ PrepareStmt *node = makeNode(PrepareStmt);
1654
+ READ_STRING_FIELD(name, name, name);
1655
+ READ_LIST_FIELD(argtypes, argtypes, argtypes);
1656
+ READ_NODE_PTR_FIELD(query, query, query);
1657
+ return node;
1658
+ }
1659
+
1660
+ static ExecuteStmt *
1661
+ _readExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) msg)
1662
+ {
1663
+ ExecuteStmt *node = makeNode(ExecuteStmt);
1664
+ READ_STRING_FIELD(name, name, name);
1665
+ READ_LIST_FIELD(params, params, params);
1666
+ return node;
1667
+ }
1668
+
1669
+ static DeallocateStmt *
1670
+ _readDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) msg)
1671
+ {
1672
+ DeallocateStmt *node = makeNode(DeallocateStmt);
1673
+ READ_STRING_FIELD(name, name, name);
1674
+ return node;
1675
+ }
1676
+
1677
+ static DeclareCursorStmt *
1678
+ _readDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) msg)
1679
+ {
1680
+ DeclareCursorStmt *node = makeNode(DeclareCursorStmt);
1681
+ READ_STRING_FIELD(portalname, portalname, portalname);
1682
+ READ_INT_FIELD(options, options, options);
1683
+ READ_NODE_PTR_FIELD(query, query, query);
1684
+ return node;
1685
+ }
1686
+
1687
+ static CreateTableSpaceStmt *
1688
+ _readCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) msg)
1689
+ {
1690
+ CreateTableSpaceStmt *node = makeNode(CreateTableSpaceStmt);
1691
+ READ_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1692
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, owner, owner, owner);
1693
+ READ_STRING_FIELD(location, location, location);
1694
+ READ_LIST_FIELD(options, options, options);
1695
+ return node;
1696
+ }
1697
+
1698
+ static DropTableSpaceStmt *
1699
+ _readDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) msg)
1700
+ {
1701
+ DropTableSpaceStmt *node = makeNode(DropTableSpaceStmt);
1702
+ READ_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1703
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1704
+ return node;
1705
+ }
1706
+
1707
+ static AlterObjectDependsStmt *
1708
+ _readAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) msg)
1709
+ {
1710
+ AlterObjectDependsStmt *node = makeNode(AlterObjectDependsStmt);
1711
+ READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1712
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1713
+ READ_NODE_PTR_FIELD(object, object, object);
1714
+ READ_VALUE_PTR_FIELD(extname, extname, extname);
1715
+ READ_BOOL_FIELD(remove, remove, remove);
1716
+ return node;
1717
+ }
1718
+
1719
+ static AlterObjectSchemaStmt *
1720
+ _readAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) msg)
1721
+ {
1722
+ AlterObjectSchemaStmt *node = makeNode(AlterObjectSchemaStmt);
1723
+ READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1724
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1725
+ READ_NODE_PTR_FIELD(object, object, object);
1726
+ READ_STRING_FIELD(newschema, newschema, newschema);
1727
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1728
+ return node;
1729
+ }
1730
+
1731
+ static AlterOwnerStmt *
1732
+ _readAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) msg)
1733
+ {
1734
+ AlterOwnerStmt *node = makeNode(AlterOwnerStmt);
1735
+ READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType);
1736
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
1737
+ READ_NODE_PTR_FIELD(object, object, object);
1738
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner);
1739
+ return node;
1740
+ }
1741
+
1742
+ static AlterOperatorStmt *
1743
+ _readAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) msg)
1744
+ {
1745
+ AlterOperatorStmt *node = makeNode(AlterOperatorStmt);
1746
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, opername, opername, opername);
1747
+ READ_LIST_FIELD(options, options, options);
1748
+ return node;
1749
+ }
1750
+
1751
+ static AlterTypeStmt *
1752
+ _readAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) msg)
1753
+ {
1754
+ AlterTypeStmt *node = makeNode(AlterTypeStmt);
1755
+ READ_LIST_FIELD(type_name, typeName, typeName);
1756
+ READ_LIST_FIELD(options, options, options);
1757
+ return node;
1758
+ }
1759
+
1760
+ static DropOwnedStmt *
1761
+ _readDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) msg)
1762
+ {
1763
+ DropOwnedStmt *node = makeNode(DropOwnedStmt);
1764
+ READ_LIST_FIELD(roles, roles, roles);
1765
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
1766
+ return node;
1767
+ }
1768
+
1769
+ static ReassignOwnedStmt *
1770
+ _readReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) msg)
1771
+ {
1772
+ ReassignOwnedStmt *node = makeNode(ReassignOwnedStmt);
1773
+ READ_LIST_FIELD(roles, roles, roles);
1774
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newrole, newrole, newrole);
1775
+ return node;
1776
+ }
1777
+
1778
+ static CompositeTypeStmt *
1779
+ _readCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) msg)
1780
+ {
1781
+ CompositeTypeStmt *node = makeNode(CompositeTypeStmt);
1782
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, typevar, typevar, typevar);
1783
+ READ_LIST_FIELD(coldeflist, coldeflist, coldeflist);
1784
+ return node;
1785
+ }
1786
+
1787
+ static CreateEnumStmt *
1788
+ _readCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) msg)
1789
+ {
1790
+ CreateEnumStmt *node = makeNode(CreateEnumStmt);
1791
+ READ_LIST_FIELD(type_name, typeName, typeName);
1792
+ READ_LIST_FIELD(vals, vals, vals);
1793
+ return node;
1794
+ }
1795
+
1796
+ static CreateRangeStmt *
1797
+ _readCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) msg)
1798
+ {
1799
+ CreateRangeStmt *node = makeNode(CreateRangeStmt);
1800
+ READ_LIST_FIELD(type_name, typeName, typeName);
1801
+ READ_LIST_FIELD(params, params, params);
1802
+ return node;
1803
+ }
1804
+
1805
+ static AlterEnumStmt *
1806
+ _readAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) msg)
1807
+ {
1808
+ AlterEnumStmt *node = makeNode(AlterEnumStmt);
1809
+ READ_LIST_FIELD(type_name, typeName, typeName);
1810
+ READ_STRING_FIELD(old_val, oldVal, oldVal);
1811
+ READ_STRING_FIELD(new_val, newVal, newVal);
1812
+ READ_STRING_FIELD(new_val_neighbor, newValNeighbor, newValNeighbor);
1813
+ READ_BOOL_FIELD(new_val_is_after, newValIsAfter, newValIsAfter);
1814
+ READ_BOOL_FIELD(skip_if_new_val_exists, skipIfNewValExists, skipIfNewValExists);
1815
+ return node;
1816
+ }
1817
+
1818
+ static AlterTSDictionaryStmt *
1819
+ _readAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) msg)
1820
+ {
1821
+ AlterTSDictionaryStmt *node = makeNode(AlterTSDictionaryStmt);
1822
+ READ_LIST_FIELD(dictname, dictname, dictname);
1823
+ READ_LIST_FIELD(options, options, options);
1824
+ return node;
1825
+ }
1826
+
1827
+ static AlterTSConfigurationStmt *
1828
+ _readAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) msg)
1829
+ {
1830
+ AlterTSConfigurationStmt *node = makeNode(AlterTSConfigurationStmt);
1831
+ READ_ENUM_FIELD(AlterTSConfigType, kind, kind, kind);
1832
+ READ_LIST_FIELD(cfgname, cfgname, cfgname);
1833
+ READ_LIST_FIELD(tokentype, tokentype, tokentype);
1834
+ READ_LIST_FIELD(dicts, dicts, dicts);
1835
+ READ_BOOL_FIELD(override, override, override);
1836
+ READ_BOOL_FIELD(replace, replace, replace);
1837
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1838
+ return node;
1839
+ }
1840
+
1841
+ static CreateFdwStmt *
1842
+ _readCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) msg)
1843
+ {
1844
+ CreateFdwStmt *node = makeNode(CreateFdwStmt);
1845
+ READ_STRING_FIELD(fdwname, fdwname, fdwname);
1846
+ READ_LIST_FIELD(func_options, func_options, func_options);
1847
+ READ_LIST_FIELD(options, options, options);
1848
+ return node;
1849
+ }
1850
+
1851
+ static AlterFdwStmt *
1852
+ _readAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) msg)
1853
+ {
1854
+ AlterFdwStmt *node = makeNode(AlterFdwStmt);
1855
+ READ_STRING_FIELD(fdwname, fdwname, fdwname);
1856
+ READ_LIST_FIELD(func_options, func_options, func_options);
1857
+ READ_LIST_FIELD(options, options, options);
1858
+ return node;
1859
+ }
1860
+
1861
+ static CreateForeignServerStmt *
1862
+ _readCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) msg)
1863
+ {
1864
+ CreateForeignServerStmt *node = makeNode(CreateForeignServerStmt);
1865
+ READ_STRING_FIELD(servername, servername, servername);
1866
+ READ_STRING_FIELD(servertype, servertype, servertype);
1867
+ READ_STRING_FIELD(version, version, version);
1868
+ READ_STRING_FIELD(fdwname, fdwname, fdwname);
1869
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1870
+ READ_LIST_FIELD(options, options, options);
1871
+ return node;
1872
+ }
1873
+
1874
+ static AlterForeignServerStmt *
1875
+ _readAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) msg)
1876
+ {
1877
+ AlterForeignServerStmt *node = makeNode(AlterForeignServerStmt);
1878
+ READ_STRING_FIELD(servername, servername, servername);
1879
+ READ_STRING_FIELD(version, version, version);
1880
+ READ_LIST_FIELD(options, options, options);
1881
+ READ_BOOL_FIELD(has_version, has_version, has_version);
1882
+ return node;
1883
+ }
1884
+
1885
+ static CreateUserMappingStmt *
1886
+ _readCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) msg)
1887
+ {
1888
+ CreateUserMappingStmt *node = makeNode(CreateUserMappingStmt);
1889
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user);
1890
+ READ_STRING_FIELD(servername, servername, servername);
1891
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1892
+ READ_LIST_FIELD(options, options, options);
1893
+ return node;
1894
+ }
1895
+
1896
+ static AlterUserMappingStmt *
1897
+ _readAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) msg)
1898
+ {
1899
+ AlterUserMappingStmt *node = makeNode(AlterUserMappingStmt);
1900
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user);
1901
+ READ_STRING_FIELD(servername, servername, servername);
1902
+ READ_LIST_FIELD(options, options, options);
1903
+ return node;
1904
+ }
1905
+
1906
+ static DropUserMappingStmt *
1907
+ _readDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) msg)
1908
+ {
1909
+ DropUserMappingStmt *node = makeNode(DropUserMappingStmt);
1910
+ READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user);
1911
+ READ_STRING_FIELD(servername, servername, servername);
1912
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
1913
+ return node;
1914
+ }
1915
+
1916
+ static AlterTableSpaceOptionsStmt *
1917
+ _readAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) msg)
1918
+ {
1919
+ AlterTableSpaceOptionsStmt *node = makeNode(AlterTableSpaceOptionsStmt);
1920
+ READ_STRING_FIELD(tablespacename, tablespacename, tablespacename);
1921
+ READ_LIST_FIELD(options, options, options);
1922
+ READ_BOOL_FIELD(is_reset, isReset, isReset);
1923
+ return node;
1924
+ }
1925
+
1926
+ static AlterTableMoveAllStmt *
1927
+ _readAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) msg)
1928
+ {
1929
+ AlterTableMoveAllStmt *node = makeNode(AlterTableMoveAllStmt);
1930
+ READ_STRING_FIELD(orig_tablespacename, orig_tablespacename, orig_tablespacename);
1931
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1932
+ READ_LIST_FIELD(roles, roles, roles);
1933
+ READ_STRING_FIELD(new_tablespacename, new_tablespacename, new_tablespacename);
1934
+ READ_BOOL_FIELD(nowait, nowait, nowait);
1935
+ return node;
1936
+ }
1937
+
1938
+ static SecLabelStmt *
1939
+ _readSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) msg)
1940
+ {
1941
+ SecLabelStmt *node = makeNode(SecLabelStmt);
1942
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1943
+ READ_NODE_PTR_FIELD(object, object, object);
1944
+ READ_STRING_FIELD(provider, provider, provider);
1945
+ READ_STRING_FIELD(label, label, label);
1946
+ return node;
1947
+ }
1948
+
1949
+ static CreateForeignTableStmt *
1950
+ _readCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) msg)
1951
+ {
1952
+ CreateForeignTableStmt *node = makeNode(CreateForeignTableStmt);
1953
+ READ_SPECIFIC_NODE_FIELD(CreateStmt, create_stmt, base_stmt, base, base);
1954
+ READ_STRING_FIELD(servername, servername, servername);
1955
+ READ_LIST_FIELD(options, options, options);
1956
+ NodeSetTag(node, T_CreateForeignTableStmt);
1957
+ return node;
1958
+ }
1959
+
1960
+ static ImportForeignSchemaStmt *
1961
+ _readImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) msg)
1962
+ {
1963
+ ImportForeignSchemaStmt *node = makeNode(ImportForeignSchemaStmt);
1964
+ READ_STRING_FIELD(server_name, server_name, server_name);
1965
+ READ_STRING_FIELD(remote_schema, remote_schema, remote_schema);
1966
+ READ_STRING_FIELD(local_schema, local_schema, local_schema);
1967
+ READ_ENUM_FIELD(ImportForeignSchemaType, list_type, list_type, list_type);
1968
+ READ_LIST_FIELD(table_list, table_list, table_list);
1969
+ READ_LIST_FIELD(options, options, options);
1970
+ return node;
1971
+ }
1972
+
1973
+ static CreateExtensionStmt *
1974
+ _readCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) msg)
1975
+ {
1976
+ CreateExtensionStmt *node = makeNode(CreateExtensionStmt);
1977
+ READ_STRING_FIELD(extname, extname, extname);
1978
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
1979
+ READ_LIST_FIELD(options, options, options);
1980
+ return node;
1981
+ }
1982
+
1983
+ static AlterExtensionStmt *
1984
+ _readAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) msg)
1985
+ {
1986
+ AlterExtensionStmt *node = makeNode(AlterExtensionStmt);
1987
+ READ_STRING_FIELD(extname, extname, extname);
1988
+ READ_LIST_FIELD(options, options, options);
1989
+ return node;
1990
+ }
1991
+
1992
+ static AlterExtensionContentsStmt *
1993
+ _readAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) msg)
1994
+ {
1995
+ AlterExtensionContentsStmt *node = makeNode(AlterExtensionContentsStmt);
1996
+ READ_STRING_FIELD(extname, extname, extname);
1997
+ READ_INT_FIELD(action, action, action);
1998
+ READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype);
1999
+ READ_NODE_PTR_FIELD(object, object, object);
2000
+ return node;
2001
+ }
2002
+
2003
+ static CreateEventTrigStmt *
2004
+ _readCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) msg)
2005
+ {
2006
+ CreateEventTrigStmt *node = makeNode(CreateEventTrigStmt);
2007
+ READ_STRING_FIELD(trigname, trigname, trigname);
2008
+ READ_STRING_FIELD(eventname, eventname, eventname);
2009
+ READ_LIST_FIELD(whenclause, whenclause, whenclause);
2010
+ READ_LIST_FIELD(funcname, funcname, funcname);
2011
+ return node;
2012
+ }
2013
+
2014
+ static AlterEventTrigStmt *
2015
+ _readAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) msg)
2016
+ {
2017
+ AlterEventTrigStmt *node = makeNode(AlterEventTrigStmt);
2018
+ READ_STRING_FIELD(trigname, trigname, trigname);
2019
+ READ_CHAR_FIELD(tgenabled, tgenabled, tgenabled);
2020
+ return node;
2021
+ }
2022
+
2023
+ static RefreshMatViewStmt *
2024
+ _readRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) msg)
2025
+ {
2026
+ RefreshMatViewStmt *node = makeNode(RefreshMatViewStmt);
2027
+ READ_BOOL_FIELD(concurrent, concurrent, concurrent);
2028
+ READ_BOOL_FIELD(skip_data, skipData, skipData);
2029
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2030
+ return node;
2031
+ }
2032
+
2033
+ static ReplicaIdentityStmt *
2034
+ _readReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) msg)
2035
+ {
2036
+ ReplicaIdentityStmt *node = makeNode(ReplicaIdentityStmt);
2037
+ READ_CHAR_FIELD(identity_type, identity_type, identity_type);
2038
+ READ_STRING_FIELD(name, name, name);
2039
+ return node;
2040
+ }
2041
+
2042
+ static AlterSystemStmt *
2043
+ _readAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) msg)
2044
+ {
2045
+ AlterSystemStmt *node = makeNode(AlterSystemStmt);
2046
+ READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt);
2047
+ return node;
2048
+ }
2049
+
2050
+ static CreatePolicyStmt *
2051
+ _readCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) msg)
2052
+ {
2053
+ CreatePolicyStmt *node = makeNode(CreatePolicyStmt);
2054
+ READ_STRING_FIELD(policy_name, policy_name, policy_name);
2055
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table);
2056
+ READ_STRING_FIELD(cmd_name, cmd_name, cmd_name);
2057
+ READ_BOOL_FIELD(permissive, permissive, permissive);
2058
+ READ_LIST_FIELD(roles, roles, roles);
2059
+ READ_NODE_PTR_FIELD(qual, qual, qual);
2060
+ READ_NODE_PTR_FIELD(with_check, with_check, with_check);
2061
+ return node;
2062
+ }
2063
+
2064
+ static AlterPolicyStmt *
2065
+ _readAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) msg)
2066
+ {
2067
+ AlterPolicyStmt *node = makeNode(AlterPolicyStmt);
2068
+ READ_STRING_FIELD(policy_name, policy_name, policy_name);
2069
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table);
2070
+ READ_LIST_FIELD(roles, roles, roles);
2071
+ READ_NODE_PTR_FIELD(qual, qual, qual);
2072
+ READ_NODE_PTR_FIELD(with_check, with_check, with_check);
2073
+ return node;
2074
+ }
2075
+
2076
+ static CreateTransformStmt *
2077
+ _readCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) msg)
2078
+ {
2079
+ CreateTransformStmt *node = makeNode(CreateTransformStmt);
2080
+ READ_BOOL_FIELD(replace, replace, replace);
2081
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, type_name, type_name);
2082
+ READ_STRING_FIELD(lang, lang, lang);
2083
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, fromsql, fromsql, fromsql);
2084
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, tosql, tosql, tosql);
2085
+ return node;
2086
+ }
2087
+
2088
+ static CreateAmStmt *
2089
+ _readCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) msg)
2090
+ {
2091
+ CreateAmStmt *node = makeNode(CreateAmStmt);
2092
+ READ_STRING_FIELD(amname, amname, amname);
2093
+ READ_LIST_FIELD(handler_name, handler_name, handler_name);
2094
+ READ_CHAR_FIELD(amtype, amtype, amtype);
2095
+ return node;
2096
+ }
2097
+
2098
+ static CreatePublicationStmt *
2099
+ _readCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) msg)
2100
+ {
2101
+ CreatePublicationStmt *node = makeNode(CreatePublicationStmt);
2102
+ READ_STRING_FIELD(pubname, pubname, pubname);
2103
+ READ_LIST_FIELD(options, options, options);
2104
+ READ_LIST_FIELD(tables, tables, tables);
2105
+ READ_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
2106
+ return node;
2107
+ }
2108
+
2109
+ static AlterPublicationStmt *
2110
+ _readAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) msg)
2111
+ {
2112
+ AlterPublicationStmt *node = makeNode(AlterPublicationStmt);
2113
+ READ_STRING_FIELD(pubname, pubname, pubname);
2114
+ READ_LIST_FIELD(options, options, options);
2115
+ READ_LIST_FIELD(tables, tables, tables);
2116
+ READ_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables);
2117
+ READ_ENUM_FIELD(DefElemAction, table_action, tableAction, tableAction);
2118
+ return node;
2119
+ }
2120
+
2121
+ static CreateSubscriptionStmt *
2122
+ _readCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) msg)
2123
+ {
2124
+ CreateSubscriptionStmt *node = makeNode(CreateSubscriptionStmt);
2125
+ READ_STRING_FIELD(subname, subname, subname);
2126
+ READ_STRING_FIELD(conninfo, conninfo, conninfo);
2127
+ READ_LIST_FIELD(publication, publication, publication);
2128
+ READ_LIST_FIELD(options, options, options);
2129
+ return node;
2130
+ }
2131
+
2132
+ static AlterSubscriptionStmt *
2133
+ _readAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) msg)
2134
+ {
2135
+ AlterSubscriptionStmt *node = makeNode(AlterSubscriptionStmt);
2136
+ READ_ENUM_FIELD(AlterSubscriptionType, kind, kind, kind);
2137
+ READ_STRING_FIELD(subname, subname, subname);
2138
+ READ_STRING_FIELD(conninfo, conninfo, conninfo);
2139
+ READ_LIST_FIELD(publication, publication, publication);
2140
+ READ_LIST_FIELD(options, options, options);
2141
+ return node;
2142
+ }
2143
+
2144
+ static DropSubscriptionStmt *
2145
+ _readDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) msg)
2146
+ {
2147
+ DropSubscriptionStmt *node = makeNode(DropSubscriptionStmt);
2148
+ READ_STRING_FIELD(subname, subname, subname);
2149
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2150
+ READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior);
2151
+ return node;
2152
+ }
2153
+
2154
+ static CreateStatsStmt *
2155
+ _readCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) msg)
2156
+ {
2157
+ CreateStatsStmt *node = makeNode(CreateStatsStmt);
2158
+ READ_LIST_FIELD(defnames, defnames, defnames);
2159
+ READ_LIST_FIELD(stat_types, stat_types, stat_types);
2160
+ READ_LIST_FIELD(exprs, exprs, exprs);
2161
+ READ_LIST_FIELD(relations, relations, relations);
2162
+ READ_STRING_FIELD(stxcomment, stxcomment, stxcomment);
2163
+ READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists);
2164
+ return node;
2165
+ }
2166
+
2167
+ static AlterCollationStmt *
2168
+ _readAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) msg)
2169
+ {
2170
+ AlterCollationStmt *node = makeNode(AlterCollationStmt);
2171
+ READ_LIST_FIELD(collname, collname, collname);
2172
+ return node;
2173
+ }
2174
+
2175
+ static CallStmt *
2176
+ _readCallStmt(OUT_TYPE(CallStmt, CallStmt) msg)
2177
+ {
2178
+ CallStmt *node = makeNode(CallStmt);
2179
+ READ_SPECIFIC_NODE_PTR_FIELD(FuncCall, func_call, funccall, funccall, funccall);
2180
+ READ_SPECIFIC_NODE_PTR_FIELD(FuncExpr, func_expr, funcexpr, funcexpr, funcexpr);
2181
+ return node;
2182
+ }
2183
+
2184
+ static AlterStatsStmt *
2185
+ _readAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) msg)
2186
+ {
2187
+ AlterStatsStmt *node = makeNode(AlterStatsStmt);
2188
+ READ_LIST_FIELD(defnames, defnames, defnames);
2189
+ READ_INT_FIELD(stxstattarget, stxstattarget, stxstattarget);
2190
+ READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok);
2191
+ return node;
2192
+ }
2193
+
2194
+ static A_Expr *
2195
+ _readAExpr(OUT_TYPE(A_Expr, AExpr) msg)
2196
+ {
2197
+ A_Expr *node = makeNode(A_Expr);
2198
+ READ_ENUM_FIELD(A_Expr_Kind, kind, kind, kind);
2199
+ READ_LIST_FIELD(name, name, name);
2200
+ READ_NODE_PTR_FIELD(lexpr, lexpr, lexpr);
2201
+ READ_NODE_PTR_FIELD(rexpr, rexpr, rexpr);
2202
+ READ_INT_FIELD(location, location, location);
2203
+ return node;
2204
+ }
2205
+
2206
+ static ColumnRef *
2207
+ _readColumnRef(OUT_TYPE(ColumnRef, ColumnRef) msg)
2208
+ {
2209
+ ColumnRef *node = makeNode(ColumnRef);
2210
+ READ_LIST_FIELD(fields, fields, fields);
2211
+ READ_INT_FIELD(location, location, location);
2212
+ return node;
2213
+ }
2214
+
2215
+ static ParamRef *
2216
+ _readParamRef(OUT_TYPE(ParamRef, ParamRef) msg)
2217
+ {
2218
+ ParamRef *node = makeNode(ParamRef);
2219
+ READ_INT_FIELD(number, number, number);
2220
+ READ_INT_FIELD(location, location, location);
2221
+ return node;
2222
+ }
2223
+
2224
+ static A_Const *
2225
+ _readAConst(OUT_TYPE(A_Const, AConst) msg)
2226
+ {
2227
+ A_Const *node = makeNode(A_Const);
2228
+ READ_VALUE_FIELD(val, val, val);
2229
+ READ_INT_FIELD(location, location, location);
2230
+ return node;
2231
+ }
2232
+
2233
+ static FuncCall *
2234
+ _readFuncCall(OUT_TYPE(FuncCall, FuncCall) msg)
2235
+ {
2236
+ FuncCall *node = makeNode(FuncCall);
2237
+ READ_LIST_FIELD(funcname, funcname, funcname);
2238
+ READ_LIST_FIELD(args, args, args);
2239
+ READ_LIST_FIELD(agg_order, agg_order, agg_order);
2240
+ READ_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter);
2241
+ READ_BOOL_FIELD(agg_within_group, agg_within_group, agg_within_group);
2242
+ READ_BOOL_FIELD(agg_star, agg_star, agg_star);
2243
+ READ_BOOL_FIELD(agg_distinct, agg_distinct, agg_distinct);
2244
+ READ_BOOL_FIELD(func_variadic, func_variadic, func_variadic);
2245
+ READ_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over);
2246
+ READ_INT_FIELD(location, location, location);
2247
+ return node;
2248
+ }
2249
+
2250
+ static A_Star *
2251
+ _readAStar(OUT_TYPE(A_Star, AStar) msg)
2252
+ {
2253
+ A_Star *node = makeNode(A_Star);
2254
+ return node;
2255
+ }
2256
+
2257
+ static A_Indices *
2258
+ _readAIndices(OUT_TYPE(A_Indices, AIndices) msg)
2259
+ {
2260
+ A_Indices *node = makeNode(A_Indices);
2261
+ READ_BOOL_FIELD(is_slice, is_slice, is_slice);
2262
+ READ_NODE_PTR_FIELD(lidx, lidx, lidx);
2263
+ READ_NODE_PTR_FIELD(uidx, uidx, uidx);
2264
+ return node;
2265
+ }
2266
+
2267
+ static A_Indirection *
2268
+ _readAIndirection(OUT_TYPE(A_Indirection, AIndirection) msg)
2269
+ {
2270
+ A_Indirection *node = makeNode(A_Indirection);
2271
+ READ_NODE_PTR_FIELD(arg, arg, arg);
2272
+ READ_LIST_FIELD(indirection, indirection, indirection);
2273
+ return node;
2274
+ }
2275
+
2276
+ static A_ArrayExpr *
2277
+ _readAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) msg)
2278
+ {
2279
+ A_ArrayExpr *node = makeNode(A_ArrayExpr);
2280
+ READ_LIST_FIELD(elements, elements, elements);
2281
+ READ_INT_FIELD(location, location, location);
2282
+ return node;
2283
+ }
2284
+
2285
+ static ResTarget *
2286
+ _readResTarget(OUT_TYPE(ResTarget, ResTarget) msg)
2287
+ {
2288
+ ResTarget *node = makeNode(ResTarget);
2289
+ READ_STRING_FIELD(name, name, name);
2290
+ READ_LIST_FIELD(indirection, indirection, indirection);
2291
+ READ_NODE_PTR_FIELD(val, val, val);
2292
+ READ_INT_FIELD(location, location, location);
2293
+ return node;
2294
+ }
2295
+
2296
+ static MultiAssignRef *
2297
+ _readMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) msg)
2298
+ {
2299
+ MultiAssignRef *node = makeNode(MultiAssignRef);
2300
+ READ_NODE_PTR_FIELD(source, source, source);
2301
+ READ_INT_FIELD(colno, colno, colno);
2302
+ READ_INT_FIELD(ncolumns, ncolumns, ncolumns);
2303
+ return node;
2304
+ }
2305
+
2306
+ static TypeCast *
2307
+ _readTypeCast(OUT_TYPE(TypeCast, TypeCast) msg)
2308
+ {
2309
+ TypeCast *node = makeNode(TypeCast);
2310
+ READ_NODE_PTR_FIELD(arg, arg, arg);
2311
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2312
+ READ_INT_FIELD(location, location, location);
2313
+ return node;
2314
+ }
2315
+
2316
+ static CollateClause *
2317
+ _readCollateClause(OUT_TYPE(CollateClause, CollateClause) msg)
2318
+ {
2319
+ CollateClause *node = makeNode(CollateClause);
2320
+ READ_NODE_PTR_FIELD(arg, arg, arg);
2321
+ READ_LIST_FIELD(collname, collname, collname);
2322
+ READ_INT_FIELD(location, location, location);
2323
+ return node;
2324
+ }
2325
+
2326
+ static SortBy *
2327
+ _readSortBy(OUT_TYPE(SortBy, SortBy) msg)
2328
+ {
2329
+ SortBy *node = makeNode(SortBy);
2330
+ READ_NODE_PTR_FIELD(node, node, node);
2331
+ READ_ENUM_FIELD(SortByDir, sortby_dir, sortby_dir, sortby_dir);
2332
+ READ_ENUM_FIELD(SortByNulls, sortby_nulls, sortby_nulls, sortby_nulls);
2333
+ READ_LIST_FIELD(use_op, useOp, useOp);
2334
+ READ_INT_FIELD(location, location, location);
2335
+ return node;
2336
+ }
2337
+
2338
+ static WindowDef *
2339
+ _readWindowDef(OUT_TYPE(WindowDef, WindowDef) msg)
2340
+ {
2341
+ WindowDef *node = makeNode(WindowDef);
2342
+ READ_STRING_FIELD(name, name, name);
2343
+ READ_STRING_FIELD(refname, refname, refname);
2344
+ READ_LIST_FIELD(partition_clause, partitionClause, partitionClause);
2345
+ READ_LIST_FIELD(order_clause, orderClause, orderClause);
2346
+ READ_INT_FIELD(frame_options, frameOptions, frameOptions);
2347
+ READ_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
2348
+ READ_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
2349
+ READ_INT_FIELD(location, location, location);
2350
+ return node;
2351
+ }
2352
+
2353
+ static RangeSubselect *
2354
+ _readRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) msg)
2355
+ {
2356
+ RangeSubselect *node = makeNode(RangeSubselect);
2357
+ READ_BOOL_FIELD(lateral, lateral, lateral);
2358
+ READ_NODE_PTR_FIELD(subquery, subquery, subquery);
2359
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2360
+ return node;
2361
+ }
2362
+
2363
+ static RangeFunction *
2364
+ _readRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) msg)
2365
+ {
2366
+ RangeFunction *node = makeNode(RangeFunction);
2367
+ READ_BOOL_FIELD(lateral, lateral, lateral);
2368
+ READ_BOOL_FIELD(ordinality, ordinality, ordinality);
2369
+ READ_BOOL_FIELD(is_rowsfrom, is_rowsfrom, is_rowsfrom);
2370
+ READ_LIST_FIELD(functions, functions, functions);
2371
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2372
+ READ_LIST_FIELD(coldeflist, coldeflist, coldeflist);
2373
+ return node;
2374
+ }
2375
+
2376
+ static RangeTableSample *
2377
+ _readRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) msg)
2378
+ {
2379
+ RangeTableSample *node = makeNode(RangeTableSample);
2380
+ READ_NODE_PTR_FIELD(relation, relation, relation);
2381
+ READ_LIST_FIELD(method, method, method);
2382
+ READ_LIST_FIELD(args, args, args);
2383
+ READ_NODE_PTR_FIELD(repeatable, repeatable, repeatable);
2384
+ READ_INT_FIELD(location, location, location);
2385
+ return node;
2386
+ }
2387
+
2388
+ static RangeTableFunc *
2389
+ _readRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) msg)
2390
+ {
2391
+ RangeTableFunc *node = makeNode(RangeTableFunc);
2392
+ READ_BOOL_FIELD(lateral, lateral, lateral);
2393
+ READ_NODE_PTR_FIELD(docexpr, docexpr, docexpr);
2394
+ READ_NODE_PTR_FIELD(rowexpr, rowexpr, rowexpr);
2395
+ READ_LIST_FIELD(namespaces, namespaces, namespaces);
2396
+ READ_LIST_FIELD(columns, columns, columns);
2397
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2398
+ READ_INT_FIELD(location, location, location);
2399
+ return node;
2400
+ }
2401
+
2402
+ static RangeTableFuncCol *
2403
+ _readRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) msg)
2404
+ {
2405
+ RangeTableFuncCol *node = makeNode(RangeTableFuncCol);
2406
+ READ_STRING_FIELD(colname, colname, colname);
2407
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2408
+ READ_BOOL_FIELD(for_ordinality, for_ordinality, for_ordinality);
2409
+ READ_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
2410
+ READ_NODE_PTR_FIELD(colexpr, colexpr, colexpr);
2411
+ READ_NODE_PTR_FIELD(coldefexpr, coldefexpr, coldefexpr);
2412
+ READ_INT_FIELD(location, location, location);
2413
+ return node;
2414
+ }
2415
+
2416
+ static TypeName *
2417
+ _readTypeName(OUT_TYPE(TypeName, TypeName) msg)
2418
+ {
2419
+ TypeName *node = makeNode(TypeName);
2420
+ READ_LIST_FIELD(names, names, names);
2421
+ READ_UINT_FIELD(type_oid, typeOid, typeOid);
2422
+ READ_BOOL_FIELD(setof, setof, setof);
2423
+ READ_BOOL_FIELD(pct_type, pct_type, pct_type);
2424
+ READ_LIST_FIELD(typmods, typmods, typmods);
2425
+ READ_INT_FIELD(typemod, typemod, typemod);
2426
+ READ_LIST_FIELD(array_bounds, arrayBounds, arrayBounds);
2427
+ READ_INT_FIELD(location, location, location);
2428
+ return node;
2429
+ }
2430
+
2431
+ static ColumnDef *
2432
+ _readColumnDef(OUT_TYPE(ColumnDef, ColumnDef) msg)
2433
+ {
2434
+ ColumnDef *node = makeNode(ColumnDef);
2435
+ READ_STRING_FIELD(colname, colname, colname);
2436
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2437
+ READ_INT_FIELD(inhcount, inhcount, inhcount);
2438
+ READ_BOOL_FIELD(is_local, is_local, is_local);
2439
+ READ_BOOL_FIELD(is_not_null, is_not_null, is_not_null);
2440
+ READ_BOOL_FIELD(is_from_type, is_from_type, is_from_type);
2441
+ READ_CHAR_FIELD(storage, storage, storage);
2442
+ READ_NODE_PTR_FIELD(raw_default, raw_default, raw_default);
2443
+ READ_NODE_PTR_FIELD(cooked_default, cooked_default, cooked_default);
2444
+ READ_CHAR_FIELD(identity, identity, identity);
2445
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, identity_sequence, identitySequence, identitySequence);
2446
+ READ_CHAR_FIELD(generated, generated, generated);
2447
+ READ_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause);
2448
+ READ_UINT_FIELD(coll_oid, collOid, collOid);
2449
+ READ_LIST_FIELD(constraints, constraints, constraints);
2450
+ READ_LIST_FIELD(fdwoptions, fdwoptions, fdwoptions);
2451
+ READ_INT_FIELD(location, location, location);
2452
+ return node;
2453
+ }
2454
+
2455
+ static IndexElem *
2456
+ _readIndexElem(OUT_TYPE(IndexElem, IndexElem) msg)
2457
+ {
2458
+ IndexElem *node = makeNode(IndexElem);
2459
+ READ_STRING_FIELD(name, name, name);
2460
+ READ_NODE_PTR_FIELD(expr, expr, expr);
2461
+ READ_STRING_FIELD(indexcolname, indexcolname, indexcolname);
2462
+ READ_LIST_FIELD(collation, collation, collation);
2463
+ READ_LIST_FIELD(opclass, opclass, opclass);
2464
+ READ_LIST_FIELD(opclassopts, opclassopts, opclassopts);
2465
+ READ_ENUM_FIELD(SortByDir, ordering, ordering, ordering);
2466
+ READ_ENUM_FIELD(SortByNulls, nulls_ordering, nulls_ordering, nulls_ordering);
2467
+ return node;
2468
+ }
2469
+
2470
+ static Constraint *
2471
+ _readConstraint(OUT_TYPE(Constraint, Constraint) msg)
2472
+ {
2473
+ Constraint *node = makeNode(Constraint);
2474
+ READ_ENUM_FIELD(ConstrType, contype, contype, contype);
2475
+ READ_STRING_FIELD(conname, conname, conname);
2476
+ READ_BOOL_FIELD(deferrable, deferrable, deferrable);
2477
+ READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred);
2478
+ READ_INT_FIELD(location, location, location);
2479
+ READ_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit);
2480
+ READ_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr);
2481
+ READ_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr);
2482
+ READ_CHAR_FIELD(generated_when, generated_when, generated_when);
2483
+ READ_LIST_FIELD(keys, keys, keys);
2484
+ READ_LIST_FIELD(including, including, including);
2485
+ READ_LIST_FIELD(exclusions, exclusions, exclusions);
2486
+ READ_LIST_FIELD(options, options, options);
2487
+ READ_STRING_FIELD(indexname, indexname, indexname);
2488
+ READ_STRING_FIELD(indexspace, indexspace, indexspace);
2489
+ READ_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc);
2490
+ READ_STRING_FIELD(access_method, access_method, access_method);
2491
+ READ_NODE_PTR_FIELD(where_clause, where_clause, where_clause);
2492
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, pktable, pktable, pktable);
2493
+ READ_LIST_FIELD(fk_attrs, fk_attrs, fk_attrs);
2494
+ READ_LIST_FIELD(pk_attrs, pk_attrs, pk_attrs);
2495
+ READ_CHAR_FIELD(fk_matchtype, fk_matchtype, fk_matchtype);
2496
+ READ_CHAR_FIELD(fk_upd_action, fk_upd_action, fk_upd_action);
2497
+ READ_CHAR_FIELD(fk_del_action, fk_del_action, fk_del_action);
2498
+ READ_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop);
2499
+ READ_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid);
2500
+ READ_BOOL_FIELD(skip_validation, skip_validation, skip_validation);
2501
+ READ_BOOL_FIELD(initially_valid, initially_valid, initially_valid);
2502
+ return node;
2503
+ }
2504
+
2505
+ static DefElem *
2506
+ _readDefElem(OUT_TYPE(DefElem, DefElem) msg)
2507
+ {
2508
+ DefElem *node = makeNode(DefElem);
2509
+ READ_STRING_FIELD(defnamespace, defnamespace, defnamespace);
2510
+ READ_STRING_FIELD(defname, defname, defname);
2511
+ READ_NODE_PTR_FIELD(arg, arg, arg);
2512
+ READ_ENUM_FIELD(DefElemAction, defaction, defaction, defaction);
2513
+ READ_INT_FIELD(location, location, location);
2514
+ return node;
2515
+ }
2516
+
2517
+ static RangeTblEntry *
2518
+ _readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg)
2519
+ {
2520
+ RangeTblEntry *node = makeNode(RangeTblEntry);
2521
+ READ_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind);
2522
+ READ_UINT_FIELD(relid, relid, relid);
2523
+ READ_CHAR_FIELD(relkind, relkind, relkind);
2524
+ READ_INT_FIELD(rellockmode, rellockmode, rellockmode);
2525
+ READ_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample);
2526
+ READ_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery);
2527
+ READ_BOOL_FIELD(security_barrier, security_barrier, security_barrier);
2528
+ READ_ENUM_FIELD(JoinType, jointype, jointype, jointype);
2529
+ READ_INT_FIELD(joinmergedcols, joinmergedcols, joinmergedcols);
2530
+ READ_LIST_FIELD(joinaliasvars, joinaliasvars, joinaliasvars);
2531
+ READ_LIST_FIELD(joinleftcols, joinleftcols, joinleftcols);
2532
+ READ_LIST_FIELD(joinrightcols, joinrightcols, joinrightcols);
2533
+ READ_LIST_FIELD(functions, functions, functions);
2534
+ READ_BOOL_FIELD(funcordinality, funcordinality, funcordinality);
2535
+ READ_SPECIFIC_NODE_PTR_FIELD(TableFunc, table_func, tablefunc, tablefunc, tablefunc);
2536
+ READ_LIST_FIELD(values_lists, values_lists, values_lists);
2537
+ READ_STRING_FIELD(ctename, ctename, ctename);
2538
+ READ_UINT_FIELD(ctelevelsup, ctelevelsup, ctelevelsup);
2539
+ READ_BOOL_FIELD(self_reference, self_reference, self_reference);
2540
+ READ_LIST_FIELD(coltypes, coltypes, coltypes);
2541
+ READ_LIST_FIELD(coltypmods, coltypmods, coltypmods);
2542
+ READ_LIST_FIELD(colcollations, colcollations, colcollations);
2543
+ READ_STRING_FIELD(enrname, enrname, enrname);
2544
+ READ_FLOAT_FIELD(enrtuples, enrtuples, enrtuples);
2545
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias);
2546
+ READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref);
2547
+ READ_BOOL_FIELD(lateral, lateral, lateral);
2548
+ READ_BOOL_FIELD(inh, inh, inh);
2549
+ READ_BOOL_FIELD(in_from_cl, inFromCl, inFromCl);
2550
+ READ_UINT_FIELD(required_perms, requiredPerms, requiredPerms);
2551
+ READ_UINT_FIELD(check_as_user, checkAsUser, checkAsUser);
2552
+ READ_BITMAPSET_FIELD(selected_cols, selectedCols, selectedCols);
2553
+ READ_BITMAPSET_FIELD(inserted_cols, insertedCols, insertedCols);
2554
+ READ_BITMAPSET_FIELD(updated_cols, updatedCols, updatedCols);
2555
+ READ_BITMAPSET_FIELD(extra_updated_cols, extraUpdatedCols, extraUpdatedCols);
2556
+ READ_LIST_FIELD(security_quals, securityQuals, securityQuals);
2557
+ return node;
2558
+ }
2559
+
2560
+ static RangeTblFunction *
2561
+ _readRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) msg)
2562
+ {
2563
+ RangeTblFunction *node = makeNode(RangeTblFunction);
2564
+ READ_NODE_PTR_FIELD(funcexpr, funcexpr, funcexpr);
2565
+ READ_INT_FIELD(funccolcount, funccolcount, funccolcount);
2566
+ READ_LIST_FIELD(funccolnames, funccolnames, funccolnames);
2567
+ READ_LIST_FIELD(funccoltypes, funccoltypes, funccoltypes);
2568
+ READ_LIST_FIELD(funccoltypmods, funccoltypmods, funccoltypmods);
2569
+ READ_LIST_FIELD(funccolcollations, funccolcollations, funccolcollations);
2570
+ READ_BITMAPSET_FIELD(funcparams, funcparams, funcparams);
2571
+ return node;
2572
+ }
2573
+
2574
+ static TableSampleClause *
2575
+ _readTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) msg)
2576
+ {
2577
+ TableSampleClause *node = makeNode(TableSampleClause);
2578
+ READ_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler);
2579
+ READ_LIST_FIELD(args, args, args);
2580
+ READ_EXPR_PTR_FIELD(repeatable, repeatable, repeatable);
2581
+ return node;
2582
+ }
2583
+
2584
+ static WithCheckOption *
2585
+ _readWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) msg)
2586
+ {
2587
+ WithCheckOption *node = makeNode(WithCheckOption);
2588
+ READ_ENUM_FIELD(WCOKind, kind, kind, kind);
2589
+ READ_STRING_FIELD(relname, relname, relname);
2590
+ READ_STRING_FIELD(polname, polname, polname);
2591
+ READ_NODE_PTR_FIELD(qual, qual, qual);
2592
+ READ_BOOL_FIELD(cascaded, cascaded, cascaded);
2593
+ return node;
2594
+ }
2595
+
2596
+ static SortGroupClause *
2597
+ _readSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) msg)
2598
+ {
2599
+ SortGroupClause *node = makeNode(SortGroupClause);
2600
+ READ_UINT_FIELD(tle_sort_group_ref, tleSortGroupRef, tleSortGroupRef);
2601
+ READ_UINT_FIELD(eqop, eqop, eqop);
2602
+ READ_UINT_FIELD(sortop, sortop, sortop);
2603
+ READ_BOOL_FIELD(nulls_first, nulls_first, nulls_first);
2604
+ READ_BOOL_FIELD(hashable, hashable, hashable);
2605
+ return node;
2606
+ }
2607
+
2608
+ static GroupingSet *
2609
+ _readGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) msg)
2610
+ {
2611
+ GroupingSet *node = makeNode(GroupingSet);
2612
+ READ_ENUM_FIELD(GroupingSetKind, kind, kind, kind);
2613
+ READ_LIST_FIELD(content, content, content);
2614
+ READ_INT_FIELD(location, location, location);
2615
+ return node;
2616
+ }
2617
+
2618
+ static WindowClause *
2619
+ _readWindowClause(OUT_TYPE(WindowClause, WindowClause) msg)
2620
+ {
2621
+ WindowClause *node = makeNode(WindowClause);
2622
+ READ_STRING_FIELD(name, name, name);
2623
+ READ_STRING_FIELD(refname, refname, refname);
2624
+ READ_LIST_FIELD(partition_clause, partitionClause, partitionClause);
2625
+ READ_LIST_FIELD(order_clause, orderClause, orderClause);
2626
+ READ_INT_FIELD(frame_options, frameOptions, frameOptions);
2627
+ READ_NODE_PTR_FIELD(start_offset, startOffset, startOffset);
2628
+ READ_NODE_PTR_FIELD(end_offset, endOffset, endOffset);
2629
+ READ_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc);
2630
+ READ_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc);
2631
+ READ_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl);
2632
+ READ_BOOL_FIELD(in_range_asc, inRangeAsc, inRangeAsc);
2633
+ READ_BOOL_FIELD(in_range_nulls_first, inRangeNullsFirst, inRangeNullsFirst);
2634
+ READ_UINT_FIELD(winref, winref, winref);
2635
+ READ_BOOL_FIELD(copied_order, copiedOrder, copiedOrder);
2636
+ return node;
2637
+ }
2638
+
2639
+ static ObjectWithArgs *
2640
+ _readObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) msg)
2641
+ {
2642
+ ObjectWithArgs *node = makeNode(ObjectWithArgs);
2643
+ READ_LIST_FIELD(objname, objname, objname);
2644
+ READ_LIST_FIELD(objargs, objargs, objargs);
2645
+ READ_BOOL_FIELD(args_unspecified, args_unspecified, args_unspecified);
2646
+ return node;
2647
+ }
2648
+
2649
+ static AccessPriv *
2650
+ _readAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) msg)
2651
+ {
2652
+ AccessPriv *node = makeNode(AccessPriv);
2653
+ READ_STRING_FIELD(priv_name, priv_name, priv_name);
2654
+ READ_LIST_FIELD(cols, cols, cols);
2655
+ return node;
2656
+ }
2657
+
2658
+ static CreateOpClassItem *
2659
+ _readCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) msg)
2660
+ {
2661
+ CreateOpClassItem *node = makeNode(CreateOpClassItem);
2662
+ READ_INT_FIELD(itemtype, itemtype, itemtype);
2663
+ READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, name, name, name);
2664
+ READ_INT_FIELD(number, number, number);
2665
+ READ_LIST_FIELD(order_family, order_family, order_family);
2666
+ READ_LIST_FIELD(class_args, class_args, class_args);
2667
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, storedtype, storedtype, storedtype);
2668
+ return node;
2669
+ }
2670
+
2671
+ static TableLikeClause *
2672
+ _readTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) msg)
2673
+ {
2674
+ TableLikeClause *node = makeNode(TableLikeClause);
2675
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2676
+ READ_UINT_FIELD(options, options, options);
2677
+ return node;
2678
+ }
2679
+
2680
+ static FunctionParameter *
2681
+ _readFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) msg)
2682
+ {
2683
+ FunctionParameter *node = makeNode(FunctionParameter);
2684
+ READ_STRING_FIELD(name, name, name);
2685
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, arg_type, argType, argType);
2686
+ READ_ENUM_FIELD(FunctionParameterMode, mode, mode, mode);
2687
+ READ_NODE_PTR_FIELD(defexpr, defexpr, defexpr);
2688
+ return node;
2689
+ }
2690
+
2691
+ static LockingClause *
2692
+ _readLockingClause(OUT_TYPE(LockingClause, LockingClause) msg)
2693
+ {
2694
+ LockingClause *node = makeNode(LockingClause);
2695
+ READ_LIST_FIELD(locked_rels, lockedRels, lockedRels);
2696
+ READ_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
2697
+ READ_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
2698
+ return node;
2699
+ }
2700
+
2701
+ static RowMarkClause *
2702
+ _readRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) msg)
2703
+ {
2704
+ RowMarkClause *node = makeNode(RowMarkClause);
2705
+ READ_UINT_FIELD(rti, rti, rti);
2706
+ READ_ENUM_FIELD(LockClauseStrength, strength, strength, strength);
2707
+ READ_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy);
2708
+ READ_BOOL_FIELD(pushed_down, pushedDown, pushedDown);
2709
+ return node;
2710
+ }
2711
+
2712
+ static XmlSerialize *
2713
+ _readXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) msg)
2714
+ {
2715
+ XmlSerialize *node = makeNode(XmlSerialize);
2716
+ READ_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption);
2717
+ READ_NODE_PTR_FIELD(expr, expr, expr);
2718
+ READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName);
2719
+ READ_INT_FIELD(location, location, location);
2720
+ return node;
2721
+ }
2722
+
2723
+ static WithClause *
2724
+ _readWithClause(OUT_TYPE(WithClause, WithClause) msg)
2725
+ {
2726
+ WithClause *node = makeNode(WithClause);
2727
+ READ_LIST_FIELD(ctes, ctes, ctes);
2728
+ READ_BOOL_FIELD(recursive, recursive, recursive);
2729
+ READ_INT_FIELD(location, location, location);
2730
+ return node;
2731
+ }
2732
+
2733
+ static InferClause *
2734
+ _readInferClause(OUT_TYPE(InferClause, InferClause) msg)
2735
+ {
2736
+ InferClause *node = makeNode(InferClause);
2737
+ READ_LIST_FIELD(index_elems, indexElems, indexElems);
2738
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2739
+ READ_STRING_FIELD(conname, conname, conname);
2740
+ READ_INT_FIELD(location, location, location);
2741
+ return node;
2742
+ }
2743
+
2744
+ static OnConflictClause *
2745
+ _readOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) msg)
2746
+ {
2747
+ OnConflictClause *node = makeNode(OnConflictClause);
2748
+ READ_ENUM_FIELD(OnConflictAction, action, action, action);
2749
+ READ_SPECIFIC_NODE_PTR_FIELD(InferClause, infer_clause, infer, infer, infer);
2750
+ READ_LIST_FIELD(target_list, targetList, targetList);
2751
+ READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause);
2752
+ READ_INT_FIELD(location, location, location);
2753
+ return node;
2754
+ }
2755
+
2756
+ static CommonTableExpr *
2757
+ _readCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) msg)
2758
+ {
2759
+ CommonTableExpr *node = makeNode(CommonTableExpr);
2760
+ READ_STRING_FIELD(ctename, ctename, ctename);
2761
+ READ_LIST_FIELD(aliascolnames, aliascolnames, aliascolnames);
2762
+ READ_ENUM_FIELD(CTEMaterialize, ctematerialized, ctematerialized, ctematerialized);
2763
+ READ_NODE_PTR_FIELD(ctequery, ctequery, ctequery);
2764
+ READ_INT_FIELD(location, location, location);
2765
+ READ_BOOL_FIELD(cterecursive, cterecursive, cterecursive);
2766
+ READ_INT_FIELD(cterefcount, cterefcount, cterefcount);
2767
+ READ_LIST_FIELD(ctecolnames, ctecolnames, ctecolnames);
2768
+ READ_LIST_FIELD(ctecoltypes, ctecoltypes, ctecoltypes);
2769
+ READ_LIST_FIELD(ctecoltypmods, ctecoltypmods, ctecoltypmods);
2770
+ READ_LIST_FIELD(ctecolcollations, ctecolcollations, ctecolcollations);
2771
+ return node;
2772
+ }
2773
+
2774
+ static RoleSpec *
2775
+ _readRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) msg)
2776
+ {
2777
+ RoleSpec *node = makeNode(RoleSpec);
2778
+ READ_ENUM_FIELD(RoleSpecType, roletype, roletype, roletype);
2779
+ READ_STRING_FIELD(rolename, rolename, rolename);
2780
+ READ_INT_FIELD(location, location, location);
2781
+ return node;
2782
+ }
2783
+
2784
+ static TriggerTransition *
2785
+ _readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg)
2786
+ {
2787
+ TriggerTransition *node = makeNode(TriggerTransition);
2788
+ READ_STRING_FIELD(name, name, name);
2789
+ READ_BOOL_FIELD(is_new, isNew, isNew);
2790
+ READ_BOOL_FIELD(is_table, isTable, isTable);
2791
+ return node;
2792
+ }
2793
+
2794
+ static PartitionElem *
2795
+ _readPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) msg)
2796
+ {
2797
+ PartitionElem *node = makeNode(PartitionElem);
2798
+ READ_STRING_FIELD(name, name, name);
2799
+ READ_NODE_PTR_FIELD(expr, expr, expr);
2800
+ READ_LIST_FIELD(collation, collation, collation);
2801
+ READ_LIST_FIELD(opclass, opclass, opclass);
2802
+ READ_INT_FIELD(location, location, location);
2803
+ return node;
2804
+ }
2805
+
2806
+ static PartitionSpec *
2807
+ _readPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) msg)
2808
+ {
2809
+ PartitionSpec *node = makeNode(PartitionSpec);
2810
+ READ_STRING_FIELD(strategy, strategy, strategy);
2811
+ READ_LIST_FIELD(part_params, partParams, partParams);
2812
+ READ_INT_FIELD(location, location, location);
2813
+ return node;
2814
+ }
2815
+
2816
+ static PartitionBoundSpec *
2817
+ _readPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) msg)
2818
+ {
2819
+ PartitionBoundSpec *node = makeNode(PartitionBoundSpec);
2820
+ READ_CHAR_FIELD(strategy, strategy, strategy);
2821
+ READ_BOOL_FIELD(is_default, is_default, is_default);
2822
+ READ_INT_FIELD(modulus, modulus, modulus);
2823
+ READ_INT_FIELD(remainder, remainder, remainder);
2824
+ READ_LIST_FIELD(listdatums, listdatums, listdatums);
2825
+ READ_LIST_FIELD(lowerdatums, lowerdatums, lowerdatums);
2826
+ READ_LIST_FIELD(upperdatums, upperdatums, upperdatums);
2827
+ READ_INT_FIELD(location, location, location);
2828
+ return node;
2829
+ }
2830
+
2831
+ static PartitionRangeDatum *
2832
+ _readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg)
2833
+ {
2834
+ PartitionRangeDatum *node = makeNode(PartitionRangeDatum);
2835
+ READ_ENUM_FIELD(PartitionRangeDatumKind, kind, kind, kind);
2836
+ READ_NODE_PTR_FIELD(value, value, value);
2837
+ READ_INT_FIELD(location, location, location);
2838
+ return node;
2839
+ }
2840
+
2841
+ static PartitionCmd *
2842
+ _readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg)
2843
+ {
2844
+ PartitionCmd *node = makeNode(PartitionCmd);
2845
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, name, name, name);
2846
+ READ_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, bound, bound, bound);
2847
+ return node;
2848
+ }
2849
+
2850
+ static VacuumRelation *
2851
+ _readVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) msg)
2852
+ {
2853
+ VacuumRelation *node = makeNode(VacuumRelation);
2854
+ READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation);
2855
+ READ_UINT_FIELD(oid, oid, oid);
2856
+ READ_LIST_FIELD(va_cols, va_cols, va_cols);
2857
+ return node;
2858
+ }
2859
+
2860
+ static InlineCodeBlock *
2861
+ _readInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) msg)
2862
+ {
2863
+ InlineCodeBlock *node = makeNode(InlineCodeBlock);
2864
+ READ_STRING_FIELD(source_text, source_text, source_text);
2865
+ READ_UINT_FIELD(lang_oid, langOid, langOid);
2866
+ READ_BOOL_FIELD(lang_is_trusted, langIsTrusted, langIsTrusted);
2867
+ READ_BOOL_FIELD(atomic, atomic, atomic);
2868
+ return node;
2869
+ }
2870
+
2871
+ static CallContext *
2872
+ _readCallContext(OUT_TYPE(CallContext, CallContext) msg)
2873
+ {
2874
+ CallContext *node = makeNode(CallContext);
2875
+ READ_BOOL_FIELD(atomic, atomic, atomic);
2876
+ return node;
2877
+ }
2878
+