Index: src/sqlite3.c ================================================================== --- src/sqlite3.c +++ src/sqlite3.c @@ -68858,10 +68858,11 @@ p->usesStmtJournal = (u8)(pParse->isMultiWrite && pParse->mayAbort); if( pParse->explain && nMem<10 ){ nMem = 10; } memset(zCsr, 0, nFree); + nFree -= (zCsr - (u8*)0)&7; zCsr += (zCsr - (u8*)0)&7; assert( EIGHT_BYTE_ALIGNMENT(zCsr) ); p->expired = 0; /* Memory for registers, parameters, cursor, etc, is allocated in two @@ -127203,20 +127204,20 @@ #define sqlite3ParserARG_SDECL Parse *pParse; #define sqlite3ParserARG_PDECL ,Parse *pParse #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse #define sqlite3ParserARG_STORE yypParser->pParse = pParse #define YYFALLBACK 1 -#define YYNSTATE 436 +#define YYNSTATE 440 #define YYNRULE 328 -#define YY_MAX_SHIFT 435 -#define YY_MIN_SHIFTREDUCE 649 -#define YY_MAX_SHIFTREDUCE 976 -#define YY_MIN_REDUCE 977 -#define YY_MAX_REDUCE 1304 -#define YY_ERROR_ACTION 1305 -#define YY_ACCEPT_ACTION 1306 -#define YY_NO_ACTION 1307 +#define YY_MAX_SHIFT 439 +#define YY_MIN_SHIFTREDUCE 653 +#define YY_MAX_SHIFTREDUCE 980 +#define YY_MIN_REDUCE 981 +#define YY_MAX_REDUCE 1308 +#define YY_ERROR_ACTION 1309 +#define YY_ACCEPT_ACTION 1310 +#define YY_NO_ACTION 1311 /************* End control #defines *******************************************/ /* The yyzerominor constant is used to initialize instances of ** YYMINORTYPE objects to zero. */ static const YYMINORTYPE yyzerominor = { 0 }; @@ -127284,163 +127285,163 @@ ** yy_reduce_ofst[] For each state, the offset into yy_action for ** shifting non-terminals after a reduce. ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (1501) +#define YY_ACTTAB_COUNT (1507) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 311, 1306, 145, 651, 2, 192, 652, 338, 780, 92, + /* 0 */ 315, 1310, 145, 655, 2, 192, 656, 342, 784, 92, /* 10 */ 92, 92, 92, 85, 90, 90, 90, 90, 89, 89, - /* 20 */ 88, 88, 88, 87, 335, 88, 88, 88, 87, 335, - /* 30 */ 327, 856, 856, 92, 92, 92, 92, 697, 90, 90, - /* 40 */ 90, 90, 89, 89, 88, 88, 88, 87, 335, 76, - /* 50 */ 807, 74, 93, 94, 84, 868, 871, 860, 860, 91, - /* 60 */ 91, 92, 92, 92, 92, 335, 90, 90, 90, 90, - /* 70 */ 89, 89, 88, 88, 88, 87, 335, 311, 780, 90, - /* 80 */ 90, 90, 90, 89, 89, 88, 88, 88, 87, 335, - /* 90 */ 356, 808, 776, 701, 689, 689, 86, 83, 166, 257, - /* 100 */ 809, 715, 430, 86, 83, 166, 324, 697, 856, 856, - /* 110 */ 201, 158, 276, 387, 271, 386, 188, 689, 689, 828, - /* 120 */ 86, 83, 166, 269, 833, 49, 123, 87, 335, 93, - /* 130 */ 94, 84, 868, 871, 860, 860, 91, 91, 92, 92, + /* 20 */ 88, 88, 88, 87, 339, 88, 88, 88, 87, 339, + /* 30 */ 331, 860, 860, 92, 92, 92, 92, 701, 90, 90, + /* 40 */ 90, 90, 89, 89, 88, 88, 88, 87, 339, 76, + /* 50 */ 811, 74, 93, 94, 84, 872, 875, 864, 864, 91, + /* 60 */ 91, 92, 92, 92, 92, 339, 90, 90, 90, 90, + /* 70 */ 89, 89, 88, 88, 88, 87, 339, 315, 784, 90, + /* 80 */ 90, 90, 90, 89, 89, 88, 88, 88, 87, 339, + /* 90 */ 360, 812, 780, 705, 693, 693, 86, 83, 166, 261, + /* 100 */ 813, 719, 434, 86, 83, 166, 328, 701, 860, 860, + /* 110 */ 201, 158, 280, 391, 275, 390, 188, 693, 693, 832, + /* 120 */ 86, 83, 166, 273, 837, 49, 123, 87, 339, 93, + /* 130 */ 94, 84, 872, 875, 864, 864, 91, 91, 92, 92, /* 140 */ 92, 92, 239, 90, 90, 90, 90, 89, 89, 88, - /* 150 */ 88, 88, 87, 335, 311, 763, 333, 332, 216, 408, - /* 160 */ 394, 69, 231, 393, 690, 691, 396, 910, 251, 354, - /* 170 */ 250, 288, 315, 430, 908, 430, 909, 89, 89, 88, - /* 180 */ 88, 88, 87, 335, 391, 856, 856, 690, 691, 183, - /* 190 */ 95, 123, 384, 381, 380, 833, 31, 833, 49, 912, - /* 200 */ 912, 751, 752, 379, 123, 311, 93, 94, 84, 868, - /* 210 */ 871, 860, 860, 91, 91, 92, 92, 92, 92, 114, + /* 150 */ 88, 88, 87, 339, 315, 767, 337, 336, 216, 412, + /* 160 */ 398, 69, 231, 397, 694, 695, 400, 914, 255, 358, + /* 170 */ 254, 292, 319, 434, 912, 434, 913, 89, 89, 88, + /* 180 */ 88, 88, 87, 339, 395, 860, 860, 694, 695, 183, + /* 190 */ 95, 123, 388, 385, 384, 837, 31, 837, 49, 916, + /* 200 */ 916, 755, 756, 383, 123, 315, 93, 94, 84, 872, + /* 210 */ 875, 864, 864, 91, 91, 92, 92, 92, 92, 114, /* 220 */ 90, 90, 90, 90, 89, 89, 88, 88, 88, 87, - /* 230 */ 335, 430, 408, 399, 435, 657, 856, 856, 346, 57, - /* 240 */ 232, 828, 109, 704, 366, 689, 689, 363, 825, 760, - /* 250 */ 97, 749, 752, 833, 49, 708, 708, 93, 94, 84, - /* 260 */ 868, 871, 860, 860, 91, 91, 92, 92, 92, 92, - /* 270 */ 423, 90, 90, 90, 90, 89, 89, 88, 88, 88, - /* 280 */ 87, 335, 311, 114, 22, 361, 688, 58, 408, 390, - /* 290 */ 251, 349, 240, 213, 762, 689, 689, 847, 685, 115, - /* 300 */ 361, 231, 393, 689, 689, 396, 183, 689, 689, 384, - /* 310 */ 381, 380, 361, 856, 856, 690, 691, 160, 159, 223, - /* 320 */ 379, 738, 25, 806, 707, 841, 143, 689, 689, 835, - /* 330 */ 392, 339, 766, 766, 93, 94, 84, 868, 871, 860, - /* 340 */ 860, 91, 91, 92, 92, 92, 92, 914, 90, 90, - /* 350 */ 90, 90, 89, 89, 88, 88, 88, 87, 335, 311, - /* 360 */ 840, 840, 840, 266, 257, 690, 691, 778, 706, 86, - /* 370 */ 83, 166, 219, 690, 691, 737, 1, 690, 691, 689, - /* 380 */ 689, 689, 689, 430, 86, 83, 166, 249, 688, 937, - /* 390 */ 856, 856, 427, 699, 700, 828, 298, 690, 691, 221, - /* 400 */ 686, 115, 123, 944, 795, 833, 48, 342, 305, 970, - /* 410 */ 847, 93, 94, 84, 868, 871, 860, 860, 91, 91, + /* 230 */ 339, 434, 412, 403, 439, 661, 860, 860, 350, 57, + /* 240 */ 232, 832, 109, 708, 370, 693, 693, 367, 829, 764, + /* 250 */ 97, 753, 756, 837, 49, 712, 712, 93, 94, 84, + /* 260 */ 872, 875, 864, 864, 91, 91, 92, 92, 92, 92, + /* 270 */ 427, 90, 90, 90, 90, 89, 89, 88, 88, 88, + /* 280 */ 87, 339, 315, 114, 22, 365, 692, 58, 412, 394, + /* 290 */ 255, 353, 242, 213, 766, 693, 693, 851, 689, 115, + /* 300 */ 365, 231, 397, 693, 693, 400, 183, 693, 693, 388, + /* 310 */ 385, 384, 365, 860, 860, 694, 695, 160, 159, 223, + /* 320 */ 383, 742, 25, 810, 711, 845, 143, 693, 693, 839, + /* 330 */ 396, 343, 770, 770, 93, 94, 84, 872, 875, 864, + /* 340 */ 864, 91, 91, 92, 92, 92, 92, 918, 90, 90, + /* 350 */ 90, 90, 89, 89, 88, 88, 88, 87, 339, 315, + /* 360 */ 844, 844, 844, 270, 261, 694, 695, 782, 710, 86, + /* 370 */ 83, 166, 219, 694, 695, 741, 1, 694, 695, 693, + /* 380 */ 693, 693, 693, 434, 86, 83, 166, 253, 692, 941, + /* 390 */ 860, 860, 431, 703, 704, 832, 302, 694, 695, 221, + /* 400 */ 690, 115, 123, 948, 799, 837, 48, 346, 309, 974, + /* 410 */ 851, 93, 94, 84, 872, 875, 864, 864, 91, 91, /* 420 */ 92, 92, 92, 92, 114, 90, 90, 90, 90, 89, - /* 430 */ 89, 88, 88, 88, 87, 335, 311, 940, 841, 679, - /* 440 */ 713, 429, 835, 430, 251, 354, 250, 355, 288, 690, - /* 450 */ 691, 690, 691, 285, 941, 340, 971, 287, 210, 23, - /* 460 */ 174, 793, 832, 430, 353, 833, 10, 856, 856, 24, - /* 470 */ 942, 151, 753, 840, 840, 840, 794, 968, 1290, 321, - /* 480 */ 398, 1290, 356, 352, 754, 833, 49, 935, 93, 94, - /* 490 */ 84, 868, 871, 860, 860, 91, 91, 92, 92, 92, - /* 500 */ 92, 430, 90, 90, 90, 90, 89, 89, 88, 88, - /* 510 */ 88, 87, 335, 311, 376, 114, 907, 705, 430, 907, - /* 520 */ 328, 890, 114, 833, 10, 966, 430, 857, 857, 320, - /* 530 */ 189, 163, 832, 165, 430, 906, 344, 323, 906, 904, - /* 540 */ 833, 10, 965, 306, 856, 856, 187, 419, 833, 10, - /* 550 */ 220, 869, 872, 832, 222, 403, 833, 49, 1219, 793, - /* 560 */ 68, 937, 406, 245, 66, 93, 94, 84, 868, 871, - /* 570 */ 860, 860, 91, 91, 92, 92, 92, 92, 861, 90, - /* 580 */ 90, 90, 90, 89, 89, 88, 88, 88, 87, 335, - /* 590 */ 311, 404, 213, 762, 834, 345, 114, 940, 902, 368, - /* 600 */ 727, 5, 316, 192, 396, 772, 780, 269, 230, 242, - /* 610 */ 771, 244, 397, 164, 941, 385, 123, 347, 55, 355, - /* 620 */ 329, 856, 856, 728, 333, 332, 688, 968, 1291, 724, - /* 630 */ 942, 1291, 413, 214, 833, 9, 362, 286, 955, 115, - /* 640 */ 718, 311, 93, 94, 84, 868, 871, 860, 860, 91, - /* 650 */ 91, 92, 92, 92, 92, 430, 90, 90, 90, 90, - /* 660 */ 89, 89, 88, 88, 88, 87, 335, 912, 912, 1300, - /* 670 */ 1300, 758, 856, 856, 325, 966, 780, 833, 35, 747, - /* 680 */ 720, 334, 699, 700, 977, 652, 338, 243, 745, 920, - /* 690 */ 920, 369, 187, 93, 94, 84, 868, 871, 860, 860, + /* 430 */ 89, 88, 88, 88, 87, 339, 315, 944, 845, 683, + /* 440 */ 717, 433, 839, 434, 255, 358, 254, 359, 292, 694, + /* 450 */ 695, 694, 695, 289, 945, 344, 975, 291, 210, 23, + /* 460 */ 174, 797, 836, 434, 357, 837, 10, 860, 860, 24, + /* 470 */ 946, 151, 757, 844, 844, 844, 798, 972, 1294, 325, + /* 480 */ 402, 1294, 360, 356, 758, 837, 49, 939, 93, 94, + /* 490 */ 84, 872, 875, 864, 864, 91, 91, 92, 92, 92, + /* 500 */ 92, 434, 90, 90, 90, 90, 89, 89, 88, 88, + /* 510 */ 88, 87, 339, 315, 380, 114, 911, 709, 434, 911, + /* 520 */ 332, 894, 114, 837, 10, 970, 434, 861, 861, 324, + /* 530 */ 189, 163, 836, 165, 434, 910, 348, 327, 910, 908, + /* 540 */ 837, 10, 969, 310, 860, 860, 187, 423, 837, 10, + /* 550 */ 220, 873, 876, 836, 222, 407, 837, 49, 1223, 797, + /* 560 */ 68, 941, 410, 249, 66, 93, 94, 84, 872, 875, + /* 570 */ 864, 864, 91, 91, 92, 92, 92, 92, 865, 90, + /* 580 */ 90, 90, 90, 89, 89, 88, 88, 88, 87, 339, + /* 590 */ 315, 408, 213, 766, 838, 349, 114, 944, 906, 372, + /* 600 */ 731, 5, 320, 192, 400, 776, 784, 273, 230, 246, + /* 610 */ 775, 248, 401, 164, 945, 389, 123, 351, 55, 359, + /* 620 */ 333, 860, 860, 732, 337, 336, 692, 972, 1295, 728, + /* 630 */ 946, 1295, 417, 214, 837, 9, 366, 290, 959, 115, + /* 640 */ 722, 315, 93, 94, 84, 872, 875, 864, 864, 91, + /* 650 */ 91, 92, 92, 92, 92, 434, 90, 90, 90, 90, + /* 660 */ 89, 89, 88, 88, 88, 87, 339, 916, 916, 1304, + /* 670 */ 1304, 762, 860, 860, 329, 970, 784, 837, 35, 751, + /* 680 */ 724, 338, 703, 704, 981, 656, 342, 247, 749, 924, + /* 690 */ 924, 373, 187, 93, 94, 84, 872, 875, 864, 864, /* 700 */ 91, 91, 92, 92, 92, 92, 114, 90, 90, 90, - /* 710 */ 90, 89, 89, 88, 88, 88, 87, 335, 311, 430, - /* 720 */ 954, 430, 112, 310, 430, 693, 317, 698, 400, 430, - /* 730 */ 793, 359, 430, 1017, 430, 192, 430, 401, 780, 430, - /* 740 */ 360, 833, 36, 833, 12, 430, 833, 27, 316, 856, - /* 750 */ 856, 833, 37, 20, 833, 38, 833, 39, 833, 28, - /* 760 */ 72, 833, 29, 663, 664, 665, 264, 833, 40, 234, - /* 770 */ 93, 94, 84, 868, 871, 860, 860, 91, 91, 92, - /* 780 */ 92, 92, 92, 430, 90, 90, 90, 90, 89, 89, - /* 790 */ 88, 88, 88, 87, 335, 311, 430, 698, 430, 917, - /* 800 */ 147, 430, 165, 916, 275, 833, 41, 430, 780, 430, - /* 810 */ 21, 430, 259, 430, 262, 274, 430, 367, 833, 42, - /* 820 */ 833, 11, 430, 833, 43, 235, 856, 856, 793, 833, - /* 830 */ 99, 833, 44, 833, 45, 833, 32, 75, 833, 46, - /* 840 */ 305, 967, 257, 257, 833, 47, 311, 93, 94, 84, - /* 850 */ 868, 871, 860, 860, 91, 91, 92, 92, 92, 92, - /* 860 */ 430, 90, 90, 90, 90, 89, 89, 88, 88, 88, - /* 870 */ 87, 335, 430, 186, 185, 184, 238, 856, 856, 650, - /* 880 */ 2, 1064, 833, 33, 739, 217, 218, 257, 971, 257, - /* 890 */ 426, 317, 257, 774, 833, 117, 257, 311, 93, 94, - /* 900 */ 84, 868, 871, 860, 860, 91, 91, 92, 92, 92, - /* 910 */ 92, 430, 90, 90, 90, 90, 89, 89, 88, 88, - /* 920 */ 88, 87, 335, 430, 318, 124, 212, 163, 856, 856, - /* 930 */ 943, 900, 898, 833, 118, 759, 726, 725, 257, 755, - /* 940 */ 289, 289, 733, 734, 961, 833, 119, 682, 311, 93, - /* 950 */ 82, 84, 868, 871, 860, 860, 91, 91, 92, 92, - /* 960 */ 92, 92, 430, 90, 90, 90, 90, 89, 89, 88, - /* 970 */ 88, 88, 87, 335, 430, 716, 246, 322, 331, 856, - /* 980 */ 856, 256, 114, 357, 833, 53, 808, 913, 913, 932, - /* 990 */ 156, 416, 420, 424, 930, 809, 833, 34, 364, 311, - /* 1000 */ 253, 94, 84, 868, 871, 860, 860, 91, 91, 92, - /* 1010 */ 92, 92, 92, 430, 90, 90, 90, 90, 89, 89, - /* 1020 */ 88, 88, 88, 87, 335, 430, 114, 114, 114, 960, - /* 1030 */ 856, 856, 307, 258, 830, 833, 100, 191, 252, 377, - /* 1040 */ 267, 68, 197, 68, 261, 716, 769, 833, 50, 71, - /* 1050 */ 911, 911, 263, 84, 868, 871, 860, 860, 91, 91, - /* 1060 */ 92, 92, 92, 92, 430, 90, 90, 90, 90, 89, - /* 1070 */ 89, 88, 88, 88, 87, 335, 80, 425, 802, 3, - /* 1080 */ 1214, 191, 430, 265, 336, 336, 833, 101, 741, 80, - /* 1090 */ 425, 897, 3, 723, 722, 428, 721, 336, 336, 430, - /* 1100 */ 893, 270, 430, 197, 833, 102, 430, 800, 428, 430, - /* 1110 */ 695, 430, 843, 111, 414, 430, 784, 409, 430, 831, - /* 1120 */ 430, 833, 98, 123, 833, 116, 847, 414, 833, 49, - /* 1130 */ 779, 833, 113, 833, 106, 226, 123, 833, 105, 847, - /* 1140 */ 833, 103, 833, 104, 791, 411, 77, 78, 290, 412, - /* 1150 */ 430, 291, 114, 79, 432, 431, 389, 430, 835, 77, - /* 1160 */ 78, 897, 839, 408, 410, 430, 79, 432, 431, 372, - /* 1170 */ 703, 835, 833, 52, 430, 80, 425, 430, 3, 833, - /* 1180 */ 54, 772, 843, 336, 336, 684, 771, 833, 51, 840, - /* 1190 */ 840, 840, 842, 19, 428, 672, 833, 26, 671, 833, - /* 1200 */ 30, 673, 840, 840, 840, 842, 19, 207, 661, 278, - /* 1210 */ 304, 148, 280, 414, 282, 248, 358, 822, 382, 6, - /* 1220 */ 348, 161, 273, 80, 425, 847, 3, 934, 895, 720, - /* 1230 */ 894, 336, 336, 296, 157, 415, 241, 284, 674, 958, - /* 1240 */ 194, 953, 428, 951, 948, 77, 78, 777, 319, 56, - /* 1250 */ 59, 135, 79, 432, 431, 121, 66, 835, 146, 128, - /* 1260 */ 350, 414, 819, 130, 351, 131, 132, 133, 375, 173, - /* 1270 */ 107, 138, 149, 847, 365, 178, 62, 70, 425, 936, - /* 1280 */ 3, 827, 889, 371, 255, 336, 336, 792, 840, 840, - /* 1290 */ 840, 842, 19, 77, 78, 915, 428, 208, 179, 144, - /* 1300 */ 79, 432, 431, 373, 260, 835, 180, 326, 675, 181, - /* 1310 */ 308, 744, 388, 743, 731, 414, 718, 742, 730, 712, - /* 1320 */ 402, 309, 711, 272, 788, 65, 710, 847, 709, 277, - /* 1330 */ 193, 789, 787, 279, 876, 73, 840, 840, 840, 842, - /* 1340 */ 19, 786, 281, 418, 283, 422, 227, 77, 78, 330, - /* 1350 */ 228, 229, 96, 767, 79, 432, 431, 407, 67, 835, - /* 1360 */ 215, 292, 293, 405, 294, 303, 302, 301, 204, 299, - /* 1370 */ 295, 202, 676, 681, 7, 433, 669, 203, 205, 206, - /* 1380 */ 125, 110, 313, 434, 667, 666, 658, 168, 224, 237, - /* 1390 */ 840, 840, 840, 842, 19, 120, 656, 337, 236, 155, - /* 1400 */ 167, 341, 233, 314, 108, 905, 903, 826, 127, 126, - /* 1410 */ 756, 170, 129, 172, 247, 928, 134, 136, 171, 60, - /* 1420 */ 61, 123, 169, 137, 933, 175, 176, 927, 8, 13, - /* 1430 */ 177, 254, 918, 139, 191, 924, 140, 370, 678, 150, - /* 1440 */ 374, 182, 274, 268, 141, 122, 63, 14, 378, 15, - /* 1450 */ 383, 64, 225, 846, 845, 874, 16, 4, 729, 765, - /* 1460 */ 770, 162, 395, 209, 211, 142, 801, 878, 796, 312, - /* 1470 */ 71, 68, 875, 873, 939, 190, 417, 938, 17, 195, - /* 1480 */ 196, 152, 18, 975, 199, 976, 153, 198, 154, 421, - /* 1490 */ 877, 844, 696, 81, 200, 297, 343, 1019, 1018, 300, - /* 1500 */ 653, + /* 710 */ 90, 89, 89, 88, 88, 88, 87, 339, 315, 434, + /* 720 */ 958, 434, 112, 314, 434, 697, 321, 702, 404, 434, + /* 730 */ 797, 363, 434, 1021, 434, 192, 434, 405, 784, 434, + /* 740 */ 364, 837, 36, 837, 12, 434, 837, 27, 320, 860, + /* 750 */ 860, 837, 37, 20, 837, 38, 837, 39, 837, 28, + /* 760 */ 72, 837, 29, 667, 668, 669, 268, 837, 40, 234, + /* 770 */ 93, 94, 84, 872, 875, 864, 864, 91, 91, 92, + /* 780 */ 92, 92, 92, 434, 90, 90, 90, 90, 89, 89, + /* 790 */ 88, 88, 88, 87, 339, 315, 434, 702, 434, 921, + /* 800 */ 147, 434, 165, 920, 279, 837, 41, 434, 784, 434, + /* 810 */ 21, 434, 263, 434, 266, 278, 434, 371, 837, 42, + /* 820 */ 837, 11, 434, 837, 43, 235, 860, 860, 797, 837, + /* 830 */ 99, 837, 44, 837, 45, 837, 32, 75, 837, 46, + /* 840 */ 309, 971, 261, 261, 837, 47, 315, 93, 94, 84, + /* 850 */ 872, 875, 864, 864, 91, 91, 92, 92, 92, 92, + /* 860 */ 434, 90, 90, 90, 90, 89, 89, 88, 88, 88, + /* 870 */ 87, 339, 434, 186, 185, 184, 238, 860, 860, 654, + /* 880 */ 2, 1068, 837, 33, 743, 217, 218, 261, 975, 261, + /* 890 */ 430, 321, 261, 778, 837, 117, 261, 315, 93, 94, + /* 900 */ 84, 872, 875, 864, 864, 91, 91, 92, 92, 92, + /* 910 */ 92, 434, 90, 90, 90, 90, 89, 89, 88, 88, + /* 920 */ 88, 87, 339, 434, 322, 124, 212, 163, 860, 860, + /* 930 */ 947, 904, 902, 837, 118, 763, 730, 729, 261, 759, + /* 940 */ 293, 293, 737, 738, 965, 837, 119, 686, 315, 93, + /* 950 */ 82, 84, 872, 875, 864, 864, 91, 91, 92, 92, + /* 960 */ 92, 92, 434, 90, 90, 90, 90, 89, 89, 88, + /* 970 */ 88, 88, 87, 339, 434, 720, 250, 326, 335, 860, + /* 980 */ 860, 260, 114, 361, 837, 53, 812, 917, 917, 936, + /* 990 */ 156, 420, 424, 428, 934, 813, 837, 34, 368, 315, + /* 1000 */ 257, 94, 84, 872, 875, 864, 864, 91, 91, 92, + /* 1010 */ 92, 92, 92, 434, 90, 90, 90, 90, 89, 89, + /* 1020 */ 88, 88, 88, 87, 339, 434, 114, 114, 114, 964, + /* 1030 */ 860, 860, 311, 262, 834, 837, 100, 191, 256, 381, + /* 1040 */ 271, 68, 197, 68, 265, 720, 773, 837, 50, 71, + /* 1050 */ 915, 915, 267, 84, 872, 875, 864, 864, 91, 91, + /* 1060 */ 92, 92, 92, 92, 434, 90, 90, 90, 90, 89, + /* 1070 */ 89, 88, 88, 88, 87, 339, 80, 429, 806, 3, + /* 1080 */ 1218, 191, 434, 269, 340, 340, 837, 101, 745, 80, + /* 1090 */ 429, 901, 3, 727, 726, 432, 725, 340, 340, 434, + /* 1100 */ 897, 274, 434, 197, 837, 102, 434, 804, 432, 434, + /* 1110 */ 699, 434, 847, 111, 418, 434, 788, 413, 434, 835, + /* 1120 */ 434, 837, 98, 123, 837, 116, 851, 418, 837, 49, + /* 1130 */ 783, 837, 113, 837, 106, 226, 123, 837, 105, 851, + /* 1140 */ 837, 103, 837, 104, 795, 415, 77, 78, 294, 416, + /* 1150 */ 434, 295, 114, 79, 436, 435, 393, 434, 839, 77, + /* 1160 */ 78, 901, 843, 412, 414, 434, 79, 436, 435, 376, + /* 1170 */ 707, 839, 837, 52, 434, 80, 429, 434, 3, 837, + /* 1180 */ 54, 776, 847, 340, 340, 688, 775, 837, 51, 844, + /* 1190 */ 844, 844, 846, 19, 432, 676, 837, 26, 675, 837, + /* 1200 */ 30, 677, 844, 844, 844, 846, 19, 207, 665, 282, + /* 1210 */ 308, 148, 284, 418, 286, 252, 362, 241, 386, 6, + /* 1220 */ 352, 161, 277, 80, 429, 851, 3, 938, 899, 724, + /* 1230 */ 898, 340, 340, 300, 157, 419, 245, 288, 678, 962, + /* 1240 */ 194, 957, 432, 955, 952, 77, 78, 781, 323, 56, + /* 1250 */ 59, 135, 79, 436, 435, 96, 411, 839, 146, 826, + /* 1260 */ 240, 418, 121, 128, 66, 823, 244, 243, 354, 130, + /* 1270 */ 107, 355, 131, 851, 132, 133, 940, 70, 429, 379, + /* 1280 */ 3, 173, 138, 831, 149, 340, 340, 369, 844, 844, + /* 1290 */ 844, 846, 19, 77, 78, 178, 432, 893, 62, 375, + /* 1300 */ 79, 436, 435, 919, 259, 839, 796, 208, 179, 144, + /* 1310 */ 377, 264, 180, 392, 679, 418, 181, 312, 748, 747, + /* 1320 */ 746, 330, 716, 735, 313, 722, 406, 851, 792, 715, + /* 1330 */ 65, 281, 283, 276, 793, 791, 844, 844, 844, 846, + /* 1340 */ 19, 714, 713, 734, 285, 193, 287, 77, 78, 880, + /* 1350 */ 790, 73, 227, 422, 79, 436, 435, 334, 426, 839, + /* 1360 */ 215, 67, 409, 228, 298, 307, 306, 305, 204, 303, + /* 1370 */ 229, 771, 680, 296, 297, 299, 202, 685, 7, 437, + /* 1380 */ 673, 203, 206, 205, 660, 438, 317, 168, 671, 237, + /* 1390 */ 844, 844, 844, 846, 19, 670, 662, 110, 236, 318, + /* 1400 */ 125, 224, 341, 120, 155, 233, 167, 345, 108, 909, + /* 1410 */ 907, 170, 830, 126, 127, 760, 129, 251, 171, 172, + /* 1420 */ 932, 123, 169, 134, 60, 61, 136, 137, 937, 175, + /* 1430 */ 176, 931, 8, 13, 177, 922, 258, 139, 191, 928, + /* 1440 */ 374, 140, 150, 682, 378, 278, 182, 382, 141, 122, + /* 1450 */ 63, 14, 733, 769, 272, 15, 387, 64, 225, 850, + /* 1460 */ 849, 878, 16, 882, 774, 4, 162, 209, 399, 316, + /* 1470 */ 211, 142, 800, 805, 71, 190, 68, 879, 877, 943, + /* 1480 */ 199, 942, 17, 195, 196, 421, 979, 18, 152, 153, + /* 1490 */ 198, 980, 154, 425, 881, 848, 347, 700, 81, 200, + /* 1500 */ 301, 1023, 304, 657, 983, 983, 1022, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 19, 144, 145, 146, 147, 24, 1, 2, 27, 80, /* 10 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, /* 20 */ 91, 92, 93, 94, 95, 91, 92, 93, 94, 95, @@ -127564,41 +127565,41 @@ /* 1200 */ 175, 152, 132, 133, 134, 135, 136, 234, 152, 212, /* 1210 */ 150, 199, 212, 57, 212, 240, 240, 203, 178, 200, /* 1220 */ 216, 186, 177, 19, 20, 69, 22, 203, 177, 182, /* 1230 */ 177, 27, 28, 202, 200, 228, 216, 216, 155, 39, /* 1240 */ 122, 159, 38, 159, 41, 89, 90, 91, 159, 241, - /* 1250 */ 241, 22, 96, 97, 98, 71, 130, 101, 222, 191, - /* 1260 */ 18, 57, 203, 194, 159, 194, 194, 194, 18, 158, - /* 1270 */ 244, 191, 222, 69, 159, 158, 137, 19, 20, 203, - /* 1280 */ 22, 191, 203, 46, 236, 27, 28, 159, 132, 133, - /* 1290 */ 134, 135, 136, 89, 90, 237, 38, 159, 158, 22, - /* 1300 */ 96, 97, 98, 179, 159, 101, 158, 48, 159, 158, - /* 1310 */ 179, 176, 107, 176, 184, 57, 106, 176, 184, 176, - /* 1320 */ 125, 179, 178, 176, 218, 107, 176, 69, 176, 217, - /* 1330 */ 159, 218, 218, 217, 159, 137, 132, 133, 134, 135, - /* 1340 */ 136, 218, 217, 179, 217, 179, 227, 89, 90, 95, - /* 1350 */ 230, 230, 129, 207, 96, 97, 98, 126, 128, 101, - /* 1360 */ 5, 206, 205, 127, 204, 10, 11, 12, 13, 14, - /* 1370 */ 203, 25, 17, 162, 26, 161, 13, 153, 153, 6, - /* 1380 */ 247, 180, 250, 151, 151, 151, 151, 32, 180, 34, - /* 1390 */ 132, 133, 134, 135, 136, 167, 4, 3, 43, 22, - /* 1400 */ 15, 68, 142, 250, 16, 23, 23, 120, 111, 131, - /* 1410 */ 20, 56, 123, 125, 16, 1, 123, 131, 63, 79, - /* 1420 */ 79, 66, 67, 111, 28, 36, 122, 1, 5, 22, - /* 1430 */ 107, 140, 54, 54, 26, 61, 107, 44, 20, 24, - /* 1440 */ 19, 105, 112, 23, 22, 40, 22, 22, 53, 22, - /* 1450 */ 53, 22, 53, 23, 23, 23, 22, 22, 30, 116, - /* 1460 */ 23, 122, 26, 23, 23, 22, 28, 11, 124, 114, - /* 1470 */ 26, 26, 23, 23, 23, 36, 24, 23, 36, 26, - /* 1480 */ 22, 22, 36, 23, 122, 23, 22, 26, 22, 24, - /* 1490 */ 23, 23, 23, 22, 122, 23, 141, 122, 122, 15, - /* 1500 */ 1, + /* 1250 */ 241, 22, 96, 97, 98, 129, 126, 101, 222, 207, + /* 1260 */ 206, 57, 71, 191, 130, 207, 203, 206, 18, 194, + /* 1270 */ 244, 159, 194, 69, 194, 194, 203, 19, 20, 18, + /* 1280 */ 22, 158, 191, 191, 222, 27, 28, 159, 132, 133, + /* 1290 */ 134, 135, 136, 89, 90, 158, 38, 203, 137, 46, + /* 1300 */ 96, 97, 98, 237, 236, 101, 159, 159, 158, 22, + /* 1310 */ 179, 159, 158, 107, 159, 57, 158, 179, 176, 176, + /* 1320 */ 176, 48, 176, 184, 179, 106, 125, 69, 218, 178, + /* 1330 */ 107, 217, 217, 176, 218, 218, 132, 133, 134, 135, + /* 1340 */ 136, 176, 176, 184, 217, 159, 217, 89, 90, 159, + /* 1350 */ 218, 137, 227, 179, 96, 97, 98, 95, 179, 101, + /* 1360 */ 5, 128, 127, 230, 204, 10, 11, 12, 13, 14, + /* 1370 */ 230, 207, 17, 206, 205, 203, 25, 162, 26, 161, + /* 1380 */ 13, 153, 6, 153, 4, 151, 250, 32, 151, 34, + /* 1390 */ 132, 133, 134, 135, 136, 151, 151, 180, 43, 250, + /* 1400 */ 247, 180, 3, 167, 22, 142, 15, 68, 16, 23, + /* 1410 */ 23, 56, 120, 131, 111, 20, 123, 16, 63, 125, + /* 1420 */ 1, 66, 67, 123, 79, 79, 131, 111, 28, 36, + /* 1430 */ 122, 1, 5, 22, 107, 54, 140, 54, 26, 61, + /* 1440 */ 44, 107, 24, 20, 19, 112, 105, 53, 22, 40, + /* 1450 */ 22, 22, 30, 116, 23, 22, 53, 22, 53, 23, + /* 1460 */ 23, 23, 22, 11, 23, 22, 122, 23, 26, 114, + /* 1470 */ 23, 22, 124, 28, 26, 36, 26, 23, 23, 23, + /* 1480 */ 122, 23, 36, 26, 22, 24, 23, 36, 22, 22, + /* 1490 */ 26, 23, 22, 24, 23, 23, 141, 23, 22, 122, + /* 1500 */ 23, 122, 15, 1, 252, 252, 122, }; #define YY_SHIFT_USE_DFLT (-89) -#define YY_SHIFT_COUNT (435) +#define YY_SHIFT_COUNT (439) #define YY_SHIFT_MIN (-88) -#define YY_SHIFT_MAX (1499) +#define YY_SHIFT_MAX (1502) static const short yy_shift_ofst[] = { /* 0 */ 5, 1057, 1355, 1070, 1204, 1204, 1204, 90, 60, -19, /* 10 */ 58, 58, 186, 1204, 1204, 1204, 1204, 1204, 1204, 1204, /* 20 */ 67, 67, 182, 336, 218, 550, 135, 263, 340, 417, /* 30 */ 494, 571, 622, 699, 776, 827, 827, 827, 827, 827, @@ -127620,35 +127621,35 @@ /* 190 */ 218, 218, 218, 579, 218, 218, 585, 218, 218, 218, /* 200 */ 218, 218, 218, 218, 218, 218, 218, 581, 768, 711, /* 210 */ 711, 711, 704, 215, 1065, 756, 434, 709, 709, 712, /* 220 */ 434, 712, 534, 858, 641, 953, 709, -88, 953, 953, /* 230 */ 867, 489, 447, 1200, 1118, 1118, 1203, 1203, 1118, 1229, - /* 240 */ 1184, 1126, 1242, 1242, 1242, 1242, 1118, 1250, 1126, 1229, - /* 250 */ 1184, 1184, 1126, 1118, 1250, 1139, 1237, 1118, 1118, 1250, - /* 260 */ 1277, 1118, 1250, 1118, 1250, 1277, 1205, 1205, 1205, 1259, - /* 270 */ 1277, 1205, 1210, 1205, 1259, 1205, 1205, 1195, 1218, 1195, - /* 280 */ 1218, 1195, 1218, 1195, 1218, 1118, 1118, 1198, 1277, 1254, - /* 290 */ 1254, 1277, 1223, 1231, 1230, 1236, 1126, 1346, 1348, 1363, - /* 300 */ 1363, 1373, 1373, 1373, 1373, -89, -89, -89, -89, -89, - /* 310 */ -89, 477, 547, 386, 818, 750, 765, 700, 1006, 731, - /* 320 */ 1011, 1015, 1016, 1017, 948, 836, 935, 703, 1023, 1055, - /* 330 */ 1064, 1077, 855, 918, 1087, 1085, 611, 1392, 1394, 1377, - /* 340 */ 1260, 1385, 1333, 1388, 1382, 1383, 1287, 1278, 1297, 1289, - /* 350 */ 1390, 1288, 1398, 1414, 1293, 1286, 1340, 1341, 1312, 1396, - /* 360 */ 1389, 1304, 1426, 1423, 1407, 1323, 1291, 1378, 1408, 1379, - /* 370 */ 1374, 1393, 1329, 1415, 1418, 1421, 1330, 1336, 1422, 1395, - /* 380 */ 1424, 1425, 1420, 1427, 1397, 1428, 1429, 1399, 1405, 1430, - /* 390 */ 1431, 1432, 1343, 1434, 1437, 1435, 1436, 1339, 1440, 1441, - /* 400 */ 1438, 1439, 1443, 1344, 1444, 1442, 1445, 1446, 1444, 1449, - /* 410 */ 1450, 1451, 1453, 1454, 1458, 1456, 1460, 1459, 1452, 1461, - /* 420 */ 1462, 1464, 1465, 1461, 1467, 1466, 1468, 1469, 1471, 1362, - /* 430 */ 1372, 1375, 1376, 1472, 1484, 1499, + /* 240 */ 1126, 1130, 1191, 1126, 1130, 1134, 1250, 1250, 1250, 1250, + /* 250 */ 1118, 1261, 1134, 1229, 1191, 1191, 1134, 1118, 1261, 1161, + /* 260 */ 1253, 1118, 1118, 1261, 1287, 1118, 1261, 1118, 1261, 1287, + /* 270 */ 1206, 1206, 1206, 1273, 1287, 1206, 1219, 1206, 1273, 1206, + /* 280 */ 1206, 1201, 1223, 1201, 1223, 1201, 1223, 1201, 1223, 1118, + /* 290 */ 1118, 1214, 1287, 1262, 1262, 1287, 1126, 1130, 1233, 1235, + /* 300 */ 1134, 1351, 1352, 1367, 1367, 1376, 1376, 1376, 1376, -89, + /* 310 */ -89, -89, -89, -89, -89, 477, 547, 386, 818, 750, + /* 320 */ 765, 700, 1006, 731, 1011, 1015, 1016, 1017, 948, 836, + /* 330 */ 935, 703, 1023, 1055, 1064, 1077, 855, 918, 1087, 1085, + /* 340 */ 611, 1380, 1399, 1382, 1263, 1391, 1339, 1392, 1386, 1387, + /* 350 */ 1292, 1282, 1303, 1293, 1395, 1294, 1401, 1419, 1300, 1295, + /* 360 */ 1345, 1346, 1316, 1400, 1393, 1308, 1430, 1427, 1411, 1327, + /* 370 */ 1296, 1381, 1412, 1383, 1378, 1396, 1334, 1418, 1423, 1425, + /* 380 */ 1333, 1341, 1426, 1394, 1428, 1429, 1431, 1433, 1403, 1422, + /* 390 */ 1435, 1405, 1409, 1436, 1437, 1438, 1337, 1440, 1441, 1443, + /* 400 */ 1442, 1344, 1444, 1447, 1445, 1439, 1449, 1348, 1448, 1446, + /* 410 */ 1450, 1451, 1448, 1454, 1455, 1456, 1457, 1458, 1462, 1452, + /* 420 */ 1463, 1466, 1461, 1464, 1468, 1467, 1469, 1464, 1471, 1470, + /* 430 */ 1472, 1474, 1476, 1358, 1377, 1379, 1384, 1477, 1487, 1502, }; #define YY_REDUCE_USE_DFLT (-144) -#define YY_REDUCE_COUNT (310) +#define YY_REDUCE_COUNT (314) #define YY_REDUCE_MIN (-143) -#define YY_REDUCE_MAX (1235) +#define YY_REDUCE_MAX (1245) static const short yy_reduce_ofst[] = { /* 0 */ -143, 954, 86, 21, -50, 23, 79, 134, 226, -120, /* 10 */ -127, 146, 161, 291, 349, 366, 311, 382, 374, 231, /* 20 */ 364, 367, 396, 398, 236, 317, -103, -103, -103, -103, /* 30 */ -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, @@ -127670,64 +127671,64 @@ /* 190 */ 955, 967, 978, 923, 992, 993, 956, 996, 999, 1010, /* 200 */ 289, 1018, 1033, 1043, 1046, 1049, 1056, 934, 973, 997, /* 210 */ 1000, 1002, 901, 1012, 1019, 1060, 1014, 1004, 1020, 975, /* 220 */ 1024, 976, 1040, 1035, 1047, 1045, 1021, 1007, 1051, 1053, /* 230 */ 1031, 1034, 1083, 1026, 1082, 1084, 1008, 1009, 1089, 1036, - /* 240 */ 1068, 1059, 1069, 1071, 1072, 1073, 1105, 1111, 1076, 1050, - /* 250 */ 1080, 1090, 1079, 1115, 1117, 1058, 1048, 1128, 1138, 1140, - /* 260 */ 1124, 1145, 1148, 1149, 1151, 1131, 1135, 1137, 1141, 1130, - /* 270 */ 1142, 1143, 1144, 1147, 1134, 1150, 1152, 1106, 1112, 1113, - /* 280 */ 1116, 1114, 1125, 1123, 1127, 1171, 1175, 1119, 1164, 1120, - /* 290 */ 1121, 1166, 1146, 1155, 1157, 1160, 1167, 1211, 1214, 1224, - /* 300 */ 1225, 1232, 1233, 1234, 1235, 1132, 1153, 1133, 1201, 1208, - /* 310 */ 1228, + /* 240 */ 1052, 1054, 1072, 1058, 1061, 1063, 1075, 1078, 1080, 1081, + /* 250 */ 1112, 1123, 1073, 1062, 1091, 1092, 1094, 1128, 1137, 1066, + /* 260 */ 1068, 1147, 1148, 1150, 1131, 1152, 1154, 1155, 1158, 1138, + /* 270 */ 1142, 1143, 1144, 1139, 1145, 1146, 1151, 1157, 1159, 1165, + /* 280 */ 1166, 1110, 1114, 1116, 1115, 1117, 1127, 1132, 1129, 1186, + /* 290 */ 1190, 1125, 1174, 1133, 1140, 1179, 1164, 1167, 1169, 1160, + /* 300 */ 1172, 1215, 1218, 1228, 1230, 1234, 1237, 1244, 1245, 1136, + /* 310 */ 1149, 1153, 1217, 1221, 1236, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 982, 1300, 1300, 1300, 1214, 1214, 1214, 1305, 1300, 1109, - /* 10 */ 1138, 1138, 1274, 1305, 1305, 1305, 1305, 1305, 1305, 1212, - /* 20 */ 1305, 1305, 1305, 1300, 1305, 1113, 1144, 1305, 1305, 1305, - /* 30 */ 1305, 1305, 1305, 1305, 1305, 1273, 1275, 1152, 1151, 1254, - /* 40 */ 1125, 1149, 1142, 1146, 1215, 1208, 1209, 1207, 1211, 1216, - /* 50 */ 1305, 1145, 1177, 1192, 1176, 1305, 1305, 1305, 1305, 1305, - /* 60 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 70 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 80 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 90 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1186, 1191, - /* 100 */ 1198, 1190, 1187, 1179, 1178, 1180, 1181, 1305, 1305, 1008, - /* 110 */ 1074, 1305, 1305, 1182, 1305, 1020, 1183, 1195, 1194, 1193, - /* 120 */ 1015, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 130 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 140 */ 1305, 1305, 1305, 1305, 1305, 982, 1300, 1305, 1305, 1300, - /* 150 */ 1300, 1300, 1300, 1300, 1300, 1292, 1113, 1103, 1305, 1305, - /* 160 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1280, 1278, - /* 170 */ 1305, 1227, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 180 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 190 */ 1305, 1305, 1305, 1109, 1305, 1305, 1305, 1305, 1305, 1305, - /* 200 */ 1305, 1305, 1305, 1305, 1305, 1305, 988, 1305, 1247, 1109, - /* 210 */ 1109, 1109, 1111, 1089, 1101, 990, 1148, 1127, 1127, 1259, - /* 220 */ 1148, 1259, 1045, 1068, 1042, 1138, 1127, 1210, 1138, 1138, - /* 230 */ 1110, 1101, 1305, 1285, 1118, 1118, 1277, 1277, 1118, 1157, - /* 240 */ 1078, 1148, 1085, 1085, 1085, 1085, 1118, 1005, 1148, 1157, - /* 250 */ 1078, 1078, 1148, 1118, 1005, 1253, 1251, 1118, 1118, 1005, - /* 260 */ 1220, 1118, 1005, 1118, 1005, 1220, 1076, 1076, 1076, 1060, - /* 270 */ 1220, 1076, 1045, 1076, 1060, 1076, 1076, 1131, 1126, 1131, - /* 280 */ 1126, 1131, 1126, 1131, 1126, 1118, 1118, 1305, 1220, 1224, - /* 290 */ 1224, 1220, 1143, 1132, 1141, 1139, 1148, 1011, 1063, 998, - /* 300 */ 998, 987, 987, 987, 987, 1297, 1297, 1292, 1047, 1047, - /* 310 */ 1030, 1305, 1305, 1305, 1305, 1305, 1305, 1022, 1305, 1229, - /* 320 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 330 */ 1305, 1305, 1305, 1305, 1305, 1305, 1164, 1305, 983, 1287, - /* 340 */ 1305, 1305, 1284, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 350 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 360 */ 1305, 1257, 1305, 1305, 1305, 1305, 1305, 1305, 1250, 1249, - /* 370 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 380 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 390 */ 1305, 1305, 1092, 1305, 1305, 1305, 1096, 1305, 1305, 1305, - /* 400 */ 1305, 1305, 1305, 1305, 1140, 1305, 1133, 1305, 1213, 1305, - /* 410 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1302, - /* 420 */ 1305, 1305, 1305, 1301, 1305, 1305, 1305, 1305, 1305, 1166, - /* 430 */ 1305, 1165, 1169, 1305, 996, 1305, + /* 0 */ 986, 1304, 1304, 1304, 1218, 1218, 1218, 1309, 1304, 1113, + /* 10 */ 1142, 1142, 1278, 1309, 1309, 1309, 1309, 1309, 1309, 1216, + /* 20 */ 1309, 1309, 1309, 1304, 1309, 1117, 1148, 1309, 1309, 1309, + /* 30 */ 1309, 1309, 1309, 1309, 1309, 1277, 1279, 1156, 1155, 1258, + /* 40 */ 1129, 1153, 1146, 1150, 1219, 1212, 1213, 1211, 1215, 1220, + /* 50 */ 1309, 1149, 1181, 1196, 1180, 1309, 1309, 1309, 1309, 1309, + /* 60 */ 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, + /* 70 */ 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, + /* 80 */ 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, + /* 90 */ 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1190, 1195, + /* 100 */ 1202, 1194, 1191, 1183, 1182, 1184, 1185, 1309, 1309, 1012, + /* 110 */ 1078, 1309, 1309, 1186, 1309, 1024, 1187, 1199, 1198, 1197, + /* 120 */ 1019, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, + /* 130 */ 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, + /* 140 */ 1309, 1309, 1309, 1309, 1309, 986, 1304, 1309, 1309, 1304, + /* 150 */ 1304, 1304, 1304, 1304, 1304, 1296, 1117, 1107, 1309, 1309, + /* 160 */ 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1284, 1282, + /* 170 */ 1309, 1231, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, + /* 180 */ 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, + /* 190 */ 1309, 1309, 1309, 1113, 1309, 1309, 1309, 1309, 1309, 1309, + /* 200 */ 1309, 1309, 1309, 1309, 1309, 1309, 992, 1309, 1251, 1113, + /* 210 */ 1113, 1113, 1115, 1093, 1105, 994, 1152, 1131, 1131, 1263, + /* 220 */ 1152, 1263, 1049, 1072, 1046, 1142, 1131, 1214, 1142, 1142, + /* 230 */ 1114, 1105, 1309, 1289, 1122, 1122, 1281, 1281, 1122, 1161, + /* 240 */ 1147, 1136, 1082, 1147, 1136, 1152, 1089, 1089, 1089, 1089, + /* 250 */ 1122, 1009, 1152, 1161, 1082, 1082, 1152, 1122, 1009, 1257, + /* 260 */ 1255, 1122, 1122, 1009, 1224, 1122, 1009, 1122, 1009, 1224, + /* 270 */ 1080, 1080, 1080, 1064, 1224, 1080, 1049, 1080, 1064, 1080, + /* 280 */ 1080, 1135, 1130, 1135, 1130, 1135, 1130, 1135, 1130, 1122, + /* 290 */ 1122, 1309, 1224, 1228, 1228, 1224, 1147, 1136, 1145, 1143, + /* 300 */ 1152, 1015, 1067, 1002, 1002, 991, 991, 991, 991, 1301, + /* 310 */ 1301, 1296, 1051, 1051, 1034, 1309, 1309, 1309, 1309, 1309, + /* 320 */ 1309, 1026, 1309, 1233, 1309, 1309, 1309, 1309, 1309, 1309, + /* 330 */ 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, + /* 340 */ 1168, 1309, 987, 1291, 1309, 1309, 1288, 1309, 1309, 1309, + /* 350 */ 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, + /* 360 */ 1309, 1309, 1309, 1309, 1309, 1261, 1309, 1309, 1309, 1309, + /* 370 */ 1309, 1309, 1254, 1253, 1309, 1309, 1309, 1309, 1309, 1309, + /* 380 */ 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, + /* 390 */ 1309, 1309, 1309, 1309, 1309, 1309, 1096, 1309, 1309, 1309, + /* 400 */ 1100, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1144, 1309, + /* 410 */ 1137, 1309, 1217, 1309, 1309, 1309, 1309, 1309, 1309, 1309, + /* 420 */ 1309, 1309, 1309, 1306, 1309, 1309, 1309, 1305, 1309, 1309, + /* 430 */ 1309, 1309, 1309, 1170, 1309, 1169, 1173, 1309, 1000, 1309, }; /********** End of lemon-generated parsing tables *****************************/ /* The next table maps tokens (terminal symbols) into fallback tokens. ** If a construct like the following: @@ -128135,14 +128136,14 @@ /* 165 */ "having_opt ::= HAVING expr", /* 166 */ "limit_opt ::=", /* 167 */ "limit_opt ::= LIMIT expr", /* 168 */ "limit_opt ::= LIMIT expr OFFSET expr", /* 169 */ "limit_opt ::= LIMIT expr COMMA expr", - /* 170 */ "cmd ::= with DELETE FROM fullname indexed_opt where_opt", + /* 170 */ "cmd ::= with DELETE FROM fullname indexed_opt where_opt orderby_opt limit_opt", /* 171 */ "where_opt ::=", /* 172 */ "where_opt ::= WHERE expr", - /* 173 */ "cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt", + /* 173 */ "cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt orderby_opt limit_opt", /* 174 */ "setlist ::= setlist COMMA nm EQ expr", /* 175 */ "setlist ::= nm EQ expr", /* 176 */ "cmd ::= with insert_cmd INTO fullname idlist_opt select", /* 177 */ "cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES", /* 178 */ "insert_cmd ::= INSERT orconf", @@ -128866,14 +128867,14 @@ { 205, 2 }, { 207, 0 }, { 207, 2 }, { 207, 4 }, { 207, 4 }, - { 149, 6 }, + { 149, 8 }, { 203, 0 }, { 203, 2 }, - { 149, 8 }, + { 149, 10 }, { 220, 5 }, { 220, 3 }, { 149, 6 }, { 149, 7 }, { 221, 2 }, @@ -129636,23 +129637,25 @@ {yygotominor.yy292.pLimit = yymsp[-2].minor.yy118.pExpr; yygotominor.yy292.pOffset = yymsp[0].minor.yy118.pExpr;} break; case 169: /* limit_opt ::= LIMIT expr COMMA expr */ {yygotominor.yy292.pOffset = yymsp[-2].minor.yy118.pExpr; yygotominor.yy292.pLimit = yymsp[0].minor.yy118.pExpr;} break; - case 170: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt */ -{ - sqlite3WithPush(pParse, yymsp[-5].minor.yy451, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy259, &yymsp[-1].minor.yy0); - sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy259,yymsp[0].minor.yy314); -} - break; - case 173: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ + case 170: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt orderby_opt limit_opt */ { sqlite3WithPush(pParse, yymsp[-7].minor.yy451, 1); sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy259, &yymsp[-3].minor.yy0); - sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy322,"set list"); - sqlite3Update(pParse,yymsp[-4].minor.yy259,yymsp[-1].minor.yy322,yymsp[0].minor.yy314,yymsp[-5].minor.yy4); + yymsp[-2].minor.yy314 = sqlite3LimitWhere(pParse, yymsp[-4].minor.yy259, yymsp[-2].minor.yy314, yymsp[-1].minor.yy322, yymsp[0].minor.yy292.pLimit, yymsp[0].minor.yy292.pOffset, "DELETE"); + sqlite3DeleteFrom(pParse,yymsp[-4].minor.yy259,yymsp[-2].minor.yy314); +} + break; + case 173: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt orderby_opt limit_opt */ +{ + sqlite3WithPush(pParse, yymsp[-9].minor.yy451, 1); + sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy259, &yymsp[-5].minor.yy0); + sqlite3ExprListCheckLength(pParse,yymsp[-3].minor.yy322,"set list"); + yymsp[-2].minor.yy314 = sqlite3LimitWhere(pParse, yymsp[-6].minor.yy259, yymsp[-2].minor.yy314, yymsp[-1].minor.yy322, yymsp[0].minor.yy292.pLimit, yymsp[0].minor.yy292.pOffset, "UPDATE"); + sqlite3Update(pParse,yymsp[-6].minor.yy259,yymsp[-3].minor.yy322,yymsp[-2].minor.yy314,yymsp[-7].minor.yy4); } break; case 174: /* setlist ::= setlist COMMA nm EQ expr */ { yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy322, yymsp[0].minor.yy118.pExpr); @@ -181774,11 +181777,11 @@ sqlite3_context *pCtx, /* Function call context */ int nArg, /* Number of args */ sqlite3_value **apVal /* Function arguments */ ){ assert( nArg==0 ); - sqlite3_result_text(pCtx, "fts5: 2015-12-03 12:01:54 d96de532cc4a192cfebae900701dcee0a7d29273", -1, SQLITE_TRANSIENT); + sqlite3_result_text(pCtx, "fts5: 2015-12-07 18:18:33 e7ae120d04cffafd9bc2b4ecd68571c17e05ed72", -1, SQLITE_TRANSIENT); } static int fts5Init(sqlite3 *db){ static const sqlite3_module fts5Mod = { /* iVersion */ 2,