| 1 | /* A Bison parser, made by GNU Bison 3.0.4. */ |
| 2 | |
| 3 | /* Bison interface for Yacc-like parsers in C |
| 4 | |
| 5 | Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. |
| 6 | |
| 7 | This program is free software: you can redistribute it and/or modify |
| 8 | it under the terms of the GNU General Public License as published by |
| 9 | the Free Software Foundation, either version 3 of the License, or |
| 10 | (at your option) any later version. |
| 11 | |
| 12 | This program is distributed in the hope that it will be useful, |
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 15 | GNU General Public License for more details. |
| 16 | |
| 17 | You should have received a copy of the GNU General Public License |
| 18 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
| 19 | |
| 20 | /* As a special exception, you may create a larger work that contains |
| 21 | part or all of the Bison parser skeleton and distribute that work |
| 22 | under terms of your choice, so long as that work isn't itself a |
| 23 | parser generator using the skeleton or a modified version thereof |
| 24 | as a parser skeleton. Alternatively, if you modify or redistribute |
| 25 | the parser skeleton itself, you may (at your option) remove this |
| 26 | special exception, which will cause the skeleton and the resulting |
| 27 | Bison output files to be licensed under the GNU General Public |
| 28 | License without this special exception. |
| 29 | |
| 30 | This special exception was added by the Free Software Foundation in |
| 31 | version 2.2 of Bison. */ |
| 32 | |
| 33 | #ifndef YY_SQL_SQL_PARSER_TAB_H_INCLUDED |
| 34 | # define YY_SQL_SQL_PARSER_TAB_H_INCLUDED |
| 35 | /* Debug traces. */ |
| 36 | #ifndef YYDEBUG |
| 37 | # define YYDEBUG 0 |
| 38 | #endif |
| 39 | #if YYDEBUG |
| 40 | extern int sqldebug; |
| 41 | #endif |
| 42 | |
| 43 | /* Token type. */ |
| 44 | #ifndef YYTOKENTYPE |
| 45 | # define YYTOKENTYPE |
| 46 | enum yytokentype |
| 47 | { |
| 48 | STRING = 258, |
| 49 | USTRING = 259, |
| 50 | XSTRING = 260, |
| 51 | X_BODY = 261, |
| 52 | IDENT = 262, |
| 53 | UIDENT = 263, |
| 54 | aTYPE = 264, |
| 55 | ALIAS = 265, |
| 56 | AGGR = 266, |
| 57 | AGGR2 = 267, |
| 58 | RANK = 268, |
| 59 | sqlINT = 269, |
| 60 | OIDNUM = 270, |
| 61 | HEXADECIMAL = 271, |
| 62 | INTNUM = 272, |
| 63 | APPROXNUM = 273, |
| 64 | USING = 274, |
| 65 | GLOBAL = 275, |
| 66 | CAST = 276, |
| 67 | CONVERT = 277, |
| 68 | CHARACTER = 278, |
| 69 | VARYING = 279, |
| 70 | LARGE = 280, |
| 71 | OBJECT = 281, |
| 72 | VARCHAR = 282, |
| 73 | CLOB = 283, |
| 74 | sqlTEXT = 284, |
| 75 | BINARY = 285, |
| 76 | sqlBLOB = 286, |
| 77 | sqlDECIMAL = 287, |
| 78 | sqlFLOAT = 288, |
| 79 | TINYINT = 289, |
| 80 | SMALLINT = 290, |
| 81 | BIGINT = 291, |
| 82 | HUGEINT = 292, |
| 83 | sqlINTEGER = 293, |
| 84 | sqlDOUBLE = 294, |
| 85 | sqlREAL = 295, |
| 86 | PRECISION = 296, |
| 87 | PARTIAL = 297, |
| 88 | SIMPLE = 298, |
| 89 | ACTION = 299, |
| 90 | CASCADE = 300, |
| 91 | RESTRICT = 301, |
| 92 | BOOL_FALSE = 302, |
| 93 | BOOL_TRUE = 303, |
| 94 | CURRENT_DATE = 304, |
| 95 | CURRENT_TIMESTAMP = 305, |
| 96 | CURRENT_TIME = 306, |
| 97 | LOCALTIMESTAMP = 307, |
| 98 | LOCALTIME = 308, |
| 99 | LEX_ERROR = 309, |
| 100 | GEOMETRY = 310, |
| 101 | GEOMETRYSUBTYPE = 311, |
| 102 | GEOMETRYA = 312, |
| 103 | USER = 313, |
| 104 | CURRENT_USER = 314, |
| 105 | SESSION_USER = 315, |
| 106 | LOCAL = 316, |
| 107 | LOCKED = 317, |
| 108 | BEST = 318, |
| 109 | EFFORT = 319, |
| 110 | CURRENT_ROLE = 320, |
| 111 | sqlSESSION = 321, |
| 112 | sqlDELETE = 322, |
| 113 | UPDATE = 323, |
| 114 | SELECT = 324, |
| 115 | INSERT = 325, |
| 116 | MATCHED = 326, |
| 117 | LATERAL = 327, |
| 118 | LEFT = 328, |
| 119 | RIGHT = 329, |
| 120 | FULL = 330, |
| 121 | OUTER = 331, |
| 122 | NATURAL = 332, |
| 123 | CROSS = 333, |
| 124 | JOIN = 334, |
| 125 | INNER = 335, |
| 126 | COMMIT = 336, |
| 127 | ROLLBACK = 337, |
| 128 | SAVEPOINT = 338, |
| 129 | RELEASE = 339, |
| 130 | WORK = 340, |
| 131 | CHAIN = 341, |
| 132 | NO = 342, |
| 133 | PRESERVE = 343, |
| 134 | ROWS = 344, |
| 135 | START = 345, |
| 136 | TRANSACTION = 346, |
| 137 | READ = 347, |
| 138 | WRITE = 348, |
| 139 | ONLY = 349, |
| 140 | ISOLATION = 350, |
| 141 | LEVEL = 351, |
| 142 | UNCOMMITTED = 352, |
| 143 | COMMITTED = 353, |
| 144 | sqlREPEATABLE = 354, |
| 145 | SERIALIZABLE = 355, |
| 146 | DIAGNOSTICS = 356, |
| 147 | sqlSIZE = 357, |
| 148 | STORAGE = 358, |
| 149 | ASYMMETRIC = 359, |
| 150 | SYMMETRIC = 360, |
| 151 | ORDER = 361, |
| 152 | ORDERED = 362, |
| 153 | BY = 363, |
| 154 | IMPRINTS = 364, |
| 155 | EXISTS = 365, |
| 156 | ESCAPE = 366, |
| 157 | UESCAPE = 367, |
| 158 | HAVING = 368, |
| 159 | sqlGROUP = 369, |
| 160 | sqlNULL = 370, |
| 161 | FROM = 371, |
| 162 | FOR = 372, |
| 163 | MATCH = 373, |
| 164 | = 374, |
| 165 | SEQUENCE = 375, |
| 166 | INCREMENT = 376, |
| 167 | RESTART = 377, |
| 168 | CONTINUE = 378, |
| 169 | MAXVALUE = 379, |
| 170 | MINVALUE = 380, |
| 171 | CYCLE = 381, |
| 172 | NEXT = 382, |
| 173 | VALUE = 383, |
| 174 | CACHE = 384, |
| 175 | GENERATED = 385, |
| 176 | ALWAYS = 386, |
| 177 | IDENTITY = 387, |
| 178 | SERIAL = 388, |
| 179 | BIGSERIAL = 389, |
| 180 | AUTO_INCREMENT = 390, |
| 181 | SCOLON = 391, |
| 182 | AT = 392, |
| 183 | = 393, |
| 184 | XMLCONCAT = 394, |
| 185 | XMLDOCUMENT = 395, |
| 186 | XMLELEMENT = 396, |
| 187 | XMLATTRIBUTES = 397, |
| 188 | XMLFOREST = 398, |
| 189 | XMLPARSE = 399, |
| 190 | STRIP = 400, |
| 191 | WHITESPACE = 401, |
| 192 | XMLPI = 402, |
| 193 | XMLQUERY = 403, |
| 194 | PASSING = 404, |
| 195 | XMLTEXT = 405, |
| 196 | NIL = 406, |
| 197 | REF = 407, |
| 198 | ABSENT = 408, |
| 199 | EMPTY = 409, |
| 200 | DOCUMENT = 410, |
| 201 | ELEMENT = 411, |
| 202 | CONTENT = 412, |
| 203 | XMLNAMESPACES = 413, |
| 204 | NAMESPACE = 414, |
| 205 | XMLVALIDATE = 415, |
| 206 | RETURNING = 416, |
| 207 | LOCATION = 417, |
| 208 | ID = 418, |
| 209 | ACCORDING = 419, |
| 210 | XMLSCHEMA = 420, |
| 211 | URI = 421, |
| 212 | XMLAGG = 422, |
| 213 | FILTER = 423, |
| 214 | UNION = 424, |
| 215 | EXCEPT = 425, |
| 216 | INTERSECT = 426, |
| 217 | CORRESPONDING = 427, |
| 218 | UNIONJOIN = 428, |
| 219 | WITH = 429, |
| 220 | DATA = 430, |
| 221 | FILTER_FUNC = 431, |
| 222 | NOT = 432, |
| 223 | ALL = 433, |
| 224 | ANY = 434, |
| 225 | NOT_BETWEEN = 435, |
| 226 | BETWEEN = 436, |
| 227 | NOT_IN = 437, |
| 228 | sqlIN = 438, |
| 229 | NOT_LIKE = 439, |
| 230 | LIKE = 440, |
| 231 | NOT_ILIKE = 441, |
| 232 | ILIKE = 442, |
| 233 | OR = 443, |
| 234 | SOME = 444, |
| 235 | AND = 445, |
| 236 | COMPARISON = 446, |
| 237 | LEFT_SHIFT = 447, |
| 238 | RIGHT_SHIFT = 448, |
| 239 | LEFT_SHIFT_ASSIGN = 449, |
| 240 | RIGHT_SHIFT_ASSIGN = 450, |
| 241 | CONCATSTRING = 451, |
| 242 | SUBSTRING = 452, |
| 243 | POSITION = 453, |
| 244 | SPLIT_PART = 454, |
| 245 | UMINUS = 455, |
| 246 | GEOM_OVERLAP = 456, |
| 247 | GEOM_OVERLAP_OR_ABOVE = 457, |
| 248 | GEOM_OVERLAP_OR_BELOW = 458, |
| 249 | GEOM_OVERLAP_OR_LEFT = 459, |
| 250 | GEOM_OVERLAP_OR_RIGHT = 460, |
| 251 | GEOM_BELOW = 461, |
| 252 | GEOM_ABOVE = 462, |
| 253 | GEOM_DIST = 463, |
| 254 | GEOM_MBR_EQUAL = 464, |
| 255 | TEMP = 465, |
| 256 | TEMPORARY = 466, |
| 257 | STREAM = 467, |
| 258 | MERGE = 468, |
| 259 | REMOTE = 469, |
| 260 | REPLICA = 470, |
| 261 | ASC = 471, |
| 262 | DESC = 472, |
| 263 | AUTHORIZATION = 473, |
| 264 | CHECK = 474, |
| 265 | CONSTRAINT = 475, |
| 266 | CREATE = 476, |
| 267 | = 477, |
| 268 | NULLS = 478, |
| 269 | FIRST = 479, |
| 270 | LAST = 480, |
| 271 | TYPE = 481, |
| 272 | PROCEDURE = 482, |
| 273 | FUNCTION = 483, |
| 274 | sqlLOADER = 484, |
| 275 | AGGREGATE = 485, |
| 276 | RETURNS = 486, |
| 277 | EXTERNAL = 487, |
| 278 | sqlNAME = 488, |
| 279 | DECLARE = 489, |
| 280 | CALL = 490, |
| 281 | LANGUAGE = 491, |
| 282 | ANALYZE = 492, |
| 283 | MINMAX = 493, |
| 284 | SQL_EXPLAIN = 494, |
| 285 | SQL_PLAN = 495, |
| 286 | SQL_DEBUG = 496, |
| 287 | SQL_TRACE = 497, |
| 288 | PREP = 498, |
| 289 | PREPARE = 499, |
| 290 | EXEC = 500, |
| 291 | EXECUTE = 501, |
| 292 | DEFAULT = 502, |
| 293 | DISTINCT = 503, |
| 294 | DROP = 504, |
| 295 | TRUNCATE = 505, |
| 296 | FOREIGN = 506, |
| 297 | RENAME = 507, |
| 298 | ENCRYPTED = 508, |
| 299 | UNENCRYPTED = 509, |
| 300 | PASSWORD = 510, |
| 301 | GRANT = 511, |
| 302 | REVOKE = 512, |
| 303 | ROLE = 513, |
| 304 | ADMIN = 514, |
| 305 | INTO = 515, |
| 306 | IS = 516, |
| 307 | KEY = 517, |
| 308 | ON = 518, |
| 309 | OPTION = 519, |
| 310 | OPTIONS = 520, |
| 311 | PATH = 521, |
| 312 | PRIMARY = 522, |
| 313 | PRIVILEGES = 523, |
| 314 | PUBLIC = 524, |
| 315 | REFERENCES = 525, |
| 316 | SCHEMA = 526, |
| 317 | SET = 527, |
| 318 | AUTO_COMMIT = 528, |
| 319 | RETURN = 529, |
| 320 | ALTER = 530, |
| 321 | ADD = 531, |
| 322 | TABLE = 532, |
| 323 | COLUMN = 533, |
| 324 | TO = 534, |
| 325 | UNIQUE = 535, |
| 326 | VALUES = 536, |
| 327 | VIEW = 537, |
| 328 | WHERE = 538, |
| 329 | sqlDATE = 539, |
| 330 | TIME = 540, |
| 331 | TIMESTAMP = 541, |
| 332 | INTERVAL = 542, |
| 333 | CENTURY = 543, |
| 334 | DECADE = 544, |
| 335 | YEAR = 545, |
| 336 | QUARTER = 546, |
| 337 | DOW = 547, |
| 338 | DOY = 548, |
| 339 | MONTH = 549, |
| 340 | WEEK = 550, |
| 341 | DAY = 551, |
| 342 | HOUR = 552, |
| 343 | MINUTE = 553, |
| 344 | SECOND = 554, |
| 345 | ZONE = 555, |
| 346 | LIMIT = 556, |
| 347 | OFFSET = 557, |
| 348 | SAMPLE = 558, |
| 349 | SEED = 559, |
| 350 | CASE = 560, |
| 351 | WHEN = 561, |
| 352 | THEN = 562, |
| 353 | ELSE = 563, |
| 354 | NULLIF = 564, |
| 355 | COALESCE = 565, |
| 356 | IF = 566, |
| 357 | ELSEIF = 567, |
| 358 | WHILE = 568, |
| 359 | DO = 569, |
| 360 | ATOMIC = 570, |
| 361 | BEGIN = 571, |
| 362 | END = 572, |
| 363 | COPY = 573, |
| 364 | RECORDS = 574, |
| 365 | DELIMITERS = 575, |
| 366 | STDIN = 576, |
| 367 | STDOUT = 577, |
| 368 | FWF = 578, |
| 369 | CLIENT = 579, |
| 370 | SERVER = 580, |
| 371 | INDEX = 581, |
| 372 | REPLACE = 582, |
| 373 | AS = 583, |
| 374 | TRIGGER = 584, |
| 375 | OF = 585, |
| 376 | BEFORE = 586, |
| 377 | AFTER = 587, |
| 378 | ROW = 588, |
| 379 | STATEMENT = 589, |
| 380 | sqlNEW = 590, |
| 381 | OLD = 591, |
| 382 | EACH = 592, |
| 383 | REFERENCING = 593, |
| 384 | OVER = 594, |
| 385 | PARTITION = 595, |
| 386 | CURRENT = 596, |
| 387 | EXCLUDE = 597, |
| 388 | FOLLOWING = 598, |
| 389 | PRECEDING = 599, |
| 390 | OTHERS = 600, |
| 391 | TIES = 601, |
| 392 | RANGE = 602, |
| 393 | UNBOUNDED = 603, |
| 394 | GROUPS = 604, |
| 395 | WINDOW = 605 |
| 396 | }; |
| 397 | #endif |
| 398 | |
| 399 | /* Value type. */ |
| 400 | #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
| 401 | |
| 402 | union YYSTYPE |
| 403 | { |
| 404 | #line 168 "sql_parser.y" /* yacc.c:1909 */ |
| 405 | |
| 406 | int i_val,bval; |
| 407 | lng l_val,operation; |
| 408 | double fval; |
| 409 | char * sval; |
| 410 | symbol* sym; |
| 411 | dlist* l; |
| 412 | sql_subtype type; |
| 413 | |
| 414 | #line 415 "sql_parser.tab.h" /* yacc.c:1909 */ |
| 415 | }; |
| 416 | |
| 417 | typedef union YYSTYPE YYSTYPE; |
| 418 | # define YYSTYPE_IS_TRIVIAL 1 |
| 419 | # define YYSTYPE_IS_DECLARED 1 |
| 420 | #endif |
| 421 | |
| 422 | |
| 423 | |
| 424 | int sqlparse (mvc *m); |
| 425 | |
| 426 | #endif /* !YY_SQL_SQL_PARSER_TAB_H_INCLUDED */ |
| 427 | |