#include "field.h"
#include "parser.h"
#include "sqltypes.h"

bool parseData(KexiDB::Parser *p, const char *data);
typedef union {
	char stringValue[255];
	Q_LLONG integerValue;
	struct realType realValue;
	KexiDB::Field::Type colType;
	KexiDB::Field *field;
	KexiDB::BaseExpr *expr;
	KexiDB::NArgExpr *exprList;
	KexiDB::ConstExpr *constExpr;
	KexiDB::QuerySchema *querySchema;
} YYSTYPE;
#define	UMINUS	257
#define	SQL_TYPE	258
#define	SQL_ABS	259
#define	ACOS	260
#define	AMPERSAND	261
#define	SQL_ABSOLUTE	262
#define	ADA	263
#define	ADD	264
#define	ADD_DAYS	265
#define	ADD_HOURS	266
#define	ADD_MINUTES	267
#define	ADD_MONTHS	268
#define	ADD_SECONDS	269
#define	ADD_YEARS	270
#define	ALL	271
#define	ALLOCATE	272
#define	ALTER	273
#define	AND	274
#define	ANY	275
#define	ARE	276
#define	AS	277
#define	ASIN	278
#define	ASC	279
#define	ASCII	280
#define	ASSERTION	281
#define	ATAN	282
#define	ATAN2	283
#define	AUTHORIZATION	284
#define	AUTO_INCREMENT	285
#define	AVG	286
#define	BEFORE	287
#define	SQL_BEGIN	288
#define	BETWEEN	289
#define	BIGINT	290
#define	BINARY	291
#define	BIT	292
#define	BIT_LENGTH	293
#define	BITWISE_SHIFT_LEFT	294
#define	BITWISE_SHIFT_RIGHT	295
#define	BREAK	296
#define	BY	297
#define	CASCADE	298
#define	CASCADED	299
#define	CASE	300
#define	CAST	301
#define	CATALOG	302
#define	CEILING	303
#define	CENTER	304
#define	SQL_CHAR	305
#define	CHAR_LENGTH	306
#define	CHARACTER_STRING_LITERAL	307
#define	CHECK	308
#define	CLOSE	309
#define	COALESCE	310
#define	COBOL	311
#define	COLLATE	312
#define	COLLATION	313
#define	COLUMN	314
#define	COMMIT	315
#define	COMPUTE	316
#define	CONCAT	317
#define	CONCATENATION	318
#define	CONNECT	319
#define	CONNECTION	320
#define	CONSTRAINT	321
#define	CONSTRAINTS	322
#define	CONTINUE	323
#define	CONVERT	324
#define	CORRESPONDING	325
#define	COS	326
#define	COT	327
#define	COUNT	328
#define	CREATE	329
#define	CURDATE	330
#define	CURRENT	331
#define	CURRENT_DATE	332
#define	CURRENT_TIME	333
#define	CURRENT_TIMESTAMP	334
#define	CURTIME	335
#define	CURSOR	336
#define	DATABASE	337
#define	SQL_DATE	338
#define	DATE_FORMAT	339
#define	DATE_REMAINDER	340
#define	DATE_VALUE	341
#define	DAY	342
#define	DAYOFMONTH	343
#define	DAYOFWEEK	344
#define	DAYOFYEAR	345
#define	DAYS_BETWEEN	346
#define	DEALLOCATE	347
#define	DEC	348
#define	DECLARE	349
#define	DEFAULT	350
#define	DEFERRABLE	351
#define	DEFERRED	352
#define	SQL_DELETE	353
#define	DESC	354
#define	DESCRIBE	355
#define	DESCRIPTOR	356
#define	DIAGNOSTICS	357
#define	DICTIONARY	358
#define	DIRECTORY	359
#define	DISCONNECT	360
#define	DISPLACEMENT	361
#define	DISTINCT	362
#define	DOMAIN_TOKEN	363
#define	SQL_DOUBLE	364
#define	DOUBLE_QUOTED_STRING	365
#define	DROP	366
#define	ELSE	367
#define	END	368
#define	END_EXEC	369
#define	EQUAL	370
#define	ESCAPE	371
#define	EXCEPT	372
#define	SQL_EXCEPTION	373
#define	EXEC	374
#define	EXECUTE	375
#define	EXISTS	376
#define	EXP	377
#define	EXPONENT	378
#define	EXTERNAL	379
#define	EXTRACT	380
#define	SQL_FALSE	381
#define	FETCH	382
#define	FIRST	383
#define	SQL_FLOAT	384
#define	FLOOR	385
#define	FN	386
#define	FOR	387
#define	FOREIGN	388
#define	FORTRAN	389
#define	FOUND	390
#define	FOUR_DIGITS	391
#define	FROM	392
#define	FULL	393
#define	GET	394
#define	GLOBAL	395
#define	GO	396
#define	GOTO	397
#define	GRANT	398
#define	GREATER_OR_EQUAL	399
#define	HAVING	400
#define	HOUR	401
#define	HOURS_BETWEEN	402
#define	IDENTITY	403
#define	IFNULL	404
#define	SQL_IGNORE	405
#define	IMMEDIATE	406
#define	SQL_IN	407
#define	INCLUDE	408
#define	INDEX	409
#define	INDICATOR	410
#define	INITIALLY	411
#define	INNER	412
#define	INPUT	413
#define	INSENSITIVE	414
#define	INSERT	415
#define	INTEGER	416
#define	INTERSECT	417
#define	INTERVAL	418
#define	INTO	419
#define	IS	420
#define	ISOLATION	421
#define	JOIN	422
#define	JUSTIFY	423
#define	KEY	424
#define	LANGUAGE	425
#define	LAST	426
#define	LCASE	427
#define	LEFT	428
#define	LENGTH	429
#define	LESS_OR_EQUAL	430
#define	LEVEL	431
#define	LIKE	432
#define	LINE_WIDTH	433
#define	LOCAL	434
#define	LOCATE	435
#define	LOG	436
#define	SQL_LONG	437
#define	LOWER	438
#define	LTRIM	439
#define	LTRIP	440
#define	MATCH	441
#define	SQL_MAX	442
#define	MICROSOFT	443
#define	SQL_MIN	444
#define	MINUS	445
#define	MINUTE	446
#define	MINUTES_BETWEEN	447
#define	MOD	448
#define	MODIFY	449
#define	MODULE	450
#define	MONTH	451
#define	MONTHS_BETWEEN	452
#define	MUMPS	453
#define	NAMES	454
#define	NATIONAL	455
#define	NCHAR	456
#define	NEXT	457
#define	NODUP	458
#define	NONE	459
#define	NOT	460
#define	NOT_EQUAL	461
#define	NOT_EQUAL2	462
#define	NOW	463
#define	SQL_NULL	464
#define	SQL_IS	465
#define	SQL_IS_NULL	466
#define	SQL_IS_NOT_NULL	467
#define	NULLIF	468
#define	NUMERIC	469
#define	OCTET_LENGTH	470
#define	ODBC	471
#define	OF	472
#define	SQL_OFF	473
#define	SQL_ON	474
#define	ONLY	475
#define	OPEN	476
#define	OPTION	477
#define	OR	478
#define	ORDER	479
#define	OUTER	480
#define	OUTPUT	481
#define	OVERLAPS	482
#define	PAGE	483
#define	PARTIAL	484
#define	SQL_PASCAL	485
#define	PERSISTENT	486
#define	CQL_PI	487
#define	PLI	488
#define	POSITION	489
#define	PRECISION	490
#define	PREPARE	491
#define	PRESERVE	492
#define	PRIMARY	493
#define	PRIOR	494
#define	PRIVILEGES	495
#define	PROCEDURE	496
#define	PRODUCT	497
#define	PUBLIC	498
#define	QUARTER	499
#define	QUIT	500
#define	RAND	501
#define	READ_ONLY	502
#define	REAL	503
#define	REFERENCES	504
#define	REPEAT	505
#define	REPLACE	506
#define	RESTRICT	507
#define	REVOKE	508
#define	RIGHT	509
#define	ROLLBACK	510
#define	ROWS	511
#define	RPAD	512
#define	RTRIM	513
#define	SCHEMA	514
#define	SCREEN_WIDTH	515
#define	SCROLL	516
#define	SECOND	517
#define	SECONDS_BETWEEN	518
#define	SELECT	519
#define	SEQUENCE	520
#define	SETOPT	521
#define	SET	522
#define	SHOWOPT	523
#define	SIGN	524
#define	SIMILAR_TO	525
#define	NOT_SIMILAR_TO	526
#define	INTEGER_CONST	527
#define	REAL_CONST	528
#define	DATE_CONST	529
#define	DATETIME_CONST	530
#define	TIME_CONST	531
#define	SIN	532
#define	SQL_SIZE	533
#define	SMALLINT	534
#define	SOME	535
#define	SPACE	536
#define	SQL	537
#define	SQL_TRUE	538
#define	SQLCA	539
#define	SQLCODE	540
#define	SQLERROR	541
#define	SQLSTATE	542
#define	SQLWARNING	543
#define	SQRT	544
#define	STDEV	545
#define	SUBSTRING	546
#define	SUM	547
#define	SYSDATE	548
#define	SYSDATE_FORMAT	549
#define	SYSTEM	550
#define	TABLE	551
#define	TAN	552
#define	TEMPORARY	553
#define	THEN	554
#define	THREE_DIGITS	555
#define	TIME	556
#define	TIMESTAMP	557
#define	TIMEZONE_HOUR	558
#define	TIMEZONE_MINUTE	559
#define	TINYINT	560
#define	TO	561
#define	TO_CHAR	562
#define	TO_DATE	563
#define	TRANSACTION	564
#define	TRANSLATE	565
#define	TRANSLATION	566
#define	TRUNCATE	567
#define	GENERAL_TITLE	568
#define	TWO_DIGITS	569
#define	UCASE	570
#define	UNION	571
#define	UNIQUE	572
#define	SQL_UNKNOWN	573
#define	UPDATE	574
#define	UPPER	575
#define	USAGE	576
#define	USER	577
#define	IDENTIFIER	578
#define	IDENTIFIER_DOT_ASTERISK	579
#define	USING	580
#define	VALUE	581
#define	VALUES	582
#define	VARBINARY	583
#define	VARCHAR	584
#define	VARYING	585
#define	VENDOR	586
#define	VIEW	587
#define	WEEK	588
#define	WHEN	589
#define	WHENEVER	590
#define	WHERE	591
#define	WHERE_CURRENT_OF	592
#define	WITH	593
#define	WORD_WRAPPED	594
#define	WORK	595
#define	WRAPPED	596
#define	XOR	597
#define	YEAR	598
#define	YEARS_BETWEEN	599
#define	SCAN_ERROR	600
#define	__LAST_TOKEN	601
#define	ILIKE	602


extern YYSTYPE yylval;
