diff --git a/src/parser/KDbSqlScanner.l b/src/parser/KDbSqlScanner.l --- a/src/parser/KDbSqlScanner.l +++ b/src/parser/KDbSqlScanner.l @@ -152,11 +152,17 @@ # { ECOUNT; - sqlParserDebug() << "### begin DATE_OR_TIME" << yytext << "(" << yyleng << ")"; + sqlParserDebug() << "### end DATE_OR_TIME" << yytext << "(" << yyleng << ")"; BEGIN(DATE_OR_TIME_caller); return '#'; } +. { + sqlParserDebug() << "char: '" << yytext[0] << "'"; + ECOUNT; + return yytext[0]; +} + } /* -- end of DATE_OR_TIME --- */ @@ -370,7 +376,7 @@ ECOUNT; } -[\~\!\@\#\^\&\|\`\?,()\[\]\.;\:\+\-\*\/\%\^\<\>\=] { +. { sqlParserDebug() << "char: '" << yytext[0] << "'"; ECOUNT; return yytext[0]; diff --git a/src/parser/generated/sqlscanner.cpp b/src/parser/generated/sqlscanner.cpp --- a/src/parser/generated/sqlscanner.cpp +++ b/src/parser/generated/sqlscanner.cpp @@ -364,57 +364,57 @@ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 55 -#define YY_END_OF_BUFFER 56 +#define YY_NUM_RULES 56 +#define YY_END_OF_BUFFER 57 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info { flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[192] = +static yyconst flex_int16_t yy_accept[194] = { 0, - 0, 0, 0, 0, 56, 55, 53, 54, 55, 9, - 54, 54, 55, 54, 7, 54, 54, 54, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 54, 54, 12, 15, 10, 11, - 55, 55, 53, 2, 0, 50, 0, 16, 0, 50, - 0, 8, 8, 7, 51, 39, 4, 1, 3, 5, - 40, 51, 17, 51, 47, 51, 51, 51, 51, 6, - 32, 51, 51, 51, 51, 51, 36, 37, 51, 51, - 51, 51, 51, 51, 51, 0, 38, 12, 0, 0, - 11, 13, 14, 50, 50, 8, 16, 48, 51, 51, - - 51, 51, 51, 51, 0, 51, 51, 51, 31, 51, - 51, 51, 51, 51, 51, 51, 51, 41, 52, 51, - 51, 49, 51, 19, 51, 0, 21, 22, 23, 0, - 33, 51, 51, 51, 51, 51, 34, 51, 51, 51, - 35, 51, 0, 0, 0, 0, 0, 46, 42, 51, - 51, 44, 45, 51, 18, 51, 0, 0, 0, 0, - 0, 43, 51, 25, 20, 0, 30, 0, 0, 0, - 51, 0, 0, 24, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 29, 26, 0, 0, 0, 27, - 0 + 0, 0, 0, 0, 57, 55, 54, 54, 55, 55, + 9, 55, 55, 55, 7, 55, 55, 55, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 55, 55, 16, 12, 56, 15, + 10, 11, 16, 16, 54, 2, 0, 51, 0, 17, + 0, 51, 0, 8, 8, 7, 52, 40, 4, 1, + 3, 5, 41, 52, 18, 52, 48, 52, 52, 52, + 52, 6, 33, 52, 52, 52, 52, 52, 37, 38, + 52, 52, 52, 52, 52, 52, 52, 0, 39, 12, + 0, 0, 11, 13, 14, 51, 51, 8, 17, 49, + + 52, 52, 52, 52, 52, 52, 0, 52, 52, 52, + 32, 52, 52, 52, 52, 52, 52, 52, 52, 42, + 53, 52, 52, 50, 52, 20, 52, 0, 22, 23, + 24, 0, 34, 52, 52, 52, 52, 52, 35, 52, + 52, 52, 36, 52, 0, 0, 0, 0, 0, 47, + 43, 52, 52, 45, 46, 52, 19, 52, 0, 0, + 0, 0, 0, 44, 52, 26, 21, 0, 31, 0, + 0, 0, 52, 0, 0, 25, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 29, 30, 27, 0, 0, + 0, 28, 0 } ; static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 4, 5, 6, 1, 7, 8, 9, 7, - 7, 7, 10, 7, 10, 11, 10, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 10, 7, 13, - 14, 15, 7, 7, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 32, 37, 38, 39, 32, - 40, 41, 42, 7, 32, 7, 43, 44, 45, 46, - - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 32, 59, 60, 61, 62, 32, 63, 64, - 65, 32, 1, 66, 1, 7, 1, 1, 1, 1, + 1, 2, 4, 5, 6, 1, 1, 7, 8, 1, + 1, 1, 9, 1, 9, 10, 9, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 9, 1, 12, + 13, 14, 1, 1, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 31, 36, 37, 38, 31, + 39, 40, 41, 1, 31, 1, 42, 43, 44, 45, + + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 31, 58, 59, 60, 61, 31, 62, 63, + 64, 31, 1, 65, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -431,135 +431,135 @@ 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[67] = +static yyconst flex_int32_t yy_meta[66] = { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, - 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 3, 1, + 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1 + 2, 2, 2, 2, 1 } ; -static yyconst flex_int16_t yy_base[197] = +static yyconst flex_int16_t yy_base[199] = { 0, - 0, 0, 65, 66, 484, 515, 67, 469, 69, 515, - 515, 474, 64, 469, 68, 70, 466, 72, 77, 78, - 79, 80, 467, 83, 84, 90, 108, 118, 120, 110, - 140, 119, 91, 128, 0, 410, 134, 515, 515, 463, - 117, 118, 90, 515, 152, 469, 158, 515, 147, 464, - 157, 460, 459, 92, 459, 515, 515, 515, 515, 515, - 515, 163, 172, 159, 458, 175, 170, 157, 178, 186, - 199, 189, 185, 192, 194, 196, 457, 205, 203, 204, - 208, 215, 217, 223, 216, 425, 515, 240, 184, 209, - 454, 515, 515, 233, 232, 453, 453, 451, 243, 246, - - 249, 235, 233, 257, 263, 261, 265, 267, 282, 270, - 271, 285, 290, 288, 275, 296, 292, 446, 515, 300, - 298, 444, 302, 439, 312, 291, 438, 437, 436, 328, - 435, 317, 325, 345, 327, 321, 427, 346, 347, 353, - 335, 354, 309, 288, 332, 345, 347, 329, 294, 364, - 367, 237, 160, 366, 158, 369, 382, 360, 354, 365, - 364, 156, 393, 111, 104, 403, 515, 360, 383, 383, - 406, 375, 392, 515, 386, 418, 389, 404, 411, 399, - 404, 404, 402, 515, 515, 515, 439, 442, 406, 515, - 515, 503, 506, 509, 105, 512 + 0, 0, 64, 74, 487, 516, 66, 69, 473, 69, + 516, 478, 70, 472, 71, 74, 469, 77, 74, 82, + 83, 86, 471, 85, 102, 89, 103, 109, 124, 101, + 140, 145, 115, 113, 0, 415, 516, 165, 516, 516, + 516, 468, 112, 120, 95, 516, 131, 472, 135, 516, + 154, 467, 160, 463, 462, 162, 461, 516, 516, 516, + 516, 516, 516, 166, 168, 171, 460, 173, 181, 183, + 179, 186, 196, 178, 203, 192, 187, 200, 459, 206, + 194, 208, 222, 217, 219, 220, 227, 427, 516, 241, + 198, 211, 455, 516, 516, 250, 233, 454, 451, 450, + + 238, 247, 253, 235, 248, 259, 279, 267, 254, 274, + 289, 277, 291, 257, 294, 286, 298, 302, 301, 445, + 516, 306, 305, 444, 307, 443, 308, 306, 442, 440, + 382, 342, 336, 318, 309, 337, 345, 347, 332, 351, + 353, 354, 328, 364, 289, 334, 358, 355, 356, 317, + 276, 374, 376, 262, 148, 384, 144, 370, 329, 356, + 354, 364, 363, 138, 393, 104, 98, 417, 516, 360, + 392, 390, 421, 372, 396, 516, 395, 424, 403, 411, + 417, 406, 410, 409, 409, 516, 516, 516, 441, 444, + 420, 516, 516, 504, 507, 510, 101, 513 } ; -static yyconst flex_int16_t yy_def[197] = +static yyconst flex_int16_t yy_def[199] = { 0, - 191, 1, 192, 192, 191, 191, 191, 191, 193, 191, - 191, 191, 194, 191, 195, 191, 191, 191, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 196, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 193, 191, 193, 191, 194, 191, - 194, 191, 191, 195, 195, 191, 191, 191, 191, 191, - 191, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 196, 191, 191, 191, 191, - 191, 191, 191, 193, 194, 191, 195, 195, 195, 195, - - 195, 195, 195, 195, 191, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 191, 195, - 195, 195, 195, 195, 195, 191, 195, 195, 195, 191, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 191, 191, 191, 191, 191, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 191, 191, 191, 191, - 191, 195, 195, 195, 195, 191, 191, 191, 191, 191, - 195, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 0, 191, 191, 191, 191, 191 + 193, 1, 194, 194, 193, 193, 193, 193, 193, 195, + 193, 193, 196, 193, 197, 193, 193, 193, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 198, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 195, 193, 195, 193, + 196, 193, 196, 193, 193, 197, 197, 193, 193, 193, + 193, 193, 193, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 198, 193, 193, + 193, 193, 193, 193, 193, 195, 196, 193, 197, 197, + + 197, 197, 197, 197, 197, 197, 193, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 193, 197, 197, 197, 197, 197, 197, 193, 197, 197, + 197, 193, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 193, 193, 193, 193, 193, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 193, 193, + 193, 193, 193, 197, 197, 197, 197, 193, 193, 193, + 193, 193, 197, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 0, 193, 193, 193, 193, 193 } ; static yyconst flex_int16_t yy_nxt[582] = { 0, - 6, 7, 7, 8, 9, 10, 11, 12, 13, 11, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 23, 23, 25, 26, 23, 27, 23, 28, 29, - 23, 23, 30, 31, 32, 23, 33, 34, 23, 35, - 6, 11, 19, 20, 21, 22, 23, 24, 23, 23, - 25, 26, 23, 27, 23, 28, 29, 23, 30, 31, - 32, 23, 33, 34, 23, 36, 37, 37, 43, 43, - 38, 38, 50, 46, 39, 39, 40, 40, 53, 54, - 41, 41, 56, 57, 58, 60, 61, 191, 191, 191, - 191, 43, 43, 191, 191, 42, 42, 64, 68, 67, - - 191, 191, 53, 54, 51, 62, 55, 41, 41, 47, - 63, 66, 70, 84, 191, 69, 65, 71, 191, 72, - 191, 191, 42, 42, 64, 68, 67, 73, 191, 191, - 191, 74, 62, 79, 82, 88, 63, 66, 191, 70, - 84, 69, 65, 71, 92, 93, 72, 75, 77, 89, - 191, 83, 78, 76, 73, 50, 46, 85, 74, 80, - 79, 82, 94, 81, 90, 95, 191, 191, 191, 191, - 191, 92, 93, 191, 75, 77, 89, 83, 78, 76, - 191, 97, 191, 102, 85, 191, 80, 51, 191, 98, - 81, 90, 47, 99, 100, 191, 191, 51, 47, 191, - - 105, 105, 191, 101, 191, 107, 191, 103, 97, 191, - 102, 92, 106, 191, 191, 191, 98, 108, 191, 99, - 104, 100, 110, 111, 112, 191, 191, 191, 109, 101, - 113, 115, 107, 191, 103, 114, 93, 94, 92, 106, - 95, 88, 117, 191, 108, 191, 104, 191, 118, 110, - 111, 112, 116, 191, 109, 89, 191, 113, 115, 191, - 124, 121, 114, 93, 105, 105, 122, 191, 123, 117, - 90, 191, 51, 47, 118, 191, 125, 191, 116, 120, - 191, 191, 89, 130, 130, 191, 129, 124, 121, 127, - 132, 126, 191, 122, 123, 191, 131, 90, 191, 128, - - 191, 136, 191, 125, 191, 120, 191, 133, 191, 134, - 191, 135, 191, 129, 158, 137, 127, 132, 126, 139, - 143, 141, 191, 131, 138, 128, 144, 191, 136, 130, - 130, 191, 140, 142, 133, 191, 134, 191, 135, 191, - 152, 158, 137, 157, 145, 191, 139, 143, 141, 148, - 138, 159, 144, 151, 146, 191, 191, 191, 140, 149, - 142, 147, 150, 191, 191, 153, 154, 152, 160, 157, - 161, 145, 155, 156, 191, 148, 191, 191, 159, 191, - 151, 146, 163, 166, 166, 149, 167, 147, 168, 150, - 169, 170, 153, 154, 164, 160, 173, 161, 162, 155, - - 156, 165, 174, 191, 166, 166, 175, 176, 176, 163, - 177, 178, 179, 167, 168, 181, 191, 169, 170, 176, - 176, 164, 173, 182, 162, 171, 183, 165, 184, 174, - 185, 172, 186, 175, 187, 190, 177, 191, 178, 179, - 188, 188, 181, 188, 188, 191, 191, 191, 191, 191, - 182, 171, 180, 183, 191, 184, 191, 185, 172, 186, - 187, 191, 190, 191, 96, 91, 119, 191, 191, 191, - 96, 52, 49, 45, 91, 87, 189, 191, 180, 59, - 52, 48, 44, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - - 191, 191, 189, 6, 6, 6, 45, 45, 45, 49, - 49, 49, 86, 86, 5, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191 + 6, 7, 8, 9, 10, 11, 12, 13, 6, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 23, 23, 25, 26, 23, 27, 23, 28, 29, 23, + 23, 30, 31, 32, 23, 33, 34, 23, 35, 6, + 6, 19, 20, 21, 22, 23, 24, 23, 23, 25, + 26, 23, 27, 23, 28, 29, 23, 30, 31, 32, + 23, 33, 34, 23, 36, 38, 39, 45, 45, 40, + 45, 45, 41, 48, 42, 38, 39, 52, 43, 40, + 55, 56, 41, 193, 42, 58, 59, 60, 43, 62, + 63, 193, 193, 44, 193, 193, 45, 45, 193, 70, + + 66, 64, 57, 44, 69, 43, 65, 193, 49, 53, + 193, 193, 193, 193, 68, 43, 71, 74, 193, 67, + 44, 75, 193, 81, 193, 76, 70, 66, 64, 72, + 44, 69, 65, 193, 73, 48, 86, 77, 94, 96, + 68, 87, 71, 78, 74, 67, 95, 193, 75, 193, + 81, 79, 76, 193, 193, 80, 72, 193, 82, 84, + 73, 52, 83, 86, 77, 94, 90, 97, 87, 78, + 49, 55, 56, 95, 49, 193, 85, 193, 79, 91, + 193, 80, 193, 99, 100, 82, 84, 193, 193, 83, + 193, 102, 193, 53, 92, 193, 193, 107, 107, 53, + + 108, 193, 85, 193, 101, 193, 91, 105, 104, 193, + 99, 100, 193, 103, 114, 193, 110, 193, 102, 106, + 111, 92, 109, 113, 94, 112, 193, 108, 193, 193, + 101, 193, 117, 115, 105, 104, 193, 95, 119, 103, + 97, 114, 90, 110, 193, 106, 111, 193, 116, 109, + 113, 94, 112, 118, 96, 91, 193, 193, 120, 117, + 115, 123, 193, 193, 95, 119, 193, 125, 193, 124, + 92, 193, 53, 122, 126, 116, 193, 127, 135, 118, + 107, 107, 91, 193, 120, 193, 193, 130, 123, 49, + 132, 132, 131, 125, 129, 193, 124, 92, 193, 122, + + 193, 126, 133, 193, 127, 135, 128, 193, 137, 134, + 193, 193, 136, 130, 193, 193, 193, 193, 193, 131, + 139, 129, 159, 138, 141, 143, 193, 193, 144, 133, + 168, 168, 140, 128, 145, 137, 134, 193, 142, 136, + 146, 193, 151, 132, 132, 193, 193, 139, 159, 150, + 138, 141, 143, 152, 193, 144, 193, 147, 140, 160, + 193, 145, 193, 193, 142, 154, 146, 148, 151, 155, + 153, 156, 157, 193, 149, 150, 161, 162, 163, 193, + 152, 169, 158, 193, 147, 193, 160, 170, 171, 172, + 165, 193, 154, 193, 148, 175, 155, 153, 156, 157, + + 149, 167, 193, 161, 162, 163, 179, 164, 169, 158, + 176, 166, 177, 170, 180, 171, 172, 165, 168, 168, + 181, 175, 178, 178, 173, 178, 178, 167, 183, 184, + 193, 185, 179, 164, 186, 187, 188, 176, 166, 177, + 189, 180, 190, 190, 174, 190, 190, 181, 192, 193, + 173, 193, 193, 193, 193, 183, 184, 182, 185, 193, + 193, 186, 187, 188, 98, 93, 189, 121, 193, 193, + 193, 174, 98, 54, 51, 192, 47, 191, 93, 89, + 193, 61, 54, 182, 50, 46, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + + 193, 193, 193, 191, 37, 37, 37, 47, 47, 47, + 51, 51, 51, 88, 88, 5, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193 } ; static yyconst flex_int16_t yy_chk[582] = @@ -570,64 +570,64 @@ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 4, 7, 7, - 3, 4, 13, 9, 3, 4, 3, 4, 15, 15, - 3, 4, 16, 16, 16, 18, 18, 19, 20, 21, - 22, 43, 43, 24, 25, 3, 4, 20, 24, 22, - - 26, 33, 54, 54, 13, 19, 195, 3, 4, 9, - 19, 21, 25, 33, 165, 24, 20, 25, 27, 26, - 30, 164, 3, 4, 20, 24, 22, 27, 28, 32, - 29, 27, 19, 30, 32, 37, 19, 21, 34, 25, - 33, 24, 20, 25, 41, 42, 26, 28, 29, 37, - 31, 32, 29, 28, 27, 49, 45, 34, 27, 31, - 30, 32, 47, 31, 37, 51, 162, 68, 155, 64, - 153, 41, 42, 62, 28, 29, 37, 32, 29, 28, - 67, 62, 63, 68, 34, 66, 31, 49, 69, 63, - 31, 37, 45, 64, 66, 73, 70, 51, 47, 72, - - 71, 71, 74, 67, 75, 73, 76, 69, 62, 71, - 68, 89, 72, 79, 80, 78, 63, 74, 81, 64, - 70, 66, 76, 78, 79, 82, 85, 83, 75, 67, - 80, 82, 73, 84, 69, 81, 90, 94, 89, 72, - 95, 88, 84, 103, 74, 102, 70, 152, 85, 76, - 78, 79, 83, 99, 75, 88, 100, 80, 82, 101, - 103, 100, 81, 90, 105, 105, 101, 104, 102, 84, - 88, 106, 95, 94, 85, 107, 104, 108, 83, 99, - 110, 111, 88, 109, 109, 115, 108, 103, 100, 106, - 111, 105, 109, 101, 102, 112, 110, 88, 114, 107, - - 113, 115, 117, 104, 149, 99, 116, 112, 121, 113, - 120, 114, 123, 108, 144, 116, 106, 111, 105, 120, - 126, 123, 125, 110, 117, 107, 126, 132, 115, 130, - 130, 136, 121, 125, 112, 133, 113, 135, 114, 148, - 136, 144, 116, 143, 130, 141, 120, 126, 123, 132, - 117, 145, 126, 135, 130, 134, 138, 139, 121, 133, - 125, 130, 134, 140, 142, 138, 139, 136, 146, 143, - 147, 130, 140, 142, 150, 132, 154, 151, 145, 156, - 135, 130, 151, 157, 157, 133, 158, 130, 159, 134, - 160, 161, 138, 139, 154, 146, 168, 147, 150, 140, - - 142, 156, 169, 163, 166, 166, 170, 171, 171, 151, - 172, 173, 175, 158, 159, 177, 171, 160, 161, 176, - 176, 154, 168, 178, 150, 163, 179, 156, 180, 169, - 181, 166, 182, 170, 183, 189, 172, 137, 173, 175, - 187, 187, 177, 188, 188, 131, 129, 128, 127, 124, - 178, 163, 176, 179, 122, 180, 118, 181, 166, 182, - 183, 98, 189, 97, 96, 91, 86, 77, 65, 55, - 53, 52, 50, 46, 40, 36, 188, 23, 176, 17, - 14, 12, 8, 5, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 3, 3, 7, 7, 3, + 8, 8, 3, 10, 3, 4, 4, 13, 3, 4, + 15, 15, 4, 19, 4, 16, 16, 16, 4, 18, + 18, 20, 21, 3, 24, 22, 45, 45, 26, 24, + + 20, 19, 197, 4, 22, 3, 19, 167, 10, 13, + 30, 25, 27, 166, 21, 4, 24, 26, 28, 20, + 3, 27, 34, 30, 33, 27, 24, 20, 19, 25, + 4, 22, 19, 29, 25, 47, 33, 28, 43, 49, + 21, 34, 24, 28, 26, 20, 44, 164, 27, 31, + 30, 29, 27, 157, 32, 29, 25, 155, 31, 32, + 25, 51, 31, 33, 28, 43, 38, 53, 34, 28, + 47, 56, 56, 44, 49, 64, 32, 65, 29, 38, + 66, 29, 68, 64, 65, 31, 32, 74, 71, 31, + 69, 68, 70, 51, 38, 72, 77, 73, 73, 53, + + 74, 76, 32, 81, 66, 73, 38, 71, 70, 78, + 64, 65, 75, 69, 81, 80, 76, 82, 68, 72, + 77, 38, 75, 80, 91, 78, 84, 74, 85, 86, + 66, 83, 84, 82, 71, 70, 87, 92, 86, 69, + 97, 81, 90, 76, 104, 72, 77, 101, 83, 75, + 80, 91, 78, 85, 96, 90, 102, 105, 87, 84, + 82, 102, 103, 109, 92, 86, 114, 104, 106, 103, + 90, 154, 97, 101, 105, 83, 108, 106, 114, 85, + 107, 107, 90, 110, 87, 151, 112, 109, 102, 96, + 111, 111, 110, 104, 108, 116, 103, 90, 111, 101, + + 113, 105, 112, 115, 106, 114, 107, 117, 116, 113, + 119, 118, 115, 109, 123, 122, 125, 127, 135, 110, + 118, 108, 145, 117, 122, 125, 150, 134, 127, 112, + 159, 159, 119, 107, 128, 116, 113, 143, 123, 115, + 128, 139, 135, 132, 132, 133, 136, 118, 145, 134, + 117, 122, 125, 136, 137, 127, 138, 132, 119, 146, + 140, 128, 141, 142, 123, 138, 128, 132, 135, 140, + 137, 141, 142, 144, 132, 134, 147, 148, 149, 158, + 136, 160, 144, 152, 132, 153, 146, 161, 162, 163, + 153, 131, 138, 156, 132, 170, 140, 137, 141, 142, + + 132, 158, 165, 147, 148, 149, 174, 152, 160, 144, + 171, 156, 172, 161, 175, 162, 163, 153, 168, 168, + 177, 170, 173, 173, 165, 178, 178, 158, 179, 180, + 173, 181, 174, 152, 182, 183, 184, 171, 156, 172, + 185, 175, 189, 189, 168, 190, 190, 177, 191, 130, + 165, 129, 126, 124, 120, 179, 180, 178, 181, 100, + 99, 182, 183, 184, 98, 93, 185, 88, 79, 67, + 57, 168, 55, 54, 52, 191, 48, 190, 42, 36, + 23, 17, 14, 178, 12, 9, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 192, 192, 192, 193, 193, 193, 194, - 194, 194, 196, 196, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191 + 0, 0, 0, 190, 194, 194, 194, 195, 195, 195, + 196, 196, 196, 198, 198, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193 } ; static yy_state_type yy_last_accepting_state; @@ -926,13 +926,13 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 192 ) + if ( yy_current_state >= 194 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } - while ( yy_current_state != 191 ); + while ( yy_current_state != 193 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -1084,295 +1084,304 @@ #line 153 "KDbSqlScanner.l" { ECOUNT; - sqlParserDebug() << "### begin DATE_OR_TIME" << yytext << "(" << yyleng << ")"; + sqlParserDebug() << "### end DATE_OR_TIME" << yytext << "(" << yyleng << ")"; BEGIN(DATE_OR_TIME_caller); return '#'; } YY_BREAK - -/* -- end of DATE_OR_TIME --- */ case 16: YY_RULE_SETUP -#line 163 "KDbSqlScanner.l" +#line 160 "KDbSqlScanner.l" { + sqlParserDebug() << "char: '" << yytext[0] << "'"; ECOUNT; - return AND; + return yytext[0]; } YY_BREAK + +/* -- end of DATE_OR_TIME --- */ case 17: YY_RULE_SETUP -#line 168 "KDbSqlScanner.l" +#line 169 "KDbSqlScanner.l" { ECOUNT; - return AS; + return AND; } YY_BREAK case 18: YY_RULE_SETUP -#line 173 "KDbSqlScanner.l" +#line 174 "KDbSqlScanner.l" { ECOUNT; - return CREATE; + return AS; } YY_BREAK case 19: YY_RULE_SETUP -#line 178 "KDbSqlScanner.l" +#line 179 "KDbSqlScanner.l" { ECOUNT; - return FROM; + return CREATE; } YY_BREAK case 20: YY_RULE_SETUP -#line 183 "KDbSqlScanner.l" +#line 184 "KDbSqlScanner.l" { ECOUNT; - return SQL_TYPE; + return FROM; } YY_BREAK case 21: YY_RULE_SETUP -#line 188 "KDbSqlScanner.l" +#line 189 "KDbSqlScanner.l" { ECOUNT; - return JOIN; + return SQL_TYPE; } YY_BREAK case 22: YY_RULE_SETUP -#line 193 "KDbSqlScanner.l" +#line 194 "KDbSqlScanner.l" { ECOUNT; - return LEFT; + return JOIN; } YY_BREAK case 23: YY_RULE_SETUP -#line 198 "KDbSqlScanner.l" +#line 199 "KDbSqlScanner.l" { ECOUNT; - return LIKE; + return LEFT; } YY_BREAK case 24: -/* rule 24 can match eol */ YY_RULE_SETUP -#line 203 "KDbSqlScanner.l" +#line 204 "KDbSqlScanner.l" { ECOUNT; - return NOT_LIKE; + return LIKE; } YY_BREAK case 25: +/* rule 25 can match eol */ YY_RULE_SETUP -#line 208 "KDbSqlScanner.l" +#line 209 "KDbSqlScanner.l" { ECOUNT; - return BETWEEN; + return NOT_LIKE; } YY_BREAK case 26: -/* rule 26 can match eol */ YY_RULE_SETUP -#line 213 "KDbSqlScanner.l" +#line 214 "KDbSqlScanner.l" { ECOUNT; - return NOT_BETWEEN; + return BETWEEN; } YY_BREAK case 27: /* rule 27 can match eol */ YY_RULE_SETUP -#line 218 "KDbSqlScanner.l" +#line 219 "KDbSqlScanner.l" { ECOUNT; - return NOT_SIMILAR_TO; + return NOT_BETWEEN; } YY_BREAK case 28: /* rule 28 can match eol */ YY_RULE_SETUP -#line 223 "KDbSqlScanner.l" +#line 224 "KDbSqlScanner.l" { ECOUNT; - return SIMILAR_TO; + return NOT_SIMILAR_TO; } YY_BREAK case 29: /* rule 29 can match eol */ YY_RULE_SETUP -#line 228 "KDbSqlScanner.l" +#line 229 "KDbSqlScanner.l" { ECOUNT; - return SQL_IS_NOT_NULL; + return SIMILAR_TO; } YY_BREAK case 30: /* rule 30 can match eol */ YY_RULE_SETUP -#line 233 "KDbSqlScanner.l" +#line 234 "KDbSqlScanner.l" { ECOUNT; - return SQL_IS_NULL; + return SQL_IS_NOT_NULL; } YY_BREAK case 31: +/* rule 31 can match eol */ YY_RULE_SETUP -#line 238 "KDbSqlScanner.l" +#line 239 "KDbSqlScanner.l" { ECOUNT; - return NOT; + return SQL_IS_NULL; } YY_BREAK case 32: YY_RULE_SETUP -#line 243 "KDbSqlScanner.l" +#line 244 "KDbSqlScanner.l" { ECOUNT; - return SQL_IS; + return NOT; } YY_BREAK case 33: YY_RULE_SETUP -#line 248 "KDbSqlScanner.l" +#line 249 "KDbSqlScanner.l" { ECOUNT; - return SQL_NULL; + return SQL_IS; } YY_BREAK case 34: YY_RULE_SETUP -#line 253 "KDbSqlScanner.l" +#line 254 "KDbSqlScanner.l" +{ + ECOUNT; + return SQL_NULL; +} + YY_BREAK +case 35: +YY_RULE_SETUP +#line 259 "KDbSqlScanner.l" { ECOUNT; return SQL_TRUE; } YY_BREAK -case 35: +case 36: YY_RULE_SETUP -#line 258 "KDbSqlScanner.l" +#line 264 "KDbSqlScanner.l" { ECOUNT; return SQL_FALSE; } YY_BREAK -case 36: +case 37: YY_RULE_SETUP -#line 263 "KDbSqlScanner.l" +#line 269 "KDbSqlScanner.l" { ECOUNT; return SQL_ON; } YY_BREAK -case 37: +case 38: YY_RULE_SETUP -#line 268 "KDbSqlScanner.l" +#line 274 "KDbSqlScanner.l" { ECOUNT; return OR; } YY_BREAK -case 38: +case 39: YY_RULE_SETUP -#line 273 "KDbSqlScanner.l" +#line 279 "KDbSqlScanner.l" { /* also means OR for numbers (mysql) */ ECOUNT; return CONCATENATION; } YY_BREAK -case 39: +case 40: YY_RULE_SETUP -#line 278 "KDbSqlScanner.l" +#line 284 "KDbSqlScanner.l" { ECOUNT; return BITWISE_SHIFT_LEFT; } YY_BREAK -case 40: +case 41: YY_RULE_SETUP -#line 283 "KDbSqlScanner.l" +#line 289 "KDbSqlScanner.l" { ECOUNT; return BITWISE_SHIFT_RIGHT; } YY_BREAK -case 41: +case 42: YY_RULE_SETUP -#line 288 "KDbSqlScanner.l" +#line 294 "KDbSqlScanner.l" { ECOUNT; return XOR; } YY_BREAK -case 42: +case 43: YY_RULE_SETUP -#line 293 "KDbSqlScanner.l" +#line 299 "KDbSqlScanner.l" { ECOUNT; return RIGHT; } YY_BREAK -case 43: +case 44: YY_RULE_SETUP -#line 298 "KDbSqlScanner.l" +#line 304 "KDbSqlScanner.l" { ECOUNT; return SELECT; } YY_BREAK -case 44: +case 45: YY_RULE_SETUP -#line 303 "KDbSqlScanner.l" +#line 309 "KDbSqlScanner.l" { ECOUNT; return TABLE; } YY_BREAK -case 45: +case 46: YY_RULE_SETUP -#line 308 "KDbSqlScanner.l" +#line 314 "KDbSqlScanner.l" { ECOUNT; return WHERE; } YY_BREAK -case 46: +case 47: YY_RULE_SETUP -#line 313 "KDbSqlScanner.l" +#line 319 "KDbSqlScanner.l" { ECOUNT; return ORDER; } YY_BREAK -case 47: +case 48: YY_RULE_SETUP -#line 318 "KDbSqlScanner.l" +#line 324 "KDbSqlScanner.l" { ECOUNT; return BY; } YY_BREAK -case 48: +case 49: YY_RULE_SETUP -#line 323 "KDbSqlScanner.l" +#line 329 "KDbSqlScanner.l" { ECOUNT; return ASC; } YY_BREAK -case 49: +case 50: YY_RULE_SETUP -#line 328 "KDbSqlScanner.l" +#line 334 "KDbSqlScanner.l" { ECOUNT; return DESC; } YY_BREAK -case 50: -/* rule 50 can match eol */ +case 51: +/* rule 51 can match eol */ YY_RULE_SETUP -#line 333 "KDbSqlScanner.l" +#line 339 "KDbSqlScanner.l" { ECOUNT; sqlParserDebug() << "{string} yytext: '" << yytext << "' (" << yyleng << ")"; @@ -1390,9 +1399,9 @@ /* "ZZZ" sentinel for script */ } YY_BREAK -case 51: +case 52: YY_RULE_SETUP -#line 350 "KDbSqlScanner.l" +#line 356 "KDbSqlScanner.l" { sqlParserDebug() << "{identifier} yytext: '" << yytext << "' (" << yyleng << ")"; ECOUNT; @@ -1405,40 +1414,40 @@ return IDENTIFIER; } YY_BREAK -case 52: -/* rule 52 can match eol */ +case 53: +/* rule 53 can match eol */ YY_RULE_SETUP -#line 362 "KDbSqlScanner.l" +#line 368 "KDbSqlScanner.l" { sqlParserDebug() << "{query_parameter} yytext: '" << yytext << "' (" << yyleng << ")"; ECOUNT; yylval.stringValue = new QString(QString::fromUtf8(yytext+1, yyleng-2)); return QUERY_PARAMETER; } YY_BREAK -case 53: -/* rule 53 can match eol */ +case 54: +/* rule 54 can match eol */ YY_RULE_SETUP -#line 369 "KDbSqlScanner.l" +#line 375 "KDbSqlScanner.l" { ECOUNT; } YY_BREAK -case 54: +case 55: YY_RULE_SETUP -#line 373 "KDbSqlScanner.l" +#line 379 "KDbSqlScanner.l" { sqlParserDebug() << "char: '" << yytext[0] << "'"; ECOUNT; return yytext[0]; } YY_BREAK -case 55: +case 56: YY_RULE_SETUP -#line 379 "KDbSqlScanner.l" +#line 385 "KDbSqlScanner.l" ECHO; YY_BREAK -#line 1442 "generated/sqlscanner.cpp" +#line 1451 "generated/sqlscanner.cpp" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(DATE_OR_TIME): yyterminate(); @@ -1732,7 +1741,7 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 192 ) + if ( yy_current_state >= 194 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; @@ -1760,11 +1769,11 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 192 ) + if ( yy_current_state >= 194 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 191); + yy_is_jam = (yy_current_state == 193); return yy_is_jam ? 0 : yy_current_state; } @@ -2434,7 +2443,7 @@ #define YYTABLES_NAME "yytables" -#line 379 "KDbSqlScanner.l" +#line 385 "KDbSqlScanner.l"