diff --git a/sql/database.cc b/sql/database.cc index 623bd8bddbafc5..bb6b4567081a21 100644 --- a/sql/database.cc +++ b/sql/database.cc @@ -1663,8 +1663,8 @@ bool Database::OpenInternal(const std::string& file_name, OnSqliteError(err, nullptr, "PRAGMA auto_vacuum"); // Retry or bail out if the error handler poisoned the handle. - // TODO(shess): Move this handling to one place (see also sqlite3_open and - // secure_delete). Possibly a wrapper function? + // TODO(shess): Move this handling to one place (see also sqlite3_open). + // Possibly a wrapper function? if (poisoned_) { Close(); if (retry_flag == RETRY_ON_POISON) @@ -1715,13 +1715,8 @@ bool Database::OpenInternal(const std::string& file_name, ignore_result(ExecuteWithTimeout(cache_size_sql.c_str(), kBusyTimeout)); } - if (!ExecuteWithTimeout("PRAGMA secure_delete=ON", kBusyTimeout)) { - bool was_poisoned = poisoned_; - Close(); - if (was_poisoned && retry_flag == RETRY_ON_POISON) - return OpenInternal(file_name, NO_RETRY); - return false; - } + static_assert(SQLITE_SECURE_DELETE == 1, + "Chrome assumes secure_delete is on by default."); // Set a reasonable chunk size for larger files. This reduces churn from // remapping memory on size changes. It also reduces filesystem diff --git a/third_party/blink/web_tests/storage/websql/test-authorizer-expected.txt b/third_party/blink/web_tests/storage/websql/test-authorizer-expected.txt index e2cc54fa48c9a7..3b4a88f8ae663f 100644 --- a/third_party/blink/web_tests/storage/websql/test-authorizer-expected.txt +++ b/third_party/blink/web_tests/storage/websql/test-authorizer-expected.txt @@ -22,7 +22,7 @@ SQLITE_TRANSACTION statement failed: could not prepare statement (23 not authori SQLITE_ATTACH statement failed: could not prepare statement (23 not authorized) SQLITE_DETACH statement failed: could not prepare statement (23 not authorized) SQLITE_REINDEX statement failed: could not prepare statement (1 near "REINDEX": syntax error) -SQLITE_ANALYZE statement failed: could not prepare statement (23 not authorized) +SQLITE_ANALYZE statement failed: could not prepare statement (1 near "ANALYZE": syntax error) SQLITE_DROP_INDEX statement succeeded. SQLITE_DROP_TEMP_TABLE statement succeeded. SQLITE_DROP_TEMP_TRIGGER statement succeeded. @@ -61,7 +61,7 @@ SQLITE_TRANSACTION statement failed: could not prepare statement (23 not authori SQLITE_ATTACH statement failed: could not prepare statement (23 not authorized) SQLITE_DETACH statement failed: could not prepare statement (23 not authorized) SQLITE_REINDEX statement failed: could not prepare statement (1 near "REINDEX": syntax error) -SQLITE_ANALYZE statement failed: could not prepare statement (23 not authorized) +SQLITE_ANALYZE statement failed: could not prepare statement (1 near "ANALYZE": syntax error) SQLITE_DROP_INDEX statement failed: could not prepare statement (23 not authorized) SQLITE_DROP_TEMP_TABLE statement failed: could not prepare statement (23 not authorized) SQLITE_DROP_TEMP_TRIGGER statement failed: could not prepare statement (23 not authorized) diff --git a/third_party/sqlite/BUILD.gn b/third_party/sqlite/BUILD.gn index ca25b3b9251929..cbd700a8e72410 100644 --- a/third_party/sqlite/BUILD.gn +++ b/third_party/sqlite/BUILD.gn @@ -90,6 +90,17 @@ config("chromium_sqlite3_compile_options") { "SQLITE_OMIT_SHARED_CACHE", "SQLITE_USE_ALLOCA", + # Chrome doesn't use the ANALYZE SQLite extension. + # + # ANALYZE [1] is non-standard, and currently performs a table scan to + # update statistics used by the query planner. Chrome uses straightforward + # database schemas which do not require the level of fine tuning provided + # by ANALYZE, and we generally cannot afford the I/O cost of the required + # table scans. + # + # [1] https://www.sqlite.org/lang_analyze.html + "SQLITE_OMIT_ANALYZE", + # Chrome initializes SQLite manually in //sql/connection.cc. "SQLITE_OMIT_AUTOINIT", diff --git a/third_party/sqlite/amalgamation/sqlite3.c b/third_party/sqlite/amalgamation/sqlite3.c index 1e9f1a6e855581..f8273ff1633afa 100644 --- a/third_party/sqlite/amalgamation/sqlite3.c +++ b/third_party/sqlite/amalgamation/sqlite3.c @@ -146292,17 +146292,17 @@ typedef union { #define sqlite3ParserCTX_FETCH Parse *pParse=yypParser->pParse; #define sqlite3ParserCTX_STORE yypParser->pParse=pParse; #define YYFALLBACK 1 -#define YYNSTATE 486 -#define YYNRULE 336 +#define YYNSTATE 484 +#define YYNRULE 334 #define YYNTOKEN 146 -#define YY_MAX_SHIFT 485 -#define YY_MIN_SHIFTREDUCE 699 -#define YY_MAX_SHIFTREDUCE 1034 -#define YY_ERROR_ACTION 1035 -#define YY_ACCEPT_ACTION 1036 -#define YY_NO_ACTION 1037 -#define YY_MIN_REDUCE 1038 -#define YY_MAX_REDUCE 1373 +#define YY_MAX_SHIFT 483 +#define YY_MIN_SHIFTREDUCE 696 +#define YY_MAX_SHIFTREDUCE 1029 +#define YY_ERROR_ACTION 1030 +#define YY_ACCEPT_ACTION 1031 +#define YY_NO_ACTION 1032 +#define YY_MIN_REDUCE 1033 +#define YY_MAX_REDUCE 1366 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -146369,170 +146369,170 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (1618) +#define YY_ACTTAB_COUNT (1614) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 480, 1107, 1107, 97, 94, 182, 97, 94, 182, 1036, - /* 10 */ 1, 1, 485, 1038, 230, 230, 349, 450, 259, 1119, - /* 20 */ 119, 57, 57, 1296, 1102, 1081, 477, 1115, 827, 451, - /* 30 */ 477, 1165, 5, 1102, 215, 123, 828, 28, 12, 12, - /* 40 */ 305, 104, 105, 95, 1012, 1012, 891, 894, 884, 884, - /* 50 */ 102, 102, 103, 103, 103, 103, 462, 405, 1337, 236, - /* 60 */ 236, 236, 236, 237, 237, 452, 1076, 1318, 485, 1038, - /* 70 */ 1010, 477, 349, 477, 259, 477, 119, 212, 179, 81, - /* 80 */ 97, 94, 182, 1115, 192, 125, 101, 101, 101, 101, - /* 90 */ 100, 100, 99, 99, 99, 98, 380, 104, 105, 95, - /* 100 */ 1012, 1012, 891, 894, 884, 884, 102, 102, 103, 103, - /* 110 */ 103, 103, 382, 1010, 108, 236, 236, 347, 100, 100, - /* 120 */ 99, 99, 99, 98, 380, 106, 242, 477, 349, 101, - /* 130 */ 101, 101, 101, 100, 100, 99, 99, 99, 98, 380, - /* 140 */ 192, 380, 101, 101, 101, 101, 100, 100, 99, 99, - /* 150 */ 99, 98, 380, 104, 105, 95, 1012, 1012, 891, 894, - /* 160 */ 884, 884, 102, 102, 103, 103, 103, 103, 382, 99, - /* 170 */ 99, 99, 98, 380, 480, 398, 280, 204, 185, 66, - /* 180 */ 435, 432, 431, 991, 349, 175, 174, 1164, 211, 67, - /* 190 */ 430, 881, 881, 892, 895, 57, 57, 344, 101, 101, - /* 200 */ 101, 101, 100, 100, 99, 99, 99, 98, 380, 104, - /* 210 */ 105, 95, 1012, 1012, 891, 894, 884, 884, 102, 102, - /* 220 */ 103, 103, 103, 103, 1027, 991, 992, 993, 204, 871, - /* 230 */ 462, 435, 432, 431, 231, 345, 97, 94, 182, 461, - /* 240 */ 349, 430, 973, 1367, 294, 864, 1367, 98, 380, 863, - /* 250 */ 991, 885, 377, 376, 101, 101, 101, 101, 100, 100, - /* 260 */ 99, 99, 99, 98, 380, 104, 105, 95, 1012, 1012, - /* 270 */ 891, 894, 884, 884, 102, 102, 103, 103, 103, 103, - /* 280 */ 863, 863, 865, 480, 1196, 480, 258, 471, 97, 94, - /* 290 */ 182, 167, 991, 992, 993, 292, 349, 1019, 1009, 1019, - /* 300 */ 735, 853, 991, 336, 57, 57, 57, 57, 971, 142, + /* 0 */ 478, 1102, 1102, 97, 94, 182, 97, 94, 182, 1031, + /* 10 */ 1, 1, 483, 1033, 229, 229, 347, 448, 258, 1114, + /* 20 */ 119, 57, 57, 1291, 1097, 1076, 475, 1110, 824, 449, + /* 30 */ 475, 1160, 5, 1097, 214, 123, 825, 28, 12, 12, + /* 40 */ 303, 104, 105, 95, 1007, 1007, 888, 891, 881, 881, + /* 50 */ 102, 102, 103, 103, 103, 103, 460, 403, 1330, 235, + /* 60 */ 235, 235, 235, 236, 236, 450, 1071, 1311, 483, 1033, + /* 70 */ 1005, 475, 347, 475, 258, 475, 119, 211, 179, 81, + /* 80 */ 97, 94, 182, 1110, 191, 125, 101, 101, 101, 101, + /* 90 */ 100, 100, 99, 99, 99, 98, 378, 104, 105, 95, + /* 100 */ 1007, 1007, 888, 891, 881, 881, 102, 102, 103, 103, + /* 110 */ 103, 103, 380, 1005, 108, 235, 235, 345, 100, 100, + /* 120 */ 99, 99, 99, 98, 378, 106, 241, 475, 347, 101, + /* 130 */ 101, 101, 101, 100, 100, 99, 99, 99, 98, 378, + /* 140 */ 191, 378, 101, 101, 101, 101, 100, 100, 99, 99, + /* 150 */ 99, 98, 378, 104, 105, 95, 1007, 1007, 888, 891, + /* 160 */ 881, 881, 102, 102, 103, 103, 103, 103, 380, 99, + /* 170 */ 99, 99, 98, 378, 478, 396, 278, 203, 185, 66, + /* 180 */ 433, 430, 429, 986, 347, 175, 174, 1159, 210, 67, + /* 190 */ 428, 878, 878, 889, 892, 57, 57, 342, 101, 101, + /* 200 */ 101, 101, 100, 100, 99, 99, 99, 98, 378, 104, + /* 210 */ 105, 95, 1007, 1007, 888, 891, 881, 881, 102, 102, + /* 220 */ 103, 103, 103, 103, 1022, 986, 987, 988, 203, 868, + /* 230 */ 460, 433, 430, 429, 230, 343, 97, 94, 182, 459, + /* 240 */ 347, 428, 968, 1360, 292, 861, 1360, 98, 378, 860, + /* 250 */ 986, 882, 375, 374, 101, 101, 101, 101, 100, 100, + /* 260 */ 99, 99, 99, 98, 378, 104, 105, 95, 1007, 1007, + /* 270 */ 888, 891, 881, 881, 102, 102, 103, 103, 103, 103, + /* 280 */ 860, 860, 862, 478, 1191, 478, 257, 469, 97, 94, + /* 290 */ 182, 167, 986, 987, 988, 290, 347, 1014, 1004, 1014, + /* 300 */ 732, 850, 986, 334, 57, 57, 57, 57, 966, 142, /* 310 */ 101, 101, 101, 101, 100, 100, 99, 99, 99, 98, - /* 320 */ 380, 104, 105, 95, 1012, 1012, 891, 894, 884, 884, - /* 330 */ 102, 102, 103, 103, 103, 103, 480, 793, 279, 462, - /* 340 */ 1196, 457, 407, 480, 991, 992, 993, 1341, 441, 258, - /* 350 */ 471, 362, 349, 474, 474, 474, 728, 56, 56, 287, - /* 360 */ 338, 290, 142, 422, 57, 57, 101, 101, 101, 101, - /* 370 */ 100, 100, 99, 99, 99, 98, 380, 104, 105, 95, - /* 380 */ 1012, 1012, 891, 894, 884, 884, 102, 102, 103, 103, - /* 390 */ 103, 103, 236, 236, 272, 480, 353, 973, 1368, 375, - /* 400 */ 171, 1368, 258, 471, 477, 385, 991, 363, 349, 378, - /* 410 */ 378, 378, 872, 320, 932, 853, 57, 57, 87, 403, + /* 320 */ 378, 104, 105, 95, 1007, 1007, 888, 891, 881, 881, + /* 330 */ 102, 102, 103, 103, 103, 103, 478, 790, 277, 460, + /* 340 */ 1191, 455, 405, 478, 986, 987, 988, 1334, 439, 257, + /* 350 */ 469, 360, 347, 472, 472, 472, 725, 56, 56, 285, + /* 360 */ 336, 288, 142, 420, 57, 57, 101, 101, 101, 101, + /* 370 */ 100, 100, 99, 99, 99, 98, 378, 104, 105, 95, + /* 380 */ 1007, 1007, 888, 891, 881, 881, 102, 102, 103, 103, + /* 390 */ 103, 103, 235, 235, 270, 478, 351, 968, 1361, 373, + /* 400 */ 171, 1361, 257, 469, 475, 383, 986, 361, 347, 376, + /* 410 */ 376, 376, 869, 318, 929, 850, 57, 57, 87, 401, /* 420 */ 85, 149, 101, 101, 101, 101, 100, 100, 99, 99, - /* 430 */ 99, 98, 380, 104, 105, 95, 1012, 1012, 891, 894, - /* 440 */ 884, 884, 102, 102, 103, 103, 103, 103, 991, 992, - /* 450 */ 993, 379, 279, 393, 267, 479, 8, 383, 269, 358, - /* 460 */ 271, 167, 991, 971, 349, 937, 937, 419, 858, 327, - /* 470 */ 317, 416, 934, 341, 413, 265, 934, 163, 101, 101, - /* 480 */ 101, 101, 100, 100, 99, 99, 99, 98, 380, 104, - /* 490 */ 105, 95, 1012, 1012, 891, 894, 884, 884, 102, 102, - /* 500 */ 103, 103, 103, 103, 991, 992, 993, 236, 236, 417, - /* 510 */ 478, 480, 783, 783, 702, 703, 704, 398, 280, 477, - /* 520 */ 349, 166, 1105, 1105, 270, 266, 397, 207, 206, 205, - /* 530 */ 456, 277, 42, 42, 101, 101, 101, 101, 100, 100, - /* 540 */ 99, 99, 99, 98, 380, 104, 105, 95, 1012, 1012, - /* 550 */ 891, 894, 884, 884, 102, 102, 103, 103, 103, 103, - /* 560 */ 388, 180, 1265, 236, 236, 358, 480, 319, 333, 1032, - /* 570 */ 333, 972, 1369, 334, 257, 477, 349, 388, 387, 1265, - /* 580 */ 1267, 305, 305, 346, 1113, 1305, 1056, 43, 43, 444, + /* 430 */ 99, 98, 378, 104, 105, 95, 1007, 1007, 888, 891, + /* 440 */ 881, 881, 102, 102, 103, 103, 103, 103, 986, 987, + /* 450 */ 988, 377, 277, 391, 265, 477, 8, 381, 267, 356, + /* 460 */ 269, 167, 986, 966, 347, 934, 934, 417, 855, 325, + /* 470 */ 315, 414, 931, 339, 411, 263, 931, 163, 101, 101, + /* 480 */ 101, 101, 100, 100, 99, 99, 99, 98, 378, 104, + /* 490 */ 105, 95, 1007, 1007, 888, 891, 881, 881, 102, 102, + /* 500 */ 103, 103, 103, 103, 986, 987, 988, 235, 235, 415, + /* 510 */ 476, 478, 780, 780, 699, 700, 701, 396, 278, 475, + /* 520 */ 347, 166, 1100, 1100, 268, 264, 395, 206, 205, 204, + /* 530 */ 454, 275, 42, 42, 101, 101, 101, 101, 100, 100, + /* 540 */ 99, 99, 99, 98, 378, 104, 105, 95, 1007, 1007, + /* 550 */ 888, 891, 881, 881, 102, 102, 103, 103, 103, 103, + /* 560 */ 386, 180, 1260, 235, 235, 356, 478, 317, 331, 1027, + /* 570 */ 331, 967, 1362, 332, 256, 475, 347, 386, 385, 1260, + /* 580 */ 1262, 303, 303, 344, 1108, 1298, 1051, 43, 43, 442, /* 590 */ 101, 101, 101, 101, 100, 100, 99, 99, 99, 98, - /* 600 */ 380, 104, 105, 95, 1012, 1012, 891, 894, 884, 884, - /* 610 */ 102, 102, 103, 103, 103, 103, 236, 236, 236, 236, - /* 620 */ 405, 236, 236, 405, 788, 358, 127, 124, 477, 787, - /* 630 */ 477, 243, 349, 477, 1033, 422, 1033, 168, 422, 422, - /* 640 */ 447, 422, 388, 465, 1265, 83, 101, 101, 101, 101, - /* 650 */ 100, 100, 99, 99, 99, 98, 380, 104, 105, 95, - /* 660 */ 1012, 1012, 891, 894, 884, 884, 102, 102, 103, 103, - /* 670 */ 103, 103, 236, 236, 480, 236, 236, 1295, 480, 1196, - /* 680 */ 1261, 1114, 1196, 1110, 477, 384, 422, 477, 349, 246, - /* 690 */ 305, 244, 247, 995, 306, 11, 11, 411, 306, 33, + /* 600 */ 378, 104, 105, 95, 1007, 1007, 888, 891, 881, 881, + /* 610 */ 102, 102, 103, 103, 103, 103, 235, 235, 235, 235, + /* 620 */ 403, 235, 235, 403, 785, 356, 127, 124, 475, 784, + /* 630 */ 475, 242, 347, 475, 1028, 420, 1028, 168, 420, 420, + /* 640 */ 445, 420, 386, 463, 1260, 83, 101, 101, 101, 101, + /* 650 */ 100, 100, 99, 99, 99, 98, 378, 104, 105, 95, + /* 660 */ 1007, 1007, 888, 891, 881, 881, 102, 102, 103, 103, + /* 670 */ 103, 103, 235, 235, 478, 235, 235, 1290, 478, 1191, + /* 680 */ 1256, 1109, 1191, 1105, 475, 382, 420, 475, 347, 245, + /* 690 */ 303, 243, 246, 990, 304, 11, 11, 409, 304, 33, /* 700 */ 33, 86, 101, 101, 101, 101, 100, 100, 99, 99, - /* 710 */ 99, 98, 380, 104, 105, 95, 1012, 1012, 891, 894, - /* 720 */ 884, 884, 102, 102, 103, 103, 103, 103, 285, 480, - /* 730 */ 366, 480, 1302, 1196, 373, 126, 995, 1059, 355, 473, - /* 740 */ 355, 8, 258, 471, 349, 176, 364, 356, 143, 418, + /* 710 */ 99, 98, 378, 104, 105, 95, 1007, 1007, 888, 891, + /* 720 */ 881, 881, 102, 102, 103, 103, 103, 103, 283, 478, + /* 730 */ 364, 478, 1295, 1191, 371, 126, 990, 1054, 353, 471, + /* 740 */ 353, 8, 257, 469, 347, 176, 362, 354, 143, 416, /* 750 */ 44, 44, 45, 45, 103, 103, 103, 103, 101, 101, - /* 760 */ 101, 101, 100, 100, 99, 99, 99, 98, 380, 104, - /* 770 */ 93, 95, 1012, 1012, 891, 894, 884, 884, 102, 102, - /* 780 */ 103, 103, 103, 103, 480, 453, 480, 245, 101, 101, - /* 790 */ 101, 101, 100, 100, 99, 99, 99, 98, 380, 349, - /* 800 */ 374, 235, 179, 189, 208, 46, 46, 47, 47, 411, - /* 810 */ 411, 412, 80, 440, 101, 101, 101, 101, 100, 100, - /* 820 */ 99, 99, 99, 98, 380, 105, 95, 1012, 1012, 891, - /* 830 */ 894, 884, 884, 102, 102, 103, 103, 103, 103, 788, - /* 840 */ 1340, 480, 827, 758, 787, 968, 276, 261, 335, 80, - /* 850 */ 828, 748, 747, 349, 78, 371, 264, 157, 354, 122, - /* 860 */ 738, 1263, 48, 48, 13, 755, 756, 1150, 454, 101, - /* 870 */ 101, 101, 101, 100, 100, 99, 99, 99, 98, 380, - /* 880 */ 95, 1012, 1012, 891, 894, 884, 884, 102, 102, 103, - /* 890 */ 103, 103, 103, 90, 472, 991, 3, 724, 740, 278, - /* 900 */ 248, 714, 1149, 738, 399, 953, 191, 392, 812, 855, - /* 910 */ 475, 404, 214, 406, 214, 233, 214, 921, 812, 931, - /* 920 */ 954, 931, 749, 101, 101, 101, 101, 100, 100, 99, - /* 930 */ 99, 99, 98, 380, 381, 368, 955, 991, 992, 993, - /* 940 */ 724, 222, 239, 304, 438, 299, 437, 209, 469, 90, - /* 950 */ 472, 991, 3, 297, 436, 303, 22, 769, 142, 390, - /* 960 */ 921, 871, 158, 396, 750, 302, 475, 88, 88, 770, - /* 970 */ 409, 930, 238, 930, 89, 167, 381, 482, 481, 867, - /* 980 */ 480, 863, 4, 1308, 377, 376, 181, 348, 23, 914, - /* 990 */ 381, 1085, 1016, 991, 992, 993, 181, 1018, 258, 471, - /* 1000 */ 991, 34, 34, 369, 469, 1017, 273, 250, 731, 250, - /* 1010 */ 1284, 812, 863, 863, 865, 866, 19, 871, 1283, 400, - /* 1020 */ 991, 812, 867, 88, 88, 792, 1254, 414, 282, 1019, - /* 1030 */ 89, 1019, 381, 482, 481, 871, 467, 863, 1317, 981, - /* 1040 */ 240, 850, 991, 992, 993, 331, 331, 330, 225, 328, - /* 1050 */ 731, 864, 711, 410, 1146, 863, 90, 472, 286, 3, - /* 1060 */ 1137, 953, 991, 992, 993, 186, 427, 263, 863, 863, - /* 1070 */ 865, 866, 19, 475, 480, 262, 954, 1330, 480, 289, - /* 1080 */ 480, 291, 293, 480, 1098, 480, 863, 863, 865, 463, - /* 1090 */ 281, 1084, 955, 80, 208, 9, 9, 381, 1083, 57, - /* 1100 */ 57, 9, 9, 991, 9, 9, 9, 9, 187, 360, - /* 1110 */ 1082, 469, 298, 468, 991, 365, 188, 307, 367, 137, - /* 1120 */ 249, 236, 236, 308, 871, 82, 472, 1158, 3, 480, - /* 1130 */ 88, 88, 1195, 477, 462, 428, 1133, 89, 210, 381, - /* 1140 */ 482, 481, 475, 464, 863, 991, 992, 993, 354, 255, - /* 1150 */ 35, 35, 215, 2, 350, 1144, 991, 992, 993, 258, - /* 1160 */ 471, 981, 240, 466, 297, 1201, 381, 331, 331, 330, - /* 1170 */ 225, 328, 814, 1065, 711, 863, 863, 865, 866, 19, - /* 1180 */ 469, 295, 386, 813, 80, 142, 1058, 186, 1010, 263, - /* 1190 */ 1047, 991, 1046, 871, 1048, 917, 1324, 262, 210, 88, - /* 1200 */ 88, 480, 821, 169, 423, 214, 89, 389, 381, 482, - /* 1210 */ 481, 228, 1130, 863, 310, 103, 103, 103, 103, 96, - /* 1220 */ 312, 480, 9, 9, 314, 258, 471, 7, 173, 785, - /* 1230 */ 187, 1010, 92, 991, 992, 993, 459, 722, 188, 480, - /* 1240 */ 121, 137, 37, 37, 863, 863, 865, 866, 19, 101, - /* 1250 */ 101, 101, 101, 100, 100, 99, 99, 99, 98, 380, - /* 1260 */ 49, 49, 332, 184, 1180, 480, 391, 480, 786, 480, - /* 1270 */ 268, 92, 275, 480, 1188, 480, 350, 340, 480, 408, - /* 1280 */ 480, 258, 471, 433, 442, 480, 50, 50, 51, 51, - /* 1290 */ 10, 10, 177, 480, 38, 38, 52, 52, 480, 110, - /* 1300 */ 110, 53, 53, 1081, 386, 480, 39, 39, 316, 470, - /* 1310 */ 480, 1327, 480, 301, 54, 54, 236, 236, 480, 55, - /* 1320 */ 55, 480, 1027, 480, 1258, 480, 40, 40, 477, 443, - /* 1330 */ 480, 131, 131, 132, 132, 1257, 480, 325, 172, 62, - /* 1340 */ 62, 480, 41, 41, 58, 58, 111, 111, 145, 217, - /* 1350 */ 1301, 59, 59, 480, 1024, 480, 357, 112, 112, 402, - /* 1360 */ 480, 155, 113, 113, 480, 140, 1185, 480, 65, 480, - /* 1370 */ 25, 480, 147, 480, 109, 109, 130, 130, 68, 480, - /* 1380 */ 394, 129, 129, 78, 480, 117, 117, 480, 116, 116, - /* 1390 */ 114, 114, 115, 115, 61, 61, 480, 1177, 150, 151, - /* 1400 */ 63, 63, 152, 426, 153, 60, 60, 395, 32, 32, - /* 1410 */ 339, 194, 1191, 26, 159, 337, 401, 36, 36, 415, - /* 1420 */ 73, 198, 1252, 421, 200, 1272, 284, 229, 164, 424, - /* 1430 */ 288, 201, 342, 1049, 202, 439, 1101, 370, 1092, 1100, - /* 1440 */ 740, 1091, 1099, 372, 455, 1073, 1141, 343, 77, 1072, - /* 1450 */ 300, 309, 1071, 1339, 1142, 311, 253, 446, 254, 1140, - /* 1460 */ 449, 313, 216, 1139, 6, 315, 318, 1238, 84, 107, - /* 1470 */ 79, 256, 460, 223, 458, 1055, 24, 483, 986, 224, - /* 1480 */ 226, 227, 484, 144, 1044, 1039, 1123, 323, 321, 322, - /* 1490 */ 324, 120, 1288, 133, 1289, 351, 251, 260, 352, 170, - /* 1500 */ 183, 1287, 134, 241, 118, 929, 1286, 1069, 847, 927, - /* 1510 */ 146, 1068, 135, 64, 136, 1066, 190, 148, 772, 274, - /* 1520 */ 193, 943, 154, 851, 138, 359, 361, 156, 69, 139, - /* 1530 */ 70, 946, 71, 72, 195, 942, 196, 128, 14, 197, - /* 1540 */ 935, 283, 160, 420, 214, 1021, 199, 161, 27, 713, - /* 1550 */ 302, 203, 425, 429, 434, 751, 162, 74, 15, 141, - /* 1560 */ 296, 16, 75, 252, 870, 869, 897, 982, 976, 29, - /* 1570 */ 76, 30, 445, 977, 178, 448, 232, 234, 165, 782, - /* 1580 */ 213, 815, 820, 92, 80, 912, 17, 898, 219, 18, - /* 1590 */ 896, 900, 952, 901, 951, 20, 218, 31, 476, 868, - /* 1600 */ 220, 723, 91, 21, 329, 1037, 326, 1037, 221, 1037, - /* 1610 */ 1037, 1037, 1037, 1037, 1332, 1037, 1037, 1331, + /* 760 */ 101, 101, 100, 100, 99, 99, 99, 98, 378, 104, + /* 770 */ 93, 95, 1007, 1007, 888, 891, 881, 881, 102, 102, + /* 780 */ 103, 103, 103, 103, 478, 451, 478, 244, 101, 101, + /* 790 */ 101, 101, 100, 100, 99, 99, 99, 98, 378, 347, + /* 800 */ 372, 234, 179, 188, 207, 46, 46, 47, 47, 409, + /* 810 */ 409, 410, 80, 438, 101, 101, 101, 101, 100, 100, + /* 820 */ 99, 99, 99, 98, 378, 105, 95, 1007, 1007, 888, + /* 830 */ 891, 881, 881, 102, 102, 103, 103, 103, 103, 785, + /* 840 */ 1333, 478, 824, 755, 784, 963, 274, 262, 333, 80, + /* 850 */ 825, 745, 744, 347, 78, 369, 1258, 157, 352, 122, + /* 860 */ 752, 753, 48, 48, 13, 928, 735, 928, 452, 101, + /* 870 */ 101, 101, 101, 100, 100, 99, 99, 99, 98, 378, + /* 880 */ 95, 1007, 1007, 888, 891, 881, 881, 102, 102, 103, + /* 890 */ 103, 103, 103, 90, 470, 986, 3, 721, 737, 276, + /* 900 */ 247, 711, 301, 407, 397, 950, 190, 1145, 852, 735, + /* 910 */ 473, 213, 300, 402, 1144, 232, 213, 390, 809, 927, + /* 920 */ 951, 927, 746, 101, 101, 101, 101, 100, 100, 99, + /* 930 */ 99, 99, 98, 378, 379, 366, 952, 986, 987, 988, + /* 940 */ 721, 221, 238, 302, 436, 297, 435, 208, 467, 90, + /* 950 */ 470, 986, 3, 295, 434, 388, 22, 766, 142, 404, + /* 960 */ 142, 868, 213, 394, 747, 1301, 473, 88, 88, 767, + /* 970 */ 158, 271, 1279, 1080, 89, 167, 379, 480, 479, 1079, + /* 980 */ 1278, 860, 387, 214, 375, 374, 408, 346, 23, 911, + /* 990 */ 379, 1078, 1011, 986, 987, 988, 181, 1013, 257, 469, + /* 1000 */ 257, 469, 412, 367, 467, 1012, 280, 249, 986, 249, + /* 1010 */ 4, 425, 860, 860, 862, 863, 19, 868, 1141, 1005, + /* 1020 */ 284, 809, 918, 88, 88, 789, 1249, 287, 289, 1014, + /* 1030 */ 89, 1014, 379, 480, 479, 986, 2, 860, 398, 207, + /* 1040 */ 90, 470, 478, 3, 291, 478, 279, 1132, 986, 80, + /* 1050 */ 986, 987, 988, 461, 1093, 1077, 440, 473, 82, 470, + /* 1060 */ 847, 3, 1005, 57, 57, 918, 38, 38, 860, 860, + /* 1070 */ 862, 863, 19, 426, 986, 473, 209, 986, 987, 988, + /* 1080 */ 293, 379, 237, 80, 478, 235, 235, 986, 235, 235, + /* 1090 */ 986, 987, 988, 352, 864, 467, 950, 475, 460, 379, + /* 1100 */ 475, 441, 296, 305, 811, 9, 9, 462, 868, 295, + /* 1110 */ 306, 951, 1153, 467, 88, 88, 986, 987, 988, 358, + /* 1120 */ 809, 89, 1190, 379, 480, 479, 868, 952, 860, 986, + /* 1130 */ 987, 988, 88, 88, 1128, 254, 478, 864, 1139, 89, + /* 1140 */ 464, 379, 480, 479, 914, 465, 860, 209, 466, 818, + /* 1150 */ 1196, 478, 213, 478, 1060, 1053, 810, 34, 34, 860, + /* 1160 */ 860, 862, 863, 19, 1042, 1041, 103, 103, 103, 103, + /* 1170 */ 96, 1043, 9, 9, 9, 9, 1317, 860, 860, 862, + /* 1180 */ 863, 19, 1310, 976, 239, 421, 363, 1323, 365, 329, + /* 1190 */ 329, 328, 224, 326, 478, 169, 708, 1125, 181, 478, + /* 1200 */ 101, 101, 101, 101, 100, 100, 99, 99, 99, 98, + /* 1210 */ 378, 261, 227, 7, 308, 9, 9, 478, 310, 260, + /* 1220 */ 9, 9, 478, 809, 478, 312, 478, 173, 478, 248, + /* 1230 */ 782, 330, 478, 92, 457, 478, 184, 728, 35, 35, + /* 1240 */ 389, 1175, 266, 37, 37, 49, 49, 50, 50, 51, + /* 1250 */ 51, 1183, 186, 10, 10, 478, 52, 52, 177, 719, + /* 1260 */ 187, 478, 121, 137, 868, 976, 239, 431, 478, 338, + /* 1270 */ 478, 329, 329, 328, 224, 326, 110, 110, 708, 728, + /* 1280 */ 861, 1076, 53, 53, 860, 478, 299, 478, 273, 39, + /* 1290 */ 39, 54, 54, 261, 406, 1253, 783, 478, 348, 92, + /* 1300 */ 478, 260, 478, 257, 469, 1252, 55, 55, 40, 40, + /* 1310 */ 478, 314, 323, 468, 478, 860, 860, 862, 131, 131, + /* 1320 */ 172, 132, 132, 62, 62, 1320, 384, 478, 1022, 478, + /* 1330 */ 1019, 41, 41, 145, 186, 58, 58, 478, 65, 68, + /* 1340 */ 478, 216, 187, 478, 400, 137, 478, 1180, 111, 111, + /* 1350 */ 59, 59, 355, 478, 155, 478, 140, 478, 112, 112, + /* 1360 */ 478, 113, 113, 25, 109, 109, 147, 130, 130, 478, + /* 1370 */ 78, 478, 392, 478, 129, 129, 117, 117, 116, 116, + /* 1380 */ 348, 114, 114, 478, 1172, 257, 469, 393, 478, 150, + /* 1390 */ 115, 115, 61, 61, 63, 63, 424, 478, 337, 151, + /* 1400 */ 152, 193, 153, 26, 60, 60, 335, 413, 384, 32, + /* 1410 */ 32, 197, 399, 1186, 159, 1247, 419, 73, 36, 36, + /* 1420 */ 228, 199, 164, 286, 1267, 282, 200, 422, 1044, 340, + /* 1430 */ 201, 437, 1096, 1095, 1094, 368, 737, 1087, 341, 1067, + /* 1440 */ 370, 1068, 298, 453, 77, 252, 1136, 253, 1066, 1332, + /* 1450 */ 307, 215, 309, 1086, 444, 6, 311, 447, 1137, 316, + /* 1460 */ 1135, 1233, 1134, 84, 255, 313, 458, 107, 222, 79, + /* 1470 */ 456, 1050, 24, 481, 981, 223, 225, 226, 482, 349, + /* 1480 */ 1039, 1118, 1034, 133, 321, 319, 320, 322, 170, 120, + /* 1490 */ 1283, 350, 1284, 250, 259, 134, 1282, 1281, 183, 240, + /* 1500 */ 118, 926, 144, 1064, 1063, 924, 64, 844, 135, 1061, + /* 1510 */ 146, 136, 189, 148, 769, 272, 192, 940, 154, 138, + /* 1520 */ 848, 357, 359, 156, 69, 139, 70, 71, 72, 943, + /* 1530 */ 194, 195, 939, 14, 128, 196, 932, 281, 213, 160, + /* 1540 */ 1016, 418, 198, 161, 27, 710, 423, 300, 202, 427, + /* 1550 */ 432, 748, 162, 74, 15, 141, 294, 16, 75, 251, + /* 1560 */ 867, 866, 894, 178, 971, 29, 76, 30, 443, 972, + /* 1570 */ 165, 446, 231, 233, 812, 779, 212, 817, 92, 80, + /* 1580 */ 909, 895, 893, 897, 949, 17, 898, 948, 18, 217, + /* 1590 */ 218, 20, 31, 474, 865, 720, 91, 327, 21, 977, + /* 1600 */ 324, 1032, 1032, 219, 220, 1032, 1032, 1032, 1325, 1032, + /* 1610 */ 1032, 1032, 1032, 1324, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 153, 192, 193, 226, 227, 228, 226, 227, 228, 146, @@ -146621,82 +146621,82 @@ static const YYCODETYPE yy_lookahead[] = { /* 830 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 118, /* 840 */ 20, 153, 28, 23, 123, 20, 20, 153, 23, 23, /* 850 */ 36, 103, 104, 16, 132, 16, 153, 19, 98, 19, - /* 860 */ 57, 153, 174, 175, 19, 4, 5, 153, 99, 86, + /* 860 */ 4, 5, 174, 175, 19, 135, 57, 137, 99, 86, /* 870 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, /* 880 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, /* 890 */ 53, 54, 55, 16, 17, 57, 19, 57, 109, 243, - /* 900 */ 243, 18, 153, 100, 59, 9, 124, 153, 23, 20, - /* 910 */ 33, 20, 23, 20, 23, 20, 23, 57, 23, 135, + /* 900 */ 243, 18, 104, 16, 59, 9, 124, 153, 20, 100, + /* 910 */ 33, 23, 114, 20, 153, 20, 23, 153, 23, 135, /* 920 */ 24, 137, 32, 86, 87, 88, 89, 90, 91, 92, /* 930 */ 93, 94, 95, 96, 57, 96, 40, 99, 100, 101, /* 940 */ 100, 102, 103, 104, 105, 106, 107, 108, 71, 16, - /* 950 */ 17, 57, 19, 114, 64, 104, 19, 61, 81, 223, - /* 960 */ 100, 84, 19, 80, 74, 114, 33, 90, 91, 73, - /* 970 */ 16, 135, 19, 137, 97, 153, 99, 100, 101, 57, - /* 980 */ 153, 104, 19, 153, 90, 91, 101, 165, 51, 106, + /* 950 */ 17, 57, 19, 114, 64, 223, 19, 61, 81, 20, + /* 960 */ 81, 84, 23, 80, 74, 153, 33, 90, 91, 73, + /* 970 */ 19, 153, 153, 183, 97, 153, 99, 100, 101, 183, + /* 980 */ 153, 104, 103, 21, 90, 91, 99, 165, 51, 106, /* 990 */ 57, 183, 98, 99, 100, 101, 101, 103, 121, 122, - /* 1000 */ 57, 174, 175, 113, 71, 111, 153, 185, 57, 187, - /* 1010 */ 153, 126, 135, 136, 137, 138, 139, 84, 153, 112, - /* 1020 */ 57, 126, 100, 90, 91, 92, 143, 153, 153, 135, - /* 1030 */ 97, 137, 99, 100, 101, 84, 193, 104, 0, 1, - /* 1040 */ 2, 134, 99, 100, 101, 7, 8, 9, 10, 11, - /* 1050 */ 99, 100, 14, 99, 153, 104, 16, 17, 153, 19, - /* 1060 */ 214, 9, 99, 100, 101, 27, 16, 29, 135, 136, - /* 1070 */ 137, 138, 139, 33, 153, 37, 24, 124, 153, 153, - /* 1080 */ 153, 153, 153, 153, 153, 153, 135, 136, 137, 164, - /* 1090 */ 20, 183, 40, 23, 44, 174, 175, 57, 183, 174, - /* 1100 */ 175, 174, 175, 57, 174, 175, 174, 175, 70, 188, - /* 1110 */ 153, 71, 153, 61, 57, 188, 78, 153, 188, 81, - /* 1120 */ 188, 196, 197, 153, 84, 16, 17, 153, 19, 153, - /* 1130 */ 90, 91, 153, 208, 209, 20, 153, 97, 23, 99, - /* 1140 */ 100, 101, 33, 218, 104, 99, 100, 101, 98, 211, - /* 1150 */ 174, 175, 21, 19, 116, 153, 99, 100, 101, 121, - /* 1160 */ 122, 1, 2, 153, 114, 153, 57, 7, 8, 9, - /* 1170 */ 10, 11, 126, 153, 14, 135, 136, 137, 138, 139, - /* 1180 */ 71, 20, 144, 126, 23, 81, 153, 27, 57, 29, - /* 1190 */ 153, 57, 153, 84, 153, 20, 153, 37, 23, 90, - /* 1200 */ 91, 153, 20, 199, 239, 23, 97, 103, 99, 100, - /* 1210 */ 101, 238, 211, 104, 211, 52, 53, 54, 55, 56, - /* 1220 */ 211, 153, 174, 175, 211, 121, 122, 200, 172, 20, - /* 1230 */ 70, 100, 23, 99, 100, 101, 188, 20, 78, 153, - /* 1240 */ 23, 81, 174, 175, 135, 136, 137, 138, 139, 86, - /* 1250 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - /* 1260 */ 174, 175, 151, 248, 203, 153, 215, 153, 20, 153, - /* 1270 */ 215, 23, 244, 153, 203, 153, 116, 203, 153, 244, - /* 1280 */ 153, 121, 122, 178, 164, 153, 174, 175, 174, 175, - /* 1290 */ 174, 175, 186, 153, 174, 175, 174, 175, 153, 174, - /* 1300 */ 175, 174, 175, 182, 144, 153, 174, 175, 215, 232, - /* 1310 */ 153, 156, 153, 177, 174, 175, 196, 197, 153, 174, - /* 1320 */ 175, 153, 58, 153, 177, 153, 174, 175, 208, 209, - /* 1330 */ 153, 174, 175, 174, 175, 177, 153, 202, 200, 174, - /* 1340 */ 175, 153, 174, 175, 174, 175, 174, 175, 248, 124, - /* 1350 */ 160, 174, 175, 153, 35, 153, 160, 174, 175, 98, - /* 1360 */ 153, 19, 174, 175, 153, 41, 225, 153, 245, 153, - /* 1370 */ 224, 153, 191, 153, 174, 175, 174, 175, 245, 153, - /* 1380 */ 15, 174, 175, 132, 153, 174, 175, 153, 174, 175, - /* 1390 */ 174, 175, 174, 175, 174, 175, 153, 203, 194, 194, - /* 1400 */ 174, 175, 194, 15, 194, 174, 175, 160, 174, 175, - /* 1410 */ 225, 159, 191, 224, 191, 203, 203, 174, 175, 160, - /* 1420 */ 140, 159, 203, 60, 159, 241, 240, 160, 19, 179, - /* 1430 */ 160, 159, 179, 160, 159, 98, 176, 62, 184, 176, - /* 1440 */ 109, 184, 176, 96, 127, 176, 217, 179, 98, 178, - /* 1450 */ 176, 216, 176, 176, 217, 216, 234, 179, 234, 217, - /* 1460 */ 179, 216, 160, 217, 19, 216, 160, 229, 140, 131, - /* 1470 */ 130, 231, 128, 22, 129, 163, 23, 162, 10, 154, - /* 1480 */ 154, 3, 152, 251, 152, 152, 207, 204, 206, 205, - /* 1490 */ 203, 180, 172, 166, 172, 254, 180, 145, 254, 19, - /* 1500 */ 12, 172, 166, 83, 13, 20, 172, 172, 122, 20, - /* 1510 */ 133, 172, 166, 172, 113, 172, 21, 125, 17, 13, - /* 1520 */ 127, 1, 125, 134, 113, 59, 34, 133, 51, 113, - /* 1530 */ 51, 99, 51, 51, 31, 1, 124, 2, 19, 98, - /* 1540 */ 68, 143, 68, 38, 23, 75, 124, 98, 21, 17, - /* 1550 */ 114, 108, 16, 67, 67, 25, 19, 19, 19, 34, - /* 1560 */ 20, 19, 19, 67, 20, 20, 20, 1, 20, 19, - /* 1570 */ 23, 19, 21, 20, 124, 21, 20, 20, 19, 118, - /* 1580 */ 31, 126, 99, 23, 23, 20, 31, 20, 19, 31, - /* 1590 */ 20, 20, 20, 8, 20, 19, 23, 19, 23, 20, - /* 1600 */ 124, 20, 19, 19, 12, 255, 20, 255, 124, 255, - /* 1610 */ 255, 255, 255, 255, 124, 255, 255, 124, 255, 255, + /* 1000 */ 121, 122, 153, 113, 71, 111, 153, 185, 57, 187, + /* 1010 */ 19, 16, 135, 136, 137, 138, 139, 84, 153, 57, + /* 1020 */ 153, 126, 57, 90, 91, 92, 143, 153, 153, 135, + /* 1030 */ 97, 137, 99, 100, 101, 57, 19, 104, 112, 44, + /* 1040 */ 16, 17, 153, 19, 153, 153, 20, 214, 57, 23, + /* 1050 */ 99, 100, 101, 164, 153, 153, 164, 33, 16, 17, + /* 1060 */ 134, 19, 100, 174, 175, 100, 174, 175, 135, 136, + /* 1070 */ 137, 138, 139, 20, 57, 33, 23, 99, 100, 101, + /* 1080 */ 20, 57, 19, 23, 153, 196, 197, 57, 196, 197, + /* 1090 */ 99, 100, 101, 98, 57, 71, 9, 208, 209, 57, + /* 1100 */ 208, 209, 153, 153, 126, 174, 175, 218, 84, 114, + /* 1110 */ 153, 24, 153, 71, 90, 91, 99, 100, 101, 188, + /* 1120 */ 23, 97, 153, 99, 100, 101, 84, 40, 104, 99, + /* 1130 */ 100, 101, 90, 91, 153, 211, 153, 100, 153, 97, + /* 1140 */ 153, 99, 100, 101, 20, 193, 104, 23, 61, 20, + /* 1150 */ 153, 153, 23, 153, 153, 153, 126, 174, 175, 135, + /* 1160 */ 136, 137, 138, 139, 153, 153, 52, 53, 54, 55, + /* 1170 */ 56, 153, 174, 175, 174, 175, 153, 135, 136, 137, + /* 1180 */ 138, 139, 0, 1, 2, 239, 188, 124, 188, 7, + /* 1190 */ 8, 9, 10, 11, 153, 199, 14, 211, 101, 153, + /* 1200 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + /* 1210 */ 96, 29, 238, 200, 211, 174, 175, 153, 211, 37, + /* 1220 */ 174, 175, 153, 126, 153, 211, 153, 172, 153, 188, + /* 1230 */ 20, 151, 153, 23, 188, 153, 248, 57, 174, 175, + /* 1240 */ 215, 203, 215, 174, 175, 174, 175, 174, 175, 174, + /* 1250 */ 175, 203, 70, 174, 175, 153, 174, 175, 186, 20, + /* 1260 */ 78, 153, 23, 81, 84, 1, 2, 178, 153, 203, + /* 1270 */ 153, 7, 8, 9, 10, 11, 174, 175, 14, 99, + /* 1280 */ 100, 182, 174, 175, 104, 153, 177, 153, 244, 174, + /* 1290 */ 175, 174, 175, 29, 244, 177, 20, 153, 116, 23, + /* 1300 */ 153, 37, 153, 121, 122, 177, 174, 175, 174, 175, + /* 1310 */ 153, 215, 202, 232, 153, 135, 136, 137, 174, 175, + /* 1320 */ 200, 174, 175, 174, 175, 156, 144, 153, 58, 153, + /* 1330 */ 35, 174, 175, 248, 70, 174, 175, 153, 245, 245, + /* 1340 */ 153, 124, 78, 153, 98, 81, 153, 225, 174, 175, + /* 1350 */ 174, 175, 160, 153, 19, 153, 41, 153, 174, 175, + /* 1360 */ 153, 174, 175, 224, 174, 175, 191, 174, 175, 153, + /* 1370 */ 132, 153, 15, 153, 174, 175, 174, 175, 174, 175, + /* 1380 */ 116, 174, 175, 153, 203, 121, 122, 160, 153, 194, + /* 1390 */ 174, 175, 174, 175, 174, 175, 15, 153, 225, 194, + /* 1400 */ 194, 159, 194, 224, 174, 175, 203, 160, 144, 174, + /* 1410 */ 175, 159, 203, 191, 191, 203, 60, 140, 174, 175, + /* 1420 */ 160, 159, 19, 160, 241, 240, 159, 179, 160, 179, + /* 1430 */ 159, 98, 176, 176, 176, 62, 109, 184, 179, 178, + /* 1440 */ 96, 176, 176, 127, 98, 234, 217, 234, 176, 176, + /* 1450 */ 216, 160, 216, 184, 179, 19, 216, 179, 217, 160, + /* 1460 */ 217, 229, 217, 140, 231, 216, 128, 131, 22, 130, + /* 1470 */ 129, 163, 23, 162, 10, 154, 154, 3, 152, 254, + /* 1480 */ 152, 207, 152, 166, 204, 206, 205, 203, 19, 180, + /* 1490 */ 172, 254, 172, 180, 145, 166, 172, 172, 12, 83, + /* 1500 */ 13, 20, 251, 172, 172, 20, 172, 122, 166, 172, + /* 1510 */ 133, 113, 21, 125, 17, 13, 127, 1, 125, 113, + /* 1520 */ 134, 59, 34, 133, 51, 113, 51, 51, 51, 99, + /* 1530 */ 31, 124, 1, 19, 2, 98, 68, 143, 23, 68, + /* 1540 */ 75, 38, 124, 98, 21, 17, 16, 114, 108, 67, + /* 1550 */ 67, 25, 19, 19, 19, 34, 20, 19, 19, 67, + /* 1560 */ 20, 20, 20, 124, 20, 19, 23, 19, 21, 20, + /* 1570 */ 19, 21, 20, 20, 126, 118, 31, 99, 23, 23, + /* 1580 */ 20, 20, 20, 20, 20, 31, 8, 20, 31, 23, + /* 1590 */ 19, 19, 19, 23, 20, 20, 19, 12, 19, 1, + /* 1600 */ 20, 255, 255, 124, 124, 255, 255, 255, 124, 255, + /* 1610 */ 255, 255, 255, 124, 255, 255, 255, 255, 255, 255, /* 1620 */ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, /* 1630 */ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, /* 1640 */ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, @@ -146711,77 +146711,76 @@ static const YYCODETYPE yy_lookahead[] = { /* 1730 */ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, /* 1740 */ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, /* 1750 */ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - /* 1760 */ 255, 255, 255, 255, }; -#define YY_SHIFT_COUNT (485) +#define YY_SHIFT_COUNT (483) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (1592) +#define YY_SHIFT_MAX (1598) static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 1160, 1038, 877, 877, 281, 1040, 1040, 1040, 228, 0, - /* 10 */ 0, 112, 672, 1040, 1040, 1040, 1040, 1040, 1040, 1040, - /* 20 */ 1040, 1040, 894, 894, 126, 1104, 281, 281, 281, 281, + /* 0 */ 1264, 1182, 877, 877, 281, 1024, 1024, 1024, 228, 0, + /* 10 */ 0, 112, 672, 1024, 1024, 1024, 1024, 1024, 1024, 1024, + /* 20 */ 1024, 1024, 894, 894, 126, 879, 281, 281, 281, 281, /* 30 */ 281, 281, 56, 168, 224, 280, 336, 392, 448, 504, /* 40 */ 560, 616, 672, 672, 672, 672, 672, 672, 672, 672, /* 50 */ 672, 672, 672, 672, 672, 672, 672, 672, 672, 728, - /* 60 */ 672, 783, 837, 837, 933, 1040, 1040, 1040, 1040, 1040, - /* 70 */ 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, - /* 80 */ 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, - /* 90 */ 1040, 1040, 1040, 1040, 1040, 1109, 1040, 1040, 1040, 1040, - /* 100 */ 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1163, + /* 60 */ 672, 783, 837, 837, 933, 1024, 1024, 1024, 1024, 1024, + /* 70 */ 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, + /* 80 */ 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, + /* 90 */ 1024, 1024, 1024, 1024, 1024, 1042, 1024, 1024, 1024, 1024, + /* 100 */ 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1114, /* 110 */ 702, 702, 702, 702, 702, 43, 28, 77, 193, 883, - /* 120 */ 1050, 162, 162, 193, 165, 165, 165, 165, 64, 152, - /* 130 */ 45, 1618, 1618, 839, 839, 839, 838, 349, 838, 838, + /* 120 */ 995, 162, 162, 193, 165, 165, 165, 165, 64, 152, + /* 130 */ 45, 1614, 1614, 839, 839, 839, 838, 349, 838, 838, /* 140 */ 896, 896, 405, 223, 378, 193, 193, 193, 193, 193, /* 150 */ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, /* 160 */ 193, 193, 193, 193, 193, 193, 406, 636, 636, 621, - /* 170 */ 1618, 1618, 1618, 951, 145, 145, 943, 75, 245, 963, - /* 180 */ 1046, 1057, 1134, 193, 193, 193, 193, 193, 193, 193, - /* 190 */ 193, 193, 342, 193, 193, 193, 193, 193, 193, 193, - /* 200 */ 193, 193, 193, 193, 193, 890, 890, 890, 193, 193, - /* 210 */ 193, 193, 895, 193, 193, 193, 13, 193, 193, 1052, - /* 220 */ 193, 193, 193, 193, 193, 193, 193, 193, 355, 446, - /* 230 */ 393, 1131, 1131, 1131, 1131, 885, 393, 393, 721, 95, - /* 240 */ 510, 166, 722, 769, 769, 954, 722, 722, 954, 789, - /* 250 */ 820, 760, 814, 814, 814, 769, 278, 275, 506, 16, - /* 260 */ 1264, 1225, 1319, 1319, 1225, 1261, 1342, 1324, 1251, 1365, - /* 270 */ 1365, 1365, 1365, 1225, 1388, 1251, 1251, 1261, 1342, 1324, - /* 280 */ 1324, 1251, 1225, 1388, 1280, 1363, 1225, 1388, 1409, 1225, - /* 290 */ 1388, 1225, 1388, 1409, 1337, 1337, 1337, 1375, 1409, 1337, - /* 300 */ 1331, 1337, 1375, 1337, 1337, 1409, 1347, 1347, 1409, 1317, - /* 310 */ 1350, 1317, 1350, 1317, 1350, 1317, 1350, 1225, 1445, 1225, - /* 320 */ 1328, 1338, 1344, 1340, 1345, 1251, 1451, 1453, 1468, 1468, - /* 330 */ 1478, 1478, 1478, 1618, 1618, 1618, 1618, 1618, 1618, 1618, - /* 340 */ 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 147, - /* 350 */ 381, 549, 551, 282, 417, 840, 825, 937, 782, 907, - /* 360 */ 826, 845, 889, 891, 893, 1070, 1115, 1161, 803, 748, - /* 370 */ 861, 851, 860, 1175, 1182, 1209, 784, 836, 1217, 1248, - /* 380 */ 922, 953, 1480, 1352, 1488, 1420, 1491, 1485, 1489, 1386, - /* 390 */ 1377, 1401, 1495, 1392, 1501, 1393, 1506, 1520, 1397, 1389, - /* 400 */ 1411, 1466, 1492, 1394, 1477, 1479, 1481, 1482, 1416, 1432, - /* 410 */ 1503, 1412, 1534, 1535, 1519, 1441, 1398, 1472, 1521, 1474, - /* 420 */ 1470, 1505, 1422, 1449, 1527, 1532, 1536, 1436, 1443, 1537, - /* 430 */ 1486, 1538, 1539, 1540, 1542, 1487, 1530, 1543, 1496, 1525, - /* 440 */ 1544, 1545, 1546, 1547, 1548, 1550, 1551, 1553, 1552, 1554, - /* 450 */ 1450, 1556, 1557, 1483, 1549, 1559, 1455, 1560, 1555, 1561, - /* 460 */ 1558, 1565, 1560, 1567, 1570, 1571, 1572, 1573, 1574, 1569, - /* 470 */ 1585, 1576, 1578, 1579, 1581, 1583, 1584, 1575, 1461, 1476, - /* 480 */ 1484, 1490, 1493, 1586, 1592, 1566, + /* 170 */ 1614, 1614, 1614, 1180, 145, 145, 951, 75, 245, 991, + /* 180 */ 978, 1030, 1017, 193, 193, 193, 193, 193, 193, 193, + /* 190 */ 193, 342, 193, 193, 193, 193, 193, 193, 193, 193, + /* 200 */ 193, 193, 193, 193, 890, 890, 890, 193, 193, 193, + /* 210 */ 193, 895, 193, 193, 193, 13, 193, 193, 1087, 193, + /* 220 */ 193, 193, 193, 193, 193, 193, 193, 355, 446, 393, + /* 230 */ 962, 962, 962, 962, 1097, 393, 393, 721, 95, 510, + /* 240 */ 166, 722, 769, 769, 887, 722, 722, 887, 789, 820, + /* 250 */ 760, 814, 814, 814, 769, 278, 275, 506, 16, 1270, + /* 260 */ 1295, 1295, 1217, 1246, 1335, 1315, 1238, 1357, 1357, 1357, + /* 270 */ 1357, 1217, 1381, 1238, 1238, 1246, 1335, 1315, 1315, 1238, + /* 280 */ 1217, 1381, 1277, 1356, 1217, 1381, 1403, 1217, 1381, 1217, + /* 290 */ 1381, 1403, 1333, 1333, 1333, 1373, 1403, 1333, 1327, 1333, + /* 300 */ 1373, 1333, 1333, 1403, 1344, 1344, 1403, 1316, 1346, 1316, + /* 310 */ 1346, 1316, 1346, 1316, 1346, 1217, 1436, 1217, 1323, 1336, + /* 320 */ 1338, 1339, 1341, 1238, 1446, 1449, 1464, 1464, 1474, 1474, + /* 330 */ 1474, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, + /* 340 */ 1614, 1614, 1614, 1614, 1614, 1614, 1614, 147, 381, 549, + /* 350 */ 551, 282, 417, 840, 825, 937, 782, 926, 826, 845, + /* 360 */ 888, 893, 939, 1026, 1053, 1060, 809, 748, 856, 798, + /* 370 */ 965, 1124, 1129, 1210, 730, 784, 1239, 1276, 1037, 1063, + /* 380 */ 1469, 1349, 1486, 1416, 1487, 1481, 1485, 1385, 1377, 1398, + /* 390 */ 1491, 1388, 1497, 1389, 1502, 1516, 1393, 1386, 1406, 1462, + /* 400 */ 1488, 1390, 1473, 1475, 1476, 1477, 1412, 1430, 1499, 1407, + /* 410 */ 1531, 1532, 1514, 1437, 1394, 1468, 1515, 1471, 1465, 1503, + /* 420 */ 1418, 1445, 1523, 1528, 1530, 1433, 1440, 1533, 1482, 1534, + /* 430 */ 1535, 1536, 1538, 1483, 1526, 1539, 1492, 1521, 1540, 1541, + /* 440 */ 1542, 1543, 1544, 1546, 1547, 1549, 1548, 1550, 1439, 1552, + /* 450 */ 1553, 1478, 1545, 1551, 1448, 1555, 1554, 1556, 1557, 1560, + /* 460 */ 1555, 1561, 1562, 1563, 1564, 1566, 1567, 1571, 1578, 1572, + /* 470 */ 1573, 1574, 1575, 1577, 1579, 1570, 1457, 1479, 1480, 1484, + /* 480 */ 1489, 1580, 1585, 1598, }; -#define YY_REDUCE_COUNT (348) +#define YY_REDUCE_COUNT (346) #define YY_REDUCE_MIN (-223) -#define YY_REDUCE_MAX (1346) +#define YY_REDUCE_MAX (1342) static const short yy_reduce_ofst[] = { - /* 0 */ -137, -81, 925, 1120, -135, -153, 21, 130, 196, -146, - /* 10 */ 10, -223, 62, 921, 927, 930, 932, 132, 1048, 183, + /* 0 */ -137, -81, 889, 892, -135, -153, 21, 130, 196, -146, + /* 10 */ 10, -223, 62, 931, 998, 1000, 1041, 132, 1046, 183, /* 20 */ 190, 242, 407, 409, 822, 311, 367, 420, 422, 425, /* 30 */ 476, 479, -220, -220, -220, -220, -220, -220, -220, -220, /* 40 */ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, /* 50 */ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, /* 60 */ -220, -220, -220, -220, -136, 358, 413, 521, 525, 576, - /* 70 */ 578, 631, 633, 688, 827, 976, 1068, 1086, 1112, 1114, - /* 80 */ 1116, 1122, 1125, 1127, 1132, 1140, 1145, 1152, 1157, 1159, - /* 90 */ 1165, 1168, 1170, 1172, 1177, 1183, 1188, 1200, 1202, 1207, - /* 100 */ 1211, 1214, 1216, 1218, 1220, 1226, 1231, 1234, 1243, -220, + /* 70 */ 578, 631, 633, 688, 983, 1064, 1069, 1071, 1073, 1075, + /* 80 */ 1079, 1082, 1102, 1108, 1115, 1117, 1132, 1134, 1144, 1147, + /* 90 */ 1149, 1157, 1161, 1174, 1176, 1184, 1187, 1190, 1193, 1200, + /* 100 */ 1202, 1204, 1207, 1216, 1218, 1220, 1230, 1235, 1244, -220, /* 110 */ -220, -220, -220, -220, -220, -220, -220, -220, 210, 238, /* 120 */ -157, 184, 240, 308, -182, -133, -182, -133, 284, -220, /* 130 */ -220, -220, -220, -115, -115, -115, -96, -113, 467, 470, @@ -146789,74 +146788,74 @@ static const short yy_reduce_ofst[] = { /* 150 */ 482, 485, 486, 488, 544, 131, 656, 187, 526, 657, /* 160 */ 529, 533, 541, 537, 545, 580, 569, 570, 572, -178, /* 170 */ 497, 589, 373, -57, 23, 61, 189, 160, 302, 317, - /* 180 */ 377, 408, 414, 432, 532, 579, 694, 703, 708, 714, - /* 190 */ 749, 754, 736, 830, 853, 857, 865, 874, 875, 901, - /* 200 */ 905, 926, 928, 929, 931, 808, 908, 915, 957, 959, - /* 210 */ 964, 970, 846, 974, 979, 983, 938, 1002, 1010, 843, - /* 220 */ 1012, 302, 1020, 1033, 1037, 1039, 1041, 1043, 965, 973, - /* 230 */ 1004, 1001, 1003, 1009, 1013, 846, 1004, 1004, 1027, 1056, - /* 240 */ 1111, 1015, 1061, 1051, 1055, 1028, 1071, 1074, 1035, 1105, - /* 250 */ 1106, 1121, 1136, 1147, 1158, 1093, 1077, 1135, 1138, 1155, - /* 260 */ 1100, 1190, 1123, 1133, 1196, 1141, 1146, 1181, 1194, 1204, - /* 270 */ 1205, 1208, 1210, 1247, 1252, 1212, 1213, 1185, 1189, 1221, - /* 280 */ 1223, 1219, 1259, 1262, 1184, 1186, 1267, 1265, 1250, 1270, - /* 290 */ 1272, 1273, 1275, 1253, 1260, 1263, 1266, 1254, 1268, 1269, - /* 300 */ 1271, 1274, 1257, 1276, 1277, 1278, 1222, 1224, 1281, 1229, - /* 310 */ 1235, 1237, 1239, 1242, 1245, 1246, 1249, 1302, 1238, 1306, - /* 320 */ 1240, 1279, 1282, 1284, 1283, 1287, 1312, 1315, 1325, 1326, - /* 330 */ 1330, 1332, 1333, 1241, 1244, 1232, 1327, 1320, 1322, 1329, - /* 340 */ 1334, 1336, 1311, 1316, 1335, 1339, 1341, 1343, 1346, + /* 180 */ 377, 408, 414, 432, 532, 579, 694, 703, 754, 761, + /* 190 */ 764, 732, 812, 818, 819, 827, 849, 853, 865, 867, + /* 200 */ 874, 875, 891, 901, 790, 796, 808, 902, 949, 950, + /* 210 */ 957, 833, 959, 969, 981, 924, 985, 987, 952, 997, + /* 220 */ 302, 1001, 1002, 1011, 1012, 1018, 1023, 946, 974, 996, + /* 230 */ 986, 1003, 1007, 1014, 833, 996, 996, 1013, 1055, 1080, + /* 240 */ 988, 1038, 1025, 1027, 1044, 1048, 1066, 1050, 1089, 1072, + /* 250 */ 1099, 1109, 1118, 1128, 1096, 1081, 1110, 1120, 1169, 1085, + /* 260 */ 1093, 1094, 1192, 1122, 1139, 1175, 1181, 1195, 1205, 1206, + /* 270 */ 1208, 1227, 1242, 1203, 1209, 1173, 1179, 1222, 1223, 1212, + /* 280 */ 1247, 1252, 1183, 1185, 1260, 1262, 1248, 1263, 1267, 1268, + /* 290 */ 1271, 1250, 1256, 1257, 1258, 1253, 1259, 1265, 1261, 1266, + /* 300 */ 1269, 1272, 1273, 1275, 1211, 1213, 1278, 1229, 1234, 1241, + /* 310 */ 1236, 1243, 1240, 1245, 1249, 1291, 1232, 1299, 1233, 1274, + /* 320 */ 1279, 1281, 1280, 1284, 1308, 1311, 1321, 1322, 1326, 1328, + /* 330 */ 1330, 1225, 1237, 1251, 1317, 1318, 1320, 1324, 1325, 1329, + /* 340 */ 1309, 1313, 1331, 1332, 1334, 1337, 1342, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 1373, 1373, 1247, 1035, 1138, 1247, 1247, 1247, 1035, 1168, - /* 10 */ 1168, 1298, 1064, 1035, 1035, 1035, 1035, 1035, 1035, 1246, - /* 20 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 30 */ 1035, 1035, 1174, 1035, 1035, 1035, 1035, 1248, 1249, 1035, - /* 40 */ 1035, 1035, 1297, 1299, 1184, 1183, 1182, 1181, 1280, 1155, - /* 50 */ 1179, 1172, 1176, 1242, 1243, 1241, 1245, 1249, 1248, 1035, - /* 60 */ 1175, 1213, 1227, 1212, 1035, 1035, 1035, 1035, 1035, 1035, - /* 70 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 80 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 90 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 100 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1221, - /* 110 */ 1226, 1232, 1225, 1222, 1215, 1214, 1216, 1217, 1035, 1054, - /* 120 */ 1103, 1035, 1035, 1035, 1314, 1313, 1035, 1035, 1064, 1218, - /* 130 */ 1219, 1229, 1228, 1303, 1329, 1328, 1035, 1035, 1035, 1035, - /* 140 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 150 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 160 */ 1035, 1035, 1035, 1035, 1035, 1035, 1064, 1060, 1060, 1035, - /* 170 */ 1309, 1138, 1129, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 180 */ 1035, 1035, 1035, 1035, 1035, 1035, 1300, 1035, 1262, 1035, - /* 190 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 200 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 210 */ 1035, 1035, 1035, 1035, 1035, 1035, 1134, 1035, 1035, 1035, - /* 220 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1323, 1035, 1275, - /* 230 */ 1117, 1134, 1134, 1134, 1134, 1136, 1118, 1116, 1128, 1064, - /* 240 */ 1040, 1365, 1178, 1157, 1157, 1362, 1178, 1178, 1362, 1078, - /* 250 */ 1343, 1075, 1168, 1168, 1168, 1157, 1244, 1135, 1128, 1035, - /* 260 */ 1365, 1143, 1364, 1364, 1143, 1187, 1193, 1106, 1178, 1112, - /* 270 */ 1112, 1112, 1112, 1143, 1051, 1178, 1178, 1187, 1193, 1106, - /* 280 */ 1106, 1178, 1143, 1051, 1279, 1359, 1143, 1051, 1255, 1143, - /* 290 */ 1051, 1143, 1051, 1255, 1104, 1104, 1104, 1093, 1255, 1104, - /* 300 */ 1078, 1104, 1093, 1104, 1104, 1255, 1259, 1259, 1255, 1161, - /* 310 */ 1156, 1161, 1156, 1161, 1156, 1161, 1156, 1143, 1250, 1143, - /* 320 */ 1035, 1173, 1162, 1171, 1169, 1178, 1057, 1096, 1326, 1326, - /* 330 */ 1322, 1322, 1322, 1370, 1370, 1309, 1338, 1064, 1064, 1064, - /* 340 */ 1064, 1338, 1080, 1080, 1064, 1064, 1064, 1064, 1338, 1035, - /* 350 */ 1035, 1035, 1035, 1035, 1035, 1333, 1035, 1264, 1147, 1035, - /* 360 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 370 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 380 */ 1035, 1198, 1306, 1035, 1035, 1304, 1035, 1035, 1035, 1035, - /* 390 */ 1035, 1035, 1148, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 400 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 410 */ 1035, 1361, 1035, 1035, 1035, 1035, 1035, 1035, 1278, 1277, - /* 420 */ 1035, 1035, 1145, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 430 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 440 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 450 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1170, 1035, 1163, - /* 460 */ 1035, 1035, 1352, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - /* 470 */ 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1347, 1120, 1200, - /* 480 */ 1035, 1199, 1203, 1035, 1045, 1035, + /* 0 */ 1366, 1366, 1242, 1030, 1133, 1242, 1242, 1242, 1030, 1163, + /* 10 */ 1163, 1293, 1059, 1030, 1030, 1030, 1030, 1030, 1030, 1241, + /* 20 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 30 */ 1030, 1030, 1169, 1030, 1030, 1030, 1030, 1243, 1244, 1030, + /* 40 */ 1030, 1030, 1292, 1294, 1179, 1178, 1177, 1176, 1275, 1150, + /* 50 */ 1174, 1167, 1171, 1237, 1238, 1236, 1240, 1244, 1243, 1030, + /* 60 */ 1170, 1208, 1222, 1207, 1030, 1030, 1030, 1030, 1030, 1030, + /* 70 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 80 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 90 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 100 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1216, + /* 110 */ 1221, 1227, 1220, 1217, 1210, 1209, 1211, 1212, 1030, 1049, + /* 120 */ 1098, 1030, 1030, 1030, 1307, 1306, 1030, 1030, 1059, 1213, + /* 130 */ 1214, 1224, 1223, 1296, 1322, 1321, 1030, 1030, 1030, 1030, + /* 140 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 150 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 160 */ 1030, 1030, 1030, 1030, 1030, 1030, 1059, 1055, 1055, 1030, + /* 170 */ 1302, 1133, 1124, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 180 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1257, 1030, 1030, + /* 190 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 200 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 210 */ 1030, 1030, 1030, 1030, 1030, 1129, 1030, 1030, 1030, 1030, + /* 220 */ 1030, 1030, 1030, 1030, 1030, 1030, 1316, 1030, 1270, 1112, + /* 230 */ 1129, 1129, 1129, 1129, 1131, 1113, 1111, 1123, 1059, 1035, + /* 240 */ 1358, 1173, 1152, 1152, 1355, 1173, 1173, 1355, 1073, 1336, + /* 250 */ 1070, 1163, 1163, 1163, 1152, 1239, 1130, 1123, 1030, 1358, + /* 260 */ 1357, 1357, 1138, 1182, 1188, 1101, 1173, 1107, 1107, 1107, + /* 270 */ 1107, 1138, 1046, 1173, 1173, 1182, 1188, 1101, 1101, 1173, + /* 280 */ 1138, 1046, 1274, 1352, 1138, 1046, 1250, 1138, 1046, 1138, + /* 290 */ 1046, 1250, 1099, 1099, 1099, 1088, 1250, 1099, 1073, 1099, + /* 300 */ 1088, 1099, 1099, 1250, 1254, 1254, 1250, 1156, 1151, 1156, + /* 310 */ 1151, 1156, 1151, 1156, 1151, 1138, 1245, 1138, 1030, 1168, + /* 320 */ 1157, 1166, 1164, 1173, 1052, 1091, 1319, 1319, 1315, 1315, + /* 330 */ 1315, 1363, 1363, 1302, 1331, 1059, 1059, 1059, 1059, 1331, + /* 340 */ 1075, 1075, 1059, 1059, 1059, 1059, 1331, 1030, 1030, 1030, + /* 350 */ 1030, 1030, 1030, 1326, 1030, 1259, 1142, 1030, 1030, 1030, + /* 360 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 370 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1193, + /* 380 */ 1299, 1030, 1030, 1297, 1030, 1030, 1030, 1030, 1030, 1030, + /* 390 */ 1143, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 400 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1354, + /* 410 */ 1030, 1030, 1030, 1030, 1030, 1030, 1273, 1272, 1030, 1030, + /* 420 */ 1140, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 430 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 440 */ 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 450 */ 1030, 1030, 1030, 1030, 1030, 1165, 1030, 1158, 1030, 1030, + /* 460 */ 1345, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + /* 470 */ 1030, 1030, 1030, 1030, 1030, 1340, 1115, 1195, 1030, 1194, + /* 480 */ 1198, 1030, 1040, 1030, }; /********** End of lemon-generated parsing tables *****************************/ @@ -147572,80 +147571,78 @@ static const char *const yyRuleName[] = { /* 259 */ "cmd ::= DETACH database_kw_opt expr", /* 260 */ "key_opt ::=", /* 261 */ "key_opt ::= KEY expr", - /* 262 */ "cmd ::= ANALYZE", - /* 263 */ "cmd ::= ANALYZE nm dbnm", - /* 264 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", - /* 265 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", - /* 266 */ "add_column_fullname ::= fullname", - /* 267 */ "cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm", - /* 268 */ "cmd ::= create_vtab", - /* 269 */ "cmd ::= create_vtab LP vtabarglist RP", - /* 270 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", - /* 271 */ "vtabarg ::=", - /* 272 */ "vtabargtoken ::= ANY", - /* 273 */ "vtabargtoken ::= lp anylist RP", - /* 274 */ "lp ::= LP", - /* 275 */ "with ::= WITH wqlist", - /* 276 */ "with ::= WITH RECURSIVE wqlist", - /* 277 */ "wqlist ::= nm eidlist_opt AS LP select RP", - /* 278 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", - /* 279 */ "input ::= cmdlist", - /* 280 */ "cmdlist ::= cmdlist ecmd", - /* 281 */ "cmdlist ::= ecmd", - /* 282 */ "ecmd ::= SEMI", - /* 283 */ "ecmd ::= cmdx SEMI", - /* 284 */ "trans_opt ::=", - /* 285 */ "trans_opt ::= TRANSACTION", - /* 286 */ "trans_opt ::= TRANSACTION nm", - /* 287 */ "savepoint_opt ::= SAVEPOINT", - /* 288 */ "savepoint_opt ::=", - /* 289 */ "cmd ::= create_table create_table_args", - /* 290 */ "columnlist ::= columnlist COMMA columnname carglist", - /* 291 */ "columnlist ::= columnname carglist", - /* 292 */ "nm ::= ID|INDEXED", - /* 293 */ "nm ::= STRING", - /* 294 */ "nm ::= JOIN_KW", - /* 295 */ "typetoken ::= typename", - /* 296 */ "typename ::= ID|STRING", - /* 297 */ "signed ::= plus_num", - /* 298 */ "signed ::= minus_num", - /* 299 */ "carglist ::= carglist ccons", - /* 300 */ "carglist ::=", - /* 301 */ "ccons ::= NULL onconf", - /* 302 */ "conslist_opt ::= COMMA conslist", - /* 303 */ "conslist ::= conslist tconscomma tcons", - /* 304 */ "conslist ::= tcons", - /* 305 */ "tconscomma ::=", - /* 306 */ "defer_subclause_opt ::= defer_subclause", - /* 307 */ "resolvetype ::= raisetype", - /* 308 */ "selectnowith ::= oneselect", - /* 309 */ "oneselect ::= values", - /* 310 */ "sclp ::= selcollist COMMA", - /* 311 */ "as ::= ID|STRING", - /* 312 */ "expr ::= term", - /* 313 */ "likeop ::= LIKE_KW|MATCH", - /* 314 */ "exprlist ::= nexprlist", - /* 315 */ "nmnum ::= plus_num", - /* 316 */ "nmnum ::= nm", - /* 317 */ "nmnum ::= ON", - /* 318 */ "nmnum ::= DELETE", - /* 319 */ "nmnum ::= DEFAULT", - /* 320 */ "plus_num ::= INTEGER|FLOAT", - /* 321 */ "foreach_clause ::=", - /* 322 */ "foreach_clause ::= FOR EACH ROW", - /* 323 */ "trnm ::= nm", - /* 324 */ "tridxby ::=", - /* 325 */ "database_kw_opt ::= DATABASE", - /* 326 */ "database_kw_opt ::=", - /* 327 */ "kwcolumn_opt ::=", - /* 328 */ "kwcolumn_opt ::= COLUMNKW", - /* 329 */ "vtabarglist ::= vtabarg", - /* 330 */ "vtabarglist ::= vtabarglist COMMA vtabarg", - /* 331 */ "vtabarg ::= vtabarg vtabargtoken", - /* 332 */ "anylist ::=", - /* 333 */ "anylist ::= anylist LP anylist RP", - /* 334 */ "anylist ::= anylist ANY", - /* 335 */ "with ::=", + /* 262 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", + /* 263 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", + /* 264 */ "add_column_fullname ::= fullname", + /* 265 */ "cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm", + /* 266 */ "cmd ::= create_vtab", + /* 267 */ "cmd ::= create_vtab LP vtabarglist RP", + /* 268 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", + /* 269 */ "vtabarg ::=", + /* 270 */ "vtabargtoken ::= ANY", + /* 271 */ "vtabargtoken ::= lp anylist RP", + /* 272 */ "lp ::= LP", + /* 273 */ "with ::= WITH wqlist", + /* 274 */ "with ::= WITH RECURSIVE wqlist", + /* 275 */ "wqlist ::= nm eidlist_opt AS LP select RP", + /* 276 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", + /* 277 */ "input ::= cmdlist", + /* 278 */ "cmdlist ::= cmdlist ecmd", + /* 279 */ "cmdlist ::= ecmd", + /* 280 */ "ecmd ::= SEMI", + /* 281 */ "ecmd ::= cmdx SEMI", + /* 282 */ "trans_opt ::=", + /* 283 */ "trans_opt ::= TRANSACTION", + /* 284 */ "trans_opt ::= TRANSACTION nm", + /* 285 */ "savepoint_opt ::= SAVEPOINT", + /* 286 */ "savepoint_opt ::=", + /* 287 */ "cmd ::= create_table create_table_args", + /* 288 */ "columnlist ::= columnlist COMMA columnname carglist", + /* 289 */ "columnlist ::= columnname carglist", + /* 290 */ "nm ::= ID|INDEXED", + /* 291 */ "nm ::= STRING", + /* 292 */ "nm ::= JOIN_KW", + /* 293 */ "typetoken ::= typename", + /* 294 */ "typename ::= ID|STRING", + /* 295 */ "signed ::= plus_num", + /* 296 */ "signed ::= minus_num", + /* 297 */ "carglist ::= carglist ccons", + /* 298 */ "carglist ::=", + /* 299 */ "ccons ::= NULL onconf", + /* 300 */ "conslist_opt ::= COMMA conslist", + /* 301 */ "conslist ::= conslist tconscomma tcons", + /* 302 */ "conslist ::= tcons", + /* 303 */ "tconscomma ::=", + /* 304 */ "defer_subclause_opt ::= defer_subclause", + /* 305 */ "resolvetype ::= raisetype", + /* 306 */ "selectnowith ::= oneselect", + /* 307 */ "oneselect ::= values", + /* 308 */ "sclp ::= selcollist COMMA", + /* 309 */ "as ::= ID|STRING", + /* 310 */ "expr ::= term", + /* 311 */ "likeop ::= LIKE_KW|MATCH", + /* 312 */ "exprlist ::= nexprlist", + /* 313 */ "nmnum ::= plus_num", + /* 314 */ "nmnum ::= nm", + /* 315 */ "nmnum ::= ON", + /* 316 */ "nmnum ::= DELETE", + /* 317 */ "nmnum ::= DEFAULT", + /* 318 */ "plus_num ::= INTEGER|FLOAT", + /* 319 */ "foreach_clause ::=", + /* 320 */ "foreach_clause ::= FOR EACH ROW", + /* 321 */ "trnm ::= nm", + /* 322 */ "tridxby ::=", + /* 323 */ "database_kw_opt ::= DATABASE", + /* 324 */ "database_kw_opt ::=", + /* 325 */ "kwcolumn_opt ::=", + /* 326 */ "kwcolumn_opt ::= COLUMNKW", + /* 327 */ "vtabarglist ::= vtabarg", + /* 328 */ "vtabarglist ::= vtabarglist COMMA vtabarg", + /* 329 */ "vtabarg ::= vtabarg vtabargtoken", + /* 330 */ "anylist ::=", + /* 331 */ "anylist ::= anylist LP anylist RP", + /* 332 */ "anylist ::= anylist ANY", + /* 333 */ "with ::=", }; #endif /* NDEBUG */ @@ -148398,80 +148395,78 @@ static const struct { { 150, -3 }, /* (259) cmd ::= DETACH database_kw_opt expr */ { 246, 0 }, /* (260) key_opt ::= */ { 246, -2 }, /* (261) key_opt ::= KEY expr */ - { 150, -1 }, /* (262) cmd ::= ANALYZE */ - { 150, -3 }, /* (263) cmd ::= ANALYZE nm dbnm */ - { 150, -6 }, /* (264) cmd ::= ALTER TABLE fullname RENAME TO nm */ - { 150, -7 }, /* (265) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ - { 247, -1 }, /* (266) add_column_fullname ::= fullname */ - { 150, -8 }, /* (267) cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ - { 150, -1 }, /* (268) cmd ::= create_vtab */ - { 150, -4 }, /* (269) cmd ::= create_vtab LP vtabarglist RP */ - { 249, -8 }, /* (270) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ - { 251, 0 }, /* (271) vtabarg ::= */ - { 252, -1 }, /* (272) vtabargtoken ::= ANY */ - { 252, -3 }, /* (273) vtabargtoken ::= lp anylist RP */ - { 253, -1 }, /* (274) lp ::= LP */ - { 221, -2 }, /* (275) with ::= WITH wqlist */ - { 221, -3 }, /* (276) with ::= WITH RECURSIVE wqlist */ - { 198, -6 }, /* (277) wqlist ::= nm eidlist_opt AS LP select RP */ - { 198, -8 }, /* (278) wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ - { 146, -1 }, /* (279) input ::= cmdlist */ - { 147, -2 }, /* (280) cmdlist ::= cmdlist ecmd */ - { 147, -1 }, /* (281) cmdlist ::= ecmd */ - { 148, -1 }, /* (282) ecmd ::= SEMI */ - { 148, -2 }, /* (283) ecmd ::= cmdx SEMI */ - { 152, 0 }, /* (284) trans_opt ::= */ - { 152, -1 }, /* (285) trans_opt ::= TRANSACTION */ - { 152, -2 }, /* (286) trans_opt ::= TRANSACTION nm */ - { 154, -1 }, /* (287) savepoint_opt ::= SAVEPOINT */ - { 154, 0 }, /* (288) savepoint_opt ::= */ - { 150, -2 }, /* (289) cmd ::= create_table create_table_args */ - { 161, -4 }, /* (290) columnlist ::= columnlist COMMA columnname carglist */ - { 161, -2 }, /* (291) columnlist ::= columnname carglist */ - { 153, -1 }, /* (292) nm ::= ID|INDEXED */ - { 153, -1 }, /* (293) nm ::= STRING */ - { 153, -1 }, /* (294) nm ::= JOIN_KW */ - { 167, -1 }, /* (295) typetoken ::= typename */ - { 168, -1 }, /* (296) typename ::= ID|STRING */ - { 169, -1 }, /* (297) signed ::= plus_num */ - { 169, -1 }, /* (298) signed ::= minus_num */ - { 166, -2 }, /* (299) carglist ::= carglist ccons */ - { 166, 0 }, /* (300) carglist ::= */ - { 173, -2 }, /* (301) ccons ::= NULL onconf */ - { 162, -2 }, /* (302) conslist_opt ::= COMMA conslist */ - { 185, -3 }, /* (303) conslist ::= conslist tconscomma tcons */ - { 185, -1 }, /* (304) conslist ::= tcons */ - { 186, 0 }, /* (305) tconscomma ::= */ - { 190, -1 }, /* (306) defer_subclause_opt ::= defer_subclause */ - { 192, -1 }, /* (307) resolvetype ::= raisetype */ - { 196, -1 }, /* (308) selectnowith ::= oneselect */ - { 197, -1 }, /* (309) oneselect ::= values */ - { 210, -2 }, /* (310) sclp ::= selcollist COMMA */ - { 211, -1 }, /* (311) as ::= ID|STRING */ - { 175, -1 }, /* (312) expr ::= term */ - { 226, -1 }, /* (313) likeop ::= LIKE_KW|MATCH */ - { 218, -1 }, /* (314) exprlist ::= nexprlist */ - { 235, -1 }, /* (315) nmnum ::= plus_num */ - { 235, -1 }, /* (316) nmnum ::= nm */ - { 235, -1 }, /* (317) nmnum ::= ON */ - { 235, -1 }, /* (318) nmnum ::= DELETE */ - { 235, -1 }, /* (319) nmnum ::= DEFAULT */ - { 170, -1 }, /* (320) plus_num ::= INTEGER|FLOAT */ - { 240, 0 }, /* (321) foreach_clause ::= */ - { 240, -3 }, /* (322) foreach_clause ::= FOR EACH ROW */ - { 243, -1 }, /* (323) trnm ::= nm */ - { 244, 0 }, /* (324) tridxby ::= */ - { 245, -1 }, /* (325) database_kw_opt ::= DATABASE */ - { 245, 0 }, /* (326) database_kw_opt ::= */ - { 248, 0 }, /* (327) kwcolumn_opt ::= */ - { 248, -1 }, /* (328) kwcolumn_opt ::= COLUMNKW */ - { 250, -1 }, /* (329) vtabarglist ::= vtabarg */ - { 250, -3 }, /* (330) vtabarglist ::= vtabarglist COMMA vtabarg */ - { 251, -2 }, /* (331) vtabarg ::= vtabarg vtabargtoken */ - { 254, 0 }, /* (332) anylist ::= */ - { 254, -4 }, /* (333) anylist ::= anylist LP anylist RP */ - { 254, -2 }, /* (334) anylist ::= anylist ANY */ - { 221, 0 }, /* (335) with ::= */ + { 150, -6 }, /* (262) cmd ::= ALTER TABLE fullname RENAME TO nm */ + { 150, -7 }, /* (263) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ + { 247, -1 }, /* (264) add_column_fullname ::= fullname */ + { 150, -8 }, /* (265) cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ + { 150, -1 }, /* (266) cmd ::= create_vtab */ + { 150, -4 }, /* (267) cmd ::= create_vtab LP vtabarglist RP */ + { 249, -8 }, /* (268) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ + { 251, 0 }, /* (269) vtabarg ::= */ + { 252, -1 }, /* (270) vtabargtoken ::= ANY */ + { 252, -3 }, /* (271) vtabargtoken ::= lp anylist RP */ + { 253, -1 }, /* (272) lp ::= LP */ + { 221, -2 }, /* (273) with ::= WITH wqlist */ + { 221, -3 }, /* (274) with ::= WITH RECURSIVE wqlist */ + { 198, -6 }, /* (275) wqlist ::= nm eidlist_opt AS LP select RP */ + { 198, -8 }, /* (276) wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ + { 146, -1 }, /* (277) input ::= cmdlist */ + { 147, -2 }, /* (278) cmdlist ::= cmdlist ecmd */ + { 147, -1 }, /* (279) cmdlist ::= ecmd */ + { 148, -1 }, /* (280) ecmd ::= SEMI */ + { 148, -2 }, /* (281) ecmd ::= cmdx SEMI */ + { 152, 0 }, /* (282) trans_opt ::= */ + { 152, -1 }, /* (283) trans_opt ::= TRANSACTION */ + { 152, -2 }, /* (284) trans_opt ::= TRANSACTION nm */ + { 154, -1 }, /* (285) savepoint_opt ::= SAVEPOINT */ + { 154, 0 }, /* (286) savepoint_opt ::= */ + { 150, -2 }, /* (287) cmd ::= create_table create_table_args */ + { 161, -4 }, /* (288) columnlist ::= columnlist COMMA columnname carglist */ + { 161, -2 }, /* (289) columnlist ::= columnname carglist */ + { 153, -1 }, /* (290) nm ::= ID|INDEXED */ + { 153, -1 }, /* (291) nm ::= STRING */ + { 153, -1 }, /* (292) nm ::= JOIN_KW */ + { 167, -1 }, /* (293) typetoken ::= typename */ + { 168, -1 }, /* (294) typename ::= ID|STRING */ + { 169, -1 }, /* (295) signed ::= plus_num */ + { 169, -1 }, /* (296) signed ::= minus_num */ + { 166, -2 }, /* (297) carglist ::= carglist ccons */ + { 166, 0 }, /* (298) carglist ::= */ + { 173, -2 }, /* (299) ccons ::= NULL onconf */ + { 162, -2 }, /* (300) conslist_opt ::= COMMA conslist */ + { 185, -3 }, /* (301) conslist ::= conslist tconscomma tcons */ + { 185, -1 }, /* (302) conslist ::= tcons */ + { 186, 0 }, /* (303) tconscomma ::= */ + { 190, -1 }, /* (304) defer_subclause_opt ::= defer_subclause */ + { 192, -1 }, /* (305) resolvetype ::= raisetype */ + { 196, -1 }, /* (306) selectnowith ::= oneselect */ + { 197, -1 }, /* (307) oneselect ::= values */ + { 210, -2 }, /* (308) sclp ::= selcollist COMMA */ + { 211, -1 }, /* (309) as ::= ID|STRING */ + { 175, -1 }, /* (310) expr ::= term */ + { 226, -1 }, /* (311) likeop ::= LIKE_KW|MATCH */ + { 218, -1 }, /* (312) exprlist ::= nexprlist */ + { 235, -1 }, /* (313) nmnum ::= plus_num */ + { 235, -1 }, /* (314) nmnum ::= nm */ + { 235, -1 }, /* (315) nmnum ::= ON */ + { 235, -1 }, /* (316) nmnum ::= DELETE */ + { 235, -1 }, /* (317) nmnum ::= DEFAULT */ + { 170, -1 }, /* (318) plus_num ::= INTEGER|FLOAT */ + { 240, 0 }, /* (319) foreach_clause ::= */ + { 240, -3 }, /* (320) foreach_clause ::= FOR EACH ROW */ + { 243, -1 }, /* (321) trnm ::= nm */ + { 244, 0 }, /* (322) tridxby ::= */ + { 245, -1 }, /* (323) database_kw_opt ::= DATABASE */ + { 245, 0 }, /* (324) database_kw_opt ::= */ + { 248, 0 }, /* (325) kwcolumn_opt ::= */ + { 248, -1 }, /* (326) kwcolumn_opt ::= COLUMNKW */ + { 250, -1 }, /* (327) vtabarglist ::= vtabarg */ + { 250, -3 }, /* (328) vtabarglist ::= vtabarglist COMMA vtabarg */ + { 251, -2 }, /* (329) vtabarg ::= vtabarg vtabargtoken */ + { 254, 0 }, /* (330) anylist ::= */ + { 254, -4 }, /* (331) anylist ::= anylist LP anylist RP */ + { 254, -2 }, /* (332) anylist ::= anylist ANY */ + { 221, 0 }, /* (333) with ::= */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -149671,125 +149666,119 @@ static YYACTIONTYPE yy_reduce( sqlite3Detach(pParse, yymsp[0].minor.yy182); } break; - case 262: /* cmd ::= ANALYZE */ -{sqlite3Analyze(pParse, 0, 0);} - break; - case 263: /* cmd ::= ANALYZE nm dbnm */ -{sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} - break; - case 264: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ + case 262: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ { sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy427,&yymsp[0].minor.yy0); } break; - case 265: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ + case 263: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ { yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n; sqlite3AlterFinishAddColumn(pParse, &yymsp[-1].minor.yy0); } break; - case 266: /* add_column_fullname ::= fullname */ + case 264: /* add_column_fullname ::= fullname */ { disableLookaside(pParse); sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy427); } break; - case 267: /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ + case 265: /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ { sqlite3AlterRenameColumn(pParse, yymsp[-5].minor.yy427, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } break; - case 268: /* cmd ::= create_vtab */ + case 266: /* cmd ::= create_vtab */ {sqlite3VtabFinishParse(pParse,0);} break; - case 269: /* cmd ::= create_vtab LP vtabarglist RP */ + case 267: /* cmd ::= create_vtab LP vtabarglist RP */ {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} break; - case 270: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ + case 268: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ { sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy502); } break; - case 271: /* vtabarg ::= */ + case 269: /* vtabarg ::= */ {sqlite3VtabArgInit(pParse);} break; - case 272: /* vtabargtoken ::= ANY */ - case 273: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==273); - case 274: /* lp ::= LP */ yytestcase(yyruleno==274); + case 270: /* vtabargtoken ::= ANY */ + case 271: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==271); + case 272: /* lp ::= LP */ yytestcase(yyruleno==272); {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} break; - case 275: /* with ::= WITH wqlist */ - case 276: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==276); + case 273: /* with ::= WITH wqlist */ + case 274: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==274); { sqlite3WithPush(pParse, yymsp[0].minor.yy91, 1); } break; - case 277: /* wqlist ::= nm eidlist_opt AS LP select RP */ + case 275: /* wqlist ::= nm eidlist_opt AS LP select RP */ { yymsp[-5].minor.yy91 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy232, yymsp[-1].minor.yy399); /*A-overwrites-X*/ } break; - case 278: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ + case 276: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ { yymsp[-7].minor.yy91 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy91, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy232, yymsp[-1].minor.yy399); } break; default: - /* (279) input ::= cmdlist */ yytestcase(yyruleno==279); - /* (280) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==280); - /* (281) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=281); - /* (282) ecmd ::= SEMI */ yytestcase(yyruleno==282); - /* (283) ecmd ::= cmdx SEMI */ yytestcase(yyruleno==283); - /* (284) trans_opt ::= */ yytestcase(yyruleno==284); - /* (285) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==285); - /* (286) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==286); - /* (287) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==287); - /* (288) savepoint_opt ::= */ yytestcase(yyruleno==288); - /* (289) cmd ::= create_table create_table_args */ yytestcase(yyruleno==289); - /* (290) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==290); - /* (291) columnlist ::= columnname carglist */ yytestcase(yyruleno==291); - /* (292) nm ::= ID|INDEXED */ yytestcase(yyruleno==292); - /* (293) nm ::= STRING */ yytestcase(yyruleno==293); - /* (294) nm ::= JOIN_KW */ yytestcase(yyruleno==294); - /* (295) typetoken ::= typename */ yytestcase(yyruleno==295); - /* (296) typename ::= ID|STRING */ yytestcase(yyruleno==296); - /* (297) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=297); - /* (298) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=298); - /* (299) carglist ::= carglist ccons */ yytestcase(yyruleno==299); - /* (300) carglist ::= */ yytestcase(yyruleno==300); - /* (301) ccons ::= NULL onconf */ yytestcase(yyruleno==301); - /* (302) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==302); - /* (303) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==303); - /* (304) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=304); - /* (305) tconscomma ::= */ yytestcase(yyruleno==305); - /* (306) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=306); - /* (307) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=307); - /* (308) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=308); - /* (309) oneselect ::= values */ yytestcase(yyruleno==309); - /* (310) sclp ::= selcollist COMMA */ yytestcase(yyruleno==310); - /* (311) as ::= ID|STRING */ yytestcase(yyruleno==311); - /* (312) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=312); - /* (313) likeop ::= LIKE_KW|MATCH */ yytestcase(yyruleno==313); - /* (314) exprlist ::= nexprlist */ yytestcase(yyruleno==314); - /* (315) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=315); - /* (316) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=316); - /* (317) nmnum ::= ON */ yytestcase(yyruleno==317); - /* (318) nmnum ::= DELETE */ yytestcase(yyruleno==318); - /* (319) nmnum ::= DEFAULT */ yytestcase(yyruleno==319); - /* (320) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==320); - /* (321) foreach_clause ::= */ yytestcase(yyruleno==321); - /* (322) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==322); - /* (323) trnm ::= nm */ yytestcase(yyruleno==323); - /* (324) tridxby ::= */ yytestcase(yyruleno==324); - /* (325) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==325); - /* (326) database_kw_opt ::= */ yytestcase(yyruleno==326); - /* (327) kwcolumn_opt ::= */ yytestcase(yyruleno==327); - /* (328) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==328); - /* (329) vtabarglist ::= vtabarg */ yytestcase(yyruleno==329); - /* (330) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==330); - /* (331) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==331); - /* (332) anylist ::= */ yytestcase(yyruleno==332); - /* (333) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==333); - /* (334) anylist ::= anylist ANY */ yytestcase(yyruleno==334); - /* (335) with ::= */ yytestcase(yyruleno==335); + /* (277) input ::= cmdlist */ yytestcase(yyruleno==277); + /* (278) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==278); + /* (279) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=279); + /* (280) ecmd ::= SEMI */ yytestcase(yyruleno==280); + /* (281) ecmd ::= cmdx SEMI */ yytestcase(yyruleno==281); + /* (282) trans_opt ::= */ yytestcase(yyruleno==282); + /* (283) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==283); + /* (284) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==284); + /* (285) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==285); + /* (286) savepoint_opt ::= */ yytestcase(yyruleno==286); + /* (287) cmd ::= create_table create_table_args */ yytestcase(yyruleno==287); + /* (288) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==288); + /* (289) columnlist ::= columnname carglist */ yytestcase(yyruleno==289); + /* (290) nm ::= ID|INDEXED */ yytestcase(yyruleno==290); + /* (291) nm ::= STRING */ yytestcase(yyruleno==291); + /* (292) nm ::= JOIN_KW */ yytestcase(yyruleno==292); + /* (293) typetoken ::= typename */ yytestcase(yyruleno==293); + /* (294) typename ::= ID|STRING */ yytestcase(yyruleno==294); + /* (295) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=295); + /* (296) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=296); + /* (297) carglist ::= carglist ccons */ yytestcase(yyruleno==297); + /* (298) carglist ::= */ yytestcase(yyruleno==298); + /* (299) ccons ::= NULL onconf */ yytestcase(yyruleno==299); + /* (300) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==300); + /* (301) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==301); + /* (302) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=302); + /* (303) tconscomma ::= */ yytestcase(yyruleno==303); + /* (304) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=304); + /* (305) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=305); + /* (306) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=306); + /* (307) oneselect ::= values */ yytestcase(yyruleno==307); + /* (308) sclp ::= selcollist COMMA */ yytestcase(yyruleno==308); + /* (309) as ::= ID|STRING */ yytestcase(yyruleno==309); + /* (310) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=310); + /* (311) likeop ::= LIKE_KW|MATCH */ yytestcase(yyruleno==311); + /* (312) exprlist ::= nexprlist */ yytestcase(yyruleno==312); + /* (313) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=313); + /* (314) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=314); + /* (315) nmnum ::= ON */ yytestcase(yyruleno==315); + /* (316) nmnum ::= DELETE */ yytestcase(yyruleno==316); + /* (317) nmnum ::= DEFAULT */ yytestcase(yyruleno==317); + /* (318) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==318); + /* (319) foreach_clause ::= */ yytestcase(yyruleno==319); + /* (320) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==320); + /* (321) trnm ::= nm */ yytestcase(yyruleno==321); + /* (322) tridxby ::= */ yytestcase(yyruleno==322); + /* (323) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==323); + /* (324) database_kw_opt ::= */ yytestcase(yyruleno==324); + /* (325) kwcolumn_opt ::= */ yytestcase(yyruleno==325); + /* (326) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==326); + /* (327) vtabarglist ::= vtabarg */ yytestcase(yyruleno==327); + /* (328) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==328); + /* (329) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==329); + /* (330) anylist ::= */ yytestcase(yyruleno==330); + /* (331) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==331); + /* (332) anylist ::= anylist ANY */ yytestcase(yyruleno==332); + /* (333) with ::= */ yytestcase(yyruleno==333); break; /********** End reduce actions ************************************************/ }; @@ -150253,19 +150242,19 @@ const unsigned char ebcdicToAscii[] = { ** is substantially reduced. This is important for embedded applications ** on platforms with limited memory. */ -/* Hash score: 178 */ -/* zKWText[] encodes 812 bytes of keyword text in 547 bytes */ +/* Hash score: 176 */ +/* zKWText[] encodes 804 bytes of keyword text in 540 bytes */ /* BEFOREIGNOREFERENCESCAPEACHECKEYCONSTRAINTERSECTABLEFTHENDESC */ /* ASCADEFERRABLELSELECTRANSACTIONATURALTERAISEXCEPTRIGGERELEASE */ /* XCLUSIVEXISTSAVEPOINTOFFSETEMPORARYWITHOUTERECURSIVEATTACH */ /* AVINGROUPDATEBEGINSTEADDATABASEBETWEENOTNULLIKECASECOLLATE */ /* CREATECURRENT_DATEDELETEDETACHIMMEDIATEJOINDEXEDEFAULTMATCH */ -/* PRAGMABORTVALUESVIRTUALIMITWHENWHEREGEXPRIMARYAFTERENAME */ -/* ANALYZEANDEFERREDISTINCTAUTOINCREMENTCASTCOLUMNCOMMITCONFLICT */ -/* CROSSCURRENT_TIMESTAMPDROPFAILFROMFULLGLOBYIFINNEREPLACEINSERT */ +/* PRAGMABORTVALUESVIRTUALIMITWHENWHEREGEXPRIMARYAFTERENAMEAND */ +/* EFERREDISTINCTAUTOINCREMENTCASTCOLUMNCOMMITCONFLICTCROSS */ +/* CURRENT_TIMESTAMPDROPFAILFROMFULLGLOBYIFINNEREPLACEINSERT */ /* ISNULLORDERESTRICTRIGHTROLLBACKROWSUNIONUNIQUEUSINGVACUUMVIEW */ /* INITIALLY */ -static const char zKWText[546] = { +static const char zKWText[539] = { 'B','E','F','O','R','E','I','G','N','O','R','E','F','E','R','E','N','C', 'E','S','C','A','P','E','A','C','H','E','C','K','E','Y','C','O','N','S', 'T','R','A','I','N','T','E','R','S','E','C','T','A','B','L','E','F','T', @@ -150285,76 +150274,75 @@ static const char zKWText[546] = { 'A','U','L','T','M','A','T','C','H','P','R','A','G','M','A','B','O','R', 'T','V','A','L','U','E','S','V','I','R','T','U','A','L','I','M','I','T', 'W','H','E','N','W','H','E','R','E','G','E','X','P','R','I','M','A','R', - 'Y','A','F','T','E','R','E','N','A','M','E','A','N','A','L','Y','Z','E', - 'A','N','D','E','F','E','R','R','E','D','I','S','T','I','N','C','T','A', - 'U','T','O','I','N','C','R','E','M','E','N','T','C','A','S','T','C','O', - 'L','U','M','N','C','O','M','M','I','T','C','O','N','F','L','I','C','T', - 'C','R','O','S','S','C','U','R','R','E','N','T','_','T','I','M','E','S', - 'T','A','M','P','D','R','O','P','F','A','I','L','F','R','O','M','F','U', - 'L','L','G','L','O','B','Y','I','F','I','N','N','E','R','E','P','L','A', - 'C','E','I','N','S','E','R','T','I','S','N','U','L','L','O','R','D','E', - 'R','E','S','T','R','I','C','T','R','I','G','H','T','R','O','L','L','B', - 'A','C','K','R','O','W','S','U','N','I','O','N','U','N','I','Q','U','E', - 'U','S','I','N','G','V','A','C','U','U','M','V','I','E','W','I','N','I', - 'T','I','A','L','L','Y', + 'Y','A','F','T','E','R','E','N','A','M','E','A','N','D','E','F','E','R', + 'R','E','D','I','S','T','I','N','C','T','A','U','T','O','I','N','C','R', + 'E','M','E','N','T','C','A','S','T','C','O','L','U','M','N','C','O','M', + 'M','I','T','C','O','N','F','L','I','C','T','C','R','O','S','S','C','U', + 'R','R','E','N','T','_','T','I','M','E','S','T','A','M','P','D','R','O', + 'P','F','A','I','L','F','R','O','M','F','U','L','L','G','L','O','B','Y', + 'I','F','I','N','N','E','R','E','P','L','A','C','E','I','N','S','E','R', + 'T','I','S','N','U','L','L','O','R','D','E','R','E','S','T','R','I','C', + 'T','R','I','G','H','T','R','O','L','L','B','A','C','K','R','O','W','S', + 'U','N','I','O','N','U','N','I','Q','U','E','U','S','I','N','G','V','A', + 'C','U','U','M','V','I','E','W','I','N','I','T','I','A','L','L','Y', }; /* aKWHash[i] is the hash value for the i-th keyword */ static const unsigned char aKWHash[127] = { - 107, 87, 112, 66, 0, 39, 0, 0, 74, 0, 71, 0, 0, - 36, 4, 0, 68, 0, 111, 77, 46, 104, 113, 21, 0, 0, - 118, 0, 115, 110, 0, 79, 89, 0, 1, 0, 0, 61, 62, - 0, 60, 7, 0, 0, 84, 83, 0, 114, 97, 0, 0, 38, - 0, 85, 19, 0, 52, 0, 119, 45, 15, 0, 16, 102, 20, - 92, 0, 0, 121, 98, 54, 120, 49, 23, 69, 0, 70, 0, - 96, 28, 0, 95, 0, 0, 0, 91, 88, 93, 81, 101, 0, - 10, 100, 0, 73, 0, 53, 106, 103, 27, 0, 117, 72, 108, - 56, 40, 76, 0, 0, 90, 34, 44, 109, 0, 11, 0, 0, - 24, 0, 78, 105, 58, 0, 12, 55, 0, 116, + 106, 86, 111, 66, 0, 39, 0, 0, 74, 0, 71, 0, 0, + 36, 4, 0, 68, 0, 110, 77, 46, 103, 112, 21, 0, 0, + 117, 0, 114, 109, 0, 79, 88, 0, 1, 0, 0, 61, 62, + 0, 60, 7, 0, 0, 83, 80, 0, 113, 96, 0, 0, 38, + 0, 84, 19, 0, 52, 0, 118, 45, 15, 0, 16, 101, 20, + 91, 0, 0, 120, 97, 54, 119, 49, 23, 69, 0, 70, 0, + 95, 28, 0, 94, 0, 0, 0, 90, 87, 92, 81, 100, 0, + 10, 99, 0, 73, 0, 53, 105, 102, 27, 0, 116, 72, 107, + 56, 40, 76, 0, 0, 89, 34, 44, 108, 0, 11, 0, 0, + 24, 0, 78, 104, 58, 0, 12, 55, 0, 115, }; /* aKWNext[] forms the hash collision chain. If aKWHash[i]==0 ** then the i-th keyword has no more hash collisions. Otherwise, ** the next keyword with the same hash is aKWHash[i]-1. */ -static const unsigned char aKWNext[121] = { +static const unsigned char aKWNext[120] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 13, 0, 30, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 5, 0, 17, 0, 0, 0, 18, 0, 35, 50, 47, 32, 0, 0, 0, 41, 59, 0, 0, 0, - 14, 0, 26, 0, 80, 51, 0, 9, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 3, 63, 86, 94, 0, 99, 0, 82, 0, - 57, 42, 0, 67, 43, 0, 22, 29, 0, 65, 75, 48, 0, - 33, 64, 0, 0, + 14, 0, 26, 0, 51, 0, 9, 0, 2, 0, 0, 0, 0, + 0, 0, 0, 3, 63, 85, 93, 0, 98, 0, 82, 0, 57, + 42, 0, 67, 43, 0, 22, 29, 0, 65, 75, 48, 0, 33, + 64, 0, 0, }; /* aKWLen[i] is the length (in bytes) of the i-th keyword */ -static const unsigned char aKWLen[121] = { +static const unsigned char aKWLen[120] = { 6, 7, 3, 6, 10, 6, 4, 5, 3, 10, 9, 5, 4, 4, 3, 4, 7, 3, 10, 4, 6, 11, 6, 2, 7, 5, 5, 6, 7, 7, 9, 6, 9, 4, 6, 2, 3, 9, 4, 2, 7, 4, 5, 9, 6, 6, 5, 6, 5, 7, 3, 8, 2, 7, 7, 3, 2, 4, 4, 4, 7, 6, 12, 6, 6, 9, 4, 7, 5, 7, 5, 6, 5, 6, 7, 5, 4, 5, - 6, 7, 5, 6, 7, 3, 8, 8, 2, 13, 2, 2, 4, - 6, 6, 8, 5, 17, 12, 4, 4, 4, 4, 4, 2, 2, - 5, 7, 6, 6, 5, 8, 5, 8, 4, 3, 5, 6, 5, - 6, 4, 9, 3, + 6, 7, 5, 6, 3, 8, 8, 2, 13, 2, 2, 4, 6, + 6, 8, 5, 17, 12, 4, 4, 4, 4, 4, 2, 2, 5, + 7, 6, 6, 5, 8, 5, 8, 4, 3, 5, 6, 5, 6, + 4, 9, 3, }; /* aKWOffset[i] is the index into zKWText[] of the start of ** the text for the i-th keyword. */ -static const unsigned short int aKWOffset[121] = { +static const unsigned short int aKWOffset[120] = { 0, 2, 2, 6, 10, 18, 23, 25, 29, 32, 39, 47, 50, 53, 55, 57, 60, 61, 65, 74, 76, 81, 86, 90, 91, 96, 100, 104, 109, 115, 121, 129, 134, 140, 143, 143, 146, 148, 148, 152, 157, 157, 161, 165, 174, 179, 184, 187, 193, 196, 201, 203, 208, 211, 217, 217, 217, 220, 223, 227, 231, 238, 244, 256, 262, 268, 277, 279, 279, 285, 292, 297, 302, 307, 313, 319, 324, 328, - 331, 336, 343, 347, 353, 360, 362, 369, 370, 377, 379, 381, 390, - 394, 400, 406, 414, 419, 419, 436, 440, 444, 448, 452, 455, 457, - 459, 463, 470, 476, 482, 486, 494, 499, 507, 507, 511, 516, 522, - 527, 533, 537, 542, + 331, 336, 343, 347, 353, 355, 362, 363, 370, 372, 374, 383, 387, + 393, 399, 407, 412, 412, 429, 433, 437, 441, 445, 448, 450, 452, + 456, 463, 469, 475, 479, 487, 492, 500, 500, 504, 509, 515, 520, + 526, 530, 535, }; /* aKWCode[i] is the parser symbol code for the i-th keyword */ -static const unsigned char aKWCode[121] = { +static const unsigned char aKWCode[120] = { TK_BEFORE, TK_FOREIGN, TK_FOR, TK_IGNORE, TK_REFERENCES, TK_ESCAPE, TK_EACH, TK_CHECK, TK_KEY, TK_CONSTRAINT, TK_INTERSECT, TK_TABLE, TK_JOIN_KW, TK_THEN, TK_END, @@ -150371,15 +150359,14 @@ static const unsigned char aKWCode[121] = { TK_IMMEDIATE, TK_JOIN, TK_INDEXED, TK_INDEX, TK_DEFAULT, TK_MATCH, TK_PRAGMA, TK_ABORT, TK_VALUES, TK_VIRTUAL, TK_LIMIT, TK_WHEN, TK_WHERE, TK_LIKE_KW, TK_PRIMARY, - TK_AFTER, TK_RENAME, TK_ANALYZE, TK_AND, TK_DEFERRED, - TK_DISTINCT, TK_IS, TK_AUTOINCR, TK_TO, TK_IN, - TK_CAST, TK_COLUMNKW, TK_COMMIT, TK_CONFLICT, TK_JOIN_KW, - TK_CTIME_KW, TK_CTIME_KW, TK_DROP, TK_FAIL, TK_FROM, - TK_JOIN_KW, TK_LIKE_KW, TK_BY, TK_IF, TK_JOIN_KW, - TK_REPLACE, TK_INSERT, TK_ISNULL, TK_ORDER, TK_RESTRICT, - TK_JOIN_KW, TK_ROLLBACK, TK_ROWS, TK_ROW, TK_UNION, - TK_UNIQUE, TK_USING, TK_VACUUM, TK_VIEW, TK_INITIALLY, - TK_ALL, + TK_AFTER, TK_RENAME, TK_AND, TK_DEFERRED, TK_DISTINCT, + TK_IS, TK_AUTOINCR, TK_TO, TK_IN, TK_CAST, + TK_COLUMNKW, TK_COMMIT, TK_CONFLICT, TK_JOIN_KW, TK_CTIME_KW, + TK_CTIME_KW, TK_DROP, TK_FAIL, TK_FROM, TK_JOIN_KW, + TK_LIKE_KW, TK_BY, TK_IF, TK_JOIN_KW, TK_REPLACE, + TK_INSERT, TK_ISNULL, TK_ORDER, TK_RESTRICT, TK_JOIN_KW, + TK_ROLLBACK, TK_ROWS, TK_ROW, TK_UNION, TK_UNIQUE, + TK_USING, TK_VACUUM, TK_VIEW, TK_INITIALLY, TK_ALL, }; /* Check to see if z[0..n-1] is a keyword. If it is, write the ** parser symbol code for that keyword into *pType. Always @@ -150482,45 +150469,44 @@ static int keywordCode(const char *z, int n, int *pType){ testcase( i==79 ); /* PRIMARY */ testcase( i==80 ); /* AFTER */ testcase( i==81 ); /* RENAME */ - testcase( i==82 ); /* ANALYZE */ - testcase( i==83 ); /* AND */ - testcase( i==84 ); /* DEFERRED */ - testcase( i==85 ); /* DISTINCT */ - testcase( i==86 ); /* IS */ - testcase( i==87 ); /* AUTOINCREMENT */ - testcase( i==88 ); /* TO */ - testcase( i==89 ); /* IN */ - testcase( i==90 ); /* CAST */ - testcase( i==91 ); /* COLUMN */ - testcase( i==92 ); /* COMMIT */ - testcase( i==93 ); /* CONFLICT */ - testcase( i==94 ); /* CROSS */ - testcase( i==95 ); /* CURRENT_TIMESTAMP */ - testcase( i==96 ); /* CURRENT_TIME */ - testcase( i==97 ); /* DROP */ - testcase( i==98 ); /* FAIL */ - testcase( i==99 ); /* FROM */ - testcase( i==100 ); /* FULL */ - testcase( i==101 ); /* GLOB */ - testcase( i==102 ); /* BY */ - testcase( i==103 ); /* IF */ - testcase( i==104 ); /* INNER */ - testcase( i==105 ); /* REPLACE */ - testcase( i==106 ); /* INSERT */ - testcase( i==107 ); /* ISNULL */ - testcase( i==108 ); /* ORDER */ - testcase( i==109 ); /* RESTRICT */ - testcase( i==110 ); /* RIGHT */ - testcase( i==111 ); /* ROLLBACK */ - testcase( i==112 ); /* ROWS */ - testcase( i==113 ); /* ROW */ - testcase( i==114 ); /* UNION */ - testcase( i==115 ); /* UNIQUE */ - testcase( i==116 ); /* USING */ - testcase( i==117 ); /* VACUUM */ - testcase( i==118 ); /* VIEW */ - testcase( i==119 ); /* INITIALLY */ - testcase( i==120 ); /* ALL */ + testcase( i==82 ); /* AND */ + testcase( i==83 ); /* DEFERRED */ + testcase( i==84 ); /* DISTINCT */ + testcase( i==85 ); /* IS */ + testcase( i==86 ); /* AUTOINCREMENT */ + testcase( i==87 ); /* TO */ + testcase( i==88 ); /* IN */ + testcase( i==89 ); /* CAST */ + testcase( i==90 ); /* COLUMN */ + testcase( i==91 ); /* COMMIT */ + testcase( i==92 ); /* CONFLICT */ + testcase( i==93 ); /* CROSS */ + testcase( i==94 ); /* CURRENT_TIMESTAMP */ + testcase( i==95 ); /* CURRENT_TIME */ + testcase( i==96 ); /* DROP */ + testcase( i==97 ); /* FAIL */ + testcase( i==98 ); /* FROM */ + testcase( i==99 ); /* FULL */ + testcase( i==100 ); /* GLOB */ + testcase( i==101 ); /* BY */ + testcase( i==102 ); /* IF */ + testcase( i==103 ); /* INNER */ + testcase( i==104 ); /* REPLACE */ + testcase( i==105 ); /* INSERT */ + testcase( i==106 ); /* ISNULL */ + testcase( i==107 ); /* ORDER */ + testcase( i==108 ); /* RESTRICT */ + testcase( i==109 ); /* RIGHT */ + testcase( i==110 ); /* ROLLBACK */ + testcase( i==111 ); /* ROWS */ + testcase( i==112 ); /* ROW */ + testcase( i==113 ); /* UNION */ + testcase( i==114 ); /* UNIQUE */ + testcase( i==115 ); /* USING */ + testcase( i==116 ); /* VACUUM */ + testcase( i==117 ); /* VIEW */ + testcase( i==118 ); /* INITIALLY */ + testcase( i==119 ); /* ALL */ *pType = aKWCode[i]; break; } @@ -150532,7 +150518,7 @@ SQLITE_PRIVATE int sqlite3KeywordCode(const unsigned char *z, int n){ keywordCode((char*)z, n, &id); return id; } -#define SQLITE_N_KEYWORD 121 +#define SQLITE_N_KEYWORD 120 SQLITE_API int sqlite3_keyword_name(int i,const char **pzName,int *pnName){ if( i<0 || i>=SQLITE_N_KEYWORD ) return SQLITE_ERROR; *pzName = zKWText + aKWOffset[i]; @@ -218923,7 +218909,7 @@ SQLITE_API int sqlite3_stmt_init( #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ /************** End of stmt.c ************************************************/ -#if __LINE__!=218926 +#if __LINE__!=218912 #undef SQLITE_SOURCE_ID #define SQLITE_SOURCE_ID "2018-11-05 20:37:38 89e099fbe5e13c33e683bef07361231ca525b88f7907be7092058007b750alt2" #endif diff --git a/third_party/sqlite/scripts/generate_amalgamation.sh b/third_party/sqlite/scripts/generate_amalgamation.sh index 65b498329d216b..7d6981e559200f 100755 --- a/third_party/sqlite/scripts/generate_amalgamation.sh +++ b/third_party/sqlite/scripts/generate_amalgamation.sh @@ -10,7 +10,7 @@ mkdir bld cd bld ../configure -OPTS="-DSQLITE_OMIT_EXPLAIN -DSQLITE_OMIT_REINDEX -DSQLITE_OMIT_UPSERT -DSQLITE_OMIT_WINDOWFUNC" +OPTS="-DSQLITE_OMIT_ANALYZE -DSQLITE_OMIT_EXPLAIN -DSQLITE_OMIT_REINDEX -DSQLITE_OMIT_UPSERT -DSQLITE_OMIT_WINDOWFUNC" make "OPTS=$OPTS" shell.c sqlite3.h sqlite3.c cp -f sqlite3.h sqlite3.c ../../amalgamation