Changeset View
Changeset View
Standalone View
Standalone View
src/parser/generated/sqlscanner.cpp
Show First 20 Lines • Show All 358 Lines • ▼ Show 20 Line(s) | |||||
359 | */ | 359 | */ | ||
360 | #define YY_DO_BEFORE_ACTION \ | 360 | #define YY_DO_BEFORE_ACTION \ | ||
361 | (yytext_ptr) = yy_bp; \ | 361 | (yytext_ptr) = yy_bp; \ | ||
362 | yyleng = (size_t) (yy_cp - yy_bp); \ | 362 | yyleng = (size_t) (yy_cp - yy_bp); \ | ||
363 | (yy_hold_char) = *yy_cp; \ | 363 | (yy_hold_char) = *yy_cp; \ | ||
364 | *yy_cp = '\0'; \ | 364 | *yy_cp = '\0'; \ | ||
365 | (yy_c_buf_p) = yy_cp; | 365 | (yy_c_buf_p) = yy_cp; | ||
366 | 366 | | |||
367 | #define YY_NUM_RULES 55 | 367 | #define YY_NUM_RULES 57 | ||
368 | #define YY_END_OF_BUFFER 56 | 368 | #define YY_END_OF_BUFFER 58 | ||
369 | /* This struct is not used in this scanner, | 369 | /* This struct is not used in this scanner, | ||
370 | but its presence is necessary. */ | 370 | but its presence is necessary. */ | ||
371 | struct yy_trans_info | 371 | struct yy_trans_info | ||
372 | { | 372 | { | ||
373 | flex_int32_t yy_verify; | 373 | flex_int32_t yy_verify; | ||
374 | flex_int32_t yy_nxt; | 374 | flex_int32_t yy_nxt; | ||
375 | }; | 375 | }; | ||
376 | static yyconst flex_int16_t yy_accept[192] = | 376 | static yyconst flex_int16_t yy_accept[195] = | ||
377 | { 0, | 377 | { 0, | ||
378 | 0, 0, 0, 0, 56, 55, 53, 54, 55, 9, | 378 | 0, 0, 0, 0, 58, 56, 54, 54, 55, 56, | ||
379 | 54, 54, 55, 54, 7, 54, 54, 54, 51, 51, | 379 | 9, 55, 55, 56, 55, 7, 55, 55, 55, 52, | ||
380 | 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, | 380 | 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, | ||
381 | 51, 51, 51, 51, 54, 54, 12, 15, 10, 11, | 381 | 52, 52, 52, 52, 52, 55, 55, 16, 12, 57, | ||
382 | 55, 55, 53, 2, 0, 50, 0, 16, 0, 50, | 382 | 15, 10, 11, 16, 16, 54, 2, 0, 51, 0, | ||
383 | 0, 8, 8, 7, 51, 39, 4, 1, 3, 5, | 383 | 17, 0, 51, 0, 8, 8, 7, 52, 40, 4, | ||
384 | 40, 51, 17, 51, 47, 51, 51, 51, 51, 6, | 384 | 1, 3, 5, 41, 52, 18, 52, 48, 52, 52, | ||
385 | 32, 51, 51, 51, 51, 51, 36, 37, 51, 51, | 385 | 52, 52, 6, 33, 52, 52, 52, 52, 52, 37, | ||
386 | 51, 51, 51, 51, 51, 0, 38, 12, 0, 0, | 386 | 38, 52, 52, 52, 52, 52, 52, 52, 0, 39, | ||
387 | 11, 13, 14, 50, 50, 8, 16, 48, 51, 51, | 387 | 12, 0, 0, 11, 13, 14, 51, 51, 8, 17, | ||
388 | 388 | | |||
389 | 51, 51, 51, 51, 0, 51, 51, 51, 31, 51, | 389 | 49, 52, 52, 52, 52, 52, 52, 0, 52, 52, | ||
390 | 51, 51, 51, 51, 51, 51, 51, 41, 52, 51, | 390 | 52, 32, 52, 52, 52, 52, 52, 52, 52, 52, | ||
391 | 51, 49, 51, 19, 51, 0, 21, 22, 23, 0, | 391 | 42, 53, 52, 52, 50, 52, 20, 52, 0, 22, | ||
392 | 33, 51, 51, 51, 51, 51, 34, 51, 51, 51, | 392 | 23, 24, 0, 34, 52, 52, 52, 52, 52, 35, | ||
393 | 35, 51, 0, 0, 0, 0, 0, 46, 42, 51, | 393 | 52, 52, 52, 36, 52, 0, 0, 0, 0, 0, | ||
394 | 51, 44, 45, 51, 18, 51, 0, 0, 0, 0, | 394 | 47, 43, 52, 52, 45, 46, 52, 19, 52, 0, | ||
395 | 0, 43, 51, 25, 20, 0, 30, 0, 0, 0, | 395 | 0, 0, 0, 0, 44, 52, 26, 21, 0, 31, | ||
396 | 51, 0, 0, 24, 0, 0, 0, 0, 0, 0, | 396 | 0, 0, 0, 52, 0, 0, 25, 0, 0, 0, | ||
397 | 0, 0, 0, 28, 29, 26, 0, 0, 0, 27, | 397 | 0, 0, 0, 0, 0, 0, 29, 30, 27, 0, | ||
398 | 0 | 398 | 0, 0, 28, 0 | ||
399 | 399 | | |||
400 | } ; | 400 | } ; | ||
401 | 401 | | |||
402 | static yyconst flex_int32_t yy_ec[256] = | 402 | static yyconst flex_int32_t yy_ec[256] = | ||
403 | { 0, | 403 | { 0, | ||
404 | 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, | 404 | 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, | ||
405 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 405 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
406 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 406 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
Show All 30 Lines | 435 | { 0, | |||
437 | 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, | 437 | 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, | ||
438 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 438 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
439 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, | 439 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, | ||
440 | 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, | 440 | 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, | ||
441 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 441 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
442 | 2, 2, 2, 2, 2, 1 | 442 | 2, 2, 2, 2, 2, 1 | ||
443 | } ; | 443 | } ; | ||
444 | 444 | | |||
445 | static yyconst flex_int16_t yy_base[197] = | 445 | static yyconst flex_int16_t yy_base[200] = | ||
446 | { 0, | 446 | { 0, | ||
447 | 0, 0, 65, 66, 484, 515, 67, 469, 69, 515, | 447 | 0, 0, 65, 70, 488, 516, 67, 76, 473, 69, | ||
448 | 515, 474, 64, 469, 68, 70, 466, 72, 77, 78, | 448 | 516, 516, 478, 74, 473, 73, 74, 470, 76, 82, | ||
449 | 79, 80, 467, 83, 84, 90, 108, 118, 120, 110, | 449 | 83, 81, 84, 472, 86, 98, 87, 113, 123, 110, | ||
450 | 140, 119, 91, 128, 0, 410, 134, 515, 515, 463, | 450 | 96, 141, 130, 144, 138, 0, 416, 516, 155, 516, | ||
451 | 117, 118, 90, 515, 152, 469, 158, 515, 147, 464, | 451 | 516, 516, 469, 71, 107, 103, 516, 95, 475, 146, | ||
452 | 157, 460, 459, 92, 459, 515, 515, 515, 515, 515, | 452 | 516, 109, 470, 161, 464, 463, 163, 463, 516, 516, | ||
453 | 515, 163, 172, 159, 458, 175, 170, 157, 178, 186, | 453 | 516, 516, 516, 516, 165, 161, 166, 462, 170, 171, | ||
454 | 199, 189, 185, 192, 194, 196, 457, 205, 203, 204, | 454 | 172, 167, 180, 201, 185, 189, 182, 203, 196, 461, | ||
455 | 208, 215, 217, 223, 216, 425, 515, 240, 184, 209, | 455 | 209, 207, 205, 211, 208, 210, 222, 229, 429, 516, | ||
456 | 454, 515, 515, 233, 232, 453, 453, 451, 243, 246, | 456 | 232, 202, 215, 458, 516, 516, 239, 236, 457, 457, | ||
457 | 457 | | |||
458 | 249, 235, 233, 257, 263, 261, 265, 267, 282, 270, | 458 | 456, 236, 238, 240, 242, 250, 254, 265, 260, 249, | ||
459 | 271, 285, 290, 288, 275, 296, 292, 446, 515, 300, | 459 | 271, 284, 281, 286, 289, 287, 272, 282, 293, 292, | ||
460 | 298, 444, 302, 439, 312, 291, 438, 437, 436, 328, | 460 | 455, 516, 300, 303, 453, 306, 452, 308, 292, 451, | ||
461 | 435, 317, 325, 345, 327, 321, 427, 346, 347, 353, | 461 | 447, 445, 329, 443, 326, 313, 332, 318, 341, 442, | ||
462 | 335, 354, 309, 288, 332, 345, 347, 329, 294, 364, | 462 | 347, 349, 351, 437, 355, 280, 328, 345, 344, 346, | ||
463 | 367, 237, 160, 366, 158, 369, 382, 360, 354, 365, | 463 | 432, 424, 365, 368, 333, 331, 375, 316, 370, 388, | ||
464 | 364, 156, 393, 111, 104, 403, 515, 360, 383, 383, | 464 | 351, 345, 361, 365, 268, 388, 145, 114, 405, 516, | ||
465 | 406, 375, 392, 515, 386, 418, 389, 404, 411, 399, | 465 | 364, 389, 386, 413, 376, 393, 516, 390, 416, 395, | ||
466 | 404, 404, 402, 515, 515, 515, 439, 442, 406, 515, | 466 | 403, 409, 398, 403, 403, 406, 516, 516, 516, 439, | ||
467 | 515, 503, 506, 509, 105, 512 | 467 | 443, 403, 516, 516, 504, 507, 510, 110, 513 | ||
468 | 468 | | |||
469 | } ; | 469 | } ; | ||
470 | 470 | | |||
471 | static yyconst flex_int16_t yy_def[197] = | 471 | static yyconst flex_int16_t yy_def[200] = | ||
472 | { 0, | 472 | { 0, | ||
473 | 191, 1, 192, 192, 191, 191, 191, 191, 193, 191, | 473 | 194, 1, 195, 195, 194, 194, 194, 194, 194, 196, | ||
474 | 191, 191, 194, 191, 195, 191, 191, 191, 195, 195, | 474 | 194, 194, 194, 197, 194, 198, 194, 194, 194, 198, | ||
475 | 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, | 475 | 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, | ||
476 | 195, 195, 195, 195, 196, 191, 191, 191, 191, 191, | 476 | 198, 198, 198, 198, 198, 199, 194, 194, 194, 194, | ||
477 | 191, 191, 191, 191, 193, 191, 193, 191, 194, 191, | 477 | 194, 194, 194, 194, 194, 194, 194, 196, 194, 196, | ||
478 | 194, 191, 191, 195, 195, 191, 191, 191, 191, 191, | 478 | 194, 197, 194, 197, 194, 194, 198, 198, 194, 194, | ||
479 | 191, 195, 195, 195, 195, 195, 195, 195, 195, 195, | 479 | 194, 194, 194, 194, 198, 198, 198, 198, 198, 198, | ||
480 | 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, | 480 | 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, | ||
481 | 195, 195, 195, 195, 195, 196, 191, 191, 191, 191, | 481 | 198, 198, 198, 198, 198, 198, 198, 198, 199, 194, | ||
482 | 191, 191, 191, 193, 194, 191, 195, 195, 195, 195, | 482 | 194, 194, 194, 194, 194, 194, 196, 197, 194, 198, | ||
483 | 483 | | |||
484 | 195, 195, 195, 195, 191, 195, 195, 195, 195, 195, | 484 | 198, 198, 198, 198, 198, 198, 198, 194, 198, 198, | ||
485 | 195, 195, 195, 195, 195, 195, 195, 195, 191, 195, | 485 | 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, | ||
486 | 195, 195, 195, 195, 195, 191, 195, 195, 195, 191, | 486 | 198, 194, 198, 198, 198, 198, 198, 198, 194, 198, | ||
487 | 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, | 487 | 198, 198, 194, 198, 198, 198, 198, 198, 198, 198, | ||
488 | 195, 195, 191, 191, 191, 191, 191, 195, 195, 195, | 488 | 198, 198, 198, 198, 198, 194, 194, 194, 194, 194, | ||
489 | 195, 195, 195, 195, 195, 195, 191, 191, 191, 191, | 489 | 198, 198, 198, 198, 198, 198, 198, 198, 198, 194, | ||
490 | 191, 195, 195, 195, 195, 191, 191, 191, 191, 191, | 490 | 194, 194, 194, 194, 198, 198, 198, 198, 194, 194, | ||
491 | 195, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 491 | 194, 194, 194, 198, 194, 194, 194, 194, 194, 194, | ||
492 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 492 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
493 | 0, 191, 191, 191, 191, 191 | 493 | 194, 194, 194, 0, 194, 194, 194, 194, 194 | ||
494 | 494 | | |||
495 | } ; | 495 | } ; | ||
496 | 496 | | |||
497 | static yyconst flex_int16_t yy_nxt[582] = | 497 | static yyconst flex_int16_t yy_nxt[583] = | ||
498 | { 0, | 498 | { 0, | ||
499 | 6, 7, 7, 8, 9, 10, 11, 12, 13, 11, | 499 | 6, 7, 8, 9, 10, 11, 12, 13, 14, 12, | ||
500 | 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, | 500 | 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, | ||
501 | 24, 23, 23, 25, 26, 23, 27, 23, 28, 29, | 501 | 25, 24, 24, 26, 27, 24, 28, 24, 29, 30, | ||
502 | 23, 23, 30, 31, 32, 23, 33, 34, 23, 35, | 502 | 24, 24, 31, 32, 33, 24, 34, 35, 24, 36, | ||
503 | 6, 11, 19, 20, 21, 22, 23, 24, 23, 23, | 503 | 6, 12, 20, 21, 22, 23, 24, 25, 24, 24, | ||
504 | 25, 26, 23, 27, 23, 28, 29, 23, 30, 31, | 504 | 26, 27, 24, 28, 24, 29, 30, 24, 31, 32, | ||
505 | 32, 23, 33, 34, 23, 36, 37, 37, 43, 43, | 505 | 33, 24, 34, 35, 24, 37, 39, 40, 46, 46, | ||
506 | 38, 38, 50, 46, 39, 39, 40, 40, 53, 54, | 506 | 41, 39, 40, 49, 42, 41, 43, 46, 46, 42, | ||
507 | 41, 41, 56, 57, 58, 60, 61, 191, 191, 191, | 507 | 44, 43, 53, 56, 57, 44, 59, 60, 61, 63, | ||
508 | 191, 43, 43, 191, 191, 42, 42, 64, 68, 67, | 508 | 64, 194, 194, 194, 194, 45, 194, 194, 95, 49, | ||
509 | 509 | | |||
510 | 191, 191, 53, 54, 51, 62, 55, 41, 41, 47, | 510 | 45, 71, 67, 70, 46, 46, 194, 44, 194, 50, | ||
511 | 63, 66, 70, 84, 191, 69, 65, 71, 191, 72, | 511 | 65, 58, 44, 69, 54, 66, 75, 53, 72, 82, | ||
512 | 191, 191, 42, 42, 64, 68, 67, 73, 191, 191, | 512 | 194, 68, 45, 194, 194, 95, 73, 45, 71, 67, | ||
513 | 191, 74, 62, 79, 82, 88, 63, 66, 191, 70, | 513 | 70, 74, 76, 194, 96, 50, 77, 65, 80, 69, | ||
514 | 84, 69, 65, 71, 92, 93, 72, 75, 77, 89, | 514 | 194, 66, 81, 75, 72, 85, 82, 68, 194, 54, | ||
515 | 191, 83, 78, 76, 73, 50, 46, 85, 74, 80, | 515 | 97, 194, 78, 73, 194, 194, 91, 74, 79, 76, | ||
516 | 79, 82, 94, 81, 90, 95, 191, 191, 191, 191, | 516 | 83, 96, 86, 77, 84, 80, 87, 88, 81, 98, | ||
517 | 191, 92, 93, 191, 75, 77, 89, 83, 78, 76, | 517 | 92, 194, 85, 56, 57, 194, 194, 194, 101, 78, | ||
518 | 191, 97, 191, 102, 85, 191, 80, 51, 191, 98, | 518 | 194, 194, 194, 100, 79, 93, 50, 83, 86, 103, | ||
519 | 81, 90, 47, 99, 100, 191, 191, 51, 47, 191, | 519 | 194, 84, 194, 87, 88, 194, 106, 92, 105, 194, | ||
520 | 520 | | |||
521 | 105, 105, 191, 101, 191, 107, 191, 103, 97, 191, | 521 | 102, 54, 108, 108, 104, 101, 194, 111, 109, 110, | ||
522 | 102, 92, 106, 191, 191, 191, 98, 108, 191, 99, | 522 | 100, 194, 93, 194, 107, 194, 103, 194, 194, 194, | ||
523 | 104, 100, 110, 111, 112, 191, 191, 191, 109, 101, | 523 | 194, 194, 113, 106, 118, 105, 102, 114, 115, 95, | ||
524 | 113, 115, 107, 191, 103, 114, 93, 94, 92, 106, | 524 | 104, 116, 194, 91, 111, 109, 110, 112, 117, 194, | ||
525 | 95, 88, 117, 191, 108, 191, 104, 191, 118, 110, | 525 | 107, 120, 96, 97, 98, 119, 194, 92, 194, 113, | ||
526 | 111, 112, 116, 191, 109, 89, 191, 113, 115, 191, | 526 | 194, 118, 194, 124, 114, 115, 95, 125, 116, 194, | ||
527 | 124, 121, 114, 93, 105, 105, 122, 191, 123, 117, | 527 | 194, 121, 93, 112, 194, 117, 108, 108, 120, 96, | ||
528 | 90, 191, 51, 47, 118, 191, 125, 191, 116, 120, | 528 | 194, 119, 123, 128, 92, 126, 54, 127, 194, 50, | ||
529 | 191, 191, 89, 130, 130, 191, 129, 124, 121, 127, | 529 | 124, 194, 194, 131, 125, 133, 133, 121, 130, 93, | ||
530 | 132, 126, 191, 122, 123, 191, 131, 90, 191, 128, | 530 | 132, 194, 194, 129, 194, 138, 194, 194, 123, 194, | ||
531 | 531 | | |||
532 | 191, 136, 191, 125, 191, 120, 191, 133, 191, 134, | 532 | 128, 126, 194, 194, 127, 135, 137, 134, 139, 131, | ||
533 | 191, 135, 191, 129, 158, 137, 127, 132, 126, 139, | 533 | 194, 136, 140, 194, 160, 130, 194, 132, 194, 142, | ||
534 | 143, 141, 191, 131, 138, 128, 144, 191, 136, 130, | 534 | 129, 146, 138, 194, 141, 144, 194, 147, 194, 145, | ||
535 | 130, 191, 140, 142, 133, 191, 134, 191, 135, 191, | 535 | 133, 133, 135, 137, 134, 139, 194, 143, 136, 140, | ||
536 | 152, 158, 137, 157, 145, 191, 139, 143, 141, 148, | 536 | 160, 194, 194, 194, 154, 148, 142, 152, 146, 153, | ||
537 | 138, 159, 144, 151, 146, 191, 191, 191, 140, 149, | 537 | 141, 194, 144, 147, 161, 149, 145, 194, 151, 194, | ||
538 | 142, 147, 150, 191, 191, 153, 154, 152, 160, 157, | 538 | 155, 194, 150, 143, 162, 194, 156, 163, 157, 164, | ||
539 | 161, 145, 155, 156, 191, 148, 191, 191, 159, 191, | 539 | 158, 154, 148, 152, 159, 194, 153, 170, 194, 171, | ||
540 | 151, 146, 163, 166, 166, 149, 167, 147, 168, 150, | 540 | 194, 161, 149, 166, 151, 194, 172, 155, 150, 169, | ||
541 | 169, 170, 153, 154, 164, 160, 173, 161, 162, 155, | 541 | 169, 162, 173, 156, 163, 157, 164, 158, 194, 165, | ||
542 | 542 | | |||
543 | 156, 165, 174, 191, 166, 166, 175, 176, 176, 163, | 543 | 176, 159, 168, 167, 170, 171, 169, 169, 177, 178, | ||
544 | 177, 178, 179, 167, 168, 181, 191, 169, 170, 176, | 544 | 166, 180, 181, 172, 179, 179, 182, 179, 179, 173, | ||
545 | 176, 164, 173, 182, 162, 171, 183, 165, 184, 174, | 545 | 174, 184, 185, 194, 186, 165, 176, 187, 168, 188, | ||
546 | 185, 172, 186, 175, 187, 190, 177, 191, 178, 179, | 546 | 167, 189, 193, 175, 194, 177, 178, 180, 190, 181, | ||
547 | 188, 188, 181, 188, 188, 191, 191, 191, 191, 191, | 547 | 191, 191, 194, 182, 191, 191, 174, 194, 184, 185, | ||
548 | 182, 171, 180, 183, 191, 184, 191, 185, 172, 186, | 548 | 183, 186, 194, 194, 187, 194, 188, 194, 189, 193, | ||
549 | 187, 191, 190, 191, 96, 91, 119, 191, 191, 191, | 549 | 175, 194, 194, 194, 190, 194, 194, 194, 99, 94, | ||
550 | 96, 52, 49, 45, 91, 87, 189, 191, 180, 59, | 550 | 122, 194, 194, 194, 99, 55, 183, 192, 52, 48, | ||
551 | 52, 48, 44, 191, 191, 191, 191, 191, 191, 191, | 551 | 94, 90, 194, 62, 55, 51, 47, 194, 194, 194, | ||
552 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 552 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
553 | 553 | | |||
554 | 191, 191, 189, 6, 6, 6, 45, 45, 45, 49, | 554 | 194, 194, 194, 192, 38, 38, 38, 48, 48, 48, | ||
555 | 49, 49, 86, 86, 5, 191, 191, 191, 191, 191, | 555 | 52, 52, 52, 89, 89, 5, 194, 194, 194, 194, | ||
556 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 556 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
557 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 557 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
558 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 558 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
559 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 559 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
560 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 560 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
561 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 561 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
562 | 191 | 562 | 194, 194 | ||
563 | } ; | 563 | } ; | ||
564 | 564 | | |||
565 | static yyconst flex_int16_t yy_chk[582] = | 565 | static yyconst flex_int16_t yy_chk[583] = | ||
566 | { 0, | 566 | { 0, | ||
567 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 567 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
568 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 568 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
569 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 569 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
570 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 570 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
571 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 571 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
572 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 572 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
573 | 1, 1, 1, 1, 1, 1, 3, 4, 7, 7, | 573 | 1, 1, 1, 1, 1, 1, 3, 3, 7, 7, | ||
574 | 3, 4, 13, 9, 3, 4, 3, 4, 15, 15, | 574 | 3, 4, 4, 10, 3, 4, 3, 8, 8, 4, | ||
575 | 3, 4, 16, 16, 16, 18, 18, 19, 20, 21, | 575 | 3, 4, 14, 16, 16, 4, 17, 17, 17, 19, | ||
576 | 22, 43, 43, 24, 25, 3, 4, 20, 24, 22, | 576 | 19, 22, 20, 21, 23, 3, 25, 27, 44, 48, | ||
577 | 577 | | |||
578 | 26, 33, 54, 54, 13, 19, 195, 3, 4, 9, | 578 | 4, 25, 21, 23, 46, 46, 31, 3, 26, 10, | ||
579 | 19, 21, 25, 33, 165, 24, 20, 25, 27, 26, | 579 | 20, 198, 4, 22, 14, 20, 27, 52, 25, 31, | ||
580 | 30, 164, 3, 4, 20, 24, 22, 27, 28, 32, | 580 | 30, 21, 3, 28, 168, 44, 26, 4, 25, 21, | ||
581 | 29, 27, 19, 30, 32, 37, 19, 21, 34, 25, | 581 | 23, 26, 28, 29, 45, 48, 28, 20, 30, 22, | ||
582 | 33, 24, 20, 25, 41, 42, 26, 28, 29, 37, | 582 | 33, 20, 30, 27, 25, 33, 31, 21, 35, 52, | ||
583 | 31, 32, 29, 28, 27, 49, 45, 34, 27, 31, | 583 | 50, 32, 29, 26, 34, 167, 39, 26, 29, 28, | ||
584 | 30, 32, 47, 31, 37, 51, 162, 68, 155, 64, | 584 | 32, 45, 33, 28, 32, 30, 34, 35, 30, 54, | ||
585 | 153, 41, 42, 62, 28, 29, 37, 32, 29, 28, | 585 | 39, 66, 33, 57, 57, 65, 67, 72, 66, 29, | ||
586 | 67, 62, 63, 68, 34, 66, 31, 49, 69, 63, | 586 | 69, 70, 71, 65, 29, 39, 50, 32, 33, 69, | ||
587 | 31, 37, 45, 64, 66, 73, 70, 51, 47, 72, | 587 | 73, 32, 77, 34, 35, 75, 72, 39, 71, 76, | ||
588 | 588 | | |||
589 | 71, 71, 74, 67, 75, 73, 76, 69, 62, 71, | 589 | 67, 54, 74, 74, 70, 66, 79, 77, 75, 76, | ||
590 | 68, 89, 72, 79, 80, 78, 63, 74, 81, 64, | 590 | 65, 74, 39, 78, 73, 83, 69, 82, 85, 81, | ||
591 | 70, 66, 76, 78, 79, 82, 85, 83, 75, 67, | 591 | 86, 84, 79, 72, 85, 71, 67, 81, 82, 92, | ||
592 | 80, 82, 73, 84, 69, 81, 90, 94, 89, 72, | 592 | 70, 83, 87, 91, 77, 75, 76, 78, 84, 88, | ||
593 | 95, 88, 84, 103, 74, 102, 70, 152, 85, 76, | 593 | 73, 87, 93, 97, 98, 86, 102, 91, 103, 79, | ||
594 | 78, 79, 83, 99, 75, 88, 100, 80, 82, 101, | 594 | 104, 85, 105, 103, 81, 82, 92, 104, 83, 110, | ||
595 | 103, 100, 81, 90, 105, 105, 101, 104, 102, 84, | 595 | 106, 88, 91, 78, 107, 84, 108, 108, 87, 93, | ||
596 | 88, 106, 95, 94, 85, 107, 104, 108, 83, 99, | 596 | 109, 86, 102, 107, 91, 105, 98, 106, 165, 97, | ||
597 | 110, 111, 88, 109, 109, 115, 108, 103, 100, 106, | 597 | 103, 111, 117, 110, 104, 112, 112, 88, 109, 91, | ||
598 | 111, 105, 109, 101, 102, 112, 110, 88, 114, 107, | 598 | 111, 113, 118, 108, 112, 117, 114, 116, 102, 115, | ||
599 | 599 | | |||
600 | 113, 115, 117, 104, 149, 99, 116, 112, 121, 113, | 600 | 107, 105, 120, 119, 106, 114, 116, 113, 118, 110, | ||
601 | 120, 114, 123, 108, 144, 116, 106, 111, 105, 120, | 601 | 123, 115, 119, 124, 146, 109, 126, 111, 128, 123, | ||
602 | 126, 123, 125, 110, 117, 107, 126, 132, 115, 130, | 602 | 108, 129, 117, 136, 120, 126, 158, 129, 138, 128, | ||
603 | 130, 136, 121, 125, 112, 133, 113, 135, 114, 148, | 603 | 133, 133, 114, 116, 113, 118, 135, 124, 115, 119, | ||
604 | 136, 144, 116, 143, 130, 141, 120, 126, 123, 132, | 604 | 146, 156, 137, 155, 138, 133, 123, 136, 129, 137, | ||
605 | 117, 145, 126, 135, 130, 134, 138, 139, 121, 133, | 605 | 120, 139, 126, 129, 147, 133, 128, 141, 135, 142, | ||
606 | 125, 130, 134, 140, 142, 138, 139, 136, 146, 143, | 606 | 139, 143, 133, 124, 148, 145, 141, 149, 142, 150, | ||
607 | 147, 130, 140, 142, 150, 132, 154, 151, 145, 156, | 607 | 143, 138, 133, 136, 145, 153, 137, 161, 154, 162, | ||
608 | 135, 130, 151, 157, 157, 133, 158, 130, 159, 134, | 608 | 159, 147, 133, 154, 135, 157, 163, 139, 133, 160, | ||
609 | 160, 161, 138, 139, 154, 146, 168, 147, 150, 140, | 609 | 160, 148, 164, 141, 149, 142, 150, 143, 166, 153, | ||
610 | 610 | | |||
611 | 142, 156, 169, 163, 166, 166, 170, 171, 171, 151, | 611 | 171, 145, 159, 157, 161, 162, 169, 169, 172, 173, | ||
612 | 172, 173, 175, 158, 159, 177, 171, 160, 161, 176, | 612 | 154, 175, 176, 163, 174, 174, 178, 179, 179, 164, | ||
613 | 176, 154, 168, 178, 150, 163, 179, 156, 180, 169, | 613 | 166, 180, 181, 174, 182, 153, 171, 183, 159, 184, | ||
614 | 181, 166, 182, 170, 183, 189, 172, 137, 173, 175, | 614 | 157, 185, 192, 169, 152, 172, 173, 175, 186, 176, | ||
615 | 187, 187, 177, 188, 188, 131, 129, 128, 127, 124, | 615 | 190, 190, 151, 178, 191, 191, 166, 144, 180, 181, | ||
616 | 178, 163, 176, 179, 122, 180, 118, 181, 166, 182, | 616 | 179, 182, 140, 134, 183, 132, 184, 131, 185, 192, | ||
617 | 183, 98, 189, 97, 96, 91, 86, 77, 65, 55, | 617 | 169, 130, 127, 125, 186, 121, 101, 100, 99, 94, | ||
618 | 53, 52, 50, 46, 40, 36, 188, 23, 176, 17, | 618 | 89, 80, 68, 58, 56, 55, 179, 191, 53, 49, | ||
619 | 14, 12, 8, 5, 0, 0, 0, 0, 0, 0, | 619 | 43, 37, 24, 18, 15, 13, 9, 5, 0, 0, | ||
620 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 620 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
621 | 621 | | |||
622 | 0, 0, 188, 192, 192, 192, 193, 193, 193, 194, | 622 | 0, 0, 0, 191, 195, 195, 195, 196, 196, 196, | ||
623 | 194, 194, 196, 196, 191, 191, 191, 191, 191, 191, | 623 | 197, 197, 197, 199, 199, 194, 194, 194, 194, 194, | ||
624 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 624 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
625 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 625 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
626 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 626 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
627 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 627 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
628 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 628 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
629 | 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, | 629 | 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, | ||
630 | 191 | 630 | 194, 194 | ||
631 | } ; | 631 | } ; | ||
632 | 632 | | |||
633 | static yy_state_type yy_last_accepting_state; | 633 | static yy_state_type yy_last_accepting_state; | ||
634 | static char *yy_last_accepting_cpos; | 634 | static char *yy_last_accepting_cpos; | ||
635 | 635 | | |||
636 | extern int yy_flex_debug; | 636 | extern int yy_flex_debug; | ||
637 | int yy_flex_debug = 0; | 637 | int yy_flex_debug = 0; | ||
638 | 638 | | |||
Show All 37 Lines | |||||
676 | extern QByteArray globalToken; | 676 | extern QByteArray globalToken; | ||
677 | 677 | | |||
678 | #define YY_NO_UNPUT | 678 | #define YY_NO_UNPUT | ||
679 | #define ECOUNT globalCurrentPos += yyleng; globalToken = yytext | 679 | #define ECOUNT globalCurrentPos += yyleng; globalToken = yytext | ||
680 | 680 | | |||
681 | extern void setError(const QString& errDesc); | 681 | extern void setError(const QString& errDesc); | ||
682 | extern void setError(const QString& errName, const QString& errDesc); | 682 | extern void setError(const QString& errName, const QString& errDesc); | ||
683 | 683 | | |||
684 | /* Only quotes the input if it does not start with a quote character, otherwise | ||||
685 | it would be too hard to read with some fonts. */ | ||||
686 | static QString maybeQuote(const QString& string) | ||||
687 | { | ||||
688 | QString first(string.left(1)); | ||||
689 | if (first == QLatin1Char('\'') || first == QLatin1Char('"') || first == QLatin1Char('`')) { | ||||
690 | return string; | ||||
691 | } | ||||
692 | return QStringLiteral("\"%1\"").arg(string); | ||||
693 | } | ||||
684 | /* *** Please reflect changes to this file in ../driver_p.cpp *** */ | 694 | /* *** Please reflect changes to this file in ../driver_p.cpp *** */ | ||
685 | 695 | | |||
686 | /*identifier [a-zA-Z_][a-zA-Z_0-9]* */ | 696 | /*identifier [a-zA-Z_][a-zA-Z_0-9]* */ | ||
687 | /* quoted_identifier (\"[a-zA-Z_0-9]+\") */ | 697 | /* quoted_identifier (\"[a-zA-Z_0-9]+\") */ | ||
688 | #line 689 "generated/sqlscanner.cpp" | 698 | #line 699 "generated/sqlscanner.cpp" | ||
689 | 699 | | |||
690 | #define INITIAL 0 | 700 | #define INITIAL 0 | ||
691 | #define DATE_OR_TIME 1 | 701 | #define DATE_OR_TIME 1 | ||
692 | 702 | | |||
693 | #ifndef YY_NO_UNISTD_H | 703 | #ifndef YY_NO_UNISTD_H | ||
694 | /* Special case for "unistd.h", since it is non-ANSI. We include it way | 704 | /* Special case for "unistd.h", since it is non-ANSI. We include it way | ||
695 | * down here because we want the user's section 1 to have been scanned first. | 705 | * down here because we want the user's section 1 to have been scanned first. | ||
696 | * The user has a chance to override it with an option. | 706 | * The user has a chance to override it with an option. | ||
▲ Show 20 Lines • Show All 166 Lines • ▼ Show 20 Line(s) | |||||
863 | /** The main scanner function which does all the work. | 873 | /** The main scanner function which does all the work. | ||
864 | */ | 874 | */ | ||
865 | YY_DECL | 875 | YY_DECL | ||
866 | { | 876 | { | ||
867 | register yy_state_type yy_current_state; | 877 | register yy_state_type yy_current_state; | ||
868 | register char *yy_cp, *yy_bp; | 878 | register char *yy_cp, *yy_bp; | ||
869 | register int yy_act; | 879 | register int yy_act; | ||
870 | 880 | | |||
871 | #line 63 "KDbSqlScanner.l" | 881 | #line 73 "KDbSqlScanner.l" | ||
872 | 882 | | |||
873 | 883 | | |||
874 | int DATE_OR_TIME_caller = 0; | 884 | int DATE_OR_TIME_caller = 0; | ||
875 | 885 | | |||
876 | #line 877 "generated/sqlscanner.cpp" | 886 | #line 887 "generated/sqlscanner.cpp" | ||
877 | 887 | | |||
878 | if ( !(yy_init) ) | 888 | if ( !(yy_init) ) | ||
879 | { | 889 | { | ||
880 | (yy_init) = 1; | 890 | (yy_init) = 1; | ||
881 | 891 | | |||
882 | #ifdef YY_USER_INIT | 892 | #ifdef YY_USER_INIT | ||
883 | YY_USER_INIT; | 893 | YY_USER_INIT; | ||
884 | #endif | 894 | #endif | ||
Show All 36 Lines | 928 | do | |||
921 | if ( yy_accept[yy_current_state] ) | 931 | if ( yy_accept[yy_current_state] ) | ||
922 | { | 932 | { | ||
923 | (yy_last_accepting_state) = yy_current_state; | 933 | (yy_last_accepting_state) = yy_current_state; | ||
924 | (yy_last_accepting_cpos) = yy_cp; | 934 | (yy_last_accepting_cpos) = yy_cp; | ||
925 | } | 935 | } | ||
926 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) | 936 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) | ||
927 | { | 937 | { | ||
928 | yy_current_state = (int) yy_def[yy_current_state]; | 938 | yy_current_state = (int) yy_def[yy_current_state]; | ||
929 | if ( yy_current_state >= 192 ) | 939 | if ( yy_current_state >= 195 ) | ||
930 | yy_c = yy_meta[(unsigned int) yy_c]; | 940 | yy_c = yy_meta[(unsigned int) yy_c]; | ||
931 | } | 941 | } | ||
932 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; | 942 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; | ||
933 | ++yy_cp; | 943 | ++yy_cp; | ||
934 | } | 944 | } | ||
935 | while ( yy_current_state != 191 ); | 945 | while ( yy_current_state != 194 ); | ||
936 | yy_cp = (yy_last_accepting_cpos); | 946 | yy_cp = (yy_last_accepting_cpos); | ||
937 | yy_current_state = (yy_last_accepting_state); | 947 | yy_current_state = (yy_last_accepting_state); | ||
938 | 948 | | |||
939 | yy_find_action: | 949 | yy_find_action: | ||
940 | yy_act = yy_accept[yy_current_state]; | 950 | yy_act = yy_accept[yy_current_state]; | ||
941 | 951 | | |||
942 | YY_DO_BEFORE_ACTION; | 952 | YY_DO_BEFORE_ACTION; | ||
943 | 953 | | |||
944 | do_action: /* This label is used only to access EOF actions. */ | 954 | do_action: /* This label is used only to access EOF actions. */ | ||
945 | 955 | | |||
946 | switch ( yy_act ) | 956 | switch ( yy_act ) | ||
947 | { /* beginning of action switch */ | 957 | { /* beginning of action switch */ | ||
948 | case 0: /* must back up */ | 958 | case 0: /* must back up */ | ||
949 | /* undo the effects of YY_DO_BEFORE_ACTION */ | 959 | /* undo the effects of YY_DO_BEFORE_ACTION */ | ||
950 | *yy_cp = (yy_hold_char); | 960 | *yy_cp = (yy_hold_char); | ||
951 | yy_cp = (yy_last_accepting_cpos); | 961 | yy_cp = (yy_last_accepting_cpos); | ||
952 | yy_current_state = (yy_last_accepting_state); | 962 | yy_current_state = (yy_last_accepting_state); | ||
953 | goto yy_find_action; | 963 | goto yy_find_action; | ||
954 | 964 | | |||
955 | case 1: | 965 | case 1: | ||
956 | YY_RULE_SETUP | 966 | YY_RULE_SETUP | ||
957 | #line 67 "KDbSqlScanner.l" | 967 | #line 77 "KDbSqlScanner.l" | ||
958 | { | 968 | { | ||
959 | ECOUNT; | 969 | ECOUNT; | ||
960 | return NOT_EQUAL; | 970 | return NOT_EQUAL; | ||
961 | } | 971 | } | ||
962 | YY_BREAK | 972 | YY_BREAK | ||
963 | case 2: | 973 | case 2: | ||
964 | YY_RULE_SETUP | 974 | YY_RULE_SETUP | ||
965 | #line 72 "KDbSqlScanner.l" | 975 | #line 82 "KDbSqlScanner.l" | ||
966 | { | 976 | { | ||
967 | ECOUNT; | 977 | ECOUNT; | ||
968 | return NOT_EQUAL2; | 978 | return NOT_EQUAL2; | ||
969 | } | 979 | } | ||
970 | YY_BREAK | 980 | YY_BREAK | ||
971 | case 3: | 981 | case 3: | ||
972 | YY_RULE_SETUP | 982 | YY_RULE_SETUP | ||
973 | #line 77 "KDbSqlScanner.l" | 983 | #line 87 "KDbSqlScanner.l" | ||
974 | { | 984 | { | ||
975 | ECOUNT; | 985 | ECOUNT; | ||
976 | return '='; | 986 | return '='; | ||
977 | } | 987 | } | ||
978 | YY_BREAK | 988 | YY_BREAK | ||
979 | case 4: | 989 | case 4: | ||
980 | YY_RULE_SETUP | 990 | YY_RULE_SETUP | ||
981 | #line 82 "KDbSqlScanner.l" | 991 | #line 92 "KDbSqlScanner.l" | ||
982 | { | 992 | { | ||
983 | ECOUNT; | 993 | ECOUNT; | ||
984 | return LESS_OR_EQUAL; | 994 | return LESS_OR_EQUAL; | ||
985 | } | 995 | } | ||
986 | YY_BREAK | 996 | YY_BREAK | ||
987 | case 5: | 997 | case 5: | ||
988 | YY_RULE_SETUP | 998 | YY_RULE_SETUP | ||
989 | #line 87 "KDbSqlScanner.l" | 999 | #line 97 "KDbSqlScanner.l" | ||
990 | { | 1000 | { | ||
991 | ECOUNT; | 1001 | ECOUNT; | ||
992 | return GREATER_OR_EQUAL; | 1002 | return GREATER_OR_EQUAL; | ||
993 | } | 1003 | } | ||
994 | YY_BREAK | 1004 | YY_BREAK | ||
995 | case 6: | 1005 | case 6: | ||
996 | YY_RULE_SETUP | 1006 | YY_RULE_SETUP | ||
997 | #line 92 "KDbSqlScanner.l" | 1007 | #line 102 "KDbSqlScanner.l" | ||
998 | { | 1008 | { | ||
999 | ECOUNT; | 1009 | ECOUNT; | ||
1000 | return SQL_IN; | 1010 | return SQL_IN; | ||
1001 | } | 1011 | } | ||
1002 | YY_BREAK | 1012 | YY_BREAK | ||
1003 | case 7: | 1013 | case 7: | ||
1004 | YY_RULE_SETUP | 1014 | YY_RULE_SETUP | ||
1005 | #line 97 "KDbSqlScanner.l" | 1015 | #line 107 "KDbSqlScanner.l" | ||
1006 | { | 1016 | { | ||
1007 | //! @todo what about hex or octal values? | 1017 | //! @todo what about hex or octal values? | ||
1008 | //we're using QString:toLongLong() here because atoll() is not so portable: | 1018 | //we're using QString:toLongLong() here because atoll() is not so portable: | ||
1009 | ECOUNT; | 1019 | ECOUNT; | ||
1010 | bool ok; | 1020 | bool ok; | ||
1011 | yylval.integerValue = QByteArray(yytext).toLongLong(&ok); | 1021 | yylval.integerValue = QByteArray(yytext).toLongLong(&ok); | ||
1012 | if (!ok) { | 1022 | if (!ok) { | ||
1013 | setError(KDbParser::tr("Invalid integer number"), KDbParser::tr("This integer number may be too large.")); | 1023 | setError(KDbParser::tr("Invalid integer number"), KDbParser::tr("This integer number may be too large.")); | ||
1014 | return SCAN_ERROR; | 1024 | return SCAN_ERROR; | ||
1015 | } | 1025 | } | ||
1016 | return INTEGER_CONST; | 1026 | return INTEGER_CONST; | ||
1017 | } | 1027 | } | ||
1018 | YY_BREAK | 1028 | YY_BREAK | ||
1019 | case 8: | 1029 | case 8: | ||
1020 | YY_RULE_SETUP | 1030 | YY_RULE_SETUP | ||
1021 | #line 110 "KDbSqlScanner.l" | 1031 | #line 120 "KDbSqlScanner.l" | ||
1022 | { | 1032 | { | ||
1023 | ECOUNT; | 1033 | ECOUNT; | ||
1024 | yylval.binaryValue = new QByteArray(yytext, yyleng); | 1034 | yylval.binaryValue = new QByteArray(yytext, yyleng); | ||
1025 | return REAL_CONST; | 1035 | return REAL_CONST; | ||
1026 | } | 1036 | } | ||
1027 | YY_BREAK | 1037 | YY_BREAK | ||
1028 | /* --- DATE_OR_TIME --- */ | 1038 | /* --- DATE_OR_TIME --- */ | ||
1029 | case 9: | 1039 | case 9: | ||
1030 | YY_RULE_SETUP | 1040 | YY_RULE_SETUP | ||
1031 | #line 117 "KDbSqlScanner.l" | 1041 | #line 127 "KDbSqlScanner.l" | ||
1032 | { | 1042 | { | ||
1033 | ECOUNT; | 1043 | ECOUNT; | ||
1034 | sqlParserDebug() << "### begin DATE_OR_TIME" << yytext << "(" << yyleng << ")"; | 1044 | sqlParserDebug() << "### begin DATE_OR_TIME" << yytext << "(" << yyleng << ")"; | ||
1035 | DATE_OR_TIME_caller = YYSTATE; | 1045 | DATE_OR_TIME_caller = YYSTATE; | ||
1036 | BEGIN(DATE_OR_TIME); | 1046 | BEGIN(DATE_OR_TIME); | ||
1037 | return '#'; | 1047 | return '#'; | ||
1038 | } | 1048 | } | ||
1039 | YY_BREAK | 1049 | YY_BREAK | ||
1040 | 1050 | | |||
1041 | case 10: | 1051 | case 10: | ||
1042 | YY_RULE_SETUP | 1052 | YY_RULE_SETUP | ||
1043 | #line 127 "KDbSqlScanner.l" | 1053 | #line 137 "KDbSqlScanner.l" | ||
1044 | { // year prefix or / or - or : separator | 1054 | { // year prefix or / or - or : separator | ||
1045 | ECOUNT; | 1055 | ECOUNT; | ||
1046 | return yytext[0]; | 1056 | return yytext[0]; | ||
1047 | } | 1057 | } | ||
1048 | YY_BREAK | 1058 | YY_BREAK | ||
1049 | case 11: | 1059 | case 11: | ||
1050 | YY_RULE_SETUP | 1060 | YY_RULE_SETUP | ||
1051 | #line 132 "KDbSqlScanner.l" | 1061 | #line 142 "KDbSqlScanner.l" | ||
1052 | { // year, month, day, hour, minute or second | 1062 | { // year, month, day, hour, minute or second | ||
1053 | ECOUNT; | 1063 | ECOUNT; | ||
1054 | yylval.binaryValue = new QByteArray(yytext, yyleng); | 1064 | yylval.binaryValue = new QByteArray(yytext, yyleng); | ||
1055 | return DATE_TIME_INTEGER; | 1065 | return DATE_TIME_INTEGER; | ||
1056 | } | 1066 | } | ||
1057 | YY_BREAK | 1067 | YY_BREAK | ||
1058 | case 12: | 1068 | case 12: | ||
1059 | YY_RULE_SETUP | 1069 | YY_RULE_SETUP | ||
1060 | #line 138 "KDbSqlScanner.l" | 1070 | #line 148 "KDbSqlScanner.l" | ||
1061 | { | 1071 | { | ||
1062 | ECOUNT; | 1072 | ECOUNT; | ||
1063 | return TABS_OR_SPACES; | 1073 | return TABS_OR_SPACES; | ||
1064 | } | 1074 | } | ||
1065 | YY_BREAK | 1075 | YY_BREAK | ||
1066 | case 13: | 1076 | case 13: | ||
1067 | YY_RULE_SETUP | 1077 | YY_RULE_SETUP | ||
1068 | #line 143 "KDbSqlScanner.l" | 1078 | #line 153 "KDbSqlScanner.l" | ||
1069 | { | 1079 | { | ||
1070 | ECOUNT; | 1080 | ECOUNT; | ||
1071 | return TIME_AM; | 1081 | return TIME_AM; | ||
1072 | } | 1082 | } | ||
1073 | YY_BREAK | 1083 | YY_BREAK | ||
1074 | case 14: | 1084 | case 14: | ||
1075 | YY_RULE_SETUP | 1085 | YY_RULE_SETUP | ||
1076 | #line 148 "KDbSqlScanner.l" | 1086 | #line 158 "KDbSqlScanner.l" | ||
1077 | { | 1087 | { | ||
1078 | ECOUNT; | 1088 | ECOUNT; | ||
1079 | return TIME_PM; | 1089 | return TIME_PM; | ||
1080 | } | 1090 | } | ||
1081 | YY_BREAK | 1091 | YY_BREAK | ||
1082 | case 15: | 1092 | case 15: | ||
1083 | YY_RULE_SETUP | 1093 | YY_RULE_SETUP | ||
1084 | #line 153 "KDbSqlScanner.l" | 1094 | #line 163 "KDbSqlScanner.l" | ||
1085 | { | 1095 | { | ||
1086 | ECOUNT; | 1096 | ECOUNT; | ||
1087 | sqlParserDebug() << "### begin DATE_OR_TIME" << yytext << "(" << yyleng << ")"; | 1097 | sqlParserDebug() << "### end DATE_OR_TIME" << yytext << "(" << yyleng << ")"; | ||
1088 | BEGIN(DATE_OR_TIME_caller); | 1098 | BEGIN(DATE_OR_TIME_caller); | ||
1089 | return '#'; | 1099 | return '#'; | ||
1090 | } | 1100 | } | ||
1091 | YY_BREAK | 1101 | YY_BREAK | ||
1092 | | ||||
1093 | /* -- end of DATE_OR_TIME --- */ | | |||
1094 | case 16: | 1102 | case 16: | ||
1095 | YY_RULE_SETUP | 1103 | YY_RULE_SETUP | ||
1096 | #line 163 "KDbSqlScanner.l" | 1104 | #line 171 "KDbSqlScanner.l" | ||
1097 | { | 1105 | { // fallback rule to avoid flex's default action that prints the character to stdout | ||
1106 | // without notifying the scanner. | ||||
1098 | ECOUNT; | 1107 | ECOUNT; | ||
1099 | return AND; | 1108 | const QString string(QString::fromUtf8(yytext, yyleng)); | ||
1109 | setError(KDbParser::tr("Unexpected character %1 in date/time").arg(maybeQuote(string))); | ||||
1110 | return SCAN_ERROR; | ||||
1100 | } | 1111 | } | ||
1101 | YY_BREAK | 1112 | YY_BREAK | ||
1113 | | ||||
1114 | /* -- end of DATE_OR_TIME --- */ | ||||
1102 | case 17: | 1115 | case 17: | ||
1103 | YY_RULE_SETUP | 1116 | YY_RULE_SETUP | ||
1104 | #line 168 "KDbSqlScanner.l" | 1117 | #line 182 "KDbSqlScanner.l" | ||
1105 | { | 1118 | { | ||
1106 | ECOUNT; | 1119 | ECOUNT; | ||
1107 | return AS; | 1120 | return AND; | ||
1108 | } | 1121 | } | ||
1109 | YY_BREAK | 1122 | YY_BREAK | ||
1110 | case 18: | 1123 | case 18: | ||
1111 | YY_RULE_SETUP | 1124 | YY_RULE_SETUP | ||
1112 | #line 173 "KDbSqlScanner.l" | 1125 | #line 187 "KDbSqlScanner.l" | ||
1113 | { | 1126 | { | ||
1114 | ECOUNT; | 1127 | ECOUNT; | ||
1115 | return CREATE; | 1128 | return AS; | ||
1116 | } | 1129 | } | ||
1117 | YY_BREAK | 1130 | YY_BREAK | ||
1118 | case 19: | 1131 | case 19: | ||
1119 | YY_RULE_SETUP | 1132 | YY_RULE_SETUP | ||
1120 | #line 178 "KDbSqlScanner.l" | 1133 | #line 192 "KDbSqlScanner.l" | ||
1121 | { | 1134 | { | ||
1122 | ECOUNT; | 1135 | ECOUNT; | ||
1123 | return FROM; | 1136 | return CREATE; | ||
1124 | } | 1137 | } | ||
1125 | YY_BREAK | 1138 | YY_BREAK | ||
1126 | case 20: | 1139 | case 20: | ||
1127 | YY_RULE_SETUP | 1140 | YY_RULE_SETUP | ||
1128 | #line 183 "KDbSqlScanner.l" | 1141 | #line 197 "KDbSqlScanner.l" | ||
1129 | { | 1142 | { | ||
1130 | ECOUNT; | 1143 | ECOUNT; | ||
1131 | return SQL_TYPE; | 1144 | return FROM; | ||
1132 | } | 1145 | } | ||
1133 | YY_BREAK | 1146 | YY_BREAK | ||
1134 | case 21: | 1147 | case 21: | ||
1135 | YY_RULE_SETUP | 1148 | YY_RULE_SETUP | ||
1136 | #line 188 "KDbSqlScanner.l" | 1149 | #line 202 "KDbSqlScanner.l" | ||
1137 | { | 1150 | { | ||
1138 | ECOUNT; | 1151 | ECOUNT; | ||
1139 | return JOIN; | 1152 | return SQL_TYPE; | ||
1140 | } | 1153 | } | ||
1141 | YY_BREAK | 1154 | YY_BREAK | ||
1142 | case 22: | 1155 | case 22: | ||
1143 | YY_RULE_SETUP | 1156 | YY_RULE_SETUP | ||
1144 | #line 193 "KDbSqlScanner.l" | 1157 | #line 207 "KDbSqlScanner.l" | ||
1145 | { | 1158 | { | ||
1146 | ECOUNT; | 1159 | ECOUNT; | ||
1147 | return LEFT; | 1160 | return JOIN; | ||
1148 | } | 1161 | } | ||
1149 | YY_BREAK | 1162 | YY_BREAK | ||
1150 | case 23: | 1163 | case 23: | ||
1151 | YY_RULE_SETUP | 1164 | YY_RULE_SETUP | ||
1152 | #line 198 "KDbSqlScanner.l" | 1165 | #line 212 "KDbSqlScanner.l" | ||
1153 | { | 1166 | { | ||
1154 | ECOUNT; | 1167 | ECOUNT; | ||
1155 | return LIKE; | 1168 | return LEFT; | ||
1156 | } | 1169 | } | ||
1157 | YY_BREAK | 1170 | YY_BREAK | ||
1158 | case 24: | 1171 | case 24: | ||
1159 | /* rule 24 can match eol */ | | |||
1160 | YY_RULE_SETUP | 1172 | YY_RULE_SETUP | ||
1161 | #line 203 "KDbSqlScanner.l" | 1173 | #line 217 "KDbSqlScanner.l" | ||
1162 | { | 1174 | { | ||
1163 | ECOUNT; | 1175 | ECOUNT; | ||
1164 | return NOT_LIKE; | 1176 | return LIKE; | ||
1165 | } | 1177 | } | ||
1166 | YY_BREAK | 1178 | YY_BREAK | ||
1167 | case 25: | 1179 | case 25: | ||
1180 | /* rule 25 can match eol */ | ||||
1168 | YY_RULE_SETUP | 1181 | YY_RULE_SETUP | ||
1169 | #line 208 "KDbSqlScanner.l" | 1182 | #line 222 "KDbSqlScanner.l" | ||
1170 | { | 1183 | { | ||
1171 | ECOUNT; | 1184 | ECOUNT; | ||
1172 | return BETWEEN; | 1185 | return NOT_LIKE; | ||
1173 | } | 1186 | } | ||
1174 | YY_BREAK | 1187 | YY_BREAK | ||
1175 | case 26: | 1188 | case 26: | ||
1176 | /* rule 26 can match eol */ | | |||
1177 | YY_RULE_SETUP | 1189 | YY_RULE_SETUP | ||
1178 | #line 213 "KDbSqlScanner.l" | 1190 | #line 227 "KDbSqlScanner.l" | ||
1179 | { | 1191 | { | ||
1180 | ECOUNT; | 1192 | ECOUNT; | ||
1181 | return NOT_BETWEEN; | 1193 | return BETWEEN; | ||
1182 | } | 1194 | } | ||
1183 | YY_BREAK | 1195 | YY_BREAK | ||
1184 | case 27: | 1196 | case 27: | ||
1185 | /* rule 27 can match eol */ | 1197 | /* rule 27 can match eol */ | ||
1186 | YY_RULE_SETUP | 1198 | YY_RULE_SETUP | ||
1187 | #line 218 "KDbSqlScanner.l" | 1199 | #line 232 "KDbSqlScanner.l" | ||
1188 | { | 1200 | { | ||
1189 | ECOUNT; | 1201 | ECOUNT; | ||
1190 | return NOT_SIMILAR_TO; | 1202 | return NOT_BETWEEN; | ||
1191 | } | 1203 | } | ||
1192 | YY_BREAK | 1204 | YY_BREAK | ||
1193 | case 28: | 1205 | case 28: | ||
1194 | /* rule 28 can match eol */ | 1206 | /* rule 28 can match eol */ | ||
1195 | YY_RULE_SETUP | 1207 | YY_RULE_SETUP | ||
1196 | #line 223 "KDbSqlScanner.l" | 1208 | #line 237 "KDbSqlScanner.l" | ||
1197 | { | 1209 | { | ||
1198 | ECOUNT; | 1210 | ECOUNT; | ||
1199 | return SIMILAR_TO; | 1211 | return NOT_SIMILAR_TO; | ||
1200 | } | 1212 | } | ||
1201 | YY_BREAK | 1213 | YY_BREAK | ||
1202 | case 29: | 1214 | case 29: | ||
1203 | /* rule 29 can match eol */ | 1215 | /* rule 29 can match eol */ | ||
1204 | YY_RULE_SETUP | 1216 | YY_RULE_SETUP | ||
1205 | #line 228 "KDbSqlScanner.l" | 1217 | #line 242 "KDbSqlScanner.l" | ||
1206 | { | 1218 | { | ||
1207 | ECOUNT; | 1219 | ECOUNT; | ||
1208 | return SQL_IS_NOT_NULL; | 1220 | return SIMILAR_TO; | ||
1209 | } | 1221 | } | ||
1210 | YY_BREAK | 1222 | YY_BREAK | ||
1211 | case 30: | 1223 | case 30: | ||
1212 | /* rule 30 can match eol */ | 1224 | /* rule 30 can match eol */ | ||
1213 | YY_RULE_SETUP | 1225 | YY_RULE_SETUP | ||
1214 | #line 233 "KDbSqlScanner.l" | 1226 | #line 247 "KDbSqlScanner.l" | ||
1215 | { | 1227 | { | ||
1216 | ECOUNT; | 1228 | ECOUNT; | ||
1217 | return SQL_IS_NULL; | 1229 | return SQL_IS_NOT_NULL; | ||
1218 | } | 1230 | } | ||
1219 | YY_BREAK | 1231 | YY_BREAK | ||
1220 | case 31: | 1232 | case 31: | ||
1233 | /* rule 31 can match eol */ | ||||
1221 | YY_RULE_SETUP | 1234 | YY_RULE_SETUP | ||
1222 | #line 238 "KDbSqlScanner.l" | 1235 | #line 252 "KDbSqlScanner.l" | ||
1223 | { | 1236 | { | ||
1224 | ECOUNT; | 1237 | ECOUNT; | ||
1225 | return NOT; | 1238 | return SQL_IS_NULL; | ||
1226 | } | 1239 | } | ||
1227 | YY_BREAK | 1240 | YY_BREAK | ||
1228 | case 32: | 1241 | case 32: | ||
1229 | YY_RULE_SETUP | 1242 | YY_RULE_SETUP | ||
1230 | #line 243 "KDbSqlScanner.l" | 1243 | #line 257 "KDbSqlScanner.l" | ||
1231 | { | 1244 | { | ||
1232 | ECOUNT; | 1245 | ECOUNT; | ||
1233 | return SQL_IS; | 1246 | return NOT; | ||
1234 | } | 1247 | } | ||
1235 | YY_BREAK | 1248 | YY_BREAK | ||
1236 | case 33: | 1249 | case 33: | ||
1237 | YY_RULE_SETUP | 1250 | YY_RULE_SETUP | ||
1238 | #line 248 "KDbSqlScanner.l" | 1251 | #line 262 "KDbSqlScanner.l" | ||
1239 | { | 1252 | { | ||
1240 | ECOUNT; | 1253 | ECOUNT; | ||
1241 | return SQL_NULL; | 1254 | return SQL_IS; | ||
1242 | } | 1255 | } | ||
1243 | YY_BREAK | 1256 | YY_BREAK | ||
1244 | case 34: | 1257 | case 34: | ||
1245 | YY_RULE_SETUP | 1258 | YY_RULE_SETUP | ||
1246 | #line 253 "KDbSqlScanner.l" | 1259 | #line 267 "KDbSqlScanner.l" | ||
1247 | { | 1260 | { | ||
1248 | ECOUNT; | 1261 | ECOUNT; | ||
1249 | return SQL_TRUE; | 1262 | return SQL_NULL; | ||
1250 | } | 1263 | } | ||
1251 | YY_BREAK | 1264 | YY_BREAK | ||
1252 | case 35: | 1265 | case 35: | ||
1253 | YY_RULE_SETUP | 1266 | YY_RULE_SETUP | ||
1254 | #line 258 "KDbSqlScanner.l" | 1267 | #line 272 "KDbSqlScanner.l" | ||
1255 | { | 1268 | { | ||
1256 | ECOUNT; | 1269 | ECOUNT; | ||
1257 | return SQL_FALSE; | 1270 | return SQL_TRUE; | ||
1258 | } | 1271 | } | ||
1259 | YY_BREAK | 1272 | YY_BREAK | ||
1260 | case 36: | 1273 | case 36: | ||
1261 | YY_RULE_SETUP | 1274 | YY_RULE_SETUP | ||
1262 | #line 263 "KDbSqlScanner.l" | 1275 | #line 277 "KDbSqlScanner.l" | ||
1263 | { | 1276 | { | ||
1264 | ECOUNT; | 1277 | ECOUNT; | ||
1265 | return SQL_ON; | 1278 | return SQL_FALSE; | ||
1266 | } | 1279 | } | ||
1267 | YY_BREAK | 1280 | YY_BREAK | ||
1268 | case 37: | 1281 | case 37: | ||
1269 | YY_RULE_SETUP | 1282 | YY_RULE_SETUP | ||
1270 | #line 268 "KDbSqlScanner.l" | 1283 | #line 282 "KDbSqlScanner.l" | ||
1271 | { | 1284 | { | ||
1272 | ECOUNT; | 1285 | ECOUNT; | ||
1273 | return OR; | 1286 | return SQL_ON; | ||
1274 | } | 1287 | } | ||
1275 | YY_BREAK | 1288 | YY_BREAK | ||
1276 | case 38: | 1289 | case 38: | ||
1277 | YY_RULE_SETUP | 1290 | YY_RULE_SETUP | ||
1278 | #line 273 "KDbSqlScanner.l" | 1291 | #line 287 "KDbSqlScanner.l" | ||
1292 | { | ||||
1293 | ECOUNT; | ||||
1294 | return OR; | ||||
1295 | } | ||||
1296 | YY_BREAK | ||||
1297 | case 39: | ||||
1298 | YY_RULE_SETUP | ||||
1299 | #line 292 "KDbSqlScanner.l" | ||||
1279 | { /* also means OR for numbers (mysql) */ | 1300 | { /* also means OR for numbers (mysql) */ | ||
1280 | ECOUNT; | 1301 | ECOUNT; | ||
1281 | return CONCATENATION; | 1302 | return CONCATENATION; | ||
1282 | } | 1303 | } | ||
1283 | YY_BREAK | 1304 | YY_BREAK | ||
1284 | case 39: | 1305 | case 40: | ||
1285 | YY_RULE_SETUP | 1306 | YY_RULE_SETUP | ||
1286 | #line 278 "KDbSqlScanner.l" | 1307 | #line 297 "KDbSqlScanner.l" | ||
1287 | { | 1308 | { | ||
1288 | ECOUNT; | 1309 | ECOUNT; | ||
1289 | return BITWISE_SHIFT_LEFT; | 1310 | return BITWISE_SHIFT_LEFT; | ||
1290 | } | 1311 | } | ||
1291 | YY_BREAK | 1312 | YY_BREAK | ||
1292 | case 40: | 1313 | case 41: | ||
1293 | YY_RULE_SETUP | 1314 | YY_RULE_SETUP | ||
1294 | #line 283 "KDbSqlScanner.l" | 1315 | #line 302 "KDbSqlScanner.l" | ||
1295 | { | 1316 | { | ||
1296 | ECOUNT; | 1317 | ECOUNT; | ||
1297 | return BITWISE_SHIFT_RIGHT; | 1318 | return BITWISE_SHIFT_RIGHT; | ||
1298 | } | 1319 | } | ||
1299 | YY_BREAK | 1320 | YY_BREAK | ||
1300 | case 41: | 1321 | case 42: | ||
1301 | YY_RULE_SETUP | 1322 | YY_RULE_SETUP | ||
1302 | #line 288 "KDbSqlScanner.l" | 1323 | #line 307 "KDbSqlScanner.l" | ||
1303 | { | 1324 | { | ||
1304 | ECOUNT; | 1325 | ECOUNT; | ||
1305 | return XOR; | 1326 | return XOR; | ||
1306 | } | 1327 | } | ||
1307 | YY_BREAK | 1328 | YY_BREAK | ||
1308 | case 42: | 1329 | case 43: | ||
1309 | YY_RULE_SETUP | 1330 | YY_RULE_SETUP | ||
1310 | #line 293 "KDbSqlScanner.l" | 1331 | #line 312 "KDbSqlScanner.l" | ||
1311 | { | 1332 | { | ||
1312 | ECOUNT; | 1333 | ECOUNT; | ||
1313 | return RIGHT; | 1334 | return RIGHT; | ||
1314 | } | 1335 | } | ||
1315 | YY_BREAK | 1336 | YY_BREAK | ||
1316 | case 43: | 1337 | case 44: | ||
1317 | YY_RULE_SETUP | 1338 | YY_RULE_SETUP | ||
1318 | #line 298 "KDbSqlScanner.l" | 1339 | #line 317 "KDbSqlScanner.l" | ||
1319 | { | 1340 | { | ||
1320 | ECOUNT; | 1341 | ECOUNT; | ||
1321 | return SELECT; | 1342 | return SELECT; | ||
1322 | } | 1343 | } | ||
1323 | YY_BREAK | 1344 | YY_BREAK | ||
1324 | case 44: | 1345 | case 45: | ||
1325 | YY_RULE_SETUP | 1346 | YY_RULE_SETUP | ||
1326 | #line 303 "KDbSqlScanner.l" | 1347 | #line 322 "KDbSqlScanner.l" | ||
1327 | { | 1348 | { | ||
1328 | ECOUNT; | 1349 | ECOUNT; | ||
1329 | return TABLE; | 1350 | return TABLE; | ||
1330 | } | 1351 | } | ||
1331 | YY_BREAK | 1352 | YY_BREAK | ||
1332 | case 45: | 1353 | case 46: | ||
1333 | YY_RULE_SETUP | 1354 | YY_RULE_SETUP | ||
1334 | #line 308 "KDbSqlScanner.l" | 1355 | #line 327 "KDbSqlScanner.l" | ||
1335 | { | 1356 | { | ||
1336 | ECOUNT; | 1357 | ECOUNT; | ||
1337 | return WHERE; | 1358 | return WHERE; | ||
1338 | } | 1359 | } | ||
1339 | YY_BREAK | 1360 | YY_BREAK | ||
1340 | case 46: | 1361 | case 47: | ||
1341 | YY_RULE_SETUP | 1362 | YY_RULE_SETUP | ||
1342 | #line 313 "KDbSqlScanner.l" | 1363 | #line 332 "KDbSqlScanner.l" | ||
1343 | { | 1364 | { | ||
1344 | ECOUNT; | 1365 | ECOUNT; | ||
1345 | return ORDER; | 1366 | return ORDER; | ||
1346 | } | 1367 | } | ||
1347 | YY_BREAK | 1368 | YY_BREAK | ||
1348 | case 47: | 1369 | case 48: | ||
1349 | YY_RULE_SETUP | 1370 | YY_RULE_SETUP | ||
1350 | #line 318 "KDbSqlScanner.l" | 1371 | #line 337 "KDbSqlScanner.l" | ||
1351 | { | 1372 | { | ||
1352 | ECOUNT; | 1373 | ECOUNT; | ||
1353 | return BY; | 1374 | return BY; | ||
1354 | } | 1375 | } | ||
1355 | YY_BREAK | 1376 | YY_BREAK | ||
1356 | case 48: | 1377 | case 49: | ||
1357 | YY_RULE_SETUP | 1378 | YY_RULE_SETUP | ||
1358 | #line 323 "KDbSqlScanner.l" | 1379 | #line 342 "KDbSqlScanner.l" | ||
1359 | { | 1380 | { | ||
1360 | ECOUNT; | 1381 | ECOUNT; | ||
1361 | return ASC; | 1382 | return ASC; | ||
1362 | } | 1383 | } | ||
1363 | YY_BREAK | 1384 | YY_BREAK | ||
1364 | case 49: | 1385 | case 50: | ||
1365 | YY_RULE_SETUP | 1386 | YY_RULE_SETUP | ||
1366 | #line 328 "KDbSqlScanner.l" | 1387 | #line 347 "KDbSqlScanner.l" | ||
1367 | { | 1388 | { | ||
1368 | ECOUNT; | 1389 | ECOUNT; | ||
1369 | return DESC; | 1390 | return DESC; | ||
1370 | } | 1391 | } | ||
1371 | YY_BREAK | 1392 | YY_BREAK | ||
1372 | case 50: | 1393 | case 51: | ||
1373 | /* rule 50 can match eol */ | 1394 | /* rule 51 can match eol */ | ||
1374 | YY_RULE_SETUP | 1395 | YY_RULE_SETUP | ||
1375 | #line 333 "KDbSqlScanner.l" | 1396 | #line 352 "KDbSqlScanner.l" | ||
1376 | { | 1397 | { | ||
1377 | ECOUNT; | 1398 | ECOUNT; | ||
1378 | sqlParserDebug() << "{string} yytext: '" << yytext << "' (" << yyleng << ")"; | 1399 | sqlParserDebug() << "{string} yytext: '" << yytext << "' (" << yyleng << ")"; | ||
1379 | int errorPosition; | 1400 | int errorPosition; | ||
1380 | const QString unescaped( | 1401 | const QString unescaped( | ||
1381 | KDb::unescapeString(QString::fromUtf8(yytext+1, yyleng-2), yytext[0], &errorPosition)); | 1402 | KDb::unescapeString(QString::fromUtf8(yytext+1, yyleng-2), yytext[0], &errorPosition)); | ||
1382 | if (errorPosition >= 0) { // sanity check | 1403 | if (errorPosition >= 0) { // sanity check | ||
1383 | setError(KDbParser::tr("Invalid string"), | 1404 | setError(KDbParser::tr("Invalid string"), | ||
1384 | KDbParser::tr("Invalid character in string")); | 1405 | KDbParser::tr("Invalid character in string")); | ||
1385 | return SCAN_ERROR; | 1406 | return SCAN_ERROR; | ||
1386 | } | 1407 | } | ||
1387 | yylval.stringValue = new QString(unescaped); | 1408 | yylval.stringValue = new QString(unescaped); | ||
1388 | return CHARACTER_STRING_LITERAL; | 1409 | return CHARACTER_STRING_LITERAL; | ||
1389 | 1410 | | |||
1390 | /* "ZZZ" sentinel for script */ | 1411 | /* "ZZZ" sentinel for script */ | ||
1391 | } | 1412 | } | ||
1392 | YY_BREAK | 1413 | YY_BREAK | ||
1393 | case 51: | 1414 | case 52: | ||
1394 | YY_RULE_SETUP | 1415 | YY_RULE_SETUP | ||
1395 | #line 350 "KDbSqlScanner.l" | 1416 | #line 369 "KDbSqlScanner.l" | ||
1396 | { | 1417 | { | ||
1397 | sqlParserDebug() << "{identifier} yytext: '" << yytext << "' (" << yyleng << ")"; | 1418 | sqlParserDebug() << "{identifier} yytext: '" << yytext << "' (" << yyleng << ")"; | ||
1398 | ECOUNT; | 1419 | ECOUNT; | ||
1399 | if (yytext[0]>='0' && yytext[0]<='9') { | 1420 | if (yytext[0]>='0' && yytext[0]<='9') { | ||
1400 | setError(KDbParser::tr("Invalid identifier"), | 1421 | setError(KDbParser::tr("Invalid identifier"), | ||
1401 | KDbParser::tr("Identifiers should start with a letter or '_' character")); | 1422 | KDbParser::tr("Identifiers should start with a letter or '_' character")); | ||
1402 | return SCAN_ERROR; | 1423 | return SCAN_ERROR; | ||
1403 | } | 1424 | } | ||
1404 | yylval.stringValue = new QString(QString::fromUtf8(yytext, yyleng)); | 1425 | yylval.stringValue = new QString(QString::fromUtf8(yytext, yyleng)); | ||
1405 | return IDENTIFIER; | 1426 | return IDENTIFIER; | ||
1406 | } | 1427 | } | ||
1407 | YY_BREAK | 1428 | YY_BREAK | ||
1408 | case 52: | 1429 | case 53: | ||
1409 | /* rule 52 can match eol */ | 1430 | /* rule 53 can match eol */ | ||
1410 | YY_RULE_SETUP | 1431 | YY_RULE_SETUP | ||
1411 | #line 362 "KDbSqlScanner.l" | 1432 | #line 381 "KDbSqlScanner.l" | ||
1412 | { | 1433 | { | ||
1413 | sqlParserDebug() << "{query_parameter} yytext: '" << yytext << "' (" << yyleng << ")"; | 1434 | sqlParserDebug() << "{query_parameter} yytext: '" << yytext << "' (" << yyleng << ")"; | ||
1414 | ECOUNT; | 1435 | ECOUNT; | ||
1415 | yylval.stringValue = new QString(QString::fromUtf8(yytext+1, yyleng-2)); | 1436 | yylval.stringValue = new QString(QString::fromUtf8(yytext+1, yyleng-2)); | ||
1416 | return QUERY_PARAMETER; | 1437 | return QUERY_PARAMETER; | ||
1417 | } | 1438 | } | ||
1418 | YY_BREAK | 1439 | YY_BREAK | ||
1419 | case 53: | 1440 | case 54: | ||
1420 | /* rule 53 can match eol */ | 1441 | /* rule 54 can match eol */ | ||
1421 | YY_RULE_SETUP | 1442 | YY_RULE_SETUP | ||
1422 | #line 369 "KDbSqlScanner.l" | 1443 | #line 388 "KDbSqlScanner.l" | ||
1423 | { | 1444 | { | ||
1424 | ECOUNT; | 1445 | ECOUNT; | ||
1425 | } | 1446 | } | ||
1426 | YY_BREAK | 1447 | YY_BREAK | ||
1427 | case 54: | 1448 | case 55: | ||
1428 | YY_RULE_SETUP | 1449 | YY_RULE_SETUP | ||
1429 | #line 373 "KDbSqlScanner.l" | 1450 | #line 392 "KDbSqlScanner.l" | ||
1430 | { | 1451 | { | ||
1431 | sqlParserDebug() << "char: '" << yytext[0] << "'"; | 1452 | sqlParserDebug() << "char: '" << yytext[0] << "'"; | ||
1432 | ECOUNT; | 1453 | ECOUNT; | ||
1433 | return yytext[0]; | 1454 | return yytext[0]; | ||
1434 | } | 1455 | } | ||
1435 | YY_BREAK | 1456 | YY_BREAK | ||
1436 | case 55: | 1457 | case 56: | ||
1458 | YY_RULE_SETUP | ||||
1459 | #line 398 "KDbSqlScanner.l" | ||||
1460 | { // fallback rule to avoid flex's default action that prints the character to stdout | ||||
1461 | // without notifying the scanner. | ||||
1462 | ECOUNT; | ||||
1463 | const QString string(QString::fromUtf8(yytext, yyleng)); | ||||
staniek: "Unexpected character \"%1\""
would be more consistent | |||||
1464 | setError(KDbParser::tr("Unexpected character %1").arg(maybeQuote(string))); | ||||
1465 | return SCAN_ERROR; | ||||
1466 | } | ||||
1467 | YY_BREAK | ||||
1468 | case 57: | ||||
1437 | YY_RULE_SETUP | 1469 | YY_RULE_SETUP | ||
1438 | #line 379 "KDbSqlScanner.l" | 1470 | #line 406 "KDbSqlScanner.l" | ||
1439 | ECHO; | 1471 | ECHO; | ||
1440 | YY_BREAK | 1472 | YY_BREAK | ||
1441 | #line 1442 "generated/sqlscanner.cpp" | 1473 | #line 1474 "generated/sqlscanner.cpp" | ||
1442 | case YY_STATE_EOF(INITIAL): | 1474 | case YY_STATE_EOF(INITIAL): | ||
1443 | case YY_STATE_EOF(DATE_OR_TIME): | 1475 | case YY_STATE_EOF(DATE_OR_TIME): | ||
1444 | yyterminate(); | 1476 | yyterminate(); | ||
1445 | 1477 | | |||
1446 | case YY_END_OF_BUFFER: | 1478 | case YY_END_OF_BUFFER: | ||
1447 | { | 1479 | { | ||
1448 | /* Amount of text matched not including the EOB char. */ | 1480 | /* Amount of text matched not including the EOB char. */ | ||
1449 | int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; | 1481 | int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; | ||
▲ Show 20 Lines • Show All 277 Lines • ▼ Show 20 Line(s) | 1756 | for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) | |||
1727 | if ( yy_accept[yy_current_state] ) | 1759 | if ( yy_accept[yy_current_state] ) | ||
1728 | { | 1760 | { | ||
1729 | (yy_last_accepting_state) = yy_current_state; | 1761 | (yy_last_accepting_state) = yy_current_state; | ||
1730 | (yy_last_accepting_cpos) = yy_cp; | 1762 | (yy_last_accepting_cpos) = yy_cp; | ||
1731 | } | 1763 | } | ||
1732 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) | 1764 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) | ||
1733 | { | 1765 | { | ||
1734 | yy_current_state = (int) yy_def[yy_current_state]; | 1766 | yy_current_state = (int) yy_def[yy_current_state]; | ||
1735 | if ( yy_current_state >= 192 ) | 1767 | if ( yy_current_state >= 195 ) | ||
1736 | yy_c = yy_meta[(unsigned int) yy_c]; | 1768 | yy_c = yy_meta[(unsigned int) yy_c]; | ||
1737 | } | 1769 | } | ||
1738 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; | 1770 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; | ||
1739 | } | 1771 | } | ||
1740 | 1772 | | |||
1741 | return yy_current_state; | 1773 | return yy_current_state; | ||
1742 | } | 1774 | } | ||
1743 | 1775 | | |||
Show All 11 Lines | 1782 | { | |||
1755 | if ( yy_accept[yy_current_state] ) | 1787 | if ( yy_accept[yy_current_state] ) | ||
1756 | { | 1788 | { | ||
1757 | (yy_last_accepting_state) = yy_current_state; | 1789 | (yy_last_accepting_state) = yy_current_state; | ||
1758 | (yy_last_accepting_cpos) = yy_cp; | 1790 | (yy_last_accepting_cpos) = yy_cp; | ||
1759 | } | 1791 | } | ||
1760 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) | 1792 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) | ||
1761 | { | 1793 | { | ||
1762 | yy_current_state = (int) yy_def[yy_current_state]; | 1794 | yy_current_state = (int) yy_def[yy_current_state]; | ||
1763 | if ( yy_current_state >= 192 ) | 1795 | if ( yy_current_state >= 195 ) | ||
1764 | yy_c = yy_meta[(unsigned int) yy_c]; | 1796 | yy_c = yy_meta[(unsigned int) yy_c]; | ||
1765 | } | 1797 | } | ||
1766 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; | 1798 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; | ||
1767 | yy_is_jam = (yy_current_state == 191); | 1799 | yy_is_jam = (yy_current_state == 194); | ||
1768 | 1800 | | |||
1769 | return yy_is_jam ? 0 : yy_current_state; | 1801 | return yy_is_jam ? 0 : yy_current_state; | ||
1770 | } | 1802 | } | ||
1771 | 1803 | | |||
1772 | static void yyunput (int c, register char * yy_bp ) | 1804 | static void yyunput (int c, register char * yy_bp ) | ||
1773 | { | 1805 | { | ||
1774 | register char *yy_cp; | 1806 | register char *yy_cp; | ||
1775 | 1807 | | |||
▲ Show 20 Lines • Show All 653 Lines • ▼ Show 20 Line(s) | |||||
2429 | 2461 | | |||
2430 | void yyfree (void * ptr ) | 2462 | void yyfree (void * ptr ) | ||
2431 | { | 2463 | { | ||
2432 | free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ | 2464 | free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ | ||
2433 | } | 2465 | } | ||
2434 | 2466 | | |||
2435 | #define YYTABLES_NAME "yytables" | 2467 | #define YYTABLES_NAME "yytables" | ||
2436 | 2468 | | |||
2437 | #line 379 "KDbSqlScanner.l" | 2469 | #line 406 "KDbSqlScanner.l" | ||
2438 | 2470 | | |||
2439 | 2471 | | |||
2440 | 2472 | | |||
2441 | void tokenize(const char *data) | 2473 | void tokenize(const char *data) | ||
2442 | { | 2474 | { | ||
2443 | yy_switch_to_buffer(yy_scan_string(data)); | 2475 | yy_switch_to_buffer(yy_scan_string(data)); | ||
2444 | globalToken.clear(); | 2476 | globalToken.clear(); | ||
2445 | globalCurrentPos = 0; | 2477 | globalCurrentPos = 0; | ||
2446 | } | 2478 | } | ||
2447 | 2479 | | |||
2448 | 2480 | |
"Unexpected character \"%1\""
would be more consistent