Changeset View
Changeset View
Standalone View
Standalone View
src/parser/generated/sqlparser.cpp
Show First 20 Lines • Show All 56 Lines • ▼ Show 20 Line(s) | |||||
57 | 57 | | |||
58 | /* Pull parsers. */ | 58 | /* Pull parsers. */ | ||
59 | #define YYPULL 1 | 59 | #define YYPULL 1 | ||
60 | 60 | | |||
61 | 61 | | |||
62 | 62 | | |||
63 | 63 | | |||
64 | /* Copy the first part of user declarations. */ | 64 | /* Copy the first part of user declarations. */ | ||
65 | #line 435 "KDbSqlParser.y" /* yacc.c:339 */ | 65 | #line 436 "KDbSqlParser.y" /* yacc.c:339 */ | ||
66 | 66 | | |||
67 | #include <stdio.h> | 67 | #include <stdio.h> | ||
68 | #include <string.h> | 68 | #include <string.h> | ||
69 | #include <string> | 69 | #include <string> | ||
70 | #include <iostream> | 70 | #include <iostream> | ||
71 | #include <limits.h> | 71 | #include <limits.h> | ||
72 | //! @todo OK? | 72 | //! @todo OK? | ||
73 | #ifdef Q_OS_WIN | 73 | #ifdef Q_OS_WIN | ||
▲ Show 20 Lines • Show All 124 Lines • ▼ Show 20 Line(s) | 169 | { | |||
198 | INTEGER_CONST = 286, | 198 | INTEGER_CONST = 286, | ||
199 | REAL_CONST = 287, | 199 | REAL_CONST = 287, | ||
200 | RIGHT = 288, | 200 | RIGHT = 288, | ||
201 | SQL_ON = 289, | 201 | SQL_ON = 289, | ||
202 | DATE_CONST = 290, | 202 | DATE_CONST = 290, | ||
203 | DATETIME_CONST = 291, | 203 | DATETIME_CONST = 291, | ||
204 | TIME_CONST = 292, | 204 | TIME_CONST = 292, | ||
205 | TABLE = 293, | 205 | TABLE = 293, | ||
206 | IDENTIFIER = 294, | 206 | UNQUOTED_IDENTIFIER = 294, | ||
207 | IDENTIFIER_DOT_ASTERISK = 295, | 207 | IDENTIFIER_DOT_ASTERISK = 295, | ||
208 | QUERY_PARAMETER = 296, | 208 | IDENTIFIER_OR_QUERY_PARAMETER = 296, | ||
209 | VARCHAR = 297, | 209 | VARCHAR = 297, | ||
210 | WHERE = 298, | 210 | WHERE = 298, | ||
211 | SQL = 299, | 211 | SQL = 299, | ||
212 | SQL_TRUE = 300, | 212 | SQL_TRUE = 300, | ||
213 | SQL_FALSE = 301, | 213 | SQL_FALSE = 301, | ||
214 | UNION = 302, | 214 | UNION = 302, | ||
215 | SCAN_ERROR = 303, | 215 | SCAN_ERROR = 303, | ||
216 | AND = 304, | 216 | AND = 304, | ||
Show All 20 Lines | |||||
237 | }; | 237 | }; | ||
238 | #endif | 238 | #endif | ||
239 | 239 | | |||
240 | /* Value type. */ | 240 | /* Value type. */ | ||
241 | #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED | 241 | #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED | ||
242 | 242 | | |||
243 | union YYSTYPE | 243 | union YYSTYPE | ||
244 | { | 244 | { | ||
245 | #line 505 "KDbSqlParser.y" /* yacc.c:355 */ | 245 | #line 506 "KDbSqlParser.y" /* yacc.c:355 */ | ||
246 | 246 | | |||
247 | QString* stringValue; | 247 | QString* stringValue; | ||
248 | QByteArray* binaryValue; | 248 | QByteArray* binaryValue; | ||
249 | qint64 integerValue; | 249 | qint64 integerValue; | ||
250 | bool booleanValue; | 250 | bool booleanValue; | ||
251 | KDbDate* dateValue; | 251 | KDbDate* dateValue; | ||
252 | KDbYear* yearValue; | 252 | KDbYear* yearValue; | ||
253 | KDbTime* timeValue; | 253 | KDbTime* timeValue; | ||
▲ Show 20 Lines • Show All 264 Lines • ▼ Show 20 Line(s) | 511 | # define YYCOPY(Dst, Src, Count) \ | |||
518 | while (0) | 518 | while (0) | ||
519 | # endif | 519 | # endif | ||
520 | # endif | 520 | # endif | ||
521 | #endif /* !YYCOPY_NEEDED */ | 521 | #endif /* !YYCOPY_NEEDED */ | ||
522 | 522 | | |||
523 | /* YYFINAL -- State number of the termination state. */ | 523 | /* YYFINAL -- State number of the termination state. */ | ||
524 | #define YYFINAL 7 | 524 | #define YYFINAL 7 | ||
525 | /* YYLAST -- Last index in YYTABLE. */ | 525 | /* YYLAST -- Last index in YYTABLE. */ | ||
526 | #define YYLAST 231 | 526 | #define YYLAST 293 | ||
527 | 527 | | |||
528 | /* YYNTOKENS -- Number of terminals. */ | 528 | /* YYNTOKENS -- Number of terminals. */ | ||
529 | #define YYNTOKENS 88 | 529 | #define YYNTOKENS 88 | ||
530 | /* YYNNTS -- Number of nonterminals. */ | 530 | /* YYNNTS -- Number of nonterminals. */ | ||
531 | #define YYNNTS 38 | 531 | #define YYNNTS 39 | ||
532 | /* YYNRULES -- Number of rules. */ | 532 | /* YYNRULES -- Number of rules. */ | ||
533 | #define YYNRULES 119 | 533 | #define YYNRULES 121 | ||
534 | /* YYNSTATES -- Number of states. */ | 534 | /* YYNSTATES -- Number of states. */ | ||
535 | #define YYNSTATES 201 | 535 | #define YYNSTATES 204 | ||
536 | 536 | | |||
537 | /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned | 537 | /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned | ||
538 | by yylex, with out-of-bounds checking. */ | 538 | by yylex, with out-of-bounds checking. */ | ||
539 | #define YYUNDEFTOK 2 | 539 | #define YYUNDEFTOK 2 | ||
540 | #define YYMAXUTOK 324 | 540 | #define YYMAXUTOK 324 | ||
541 | 541 | | |||
542 | #define YYTRANSLATE(YYX) \ | 542 | #define YYTRANSLATE(YYX) \ | ||
543 | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) | 543 | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) | ||
Show All 36 Lines | 548 | { | |||
580 | 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, | 580 | 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, | ||
581 | 65, 66, 67, 68, 69 | 581 | 65, 66, 67, 68, 69 | ||
582 | }; | 582 | }; | ||
583 | 583 | | |||
584 | #if YYDEBUG | 584 | #if YYDEBUG | ||
585 | /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ | 585 | /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ | ||
586 | static const yytype_uint16 yyrline[] = | 586 | static const yytype_uint16 yyrline[] = | ||
587 | { | 587 | { | ||
588 | 0, 564, 564, 574, 578, 579, 594, 693, 699, 706, | 588 | 0, 565, 565, 575, 579, 580, 595, 694, 700, 707, | ||
589 | 711, 717, 723, 729, 738, 746, 753, 759, 767, 778, | 589 | 712, 718, 724, 730, 739, 747, 754, 760, 768, 779, | ||
590 | 787, 796, 806, 814, 826, 832, 839, 846, 850, 857, | 590 | 788, 797, 807, 815, 827, 833, 840, 847, 851, 858, | ||
591 | 862, 869, 875, 882, 887, 893, 899, 905, 911, 918, | 591 | 863, 870, 876, 883, 888, 894, 900, 906, 912, 919, | ||
592 | 923, 929, 935, 941, 947, 953, 959, 965, 975, 986, | 592 | 924, 930, 936, 942, 948, 954, 960, 966, 976, 987, | ||
593 | 991, 996, 1002, 1007, 1013, 1020, 1025, 1031, 1037, 1043, | 593 | 992, 997, 1003, 1008, 1014, 1021, 1026, 1032, 1038, 1044, | ||
594 | 1049, 1056, 1061, 1067, 1073, 1080, 1086, 1091, 1096, 1101, | 594 | 1050, 1057, 1062, 1068, 1074, 1081, 1087, 1092, 1097, 1102, | ||
595 | 1106, 1114, 1120, 1128, 1135, 1142, 1146, 1150, 1156, 1173, | 595 | 1107, 1115, 1121, 1129, 1136, 1143, 1147, 1151, 1157, 1174, | ||
596 | 1179, 1185, 1191, 1198, 1202, 1210, 1218, 1229, 1235, 1241, | 596 | 1180, 1186, 1192, 1199, 1202, 1202, 1206, 1214, 1222, 1233, | ||
597 | 1250, 1258, 1266, 1278, 1282, 1289, 1293, 1297, 1304, 1314, | 597 | 1239, 1245, 1254, 1262, 1270, 1282, 1286, 1293, 1297, 1301, | ||
598 | 1323, 1327, 1334, 1340, 1349, 1394, 1400, 1409, 1437, 1447, | 598 | 1308, 1318, 1327, 1331, 1338, 1344, 1353, 1398, 1404, 1413, | ||
599 | 1462, 1469, 1479, 1488, 1493, 1503, 1516, 1562, 1571, 1580 | 599 | 1441, 1451, 1466, 1473, 1483, 1492, 1497, 1507, 1520, 1566, | ||
600 | 1575, 1584 | ||||
600 | }; | 601 | }; | ||
601 | #endif | 602 | #endif | ||
602 | 603 | | |||
603 | #if YYDEBUG || YYERROR_VERBOSE || 0 | 604 | #if YYDEBUG || YYERROR_VERBOSE || 0 | ||
604 | /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. | 605 | /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. | ||
605 | First, the terminals, then, starting at YYNTOKENS, nonterminals. */ | 606 | First, the terminals, then, starting at YYNTOKENS, nonterminals. */ | ||
606 | static const char *const yytname[] = | 607 | static const char *const yytname[] = | ||
607 | { | 608 | { | ||
608 | "$end", "error", "$undefined", "SQL_TYPE", "AS", "AS_EMPTY", "ASC", | 609 | "$end", "error", "$undefined", "SQL_TYPE", "AS", "AS_EMPTY", "ASC", | ||
609 | "AUTO_INCREMENT", "BIT", "BITWISE_SHIFT_LEFT", "BITWISE_SHIFT_RIGHT", | 610 | "AUTO_INCREMENT", "BIT", "BITWISE_SHIFT_LEFT", "BITWISE_SHIFT_RIGHT", | ||
610 | "BY", "CHARACTER_STRING_LITERAL", "CONCATENATION", "CREATE", "DESC", | 611 | "BY", "CHARACTER_STRING_LITERAL", "CONCATENATION", "CREATE", "DESC", | ||
611 | "DISTINCT", "DOUBLE_QUOTED_STRING", "FROM", "JOIN", "KEY", "LEFT", | 612 | "DISTINCT", "DOUBLE_QUOTED_STRING", "FROM", "JOIN", "KEY", "LEFT", | ||
612 | "LESS_OR_EQUAL", "GREATER_OR_EQUAL", "SQL_NULL", "SQL_IS", "SQL_IS_NULL", | 613 | "LESS_OR_EQUAL", "GREATER_OR_EQUAL", "SQL_NULL", "SQL_IS", "SQL_IS_NULL", | ||
613 | "SQL_IS_NOT_NULL", "ORDER", "PRIMARY", "SELECT", "INTEGER_CONST", | 614 | "SQL_IS_NOT_NULL", "ORDER", "PRIMARY", "SELECT", "INTEGER_CONST", | ||
614 | "REAL_CONST", "RIGHT", "SQL_ON", "DATE_CONST", "DATETIME_CONST", | 615 | "REAL_CONST", "RIGHT", "SQL_ON", "DATE_CONST", "DATETIME_CONST", | ||
615 | "TIME_CONST", "TABLE", "IDENTIFIER", "IDENTIFIER_DOT_ASTERISK", | 616 | "TIME_CONST", "TABLE", "UNQUOTED_IDENTIFIER", "IDENTIFIER_DOT_ASTERISK", | ||
616 | "QUERY_PARAMETER", "VARCHAR", "WHERE", "SQL", "SQL_TRUE", "SQL_FALSE", | 617 | "IDENTIFIER_OR_QUERY_PARAMETER", "VARCHAR", "WHERE", "SQL", "SQL_TRUE", | ||
617 | "UNION", "SCAN_ERROR", "AND", "BETWEEN", "NOT_BETWEEN", "EXCEPT", | 618 | "SQL_FALSE", "UNION", "SCAN_ERROR", "AND", "BETWEEN", "NOT_BETWEEN", | ||
618 | "SQL_IN", "INTERSECT", "LIKE", "ILIKE", "NOT_LIKE", "NOT", "NOT_EQUAL", | 619 | "EXCEPT", "SQL_IN", "INTERSECT", "LIKE", "ILIKE", "NOT_LIKE", "NOT", | ||
619 | "NOT_EQUAL2", "OR", "SIMILAR_TO", "NOT_SIMILAR_TO", "XOR", "UMINUS", | 620 | "NOT_EQUAL", "NOT_EQUAL2", "OR", "SIMILAR_TO", "NOT_SIMILAR_TO", "XOR", | ||
620 | "TABS_OR_SPACES", "DATE_TIME_INTEGER", "TIME_AM", "TIME_PM", "';'", | 621 | "UMINUS", "TABS_OR_SPACES", "DATE_TIME_INTEGER", "TIME_AM", "TIME_PM", | ||
621 | "','", "'.'", "'>'", "'<'", "'='", "'+'", "'-'", "'&'", "'|'", "'/'", | 622 | "';'", "','", "'.'", "'>'", "'<'", "'='", "'+'", "'-'", "'&'", "'|'", | ||
622 | "'*'", "'%'", "'~'", "'#'", "':'", "'('", "')'", "$accept", | 623 | "'/'", "'*'", "'%'", "'~'", "'#'", "':'", "'('", "')'", "$accept", | ||
623 | "TopLevelStatement", "StatementList", "Statement", "SelectStatement", | 624 | "TopLevelStatement", "StatementList", "Statement", "SelectStatement", | ||
624 | "Select", "SelectOptions", "WhereClause", "OrderByClause", | 625 | "Select", "SelectOptions", "WhereClause", "OrderByClause", | ||
625 | "OrderByColumnId", "OrderByOption", "aExpr", "aExpr2", "aExpr3", | 626 | "OrderByColumnId", "OrderByOption", "aExpr", "aExpr2", "aExpr3", | ||
626 | "aExpr4", "aExpr5", "aExpr6", "aExpr7", "aExpr8", "aExpr9", "DateConst", | 627 | "aExpr4", "aExpr5", "aExpr6", "aExpr7", "aExpr8", "aExpr9", "identifier", | ||
627 | "DateValue", "YearConst", "TimeConst", "TimeValue", "TimeMs", | 628 | "DateConst", "DateValue", "YearConst", "TimeConst", "TimeValue", | ||
628 | "TimePeriod", "DateTimeConst", "aExpr10", "aExprList", "aExprList2", | 629 | "TimeMs", "TimePeriod", "DateTimeConst", "aExpr10", "aExprList", | ||
629 | "Tables", "FlatTableList", "FlatTable", "ColViews", "ColItem", | 630 | "aExprList2", "Tables", "FlatTableList", "FlatTable", "ColViews", | ||
630 | "ColExpression", "ColWildCard", YY_NULLPTR | 631 | "ColItem", "ColExpression", "ColWildCard", YY_NULLPTR | ||
631 | }; | 632 | }; | ||
632 | #endif | 633 | #endif | ||
633 | 634 | | |||
634 | # ifdef YYPRINT | 635 | # ifdef YYPRINT | ||
635 | /* YYTOKNUM[NUM] -- (External) token number corresponding to the | 636 | /* YYTOKNUM[NUM] -- (External) token number corresponding to the | ||
636 | (internal) symbol number NUM (which must be that of a token). */ | 637 | (internal) symbol number NUM (which must be that of a token). */ | ||
637 | static const yytype_uint16 yytoknum[] = | 638 | static const yytype_uint16 yytoknum[] = | ||
638 | { | 639 | { | ||
639 | 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, | 640 | 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, | ||
640 | 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, | 641 | 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, | ||
641 | 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, | 642 | 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, | ||
642 | 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, | 643 | 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, | ||
643 | 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, | 644 | 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, | ||
644 | 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, | 645 | 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, | ||
645 | 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, | 646 | 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, | ||
646 | 59, 44, 46, 62, 60, 61, 43, 45, 38, 124, | 647 | 59, 44, 46, 62, 60, 61, 43, 45, 38, 124, | ||
647 | 47, 42, 37, 126, 35, 58, 40, 41 | 648 | 47, 42, 37, 126, 35, 58, 40, 41 | ||
648 | }; | 649 | }; | ||
649 | # endif | 650 | # endif | ||
650 | 651 | | |||
651 | #define YYPACT_NINF -143 | 652 | #define YYPACT_NINF -148 | ||
652 | 653 | | |||
653 | #define yypact_value_is_default(Yystate) \ | 654 | #define yypact_value_is_default(Yystate) \ | ||
654 | (!!((Yystate) == (-143))) | 655 | (!!((Yystate) == (-148))) | ||
655 | 656 | | |||
656 | #define YYTABLE_NINF -1 | 657 | #define YYTABLE_NINF -86 | ||
657 | 658 | | |||
658 | #define yytable_value_is_error(Yytable_value) \ | 659 | #define yytable_value_is_error(Yytable_value) \ | ||
659 | 0 | 660 | 0 | ||
660 | 661 | | |||
661 | /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing | 662 | /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing | ||
662 | STATE-NUM. */ | 663 | STATE-NUM. */ | ||
663 | static const yytype_int16 yypact[] = | 664 | static const yytype_int16 yypact[] = | ||
664 | { | 665 | { | ||
665 | 1, -143, 52, -143, -8, -143, 22, -143, 1, -143, | 666 | -27, -148, 29, -148, -34, -148, 33, -148, -27, -148, | ||
666 | -27, 25, -143, -143, -143, -60, -143, -143, -143, 126, | 667 | -30, 84, -148, -148, -148, -42, -40, -148, -148, 193, | ||
667 | 126, 126, -143, 126, 44, 126, -143, -143, -16, 13, | 668 | 193, 193, -148, 193, 55, 193, -148, -148, -26, 2, | ||
668 | 163, -143, 86, 0, 64, -143, -143, -143, -143, -11, | 669 | 230, -148, 153, 4, 26, -25, -148, -148, -148, -148, | ||
669 | 29, -143, 10, -143, -143, 102, 11, -5, -143, -23, | 670 | -1, -12, -148, 30, -148, -148, 145, -148, -148, 49, | ||
670 | -2, -143, -21, -143, -143, -143, -143, -61, 4, 26, | 671 | -9, -148, -148, 32, -148, -148, -148, 53, 22, 45, | ||
671 | -43, 24, 20, 35, 126, 126, 126, 126, 126, 126, | 672 | -62, 38, 42, 52, 193, 193, 193, 193, 193, 193, | ||
672 | 126, 126, -143, -143, 126, 126, 126, 126, 126, 126, | 673 | 193, 193, -148, -148, 193, 193, 193, 193, 193, 193, | ||
673 | 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, | 674 | 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, | ||
674 | 126, 126, 126, 96, 126, -143, 84, 78, -143, -11, | 675 | 193, 193, 193, -21, 9, -148, 118, 193, -148, 125, | ||
675 | 74, -143, 38, 98, -143, 25, -143, -143, -143, 71, | 676 | 89, -148, -1, 84, -148, 59, 84, -148, 84, 84, | ||
676 | 48, 110, 89, 99, -143, -143, 101, -143, 103, -143, | 677 | 97, 101, -148, -148, 107, -148, 114, -148, -148, -148, | ||
677 | -143, -143, -143, -143, -143, -143, -143, -143, -143, 114, | 678 | -148, -148, -148, -148, -148, -148, -148, 122, 134, -148, | ||
678 | 120, -143, -143, -143, -143, -143, -143, -143, -143, -143, | 679 | -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, | ||
679 | -143, -143, -143, -143, -143, -143, -143, -143, 58, -143, | 680 | -148, -148, -148, -148, -148, -148, -148, -148, -148, 128, | ||
680 | 172, -143, -143, -143, -143, -143, -143, 126, -143, 111, | 681 | 98, 27, -148, 178, -148, -148, -148, -148, -148, -148, | ||
681 | -12, 112, 115, 121, 126, 126, -143, 128, 144, 12, | 682 | 112, 39, 115, 117, 127, 193, 193, 193, -148, -148, | ||
682 | 58, -143, 63, 134, 137, -48, -143, 138, -143, -143, | 683 | 159, 13, 135, 27, 60, 139, 141, 110, -148, 142, | ||
683 | 167, -143, -143, -143, 58, 136, -143, -143, -143, -143, | 684 | -148, -148, -148, -148, -148, -148, 27, 140, 84, -148, | ||
684 | 139, -143, -143, -143, -143, -143, -143, 58, -48, -143, | 685 | -148, -148, -148, 138, -148, -148, -148, -148, -148, 27, | ||
685 | -143 | 686 | -148, 110, -148, -148 | ||
686 | }; | 687 | }; | ||
687 | 688 | | |||
688 | /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. | 689 | /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. | ||
689 | Performed when YYTABLE does not specify something else to do. Zero | 690 | Performed when YYTABLE does not specify something else to do. Zero | ||
690 | means the default is an error. */ | 691 | means the default is an error. */ | ||
691 | static const yytype_uint8 yydefact[] = | 692 | static const yytype_uint8 yydefact[] = | ||
692 | { | 693 | { | ||
693 | 0, 14, 0, 2, 4, 6, 7, 1, 5, 77, | 694 | 0, 14, 0, 2, 4, 6, 7, 1, 5, 77, | ||
694 | 0, 0, 74, 78, 79, 70, 71, 75, 76, 0, | 695 | 0, 0, 74, 78, 79, 70, 71, 75, 76, 0, | ||
695 | 0, 0, 118, 0, 0, 0, 116, 29, 33, 39, | 696 | 0, 0, 120, 0, 0, 0, 118, 29, 33, 39, | ||
696 | 49, 52, 55, 61, 65, 80, 81, 82, 83, 10, | 697 | 49, 52, 55, 61, 65, 0, 80, 81, 82, 83, | ||
697 | 8, 111, 112, 113, 3, 0, 107, 104, 106, 0, | 698 | 10, 8, 113, 114, 115, 3, 0, 84, 85, 109, | ||
698 | 0, 72, 70, 69, 67, 66, 68, 87, 0, 0, | 699 | 106, 108, 69, 0, 67, 66, 68, 89, 0, 0, | ||
699 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 700 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
700 | 0, 0, 50, 51, 0, 0, 0, 0, 0, 0, | 701 | 0, 0, 50, 51, 0, 0, 0, 0, 0, 0, | ||
701 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 702 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
702 | 0, 0, 0, 0, 0, 12, 15, 0, 11, 9, | 703 | 0, 0, 0, 0, 0, 72, 0, 0, 12, 15, | ||
703 | 0, 115, 0, 0, 108, 0, 73, 119, 101, 103, | 704 | 0, 11, 9, 0, 117, 0, 0, 110, 0, 0, | ||
704 | 0, 0, 0, 0, 88, 89, 0, 84, 0, 90, | 705 | 0, 0, 90, 91, 0, 86, 0, 92, 101, 30, | ||
705 | 99, 30, 31, 32, 37, 35, 34, 36, 38, 0, | 706 | 31, 32, 37, 35, 34, 36, 38, 0, 0, 44, | ||
706 | 0, 44, 42, 43, 40, 41, 45, 46, 53, 54, | 707 | 42, 43, 40, 41, 45, 46, 53, 54, 57, 56, | ||
707 | 57, 56, 58, 59, 60, 62, 63, 64, 0, 19, | 708 | 58, 59, 60, 62, 63, 64, 121, 73, 103, 105, | ||
708 | 0, 110, 13, 114, 117, 109, 105, 0, 100, 0, | 709 | 0, 0, 19, 0, 112, 13, 116, 119, 111, 107, | ||
709 | 94, 0, 0, 0, 0, 0, 26, 24, 16, 20, | 710 | 0, 96, 0, 0, 0, 0, 0, 0, 102, 26, | ||
710 | 0, 102, 0, 0, 0, 97, 98, 0, 47, 48, | 711 | 16, 20, 24, 0, 0, 0, 0, 99, 100, 0, | ||
711 | 0, 18, 27, 28, 0, 21, 17, 87, 86, 93, | 712 | 47, 48, 104, 18, 27, 28, 0, 21, 0, 17, | ||
712 | 94, 95, 96, 91, 85, 25, 22, 0, 97, 23, | 713 | 89, 88, 95, 96, 97, 98, 93, 87, 22, 0, | ||
713 | 92 | 714 | 25, 99, 23, 94 | ||
714 | }; | 715 | }; | ||
715 | 716 | | |||
716 | /* YYPGOTO[NTERM-NUM]. */ | 717 | /* YYPGOTO[NTERM-NUM]. */ | ||
717 | static const yytype_int16 yypgoto[] = | 718 | static const yytype_int16 yypgoto[] = | ||
718 | { | 719 | { | ||
719 | -143, -143, 200, -143, -143, -143, -29, 47, -142, -143, | 720 | -148, -148, 204, -148, -148, -148, -39, 43, -147, -148, | ||
720 | -143, -25, 87, 106, -73, -143, 32, 107, 90, 108, | 721 | -148, -24, 90, 81, -67, -148, 104, 109, 68, 121, | ||
721 | -143, -143, 45, -143, 105, 34, 21, -143, -143, -143, | 722 | -6, -148, -148, 40, -148, 102, 25, 14, -148, -148, | ||
722 | 70, 188, -143, 124, -143, 133, 186, -143 | 723 | -148, 56, 179, -148, 111, -148, 126, 181, -148 | ||
723 | }; | 724 | }; | ||
724 | 725 | | |||
725 | /* YYDEFGOTO[NTERM-NUM]. */ | 726 | /* YYDEFGOTO[NTERM-NUM]. */ | ||
726 | static const yytype_int16 yydefgoto[] = | 727 | static const yytype_int16 yydefgoto[] = | ||
727 | { | 728 | { | ||
728 | -1, 2, 3, 4, 5, 6, 95, 96, 168, 169, | 729 | -1, 2, 3, 4, 5, 6, 98, 99, 170, 171, | ||
729 | 185, 26, 27, 28, 29, 30, 31, 32, 33, 34, | 730 | 187, 26, 27, 28, 29, 30, 31, 32, 33, 34, | ||
730 | 35, 60, 61, 36, 62, 175, 193, 37, 38, 51, | 731 | 53, 36, 60, 61, 37, 62, 177, 196, 38, 39, | ||
731 | 110, 39, 47, 48, 40, 41, 42, 43 | 732 | 95, 150, 40, 50, 51, 41, 42, 43, 44 | ||
732 | }; | 733 | }; | ||
733 | 734 | | |||
734 | /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If | 735 | /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If | ||
735 | positive, shift that token. If negative, reduce the rule whose | 736 | positive, shift that token. If negative, reduce the rule whose | ||
736 | number is the opposite. If YYTABLE_NINF, syntax error. */ | 737 | number is the opposite. If YYTABLE_NINF, syntax error. */ | ||
737 | static const yytype_uint8 yytable[] = | 738 | static const yytype_int16 yytable[] = | ||
738 | { | 739 | { | ||
739 | 63, 129, 130, 131, 132, 133, 134, 135, 136, 137, | 740 | 35, 63, 101, 1, 114, 49, 11, 127, 128, 129, | ||
740 | 9, 98, 49, 85, 100, 103, 106, 93, 182, 112, | 741 | 130, 131, 132, 133, 134, 135, 96, 85, 47, 184, | ||
741 | 191, 192, 12, 116, 113, 109, 50, 183, 186, 13, | 742 | 48, 9, 115, 64, 67, 68, 189, 96, 185, 7, | ||
742 | 14, 1, 94, 64, 9, 67, 68, 52, 10, 16, | 743 | -84, 97, -85, 12, 103, 65, 8, 104, 66, 198, | ||
743 | 11, 117, 196, 17, 18, 65, 12, 11, 66, 101, | 744 | 13, 14, 97, 107, -84, 9, -85, 93, 15, 10, | ||
744 | 104, 111, 7, 13, 14, 199, 19, 93, 107, 45, | 745 | 16, 11, 202, 106, 17, 18, 46, 12, 169, 100, | ||
745 | 173, 15, 8, 16, 46, 50, 105, 17, 18, 149, | 746 | 146, 94, 108, 155, 13, 14, 47, 19, 48, 47, | ||
746 | 152, 114, 94, 174, 20, 21, 86, 87, 88, 89, | 747 | 149, 48, 15, 152, 16, 69, 70, 71, 17, 18, | ||
747 | 19, 23, 24, 184, 25, 108, 69, 70, 71, 166, | 748 | 86, 87, 88, 89, 186, 20, 21, 147, 47, 112, | ||
748 | 9, 178, 179, 115, 10, 83, 84, 167, 20, 21, | 749 | 48, 19, 23, 24, 35, 25, 148, 156, 180, 181, | ||
749 | 97, 118, 12, 22, 119, 23, 24, 148, 25, 13, | 750 | 158, 9, 49, 147, 109, 10, 90, 91, 92, 20, | ||
750 | 14, 57, 150, 153, 9, 138, 139, 15, 10, 16, | 751 | 21, 175, 113, 12, 22, 116, 23, 24, 94, 25, | ||
751 | 58, 59, 120, 17, 18, 154, 12, 53, 54, 55, | 752 | 13, 14, 57, 47, 176, 48, 117, 190, 15, 151, | ||
752 | 187, 56, 109, 13, 14, 158, 19, 155, 9, 58, | 753 | 16, 58, 59, 110, 17, 18, 58, 59, 111, 118, | ||
753 | 59, 52, 157, 16, 90, 91, 92, 17, 18, 106, | 754 | 52, 54, 55, 149, 56, 172, 157, 19, 122, 123, | ||
754 | 12, 121, 122, 123, 20, 21, 159, 13, 14, 22, | 755 | 124, 125, 126, 153, 119, 120, 121, 9, 143, 144, | ||
755 | 19, 23, 24, 164, 25, 52, 160, 16, 161, 165, | 756 | 145, 10, 83, 84, 160, 20, 21, 172, 161, 12, | ||
756 | 163, 17, 18, 124, 125, 126, 127, 128, 20, 21, | 757 | 22, 165, 23, 24, 162, 25, 13, 14, 194, 195, | ||
757 | 145, 146, 147, 170, 19, 23, 24, 94, 25, 72, | 758 | 172, 164, 200, 166, 15, 168, 16, 136, 137, 173, | ||
758 | 73, 172, 140, 141, 142, 143, 144, 113, 177, 176, | 759 | 17, 18, 174, 172, 138, 139, 140, 141, 142, 167, | ||
759 | 180, 189, 20, 21, 190, 194, 195, 197, 44, 23, | 760 | 111, 178, 97, 19, 179, 9, 192, 188, 193, 197, | ||
760 | 24, 173, 25, 74, 75, 181, 76, 188, 77, 200, | 761 | 175, 199, 45, 183, 191, 203, 163, 12, 201, 159, | ||
761 | 78, 162, 79, 80, 198, 81, 82, 171, 99, 156, | 762 | 102, 20, 21, 182, 13, 14, 154, 105, 23, 24, | ||
762 | 151, 102 | 763 | 0, 25, 15, 0, 16, 0, 0, 0, 17, 18, | ||
764 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
765 | 0, 19, 0, 0, 0, 0, 72, 73, 0, 0, | ||||
766 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, | ||||
767 | 21, 0, 0, 0, 0, 0, 23, 24, 0, 25, | ||||
768 | 74, 75, 0, 76, 0, 77, 0, 78, 0, 79, | ||||
769 | 80, 0, 81, 82 | ||||
763 | }; | 770 | }; | ||
764 | 771 | | |||
765 | static const yytype_uint8 yycheck[] = | 772 | static const yytype_int16 yycheck[] = | ||
766 | { | 773 | { | ||
767 | 25, 74, 75, 76, 77, 78, 79, 80, 81, 82, | 774 | 6, 25, 41, 30, 66, 11, 18, 74, 75, 76, | ||
768 | 12, 40, 72, 13, 4, 4, 39, 28, 6, 80, | 775 | 77, 78, 79, 80, 81, 82, 28, 13, 39, 6, | ||
769 | 68, 69, 24, 66, 85, 50, 86, 15, 170, 31, | 776 | 41, 12, 84, 49, 22, 23, 173, 28, 15, 0, | ||
770 | 32, 30, 43, 49, 12, 22, 23, 39, 16, 41, | 777 | 72, 43, 72, 24, 4, 61, 70, 43, 64, 186, | ||
771 | 18, 84, 184, 45, 46, 61, 24, 18, 64, 39, | 778 | 31, 32, 43, 49, 86, 12, 86, 72, 39, 16, | ||
772 | 39, 72, 0, 31, 32, 197, 58, 28, 81, 86, | 779 | 41, 18, 199, 4, 45, 46, 86, 24, 31, 71, | ||
773 | 72, 39, 70, 41, 39, 86, 71, 45, 46, 94, | 780 | 81, 86, 71, 102, 31, 32, 39, 58, 41, 39, | ||
774 | 99, 67, 43, 85, 76, 77, 76, 77, 78, 79, | 781 | 94, 41, 39, 97, 41, 73, 74, 75, 45, 46, | ||
775 | 58, 83, 84, 71, 86, 87, 73, 74, 75, 31, | 782 | 76, 77, 78, 79, 71, 76, 77, 93, 39, 67, | ||
776 | 12, 164, 165, 67, 16, 9, 10, 39, 76, 77, | 783 | 41, 58, 83, 84, 100, 86, 87, 103, 165, 166, | ||
777 | 71, 77, 24, 81, 84, 83, 84, 11, 86, 31, | 784 | 106, 12, 108, 109, 72, 16, 80, 81, 82, 76, | ||
778 | 32, 67, 28, 39, 12, 83, 84, 39, 16, 41, | 785 | 77, 72, 67, 24, 81, 77, 83, 84, 86, 86, | ||
779 | 76, 77, 87, 45, 46, 87, 24, 19, 20, 21, | 786 | 31, 32, 67, 39, 85, 41, 84, 67, 39, 11, | ||
780 | 67, 23, 157, 31, 32, 87, 58, 39, 12, 76, | 787 | 41, 76, 77, 80, 45, 46, 76, 77, 85, 87, | ||
781 | 77, 39, 71, 41, 80, 81, 82, 45, 46, 39, | 788 | 19, 20, 21, 167, 23, 151, 87, 58, 67, 68, | ||
782 | 24, 64, 65, 66, 76, 77, 67, 31, 32, 81, | 789 | 69, 70, 71, 28, 64, 65, 66, 12, 90, 91, | ||
783 | 58, 83, 84, 49, 86, 39, 67, 41, 67, 49, | 790 | 92, 16, 9, 10, 67, 76, 77, 173, 67, 24, | ||
784 | 67, 45, 46, 67, 68, 69, 70, 71, 76, 77, | 791 | 81, 49, 83, 84, 67, 86, 31, 32, 68, 69, | ||
785 | 90, 91, 92, 11, 58, 83, 84, 43, 86, 26, | 792 | 186, 67, 188, 49, 39, 87, 41, 83, 84, 11, | ||
786 | 27, 80, 85, 86, 87, 88, 89, 85, 77, 84, | 793 | 45, 46, 80, 199, 85, 86, 87, 88, 89, 71, | ||
787 | 72, 67, 76, 77, 67, 67, 39, 71, 8, 83, | 794 | 85, 84, 43, 58, 77, 12, 67, 72, 67, 67, | ||
788 | 84, 72, 86, 50, 51, 168, 53, 172, 55, 198, | 795 | 72, 71, 8, 170, 174, 201, 114, 24, 193, 108, | ||
789 | 57, 116, 59, 60, 190, 62, 63, 157, 40, 105, | 796 | 41, 76, 77, 167, 31, 32, 100, 46, 83, 84, | ||
790 | 97, 45 | 797 | -1, 86, 39, -1, 41, -1, -1, -1, 45, 46, | ||
798 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | ||||
799 | -1, 58, -1, -1, -1, -1, 26, 27, -1, -1, | ||||
800 | -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, | ||||
801 | 77, -1, -1, -1, -1, -1, 83, 84, -1, 86, | ||||
802 | 50, 51, -1, 53, -1, 55, -1, 57, -1, 59, | ||||
803 | 60, -1, 62, 63 | ||||
791 | }; | 804 | }; | ||
792 | 805 | | |||
793 | /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing | 806 | /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing | ||
794 | symbol of state STATE-NUM. */ | 807 | symbol of state STATE-NUM. */ | ||
795 | static const yytype_uint8 yystos[] = | 808 | static const yytype_uint8 yystos[] = | ||
796 | { | 809 | { | ||
797 | 0, 30, 89, 90, 91, 92, 93, 0, 70, 12, | 810 | 0, 30, 89, 90, 91, 92, 93, 0, 70, 12, | ||
798 | 16, 18, 24, 31, 32, 39, 41, 45, 46, 58, | 811 | 16, 18, 24, 31, 32, 39, 41, 45, 46, 58, | ||
799 | 76, 77, 81, 83, 84, 86, 99, 100, 101, 102, | 812 | 76, 77, 81, 83, 84, 86, 99, 100, 101, 102, | ||
800 | 103, 104, 105, 106, 107, 108, 111, 115, 116, 119, | 813 | 103, 104, 105, 106, 107, 108, 109, 112, 116, 117, | ||
801 | 122, 123, 124, 125, 90, 86, 39, 120, 121, 72, | 814 | 120, 123, 124, 125, 126, 90, 86, 39, 41, 108, | ||
802 | 86, 117, 39, 107, 107, 107, 107, 67, 76, 77, | 815 | 121, 122, 107, 108, 107, 107, 107, 67, 76, 77, | ||
803 | 109, 110, 112, 99, 49, 61, 64, 22, 23, 73, | 816 | 110, 111, 113, 99, 49, 61, 64, 22, 23, 73, | ||
804 | 74, 75, 26, 27, 50, 51, 53, 55, 57, 59, | 817 | 74, 75, 26, 27, 50, 51, 53, 55, 57, 59, | ||
805 | 60, 62, 63, 9, 10, 13, 76, 77, 78, 79, | 818 | 60, 62, 63, 9, 10, 13, 76, 77, 78, 79, | ||
806 | 80, 81, 82, 28, 43, 94, 95, 71, 94, 119, | 819 | 80, 81, 82, 72, 86, 118, 28, 43, 94, 95, | ||
807 | 4, 39, 124, 4, 39, 71, 39, 81, 87, 99, | 820 | 71, 94, 120, 4, 108, 125, 4, 108, 71, 72, | ||
808 | 118, 72, 80, 85, 67, 67, 66, 84, 77, 84, | 821 | 80, 85, 67, 67, 66, 84, 77, 84, 87, 100, | ||
809 | 87, 100, 100, 100, 101, 101, 101, 101, 101, 102, | 822 | 100, 100, 101, 101, 101, 101, 101, 102, 102, 102, | ||
810 | 102, 102, 102, 102, 102, 102, 102, 102, 104, 104, | 823 | 102, 102, 102, 102, 102, 102, 104, 104, 105, 105, | ||
811 | 105, 105, 105, 105, 105, 106, 106, 106, 11, 99, | 824 | 105, 105, 105, 106, 106, 106, 81, 108, 87, 99, | ||
812 | 28, 123, 94, 39, 87, 39, 121, 71, 87, 67, | 825 | 119, 11, 99, 28, 124, 94, 108, 87, 108, 122, | ||
813 | 67, 67, 112, 67, 49, 49, 31, 39, 96, 97, | 826 | 67, 67, 67, 113, 67, 49, 49, 71, 87, 31, | ||
814 | 11, 118, 80, 72, 85, 113, 84, 77, 102, 102, | 827 | 96, 97, 108, 11, 80, 72, 85, 114, 84, 77, | ||
815 | 72, 95, 6, 15, 71, 98, 96, 67, 110, 67, | 828 | 102, 102, 119, 95, 6, 15, 71, 98, 72, 96, | ||
816 | 67, 68, 69, 114, 67, 39, 96, 71, 113, 96, | 829 | 67, 111, 67, 67, 68, 69, 115, 67, 96, 71, | ||
817 | 114 | 830 | 108, 114, 96, 115 | ||
818 | }; | 831 | }; | ||
819 | 832 | | |||
820 | /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ | 833 | /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ | ||
821 | static const yytype_uint8 yyr1[] = | 834 | static const yytype_uint8 yyr1[] = | ||
822 | { | 835 | { | ||
823 | 0, 88, 89, 90, 90, 90, 91, 92, 92, 92, | 836 | 0, 88, 89, 90, 90, 90, 91, 92, 92, 92, | ||
824 | 92, 92, 92, 92, 93, 94, 94, 94, 94, 95, | 837 | 92, 92, 92, 92, 93, 94, 94, 94, 94, 95, | ||
825 | 96, 96, 96, 96, 97, 97, 97, 98, 98, 99, | 838 | 96, 96, 96, 96, 97, 97, 97, 98, 98, 99, | ||
826 | 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, | 839 | 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, | ||
827 | 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, | 840 | 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, | ||
828 | 103, 103, 103, 104, 104, 104, 105, 105, 105, 105, | 841 | 103, 103, 103, 104, 104, 104, 105, 105, 105, 105, | ||
829 | 105, 105, 106, 106, 106, 106, 107, 107, 107, 107, | 842 | 105, 105, 106, 106, 106, 106, 107, 107, 107, 107, | ||
830 | 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, | 843 | 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, | ||
831 | 107, 107, 107, 107, 108, 109, 109, 110, 110, 110, | 844 | 107, 107, 107, 107, 108, 108, 109, 110, 110, 111, | ||
832 | 111, 112, 112, 113, 113, 114, 114, 114, 115, 116, | 845 | 111, 111, 112, 113, 113, 114, 114, 115, 115, 115, | ||
833 | 117, 117, 118, 118, 119, 120, 120, 121, 121, 121, | 846 | 116, 117, 118, 118, 119, 119, 120, 121, 121, 122, | ||
834 | 122, 122, 123, 123, 123, 123, 124, 124, 125, 125 | 847 | 122, 122, 123, 123, 124, 124, 124, 124, 125, 125, | ||
848 | 126, 126 | ||||
835 | }; | 849 | }; | ||
836 | 850 | | |||
837 | /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ | 851 | /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ | ||
838 | static const yytype_uint8 yyr2[] = | 852 | static const yytype_uint8 yyr2[] = | ||
839 | { | 853 | { | ||
840 | 0, 2, 1, 3, 1, 2, 1, 1, 2, 3, | 854 | 0, 2, 1, 3, 1, 2, 1, 1, 2, 3, | ||
841 | 2, 3, 3, 4, 1, 1, 3, 4, 4, 2, | 855 | 2, 3, 3, 4, 1, 1, 3, 4, 4, 2, | ||
842 | 1, 2, 3, 4, 1, 3, 1, 1, 1, 1, | 856 | 1, 2, 3, 4, 1, 3, 1, 1, 1, 1, | ||
843 | 3, 3, 3, 1, 3, 3, 3, 3, 3, 1, | 857 | 3, 3, 3, 1, 3, 3, 3, 3, 3, 1, | ||
844 | 3, 3, 3, 3, 3, 3, 3, 5, 5, 1, | 858 | 3, 3, 3, 3, 3, 3, 3, 5, 5, 1, | ||
845 | 2, 2, 1, 3, 3, 1, 3, 3, 3, 3, | 859 | 2, 2, 1, 3, 3, 1, 3, 3, 3, 3, | ||
846 | 3, 1, 3, 3, 3, 1, 2, 2, 2, 2, | 860 | 3, 1, 3, 3, 3, 1, 2, 2, 2, 2, | ||
847 | 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, | 861 | 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, | ||
848 | 1, 1, 1, 1, 3, 5, 5, 1, 2, 2, | 862 | 1, 1, 1, 1, 1, 1, 3, 5, 5, 1, | ||
849 | 3, 5, 7, 2, 0, 1, 1, 0, 5, 3, | 863 | 2, 2, 3, 5, 7, 2, 0, 1, 1, 0, | ||
850 | 3, 2, 3, 1, 2, 3, 1, 1, 2, 3, | 864 | 5, 3, 3, 2, 3, 1, 2, 3, 1, 1, | ||
851 | 3, 1, 1, 1, 3, 2, 1, 4, 1, 3 | 865 | 2, 3, 3, 1, 1, 1, 3, 2, 1, 4, | ||
866 | 1, 3 | ||||
852 | }; | 867 | }; | ||
853 | 868 | | |||
854 | 869 | | |||
855 | #define yyerrok (yyerrstatus = 0) | 870 | #define yyerrok (yyerrstatus = 0) | ||
856 | #define yyclearin (yychar = YYEMPTY) | 871 | #define yyclearin (yychar = YYEMPTY) | ||
857 | #define YYEMPTY (-2) | 872 | #define YYEMPTY (-2) | ||
858 | #define YYEOF 0 | 873 | #define YYEOF 0 | ||
859 | 874 | | |||
▲ Show 20 Lines • Show All 660 Lines • ▼ Show 20 Line(s) | 1528 | /* If YYLEN is nonzero, implement the default value of the action: | |||
1520 | GCC warning that YYVAL may be used uninitialized. */ | 1535 | GCC warning that YYVAL may be used uninitialized. */ | ||
1521 | yyval = yyvsp[1-yylen]; | 1536 | yyval = yyvsp[1-yylen]; | ||
1522 | 1537 | | |||
1523 | 1538 | | |||
1524 | YY_REDUCE_PRINT (yyn); | 1539 | YY_REDUCE_PRINT (yyn); | ||
1525 | switch (yyn) | 1540 | switch (yyn) | ||
1526 | { | 1541 | { | ||
1527 | case 2: | 1542 | case 2: | ||
1528 | #line 565 "KDbSqlParser.y" /* yacc.c:1646 */ | 1543 | #line 566 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1529 | { | 1544 | { | ||
1530 | //todo: multiple statements | 1545 | //todo: multiple statements | ||
1531 | //todo: not only "select" statements | 1546 | //todo: not only "select" statements | ||
1532 | KDbParserPrivate::get(globalParser)->setStatementType(KDbParser::Select); | 1547 | KDbParserPrivate::get(globalParser)->setStatementType(KDbParser::Select); | ||
1533 | KDbParserPrivate::get(globalParser)->setQuerySchema((yyvsp[0].querySchema)); | 1548 | KDbParserPrivate::get(globalParser)->setQuerySchema((yyvsp[0].querySchema)); | ||
1534 | } | 1549 | } | ||
1535 | #line 1536 "sqlparser.cpp" /* yacc.c:1646 */ | 1550 | #line 1551 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1536 | break; | 1551 | break; | ||
1537 | 1552 | | |||
1538 | case 3: | 1553 | case 3: | ||
1539 | #line 575 "KDbSqlParser.y" /* yacc.c:1646 */ | 1554 | #line 576 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1540 | { | 1555 | { | ||
1541 | //todo: multiple statements | 1556 | //todo: multiple statements | ||
1542 | } | 1557 | } | ||
1543 | #line 1544 "sqlparser.cpp" /* yacc.c:1646 */ | 1558 | #line 1559 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1544 | break; | 1559 | break; | ||
1545 | 1560 | | |||
1546 | case 5: | 1561 | case 5: | ||
1547 | #line 580 "KDbSqlParser.y" /* yacc.c:1646 */ | 1562 | #line 581 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1548 | { | 1563 | { | ||
1549 | (yyval.querySchema) = (yyvsp[-1].querySchema); | 1564 | (yyval.querySchema) = (yyvsp[-1].querySchema); | ||
1550 | } | 1565 | } | ||
1551 | #line 1552 "sqlparser.cpp" /* yacc.c:1646 */ | 1566 | #line 1567 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1552 | break; | 1567 | break; | ||
1553 | 1568 | | |||
1554 | case 6: | 1569 | case 6: | ||
1555 | #line 595 "KDbSqlParser.y" /* yacc.c:1646 */ | 1570 | #line 596 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1556 | { | 1571 | { | ||
1557 | (yyval.querySchema) = (yyvsp[0].querySchema); | 1572 | (yyval.querySchema) = (yyvsp[0].querySchema); | ||
1558 | } | 1573 | } | ||
1559 | #line 1560 "sqlparser.cpp" /* yacc.c:1646 */ | 1574 | #line 1575 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1560 | break; | 1575 | break; | ||
1561 | 1576 | | |||
1562 | case 7: | 1577 | case 7: | ||
1563 | #line 694 "KDbSqlParser.y" /* yacc.c:1646 */ | 1578 | #line 695 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1564 | { | 1579 | { | ||
1565 | sqlParserDebug() << "Select"; | 1580 | sqlParserDebug() << "Select"; | ||
1566 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[0].querySchema), nullptr ))) | 1581 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[0].querySchema), nullptr ))) | ||
1567 | YYABORT; | 1582 | YYABORT; | ||
1568 | } | 1583 | } | ||
1569 | #line 1570 "sqlparser.cpp" /* yacc.c:1646 */ | 1584 | #line 1585 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1570 | break; | 1585 | break; | ||
1571 | 1586 | | |||
1572 | case 8: | 1587 | case 8: | ||
1573 | #line 700 "KDbSqlParser.y" /* yacc.c:1646 */ | 1588 | #line 701 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1574 | { | 1589 | { | ||
1575 | sqlParserDebug() << "Select ColViews=" << *(yyvsp[0].exprList); | 1590 | sqlParserDebug() << "Select ColViews=" << *(yyvsp[0].exprList); | ||
1576 | 1591 | | |||
1577 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-1].querySchema), (yyvsp[0].exprList) ))) | 1592 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-1].querySchema), (yyvsp[0].exprList) ))) | ||
1578 | YYABORT; | 1593 | YYABORT; | ||
1579 | } | 1594 | } | ||
1580 | #line 1581 "sqlparser.cpp" /* yacc.c:1646 */ | 1595 | #line 1596 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1581 | break; | 1596 | break; | ||
1582 | 1597 | | |||
1583 | case 9: | 1598 | case 9: | ||
1584 | #line 707 "KDbSqlParser.y" /* yacc.c:1646 */ | 1599 | #line 708 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1585 | { | 1600 | { | ||
1586 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-2].querySchema), (yyvsp[-1].exprList), (yyvsp[0].exprList) ))) | 1601 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-2].querySchema), (yyvsp[-1].exprList), (yyvsp[0].exprList) ))) | ||
1587 | YYABORT; | 1602 | YYABORT; | ||
1588 | } | 1603 | } | ||
1589 | #line 1590 "sqlparser.cpp" /* yacc.c:1646 */ | 1604 | #line 1605 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1590 | break; | 1605 | break; | ||
1591 | 1606 | | |||
1592 | case 10: | 1607 | case 10: | ||
1593 | #line 712 "KDbSqlParser.y" /* yacc.c:1646 */ | 1608 | #line 713 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1594 | { | 1609 | { | ||
1595 | sqlParserDebug() << "Select ColViews Tables"; | 1610 | sqlParserDebug() << "Select ColViews Tables"; | ||
1596 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-1].querySchema), nullptr, (yyvsp[0].exprList) ))) | 1611 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-1].querySchema), nullptr, (yyvsp[0].exprList) ))) | ||
1597 | YYABORT; | 1612 | YYABORT; | ||
1598 | } | 1613 | } | ||
1599 | #line 1600 "sqlparser.cpp" /* yacc.c:1646 */ | 1614 | #line 1615 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1600 | break; | 1615 | break; | ||
1601 | 1616 | | |||
1602 | case 11: | 1617 | case 11: | ||
1603 | #line 718 "KDbSqlParser.y" /* yacc.c:1646 */ | 1618 | #line 719 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1604 | { | 1619 | { | ||
1605 | sqlParserDebug() << "Select ColViews Conditions"; | 1620 | sqlParserDebug() << "Select ColViews Conditions"; | ||
1606 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-2].querySchema), (yyvsp[-1].exprList), nullptr, (yyvsp[0].selectOptions) ))) | 1621 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-2].querySchema), (yyvsp[-1].exprList), nullptr, (yyvsp[0].selectOptions) ))) | ||
1607 | YYABORT; | 1622 | YYABORT; | ||
1608 | } | 1623 | } | ||
1609 | #line 1610 "sqlparser.cpp" /* yacc.c:1646 */ | 1624 | #line 1625 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1610 | break; | 1625 | break; | ||
1611 | 1626 | | |||
1612 | case 12: | 1627 | case 12: | ||
1613 | #line 724 "KDbSqlParser.y" /* yacc.c:1646 */ | 1628 | #line 725 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1614 | { | 1629 | { | ||
1615 | sqlParserDebug() << "Select Tables SelectOptions"; | 1630 | sqlParserDebug() << "Select Tables SelectOptions"; | ||
1616 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-2].querySchema), nullptr, (yyvsp[-1].exprList), (yyvsp[0].selectOptions) ))) | 1631 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-2].querySchema), nullptr, (yyvsp[-1].exprList), (yyvsp[0].selectOptions) ))) | ||
1617 | YYABORT; | 1632 | YYABORT; | ||
1618 | } | 1633 | } | ||
1619 | #line 1620 "sqlparser.cpp" /* yacc.c:1646 */ | 1634 | #line 1635 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1620 | break; | 1635 | break; | ||
1621 | 1636 | | |||
1622 | case 13: | 1637 | case 13: | ||
1623 | #line 730 "KDbSqlParser.y" /* yacc.c:1646 */ | 1638 | #line 731 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1624 | { | 1639 | { | ||
1625 | sqlParserDebug() << "Select ColViews Tables SelectOptions"; | 1640 | sqlParserDebug() << "Select ColViews Tables SelectOptions"; | ||
1626 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-3].querySchema), (yyvsp[-2].exprList), (yyvsp[-1].exprList), (yyvsp[0].selectOptions) ))) | 1641 | if (!((yyval.querySchema) = buildSelectQuery( (yyvsp[-3].querySchema), (yyvsp[-2].exprList), (yyvsp[-1].exprList), (yyvsp[0].selectOptions) ))) | ||
1627 | YYABORT; | 1642 | YYABORT; | ||
1628 | } | 1643 | } | ||
1629 | #line 1630 "sqlparser.cpp" /* yacc.c:1646 */ | 1644 | #line 1645 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1630 | break; | 1645 | break; | ||
1631 | 1646 | | |||
1632 | case 14: | 1647 | case 14: | ||
1633 | #line 739 "KDbSqlParser.y" /* yacc.c:1646 */ | 1648 | #line 740 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1634 | { | 1649 | { | ||
1635 | sqlParserDebug() << "SELECT"; | 1650 | sqlParserDebug() << "SELECT"; | ||
1636 | (yyval.querySchema) = KDbParserPrivate::get(globalParser)->createQuery(); | 1651 | (yyval.querySchema) = KDbParserPrivate::get(globalParser)->createQuery(); | ||
1637 | } | 1652 | } | ||
1638 | #line 1639 "sqlparser.cpp" /* yacc.c:1646 */ | 1653 | #line 1654 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1639 | break; | 1654 | break; | ||
1640 | 1655 | | |||
1641 | case 15: | 1656 | case 15: | ||
1642 | #line 747 "KDbSqlParser.y" /* yacc.c:1646 */ | 1657 | #line 748 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1643 | { | 1658 | { | ||
1644 | sqlParserDebug() << "WhereClause"; | 1659 | sqlParserDebug() << "WhereClause"; | ||
1645 | (yyval.selectOptions) = new SelectOptionsInternal; | 1660 | (yyval.selectOptions) = new SelectOptionsInternal; | ||
1646 | (yyval.selectOptions)->whereExpr = *(yyvsp[0].expr); | 1661 | (yyval.selectOptions)->whereExpr = *(yyvsp[0].expr); | ||
1647 | delete (yyvsp[0].expr); | 1662 | delete (yyvsp[0].expr); | ||
1648 | } | 1663 | } | ||
1649 | #line 1650 "sqlparser.cpp" /* yacc.c:1646 */ | 1664 | #line 1665 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1650 | break; | 1665 | break; | ||
1651 | 1666 | | |||
1652 | case 16: | 1667 | case 16: | ||
1653 | #line 754 "KDbSqlParser.y" /* yacc.c:1646 */ | 1668 | #line 755 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1654 | { | 1669 | { | ||
1655 | sqlParserDebug() << "OrderByClause"; | 1670 | sqlParserDebug() << "OrderByClause"; | ||
1656 | (yyval.selectOptions) = new SelectOptionsInternal; | 1671 | (yyval.selectOptions) = new SelectOptionsInternal; | ||
1657 | (yyval.selectOptions)->orderByColumns = (yyvsp[0].orderByColumns); | 1672 | (yyval.selectOptions)->orderByColumns = (yyvsp[0].orderByColumns); | ||
1658 | } | 1673 | } | ||
1659 | #line 1660 "sqlparser.cpp" /* yacc.c:1646 */ | 1674 | #line 1675 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1660 | break; | 1675 | break; | ||
1661 | 1676 | | |||
1662 | case 17: | 1677 | case 17: | ||
1663 | #line 760 "KDbSqlParser.y" /* yacc.c:1646 */ | 1678 | #line 761 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1664 | { | 1679 | { | ||
1665 | sqlParserDebug() << "WhereClause ORDER BY OrderByClause"; | 1680 | sqlParserDebug() << "WhereClause ORDER BY OrderByClause"; | ||
1666 | (yyval.selectOptions) = new SelectOptionsInternal; | 1681 | (yyval.selectOptions) = new SelectOptionsInternal; | ||
1667 | (yyval.selectOptions)->whereExpr = *(yyvsp[-3].expr); | 1682 | (yyval.selectOptions)->whereExpr = *(yyvsp[-3].expr); | ||
1668 | delete (yyvsp[-3].expr); | 1683 | delete (yyvsp[-3].expr); | ||
1669 | (yyval.selectOptions)->orderByColumns = (yyvsp[0].orderByColumns); | 1684 | (yyval.selectOptions)->orderByColumns = (yyvsp[0].orderByColumns); | ||
1670 | } | 1685 | } | ||
1671 | #line 1672 "sqlparser.cpp" /* yacc.c:1646 */ | 1686 | #line 1687 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1672 | break; | 1687 | break; | ||
1673 | 1688 | | |||
1674 | case 18: | 1689 | case 18: | ||
1675 | #line 768 "KDbSqlParser.y" /* yacc.c:1646 */ | 1690 | #line 769 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1676 | { | 1691 | { | ||
1677 | sqlParserDebug() << "OrderByClause WhereClause"; | 1692 | sqlParserDebug() << "OrderByClause WhereClause"; | ||
1678 | (yyval.selectOptions) = new SelectOptionsInternal; | 1693 | (yyval.selectOptions) = new SelectOptionsInternal; | ||
1679 | (yyval.selectOptions)->whereExpr = *(yyvsp[0].expr); | 1694 | (yyval.selectOptions)->whereExpr = *(yyvsp[0].expr); | ||
1680 | delete (yyvsp[0].expr); | 1695 | delete (yyvsp[0].expr); | ||
1681 | (yyval.selectOptions)->orderByColumns = (yyvsp[-1].orderByColumns); | 1696 | (yyval.selectOptions)->orderByColumns = (yyvsp[-1].orderByColumns); | ||
1682 | } | 1697 | } | ||
1683 | #line 1684 "sqlparser.cpp" /* yacc.c:1646 */ | 1698 | #line 1699 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1684 | break; | 1699 | break; | ||
1685 | 1700 | | |||
1686 | case 19: | 1701 | case 19: | ||
1687 | #line 779 "KDbSqlParser.y" /* yacc.c:1646 */ | 1702 | #line 780 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1688 | { | 1703 | { | ||
1689 | (yyval.expr) = (yyvsp[0].expr); | 1704 | (yyval.expr) = (yyvsp[0].expr); | ||
1690 | } | 1705 | } | ||
1691 | #line 1692 "sqlparser.cpp" /* yacc.c:1646 */ | 1706 | #line 1707 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1692 | break; | 1707 | break; | ||
1693 | 1708 | | |||
1694 | case 20: | 1709 | case 20: | ||
1695 | #line 788 "KDbSqlParser.y" /* yacc.c:1646 */ | 1710 | #line 789 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1696 | { | 1711 | { | ||
1697 | sqlParserDebug() << "ORDER BY IDENTIFIER"; | 1712 | sqlParserDebug() << "ORDER BY identifier"; | ||
1698 | (yyval.orderByColumns) = new QList<OrderByColumnInternal>; | 1713 | (yyval.orderByColumns) = new QList<OrderByColumnInternal>; | ||
1699 | OrderByColumnInternal orderByColumn; | 1714 | OrderByColumnInternal orderByColumn; | ||
1700 | orderByColumn.setColumnByNameOrNumber( *(yyvsp[0].variantValue) ); | 1715 | orderByColumn.setColumnByNameOrNumber( *(yyvsp[0].variantValue) ); | ||
1701 | (yyval.orderByColumns)->append( orderByColumn ); | 1716 | (yyval.orderByColumns)->append( orderByColumn ); | ||
1702 | delete (yyvsp[0].variantValue); | 1717 | delete (yyvsp[0].variantValue); | ||
1703 | } | 1718 | } | ||
1704 | #line 1705 "sqlparser.cpp" /* yacc.c:1646 */ | 1719 | #line 1720 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1705 | break; | 1720 | break; | ||
1706 | 1721 | | |||
1707 | case 21: | 1722 | case 21: | ||
1708 | #line 797 "KDbSqlParser.y" /* yacc.c:1646 */ | 1723 | #line 798 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1709 | { | 1724 | { | ||
1710 | sqlParserDebug() << "ORDER BY IDENTIFIER OrderByOption"; | 1725 | sqlParserDebug() << "ORDER BY identifier OrderByOption"; | ||
1711 | (yyval.orderByColumns) = new QList<OrderByColumnInternal>; | 1726 | (yyval.orderByColumns) = new QList<OrderByColumnInternal>; | ||
1712 | OrderByColumnInternal orderByColumn; | 1727 | OrderByColumnInternal orderByColumn; | ||
1713 | orderByColumn.setColumnByNameOrNumber( *(yyvsp[-1].variantValue) ); | 1728 | orderByColumn.setColumnByNameOrNumber( *(yyvsp[-1].variantValue) ); | ||
1714 | orderByColumn.order = (yyvsp[0].sortOrderValue); | 1729 | orderByColumn.order = (yyvsp[0].sortOrderValue); | ||
1715 | (yyval.orderByColumns)->append( orderByColumn ); | 1730 | (yyval.orderByColumns)->append( orderByColumn ); | ||
1716 | delete (yyvsp[-1].variantValue); | 1731 | delete (yyvsp[-1].variantValue); | ||
1717 | } | 1732 | } | ||
1718 | #line 1719 "sqlparser.cpp" /* yacc.c:1646 */ | 1733 | #line 1734 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1719 | break; | 1734 | break; | ||
1720 | 1735 | | |||
1721 | case 22: | 1736 | case 22: | ||
1722 | #line 807 "KDbSqlParser.y" /* yacc.c:1646 */ | 1737 | #line 808 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1723 | { | 1738 | { | ||
1724 | (yyval.orderByColumns) = (yyvsp[0].orderByColumns); | 1739 | (yyval.orderByColumns) = (yyvsp[0].orderByColumns); | ||
1725 | OrderByColumnInternal orderByColumn; | 1740 | OrderByColumnInternal orderByColumn; | ||
1726 | orderByColumn.setColumnByNameOrNumber( *(yyvsp[-2].variantValue) ); | 1741 | orderByColumn.setColumnByNameOrNumber( *(yyvsp[-2].variantValue) ); | ||
1727 | (yyval.orderByColumns)->append( orderByColumn ); | 1742 | (yyval.orderByColumns)->append( orderByColumn ); | ||
1728 | delete (yyvsp[-2].variantValue); | 1743 | delete (yyvsp[-2].variantValue); | ||
1729 | } | 1744 | } | ||
1730 | #line 1731 "sqlparser.cpp" /* yacc.c:1646 */ | 1745 | #line 1746 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1731 | break; | 1746 | break; | ||
1732 | 1747 | | |||
1733 | case 23: | 1748 | case 23: | ||
1734 | #line 815 "KDbSqlParser.y" /* yacc.c:1646 */ | 1749 | #line 816 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1735 | { | 1750 | { | ||
1736 | (yyval.orderByColumns) = (yyvsp[0].orderByColumns); | 1751 | (yyval.orderByColumns) = (yyvsp[0].orderByColumns); | ||
1737 | OrderByColumnInternal orderByColumn; | 1752 | OrderByColumnInternal orderByColumn; | ||
1738 | orderByColumn.setColumnByNameOrNumber( *(yyvsp[-3].variantValue) ); | 1753 | orderByColumn.setColumnByNameOrNumber( *(yyvsp[-3].variantValue) ); | ||
1739 | orderByColumn.order = (yyvsp[-2].sortOrderValue); | 1754 | orderByColumn.order = (yyvsp[-2].sortOrderValue); | ||
1740 | (yyval.orderByColumns)->append( orderByColumn ); | 1755 | (yyval.orderByColumns)->append( orderByColumn ); | ||
1741 | delete (yyvsp[-3].variantValue); | 1756 | delete (yyvsp[-3].variantValue); | ||
1742 | } | 1757 | } | ||
1743 | #line 1744 "sqlparser.cpp" /* yacc.c:1646 */ | 1758 | #line 1759 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1744 | break; | 1759 | break; | ||
1745 | 1760 | | |||
1746 | case 24: | 1761 | case 24: | ||
1747 | #line 827 "KDbSqlParser.y" /* yacc.c:1646 */ | 1762 | #line 828 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1748 | { | 1763 | { | ||
1749 | (yyval.variantValue) = new QVariant( *(yyvsp[0].stringValue) ); | 1764 | (yyval.variantValue) = new QVariant( *(yyvsp[0].stringValue) ); | ||
1750 | sqlParserDebug() << "OrderByColumnId: " << *(yyval.variantValue); | 1765 | sqlParserDebug() << "OrderByColumnId: " << *(yyval.variantValue); | ||
1751 | delete (yyvsp[0].stringValue); | 1766 | delete (yyvsp[0].stringValue); | ||
1752 | } | 1767 | } | ||
1753 | #line 1754 "sqlparser.cpp" /* yacc.c:1646 */ | 1768 | #line 1769 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1754 | break; | 1769 | break; | ||
1755 | 1770 | | |||
1756 | case 25: | 1771 | case 25: | ||
1757 | #line 833 "KDbSqlParser.y" /* yacc.c:1646 */ | 1772 | #line 834 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1758 | { | 1773 | { | ||
1759 | (yyval.variantValue) = new QVariant( *(yyvsp[-2].stringValue) + QLatin1Char('.') + *(yyvsp[0].stringValue) ); | 1774 | (yyval.variantValue) = new QVariant( *(yyvsp[-2].stringValue) + QLatin1Char('.') + *(yyvsp[0].stringValue) ); | ||
1760 | sqlParserDebug() << "OrderByColumnId: " << *(yyval.variantValue); | 1775 | sqlParserDebug() << "OrderByColumnId: " << *(yyval.variantValue); | ||
1761 | delete (yyvsp[-2].stringValue); | 1776 | delete (yyvsp[-2].stringValue); | ||
1762 | delete (yyvsp[0].stringValue); | 1777 | delete (yyvsp[0].stringValue); | ||
1763 | } | 1778 | } | ||
1764 | #line 1765 "sqlparser.cpp" /* yacc.c:1646 */ | 1779 | #line 1780 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1765 | break; | 1780 | break; | ||
1766 | 1781 | | |||
1767 | case 26: | 1782 | case 26: | ||
1768 | #line 840 "KDbSqlParser.y" /* yacc.c:1646 */ | 1783 | #line 841 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1769 | { | 1784 | { | ||
1770 | (yyval.variantValue) = new QVariant((yyvsp[0].integerValue)); | 1785 | (yyval.variantValue) = new QVariant((yyvsp[0].integerValue)); | ||
1771 | sqlParserDebug() << "OrderByColumnId: " << *(yyval.variantValue); | 1786 | sqlParserDebug() << "OrderByColumnId: " << *(yyval.variantValue); | ||
1772 | } | 1787 | } | ||
1773 | #line 1774 "sqlparser.cpp" /* yacc.c:1646 */ | 1788 | #line 1789 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1774 | break; | 1789 | break; | ||
1775 | 1790 | | |||
1776 | case 27: | 1791 | case 27: | ||
1777 | #line 847 "KDbSqlParser.y" /* yacc.c:1646 */ | 1792 | #line 848 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1778 | { | 1793 | { | ||
1779 | (yyval.sortOrderValue) = KDbOrderByColumn::SortOrder::Ascending; | 1794 | (yyval.sortOrderValue) = KDbOrderByColumn::SortOrder::Ascending; | ||
1780 | } | 1795 | } | ||
1781 | #line 1782 "sqlparser.cpp" /* yacc.c:1646 */ | 1796 | #line 1797 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1782 | break; | 1797 | break; | ||
1783 | 1798 | | |||
1784 | case 28: | 1799 | case 28: | ||
1785 | #line 851 "KDbSqlParser.y" /* yacc.c:1646 */ | 1800 | #line 852 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1786 | { | 1801 | { | ||
1787 | (yyval.sortOrderValue) = KDbOrderByColumn::SortOrder::Descending; | 1802 | (yyval.sortOrderValue) = KDbOrderByColumn::SortOrder::Descending; | ||
1788 | } | 1803 | } | ||
1789 | #line 1790 "sqlparser.cpp" /* yacc.c:1646 */ | 1804 | #line 1805 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1790 | break; | 1805 | break; | ||
1791 | 1806 | | |||
1792 | case 30: | 1807 | case 30: | ||
1793 | #line 863 "KDbSqlParser.y" /* yacc.c:1646 */ | 1808 | #line 864 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1794 | { | 1809 | { | ||
1795 | // sqlParserDebug() << "AND " << $3.debugString(); | 1810 | // sqlParserDebug() << "AND " << $3.debugString(); | ||
1796 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::AND, *(yyvsp[0].expr)); | 1811 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::AND, *(yyvsp[0].expr)); | ||
1797 | delete (yyvsp[-2].expr); | 1812 | delete (yyvsp[-2].expr); | ||
1798 | delete (yyvsp[0].expr); | 1813 | delete (yyvsp[0].expr); | ||
1799 | } | 1814 | } | ||
1800 | #line 1801 "sqlparser.cpp" /* yacc.c:1646 */ | 1815 | #line 1816 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1801 | break; | 1816 | break; | ||
1802 | 1817 | | |||
1803 | case 31: | 1818 | case 31: | ||
1804 | #line 870 "KDbSqlParser.y" /* yacc.c:1646 */ | 1819 | #line 871 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1805 | { | 1820 | { | ||
1806 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::OR, *(yyvsp[0].expr)); | 1821 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::OR, *(yyvsp[0].expr)); | ||
1807 | delete (yyvsp[-2].expr); | 1822 | delete (yyvsp[-2].expr); | ||
1808 | delete (yyvsp[0].expr); | 1823 | delete (yyvsp[0].expr); | ||
1809 | } | 1824 | } | ||
1810 | #line 1811 "sqlparser.cpp" /* yacc.c:1646 */ | 1825 | #line 1826 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1811 | break; | 1826 | break; | ||
1812 | 1827 | | |||
1813 | case 32: | 1828 | case 32: | ||
1814 | #line 876 "KDbSqlParser.y" /* yacc.c:1646 */ | 1829 | #line 877 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1815 | { | 1830 | { | ||
1816 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::XOR, *(yyvsp[0].expr)); | 1831 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::XOR, *(yyvsp[0].expr)); | ||
1817 | delete (yyvsp[-2].expr); | 1832 | delete (yyvsp[-2].expr); | ||
1818 | delete (yyvsp[0].expr); | 1833 | delete (yyvsp[0].expr); | ||
1819 | } | 1834 | } | ||
1820 | #line 1821 "sqlparser.cpp" /* yacc.c:1646 */ | 1835 | #line 1836 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1821 | break; | 1836 | break; | ||
1822 | 1837 | | |||
1823 | case 34: | 1838 | case 34: | ||
1824 | #line 888 "KDbSqlParser.y" /* yacc.c:1646 */ | 1839 | #line 889 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1825 | { | 1840 | { | ||
1826 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '>', *(yyvsp[0].expr)); | 1841 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '>', *(yyvsp[0].expr)); | ||
1827 | delete (yyvsp[-2].expr); | 1842 | delete (yyvsp[-2].expr); | ||
1828 | delete (yyvsp[0].expr); | 1843 | delete (yyvsp[0].expr); | ||
1829 | } | 1844 | } | ||
1830 | #line 1831 "sqlparser.cpp" /* yacc.c:1646 */ | 1845 | #line 1846 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1831 | break; | 1846 | break; | ||
1832 | 1847 | | |||
1833 | case 35: | 1848 | case 35: | ||
1834 | #line 894 "KDbSqlParser.y" /* yacc.c:1646 */ | 1849 | #line 895 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1835 | { | 1850 | { | ||
1836 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::GREATER_OR_EQUAL, *(yyvsp[0].expr)); | 1851 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::GREATER_OR_EQUAL, *(yyvsp[0].expr)); | ||
1837 | delete (yyvsp[-2].expr); | 1852 | delete (yyvsp[-2].expr); | ||
1838 | delete (yyvsp[0].expr); | 1853 | delete (yyvsp[0].expr); | ||
1839 | } | 1854 | } | ||
1840 | #line 1841 "sqlparser.cpp" /* yacc.c:1646 */ | 1855 | #line 1856 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1841 | break; | 1856 | break; | ||
1842 | 1857 | | |||
1843 | case 36: | 1858 | case 36: | ||
1844 | #line 900 "KDbSqlParser.y" /* yacc.c:1646 */ | 1859 | #line 901 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1845 | { | 1860 | { | ||
1846 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '<', *(yyvsp[0].expr)); | 1861 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '<', *(yyvsp[0].expr)); | ||
1847 | delete (yyvsp[-2].expr); | 1862 | delete (yyvsp[-2].expr); | ||
1848 | delete (yyvsp[0].expr); | 1863 | delete (yyvsp[0].expr); | ||
1849 | } | 1864 | } | ||
1850 | #line 1851 "sqlparser.cpp" /* yacc.c:1646 */ | 1865 | #line 1866 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1851 | break; | 1866 | break; | ||
1852 | 1867 | | |||
1853 | case 37: | 1868 | case 37: | ||
1854 | #line 906 "KDbSqlParser.y" /* yacc.c:1646 */ | 1869 | #line 907 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1855 | { | 1870 | { | ||
1856 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::LESS_OR_EQUAL, *(yyvsp[0].expr)); | 1871 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::LESS_OR_EQUAL, *(yyvsp[0].expr)); | ||
1857 | delete (yyvsp[-2].expr); | 1872 | delete (yyvsp[-2].expr); | ||
1858 | delete (yyvsp[0].expr); | 1873 | delete (yyvsp[0].expr); | ||
1859 | } | 1874 | } | ||
1860 | #line 1861 "sqlparser.cpp" /* yacc.c:1646 */ | 1875 | #line 1876 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1861 | break; | 1876 | break; | ||
1862 | 1877 | | |||
1863 | case 38: | 1878 | case 38: | ||
1864 | #line 912 "KDbSqlParser.y" /* yacc.c:1646 */ | 1879 | #line 913 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1865 | { | 1880 | { | ||
1866 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '=', *(yyvsp[0].expr)); | 1881 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '=', *(yyvsp[0].expr)); | ||
1867 | delete (yyvsp[-2].expr); | 1882 | delete (yyvsp[-2].expr); | ||
1868 | delete (yyvsp[0].expr); | 1883 | delete (yyvsp[0].expr); | ||
1869 | } | 1884 | } | ||
1870 | #line 1871 "sqlparser.cpp" /* yacc.c:1646 */ | 1885 | #line 1886 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1871 | break; | 1886 | break; | ||
1872 | 1887 | | |||
1873 | case 40: | 1888 | case 40: | ||
1874 | #line 924 "KDbSqlParser.y" /* yacc.c:1646 */ | 1889 | #line 925 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1875 | { | 1890 | { | ||
1876 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::NOT_EQUAL, *(yyvsp[0].expr)); | 1891 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::NOT_EQUAL, *(yyvsp[0].expr)); | ||
1877 | delete (yyvsp[-2].expr); | 1892 | delete (yyvsp[-2].expr); | ||
1878 | delete (yyvsp[0].expr); | 1893 | delete (yyvsp[0].expr); | ||
1879 | } | 1894 | } | ||
1880 | #line 1881 "sqlparser.cpp" /* yacc.c:1646 */ | 1895 | #line 1896 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1881 | break; | 1896 | break; | ||
1882 | 1897 | | |||
1883 | case 41: | 1898 | case 41: | ||
1884 | #line 930 "KDbSqlParser.y" /* yacc.c:1646 */ | 1899 | #line 931 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1885 | { | 1900 | { | ||
1886 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::NOT_EQUAL2, *(yyvsp[0].expr)); | 1901 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::NOT_EQUAL2, *(yyvsp[0].expr)); | ||
1887 | delete (yyvsp[-2].expr); | 1902 | delete (yyvsp[-2].expr); | ||
1888 | delete (yyvsp[0].expr); | 1903 | delete (yyvsp[0].expr); | ||
1889 | } | 1904 | } | ||
1890 | #line 1891 "sqlparser.cpp" /* yacc.c:1646 */ | 1905 | #line 1906 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1891 | break; | 1906 | break; | ||
1892 | 1907 | | |||
1893 | case 42: | 1908 | case 42: | ||
1894 | #line 936 "KDbSqlParser.y" /* yacc.c:1646 */ | 1909 | #line 937 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1895 | { | 1910 | { | ||
1896 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::LIKE, *(yyvsp[0].expr)); | 1911 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::LIKE, *(yyvsp[0].expr)); | ||
1897 | delete (yyvsp[-2].expr); | 1912 | delete (yyvsp[-2].expr); | ||
1898 | delete (yyvsp[0].expr); | 1913 | delete (yyvsp[0].expr); | ||
1899 | } | 1914 | } | ||
1900 | #line 1901 "sqlparser.cpp" /* yacc.c:1646 */ | 1915 | #line 1916 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1901 | break; | 1916 | break; | ||
1902 | 1917 | | |||
1903 | case 43: | 1918 | case 43: | ||
1904 | #line 942 "KDbSqlParser.y" /* yacc.c:1646 */ | 1919 | #line 943 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1905 | { | 1920 | { | ||
1906 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::NOT_LIKE, *(yyvsp[0].expr)); | 1921 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::NOT_LIKE, *(yyvsp[0].expr)); | ||
1907 | delete (yyvsp[-2].expr); | 1922 | delete (yyvsp[-2].expr); | ||
1908 | delete (yyvsp[0].expr); | 1923 | delete (yyvsp[0].expr); | ||
1909 | } | 1924 | } | ||
1910 | #line 1911 "sqlparser.cpp" /* yacc.c:1646 */ | 1925 | #line 1926 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1911 | break; | 1926 | break; | ||
1912 | 1927 | | |||
1913 | case 44: | 1928 | case 44: | ||
1914 | #line 948 "KDbSqlParser.y" /* yacc.c:1646 */ | 1929 | #line 949 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1915 | { | 1930 | { | ||
1916 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::SQL_IN, *(yyvsp[0].expr)); | 1931 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::SQL_IN, *(yyvsp[0].expr)); | ||
1917 | delete (yyvsp[-2].expr); | 1932 | delete (yyvsp[-2].expr); | ||
1918 | delete (yyvsp[0].expr); | 1933 | delete (yyvsp[0].expr); | ||
1919 | } | 1934 | } | ||
1920 | #line 1921 "sqlparser.cpp" /* yacc.c:1646 */ | 1935 | #line 1936 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1921 | break; | 1936 | break; | ||
1922 | 1937 | | |||
1923 | case 45: | 1938 | case 45: | ||
1924 | #line 954 "KDbSqlParser.y" /* yacc.c:1646 */ | 1939 | #line 955 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1925 | { | 1940 | { | ||
1926 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::SIMILAR_TO, *(yyvsp[0].expr)); | 1941 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::SIMILAR_TO, *(yyvsp[0].expr)); | ||
1927 | delete (yyvsp[-2].expr); | 1942 | delete (yyvsp[-2].expr); | ||
1928 | delete (yyvsp[0].expr); | 1943 | delete (yyvsp[0].expr); | ||
1929 | } | 1944 | } | ||
1930 | #line 1931 "sqlparser.cpp" /* yacc.c:1646 */ | 1945 | #line 1946 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1931 | break; | 1946 | break; | ||
1932 | 1947 | | |||
1933 | case 46: | 1948 | case 46: | ||
1934 | #line 960 "KDbSqlParser.y" /* yacc.c:1646 */ | 1949 | #line 961 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1935 | { | 1950 | { | ||
1936 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::NOT_SIMILAR_TO, *(yyvsp[0].expr)); | 1951 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::NOT_SIMILAR_TO, *(yyvsp[0].expr)); | ||
1937 | delete (yyvsp[-2].expr); | 1952 | delete (yyvsp[-2].expr); | ||
1938 | delete (yyvsp[0].expr); | 1953 | delete (yyvsp[0].expr); | ||
1939 | } | 1954 | } | ||
1940 | #line 1941 "sqlparser.cpp" /* yacc.c:1646 */ | 1955 | #line 1956 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1941 | break; | 1956 | break; | ||
1942 | 1957 | | |||
1943 | case 47: | 1958 | case 47: | ||
1944 | #line 966 "KDbSqlParser.y" /* yacc.c:1646 */ | 1959 | #line 967 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1945 | { | 1960 | { | ||
1946 | (yyval.expr) = new KDbNArgExpression(KDb::RelationalExpression, KDbToken::BETWEEN_AND); | 1961 | (yyval.expr) = new KDbNArgExpression(KDb::RelationalExpression, KDbToken::BETWEEN_AND); | ||
1947 | (yyval.expr)->toNArg().append( *(yyvsp[-4].expr) ); | 1962 | (yyval.expr)->toNArg().append( *(yyvsp[-4].expr) ); | ||
1948 | (yyval.expr)->toNArg().append( *(yyvsp[-2].expr) ); | 1963 | (yyval.expr)->toNArg().append( *(yyvsp[-2].expr) ); | ||
1949 | (yyval.expr)->toNArg().append( *(yyvsp[0].expr) ); | 1964 | (yyval.expr)->toNArg().append( *(yyvsp[0].expr) ); | ||
1950 | delete (yyvsp[-4].expr); | 1965 | delete (yyvsp[-4].expr); | ||
1951 | delete (yyvsp[-2].expr); | 1966 | delete (yyvsp[-2].expr); | ||
1952 | delete (yyvsp[0].expr); | 1967 | delete (yyvsp[0].expr); | ||
1953 | } | 1968 | } | ||
1954 | #line 1955 "sqlparser.cpp" /* yacc.c:1646 */ | 1969 | #line 1970 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1955 | break; | 1970 | break; | ||
1956 | 1971 | | |||
1957 | case 48: | 1972 | case 48: | ||
1958 | #line 976 "KDbSqlParser.y" /* yacc.c:1646 */ | 1973 | #line 977 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1959 | { | 1974 | { | ||
1960 | (yyval.expr) = new KDbNArgExpression(KDb::RelationalExpression, KDbToken::NOT_BETWEEN_AND); | 1975 | (yyval.expr) = new KDbNArgExpression(KDb::RelationalExpression, KDbToken::NOT_BETWEEN_AND); | ||
1961 | (yyval.expr)->toNArg().append( *(yyvsp[-4].expr) ); | 1976 | (yyval.expr)->toNArg().append( *(yyvsp[-4].expr) ); | ||
1962 | (yyval.expr)->toNArg().append( *(yyvsp[-2].expr) ); | 1977 | (yyval.expr)->toNArg().append( *(yyvsp[-2].expr) ); | ||
1963 | (yyval.expr)->toNArg().append( *(yyvsp[0].expr) ); | 1978 | (yyval.expr)->toNArg().append( *(yyvsp[0].expr) ); | ||
1964 | delete (yyvsp[-4].expr); | 1979 | delete (yyvsp[-4].expr); | ||
1965 | delete (yyvsp[-2].expr); | 1980 | delete (yyvsp[-2].expr); | ||
1966 | delete (yyvsp[0].expr); | 1981 | delete (yyvsp[0].expr); | ||
1967 | } | 1982 | } | ||
1968 | #line 1969 "sqlparser.cpp" /* yacc.c:1646 */ | 1983 | #line 1984 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1969 | break; | 1984 | break; | ||
1970 | 1985 | | |||
1971 | case 50: | 1986 | case 50: | ||
1972 | #line 992 "KDbSqlParser.y" /* yacc.c:1646 */ | 1987 | #line 993 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1973 | { | 1988 | { | ||
1974 | (yyval.expr) = new KDbUnaryExpression( KDbToken::SQL_IS_NULL, *(yyvsp[-1].expr) ); | 1989 | (yyval.expr) = new KDbUnaryExpression( KDbToken::SQL_IS_NULL, *(yyvsp[-1].expr) ); | ||
1975 | delete (yyvsp[-1].expr); | 1990 | delete (yyvsp[-1].expr); | ||
1976 | } | 1991 | } | ||
1977 | #line 1978 "sqlparser.cpp" /* yacc.c:1646 */ | 1992 | #line 1993 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1978 | break; | 1993 | break; | ||
1979 | 1994 | | |||
1980 | case 51: | 1995 | case 51: | ||
1981 | #line 997 "KDbSqlParser.y" /* yacc.c:1646 */ | 1996 | #line 998 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1982 | { | 1997 | { | ||
1983 | (yyval.expr) = new KDbUnaryExpression( KDbToken::SQL_IS_NOT_NULL, *(yyvsp[-1].expr) ); | 1998 | (yyval.expr) = new KDbUnaryExpression( KDbToken::SQL_IS_NOT_NULL, *(yyvsp[-1].expr) ); | ||
1984 | delete (yyvsp[-1].expr); | 1999 | delete (yyvsp[-1].expr); | ||
1985 | } | 2000 | } | ||
1986 | #line 1987 "sqlparser.cpp" /* yacc.c:1646 */ | 2001 | #line 2002 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1987 | break; | 2002 | break; | ||
1988 | 2003 | | |||
1989 | case 53: | 2004 | case 53: | ||
1990 | #line 1008 "KDbSqlParser.y" /* yacc.c:1646 */ | 2005 | #line 1009 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
1991 | { | 2006 | { | ||
1992 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::BITWISE_SHIFT_LEFT, *(yyvsp[0].expr)); | 2007 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::BITWISE_SHIFT_LEFT, *(yyvsp[0].expr)); | ||
1993 | delete (yyvsp[-2].expr); | 2008 | delete (yyvsp[-2].expr); | ||
1994 | delete (yyvsp[0].expr); | 2009 | delete (yyvsp[0].expr); | ||
1995 | } | 2010 | } | ||
1996 | #line 1997 "sqlparser.cpp" /* yacc.c:1646 */ | 2011 | #line 2012 "sqlparser.cpp" /* yacc.c:1646 */ | ||
1997 | break; | 2012 | break; | ||
1998 | 2013 | | |||
1999 | case 54: | 2014 | case 54: | ||
2000 | #line 1014 "KDbSqlParser.y" /* yacc.c:1646 */ | 2015 | #line 1015 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2001 | { | 2016 | { | ||
2002 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::BITWISE_SHIFT_RIGHT, *(yyvsp[0].expr)); | 2017 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::BITWISE_SHIFT_RIGHT, *(yyvsp[0].expr)); | ||
2003 | delete (yyvsp[-2].expr); | 2018 | delete (yyvsp[-2].expr); | ||
2004 | delete (yyvsp[0].expr); | 2019 | delete (yyvsp[0].expr); | ||
2005 | } | 2020 | } | ||
2006 | #line 2007 "sqlparser.cpp" /* yacc.c:1646 */ | 2021 | #line 2022 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2007 | break; | 2022 | break; | ||
2008 | 2023 | | |||
2009 | case 56: | 2024 | case 56: | ||
2010 | #line 1026 "KDbSqlParser.y" /* yacc.c:1646 */ | 2025 | #line 1027 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2011 | { | 2026 | { | ||
2012 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '+', *(yyvsp[0].expr)); | 2027 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '+', *(yyvsp[0].expr)); | ||
2013 | delete (yyvsp[-2].expr); | 2028 | delete (yyvsp[-2].expr); | ||
2014 | delete (yyvsp[0].expr); | 2029 | delete (yyvsp[0].expr); | ||
2015 | } | 2030 | } | ||
2016 | #line 2017 "sqlparser.cpp" /* yacc.c:1646 */ | 2031 | #line 2032 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2017 | break; | 2032 | break; | ||
2018 | 2033 | | |||
2019 | case 57: | 2034 | case 57: | ||
2020 | #line 1032 "KDbSqlParser.y" /* yacc.c:1646 */ | 2035 | #line 1033 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2021 | { | 2036 | { | ||
2022 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::CONCATENATION, *(yyvsp[0].expr)); | 2037 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), KDbToken::CONCATENATION, *(yyvsp[0].expr)); | ||
2023 | delete (yyvsp[-2].expr); | 2038 | delete (yyvsp[-2].expr); | ||
2024 | delete (yyvsp[0].expr); | 2039 | delete (yyvsp[0].expr); | ||
2025 | } | 2040 | } | ||
2026 | #line 2027 "sqlparser.cpp" /* yacc.c:1646 */ | 2041 | #line 2042 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2027 | break; | 2042 | break; | ||
2028 | 2043 | | |||
2029 | case 58: | 2044 | case 58: | ||
2030 | #line 1038 "KDbSqlParser.y" /* yacc.c:1646 */ | 2045 | #line 1039 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2031 | { | 2046 | { | ||
2032 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '-', *(yyvsp[0].expr)); | 2047 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '-', *(yyvsp[0].expr)); | ||
2033 | delete (yyvsp[-2].expr); | 2048 | delete (yyvsp[-2].expr); | ||
2034 | delete (yyvsp[0].expr); | 2049 | delete (yyvsp[0].expr); | ||
2035 | } | 2050 | } | ||
2036 | #line 2037 "sqlparser.cpp" /* yacc.c:1646 */ | 2051 | #line 2052 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2037 | break; | 2052 | break; | ||
2038 | 2053 | | |||
2039 | case 59: | 2054 | case 59: | ||
2040 | #line 1044 "KDbSqlParser.y" /* yacc.c:1646 */ | 2055 | #line 1045 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2041 | { | 2056 | { | ||
2042 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '&', *(yyvsp[0].expr)); | 2057 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '&', *(yyvsp[0].expr)); | ||
2043 | delete (yyvsp[-2].expr); | 2058 | delete (yyvsp[-2].expr); | ||
2044 | delete (yyvsp[0].expr); | 2059 | delete (yyvsp[0].expr); | ||
2045 | } | 2060 | } | ||
2046 | #line 2047 "sqlparser.cpp" /* yacc.c:1646 */ | 2061 | #line 2062 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2047 | break; | 2062 | break; | ||
2048 | 2063 | | |||
2049 | case 60: | 2064 | case 60: | ||
2050 | #line 1050 "KDbSqlParser.y" /* yacc.c:1646 */ | 2065 | #line 1051 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2051 | { | 2066 | { | ||
2052 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '|', *(yyvsp[0].expr)); | 2067 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '|', *(yyvsp[0].expr)); | ||
2053 | delete (yyvsp[-2].expr); | 2068 | delete (yyvsp[-2].expr); | ||
2054 | delete (yyvsp[0].expr); | 2069 | delete (yyvsp[0].expr); | ||
2055 | } | 2070 | } | ||
2056 | #line 2057 "sqlparser.cpp" /* yacc.c:1646 */ | 2071 | #line 2072 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2057 | break; | 2072 | break; | ||
2058 | 2073 | | |||
2059 | case 62: | 2074 | case 62: | ||
2060 | #line 1062 "KDbSqlParser.y" /* yacc.c:1646 */ | 2075 | #line 1063 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2061 | { | 2076 | { | ||
2062 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '/', *(yyvsp[0].expr)); | 2077 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '/', *(yyvsp[0].expr)); | ||
2063 | delete (yyvsp[-2].expr); | 2078 | delete (yyvsp[-2].expr); | ||
2064 | delete (yyvsp[0].expr); | 2079 | delete (yyvsp[0].expr); | ||
2065 | } | 2080 | } | ||
2066 | #line 2067 "sqlparser.cpp" /* yacc.c:1646 */ | 2081 | #line 2082 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2067 | break; | 2082 | break; | ||
2068 | 2083 | | |||
2069 | case 63: | 2084 | case 63: | ||
2070 | #line 1068 "KDbSqlParser.y" /* yacc.c:1646 */ | 2085 | #line 1069 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2071 | { | 2086 | { | ||
2072 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '*', *(yyvsp[0].expr)); | 2087 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '*', *(yyvsp[0].expr)); | ||
2073 | delete (yyvsp[-2].expr); | 2088 | delete (yyvsp[-2].expr); | ||
2074 | delete (yyvsp[0].expr); | 2089 | delete (yyvsp[0].expr); | ||
2075 | } | 2090 | } | ||
2076 | #line 2077 "sqlparser.cpp" /* yacc.c:1646 */ | 2091 | #line 2092 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2077 | break; | 2092 | break; | ||
2078 | 2093 | | |||
2079 | case 64: | 2094 | case 64: | ||
2080 | #line 1074 "KDbSqlParser.y" /* yacc.c:1646 */ | 2095 | #line 1075 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2081 | { | 2096 | { | ||
2082 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '%', *(yyvsp[0].expr)); | 2097 | (yyval.expr) = new KDbBinaryExpression(*(yyvsp[-2].expr), '%', *(yyvsp[0].expr)); | ||
2083 | delete (yyvsp[-2].expr); | 2098 | delete (yyvsp[-2].expr); | ||
2084 | delete (yyvsp[0].expr); | 2099 | delete (yyvsp[0].expr); | ||
2085 | } | 2100 | } | ||
2086 | #line 2087 "sqlparser.cpp" /* yacc.c:1646 */ | 2101 | #line 2102 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2087 | break; | 2102 | break; | ||
2088 | 2103 | | |||
2089 | case 66: | 2104 | case 66: | ||
2090 | #line 1087 "KDbSqlParser.y" /* yacc.c:1646 */ | 2105 | #line 1088 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2091 | { | 2106 | { | ||
2092 | (yyval.expr) = new KDbUnaryExpression( '-', *(yyvsp[0].expr) ); | 2107 | (yyval.expr) = new KDbUnaryExpression( '-', *(yyvsp[0].expr) ); | ||
2093 | delete (yyvsp[0].expr); | 2108 | delete (yyvsp[0].expr); | ||
2094 | } | 2109 | } | ||
2095 | #line 2096 "sqlparser.cpp" /* yacc.c:1646 */ | 2110 | #line 2111 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2096 | break; | 2111 | break; | ||
2097 | 2112 | | |||
2098 | case 67: | 2113 | case 67: | ||
2099 | #line 1092 "KDbSqlParser.y" /* yacc.c:1646 */ | 2114 | #line 1093 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2100 | { | 2115 | { | ||
2101 | (yyval.expr) = new KDbUnaryExpression( '+', *(yyvsp[0].expr) ); | 2116 | (yyval.expr) = new KDbUnaryExpression( '+', *(yyvsp[0].expr) ); | ||
2102 | delete (yyvsp[0].expr); | 2117 | delete (yyvsp[0].expr); | ||
2103 | } | 2118 | } | ||
2104 | #line 2105 "sqlparser.cpp" /* yacc.c:1646 */ | 2119 | #line 2120 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2105 | break; | 2120 | break; | ||
2106 | 2121 | | |||
2107 | case 68: | 2122 | case 68: | ||
2108 | #line 1097 "KDbSqlParser.y" /* yacc.c:1646 */ | 2123 | #line 1098 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2109 | { | 2124 | { | ||
2110 | (yyval.expr) = new KDbUnaryExpression( '~', *(yyvsp[0].expr) ); | 2125 | (yyval.expr) = new KDbUnaryExpression( '~', *(yyvsp[0].expr) ); | ||
2111 | delete (yyvsp[0].expr); | 2126 | delete (yyvsp[0].expr); | ||
2112 | } | 2127 | } | ||
2113 | #line 2114 "sqlparser.cpp" /* yacc.c:1646 */ | 2128 | #line 2129 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2114 | break; | 2129 | break; | ||
2115 | 2130 | | |||
2116 | case 69: | 2131 | case 69: | ||
2117 | #line 1102 "KDbSqlParser.y" /* yacc.c:1646 */ | 2132 | #line 1103 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2118 | { | 2133 | { | ||
2119 | (yyval.expr) = new KDbUnaryExpression( KDbToken::NOT, *(yyvsp[0].expr) ); | 2134 | (yyval.expr) = new KDbUnaryExpression( KDbToken::NOT, *(yyvsp[0].expr) ); | ||
2120 | delete (yyvsp[0].expr); | 2135 | delete (yyvsp[0].expr); | ||
2121 | } | 2136 | } | ||
2122 | #line 2123 "sqlparser.cpp" /* yacc.c:1646 */ | 2137 | #line 2138 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2123 | break; | 2138 | break; | ||
2124 | 2139 | | |||
2125 | case 70: | 2140 | case 70: | ||
2126 | #line 1107 "KDbSqlParser.y" /* yacc.c:1646 */ | 2141 | #line 1108 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2127 | { | 2142 | { | ||
2128 | (yyval.expr) = new KDbVariableExpression( *(yyvsp[0].stringValue) ); | 2143 | (yyval.expr) = new KDbVariableExpression( *(yyvsp[0].stringValue) ); | ||
2129 | 2144 | | |||
2130 | //! @todo simplify this later if that's 'only one field name' expression | 2145 | //! @todo simplify this later if that's 'only one field name' expression | ||
2131 | sqlParserDebug() << " + identifier: " << *(yyvsp[0].stringValue); | 2146 | sqlParserDebug() << " + identifier: " << *(yyvsp[0].stringValue); | ||
2132 | delete (yyvsp[0].stringValue); | 2147 | delete (yyvsp[0].stringValue); | ||
2133 | } | 2148 | } | ||
2134 | #line 2135 "sqlparser.cpp" /* yacc.c:1646 */ | 2149 | #line 2150 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2135 | break; | 2150 | break; | ||
2136 | 2151 | | |||
2137 | case 71: | 2152 | case 71: | ||
2138 | #line 1115 "KDbSqlParser.y" /* yacc.c:1646 */ | 2153 | #line 1116 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2139 | { | 2154 | { | ||
2140 | (yyval.expr) = new KDbQueryParameterExpression( *(yyvsp[0].stringValue) ); | 2155 | (yyval.expr) = new KDbQueryParameterExpression( *(yyvsp[0].stringValue) ); | ||
2141 | sqlParserDebug() << " + query parameter:" << *(yyval.expr); | 2156 | sqlParserDebug() << " + query parameter:" << *(yyval.expr); | ||
2142 | delete (yyvsp[0].stringValue); | 2157 | delete (yyvsp[0].stringValue); | ||
2143 | } | 2158 | } | ||
2144 | #line 2145 "sqlparser.cpp" /* yacc.c:1646 */ | 2159 | #line 2160 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2145 | break; | 2160 | break; | ||
2146 | 2161 | | |||
2147 | case 72: | 2162 | case 72: | ||
2148 | #line 1121 "KDbSqlParser.y" /* yacc.c:1646 */ | 2163 | #line 1122 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2149 | { | 2164 | { | ||
2150 | sqlParserDebug() << " + function:" << *(yyvsp[-1].stringValue) << "(" << *(yyvsp[0].exprList) << ")"; | 2165 | sqlParserDebug() << " + function:" << *(yyvsp[-1].stringValue) << "(" << *(yyvsp[0].exprList) << ")"; | ||
2151 | (yyval.expr) = new KDbFunctionExpression(*(yyvsp[-1].stringValue), *(yyvsp[0].exprList)); | 2166 | (yyval.expr) = new KDbFunctionExpression(*(yyvsp[-1].stringValue), *(yyvsp[0].exprList)); | ||
2152 | delete (yyvsp[-1].stringValue); | 2167 | delete (yyvsp[-1].stringValue); | ||
2153 | delete (yyvsp[0].exprList); | 2168 | delete (yyvsp[0].exprList); | ||
2154 | } | 2169 | } | ||
2155 | #line 2156 "sqlparser.cpp" /* yacc.c:1646 */ | 2170 | #line 2171 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2156 | break; | 2171 | break; | ||
2157 | 2172 | | |||
2158 | case 73: | 2173 | case 73: | ||
2159 | #line 1129 "KDbSqlParser.y" /* yacc.c:1646 */ | 2174 | #line 1130 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2160 | { | 2175 | { | ||
2161 | (yyval.expr) = new KDbVariableExpression( *(yyvsp[-2].stringValue) + QLatin1Char('.') + *(yyvsp[0].stringValue) ); | 2176 | (yyval.expr) = new KDbVariableExpression( *(yyvsp[-2].stringValue) + QLatin1Char('.') + *(yyvsp[0].stringValue) ); | ||
2162 | sqlParserDebug() << " + identifier.identifier:" << *(yyvsp[-2].stringValue) << "." << *(yyvsp[0].stringValue); | 2177 | sqlParserDebug() << " + identifier.identifier:" << *(yyvsp[-2].stringValue) << "." << *(yyvsp[0].stringValue); | ||
2163 | delete (yyvsp[-2].stringValue); | 2178 | delete (yyvsp[-2].stringValue); | ||
2164 | delete (yyvsp[0].stringValue); | 2179 | delete (yyvsp[0].stringValue); | ||
2165 | } | 2180 | } | ||
2166 | #line 2167 "sqlparser.cpp" /* yacc.c:1646 */ | 2181 | #line 2182 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2167 | break; | 2182 | break; | ||
2168 | 2183 | | |||
2169 | case 74: | 2184 | case 74: | ||
2170 | #line 1136 "KDbSqlParser.y" /* yacc.c:1646 */ | 2185 | #line 1137 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2171 | { | 2186 | { | ||
2172 | (yyval.expr) = new KDbConstExpression( KDbToken::SQL_NULL, QVariant() ); | 2187 | (yyval.expr) = new KDbConstExpression( KDbToken::SQL_NULL, QVariant() ); | ||
2173 | sqlParserDebug() << " + NULL"; | 2188 | sqlParserDebug() << " + NULL"; | ||
2174 | // $$ = new KDbField(); | 2189 | // $$ = new KDbField(); | ||
2175 | //$$->setName(QString::null); | 2190 | //$$->setName(QString::null); | ||
2176 | } | 2191 | } | ||
2177 | #line 2178 "sqlparser.cpp" /* yacc.c:1646 */ | 2192 | #line 2193 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2178 | break; | 2193 | break; | ||
2179 | 2194 | | |||
2180 | case 75: | 2195 | case 75: | ||
2181 | #line 1143 "KDbSqlParser.y" /* yacc.c:1646 */ | 2196 | #line 1144 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2182 | { | 2197 | { | ||
2183 | (yyval.expr) = new KDbConstExpression( KDbToken::SQL_TRUE, true ); | 2198 | (yyval.expr) = new KDbConstExpression( KDbToken::SQL_TRUE, true ); | ||
2184 | } | 2199 | } | ||
2185 | #line 2186 "sqlparser.cpp" /* yacc.c:1646 */ | 2200 | #line 2201 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2186 | break; | 2201 | break; | ||
2187 | 2202 | | |||
2188 | case 76: | 2203 | case 76: | ||
2189 | #line 1147 "KDbSqlParser.y" /* yacc.c:1646 */ | 2204 | #line 1148 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2190 | { | 2205 | { | ||
2191 | (yyval.expr) = new KDbConstExpression( KDbToken::SQL_FALSE, false ); | 2206 | (yyval.expr) = new KDbConstExpression( KDbToken::SQL_FALSE, false ); | ||
2192 | } | 2207 | } | ||
2193 | #line 2194 "sqlparser.cpp" /* yacc.c:1646 */ | 2208 | #line 2209 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2194 | break; | 2209 | break; | ||
2195 | 2210 | | |||
2196 | case 77: | 2211 | case 77: | ||
2197 | #line 1151 "KDbSqlParser.y" /* yacc.c:1646 */ | 2212 | #line 1152 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2198 | { | 2213 | { | ||
2199 | (yyval.expr) = new KDbConstExpression( KDbToken::CHARACTER_STRING_LITERAL, *(yyvsp[0].stringValue) ); | 2214 | (yyval.expr) = new KDbConstExpression( KDbToken::CHARACTER_STRING_LITERAL, *(yyvsp[0].stringValue) ); | ||
2200 | sqlParserDebug() << " + constant " << (yyvsp[0].stringValue); | 2215 | sqlParserDebug() << " + constant " << (yyvsp[0].stringValue); | ||
2201 | delete (yyvsp[0].stringValue); | 2216 | delete (yyvsp[0].stringValue); | ||
2202 | } | 2217 | } | ||
2203 | #line 2204 "sqlparser.cpp" /* yacc.c:1646 */ | 2218 | #line 2219 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2204 | break; | 2219 | break; | ||
2205 | 2220 | | |||
2206 | case 78: | 2221 | case 78: | ||
2207 | #line 1157 "KDbSqlParser.y" /* yacc.c:1646 */ | 2222 | #line 1158 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2208 | { | 2223 | { | ||
2209 | QVariant val; | 2224 | QVariant val; | ||
2210 | if ((yyvsp[0].integerValue) <= INT_MAX && (yyvsp[0].integerValue) >= INT_MIN) | 2225 | if ((yyvsp[0].integerValue) <= INT_MAX && (yyvsp[0].integerValue) >= INT_MIN) | ||
2211 | val = (int)(yyvsp[0].integerValue); | 2226 | val = (int)(yyvsp[0].integerValue); | ||
2212 | else if ((yyvsp[0].integerValue) <= UINT_MAX && (yyvsp[0].integerValue) >= 0) | 2227 | else if ((yyvsp[0].integerValue) <= UINT_MAX && (yyvsp[0].integerValue) >= 0) | ||
2213 | val = (uint)(yyvsp[0].integerValue); | 2228 | val = (uint)(yyvsp[0].integerValue); | ||
2214 | else if ((yyvsp[0].integerValue) <= LLONG_MAX && (yyvsp[0].integerValue) >= LLONG_MIN) | 2229 | else if ((yyvsp[0].integerValue) <= LLONG_MAX && (yyvsp[0].integerValue) >= LLONG_MIN) | ||
2215 | val = (qint64)(yyvsp[0].integerValue); | 2230 | val = (qint64)(yyvsp[0].integerValue); | ||
2216 | 2231 | | |||
2217 | // if ($1 < ULLONG_MAX) | 2232 | // if ($1 < ULLONG_MAX) | ||
2218 | // val = (quint64)$1; | 2233 | // val = (quint64)$1; | ||
2219 | //! @todo ok? | 2234 | //! @todo ok? | ||
2220 | 2235 | | |||
2221 | (yyval.expr) = new KDbConstExpression( KDbToken::INTEGER_CONST, val ); | 2236 | (yyval.expr) = new KDbConstExpression( KDbToken::INTEGER_CONST, val ); | ||
2222 | sqlParserDebug() << " + int constant: " << val.toString(); | 2237 | sqlParserDebug() << " + int constant: " << val.toString(); | ||
2223 | } | 2238 | } | ||
2224 | #line 2225 "sqlparser.cpp" /* yacc.c:1646 */ | 2239 | #line 2240 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2225 | break; | 2240 | break; | ||
2226 | 2241 | | |||
2227 | case 79: | 2242 | case 79: | ||
2228 | #line 1174 "KDbSqlParser.y" /* yacc.c:1646 */ | 2243 | #line 1175 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2229 | { | 2244 | { | ||
2230 | (yyval.expr) = new KDbConstExpression( KDbToken::REAL_CONST, *(yyvsp[0].binaryValue) ); | 2245 | (yyval.expr) = new KDbConstExpression( KDbToken::REAL_CONST, *(yyvsp[0].binaryValue) ); | ||
2231 | sqlParserDebug() << " + real constant: " << *(yyvsp[0].binaryValue); | 2246 | sqlParserDebug() << " + real constant: " << *(yyvsp[0].binaryValue); | ||
2232 | delete (yyvsp[0].binaryValue); | 2247 | delete (yyvsp[0].binaryValue); | ||
2233 | } | 2248 | } | ||
2234 | #line 2235 "sqlparser.cpp" /* yacc.c:1646 */ | 2249 | #line 2250 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2235 | break; | 2250 | break; | ||
2236 | 2251 | | |||
2237 | case 80: | 2252 | case 80: | ||
2238 | #line 1180 "KDbSqlParser.y" /* yacc.c:1646 */ | 2253 | #line 1181 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2239 | { | 2254 | { | ||
2240 | (yyval.expr) = new KDbConstExpression(KDbToken::DATE_CONST, QVariant::fromValue(*(yyvsp[0].dateValue))); | 2255 | (yyval.expr) = new KDbConstExpression(KDbToken::DATE_CONST, QVariant::fromValue(*(yyvsp[0].dateValue))); | ||
2241 | sqlParserDebug() << " + date constant:" << *(yyvsp[0].dateValue); | 2256 | sqlParserDebug() << " + date constant:" << *(yyvsp[0].dateValue); | ||
2242 | delete (yyvsp[0].dateValue); | 2257 | delete (yyvsp[0].dateValue); | ||
2243 | } | 2258 | } | ||
2244 | #line 2245 "sqlparser.cpp" /* yacc.c:1646 */ | 2259 | #line 2260 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2245 | break; | 2260 | break; | ||
2246 | 2261 | | |||
2247 | case 81: | 2262 | case 81: | ||
2248 | #line 1186 "KDbSqlParser.y" /* yacc.c:1646 */ | 2263 | #line 1187 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2249 | { | 2264 | { | ||
2250 | (yyval.expr) = new KDbConstExpression(KDbToken::TIME_CONST, QVariant::fromValue(*(yyvsp[0].timeValue))); | 2265 | (yyval.expr) = new KDbConstExpression(KDbToken::TIME_CONST, QVariant::fromValue(*(yyvsp[0].timeValue))); | ||
2251 | sqlParserDebug() << " + time constant:" << *(yyvsp[0].timeValue); | 2266 | sqlParserDebug() << " + time constant:" << *(yyvsp[0].timeValue); | ||
2252 | delete (yyvsp[0].timeValue); | 2267 | delete (yyvsp[0].timeValue); | ||
2253 | } | 2268 | } | ||
2254 | #line 2255 "sqlparser.cpp" /* yacc.c:1646 */ | 2269 | #line 2270 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2255 | break; | 2270 | break; | ||
2256 | 2271 | | |||
2257 | case 82: | 2272 | case 82: | ||
2258 | #line 1192 "KDbSqlParser.y" /* yacc.c:1646 */ | 2273 | #line 1193 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2259 | { | 2274 | { | ||
2260 | (yyval.expr) = new KDbConstExpression(KDbToken::DATETIME_CONST, QVariant::fromValue(*(yyvsp[0].dateTimeValue))); | 2275 | (yyval.expr) = new KDbConstExpression(KDbToken::DATETIME_CONST, QVariant::fromValue(*(yyvsp[0].dateTimeValue))); | ||
2261 | sqlParserDebug() << " + datetime constant:" << *(yyvsp[0].dateTimeValue); | 2276 | sqlParserDebug() << " + datetime constant:" << *(yyvsp[0].dateTimeValue); | ||
2262 | delete (yyvsp[0].dateTimeValue); | 2277 | delete (yyvsp[0].dateTimeValue); | ||
2263 | } | 2278 | } | ||
2264 | #line 2265 "sqlparser.cpp" /* yacc.c:1646 */ | 2279 | #line 2280 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2265 | break; | 2280 | break; | ||
2266 | 2281 | | |||
2267 | case 84: | 2282 | case 86: | ||
2268 | #line 1203 "KDbSqlParser.y" /* yacc.c:1646 */ | 2283 | #line 1207 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2269 | { | 2284 | { | ||
2270 | (yyval.dateValue) = (yyvsp[-1].dateValue); | 2285 | (yyval.dateValue) = (yyvsp[-1].dateValue); | ||
2271 | sqlParserDebug() << "DateConst:" << *(yyval.dateValue); | 2286 | sqlParserDebug() << "DateConst:" << *(yyval.dateValue); | ||
2272 | } | 2287 | } | ||
2273 | #line 2274 "sqlparser.cpp" /* yacc.c:1646 */ | 2288 | #line 2289 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2274 | break; | 2289 | break; | ||
2275 | 2290 | | |||
2276 | case 85: | 2291 | case 87: | ||
2277 | #line 1211 "KDbSqlParser.y" /* yacc.c:1646 */ | 2292 | #line 1215 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2278 | { | 2293 | { | ||
2279 | (yyval.dateValue) = new KDbDate(*(yyvsp[-4].yearValue), *(yyvsp[-2].binaryValue), *(yyvsp[0].binaryValue)); | 2294 | (yyval.dateValue) = new KDbDate(*(yyvsp[-4].yearValue), *(yyvsp[-2].binaryValue), *(yyvsp[0].binaryValue)); | ||
2280 | sqlParserDebug() << "DateValue:" << *(yyval.dateValue); | 2295 | sqlParserDebug() << "DateValue:" << *(yyval.dateValue); | ||
2281 | delete (yyvsp[-4].yearValue); | 2296 | delete (yyvsp[-4].yearValue); | ||
2282 | delete (yyvsp[-2].binaryValue); | 2297 | delete (yyvsp[-2].binaryValue); | ||
2283 | delete (yyvsp[0].binaryValue); | 2298 | delete (yyvsp[0].binaryValue); | ||
2284 | } | 2299 | } | ||
2285 | #line 2286 "sqlparser.cpp" /* yacc.c:1646 */ | 2300 | #line 2301 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2286 | break; | 2301 | break; | ||
2287 | 2302 | | |||
2288 | case 86: | 2303 | case 88: | ||
2289 | #line 1219 "KDbSqlParser.y" /* yacc.c:1646 */ | 2304 | #line 1223 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2290 | { | 2305 | { | ||
2291 | (yyval.dateValue) = new KDbDate(*(yyvsp[0].yearValue), *(yyvsp[-4].binaryValue), *(yyvsp[-2].binaryValue)); | 2306 | (yyval.dateValue) = new KDbDate(*(yyvsp[0].yearValue), *(yyvsp[-4].binaryValue), *(yyvsp[-2].binaryValue)); | ||
2292 | sqlParserDebug() << "DateValue:" << *(yyval.dateValue); | 2307 | sqlParserDebug() << "DateValue:" << *(yyval.dateValue); | ||
2293 | delete (yyvsp[-4].binaryValue); | 2308 | delete (yyvsp[-4].binaryValue); | ||
2294 | delete (yyvsp[-2].binaryValue); | 2309 | delete (yyvsp[-2].binaryValue); | ||
2295 | delete (yyvsp[0].yearValue); | 2310 | delete (yyvsp[0].yearValue); | ||
2296 | } | 2311 | } | ||
2297 | #line 2298 "sqlparser.cpp" /* yacc.c:1646 */ | 2312 | #line 2313 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2298 | break; | 2313 | break; | ||
2299 | 2314 | | |||
2300 | case 87: | 2315 | case 89: | ||
2301 | #line 1230 "KDbSqlParser.y" /* yacc.c:1646 */ | 2316 | #line 1234 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2302 | { | 2317 | { | ||
2303 | (yyval.yearValue) = new KDbYear(KDbYear::Sign::None, *(yyvsp[0].binaryValue)); | 2318 | (yyval.yearValue) = new KDbYear(KDbYear::Sign::None, *(yyvsp[0].binaryValue)); | ||
2304 | sqlParserDebug() << "YearConst:" << *(yyval.yearValue); | 2319 | sqlParserDebug() << "YearConst:" << *(yyval.yearValue); | ||
2305 | delete (yyvsp[0].binaryValue); | 2320 | delete (yyvsp[0].binaryValue); | ||
2306 | } | 2321 | } | ||
2307 | #line 2308 "sqlparser.cpp" /* yacc.c:1646 */ | 2322 | #line 2323 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2308 | break; | 2323 | break; | ||
2309 | 2324 | | |||
2310 | case 88: | 2325 | case 90: | ||
2311 | #line 1236 "KDbSqlParser.y" /* yacc.c:1646 */ | 2326 | #line 1240 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2312 | { | 2327 | { | ||
2313 | (yyval.yearValue) = new KDbYear(KDbYear::Sign::Plus, *(yyvsp[0].binaryValue)); | 2328 | (yyval.yearValue) = new KDbYear(KDbYear::Sign::Plus, *(yyvsp[0].binaryValue)); | ||
2314 | sqlParserDebug() << "YearConst:" << *(yyval.yearValue); | 2329 | sqlParserDebug() << "YearConst:" << *(yyval.yearValue); | ||
2315 | delete (yyvsp[0].binaryValue); | 2330 | delete (yyvsp[0].binaryValue); | ||
2316 | } | 2331 | } | ||
2317 | #line 2318 "sqlparser.cpp" /* yacc.c:1646 */ | 2332 | #line 2333 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2318 | break; | 2333 | break; | ||
2319 | 2334 | | |||
2320 | case 89: | 2335 | case 91: | ||
2321 | #line 1242 "KDbSqlParser.y" /* yacc.c:1646 */ | 2336 | #line 1246 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2322 | { | 2337 | { | ||
2323 | (yyval.yearValue) = new KDbYear(KDbYear::Sign::Minus, *(yyvsp[0].binaryValue)); | 2338 | (yyval.yearValue) = new KDbYear(KDbYear::Sign::Minus, *(yyvsp[0].binaryValue)); | ||
2324 | sqlParserDebug() << "YearConst:" << *(yyval.yearValue); | 2339 | sqlParserDebug() << "YearConst:" << *(yyval.yearValue); | ||
2325 | delete (yyvsp[0].binaryValue); | 2340 | delete (yyvsp[0].binaryValue); | ||
2326 | } | 2341 | } | ||
2327 | #line 2328 "sqlparser.cpp" /* yacc.c:1646 */ | 2342 | #line 2343 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2328 | break; | 2343 | break; | ||
2329 | 2344 | | |||
2330 | case 90: | 2345 | case 92: | ||
2331 | #line 1251 "KDbSqlParser.y" /* yacc.c:1646 */ | 2346 | #line 1255 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2332 | { | 2347 | { | ||
2333 | (yyval.timeValue) = (yyvsp[-1].timeValue); | 2348 | (yyval.timeValue) = (yyvsp[-1].timeValue); | ||
2334 | sqlParserDebug() << "TimeConst:" << *(yyval.timeValue); | 2349 | sqlParserDebug() << "TimeConst:" << *(yyval.timeValue); | ||
2335 | } | 2350 | } | ||
2336 | #line 2337 "sqlparser.cpp" /* yacc.c:1646 */ | 2351 | #line 2352 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2337 | break; | 2352 | break; | ||
2338 | 2353 | | |||
2339 | case 91: | 2354 | case 93: | ||
2340 | #line 1259 "KDbSqlParser.y" /* yacc.c:1646 */ | 2355 | #line 1263 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2341 | { | 2356 | { | ||
2342 | (yyval.timeValue) = new KDbTime(*(yyvsp[-4].binaryValue), *(yyvsp[-2].binaryValue), {}, *(yyvsp[-1].binaryValue), (yyvsp[0].timePeriodValue)); | 2357 | (yyval.timeValue) = new KDbTime(*(yyvsp[-4].binaryValue), *(yyvsp[-2].binaryValue), {}, *(yyvsp[-1].binaryValue), (yyvsp[0].timePeriodValue)); | ||
2343 | sqlParserDebug() << "TimeValue:" << *(yyval.timeValue); | 2358 | sqlParserDebug() << "TimeValue:" << *(yyval.timeValue); | ||
2344 | delete (yyvsp[-4].binaryValue); | 2359 | delete (yyvsp[-4].binaryValue); | ||
2345 | delete (yyvsp[-2].binaryValue); | 2360 | delete (yyvsp[-2].binaryValue); | ||
2346 | delete (yyvsp[-1].binaryValue); | 2361 | delete (yyvsp[-1].binaryValue); | ||
2347 | } | 2362 | } | ||
2348 | #line 2349 "sqlparser.cpp" /* yacc.c:1646 */ | 2363 | #line 2364 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2349 | break; | 2364 | break; | ||
2350 | 2365 | | |||
2351 | case 92: | 2366 | case 94: | ||
2352 | #line 1267 "KDbSqlParser.y" /* yacc.c:1646 */ | 2367 | #line 1271 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2353 | { | 2368 | { | ||
2354 | (yyval.timeValue) = new KDbTime(*(yyvsp[-6].binaryValue), *(yyvsp[-4].binaryValue), *(yyvsp[-2].binaryValue), *(yyvsp[-1].binaryValue), (yyvsp[0].timePeriodValue)); | 2369 | (yyval.timeValue) = new KDbTime(*(yyvsp[-6].binaryValue), *(yyvsp[-4].binaryValue), *(yyvsp[-2].binaryValue), *(yyvsp[-1].binaryValue), (yyvsp[0].timePeriodValue)); | ||
2355 | sqlParserDebug() << "TimeValue:" << *(yyval.timeValue); | 2370 | sqlParserDebug() << "TimeValue:" << *(yyval.timeValue); | ||
2356 | delete (yyvsp[-6].binaryValue); | 2371 | delete (yyvsp[-6].binaryValue); | ||
2357 | delete (yyvsp[-4].binaryValue); | 2372 | delete (yyvsp[-4].binaryValue); | ||
2358 | delete (yyvsp[-2].binaryValue); | 2373 | delete (yyvsp[-2].binaryValue); | ||
2359 | delete (yyvsp[-1].binaryValue); | 2374 | delete (yyvsp[-1].binaryValue); | ||
2360 | } | 2375 | } | ||
2361 | #line 2362 "sqlparser.cpp" /* yacc.c:1646 */ | 2376 | #line 2377 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2362 | break; | 2377 | break; | ||
2363 | 2378 | | |||
2364 | case 93: | 2379 | case 95: | ||
2365 | #line 1279 "KDbSqlParser.y" /* yacc.c:1646 */ | 2380 | #line 1283 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2366 | { | 2381 | { | ||
2367 | (yyval.binaryValue) = (yyvsp[0].binaryValue); | 2382 | (yyval.binaryValue) = (yyvsp[0].binaryValue); | ||
2368 | } | 2383 | } | ||
2369 | #line 2370 "sqlparser.cpp" /* yacc.c:1646 */ | 2384 | #line 2385 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2370 | break; | 2385 | break; | ||
2371 | 2386 | | |||
2372 | case 94: | 2387 | case 96: | ||
2373 | #line 1283 "KDbSqlParser.y" /* yacc.c:1646 */ | 2388 | #line 1287 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2374 | { | 2389 | { | ||
2375 | (yyval.binaryValue) = new QByteArray; | 2390 | (yyval.binaryValue) = new QByteArray; | ||
2376 | } | 2391 | } | ||
2377 | #line 2378 "sqlparser.cpp" /* yacc.c:1646 */ | 2392 | #line 2393 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2378 | break; | 2393 | break; | ||
2379 | 2394 | | |||
2380 | case 95: | 2395 | case 97: | ||
2381 | #line 1290 "KDbSqlParser.y" /* yacc.c:1646 */ | 2396 | #line 1294 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2382 | { | 2397 | { | ||
2383 | (yyval.timePeriodValue) = KDbTime::Period::Am; | 2398 | (yyval.timePeriodValue) = KDbTime::Period::Am; | ||
2384 | } | 2399 | } | ||
2385 | #line 2386 "sqlparser.cpp" /* yacc.c:1646 */ | 2400 | #line 2401 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2386 | break; | 2401 | break; | ||
2387 | 2402 | | |||
2388 | case 96: | 2403 | case 98: | ||
2389 | #line 1294 "KDbSqlParser.y" /* yacc.c:1646 */ | 2404 | #line 1298 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2390 | { | 2405 | { | ||
2391 | (yyval.timePeriodValue) = KDbTime::Period::Pm; | 2406 | (yyval.timePeriodValue) = KDbTime::Period::Pm; | ||
2392 | } | 2407 | } | ||
2393 | #line 2394 "sqlparser.cpp" /* yacc.c:1646 */ | 2408 | #line 2409 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2394 | break; | 2409 | break; | ||
2395 | 2410 | | |||
2396 | case 97: | 2411 | case 99: | ||
2397 | #line 1298 "KDbSqlParser.y" /* yacc.c:1646 */ | 2412 | #line 1302 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2398 | { | 2413 | { | ||
2399 | (yyval.timePeriodValue) = KDbTime::Period::None; | 2414 | (yyval.timePeriodValue) = KDbTime::Period::None; | ||
2400 | } | 2415 | } | ||
2401 | #line 2402 "sqlparser.cpp" /* yacc.c:1646 */ | 2416 | #line 2417 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2402 | break; | 2417 | break; | ||
2403 | 2418 | | |||
2404 | case 98: | 2419 | case 100: | ||
2405 | #line 1305 "KDbSqlParser.y" /* yacc.c:1646 */ | 2420 | #line 1309 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2406 | { | 2421 | { | ||
2407 | (yyval.dateTimeValue) = new KDbDateTime(*(yyvsp[-3].dateValue), *(yyvsp[-1].timeValue)); | 2422 | (yyval.dateTimeValue) = new KDbDateTime(*(yyvsp[-3].dateValue), *(yyvsp[-1].timeValue)); | ||
2408 | sqlParserDebug() << "DateTimeConst:" << *(yyval.dateTimeValue); | 2423 | sqlParserDebug() << "DateTimeConst:" << *(yyval.dateTimeValue); | ||
2409 | delete (yyvsp[-3].dateValue); | 2424 | delete (yyvsp[-3].dateValue); | ||
2410 | delete (yyvsp[-1].timeValue); | 2425 | delete (yyvsp[-1].timeValue); | ||
2411 | } | 2426 | } | ||
2412 | #line 2413 "sqlparser.cpp" /* yacc.c:1646 */ | 2427 | #line 2428 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2413 | break; | 2428 | break; | ||
2414 | 2429 | | |||
2415 | case 99: | 2430 | case 101: | ||
2416 | #line 1315 "KDbSqlParser.y" /* yacc.c:1646 */ | 2431 | #line 1319 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2417 | { | 2432 | { | ||
2418 | sqlParserDebug() << "(expr)"; | 2433 | sqlParserDebug() << "(expr)"; | ||
2419 | (yyval.expr) = new KDbUnaryExpression('(', *(yyvsp[-1].expr)); | 2434 | (yyval.expr) = new KDbUnaryExpression('(', *(yyvsp[-1].expr)); | ||
2420 | delete (yyvsp[-1].expr); | 2435 | delete (yyvsp[-1].expr); | ||
2421 | } | 2436 | } | ||
2422 | #line 2423 "sqlparser.cpp" /* yacc.c:1646 */ | 2437 | #line 2438 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2423 | break; | 2438 | break; | ||
2424 | 2439 | | |||
2425 | case 100: | 2440 | case 102: | ||
2426 | #line 1324 "KDbSqlParser.y" /* yacc.c:1646 */ | 2441 | #line 1328 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2427 | { | 2442 | { | ||
2428 | (yyval.exprList) = (yyvsp[-1].exprList); | 2443 | (yyval.exprList) = (yyvsp[-1].exprList); | ||
2429 | } | 2444 | } | ||
2430 | #line 2431 "sqlparser.cpp" /* yacc.c:1646 */ | 2445 | #line 2446 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2431 | break; | 2446 | break; | ||
2432 | 2447 | | |||
2433 | case 101: | 2448 | case 103: | ||
2434 | #line 1328 "KDbSqlParser.y" /* yacc.c:1646 */ | 2449 | #line 1332 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2435 | { | 2450 | { | ||
2436 | (yyval.exprList) = new KDbNArgExpression(KDb::ArgumentListExpression, ','); | 2451 | (yyval.exprList) = new KDbNArgExpression(KDb::ArgumentListExpression, ','); | ||
2437 | } | 2452 | } | ||
2438 | #line 2439 "sqlparser.cpp" /* yacc.c:1646 */ | 2453 | #line 2454 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2439 | break; | 2454 | break; | ||
2440 | 2455 | | |||
2441 | case 102: | 2456 | case 104: | ||
2442 | #line 1335 "KDbSqlParser.y" /* yacc.c:1646 */ | 2457 | #line 1339 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2443 | { | 2458 | { | ||
2444 | (yyval.exprList) = (yyvsp[0].exprList); | 2459 | (yyval.exprList) = (yyvsp[0].exprList); | ||
2445 | (yyval.exprList)->prepend( *(yyvsp[-2].expr) ); | 2460 | (yyval.exprList)->prepend( *(yyvsp[-2].expr) ); | ||
2446 | delete (yyvsp[-2].expr); | 2461 | delete (yyvsp[-2].expr); | ||
2447 | } | 2462 | } | ||
2448 | #line 2449 "sqlparser.cpp" /* yacc.c:1646 */ | 2463 | #line 2464 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2449 | break; | 2464 | break; | ||
2450 | 2465 | | |||
2451 | case 103: | 2466 | case 105: | ||
2452 | #line 1341 "KDbSqlParser.y" /* yacc.c:1646 */ | 2467 | #line 1345 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2453 | { | 2468 | { | ||
2454 | (yyval.exprList) = new KDbNArgExpression(KDb::ArgumentListExpression, ','); | 2469 | (yyval.exprList) = new KDbNArgExpression(KDb::ArgumentListExpression, ','); | ||
2455 | (yyval.exprList)->append( *(yyvsp[0].expr) ); | 2470 | (yyval.exprList)->append( *(yyvsp[0].expr) ); | ||
2456 | delete (yyvsp[0].expr); | 2471 | delete (yyvsp[0].expr); | ||
2457 | } | 2472 | } | ||
2458 | #line 2459 "sqlparser.cpp" /* yacc.c:1646 */ | 2473 | #line 2474 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2459 | break; | 2474 | break; | ||
2460 | 2475 | | |||
2461 | case 104: | 2476 | case 106: | ||
2462 | #line 1350 "KDbSqlParser.y" /* yacc.c:1646 */ | 2477 | #line 1354 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2463 | { | 2478 | { | ||
2464 | (yyval.exprList) = (yyvsp[0].exprList); | 2479 | (yyval.exprList) = (yyvsp[0].exprList); | ||
2465 | } | 2480 | } | ||
2466 | #line 2467 "sqlparser.cpp" /* yacc.c:1646 */ | 2481 | #line 2482 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2467 | break; | 2482 | break; | ||
2468 | 2483 | | |||
2469 | case 105: | 2484 | case 107: | ||
2470 | #line 1395 "KDbSqlParser.y" /* yacc.c:1646 */ | 2485 | #line 1399 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2471 | { | 2486 | { | ||
2472 | (yyval.exprList) = (yyvsp[-2].exprList); | 2487 | (yyval.exprList) = (yyvsp[-2].exprList); | ||
2473 | (yyval.exprList)->append(*(yyvsp[0].expr)); | 2488 | (yyval.exprList)->append(*(yyvsp[0].expr)); | ||
2474 | delete (yyvsp[0].expr); | 2489 | delete (yyvsp[0].expr); | ||
2475 | } | 2490 | } | ||
2476 | #line 2477 "sqlparser.cpp" /* yacc.c:1646 */ | 2491 | #line 2492 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2477 | break; | 2492 | break; | ||
2478 | 2493 | | |||
2479 | case 106: | 2494 | case 108: | ||
2480 | #line 1401 "KDbSqlParser.y" /* yacc.c:1646 */ | 2495 | #line 1405 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2481 | { | 2496 | { | ||
2482 | (yyval.exprList) = new KDbNArgExpression(KDb::TableListExpression, KDbToken::IDENTIFIER); //ok? | 2497 | (yyval.exprList) = new KDbNArgExpression(KDb::TableListExpression, KDbToken::UNQUOTED_IDENTIFIER); //ok? | ||
2483 | (yyval.exprList)->append(*(yyvsp[0].expr)); | 2498 | (yyval.exprList)->append(*(yyvsp[0].expr)); | ||
2484 | delete (yyvsp[0].expr); | 2499 | delete (yyvsp[0].expr); | ||
2485 | } | 2500 | } | ||
2486 | #line 2487 "sqlparser.cpp" /* yacc.c:1646 */ | 2501 | #line 2502 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2487 | break; | 2502 | break; | ||
2488 | 2503 | | |||
2489 | case 107: | 2504 | case 109: | ||
2490 | #line 1410 "KDbSqlParser.y" /* yacc.c:1646 */ | 2505 | #line 1414 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2491 | { | 2506 | { | ||
2492 | sqlParserDebug() << "FROM: '" << *(yyvsp[0].stringValue) << "'"; | 2507 | sqlParserDebug() << "FROM: '" << *(yyvsp[0].stringValue) << "'"; | ||
2493 | (yyval.expr) = new KDbVariableExpression(*(yyvsp[0].stringValue)); | 2508 | (yyval.expr) = new KDbVariableExpression(*(yyvsp[0].stringValue)); | ||
2494 | 2509 | | |||
2495 | //! @todo this isn't ok for more tables: | 2510 | //! @todo this isn't ok for more tables: | ||
2496 | /* | 2511 | /* | ||
2497 | KDbField::ListIterator it = globalParser->query()->fieldsIterator(); | 2512 | KDbField::ListIterator it = globalParser->query()->fieldsIterator(); | ||
2498 | for(KDbField *item; (item = it.current()); ++it) | 2513 | for(KDbField *item; (item = it.current()); ++it) | ||
Show All 11 Lines | 2524 | { | |||
2510 | KDbParserError err(KDbParser::tr("Field List Error"), KDbParser::tr("Unknown column '%1' in table '%2'",item->name(),schema->name()), ctoken, current); | 2525 | KDbParserError err(KDbParser::tr("Field List Error"), KDbParser::tr("Unknown column '%1' in table '%2'",item->name(),schema->name()), ctoken, current); | ||
2511 | globalParser->setError(err); | 2526 | globalParser->setError(err); | ||
2512 | yyerror("fieldlisterror"); | 2527 | yyerror("fieldlisterror"); | ||
2513 | } | 2528 | } | ||
2514 | } | 2529 | } | ||
2515 | }*/ | 2530 | }*/ | ||
2516 | delete (yyvsp[0].stringValue); | 2531 | delete (yyvsp[0].stringValue); | ||
2517 | } | 2532 | } | ||
2518 | #line 2519 "sqlparser.cpp" /* yacc.c:1646 */ | 2533 | #line 2534 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2519 | break; | 2534 | break; | ||
2520 | 2535 | | |||
2521 | case 108: | 2536 | case 110: | ||
2522 | #line 1438 "KDbSqlParser.y" /* yacc.c:1646 */ | 2537 | #line 1442 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2523 | { | 2538 | { | ||
2524 | //table + alias | 2539 | //table + alias | ||
2525 | (yyval.expr) = new KDbBinaryExpression( | 2540 | (yyval.expr) = new KDbBinaryExpression( | ||
2526 | KDbVariableExpression(*(yyvsp[-1].stringValue)), KDbToken::AS_EMPTY, | 2541 | KDbVariableExpression(*(yyvsp[-1].stringValue)), KDbToken::AS_EMPTY, | ||
2527 | KDbVariableExpression(*(yyvsp[0].stringValue)) | 2542 | KDbVariableExpression(*(yyvsp[0].stringValue)) | ||
2528 | ); | 2543 | ); | ||
2529 | delete (yyvsp[-1].stringValue); | 2544 | delete (yyvsp[-1].stringValue); | ||
2530 | delete (yyvsp[0].stringValue); | 2545 | delete (yyvsp[0].stringValue); | ||
2531 | } | 2546 | } | ||
2532 | #line 2533 "sqlparser.cpp" /* yacc.c:1646 */ | 2547 | #line 2548 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2533 | break; | 2548 | break; | ||
2534 | 2549 | | |||
2535 | case 109: | 2550 | case 111: | ||
2536 | #line 1448 "KDbSqlParser.y" /* yacc.c:1646 */ | 2551 | #line 1452 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2537 | { | 2552 | { | ||
2538 | //table + alias | 2553 | //table + alias | ||
2539 | (yyval.expr) = new KDbBinaryExpression( | 2554 | (yyval.expr) = new KDbBinaryExpression( | ||
2540 | KDbVariableExpression(*(yyvsp[-2].stringValue)), KDbToken::AS, | 2555 | KDbVariableExpression(*(yyvsp[-2].stringValue)), KDbToken::AS, | ||
2541 | KDbVariableExpression(*(yyvsp[0].stringValue)) | 2556 | KDbVariableExpression(*(yyvsp[0].stringValue)) | ||
2542 | ); | 2557 | ); | ||
2543 | delete (yyvsp[-2].stringValue); | 2558 | delete (yyvsp[-2].stringValue); | ||
2544 | delete (yyvsp[0].stringValue); | 2559 | delete (yyvsp[0].stringValue); | ||
2545 | } | 2560 | } | ||
2546 | #line 2547 "sqlparser.cpp" /* yacc.c:1646 */ | 2561 | #line 2562 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2547 | break; | 2562 | break; | ||
2548 | 2563 | | |||
2549 | case 110: | 2564 | case 112: | ||
2550 | #line 1463 "KDbSqlParser.y" /* yacc.c:1646 */ | 2565 | #line 1467 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2551 | { | 2566 | { | ||
2552 | (yyval.exprList) = (yyvsp[-2].exprList); | 2567 | (yyval.exprList) = (yyvsp[-2].exprList); | ||
2553 | (yyval.exprList)->append(*(yyvsp[0].expr)); | 2568 | (yyval.exprList)->append(*(yyvsp[0].expr)); | ||
2554 | delete (yyvsp[0].expr); | 2569 | delete (yyvsp[0].expr); | ||
2555 | sqlParserDebug() << "ColViews: ColViews , ColItem"; | 2570 | sqlParserDebug() << "ColViews: ColViews , ColItem"; | ||
2556 | } | 2571 | } | ||
2557 | #line 2558 "sqlparser.cpp" /* yacc.c:1646 */ | 2572 | #line 2573 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2558 | break; | 2573 | break; | ||
2559 | 2574 | | |||
2560 | case 111: | 2575 | case 113: | ||
2561 | #line 1470 "KDbSqlParser.y" /* yacc.c:1646 */ | 2576 | #line 1474 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2562 | { | 2577 | { | ||
2563 | (yyval.exprList) = new KDbNArgExpression(KDb::FieldListExpression, KDbToken()); | 2578 | (yyval.exprList) = new KDbNArgExpression(KDb::FieldListExpression, KDbToken()); | ||
2564 | (yyval.exprList)->append(*(yyvsp[0].expr)); | 2579 | (yyval.exprList)->append(*(yyvsp[0].expr)); | ||
2565 | delete (yyvsp[0].expr); | 2580 | delete (yyvsp[0].expr); | ||
2566 | sqlParserDebug() << "ColViews: ColItem"; | 2581 | sqlParserDebug() << "ColViews: ColItem"; | ||
2567 | } | 2582 | } | ||
2568 | #line 2569 "sqlparser.cpp" /* yacc.c:1646 */ | 2583 | #line 2584 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2569 | break; | 2584 | break; | ||
2570 | 2585 | | |||
2571 | case 112: | 2586 | case 114: | ||
2572 | #line 1480 "KDbSqlParser.y" /* yacc.c:1646 */ | 2587 | #line 1484 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2573 | { | 2588 | { | ||
2574 | // $$ = new KDbField(); | 2589 | // $$ = new KDbField(); | ||
2575 | // dummy->addField($$); | 2590 | // dummy->addField($$); | ||
2576 | // $$->setExpression( $1 ); | 2591 | // $$->setExpression( $1 ); | ||
2577 | // globalParser->query()->addField($$); | 2592 | // globalParser->query()->addField($$); | ||
2578 | (yyval.expr) = (yyvsp[0].expr); | 2593 | (yyval.expr) = (yyvsp[0].expr); | ||
2579 | sqlParserDebug() << " added column expr:" << *(yyvsp[0].expr); | 2594 | sqlParserDebug() << " added column expr:" << *(yyvsp[0].expr); | ||
2580 | } | 2595 | } | ||
2581 | #line 2582 "sqlparser.cpp" /* yacc.c:1646 */ | 2596 | #line 2597 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2582 | break; | 2597 | break; | ||
2583 | 2598 | | |||
2584 | case 113: | 2599 | case 115: | ||
2585 | #line 1489 "KDbSqlParser.y" /* yacc.c:1646 */ | 2600 | #line 1493 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2586 | { | 2601 | { | ||
2587 | (yyval.expr) = (yyvsp[0].expr); | 2602 | (yyval.expr) = (yyvsp[0].expr); | ||
2588 | sqlParserDebug() << " added column wildcard:" << *(yyvsp[0].expr); | 2603 | sqlParserDebug() << " added column wildcard:" << *(yyvsp[0].expr); | ||
2589 | } | 2604 | } | ||
2590 | #line 2591 "sqlparser.cpp" /* yacc.c:1646 */ | 2605 | #line 2606 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2591 | break; | 2606 | break; | ||
2592 | 2607 | | |||
2593 | case 114: | 2608 | case 116: | ||
2594 | #line 1494 "KDbSqlParser.y" /* yacc.c:1646 */ | 2609 | #line 1498 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2595 | { | 2610 | { | ||
2596 | (yyval.expr) = new KDbBinaryExpression( | 2611 | (yyval.expr) = new KDbBinaryExpression( | ||
2597 | *(yyvsp[-2].expr), KDbToken::AS, | 2612 | *(yyvsp[-2].expr), KDbToken::AS, | ||
2598 | KDbVariableExpression(*(yyvsp[0].stringValue)) | 2613 | KDbVariableExpression(*(yyvsp[0].stringValue)) | ||
2599 | ); | 2614 | ); | ||
2600 | sqlParserDebug() << " added column expr:" << *(yyval.expr); | 2615 | sqlParserDebug() << " added column expr:" << *(yyval.expr); | ||
2601 | delete (yyvsp[-2].expr); | 2616 | delete (yyvsp[-2].expr); | ||
2602 | delete (yyvsp[0].stringValue); | 2617 | delete (yyvsp[0].stringValue); | ||
2603 | } | 2618 | } | ||
2604 | #line 2605 "sqlparser.cpp" /* yacc.c:1646 */ | 2619 | #line 2620 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2605 | break; | 2620 | break; | ||
2606 | 2621 | | |||
2607 | case 115: | 2622 | case 117: | ||
2608 | #line 1504 "KDbSqlParser.y" /* yacc.c:1646 */ | 2623 | #line 1508 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2609 | { | 2624 | { | ||
2610 | (yyval.expr) = new KDbBinaryExpression( | 2625 | (yyval.expr) = new KDbBinaryExpression( | ||
2611 | *(yyvsp[-1].expr), KDbToken::AS_EMPTY, | 2626 | *(yyvsp[-1].expr), KDbToken::AS_EMPTY, | ||
2612 | KDbVariableExpression(*(yyvsp[0].stringValue)) | 2627 | KDbVariableExpression(*(yyvsp[0].stringValue)) | ||
2613 | ); | 2628 | ); | ||
2614 | sqlParserDebug() << " added column expr:" << *(yyval.expr); | 2629 | sqlParserDebug() << " added column expr:" << *(yyval.expr); | ||
2615 | delete (yyvsp[-1].expr); | 2630 | delete (yyvsp[-1].expr); | ||
2616 | delete (yyvsp[0].stringValue); | 2631 | delete (yyvsp[0].stringValue); | ||
2617 | } | 2632 | } | ||
2618 | #line 2619 "sqlparser.cpp" /* yacc.c:1646 */ | 2633 | #line 2634 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2619 | break; | 2634 | break; | ||
2620 | 2635 | | |||
2621 | case 116: | 2636 | case 118: | ||
2622 | #line 1517 "KDbSqlParser.y" /* yacc.c:1646 */ | 2637 | #line 1521 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2623 | { | 2638 | { | ||
2624 | (yyval.expr) = (yyvsp[0].expr); | 2639 | (yyval.expr) = (yyvsp[0].expr); | ||
2625 | } | 2640 | } | ||
2626 | #line 2627 "sqlparser.cpp" /* yacc.c:1646 */ | 2641 | #line 2642 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2627 | break; | 2642 | break; | ||
2628 | 2643 | | |||
2629 | case 117: | 2644 | case 119: | ||
2630 | #line 1563 "KDbSqlParser.y" /* yacc.c:1646 */ | 2645 | #line 1567 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2631 | { | 2646 | { | ||
2632 | (yyval.expr) = (yyvsp[-1].expr); | 2647 | (yyval.expr) = (yyvsp[-1].expr); | ||
2633 | //! @todo DISTINCT '(' ColExpression ')' | 2648 | //! @todo DISTINCT '(' ColExpression ')' | ||
2634 | // $$->setName("DISTINCT(" + $3->name() + ")"); | 2649 | // $$->setName("DISTINCT(" + $3->name() + ")"); | ||
2635 | } | 2650 | } | ||
2636 | #line 2637 "sqlparser.cpp" /* yacc.c:1646 */ | 2651 | #line 2652 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2637 | break; | 2652 | break; | ||
2638 | 2653 | | |||
2639 | case 118: | 2654 | case 120: | ||
2640 | #line 1572 "KDbSqlParser.y" /* yacc.c:1646 */ | 2655 | #line 1576 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2641 | { | 2656 | { | ||
2642 | (yyval.expr) = new KDbVariableExpression(QLatin1String("*")); | 2657 | (yyval.expr) = new KDbVariableExpression(QLatin1String("*")); | ||
2643 | sqlParserDebug() << "all columns"; | 2658 | sqlParserDebug() << "all columns"; | ||
2644 | 2659 | | |||
2645 | // KDbQueryAsterisk *ast = new KDbQueryAsterisk(globalParser->query(), dummy); | 2660 | // KDbQueryAsterisk *ast = new KDbQueryAsterisk(globalParser->query(), dummy); | ||
2646 | // globalParser->query()->addAsterisk(ast); | 2661 | // globalParser->query()->addAsterisk(ast); | ||
2647 | // requiresTable = true; | 2662 | // requiresTable = true; | ||
2648 | } | 2663 | } | ||
2649 | #line 2650 "sqlparser.cpp" /* yacc.c:1646 */ | 2664 | #line 2665 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2650 | break; | 2665 | break; | ||
2651 | 2666 | | |||
2652 | case 119: | 2667 | case 121: | ||
2653 | #line 1581 "KDbSqlParser.y" /* yacc.c:1646 */ | 2668 | #line 1585 "KDbSqlParser.y" /* yacc.c:1646 */ | ||
2654 | { | 2669 | { | ||
2655 | QString s( *(yyvsp[-2].stringValue) ); | 2670 | QString s( *(yyvsp[-2].stringValue) ); | ||
2656 | s += QLatin1String(".*"); | 2671 | s += QLatin1String(".*"); | ||
2657 | (yyval.expr) = new KDbVariableExpression(s); | 2672 | (yyval.expr) = new KDbVariableExpression(s); | ||
2658 | sqlParserDebug() << " + all columns from " << s; | 2673 | sqlParserDebug() << " + all columns from " << s; | ||
2659 | delete (yyvsp[-2].stringValue); | 2674 | delete (yyvsp[-2].stringValue); | ||
2660 | } | 2675 | } | ||
2661 | #line 2662 "sqlparser.cpp" /* yacc.c:1646 */ | 2676 | #line 2677 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2662 | break; | 2677 | break; | ||
2663 | 2678 | | |||
2664 | 2679 | | |||
2665 | #line 2666 "sqlparser.cpp" /* yacc.c:1646 */ | 2680 | #line 2681 "sqlparser.cpp" /* yacc.c:1646 */ | ||
2666 | default: break; | 2681 | default: break; | ||
2667 | } | 2682 | } | ||
2668 | /* User semantic actions sometimes alter yychar, and that requires | 2683 | /* User semantic actions sometimes alter yychar, and that requires | ||
2669 | that yytoken be updated with the new translation. We take the | 2684 | that yytoken be updated with the new translation. We take the | ||
2670 | approach of translating immediately before every use of yytoken. | 2685 | approach of translating immediately before every use of yytoken. | ||
2671 | One alternative is translating here after every semantic action, | 2686 | One alternative is translating here after every semantic action, | ||
2672 | but that translation would be missed if the semantic action invokes | 2687 | but that translation would be missed if the semantic action invokes | ||
2673 | YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or | 2688 | YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or | ||
▲ Show 20 Lines • Show All 211 Lines • ▼ Show 20 Line(s) | 2899 | if (yyss != yyssa) | |||
2885 | YYSTACK_FREE (yyss); | 2900 | YYSTACK_FREE (yyss); | ||
2886 | #endif | 2901 | #endif | ||
2887 | #if YYERROR_VERBOSE | 2902 | #if YYERROR_VERBOSE | ||
2888 | if (yymsg != yymsgbuf) | 2903 | if (yymsg != yymsgbuf) | ||
2889 | YYSTACK_FREE (yymsg); | 2904 | YYSTACK_FREE (yymsg); | ||
2890 | #endif | 2905 | #endif | ||
2891 | return yyresult; | 2906 | return yyresult; | ||
2892 | } | 2907 | } | ||
2893 | #line 1596 "KDbSqlParser.y" /* yacc.c:1906 */ | 2908 | #line 1600 "KDbSqlParser.y" /* yacc.c:1906 */ | ||
2894 | 2909 | | |||
2895 | 2910 | | |||
2896 | KDB_TESTING_EXPORT const char* g_tokenName(unsigned int offset) { | 2911 | KDB_TESTING_EXPORT const char* g_tokenName(unsigned int offset) { | ||
2897 | const int t = YYTRANSLATE(offset); | 2912 | const int t = YYTRANSLATE(offset); | ||
2898 | if (t >= YYTRANSLATE(::SQL_TYPE)) { | 2913 | if (t >= YYTRANSLATE(::SQL_TYPE)) { | ||
2899 | return yytname[t]; | 2914 | return yytname[t]; | ||
2900 | } | 2915 | } | ||
2901 | return nullptr; | 2916 | return nullptr; | ||
2902 | } | 2917 | } | ||
2903 | 2918 | | |||
2904 | //static | 2919 | //static | ||
2905 | const int KDbToken::maxCharTokenValue = 253; | 2920 | const int KDbToken::maxCharTokenValue = 253; | ||
2906 | 2921 | | |||
2907 | //static | 2922 | //static | ||
2908 | const int KDbToken::maxTokenValue = YYMAXUTOK; | 2923 | const int KDbToken::maxTokenValue = YYMAXUTOK; |