pg_query 1.1.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (478) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +163 -52
  3. data/README.md +80 -69
  4. data/Rakefile +82 -1
  5. data/ext/pg_query/extconf.rb +3 -31
  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 +988 -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 +9953 -0
  381. data/ext/pg_query/pg_query_fingerprint.c +292 -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 +437 -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 +16 -1117
  460. data/lib/pg_query/filter_columns.rb +86 -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 -200
  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 +64 -43
  471. data/lib/pg_query/version.rb +2 -2
  472. metadata +473 -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/legacy_parsetree.rb +0 -109
  478. data/lib/pg_query/node_types.rb +0 -284
@@ -0,0 +1,119 @@
1
+ /*-------------------------------------------------------------------------
2
+ *
3
+ * planmain.h
4
+ * prototypes for various files in optimizer/plan
5
+ *
6
+ *
7
+ * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
8
+ * Portions Copyright (c) 1994, Regents of the University of California
9
+ *
10
+ * src/include/optimizer/planmain.h
11
+ *
12
+ *-------------------------------------------------------------------------
13
+ */
14
+ #ifndef PLANMAIN_H
15
+ #define PLANMAIN_H
16
+
17
+ #include "nodes/pathnodes.h"
18
+ #include "nodes/plannodes.h"
19
+
20
+ /* GUC parameters */
21
+ #define DEFAULT_CURSOR_TUPLE_FRACTION 0.1
22
+ extern double cursor_tuple_fraction;
23
+
24
+ /* query_planner callback to compute query_pathkeys */
25
+ typedef void (*query_pathkeys_callback) (PlannerInfo *root, void *extra);
26
+
27
+ /*
28
+ * prototypes for plan/planmain.c
29
+ */
30
+ extern RelOptInfo *query_planner(PlannerInfo *root,
31
+ query_pathkeys_callback qp_callback, void *qp_extra);
32
+
33
+ /*
34
+ * prototypes for plan/planagg.c
35
+ */
36
+ extern void preprocess_minmax_aggregates(PlannerInfo *root);
37
+
38
+ /*
39
+ * prototypes for plan/createplan.c
40
+ */
41
+ extern Plan *create_plan(PlannerInfo *root, Path *best_path);
42
+ extern ForeignScan *make_foreignscan(List *qptlist, List *qpqual,
43
+ Index scanrelid, List *fdw_exprs, List *fdw_private,
44
+ List *fdw_scan_tlist, List *fdw_recheck_quals,
45
+ Plan *outer_plan);
46
+ extern Plan *change_plan_targetlist(Plan *subplan, List *tlist,
47
+ bool tlist_parallel_safe);
48
+ extern Plan *materialize_finished_plan(Plan *subplan);
49
+ extern bool is_projection_capable_path(Path *path);
50
+ extern bool is_projection_capable_plan(Plan *plan);
51
+
52
+ /* External use of these functions is deprecated: */
53
+ extern Sort *make_sort_from_sortclauses(List *sortcls, Plan *lefttree);
54
+ extern Agg *make_agg(List *tlist, List *qual,
55
+ AggStrategy aggstrategy, AggSplit aggsplit,
56
+ int numGroupCols, AttrNumber *grpColIdx, Oid *grpOperators, Oid *grpCollations,
57
+ List *groupingSets, List *chain, double dNumGroups,
58
+ Size transitionSpace, Plan *lefttree);
59
+ extern Limit *make_limit(Plan *lefttree, Node *limitOffset, Node *limitCount,
60
+ LimitOption limitOption, int uniqNumCols,
61
+ AttrNumber *uniqColIdx, Oid *uniqOperators,
62
+ Oid *uniqCollations);
63
+
64
+ /*
65
+ * prototypes for plan/initsplan.c
66
+ */
67
+ extern int from_collapse_limit;
68
+ extern int join_collapse_limit;
69
+
70
+ extern void add_base_rels_to_query(PlannerInfo *root, Node *jtnode);
71
+ extern void add_other_rels_to_query(PlannerInfo *root);
72
+ extern void build_base_rel_tlists(PlannerInfo *root, List *final_tlist);
73
+ extern void add_vars_to_targetlist(PlannerInfo *root, List *vars,
74
+ Relids where_needed, bool create_new_ph);
75
+ extern void find_lateral_references(PlannerInfo *root);
76
+ extern void create_lateral_join_info(PlannerInfo *root);
77
+ extern List *deconstruct_jointree(PlannerInfo *root);
78
+ extern void distribute_restrictinfo_to_rels(PlannerInfo *root,
79
+ RestrictInfo *restrictinfo);
80
+ extern void process_implied_equality(PlannerInfo *root,
81
+ Oid opno,
82
+ Oid collation,
83
+ Expr *item1,
84
+ Expr *item2,
85
+ Relids qualscope,
86
+ Relids nullable_relids,
87
+ Index security_level,
88
+ bool below_outer_join,
89
+ bool both_const);
90
+ extern RestrictInfo *build_implied_join_equality(PlannerInfo *root,
91
+ Oid opno,
92
+ Oid collation,
93
+ Expr *item1,
94
+ Expr *item2,
95
+ Relids qualscope,
96
+ Relids nullable_relids,
97
+ Index security_level);
98
+ extern void match_foreign_keys_to_quals(PlannerInfo *root);
99
+
100
+ /*
101
+ * prototypes for plan/analyzejoins.c
102
+ */
103
+ extern List *remove_useless_joins(PlannerInfo *root, List *joinlist);
104
+ extern void reduce_unique_semijoins(PlannerInfo *root);
105
+ extern bool query_supports_distinctness(Query *query);
106
+ extern bool query_is_distinct_for(Query *query, List *colnos, List *opids);
107
+ extern bool innerrel_is_unique(PlannerInfo *root,
108
+ Relids joinrelids, Relids outerrelids, RelOptInfo *innerrel,
109
+ JoinType jointype, List *restrictlist, bool force_cache);
110
+
111
+ /*
112
+ * prototypes for plan/setrefs.c
113
+ */
114
+ extern Plan *set_plan_references(PlannerInfo *root, Plan *plan);
115
+ extern void record_plan_function_dependency(PlannerInfo *root, Oid funcid);
116
+ extern void record_plan_type_dependency(PlannerInfo *root, Oid typid);
117
+ extern bool extract_query_dependencies_walker(Node *node, PlannerInfo *root);
118
+
119
+ #endif /* PLANMAIN_H */
@@ -0,0 +1,49 @@
1
+ /*-------------------------------------------------------------------------
2
+ *
3
+ * analyze.h
4
+ * parse analysis for optimizable statements
5
+ *
6
+ *
7
+ * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
8
+ * Portions Copyright (c) 1994, Regents of the University of California
9
+ *
10
+ * src/include/parser/analyze.h
11
+ *
12
+ *-------------------------------------------------------------------------
13
+ */
14
+ #ifndef ANALYZE_H
15
+ #define ANALYZE_H
16
+
17
+ #include "parser/parse_node.h"
18
+
19
+ /* Hook for plugins to get control at end of parse analysis */
20
+ typedef void (*post_parse_analyze_hook_type) (ParseState *pstate,
21
+ Query *query);
22
+ extern PGDLLIMPORT post_parse_analyze_hook_type post_parse_analyze_hook;
23
+
24
+
25
+ extern Query *parse_analyze(RawStmt *parseTree, const char *sourceText,
26
+ Oid *paramTypes, int numParams, QueryEnvironment *queryEnv);
27
+ extern Query *parse_analyze_varparams(RawStmt *parseTree, const char *sourceText,
28
+ Oid **paramTypes, int *numParams);
29
+
30
+ extern Query *parse_sub_analyze(Node *parseTree, ParseState *parentParseState,
31
+ CommonTableExpr *parentCTE,
32
+ bool locked_from_parent,
33
+ bool resolve_unknowns);
34
+
35
+ extern Query *transformTopLevelStmt(ParseState *pstate, RawStmt *parseTree);
36
+ extern Query *transformStmt(ParseState *pstate, Node *parseTree);
37
+
38
+ extern bool analyze_requires_snapshot(RawStmt *parseTree);
39
+
40
+ extern const char *LCS_asString(LockClauseStrength strength);
41
+ extern void CheckSelectLocking(Query *qry, LockClauseStrength strength);
42
+ extern void applyLockingClause(Query *qry, Index rtindex,
43
+ LockClauseStrength strength,
44
+ LockWaitPolicy waitPolicy, bool pushedDown);
45
+
46
+ extern List *BuildOnConflictExcludedTargetlist(Relation targetrel,
47
+ Index exclRelIndex);
48
+
49
+ #endif /* ANALYZE_H */
@@ -0,0 +1,1067 @@
1
+ /* A Bison parser, made by GNU Bison 2.3. */
2
+
3
+ /* Skeleton interface for Bison's Yacc-like parsers in C
4
+
5
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6
+ Free Software Foundation, Inc.
7
+
8
+ This program is free software; you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation; either version 2, or (at your option)
11
+ any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program; if not, write to the Free Software
20
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
21
+ Boston, MA 02110-1301, USA. */
22
+
23
+ /* As a special exception, you may create a larger work that contains
24
+ part or all of the Bison parser skeleton and distribute that work
25
+ under terms of your choice, so long as that work isn't itself a
26
+ parser generator using the skeleton or a modified version thereof
27
+ as a parser skeleton. Alternatively, if you modify or redistribute
28
+ the parser skeleton itself, you may (at your option) remove this
29
+ special exception, which will cause the skeleton and the resulting
30
+ Bison output files to be licensed under the GNU General Public
31
+ License without this special exception.
32
+
33
+ This special exception was added by the Free Software Foundation in
34
+ version 2.2 of Bison. */
35
+
36
+ /* Tokens. */
37
+ #ifndef YYTOKENTYPE
38
+ # define YYTOKENTYPE
39
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
40
+ know about them. */
41
+ enum yytokentype {
42
+ IDENT = 258,
43
+ UIDENT = 259,
44
+ FCONST = 260,
45
+ SCONST = 261,
46
+ USCONST = 262,
47
+ BCONST = 263,
48
+ XCONST = 264,
49
+ Op = 265,
50
+ ICONST = 266,
51
+ PARAM = 267,
52
+ TYPECAST = 268,
53
+ DOT_DOT = 269,
54
+ COLON_EQUALS = 270,
55
+ EQUALS_GREATER = 271,
56
+ LESS_EQUALS = 272,
57
+ GREATER_EQUALS = 273,
58
+ NOT_EQUALS = 274,
59
+ SQL_COMMENT = 275,
60
+ C_COMMENT = 276,
61
+ ABORT_P = 277,
62
+ ABSOLUTE_P = 278,
63
+ ACCESS = 279,
64
+ ACTION = 280,
65
+ ADD_P = 281,
66
+ ADMIN = 282,
67
+ AFTER = 283,
68
+ AGGREGATE = 284,
69
+ ALL = 285,
70
+ ALSO = 286,
71
+ ALTER = 287,
72
+ ALWAYS = 288,
73
+ ANALYSE = 289,
74
+ ANALYZE = 290,
75
+ AND = 291,
76
+ ANY = 292,
77
+ ARRAY = 293,
78
+ AS = 294,
79
+ ASC = 295,
80
+ ASSERTION = 296,
81
+ ASSIGNMENT = 297,
82
+ ASYMMETRIC = 298,
83
+ AT = 299,
84
+ ATTACH = 300,
85
+ ATTRIBUTE = 301,
86
+ AUTHORIZATION = 302,
87
+ BACKWARD = 303,
88
+ BEFORE = 304,
89
+ BEGIN_P = 305,
90
+ BETWEEN = 306,
91
+ BIGINT = 307,
92
+ BINARY = 308,
93
+ BIT = 309,
94
+ BOOLEAN_P = 310,
95
+ BOTH = 311,
96
+ BY = 312,
97
+ CACHE = 313,
98
+ CALL = 314,
99
+ CALLED = 315,
100
+ CASCADE = 316,
101
+ CASCADED = 317,
102
+ CASE = 318,
103
+ CAST = 319,
104
+ CATALOG_P = 320,
105
+ CHAIN = 321,
106
+ CHAR_P = 322,
107
+ CHARACTER = 323,
108
+ CHARACTERISTICS = 324,
109
+ CHECK = 325,
110
+ CHECKPOINT = 326,
111
+ CLASS = 327,
112
+ CLOSE = 328,
113
+ CLUSTER = 329,
114
+ COALESCE = 330,
115
+ COLLATE = 331,
116
+ COLLATION = 332,
117
+ COLUMN = 333,
118
+ COLUMNS = 334,
119
+ COMMENT = 335,
120
+ COMMENTS = 336,
121
+ COMMIT = 337,
122
+ COMMITTED = 338,
123
+ CONCURRENTLY = 339,
124
+ CONFIGURATION = 340,
125
+ CONFLICT = 341,
126
+ CONNECTION = 342,
127
+ CONSTRAINT = 343,
128
+ CONSTRAINTS = 344,
129
+ CONTENT_P = 345,
130
+ CONTINUE_P = 346,
131
+ CONVERSION_P = 347,
132
+ COPY = 348,
133
+ COST = 349,
134
+ CREATE = 350,
135
+ CROSS = 351,
136
+ CSV = 352,
137
+ CUBE = 353,
138
+ CURRENT_P = 354,
139
+ CURRENT_CATALOG = 355,
140
+ CURRENT_DATE = 356,
141
+ CURRENT_ROLE = 357,
142
+ CURRENT_SCHEMA = 358,
143
+ CURRENT_TIME = 359,
144
+ CURRENT_TIMESTAMP = 360,
145
+ CURRENT_USER = 361,
146
+ CURSOR = 362,
147
+ CYCLE = 363,
148
+ DATA_P = 364,
149
+ DATABASE = 365,
150
+ DAY_P = 366,
151
+ DEALLOCATE = 367,
152
+ DEC = 368,
153
+ DECIMAL_P = 369,
154
+ DECLARE = 370,
155
+ DEFAULT = 371,
156
+ DEFAULTS = 372,
157
+ DEFERRABLE = 373,
158
+ DEFERRED = 374,
159
+ DEFINER = 375,
160
+ DELETE_P = 376,
161
+ DELIMITER = 377,
162
+ DELIMITERS = 378,
163
+ DEPENDS = 379,
164
+ DESC = 380,
165
+ DETACH = 381,
166
+ DICTIONARY = 382,
167
+ DISABLE_P = 383,
168
+ DISCARD = 384,
169
+ DISTINCT = 385,
170
+ DO = 386,
171
+ DOCUMENT_P = 387,
172
+ DOMAIN_P = 388,
173
+ DOUBLE_P = 389,
174
+ DROP = 390,
175
+ EACH = 391,
176
+ ELSE = 392,
177
+ ENABLE_P = 393,
178
+ ENCODING = 394,
179
+ ENCRYPTED = 395,
180
+ END_P = 396,
181
+ ENUM_P = 397,
182
+ ESCAPE = 398,
183
+ EVENT = 399,
184
+ EXCEPT = 400,
185
+ EXCLUDE = 401,
186
+ EXCLUDING = 402,
187
+ EXCLUSIVE = 403,
188
+ EXECUTE = 404,
189
+ EXISTS = 405,
190
+ EXPLAIN = 406,
191
+ EXPRESSION = 407,
192
+ EXTENSION = 408,
193
+ EXTERNAL = 409,
194
+ EXTRACT = 410,
195
+ FALSE_P = 411,
196
+ FAMILY = 412,
197
+ FETCH = 413,
198
+ FILTER = 414,
199
+ FIRST_P = 415,
200
+ FLOAT_P = 416,
201
+ FOLLOWING = 417,
202
+ FOR = 418,
203
+ FORCE = 419,
204
+ FOREIGN = 420,
205
+ FORWARD = 421,
206
+ FREEZE = 422,
207
+ FROM = 423,
208
+ FULL = 424,
209
+ FUNCTION = 425,
210
+ FUNCTIONS = 426,
211
+ GENERATED = 427,
212
+ GLOBAL = 428,
213
+ GRANT = 429,
214
+ GRANTED = 430,
215
+ GREATEST = 431,
216
+ GROUP_P = 432,
217
+ GROUPING = 433,
218
+ GROUPS = 434,
219
+ HANDLER = 435,
220
+ HAVING = 436,
221
+ HEADER_P = 437,
222
+ HOLD = 438,
223
+ HOUR_P = 439,
224
+ IDENTITY_P = 440,
225
+ IF_P = 441,
226
+ ILIKE = 442,
227
+ IMMEDIATE = 443,
228
+ IMMUTABLE = 444,
229
+ IMPLICIT_P = 445,
230
+ IMPORT_P = 446,
231
+ IN_P = 447,
232
+ INCLUDE = 448,
233
+ INCLUDING = 449,
234
+ INCREMENT = 450,
235
+ INDEX = 451,
236
+ INDEXES = 452,
237
+ INHERIT = 453,
238
+ INHERITS = 454,
239
+ INITIALLY = 455,
240
+ INLINE_P = 456,
241
+ INNER_P = 457,
242
+ INOUT = 458,
243
+ INPUT_P = 459,
244
+ INSENSITIVE = 460,
245
+ INSERT = 461,
246
+ INSTEAD = 462,
247
+ INT_P = 463,
248
+ INTEGER = 464,
249
+ INTERSECT = 465,
250
+ INTERVAL = 466,
251
+ INTO = 467,
252
+ INVOKER = 468,
253
+ IS = 469,
254
+ ISNULL = 470,
255
+ ISOLATION = 471,
256
+ JOIN = 472,
257
+ KEY = 473,
258
+ LABEL = 474,
259
+ LANGUAGE = 475,
260
+ LARGE_P = 476,
261
+ LAST_P = 477,
262
+ LATERAL_P = 478,
263
+ LEADING = 479,
264
+ LEAKPROOF = 480,
265
+ LEAST = 481,
266
+ LEFT = 482,
267
+ LEVEL = 483,
268
+ LIKE = 484,
269
+ LIMIT = 485,
270
+ LISTEN = 486,
271
+ LOAD = 487,
272
+ LOCAL = 488,
273
+ LOCALTIME = 489,
274
+ LOCALTIMESTAMP = 490,
275
+ LOCATION = 491,
276
+ LOCK_P = 492,
277
+ LOCKED = 493,
278
+ LOGGED = 494,
279
+ MAPPING = 495,
280
+ MATCH = 496,
281
+ MATERIALIZED = 497,
282
+ MAXVALUE = 498,
283
+ METHOD = 499,
284
+ MINUTE_P = 500,
285
+ MINVALUE = 501,
286
+ MODE = 502,
287
+ MONTH_P = 503,
288
+ MOVE = 504,
289
+ NAME_P = 505,
290
+ NAMES = 506,
291
+ NATIONAL = 507,
292
+ NATURAL = 508,
293
+ NCHAR = 509,
294
+ NEW = 510,
295
+ NEXT = 511,
296
+ NFC = 512,
297
+ NFD = 513,
298
+ NFKC = 514,
299
+ NFKD = 515,
300
+ NO = 516,
301
+ NONE = 517,
302
+ NORMALIZE = 518,
303
+ NORMALIZED = 519,
304
+ NOT = 520,
305
+ NOTHING = 521,
306
+ NOTIFY = 522,
307
+ NOTNULL = 523,
308
+ NOWAIT = 524,
309
+ NULL_P = 525,
310
+ NULLIF = 526,
311
+ NULLS_P = 527,
312
+ NUMERIC = 528,
313
+ OBJECT_P = 529,
314
+ OF = 530,
315
+ OFF = 531,
316
+ OFFSET = 532,
317
+ OIDS = 533,
318
+ OLD = 534,
319
+ ON = 535,
320
+ ONLY = 536,
321
+ OPERATOR = 537,
322
+ OPTION = 538,
323
+ OPTIONS = 539,
324
+ OR = 540,
325
+ ORDER = 541,
326
+ ORDINALITY = 542,
327
+ OTHERS = 543,
328
+ OUT_P = 544,
329
+ OUTER_P = 545,
330
+ OVER = 546,
331
+ OVERLAPS = 547,
332
+ OVERLAY = 548,
333
+ OVERRIDING = 549,
334
+ OWNED = 550,
335
+ OWNER = 551,
336
+ PARALLEL = 552,
337
+ PARSER = 553,
338
+ PARTIAL = 554,
339
+ PARTITION = 555,
340
+ PASSING = 556,
341
+ PASSWORD = 557,
342
+ PLACING = 558,
343
+ PLANS = 559,
344
+ POLICY = 560,
345
+ POSITION = 561,
346
+ PRECEDING = 562,
347
+ PRECISION = 563,
348
+ PRESERVE = 564,
349
+ PREPARE = 565,
350
+ PREPARED = 566,
351
+ PRIMARY = 567,
352
+ PRIOR = 568,
353
+ PRIVILEGES = 569,
354
+ PROCEDURAL = 570,
355
+ PROCEDURE = 571,
356
+ PROCEDURES = 572,
357
+ PROGRAM = 573,
358
+ PUBLICATION = 574,
359
+ QUOTE = 575,
360
+ RANGE = 576,
361
+ READ = 577,
362
+ REAL = 578,
363
+ REASSIGN = 579,
364
+ RECHECK = 580,
365
+ RECURSIVE = 581,
366
+ REF = 582,
367
+ REFERENCES = 583,
368
+ REFERENCING = 584,
369
+ REFRESH = 585,
370
+ REINDEX = 586,
371
+ RELATIVE_P = 587,
372
+ RELEASE = 588,
373
+ RENAME = 589,
374
+ REPEATABLE = 590,
375
+ REPLACE = 591,
376
+ REPLICA = 592,
377
+ RESET = 593,
378
+ RESTART = 594,
379
+ RESTRICT = 595,
380
+ RETURNING = 596,
381
+ RETURNS = 597,
382
+ REVOKE = 598,
383
+ RIGHT = 599,
384
+ ROLE = 600,
385
+ ROLLBACK = 601,
386
+ ROLLUP = 602,
387
+ ROUTINE = 603,
388
+ ROUTINES = 604,
389
+ ROW = 605,
390
+ ROWS = 606,
391
+ RULE = 607,
392
+ SAVEPOINT = 608,
393
+ SCHEMA = 609,
394
+ SCHEMAS = 610,
395
+ SCROLL = 611,
396
+ SEARCH = 612,
397
+ SECOND_P = 613,
398
+ SECURITY = 614,
399
+ SELECT = 615,
400
+ SEQUENCE = 616,
401
+ SEQUENCES = 617,
402
+ SERIALIZABLE = 618,
403
+ SERVER = 619,
404
+ SESSION = 620,
405
+ SESSION_USER = 621,
406
+ SET = 622,
407
+ SETS = 623,
408
+ SETOF = 624,
409
+ SHARE = 625,
410
+ SHOW = 626,
411
+ SIMILAR = 627,
412
+ SIMPLE = 628,
413
+ SKIP = 629,
414
+ SMALLINT = 630,
415
+ SNAPSHOT = 631,
416
+ SOME = 632,
417
+ SQL_P = 633,
418
+ STABLE = 634,
419
+ STANDALONE_P = 635,
420
+ START = 636,
421
+ STATEMENT = 637,
422
+ STATISTICS = 638,
423
+ STDIN = 639,
424
+ STDOUT = 640,
425
+ STORAGE = 641,
426
+ STORED = 642,
427
+ STRICT_P = 643,
428
+ STRIP_P = 644,
429
+ SUBSCRIPTION = 645,
430
+ SUBSTRING = 646,
431
+ SUPPORT = 647,
432
+ SYMMETRIC = 648,
433
+ SYSID = 649,
434
+ SYSTEM_P = 650,
435
+ TABLE = 651,
436
+ TABLES = 652,
437
+ TABLESAMPLE = 653,
438
+ TABLESPACE = 654,
439
+ TEMP = 655,
440
+ TEMPLATE = 656,
441
+ TEMPORARY = 657,
442
+ TEXT_P = 658,
443
+ THEN = 659,
444
+ TIES = 660,
445
+ TIME = 661,
446
+ TIMESTAMP = 662,
447
+ TO = 663,
448
+ TRAILING = 664,
449
+ TRANSACTION = 665,
450
+ TRANSFORM = 666,
451
+ TREAT = 667,
452
+ TRIGGER = 668,
453
+ TRIM = 669,
454
+ TRUE_P = 670,
455
+ TRUNCATE = 671,
456
+ TRUSTED = 672,
457
+ TYPE_P = 673,
458
+ TYPES_P = 674,
459
+ UESCAPE = 675,
460
+ UNBOUNDED = 676,
461
+ UNCOMMITTED = 677,
462
+ UNENCRYPTED = 678,
463
+ UNION = 679,
464
+ UNIQUE = 680,
465
+ UNKNOWN = 681,
466
+ UNLISTEN = 682,
467
+ UNLOGGED = 683,
468
+ UNTIL = 684,
469
+ UPDATE = 685,
470
+ USER = 686,
471
+ USING = 687,
472
+ VACUUM = 688,
473
+ VALID = 689,
474
+ VALIDATE = 690,
475
+ VALIDATOR = 691,
476
+ VALUE_P = 692,
477
+ VALUES = 693,
478
+ VARCHAR = 694,
479
+ VARIADIC = 695,
480
+ VARYING = 696,
481
+ VERBOSE = 697,
482
+ VERSION_P = 698,
483
+ VIEW = 699,
484
+ VIEWS = 700,
485
+ VOLATILE = 701,
486
+ WHEN = 702,
487
+ WHERE = 703,
488
+ WHITESPACE_P = 704,
489
+ WINDOW = 705,
490
+ WITH = 706,
491
+ WITHIN = 707,
492
+ WITHOUT = 708,
493
+ WORK = 709,
494
+ WRAPPER = 710,
495
+ WRITE = 711,
496
+ XML_P = 712,
497
+ XMLATTRIBUTES = 713,
498
+ XMLCONCAT = 714,
499
+ XMLELEMENT = 715,
500
+ XMLEXISTS = 716,
501
+ XMLFOREST = 717,
502
+ XMLNAMESPACES = 718,
503
+ XMLPARSE = 719,
504
+ XMLPI = 720,
505
+ XMLROOT = 721,
506
+ XMLSERIALIZE = 722,
507
+ XMLTABLE = 723,
508
+ YEAR_P = 724,
509
+ YES_P = 725,
510
+ ZONE = 726,
511
+ NOT_LA = 727,
512
+ NULLS_LA = 728,
513
+ WITH_LA = 729,
514
+ POSTFIXOP = 730,
515
+ UMINUS = 731
516
+ };
517
+ #endif
518
+ /* Tokens. */
519
+ #define IDENT 258
520
+ #define UIDENT 259
521
+ #define FCONST 260
522
+ #define SCONST 261
523
+ #define USCONST 262
524
+ #define BCONST 263
525
+ #define XCONST 264
526
+ #define Op 265
527
+ #define ICONST 266
528
+ #define PARAM 267
529
+ #define TYPECAST 268
530
+ #define DOT_DOT 269
531
+ #define COLON_EQUALS 270
532
+ #define EQUALS_GREATER 271
533
+ #define LESS_EQUALS 272
534
+ #define GREATER_EQUALS 273
535
+ #define NOT_EQUALS 274
536
+ #define SQL_COMMENT 275
537
+ #define C_COMMENT 276
538
+ #define ABORT_P 277
539
+ #define ABSOLUTE_P 278
540
+ #define ACCESS 279
541
+ #define ACTION 280
542
+ #define ADD_P 281
543
+ #define ADMIN 282
544
+ #define AFTER 283
545
+ #define AGGREGATE 284
546
+ #define ALL 285
547
+ #define ALSO 286
548
+ #define ALTER 287
549
+ #define ALWAYS 288
550
+ #define ANALYSE 289
551
+ #define ANALYZE 290
552
+ #define AND 291
553
+ #define ANY 292
554
+ #define ARRAY 293
555
+ #define AS 294
556
+ #define ASC 295
557
+ #define ASSERTION 296
558
+ #define ASSIGNMENT 297
559
+ #define ASYMMETRIC 298
560
+ #define AT 299
561
+ #define ATTACH 300
562
+ #define ATTRIBUTE 301
563
+ #define AUTHORIZATION 302
564
+ #define BACKWARD 303
565
+ #define BEFORE 304
566
+ #define BEGIN_P 305
567
+ #define BETWEEN 306
568
+ #define BIGINT 307
569
+ #define BINARY 308
570
+ #define BIT 309
571
+ #define BOOLEAN_P 310
572
+ #define BOTH 311
573
+ #define BY 312
574
+ #define CACHE 313
575
+ #define CALL 314
576
+ #define CALLED 315
577
+ #define CASCADE 316
578
+ #define CASCADED 317
579
+ #define CASE 318
580
+ #define CAST 319
581
+ #define CATALOG_P 320
582
+ #define CHAIN 321
583
+ #define CHAR_P 322
584
+ #define CHARACTER 323
585
+ #define CHARACTERISTICS 324
586
+ #define CHECK 325
587
+ #define CHECKPOINT 326
588
+ #define CLASS 327
589
+ #define CLOSE 328
590
+ #define CLUSTER 329
591
+ #define COALESCE 330
592
+ #define COLLATE 331
593
+ #define COLLATION 332
594
+ #define COLUMN 333
595
+ #define COLUMNS 334
596
+ #define COMMENT 335
597
+ #define COMMENTS 336
598
+ #define COMMIT 337
599
+ #define COMMITTED 338
600
+ #define CONCURRENTLY 339
601
+ #define CONFIGURATION 340
602
+ #define CONFLICT 341
603
+ #define CONNECTION 342
604
+ #define CONSTRAINT 343
605
+ #define CONSTRAINTS 344
606
+ #define CONTENT_P 345
607
+ #define CONTINUE_P 346
608
+ #define CONVERSION_P 347
609
+ #define COPY 348
610
+ #define COST 349
611
+ #define CREATE 350
612
+ #define CROSS 351
613
+ #define CSV 352
614
+ #define CUBE 353
615
+ #define CURRENT_P 354
616
+ #define CURRENT_CATALOG 355
617
+ #define CURRENT_DATE 356
618
+ #define CURRENT_ROLE 357
619
+ #define CURRENT_SCHEMA 358
620
+ #define CURRENT_TIME 359
621
+ #define CURRENT_TIMESTAMP 360
622
+ #define CURRENT_USER 361
623
+ #define CURSOR 362
624
+ #define CYCLE 363
625
+ #define DATA_P 364
626
+ #define DATABASE 365
627
+ #define DAY_P 366
628
+ #define DEALLOCATE 367
629
+ #define DEC 368
630
+ #define DECIMAL_P 369
631
+ #define DECLARE 370
632
+ #define DEFAULT 371
633
+ #define DEFAULTS 372
634
+ #define DEFERRABLE 373
635
+ #define DEFERRED 374
636
+ #define DEFINER 375
637
+ #define DELETE_P 376
638
+ #define DELIMITER 377
639
+ #define DELIMITERS 378
640
+ #define DEPENDS 379
641
+ #define DESC 380
642
+ #define DETACH 381
643
+ #define DICTIONARY 382
644
+ #define DISABLE_P 383
645
+ #define DISCARD 384
646
+ #define DISTINCT 385
647
+ #define DO 386
648
+ #define DOCUMENT_P 387
649
+ #define DOMAIN_P 388
650
+ #define DOUBLE_P 389
651
+ #define DROP 390
652
+ #define EACH 391
653
+ #define ELSE 392
654
+ #define ENABLE_P 393
655
+ #define ENCODING 394
656
+ #define ENCRYPTED 395
657
+ #define END_P 396
658
+ #define ENUM_P 397
659
+ #define ESCAPE 398
660
+ #define EVENT 399
661
+ #define EXCEPT 400
662
+ #define EXCLUDE 401
663
+ #define EXCLUDING 402
664
+ #define EXCLUSIVE 403
665
+ #define EXECUTE 404
666
+ #define EXISTS 405
667
+ #define EXPLAIN 406
668
+ #define EXPRESSION 407
669
+ #define EXTENSION 408
670
+ #define EXTERNAL 409
671
+ #define EXTRACT 410
672
+ #define FALSE_P 411
673
+ #define FAMILY 412
674
+ #define FETCH 413
675
+ #define FILTER 414
676
+ #define FIRST_P 415
677
+ #define FLOAT_P 416
678
+ #define FOLLOWING 417
679
+ #define FOR 418
680
+ #define FORCE 419
681
+ #define FOREIGN 420
682
+ #define FORWARD 421
683
+ #define FREEZE 422
684
+ #define FROM 423
685
+ #define FULL 424
686
+ #define FUNCTION 425
687
+ #define FUNCTIONS 426
688
+ #define GENERATED 427
689
+ #define GLOBAL 428
690
+ #define GRANT 429
691
+ #define GRANTED 430
692
+ #define GREATEST 431
693
+ #define GROUP_P 432
694
+ #define GROUPING 433
695
+ #define GROUPS 434
696
+ #define HANDLER 435
697
+ #define HAVING 436
698
+ #define HEADER_P 437
699
+ #define HOLD 438
700
+ #define HOUR_P 439
701
+ #define IDENTITY_P 440
702
+ #define IF_P 441
703
+ #define ILIKE 442
704
+ #define IMMEDIATE 443
705
+ #define IMMUTABLE 444
706
+ #define IMPLICIT_P 445
707
+ #define IMPORT_P 446
708
+ #define IN_P 447
709
+ #define INCLUDE 448
710
+ #define INCLUDING 449
711
+ #define INCREMENT 450
712
+ #define INDEX 451
713
+ #define INDEXES 452
714
+ #define INHERIT 453
715
+ #define INHERITS 454
716
+ #define INITIALLY 455
717
+ #define INLINE_P 456
718
+ #define INNER_P 457
719
+ #define INOUT 458
720
+ #define INPUT_P 459
721
+ #define INSENSITIVE 460
722
+ #define INSERT 461
723
+ #define INSTEAD 462
724
+ #define INT_P 463
725
+ #define INTEGER 464
726
+ #define INTERSECT 465
727
+ #define INTERVAL 466
728
+ #define INTO 467
729
+ #define INVOKER 468
730
+ #define IS 469
731
+ #define ISNULL 470
732
+ #define ISOLATION 471
733
+ #define JOIN 472
734
+ #define KEY 473
735
+ #define LABEL 474
736
+ #define LANGUAGE 475
737
+ #define LARGE_P 476
738
+ #define LAST_P 477
739
+ #define LATERAL_P 478
740
+ #define LEADING 479
741
+ #define LEAKPROOF 480
742
+ #define LEAST 481
743
+ #define LEFT 482
744
+ #define LEVEL 483
745
+ #define LIKE 484
746
+ #define LIMIT 485
747
+ #define LISTEN 486
748
+ #define LOAD 487
749
+ #define LOCAL 488
750
+ #define LOCALTIME 489
751
+ #define LOCALTIMESTAMP 490
752
+ #define LOCATION 491
753
+ #define LOCK_P 492
754
+ #define LOCKED 493
755
+ #define LOGGED 494
756
+ #define MAPPING 495
757
+ #define MATCH 496
758
+ #define MATERIALIZED 497
759
+ #define MAXVALUE 498
760
+ #define METHOD 499
761
+ #define MINUTE_P 500
762
+ #define MINVALUE 501
763
+ #define MODE 502
764
+ #define MONTH_P 503
765
+ #define MOVE 504
766
+ #define NAME_P 505
767
+ #define NAMES 506
768
+ #define NATIONAL 507
769
+ #define NATURAL 508
770
+ #define NCHAR 509
771
+ #define NEW 510
772
+ #define NEXT 511
773
+ #define NFC 512
774
+ #define NFD 513
775
+ #define NFKC 514
776
+ #define NFKD 515
777
+ #define NO 516
778
+ #define NONE 517
779
+ #define NORMALIZE 518
780
+ #define NORMALIZED 519
781
+ #define NOT 520
782
+ #define NOTHING 521
783
+ #define NOTIFY 522
784
+ #define NOTNULL 523
785
+ #define NOWAIT 524
786
+ #define NULL_P 525
787
+ #define NULLIF 526
788
+ #define NULLS_P 527
789
+ #define NUMERIC 528
790
+ #define OBJECT_P 529
791
+ #define OF 530
792
+ #define OFF 531
793
+ #define OFFSET 532
794
+ #define OIDS 533
795
+ #define OLD 534
796
+ #define ON 535
797
+ #define ONLY 536
798
+ #define OPERATOR 537
799
+ #define OPTION 538
800
+ #define OPTIONS 539
801
+ #define OR 540
802
+ #define ORDER 541
803
+ #define ORDINALITY 542
804
+ #define OTHERS 543
805
+ #define OUT_P 544
806
+ #define OUTER_P 545
807
+ #define OVER 546
808
+ #define OVERLAPS 547
809
+ #define OVERLAY 548
810
+ #define OVERRIDING 549
811
+ #define OWNED 550
812
+ #define OWNER 551
813
+ #define PARALLEL 552
814
+ #define PARSER 553
815
+ #define PARTIAL 554
816
+ #define PARTITION 555
817
+ #define PASSING 556
818
+ #define PASSWORD 557
819
+ #define PLACING 558
820
+ #define PLANS 559
821
+ #define POLICY 560
822
+ #define POSITION 561
823
+ #define PRECEDING 562
824
+ #define PRECISION 563
825
+ #define PRESERVE 564
826
+ #define PREPARE 565
827
+ #define PREPARED 566
828
+ #define PRIMARY 567
829
+ #define PRIOR 568
830
+ #define PRIVILEGES 569
831
+ #define PROCEDURAL 570
832
+ #define PROCEDURE 571
833
+ #define PROCEDURES 572
834
+ #define PROGRAM 573
835
+ #define PUBLICATION 574
836
+ #define QUOTE 575
837
+ #define RANGE 576
838
+ #define READ 577
839
+ #define REAL 578
840
+ #define REASSIGN 579
841
+ #define RECHECK 580
842
+ #define RECURSIVE 581
843
+ #define REF 582
844
+ #define REFERENCES 583
845
+ #define REFERENCING 584
846
+ #define REFRESH 585
847
+ #define REINDEX 586
848
+ #define RELATIVE_P 587
849
+ #define RELEASE 588
850
+ #define RENAME 589
851
+ #define REPEATABLE 590
852
+ #define REPLACE 591
853
+ #define REPLICA 592
854
+ #define RESET 593
855
+ #define RESTART 594
856
+ #define RESTRICT 595
857
+ #define RETURNING 596
858
+ #define RETURNS 597
859
+ #define REVOKE 598
860
+ #define RIGHT 599
861
+ #define ROLE 600
862
+ #define ROLLBACK 601
863
+ #define ROLLUP 602
864
+ #define ROUTINE 603
865
+ #define ROUTINES 604
866
+ #define ROW 605
867
+ #define ROWS 606
868
+ #define RULE 607
869
+ #define SAVEPOINT 608
870
+ #define SCHEMA 609
871
+ #define SCHEMAS 610
872
+ #define SCROLL 611
873
+ #define SEARCH 612
874
+ #define SECOND_P 613
875
+ #define SECURITY 614
876
+ #define SELECT 615
877
+ #define SEQUENCE 616
878
+ #define SEQUENCES 617
879
+ #define SERIALIZABLE 618
880
+ #define SERVER 619
881
+ #define SESSION 620
882
+ #define SESSION_USER 621
883
+ #define SET 622
884
+ #define SETS 623
885
+ #define SETOF 624
886
+ #define SHARE 625
887
+ #define SHOW 626
888
+ #define SIMILAR 627
889
+ #define SIMPLE 628
890
+ #define SKIP 629
891
+ #define SMALLINT 630
892
+ #define SNAPSHOT 631
893
+ #define SOME 632
894
+ #define SQL_P 633
895
+ #define STABLE 634
896
+ #define STANDALONE_P 635
897
+ #define START 636
898
+ #define STATEMENT 637
899
+ #define STATISTICS 638
900
+ #define STDIN 639
901
+ #define STDOUT 640
902
+ #define STORAGE 641
903
+ #define STORED 642
904
+ #define STRICT_P 643
905
+ #define STRIP_P 644
906
+ #define SUBSCRIPTION 645
907
+ #define SUBSTRING 646
908
+ #define SUPPORT 647
909
+ #define SYMMETRIC 648
910
+ #define SYSID 649
911
+ #define SYSTEM_P 650
912
+ #define TABLE 651
913
+ #define TABLES 652
914
+ #define TABLESAMPLE 653
915
+ #define TABLESPACE 654
916
+ #define TEMP 655
917
+ #define TEMPLATE 656
918
+ #define TEMPORARY 657
919
+ #define TEXT_P 658
920
+ #define THEN 659
921
+ #define TIES 660
922
+ #define TIME 661
923
+ #define TIMESTAMP 662
924
+ #define TO 663
925
+ #define TRAILING 664
926
+ #define TRANSACTION 665
927
+ #define TRANSFORM 666
928
+ #define TREAT 667
929
+ #define TRIGGER 668
930
+ #define TRIM 669
931
+ #define TRUE_P 670
932
+ #define TRUNCATE 671
933
+ #define TRUSTED 672
934
+ #define TYPE_P 673
935
+ #define TYPES_P 674
936
+ #define UESCAPE 675
937
+ #define UNBOUNDED 676
938
+ #define UNCOMMITTED 677
939
+ #define UNENCRYPTED 678
940
+ #define UNION 679
941
+ #define UNIQUE 680
942
+ #define UNKNOWN 681
943
+ #define UNLISTEN 682
944
+ #define UNLOGGED 683
945
+ #define UNTIL 684
946
+ #define UPDATE 685
947
+ #define USER 686
948
+ #define USING 687
949
+ #define VACUUM 688
950
+ #define VALID 689
951
+ #define VALIDATE 690
952
+ #define VALIDATOR 691
953
+ #define VALUE_P 692
954
+ #define VALUES 693
955
+ #define VARCHAR 694
956
+ #define VARIADIC 695
957
+ #define VARYING 696
958
+ #define VERBOSE 697
959
+ #define VERSION_P 698
960
+ #define VIEW 699
961
+ #define VIEWS 700
962
+ #define VOLATILE 701
963
+ #define WHEN 702
964
+ #define WHERE 703
965
+ #define WHITESPACE_P 704
966
+ #define WINDOW 705
967
+ #define WITH 706
968
+ #define WITHIN 707
969
+ #define WITHOUT 708
970
+ #define WORK 709
971
+ #define WRAPPER 710
972
+ #define WRITE 711
973
+ #define XML_P 712
974
+ #define XMLATTRIBUTES 713
975
+ #define XMLCONCAT 714
976
+ #define XMLELEMENT 715
977
+ #define XMLEXISTS 716
978
+ #define XMLFOREST 717
979
+ #define XMLNAMESPACES 718
980
+ #define XMLPARSE 719
981
+ #define XMLPI 720
982
+ #define XMLROOT 721
983
+ #define XMLSERIALIZE 722
984
+ #define XMLTABLE 723
985
+ #define YEAR_P 724
986
+ #define YES_P 725
987
+ #define ZONE 726
988
+ #define NOT_LA 727
989
+ #define NULLS_LA 728
990
+ #define WITH_LA 729
991
+ #define POSTFIXOP 730
992
+ #define UMINUS 731
993
+
994
+
995
+
996
+
997
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
998
+ typedef union YYSTYPE
999
+ #line 214 "gram.y"
1000
+ {
1001
+ core_YYSTYPE core_yystype;
1002
+ /* these fields must match core_YYSTYPE: */
1003
+ int ival;
1004
+ char *str;
1005
+ const char *keyword;
1006
+
1007
+ char chr;
1008
+ bool boolean;
1009
+ JoinType jtype;
1010
+ DropBehavior dbehavior;
1011
+ OnCommitAction oncommit;
1012
+ List *list;
1013
+ Node *node;
1014
+ Value *value;
1015
+ ObjectType objtype;
1016
+ TypeName *typnam;
1017
+ FunctionParameter *fun_param;
1018
+ FunctionParameterMode fun_param_mode;
1019
+ ObjectWithArgs *objwithargs;
1020
+ DefElem *defelt;
1021
+ SortBy *sortby;
1022
+ WindowDef *windef;
1023
+ JoinExpr *jexpr;
1024
+ IndexElem *ielem;
1025
+ Alias *alias;
1026
+ RangeVar *range;
1027
+ IntoClause *into;
1028
+ WithClause *with;
1029
+ InferClause *infer;
1030
+ OnConflictClause *onconflict;
1031
+ A_Indices *aind;
1032
+ ResTarget *target;
1033
+ struct PrivTarget *privtarget;
1034
+ AccessPriv *accesspriv;
1035
+ struct ImportQual *importqual;
1036
+ InsertStmt *istmt;
1037
+ VariableSetStmt *vsetstmt;
1038
+ PartitionElem *partelem;
1039
+ PartitionSpec *partspec;
1040
+ PartitionBoundSpec *partboundspec;
1041
+ RoleSpec *rolespec;
1042
+ struct SelectLimit *selectlimit;
1043
+ }
1044
+ /* Line 1529 of yacc.c. */
1045
+ #line 1046 "gram.h"
1046
+ YYSTYPE;
1047
+ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
1048
+ # define YYSTYPE_IS_DECLARED 1
1049
+ # define YYSTYPE_IS_TRIVIAL 1
1050
+ #endif
1051
+
1052
+
1053
+
1054
+ #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
1055
+ typedef struct YYLTYPE
1056
+ {
1057
+ int first_line;
1058
+ int first_column;
1059
+ int last_line;
1060
+ int last_column;
1061
+ } YYLTYPE;
1062
+ # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
1063
+ # define YYLTYPE_IS_DECLARED 1
1064
+ # define YYLTYPE_IS_TRIVIAL 1
1065
+ #endif
1066
+
1067
+