|
|
|
#ifndef _SQLPARSER_H_
|
|
|
|
#define _SQLPARSER_H_
|
|
|
|
#include "field.h"
|
|
|
|
#include "parser.h"
|
|
|
|
#include "sqltypes.h"
|
|
|
|
|
|
|
|
bool parseData(KexiDB::Parser *p, const char *data);
|
|
|
|
/* A Bison parser, made by GNU Bison 2.2. */
|
|
|
|
|
|
|
|
/* Skeleton interface for Bison's Yacc-like parsers in C
|
|
|
|
|
|
|
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
|
|
|
Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation; either version 2, or (at your option)
|
|
|
|
any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
|
|
Boston, MA 02110-1301, USA. */
|
|
|
|
|
|
|
|
/* As a special exception, you may create a larger work that contains
|
|
|
|
part or all of the Bison parser skeleton and distribute that work
|
|
|
|
under terms of your choice, so long as that work isn't itself a
|
|
|
|
parser generator using the skeleton or a modified version thereof
|
|
|
|
as a parser skeleton. Alternatively, if you modify or redistribute
|
|
|
|
the parser skeleton itself, you may (at your option) remove this
|
|
|
|
special exception, which will cause the skeleton and the resulting
|
|
|
|
Bison output files to be licensed under the GNU General Public
|
|
|
|
License without this special exception.
|
|
|
|
|
|
|
|
This special exception was added by the Free Software Foundation in
|
|
|
|
version 2.2 of Bison. */
|
|
|
|
|
|
|
|
/* Tokens. */
|
|
|
|
#ifndef YYTOKENTYPE
|
|
|
|
# define YYTOKENTYPE
|
|
|
|
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
|
|
|
know about them. */
|
|
|
|
enum yytokentype {
|
|
|
|
UMINUS = 258,
|
|
|
|
SQL_TYPE = 259,
|
|
|
|
SQL_ABS = 260,
|
|
|
|
ACOS = 261,
|
|
|
|
AMPERSAND = 262,
|
|
|
|
SQL_ABSOLUTE = 263,
|
|
|
|
ADA = 264,
|
|
|
|
ADD = 265,
|
|
|
|
ADD_DAYS = 266,
|
|
|
|
ADD_HOURS = 267,
|
|
|
|
ADD_MINUTES = 268,
|
|
|
|
ADD_MONTHS = 269,
|
|
|
|
ADD_SECONDS = 270,
|
|
|
|
ADD_YEARS = 271,
|
|
|
|
ALL = 272,
|
|
|
|
ALLOCATE = 273,
|
|
|
|
ALTER = 274,
|
|
|
|
AND = 275,
|
|
|
|
ANY = 276,
|
|
|
|
ARE = 277,
|
|
|
|
AS = 278,
|
|
|
|
ASIN = 279,
|
|
|
|
ASC = 280,
|
|
|
|
ASCII = 281,
|
|
|
|
ASSERTION = 282,
|
|
|
|
ATAN = 283,
|
|
|
|
ATAN2 = 284,
|
|
|
|
AUTHORIZATION = 285,
|
|
|
|
AUTO_INCREMENT = 286,
|
|
|
|
AVG = 287,
|
|
|
|
BEFORE = 288,
|
|
|
|
SQL_BEGIN = 289,
|
|
|
|
BETWEEN = 290,
|
|
|
|
BIGINT = 291,
|
|
|
|
BINARY = 292,
|
|
|
|
BIT = 293,
|
|
|
|
BIT_LENGTH = 294,
|
|
|
|
BITWISE_SHIFT_LEFT = 295,
|
|
|
|
BITWISE_SHIFT_RIGHT = 296,
|
|
|
|
BREAK = 297,
|
|
|
|
BY = 298,
|
|
|
|
CASCADE = 299,
|
|
|
|
CASCADED = 300,
|
|
|
|
CASE = 301,
|
|
|
|
CAST = 302,
|
|
|
|
CATALOG = 303,
|
|
|
|
CEILING = 304,
|
|
|
|
CENTER = 305,
|
|
|
|
SQL_CHAR = 306,
|
|
|
|
CHAR_LENGTH = 307,
|
|
|
|
CHARACTER_STRING_LITERAL = 308,
|
|
|
|
CHECK = 309,
|
|
|
|
CLOSE = 310,
|
|
|
|
COALESCE = 311,
|
|
|
|
COBOL = 312,
|
|
|
|
COLLATE = 313,
|
|
|
|
COLLATION = 314,
|
|
|
|
COLUMN = 315,
|
|
|
|
COMMIT = 316,
|
|
|
|
COMPUTE = 317,
|
|
|
|
CONCAT = 318,
|
|
|
|
CONCATENATION = 319,
|
|
|
|
CONNECT = 320,
|
|
|
|
CONNECTION = 321,
|
|
|
|
CONSTRAINT = 322,
|
|
|
|
CONSTRAINTS = 323,
|
|
|
|
CONTINUE = 324,
|
|
|
|
CONVERT = 325,
|
|
|
|
CORRESPONDING = 326,
|
|
|
|
COS = 327,
|
|
|
|
COT = 328,
|
|
|
|
COUNT = 329,
|
|
|
|
CREATE = 330,
|
|
|
|
CURDATE = 331,
|
|
|
|
CURRENT = 332,
|
|
|
|
CURRENT_DATE = 333,
|
|
|
|
CURRENT_TIME = 334,
|
|
|
|
CURRENT_TIMESTAMP = 335,
|
|
|
|
CURTIME = 336,
|
|
|
|
CURSOR = 337,
|
|
|
|
DATABASE = 338,
|
|
|
|
SQL_DATE = 339,
|
|
|
|
DATE_FORMAT = 340,
|
|
|
|
DATE_REMAINDER = 341,
|
|
|
|
DATE_VALUE = 342,
|
|
|
|
DAY = 343,
|
|
|
|
DAYOFMONTH = 344,
|
|
|
|
DAYOFWEEK = 345,
|
|
|
|
DAYOFYEAR = 346,
|
|
|
|
DAYS_BETWEEN = 347,
|
|
|
|
DEALLOCATE = 348,
|
|
|
|
DEC = 349,
|
|
|
|
DECLARE = 350,
|
|
|
|
DEFAULT = 351,
|
|
|
|
DEFERRABLE = 352,
|
|
|
|
DEFERRED = 353,
|
|
|
|
SQL_DELETE = 354,
|
|
|
|
DESC = 355,
|
|
|
|
DESCRIBE = 356,
|
|
|
|
DESCRIPTOR = 357,
|
|
|
|
DIAGNOSTICS = 358,
|
|
|
|
DICTIONARY = 359,
|
|
|
|
DIRECTORY = 360,
|
|
|
|
DISCONNECT = 361,
|
|
|
|
DISPLACEMENT = 362,
|
|
|
|
DISTINCT = 363,
|
|
|
|
DOMAIN_TOKEN = 364,
|
|
|
|
SQL_DOUBLE = 365,
|
|
|
|
DOUBLE_TQUOTED_STRING = 366,
|
|
|
|
DROP = 367,
|
|
|
|
ELSE = 368,
|
|
|
|
END = 369,
|
|
|
|
END_EXEC = 370,
|
|
|
|
ETQUAL = 371,
|
|
|
|
ESCAPE = 372,
|
|
|
|
EXCEPT = 373,
|
|
|
|
SQL_EXCEPTION = 374,
|
|
|
|
EXEC = 375,
|
|
|
|
EXECUTE = 376,
|
|
|
|
EXISTS = 377,
|
|
|
|
EXP = 378,
|
|
|
|
EXPONENT = 379,
|
|
|
|
EXTERNAL = 380,
|
|
|
|
EXTRACT = 381,
|
|
|
|
SQL_FALSE = 382,
|
|
|
|
FETCH = 383,
|
|
|
|
FIRST = 384,
|
|
|
|
SQL_FLOAT = 385,
|
|
|
|
FLOOR = 386,
|
|
|
|
FN = 387,
|
|
|
|
FOR = 388,
|
|
|
|
FOREIGN = 389,
|
|
|
|
FORTRAN = 390,
|
|
|
|
FOUND = 391,
|
|
|
|
FOUR_DIGITS = 392,
|
|
|
|
FROM = 393,
|
|
|
|
FULL = 394,
|
|
|
|
GET = 395,
|
|
|
|
GLOBAL = 396,
|
|
|
|
GO = 397,
|
|
|
|
GOTO = 398,
|
|
|
|
GRANT = 399,
|
|
|
|
GREATER_OR_EQUAL = 400,
|
|
|
|
HAVING = 401,
|
|
|
|
HOUR = 402,
|
|
|
|
HOURS_BETWEEN = 403,
|
|
|
|
IDENTITY = 404,
|
|
|
|
IFNULL = 405,
|
|
|
|
SQL_IGNORE = 406,
|
|
|
|
IMMEDIATE = 407,
|
|
|
|
SQL_IN = 408,
|
|
|
|
INCLUDE = 409,
|
|
|
|
INDEX = 410,
|
|
|
|
INDICATOR = 411,
|
|
|
|
INITIALLY = 412,
|
|
|
|
INNER = 413,
|
|
|
|
INPUT = 414,
|
|
|
|
INSENSITIVE = 415,
|
|
|
|
INSERT = 416,
|
|
|
|
INTEGER = 417,
|
|
|
|
INTERSECT = 418,
|
|
|
|
INTERVAL = 419,
|
|
|
|
INTO = 420,
|
|
|
|
IS = 421,
|
|
|
|
ISOLATION = 422,
|
|
|
|
JOIN = 423,
|
|
|
|
JUSTIFY = 424,
|
|
|
|
KEY = 425,
|
|
|
|
LANGUAGE = 426,
|
|
|
|
LAST = 427,
|
|
|
|
LCASE = 428,
|
|
|
|
LEFT = 429,
|
|
|
|
LENGTH = 430,
|
|
|
|
LESS_OR_EQUAL = 431,
|
|
|
|
LEVEL = 432,
|
|
|
|
LIKE = 433,
|
|
|
|
LINE_WIDTH = 434,
|
|
|
|
LOCAL = 435,
|
|
|
|
LOCATE = 436,
|
|
|
|
LOG = 437,
|
|
|
|
SQL_LONG = 438,
|
|
|
|
LOWER = 439,
|
|
|
|
LTRIM = 440,
|
|
|
|
LTRIP = 441,
|
|
|
|
MATCH = 442,
|
|
|
|
SQL_MAX = 443,
|
|
|
|
MICROSOFT = 444,
|
|
|
|
SQL_MIN = 445,
|
|
|
|
MINUS = 446,
|
|
|
|
MINUTE = 447,
|
|
|
|
MINUTES_BETWEEN = 448,
|
|
|
|
MOD = 449,
|
|
|
|
MODIFY = 450,
|
|
|
|
MODULE = 451,
|
|
|
|
MONTH = 452,
|
|
|
|
MONTHS_BETWEEN = 453,
|
|
|
|
MUMPS = 454,
|
|
|
|
NAMES = 455,
|
|
|
|
NATIONAL = 456,
|
|
|
|
NCHAR = 457,
|
|
|
|
NEXT = 458,
|
|
|
|
NODUP = 459,
|
|
|
|
NONE = 460,
|
|
|
|
NOT = 461,
|
|
|
|
NOT_EQUAL = 462,
|
|
|
|
NOT_EQUAL2 = 463,
|
|
|
|
NOW = 464,
|
|
|
|
SQL_NULL = 465,
|
|
|
|
SQL_IS = 466,
|
|
|
|
SQL_IS_NULL = 467,
|
|
|
|
SQL_IS_NOT_NULL = 468,
|
|
|
|
NULLIF = 469,
|
|
|
|
NUMERIC = 470,
|
|
|
|
OCTET_LENGTH = 471,
|
|
|
|
ODBC = 472,
|
|
|
|
OF = 473,
|
|
|
|
SQL_OFF = 474,
|
|
|
|
SQL_ON = 475,
|
|
|
|
ONLY = 476,
|
|
|
|
OPEN = 477,
|
|
|
|
OPTION = 478,
|
|
|
|
OR = 479,
|
|
|
|
ORDER = 480,
|
|
|
|
OUTER = 481,
|
|
|
|
OUTPUT = 482,
|
|
|
|
OVERLAPS = 483,
|
|
|
|
PAGE = 484,
|
|
|
|
PARTIAL = 485,
|
|
|
|
SQL_PASCAL = 486,
|
|
|
|
PERSISTENT = 487,
|
|
|
|
CTQL_PI = 488,
|
|
|
|
PLI = 489,
|
|
|
|
POSITION = 490,
|
|
|
|
PRECISION = 491,
|
|
|
|
PREPARE = 492,
|
|
|
|
PRESERVE = 493,
|
|
|
|
PRIMARY = 494,
|
|
|
|
PRIOR = 495,
|
|
|
|
PRIVILEGES = 496,
|
|
|
|
PROCEDURE = 497,
|
|
|
|
PRODUCT = 498,
|
|
|
|
PUBLIC = 499,
|
|
|
|
TQUARTER = 500,
|
|
|
|
TQUIT = 501,
|
|
|
|
RAND = 502,
|
|
|
|
READ_ONLY = 503,
|
|
|
|
REAL = 504,
|
|
|
|
REFERENCES = 505,
|
|
|
|
REPEAT = 506,
|
|
|
|
REPLACE = 507,
|
|
|
|
RESTRICT = 508,
|
|
|
|
REVOKE = 509,
|
|
|
|
RIGHT = 510,
|
|
|
|
ROLLBACK = 511,
|
|
|
|
ROWS = 512,
|
|
|
|
RPAD = 513,
|
|
|
|
RTRIM = 514,
|
|
|
|
SCHEMA = 515,
|
|
|
|
SCREEN_WIDTH = 516,
|
|
|
|
SCROLL = 517,
|
|
|
|
SECOND = 518,
|
|
|
|
SECONDS_BETWEEN = 519,
|
|
|
|
SELECT = 520,
|
|
|
|
SEQUENCE = 521,
|
|
|
|
SETOPT = 522,
|
|
|
|
SET = 523,
|
|
|
|
SHOWOPT = 524,
|
|
|
|
SIGN = 525,
|
|
|
|
SIMILAR_TO = 526,
|
|
|
|
NOT_SIMILAR_TO = 527,
|
|
|
|
INTEGER_CONST = 528,
|
|
|
|
REAL_CONST = 529,
|
|
|
|
DATE_CONST = 530,
|
|
|
|
DATETIME_CONST = 531,
|
|
|
|
TIME_CONST = 532,
|
|
|
|
SIN = 533,
|
|
|
|
SQL_SIZE = 534,
|
|
|
|
SMALLINT = 535,
|
|
|
|
SOME = 536,
|
|
|
|
SPACE = 537,
|
|
|
|
SQL = 538,
|
|
|
|
SQL_TRUE = 539,
|
|
|
|
SQLCA = 540,
|
|
|
|
SQLCODE = 541,
|
|
|
|
SQLERROR = 542,
|
|
|
|
SQLSTATE = 543,
|
|
|
|
SQLWARNING = 544,
|
|
|
|
SQRT = 545,
|
|
|
|
STDEV = 546,
|
|
|
|
SUBSTRING = 547,
|
|
|
|
SUM = 548,
|
|
|
|
SYSDATE = 549,
|
|
|
|
SYSDATE_FORMAT = 550,
|
|
|
|
SYSTEM = 551,
|
|
|
|
TABLE = 552,
|
|
|
|
TAN = 553,
|
|
|
|
TEMPORARY = 554,
|
|
|
|
THEN = 555,
|
|
|
|
THREE_DIGITS = 556,
|
|
|
|
TIME = 557,
|
|
|
|
TIMESTAMP = 558,
|
|
|
|
TIMEZONE_HOUR = 559,
|
|
|
|
TIMEZONE_MINUTE = 560,
|
|
|
|
TINYINT = 561,
|
|
|
|
TO = 562,
|
|
|
|
TO_CHAR = 563,
|
|
|
|
TO_DATE = 564,
|
|
|
|
TRANSACTION = 565,
|
|
|
|
TRANSLATE = 566,
|
|
|
|
TRANSLATION = 567,
|
|
|
|
TRUNCATE = 568,
|
|
|
|
GENERAL_TITLE = 569,
|
|
|
|
TWO_DIGITS = 570,
|
|
|
|
UCASE = 571,
|
|
|
|
UNION = 572,
|
|
|
|
UNITQUE = 573,
|
|
|
|
SQL_UNKNOWN = 574,
|
|
|
|
UPDATE = 575,
|
|
|
|
UPPER = 576,
|
|
|
|
USAGE = 577,
|
|
|
|
USER = 578,
|
|
|
|
IDENTIFIER = 579,
|
|
|
|
IDENTIFIER_DOT_ASTERISK = 580,
|
|
|
|
TQUERY_PARAMETER = 581,
|
|
|
|
USING = 582,
|
|
|
|
VALUE = 583,
|
|
|
|
VALUES = 584,
|
|
|
|
VARBINARY = 585,
|
|
|
|
VARCHAR = 586,
|
|
|
|
VARYING = 587,
|
|
|
|
VENDOR = 588,
|
|
|
|
VIEW = 589,
|
|
|
|
WEEK = 590,
|
|
|
|
WHEN = 591,
|
|
|
|
WHENEVER = 592,
|
|
|
|
WHERE = 593,
|
|
|
|
WHERE_CURRENT_OF = 594,
|
|
|
|
WITH = 595,
|
|
|
|
WORD_WRAPPED = 596,
|
|
|
|
WORK = 597,
|
|
|
|
WRAPPED = 598,
|
|
|
|
XOR = 599,
|
|
|
|
YEAR = 600,
|
|
|
|
YEARS_BETWEEN = 601,
|
|
|
|
SCAN_ERROR = 602,
|
|
|
|
__LAST_TOKEN = 603,
|
|
|
|
ILIKE = 604
|
|
|
|
};
|
|
|
|
#endif
|
|
|
|
/* Tokens. */
|
|
|
|
#define UMINUS 258
|
|
|
|
#define SQL_TYPE 259
|
|
|
|
#define SQL_ABS 260
|
|
|
|
#define ACOS 261
|
|
|
|
#define AMPERSAND 262
|
|
|
|
#define SQL_ABSOLUTE 263
|
|
|
|
#define ADA 264
|
|
|
|
#define ADD 265
|
|
|
|
#define ADD_DAYS 266
|
|
|
|
#define ADD_HOURS 267
|
|
|
|
#define ADD_MINUTES 268
|
|
|
|
#define ADD_MONTHS 269
|
|
|
|
#define ADD_SECONDS 270
|
|
|
|
#define ADD_YEARS 271
|
|
|
|
#define ALL 272
|
|
|
|
#define ALLOCATE 273
|
|
|
|
#define ALTER 274
|
|
|
|
#define AND 275
|
|
|
|
#define ANY 276
|
|
|
|
#define ARE 277
|
|
|
|
#define AS 278
|
|
|
|
#define ASIN 279
|
|
|
|
#define ASC 280
|
|
|
|
#define ASCII 281
|
|
|
|
#define ASSERTION 282
|
|
|
|
#define ATAN 283
|
|
|
|
#define ATAN2 284
|
|
|
|
#define AUTHORIZATION 285
|
|
|
|
#define AUTO_INCREMENT 286
|
|
|
|
#define AVG 287
|
|
|
|
#define BEFORE 288
|
|
|
|
#define SQL_BEGIN 289
|
|
|
|
#define BETWEEN 290
|
|
|
|
#define BIGINT 291
|
|
|
|
#define BINARY 292
|
|
|
|
#define BIT 293
|
|
|
|
#define BIT_LENGTH 294
|
|
|
|
#define BITWISE_SHIFT_LEFT 295
|
|
|
|
#define BITWISE_SHIFT_RIGHT 296
|
|
|
|
#define BREAK 297
|
|
|
|
#define BY 298
|
|
|
|
#define CASCADE 299
|
|
|
|
#define CASCADED 300
|
|
|
|
#define CASE 301
|
|
|
|
#define CAST 302
|
|
|
|
#define CATALOG 303
|
|
|
|
#define CEILING 304
|
|
|
|
#define CENTER 305
|
|
|
|
#define SQL_CHAR 306
|
|
|
|
#define CHAR_LENGTH 307
|
|
|
|
#define CHARACTER_STRING_LITERAL 308
|
|
|
|
#define CHECK 309
|
|
|
|
#define CLOSE 310
|
|
|
|
#define COALESCE 311
|
|
|
|
#define COBOL 312
|
|
|
|
#define COLLATE 313
|
|
|
|
#define COLLATION 314
|
|
|
|
#define COLUMN 315
|
|
|
|
#define COMMIT 316
|
|
|
|
#define COMPUTE 317
|
|
|
|
#define CONCAT 318
|
|
|
|
#define CONCATENATION 319
|
|
|
|
#define CONNECT 320
|
|
|
|
#define CONNECTION 321
|
|
|
|
#define CONSTRAINT 322
|
|
|
|
#define CONSTRAINTS 323
|
|
|
|
#define CONTINUE 324
|
|
|
|
#define CONVERT 325
|
|
|
|
#define CORRESPONDING 326
|
|
|
|
#define COS 327
|
|
|
|
#define COT 328
|
|
|
|
#define COUNT 329
|
|
|
|
#define CREATE 330
|
|
|
|
#define CURDATE 331
|
|
|
|
#define CURRENT 332
|
|
|
|
#define CURRENT_DATE 333
|
|
|
|
#define CURRENT_TIME 334
|
|
|
|
#define CURRENT_TIMESTAMP 335
|
|
|
|
#define CURTIME 336
|
|
|
|
#define CURSOR 337
|
|
|
|
#define DATABASE 338
|
|
|
|
#define SQL_DATE 339
|
|
|
|
#define DATE_FORMAT 340
|
|
|
|
#define DATE_REMAINDER 341
|
|
|
|
#define DATE_VALUE 342
|
|
|
|
#define DAY 343
|
|
|
|
#define DAYOFMONTH 344
|
|
|
|
#define DAYOFWEEK 345
|
|
|
|
#define DAYOFYEAR 346
|
|
|
|
#define DAYS_BETWEEN 347
|
|
|
|
#define DEALLOCATE 348
|
|
|
|
#define DEC 349
|
|
|
|
#define DECLARE 350
|
|
|
|
#define DEFAULT 351
|
|
|
|
#define DEFERRABLE 352
|
|
|
|
#define DEFERRED 353
|
|
|
|
#define SQL_DELETE 354
|
|
|
|
#define DESC 355
|
|
|
|
#define DESCRIBE 356
|
|
|
|
#define DESCRIPTOR 357
|
|
|
|
#define DIAGNOSTICS 358
|
|
|
|
#define DICTIONARY 359
|
|
|
|
#define DIRECTORY 360
|
|
|
|
#define DISCONNECT 361
|
|
|
|
#define DISPLACEMENT 362
|
|
|
|
#define DISTINCT 363
|
|
|
|
#define DOMAIN_TOKEN 364
|
|
|
|
#define SQL_DOUBLE 365
|
|
|
|
#define DOUBLE_TQUOTED_STRING 366
|
|
|
|
#define DROP 367
|
|
|
|
#define ELSE 368
|
|
|
|
#define END 369
|
|
|
|
#define END_EXEC 370
|
|
|
|
#define ETQUAL 371
|
|
|
|
#define ESCAPE 372
|
|
|
|
#define EXCEPT 373
|
|
|
|
#define SQL_EXCEPTION 374
|
|
|
|
#define EXEC 375
|
|
|
|
#define EXECUTE 376
|
|
|
|
#define EXISTS 377
|
|
|
|
#define EXP 378
|
|
|
|
#define EXPONENT 379
|
|
|
|
#define EXTERNAL 380
|
|
|
|
#define EXTRACT 381
|
|
|
|
#define SQL_FALSE 382
|
|
|
|
#define FETCH 383
|
|
|
|
#define FIRST 384
|
|
|
|
#define SQL_FLOAT 385
|
|
|
|
#define FLOOR 386
|
|
|
|
#define FN 387
|
|
|
|
#define FOR 388
|
|
|
|
#define FOREIGN 389
|
|
|
|
#define FORTRAN 390
|
|
|
|
#define FOUND 391
|
|
|
|
#define FOUR_DIGITS 392
|
|
|
|
#define FROM 393
|
|
|
|
#define FULL 394
|
|
|
|
#define GET 395
|
|
|
|
#define GLOBAL 396
|
|
|
|
#define GO 397
|
|
|
|
#define GOTO 398
|
|
|
|
#define GRANT 399
|
|
|
|
#define GREATER_OR_EQUAL 400
|
|
|
|
#define HAVING 401
|
|
|
|
#define HOUR 402
|
|
|
|
#define HOURS_BETWEEN 403
|
|
|
|
#define IDENTITY 404
|
|
|
|
#define IFNULL 405
|
|
|
|
#define SQL_IGNORE 406
|
|
|
|
#define IMMEDIATE 407
|
|
|
|
#define SQL_IN 408
|
|
|
|
#define INCLUDE 409
|
|
|
|
#define INDEX 410
|
|
|
|
#define INDICATOR 411
|
|
|
|
#define INITIALLY 412
|
|
|
|
#define INNER 413
|
|
|
|
#define INPUT 414
|
|
|
|
#define INSENSITIVE 415
|
|
|
|
#define INSERT 416
|
|
|
|
#define INTEGER 417
|
|
|
|
#define INTERSECT 418
|
|
|
|
#define INTERVAL 419
|
|
|
|
#define INTO 420
|
|
|
|
#define IS 421
|
|
|
|
#define ISOLATION 422
|
|
|
|
#define JOIN 423
|
|
|
|
#define JUSTIFY 424
|
|
|
|
#define KEY 425
|
|
|
|
#define LANGUAGE 426
|
|
|
|
#define LAST 427
|
|
|
|
#define LCASE 428
|
|
|
|
#define LEFT 429
|
|
|
|
#define LENGTH 430
|
|
|
|
#define LESS_OR_EQUAL 431
|
|
|
|
#define LEVEL 432
|
|
|
|
#define LIKE 433
|
|
|
|
#define LINE_WIDTH 434
|
|
|
|
#define LOCAL 435
|
|
|
|
#define LOCATE 436
|
|
|
|
#define LOG 437
|
|
|
|
#define SQL_LONG 438
|
|
|
|
#define LOWER 439
|
|
|
|
#define LTRIM 440
|
|
|
|
#define LTRIP 441
|
|
|
|
#define MATCH 442
|
|
|
|
#define SQL_MAX 443
|
|
|
|
#define MICROSOFT 444
|
|
|
|
#define SQL_MIN 445
|
|
|
|
#define MINUS 446
|
|
|
|
#define MINUTE 447
|
|
|
|
#define MINUTES_BETWEEN 448
|
|
|
|
#define MOD 449
|
|
|
|
#define MODIFY 450
|
|
|
|
#define MODULE 451
|
|
|
|
#define MONTH 452
|
|
|
|
#define MONTHS_BETWEEN 453
|
|
|
|
#define MUMPS 454
|
|
|
|
#define NAMES 455
|
|
|
|
#define NATIONAL 456
|
|
|
|
#define NCHAR 457
|
|
|
|
#define NEXT 458
|
|
|
|
#define NODUP 459
|
|
|
|
#define NONE 460
|
|
|
|
#define NOT 461
|
|
|
|
#define NOT_EQUAL 462
|
|
|
|
#define NOT_EQUAL2 463
|
|
|
|
#define NOW 464
|
|
|
|
#define SQL_NULL 465
|
|
|
|
#define SQL_IS 466
|
|
|
|
#define SQL_IS_NULL 467
|
|
|
|
#define SQL_IS_NOT_NULL 468
|
|
|
|
#define NULLIF 469
|
|
|
|
#define NUMERIC 470
|
|
|
|
#define OCTET_LENGTH 471
|
|
|
|
#define ODBC 472
|
|
|
|
#define OF 473
|
|
|
|
#define SQL_OFF 474
|
|
|
|
#define SQL_ON 475
|
|
|
|
#define ONLY 476
|
|
|
|
#define OPEN 477
|
|
|
|
#define OPTION 478
|
|
|
|
#define OR 479
|
|
|
|
#define ORDER 480
|
|
|
|
#define OUTER 481
|
|
|
|
#define OUTPUT 482
|
|
|
|
#define OVERLAPS 483
|
|
|
|
#define PAGE 484
|
|
|
|
#define PARTIAL 485
|
|
|
|
#define SQL_PASCAL 486
|
|
|
|
#define PERSISTENT 487
|
|
|
|
#define CTQL_PI 488
|
|
|
|
#define PLI 489
|
|
|
|
#define POSITION 490
|
|
|
|
#define PRECISION 491
|
|
|
|
#define PREPARE 492
|
|
|
|
#define PRESERVE 493
|
|
|
|
#define PRIMARY 494
|
|
|
|
#define PRIOR 495
|
|
|
|
#define PRIVILEGES 496
|
|
|
|
#define PROCEDURE 497
|
|
|
|
#define PRODUCT 498
|
|
|
|
#define PUBLIC 499
|
|
|
|
#define TQUARTER 500
|
|
|
|
#define TQUIT 501
|
|
|
|
#define RAND 502
|
|
|
|
#define READ_ONLY 503
|
|
|
|
#define REAL 504
|
|
|
|
#define REFERENCES 505
|
|
|
|
#define REPEAT 506
|
|
|
|
#define REPLACE 507
|
|
|
|
#define RESTRICT 508
|
|
|
|
#define REVOKE 509
|
|
|
|
#define RIGHT 510
|
|
|
|
#define ROLLBACK 511
|
|
|
|
#define ROWS 512
|
|
|
|
#define RPAD 513
|
|
|
|
#define RTRIM 514
|
|
|
|
#define SCHEMA 515
|
|
|
|
#define SCREEN_WIDTH 516
|
|
|
|
#define SCROLL 517
|
|
|
|
#define SECOND 518
|
|
|
|
#define SECONDS_BETWEEN 519
|
|
|
|
#define SELECT 520
|
|
|
|
#define SEQUENCE 521
|
|
|
|
#define SETOPT 522
|
|
|
|
#define SET 523
|
|
|
|
#define SHOWOPT 524
|
|
|
|
#define SIGN 525
|
|
|
|
#define SIMILAR_TO 526
|
|
|
|
#define NOT_SIMILAR_TO 527
|
|
|
|
#define INTEGER_CONST 528
|
|
|
|
#define REAL_CONST 529
|
|
|
|
#define DATE_CONST 530
|
|
|
|
#define DATETIME_CONST 531
|
|
|
|
#define TIME_CONST 532
|
|
|
|
#define SIN 533
|
|
|
|
#define SQL_SIZE 534
|
|
|
|
#define SMALLINT 535
|
|
|
|
#define SOME 536
|
|
|
|
#define SPACE 537
|
|
|
|
#define SQL 538
|
|
|
|
#define SQL_TRUE 539
|
|
|
|
#define SQLCA 540
|
|
|
|
#define SQLCODE 541
|
|
|
|
#define SQLERROR 542
|
|
|
|
#define SQLSTATE 543
|
|
|
|
#define SQLWARNING 544
|
|
|
|
#define SQRT 545
|
|
|
|
#define STDEV 546
|
|
|
|
#define SUBSTRING 547
|
|
|
|
#define SUM 548
|
|
|
|
#define SYSDATE 549
|
|
|
|
#define SYSDATE_FORMAT 550
|
|
|
|
#define SYSTEM 551
|
|
|
|
#define TABLE 552
|
|
|
|
#define TAN 553
|
|
|
|
#define TEMPORARY 554
|
|
|
|
#define THEN 555
|
|
|
|
#define THREE_DIGITS 556
|
|
|
|
#define TIME 557
|
|
|
|
#define TIMESTAMP 558
|
|
|
|
#define TIMEZONE_HOUR 559
|
|
|
|
#define TIMEZONE_MINUTE 560
|
|
|
|
#define TINYINT 561
|
|
|
|
#define TO 562
|
|
|
|
#define TO_CHAR 563
|
|
|
|
#define TO_DATE 564
|
|
|
|
#define TRANSACTION 565
|
|
|
|
#define TRANSLATE 566
|
|
|
|
#define TRANSLATION 567
|
|
|
|
#define TRUNCATE 568
|
|
|
|
#define GENERAL_TITLE 569
|
|
|
|
#define TWO_DIGITS 570
|
|
|
|
#define UCASE 571
|
|
|
|
#define UNION 572
|
|
|
|
#define UNITQUE 573
|
|
|
|
#define SQL_UNKNOWN 574
|
|
|
|
#define UPDATE 575
|
|
|
|
#define UPPER 576
|
|
|
|
#define USAGE 577
|
|
|
|
#define USER 578
|
|
|
|
#define IDENTIFIER 579
|
|
|
|
#define IDENTIFIER_DOT_ASTERISK 580
|
|
|
|
#define TQUERY_PARAMETER 581
|
|
|
|
#define USING 582
|
|
|
|
#define VALUE 583
|
|
|
|
#define VALUES 584
|
|
|
|
#define VARBINARY 585
|
|
|
|
#define VARCHAR 586
|
|
|
|
#define VARYING 587
|
|
|
|
#define VENDOR 588
|
|
|
|
#define VIEW 589
|
|
|
|
#define WEEK 590
|
|
|
|
#define WHEN 591
|
|
|
|
#define WHENEVER 592
|
|
|
|
#define WHERE 593
|
|
|
|
#define WHERE_CURRENT_OF 594
|
|
|
|
#define WITH 595
|
|
|
|
#define WORD_WRAPPED 596
|
|
|
|
#define WORK 597
|
|
|
|
#define WRAPPED 598
|
|
|
|
#define XOR 599
|
|
|
|
#define YEAR 600
|
|
|
|
#define YEARS_BETWEEN 601
|
|
|
|
#define SCAN_ERROR 602
|
|
|
|
#define __LAST_TOKEN 603
|
|
|
|
#define ILIKE 604
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
|
|
|
typedef union YYSTYPE
|
|
|
|
#line 511 "sqlparser.y"
|
|
|
|
{
|
|
|
|
TQString* stringValue;
|
|
|
|
TQ_LLONG integerValue;
|
|
|
|
bool booleanValue;
|
|
|
|
struct realType realValue;
|
|
|
|
KexiDB::Field::Type colType;
|
|
|
|
KexiDB::Field *field;
|
|
|
|
KexiDB::BaseExpr *expr;
|
|
|
|
KexiDB::NArgExpr *exprList;
|
|
|
|
KexiDB::ConstExpr *constExpr;
|
|
|
|
KexiDB::QuerySchema *querySchema;
|
|
|
|
SelectOptionsInternal *selectOptions;
|
|
|
|
OrderByColumnInternal::List *orderByColumns;
|
|
|
|
TQVariant *variantValue;
|
|
|
|
}
|
|
|
|
/* Line 1528 of yacc.c. */
|
|
|
|
#line 763 "sqlparser.tab.h"
|
|
|
|
YYSTYPE;
|
|
|
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
|
|
|
# define YYSTYPE_IS_DECLARED 1
|
|
|
|
# define YYSTYPE_IS_TRIVIAL 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
extern YYSTYPE yylval;
|
|
|
|
|
|
|
|
#endif
|