diff --git a/sqlite3-binding.c b/sqlite3-binding.c index 9228d249..8cf3180a 100644 --- a/sqlite3-binding.c +++ b/sqlite3-binding.c @@ -116582,7 +116582,7 @@ typedef union { #define sqlite3ParserARG_PDECL ,Parse *pParse #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse #define sqlite3ParserARG_STORE yypParser->pParse = pParse -#define YYNSTATE 642 +#define YYNSTATE 646 #define YYNRULE 327 #define YYFALLBACK 1 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) @@ -116655,156 +116655,156 @@ static const YYMINORTYPE yyzerominor = { 0 }; */ #define YY_ACTTAB_COUNT (1497) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 306, 212, 432, 955, 639, 191, 955, 295, 559, 88, + /* 0 */ 310, 212, 436, 959, 643, 191, 959, 299, 563, 88, /* 10 */ 88, 88, 88, 81, 86, 86, 86, 86, 85, 85, - /* 20 */ 84, 84, 84, 83, 330, 185, 184, 183, 635, 635, - /* 30 */ 292, 606, 606, 88, 88, 88, 88, 683, 86, 86, - /* 40 */ 86, 86, 85, 85, 84, 84, 84, 83, 330, 16, - /* 50 */ 436, 597, 89, 90, 80, 600, 599, 601, 601, 87, - /* 60 */ 87, 88, 88, 88, 88, 684, 86, 86, 86, 86, - /* 70 */ 85, 85, 84, 84, 84, 83, 330, 306, 559, 84, - /* 80 */ 84, 84, 83, 330, 65, 86, 86, 86, 86, 85, - /* 90 */ 85, 84, 84, 84, 83, 330, 635, 635, 634, 633, - /* 100 */ 182, 682, 550, 379, 376, 375, 17, 322, 606, 606, - /* 110 */ 371, 198, 479, 91, 374, 82, 79, 165, 85, 85, - /* 120 */ 84, 84, 84, 83, 330, 598, 635, 635, 107, 89, - /* 130 */ 90, 80, 600, 599, 601, 601, 87, 87, 88, 88, + /* 20 */ 84, 84, 84, 83, 334, 185, 184, 183, 639, 639, + /* 30 */ 296, 610, 610, 88, 88, 88, 88, 687, 86, 86, + /* 40 */ 86, 86, 85, 85, 84, 84, 84, 83, 334, 16, + /* 50 */ 440, 601, 89, 90, 80, 604, 603, 605, 605, 87, + /* 60 */ 87, 88, 88, 88, 88, 688, 86, 86, 86, 86, + /* 70 */ 85, 85, 84, 84, 84, 83, 334, 310, 563, 84, + /* 80 */ 84, 84, 83, 334, 65, 86, 86, 86, 86, 85, + /* 90 */ 85, 84, 84, 84, 83, 334, 639, 639, 638, 637, + /* 100 */ 182, 686, 554, 383, 380, 379, 17, 326, 610, 610, + /* 110 */ 375, 198, 483, 91, 378, 82, 79, 165, 85, 85, + /* 120 */ 84, 84, 84, 83, 334, 602, 639, 639, 107, 89, + /* 130 */ 90, 80, 604, 603, 605, 605, 87, 87, 88, 88, /* 140 */ 88, 88, 186, 86, 86, 86, 86, 85, 85, 84, - /* 150 */ 84, 84, 83, 330, 306, 594, 594, 142, 328, 327, - /* 160 */ 484, 249, 344, 238, 635, 635, 634, 633, 585, 448, - /* 170 */ 526, 525, 229, 388, 1, 394, 450, 584, 449, 635, - /* 180 */ 635, 635, 635, 319, 395, 606, 606, 199, 157, 273, - /* 190 */ 382, 268, 381, 187, 635, 635, 634, 633, 311, 555, - /* 200 */ 266, 593, 593, 266, 347, 588, 89, 90, 80, 600, - /* 210 */ 599, 601, 601, 87, 87, 88, 88, 88, 88, 478, + /* 150 */ 84, 84, 83, 334, 310, 598, 598, 142, 332, 331, + /* 160 */ 488, 253, 348, 240, 639, 639, 638, 637, 589, 452, + /* 170 */ 530, 529, 229, 392, 1, 398, 454, 588, 453, 639, + /* 180 */ 639, 639, 639, 323, 399, 610, 610, 199, 157, 277, + /* 190 */ 386, 272, 385, 187, 639, 639, 638, 637, 315, 559, + /* 200 */ 270, 597, 597, 270, 351, 592, 89, 90, 80, 604, + /* 210 */ 603, 605, 605, 87, 87, 88, 88, 88, 88, 482, /* 220 */ 86, 86, 86, 86, 85, 85, 84, 84, 84, 83, - /* 230 */ 330, 306, 272, 536, 634, 633, 146, 610, 197, 310, - /* 240 */ 575, 182, 482, 271, 379, 376, 375, 506, 21, 634, - /* 250 */ 633, 634, 633, 635, 635, 374, 611, 574, 548, 440, - /* 260 */ 111, 563, 606, 606, 634, 633, 324, 479, 608, 608, - /* 270 */ 608, 300, 435, 573, 119, 407, 210, 162, 562, 883, - /* 280 */ 592, 592, 306, 89, 90, 80, 600, 599, 601, 601, - /* 290 */ 87, 87, 88, 88, 88, 88, 506, 86, 86, 86, - /* 300 */ 86, 85, 85, 84, 84, 84, 83, 330, 620, 111, - /* 310 */ 635, 635, 361, 606, 606, 358, 249, 349, 248, 433, - /* 320 */ 243, 479, 586, 634, 633, 195, 611, 93, 119, 221, - /* 330 */ 575, 497, 534, 534, 89, 90, 80, 600, 599, 601, - /* 340 */ 601, 87, 87, 88, 88, 88, 88, 574, 86, 86, - /* 350 */ 86, 86, 85, 85, 84, 84, 84, 83, 330, 306, - /* 360 */ 77, 429, 638, 573, 589, 530, 240, 230, 242, 105, - /* 370 */ 249, 349, 248, 515, 588, 208, 460, 529, 564, 173, - /* 380 */ 634, 633, 970, 144, 430, 2, 424, 228, 380, 557, - /* 390 */ 606, 606, 190, 153, 159, 158, 514, 51, 632, 631, - /* 400 */ 630, 71, 536, 432, 954, 196, 610, 954, 614, 45, - /* 410 */ 18, 89, 90, 80, 600, 599, 601, 601, 87, 87, - /* 420 */ 88, 88, 88, 88, 261, 86, 86, 86, 86, 85, - /* 430 */ 85, 84, 84, 84, 83, 330, 306, 608, 608, 608, - /* 440 */ 542, 424, 402, 385, 241, 506, 451, 320, 211, 543, - /* 450 */ 164, 436, 386, 293, 451, 587, 108, 496, 111, 334, - /* 460 */ 391, 591, 424, 614, 27, 452, 453, 606, 606, 72, - /* 470 */ 257, 70, 259, 452, 339, 342, 564, 582, 68, 415, - /* 480 */ 469, 328, 327, 62, 614, 45, 110, 393, 89, 90, - /* 490 */ 80, 600, 599, 601, 601, 87, 87, 88, 88, 88, + /* 230 */ 334, 310, 276, 540, 638, 637, 146, 614, 197, 314, + /* 240 */ 579, 182, 486, 275, 383, 380, 379, 510, 21, 638, + /* 250 */ 637, 638, 637, 639, 639, 378, 615, 578, 552, 444, + /* 260 */ 111, 567, 610, 610, 638, 637, 328, 483, 612, 612, + /* 270 */ 612, 304, 439, 577, 119, 411, 210, 162, 566, 887, + /* 280 */ 596, 596, 310, 89, 90, 80, 604, 603, 605, 605, + /* 290 */ 87, 87, 88, 88, 88, 88, 510, 86, 86, 86, + /* 300 */ 86, 85, 85, 84, 84, 84, 83, 334, 624, 111, + /* 310 */ 639, 639, 365, 610, 610, 362, 253, 353, 252, 437, + /* 320 */ 247, 483, 590, 638, 637, 195, 615, 93, 119, 221, + /* 330 */ 579, 501, 538, 538, 89, 90, 80, 604, 603, 605, + /* 340 */ 605, 87, 87, 88, 88, 88, 88, 578, 86, 86, + /* 350 */ 86, 86, 85, 85, 84, 84, 84, 83, 334, 310, + /* 360 */ 77, 433, 642, 577, 593, 534, 244, 230, 246, 105, + /* 370 */ 253, 353, 252, 519, 592, 208, 464, 533, 568, 173, + /* 380 */ 638, 637, 974, 144, 434, 2, 428, 228, 384, 561, + /* 390 */ 610, 610, 190, 153, 159, 158, 518, 51, 636, 635, + /* 400 */ 634, 71, 540, 436, 958, 196, 614, 958, 618, 45, + /* 410 */ 18, 89, 90, 80, 604, 603, 605, 605, 87, 87, + /* 420 */ 88, 88, 88, 88, 265, 86, 86, 86, 86, 85, + /* 430 */ 85, 84, 84, 84, 83, 334, 310, 612, 612, 612, + /* 440 */ 546, 428, 406, 389, 245, 510, 455, 324, 211, 547, + /* 450 */ 164, 440, 390, 297, 455, 591, 108, 500, 111, 338, + /* 460 */ 395, 595, 428, 618, 27, 456, 457, 610, 610, 72, + /* 470 */ 261, 70, 263, 456, 343, 346, 568, 586, 68, 419, + /* 480 */ 473, 332, 331, 62, 618, 45, 110, 397, 89, 90, + /* 490 */ 80, 604, 603, 605, 605, 87, 87, 88, 88, 88, /* 500 */ 88, 152, 86, 86, 86, 86, 85, 85, 84, 84, - /* 510 */ 84, 83, 330, 306, 110, 499, 520, 538, 402, 389, - /* 520 */ 424, 110, 566, 500, 593, 593, 454, 82, 79, 165, - /* 530 */ 424, 591, 384, 564, 340, 615, 188, 162, 424, 350, - /* 540 */ 616, 424, 614, 44, 606, 606, 445, 582, 300, 434, - /* 550 */ 151, 19, 614, 9, 568, 580, 348, 615, 469, 567, - /* 560 */ 614, 26, 616, 614, 45, 89, 90, 80, 600, 599, - /* 570 */ 601, 601, 87, 87, 88, 88, 88, 88, 411, 86, - /* 580 */ 86, 86, 86, 85, 85, 84, 84, 84, 83, 330, - /* 590 */ 306, 579, 110, 578, 521, 282, 433, 398, 400, 255, - /* 600 */ 486, 82, 79, 165, 487, 164, 82, 79, 165, 488, - /* 610 */ 488, 364, 387, 424, 544, 544, 509, 350, 362, 155, - /* 620 */ 191, 606, 606, 559, 642, 640, 333, 82, 79, 165, - /* 630 */ 305, 564, 507, 312, 357, 614, 45, 329, 596, 595, - /* 640 */ 194, 337, 89, 90, 80, 600, 599, 601, 601, 87, - /* 650 */ 87, 88, 88, 88, 88, 424, 86, 86, 86, 86, - /* 660 */ 85, 85, 84, 84, 84, 83, 330, 306, 20, 323, - /* 670 */ 150, 263, 211, 543, 421, 596, 595, 614, 22, 424, - /* 680 */ 193, 424, 284, 424, 391, 424, 509, 424, 577, 424, - /* 690 */ 186, 335, 424, 559, 424, 313, 120, 546, 606, 606, - /* 700 */ 67, 614, 47, 614, 50, 614, 48, 614, 100, 614, - /* 710 */ 99, 614, 101, 576, 614, 102, 614, 109, 326, 89, - /* 720 */ 90, 80, 600, 599, 601, 601, 87, 87, 88, 88, - /* 730 */ 88, 88, 424, 86, 86, 86, 86, 85, 85, 84, - /* 740 */ 84, 84, 83, 330, 306, 424, 311, 424, 585, 54, - /* 750 */ 424, 516, 517, 590, 614, 112, 424, 584, 424, 572, - /* 760 */ 424, 195, 424, 571, 424, 67, 424, 614, 94, 614, - /* 770 */ 98, 424, 614, 97, 264, 606, 606, 195, 614, 46, - /* 780 */ 614, 96, 614, 30, 614, 49, 614, 115, 614, 114, - /* 790 */ 418, 229, 388, 614, 113, 306, 89, 90, 80, 600, - /* 800 */ 599, 601, 601, 87, 87, 88, 88, 88, 88, 424, + /* 510 */ 84, 83, 334, 310, 110, 503, 524, 542, 406, 393, + /* 520 */ 428, 110, 570, 504, 597, 597, 458, 82, 79, 165, + /* 530 */ 428, 595, 388, 568, 344, 619, 188, 162, 428, 354, + /* 540 */ 620, 428, 618, 44, 610, 610, 449, 586, 304, 438, + /* 550 */ 151, 19, 618, 9, 572, 584, 352, 619, 473, 571, + /* 560 */ 618, 26, 620, 618, 45, 89, 90, 80, 604, 603, + /* 570 */ 605, 605, 87, 87, 88, 88, 88, 88, 415, 86, + /* 580 */ 86, 86, 86, 85, 85, 84, 84, 84, 83, 334, + /* 590 */ 310, 583, 110, 582, 525, 286, 437, 402, 404, 259, + /* 600 */ 490, 82, 79, 165, 491, 164, 82, 79, 165, 492, + /* 610 */ 492, 368, 391, 428, 548, 548, 513, 354, 366, 155, + /* 620 */ 191, 610, 610, 563, 646, 644, 337, 82, 79, 165, + /* 630 */ 309, 568, 511, 316, 361, 618, 45, 333, 600, 599, + /* 640 */ 194, 341, 89, 90, 80, 604, 603, 605, 605, 87, + /* 650 */ 87, 88, 88, 88, 88, 428, 86, 86, 86, 86, + /* 660 */ 85, 85, 84, 84, 84, 83, 334, 310, 20, 327, + /* 670 */ 150, 267, 211, 547, 425, 600, 599, 618, 22, 428, + /* 680 */ 193, 428, 288, 428, 395, 428, 513, 428, 581, 428, + /* 690 */ 186, 339, 428, 563, 428, 317, 120, 550, 610, 610, + /* 700 */ 67, 618, 47, 618, 50, 618, 48, 618, 100, 618, + /* 710 */ 99, 618, 101, 580, 618, 102, 618, 109, 330, 89, + /* 720 */ 90, 80, 604, 603, 605, 605, 87, 87, 88, 88, + /* 730 */ 88, 88, 428, 86, 86, 86, 86, 85, 85, 84, + /* 740 */ 84, 84, 83, 334, 310, 428, 315, 428, 589, 54, + /* 750 */ 428, 520, 521, 594, 618, 112, 428, 588, 428, 576, + /* 760 */ 428, 195, 428, 575, 428, 67, 428, 618, 94, 618, + /* 770 */ 98, 428, 618, 97, 268, 610, 610, 195, 618, 46, + /* 780 */ 618, 96, 618, 30, 618, 49, 618, 115, 618, 114, + /* 790 */ 422, 229, 392, 618, 113, 310, 89, 90, 80, 604, + /* 800 */ 603, 605, 605, 87, 87, 88, 88, 88, 88, 428, /* 810 */ 86, 86, 86, 86, 85, 85, 84, 84, 84, 83, - /* 820 */ 330, 119, 424, 590, 110, 372, 606, 606, 195, 53, - /* 830 */ 250, 614, 29, 195, 472, 438, 729, 190, 302, 498, - /* 840 */ 14, 523, 641, 2, 614, 43, 306, 89, 90, 80, - /* 850 */ 600, 599, 601, 601, 87, 87, 88, 88, 88, 88, - /* 860 */ 424, 86, 86, 86, 86, 85, 85, 84, 84, 84, - /* 870 */ 83, 330, 424, 613, 964, 964, 354, 606, 606, 420, - /* 880 */ 312, 64, 614, 42, 391, 355, 283, 437, 301, 255, - /* 890 */ 414, 410, 495, 492, 614, 28, 471, 306, 89, 90, - /* 900 */ 80, 600, 599, 601, 601, 87, 87, 88, 88, 88, - /* 910 */ 88, 424, 86, 86, 86, 86, 85, 85, 84, 84, - /* 920 */ 84, 83, 330, 424, 110, 110, 110, 110, 606, 606, - /* 930 */ 110, 254, 13, 614, 41, 532, 531, 283, 481, 531, - /* 940 */ 457, 284, 119, 561, 356, 614, 40, 284, 306, 89, - /* 950 */ 78, 80, 600, 599, 601, 601, 87, 87, 88, 88, - /* 960 */ 88, 88, 424, 86, 86, 86, 86, 85, 85, 84, - /* 970 */ 84, 84, 83, 330, 110, 424, 341, 220, 555, 606, - /* 980 */ 606, 351, 555, 318, 614, 95, 413, 255, 83, 330, - /* 990 */ 284, 284, 255, 640, 333, 356, 255, 614, 39, 306, - /* 1000 */ 356, 90, 80, 600, 599, 601, 601, 87, 87, 88, - /* 1010 */ 88, 88, 88, 424, 86, 86, 86, 86, 85, 85, - /* 1020 */ 84, 84, 84, 83, 330, 424, 317, 316, 141, 465, - /* 1030 */ 606, 606, 219, 619, 463, 614, 10, 417, 462, 255, - /* 1040 */ 189, 510, 553, 351, 207, 363, 161, 614, 38, 315, - /* 1050 */ 218, 255, 255, 80, 600, 599, 601, 601, 87, 87, - /* 1060 */ 88, 88, 88, 88, 424, 86, 86, 86, 86, 85, - /* 1070 */ 85, 84, 84, 84, 83, 330, 76, 419, 255, 3, - /* 1080 */ 878, 461, 424, 247, 331, 331, 614, 37, 217, 76, - /* 1090 */ 419, 390, 3, 216, 215, 422, 4, 331, 331, 424, - /* 1100 */ 547, 12, 424, 545, 614, 36, 424, 541, 422, 424, - /* 1110 */ 540, 424, 214, 424, 408, 424, 539, 403, 605, 605, - /* 1120 */ 237, 614, 25, 119, 614, 24, 588, 408, 614, 45, - /* 1130 */ 118, 614, 35, 614, 34, 614, 33, 614, 23, 588, - /* 1140 */ 60, 223, 603, 602, 513, 378, 73, 74, 140, 139, - /* 1150 */ 424, 110, 265, 75, 426, 425, 59, 424, 610, 73, - /* 1160 */ 74, 549, 402, 404, 424, 373, 75, 426, 425, 604, - /* 1170 */ 138, 610, 614, 11, 392, 76, 419, 181, 3, 614, - /* 1180 */ 32, 271, 369, 331, 331, 493, 614, 31, 149, 608, - /* 1190 */ 608, 608, 607, 15, 422, 365, 614, 8, 137, 489, - /* 1200 */ 136, 190, 608, 608, 608, 607, 15, 485, 176, 135, - /* 1210 */ 7, 252, 477, 408, 174, 133, 175, 474, 57, 56, - /* 1220 */ 132, 130, 119, 76, 419, 588, 3, 468, 245, 464, - /* 1230 */ 171, 331, 331, 125, 123, 456, 447, 122, 446, 104, - /* 1240 */ 336, 231, 422, 166, 154, 73, 74, 332, 116, 431, - /* 1250 */ 121, 309, 75, 426, 425, 222, 106, 610, 308, 637, - /* 1260 */ 204, 408, 629, 627, 628, 6, 200, 428, 427, 290, - /* 1270 */ 203, 622, 201, 588, 62, 63, 289, 66, 419, 399, - /* 1280 */ 3, 401, 288, 92, 143, 331, 331, 287, 608, 608, - /* 1290 */ 608, 607, 15, 73, 74, 227, 422, 325, 69, 416, - /* 1300 */ 75, 426, 425, 612, 412, 610, 192, 61, 569, 209, - /* 1310 */ 396, 226, 278, 225, 383, 408, 527, 558, 276, 533, - /* 1320 */ 552, 528, 321, 523, 370, 508, 180, 588, 494, 179, - /* 1330 */ 366, 117, 253, 269, 522, 503, 608, 608, 608, 607, - /* 1340 */ 15, 551, 502, 58, 274, 524, 178, 73, 74, 304, - /* 1350 */ 501, 368, 303, 206, 75, 426, 425, 491, 360, 610, - /* 1360 */ 213, 177, 483, 131, 345, 298, 297, 296, 202, 294, - /* 1370 */ 480, 490, 466, 134, 172, 129, 444, 346, 470, 128, - /* 1380 */ 314, 459, 103, 127, 126, 148, 124, 167, 443, 235, - /* 1390 */ 608, 608, 608, 607, 15, 442, 439, 623, 234, 299, - /* 1400 */ 145, 583, 291, 377, 581, 160, 119, 156, 270, 636, - /* 1410 */ 971, 169, 279, 626, 520, 625, 473, 624, 170, 621, - /* 1420 */ 618, 119, 168, 55, 409, 423, 537, 609, 286, 285, - /* 1430 */ 405, 570, 560, 556, 5, 52, 458, 554, 147, 267, - /* 1440 */ 519, 504, 518, 406, 262, 239, 260, 512, 343, 511, - /* 1450 */ 258, 353, 565, 256, 224, 251, 359, 277, 275, 476, - /* 1460 */ 475, 246, 352, 244, 467, 455, 236, 233, 232, 307, - /* 1470 */ 441, 281, 205, 163, 397, 280, 535, 505, 330, 617, - /* 1480 */ 971, 971, 971, 971, 367, 971, 971, 971, 971, 971, - /* 1490 */ 971, 971, 971, 971, 971, 971, 338, + /* 820 */ 334, 119, 428, 594, 110, 376, 610, 610, 195, 53, + /* 830 */ 254, 618, 29, 195, 476, 442, 733, 190, 306, 502, + /* 840 */ 14, 527, 645, 2, 618, 43, 310, 89, 90, 80, + /* 850 */ 604, 603, 605, 605, 87, 87, 88, 88, 88, 88, + /* 860 */ 428, 86, 86, 86, 86, 85, 85, 84, 84, 84, + /* 870 */ 83, 334, 428, 617, 968, 968, 358, 610, 610, 424, + /* 880 */ 316, 64, 618, 42, 395, 359, 287, 441, 305, 259, + /* 890 */ 418, 414, 499, 496, 618, 28, 475, 310, 89, 90, + /* 900 */ 80, 604, 603, 605, 605, 87, 87, 88, 88, 88, + /* 910 */ 88, 428, 86, 86, 86, 86, 85, 85, 84, 84, + /* 920 */ 84, 83, 334, 428, 110, 110, 110, 110, 610, 610, + /* 930 */ 110, 258, 13, 618, 41, 536, 535, 287, 485, 535, + /* 940 */ 461, 288, 119, 565, 360, 618, 40, 288, 310, 89, + /* 950 */ 78, 80, 604, 603, 605, 605, 87, 87, 88, 88, + /* 960 */ 88, 88, 428, 86, 86, 86, 86, 85, 85, 84, + /* 970 */ 84, 84, 83, 334, 110, 428, 345, 220, 559, 610, + /* 980 */ 610, 355, 559, 322, 618, 95, 417, 259, 83, 334, + /* 990 */ 288, 288, 259, 644, 337, 360, 259, 618, 39, 310, + /* 1000 */ 360, 90, 80, 604, 603, 605, 605, 87, 87, 88, + /* 1010 */ 88, 88, 88, 428, 86, 86, 86, 86, 85, 85, + /* 1020 */ 84, 84, 84, 83, 334, 428, 321, 320, 141, 469, + /* 1030 */ 610, 610, 219, 623, 467, 618, 10, 421, 466, 259, + /* 1040 */ 189, 514, 557, 355, 207, 367, 161, 618, 38, 319, + /* 1050 */ 218, 259, 259, 80, 604, 603, 605, 605, 87, 87, + /* 1060 */ 88, 88, 88, 88, 428, 86, 86, 86, 86, 85, + /* 1070 */ 85, 84, 84, 84, 83, 334, 76, 423, 259, 3, + /* 1080 */ 882, 465, 428, 251, 335, 335, 618, 37, 217, 76, + /* 1090 */ 423, 394, 3, 216, 215, 426, 4, 335, 335, 428, + /* 1100 */ 551, 12, 428, 549, 618, 36, 428, 545, 426, 428, + /* 1110 */ 544, 428, 214, 428, 412, 428, 543, 407, 609, 609, + /* 1120 */ 237, 618, 25, 119, 618, 24, 592, 412, 618, 45, + /* 1130 */ 118, 618, 35, 618, 34, 618, 33, 618, 23, 592, + /* 1140 */ 60, 223, 607, 606, 517, 382, 73, 74, 140, 139, + /* 1150 */ 428, 110, 269, 75, 430, 429, 59, 428, 614, 73, + /* 1160 */ 74, 553, 406, 408, 428, 377, 75, 430, 429, 608, + /* 1170 */ 138, 614, 618, 11, 396, 76, 423, 181, 3, 618, + /* 1180 */ 32, 275, 373, 335, 335, 497, 618, 31, 149, 612, + /* 1190 */ 612, 612, 611, 15, 426, 369, 618, 8, 137, 493, + /* 1200 */ 136, 190, 612, 612, 612, 611, 15, 489, 176, 135, + /* 1210 */ 7, 256, 481, 412, 174, 133, 175, 478, 57, 56, + /* 1220 */ 132, 130, 119, 76, 423, 592, 3, 472, 249, 468, + /* 1230 */ 171, 335, 335, 125, 123, 460, 451, 122, 450, 104, + /* 1240 */ 340, 231, 426, 166, 154, 73, 74, 336, 116, 435, + /* 1250 */ 121, 313, 75, 430, 429, 222, 106, 614, 312, 641, + /* 1260 */ 204, 412, 633, 631, 632, 6, 200, 432, 431, 294, + /* 1270 */ 203, 626, 201, 592, 62, 63, 293, 66, 423, 403, + /* 1280 */ 3, 405, 292, 92, 143, 335, 335, 291, 612, 612, + /* 1290 */ 612, 611, 15, 73, 74, 227, 426, 329, 69, 420, + /* 1300 */ 75, 430, 429, 616, 416, 614, 192, 61, 573, 209, + /* 1310 */ 400, 226, 282, 225, 387, 412, 531, 562, 280, 537, + /* 1320 */ 556, 532, 325, 527, 374, 512, 180, 592, 498, 179, + /* 1330 */ 370, 117, 257, 273, 526, 507, 612, 612, 612, 611, + /* 1340 */ 15, 555, 506, 58, 278, 528, 178, 73, 74, 308, + /* 1350 */ 505, 372, 307, 206, 75, 430, 429, 495, 364, 614, + /* 1360 */ 213, 177, 487, 131, 349, 302, 301, 300, 202, 298, + /* 1370 */ 484, 494, 470, 134, 172, 129, 448, 350, 474, 128, + /* 1380 */ 318, 242, 241, 127, 126, 148, 124, 167, 447, 235, + /* 1390 */ 612, 612, 612, 611, 15, 446, 443, 627, 234, 463, + /* 1400 */ 238, 587, 585, 462, 145, 303, 119, 274, 975, 640, + /* 1410 */ 975, 169, 381, 156, 524, 630, 629, 160, 170, 628, + /* 1420 */ 295, 119, 168, 625, 622, 427, 334, 613, 290, 289, + /* 1430 */ 409, 574, 564, 560, 558, 271, 975, 477, 523, 5, + /* 1440 */ 508, 266, 283, 55, 522, 147, 264, 262, 239, 413, + /* 1450 */ 52, 410, 516, 243, 260, 103, 255, 363, 347, 480, + /* 1460 */ 224, 479, 569, 281, 279, 356, 248, 471, 515, 311, + /* 1470 */ 459, 236, 233, 232, 357, 445, 285, 163, 250, 401, + /* 1480 */ 284, 975, 541, 509, 539, 621, 205, 975, 975, 975, + /* 1490 */ 975, 975, 371, 975, 975, 975, 342, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 19, 22, 22, 23, 1, 24, 26, 15, 27, 80, @@ -116945,23 +116945,23 @@ static const YYCODETYPE yy_lookahead[] = { /* 1350 */ 176, 159, 179, 159, 96, 97, 98, 159, 159, 101, /* 1360 */ 5, 158, 202, 22, 18, 10, 11, 12, 13, 14, /* 1370 */ 190, 238, 17, 190, 158, 193, 41, 159, 202, 193, - /* 1380 */ 159, 202, 245, 193, 193, 223, 190, 32, 159, 34, - /* 1390 */ 132, 133, 134, 135, 136, 159, 39, 155, 43, 150, - /* 1400 */ 223, 177, 201, 178, 177, 186, 66, 199, 177, 152, - /* 1410 */ 253, 56, 215, 152, 182, 152, 202, 152, 63, 152, - /* 1420 */ 152, 66, 67, 242, 229, 152, 174, 152, 152, 152, - /* 1430 */ 152, 152, 152, 152, 199, 242, 202, 152, 198, 152, - /* 1440 */ 152, 152, 183, 192, 152, 215, 152, 183, 215, 183, - /* 1450 */ 152, 241, 214, 152, 211, 152, 152, 211, 211, 152, - /* 1460 */ 152, 241, 152, 152, 152, 152, 152, 152, 152, 114, - /* 1470 */ 152, 152, 235, 152, 152, 152, 174, 187, 95, 174, - /* 1480 */ 253, 253, 253, 253, 236, 253, 253, 253, 253, 253, - /* 1490 */ 253, 253, 253, 253, 253, 253, 141, + /* 1380 */ 159, 202, 205, 193, 193, 223, 190, 32, 159, 34, + /* 1390 */ 132, 133, 134, 135, 136, 159, 39, 155, 43, 206, + /* 1400 */ 205, 177, 177, 206, 223, 150, 66, 177, 253, 152, + /* 1410 */ 253, 56, 178, 199, 182, 152, 152, 186, 63, 152, + /* 1420 */ 201, 66, 67, 152, 152, 152, 95, 152, 152, 152, + /* 1430 */ 152, 152, 152, 152, 152, 152, 253, 202, 152, 199, + /* 1440 */ 152, 152, 215, 242, 183, 198, 152, 152, 202, 229, + /* 1450 */ 242, 192, 183, 215, 152, 245, 152, 152, 215, 152, + /* 1460 */ 211, 152, 214, 211, 211, 152, 152, 152, 183, 114, + /* 1470 */ 152, 152, 152, 152, 241, 152, 152, 152, 241, 152, + /* 1480 */ 152, 253, 174, 187, 174, 174, 235, 253, 253, 253, + /* 1490 */ 253, 253, 236, 253, 253, 253, 141, }; #define YY_SHIFT_USE_DFLT (-86) -#define YY_SHIFT_COUNT (429) +#define YY_SHIFT_COUNT (433) #define YY_SHIFT_MIN (-85) -#define YY_SHIFT_MAX (1383) +#define YY_SHIFT_MAX (1357) static const short yy_shift_ofst[] = { /* 0 */ 992, 1057, 1355, 1156, 1204, 1204, 1, 262, -19, 135, /* 10 */ 135, 776, 1204, 1204, 1204, 1204, 69, 69, 53, 208, @@ -116974,7 +116974,7 @@ static const short yy_shift_ofst[] = { /* 80 */ 1258, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, /* 90 */ 1204, 1204, 1204, 1204, -71, -47, -47, -47, -47, -47, /* 100 */ 0, 29, -12, 283, 283, 139, 91, 392, 392, 894, - /* 110 */ 672, 726, 1383, -86, -86, -86, 88, 318, 318, 99, + /* 110 */ 672, 726, 1331, -86, -86, -86, 88, 318, 318, 99, /* 120 */ 381, -20, 283, 283, 283, 283, 283, 283, 283, 283, /* 130 */ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, /* 140 */ 283, 283, 283, 283, 624, 876, 726, 672, 1340, 1340, @@ -116986,31 +116986,32 @@ static const short yy_shift_ofst[] = { /* 200 */ 283, 283, 283, 283, 283, 501, 569, 596, 596, 596, /* 210 */ 507, 497, 441, 391, 353, 156, 156, 857, 353, 857, /* 220 */ 735, 813, 639, 715, 156, 332, 715, 715, 496, 419, - /* 230 */ 646, 1357, 1184, 1184, 1335, 1335, 1184, 1341, 1260, 1144, - /* 240 */ 1346, 1346, 1346, 1346, 1184, 1306, 1144, 1341, 1260, 1260, - /* 250 */ 1144, 1184, 1306, 1206, 1284, 1184, 1184, 1306, 1184, 1306, - /* 260 */ 1184, 1306, 1262, 1207, 1207, 1207, 1274, 1262, 1207, 1217, - /* 270 */ 1207, 1274, 1207, 1207, 1185, 1200, 1185, 1200, 1185, 1200, - /* 280 */ 1184, 1184, 1161, 1262, 1202, 1202, 1262, 1154, 1155, 1147, - /* 290 */ 1152, 1144, 1241, 1239, 1250, 1250, 1254, 1254, 1254, 1254, - /* 300 */ -86, -86, -86, -86, -86, -86, 1068, 304, 526, 249, - /* 310 */ 408, -83, 434, 812, 27, 811, 807, 802, 751, 589, - /* 320 */ 651, 163, 131, 674, 366, 450, 299, 148, 23, 102, - /* 330 */ 229, -21, 1245, 1244, 1222, 1099, 1228, 1172, 1223, 1215, - /* 340 */ 1213, 1115, 1106, 1123, 1110, 1209, 1105, 1212, 1226, 1098, - /* 350 */ 1089, 1140, 1139, 1104, 1189, 1178, 1094, 1211, 1205, 1187, - /* 360 */ 1101, 1071, 1153, 1175, 1146, 1138, 1151, 1091, 1164, 1165, - /* 370 */ 1163, 1069, 1072, 1148, 1112, 1134, 1127, 1129, 1126, 1092, - /* 380 */ 1114, 1118, 1088, 1090, 1093, 1087, 1084, 987, 1079, 1077, - /* 390 */ 1074, 1065, 924, 1021, 1014, 1004, 1006, 819, 739, 896, - /* 400 */ 855, 804, 739, 740, 736, 690, 654, 665, 618, 582, - /* 410 */ 568, 528, 554, 379, 532, 479, 455, 379, 432, 371, - /* 420 */ 341, 28, 338, 116, -11, -57, -85, 7, -8, 3, + /* 230 */ 646, 1357, 1184, 1184, 1335, 1335, 1184, 1341, 1154, 1155, + /* 240 */ 1260, 1154, 1155, 1144, 1346, 1346, 1346, 1346, 1184, 1306, + /* 250 */ 1144, 1341, 1260, 1260, 1144, 1184, 1306, 1206, 1284, 1184, + /* 260 */ 1184, 1306, 1184, 1306, 1184, 1306, 1262, 1207, 1207, 1207, + /* 270 */ 1274, 1262, 1207, 1217, 1207, 1274, 1207, 1207, 1185, 1200, + /* 280 */ 1185, 1200, 1185, 1200, 1184, 1184, 1161, 1262, 1202, 1202, + /* 290 */ 1262, 1154, 1155, 1147, 1152, 1144, 1241, 1239, 1250, 1250, + /* 300 */ 1254, 1254, 1254, 1254, -86, -86, -86, -86, -86, -86, + /* 310 */ 1068, 304, 526, 249, 408, -83, 434, 812, 27, 811, + /* 320 */ 807, 802, 751, 589, 651, 163, 131, 674, 366, 450, + /* 330 */ 299, 148, 23, 102, 229, -21, 1245, 1244, 1222, 1099, + /* 340 */ 1228, 1172, 1223, 1215, 1213, 1115, 1106, 1123, 1110, 1209, + /* 350 */ 1105, 1212, 1226, 1098, 1089, 1140, 1139, 1104, 1189, 1178, + /* 360 */ 1094, 1211, 1205, 1187, 1101, 1071, 1153, 1175, 1146, 1138, + /* 370 */ 1151, 1091, 1164, 1165, 1163, 1069, 1072, 1148, 1112, 1134, + /* 380 */ 1127, 1129, 1126, 1092, 1114, 1118, 1088, 1090, 1093, 1087, + /* 390 */ 1084, 987, 1079, 1077, 1074, 1065, 924, 1021, 1014, 1004, + /* 400 */ 1006, 819, 739, 896, 855, 804, 739, 740, 736, 690, + /* 410 */ 654, 665, 618, 582, 568, 528, 554, 379, 532, 479, + /* 420 */ 455, 379, 432, 371, 341, 28, 338, 116, -11, -57, + /* 430 */ -85, 7, -8, 3, }; #define YY_REDUCE_USE_DFLT (-110) -#define YY_REDUCE_COUNT (305) +#define YY_REDUCE_COUNT (309) #define YY_REDUCE_MIN (-109) -#define YY_REDUCE_MAX (1323) +#define YY_REDUCE_MAX (1328) static const short yy_reduce_ofst[] = { /* 0 */ 238, 954, 213, 289, 310, 234, 144, 317, -109, 382, /* 10 */ 377, 303, 461, 389, 378, 368, 302, 294, 253, 395, @@ -117027,89 +117028,89 @@ static const short yy_reduce_ofst[] = { /* 120 */ 638, 638, 926, 891, 900, 899, 887, 844, 840, 835, /* 130 */ 848, 830, 843, 829, 792, 839, 826, 737, 838, 795, /* 140 */ 789, 47, 734, 530, 696, 777, 711, 677, 733, 730, - /* 150 */ 729, 728, 727, 627, 448, 64, 187, 1305, 1302, 1252, - /* 160 */ 1290, 1273, 1323, 1322, 1321, 1319, 1318, 1316, 1315, 1314, - /* 170 */ 1313, 1312, 1311, 1310, 1308, 1307, 1304, 1303, 1301, 1298, - /* 180 */ 1294, 1292, 1289, 1266, 1264, 1259, 1288, 1287, 1238, 1285, - /* 190 */ 1281, 1280, 1279, 1278, 1251, 1277, 1276, 1275, 1273, 1268, - /* 200 */ 1267, 1265, 1263, 1261, 1257, 1248, 1237, 1247, 1246, 1243, - /* 210 */ 1238, 1240, 1235, 1249, 1234, 1233, 1230, 1220, 1214, 1210, - /* 220 */ 1225, 1219, 1232, 1231, 1197, 1195, 1227, 1224, 1201, 1208, - /* 230 */ 1242, 1137, 1236, 1229, 1193, 1181, 1221, 1177, 1196, 1179, - /* 240 */ 1191, 1190, 1186, 1182, 1218, 1216, 1176, 1162, 1183, 1180, - /* 250 */ 1160, 1199, 1203, 1133, 1095, 1198, 1194, 1188, 1192, 1171, - /* 260 */ 1169, 1168, 1173, 1174, 1166, 1159, 1141, 1170, 1158, 1167, - /* 270 */ 1157, 1132, 1145, 1143, 1124, 1128, 1103, 1102, 1100, 1096, - /* 280 */ 1150, 1149, 1085, 1125, 1080, 1064, 1120, 1097, 1082, 1078, - /* 290 */ 1073, 1067, 1109, 1107, 1119, 1117, 1116, 1113, 1111, 1108, - /* 300 */ 1007, 1000, 1002, 1076, 1075, 1081, + /* 150 */ 729, 728, 727, 627, 448, 64, 187, 1311, 1310, 1308, + /* 160 */ 1296, 1273, 1328, 1327, 1325, 1324, 1323, 1321, 1320, 1319, + /* 170 */ 1318, 1315, 1314, 1313, 1309, 1307, 1305, 1304, 1302, 1295, + /* 180 */ 1294, 1289, 1288, 1285, 1269, 1261, 1286, 1283, 1248, 1282, + /* 190 */ 1281, 1280, 1279, 1278, 1259, 1277, 1276, 1275, 1273, 1272, + /* 200 */ 1271, 1267, 1264, 1263, 1257, 1256, 1251, 1253, 1252, 1249, + /* 210 */ 1248, 1247, 1240, 1255, 1246, 1243, 1238, 1237, 1235, 1233, + /* 220 */ 1234, 1231, 1232, 1230, 1227, 1220, 1225, 1224, 1219, 1214, + /* 230 */ 1242, 1210, 1236, 1229, 1208, 1201, 1221, 1181, 1197, 1195, + /* 240 */ 1196, 1193, 1177, 1179, 1191, 1190, 1186, 1182, 1218, 1216, + /* 250 */ 1176, 1162, 1183, 1180, 1160, 1199, 1203, 1133, 1095, 1198, + /* 260 */ 1194, 1188, 1192, 1171, 1169, 1168, 1173, 1174, 1166, 1159, + /* 270 */ 1141, 1170, 1158, 1167, 1157, 1132, 1145, 1143, 1124, 1128, + /* 280 */ 1103, 1102, 1100, 1096, 1150, 1149, 1085, 1125, 1080, 1064, + /* 290 */ 1120, 1097, 1082, 1078, 1073, 1067, 1109, 1107, 1119, 1117, + /* 300 */ 1116, 1113, 1111, 1108, 1007, 1000, 1002, 1076, 1075, 1081, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 647, 964, 964, 964, 878, 878, 969, 964, 774, 802, - /* 10 */ 802, 938, 969, 969, 969, 876, 969, 969, 969, 964, - /* 20 */ 969, 778, 808, 969, 969, 969, 969, 969, 969, 969, - /* 30 */ 969, 937, 939, 816, 815, 918, 789, 813, 806, 810, - /* 40 */ 879, 872, 873, 871, 875, 880, 969, 809, 841, 856, - /* 50 */ 840, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 60 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 70 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 80 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 90 */ 969, 969, 969, 969, 850, 855, 862, 854, 851, 843, - /* 100 */ 842, 844, 845, 969, 969, 673, 739, 969, 969, 846, - /* 110 */ 969, 685, 847, 859, 858, 857, 680, 969, 969, 969, - /* 120 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 130 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 140 */ 969, 969, 969, 969, 647, 964, 969, 969, 964, 964, - /* 150 */ 964, 964, 964, 964, 956, 778, 768, 969, 969, 969, - /* 160 */ 969, 969, 969, 969, 969, 969, 969, 944, 942, 969, - /* 170 */ 891, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 180 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 190 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 200 */ 969, 969, 969, 969, 653, 969, 911, 774, 774, 774, - /* 210 */ 776, 754, 766, 655, 812, 791, 791, 923, 812, 923, - /* 220 */ 710, 733, 707, 802, 791, 874, 802, 802, 775, 766, - /* 230 */ 969, 949, 782, 782, 941, 941, 782, 821, 743, 812, - /* 240 */ 750, 750, 750, 750, 782, 670, 812, 821, 743, 743, - /* 250 */ 812, 782, 670, 917, 915, 782, 782, 670, 782, 670, - /* 260 */ 782, 670, 884, 741, 741, 741, 725, 884, 741, 710, - /* 270 */ 741, 725, 741, 741, 795, 790, 795, 790, 795, 790, - /* 280 */ 782, 782, 969, 884, 888, 888, 884, 807, 796, 805, - /* 290 */ 803, 812, 676, 728, 663, 663, 652, 652, 652, 652, - /* 300 */ 961, 961, 956, 712, 712, 695, 969, 969, 969, 969, - /* 310 */ 969, 969, 687, 969, 893, 969, 969, 969, 969, 969, - /* 320 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 330 */ 969, 828, 969, 648, 951, 969, 969, 948, 969, 969, - /* 340 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 350 */ 969, 969, 969, 969, 969, 969, 921, 969, 969, 969, - /* 360 */ 969, 969, 969, 914, 913, 969, 969, 969, 969, 969, - /* 370 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 380 */ 969, 969, 969, 969, 969, 969, 969, 757, 969, 969, - /* 390 */ 969, 761, 969, 969, 969, 969, 969, 969, 804, 969, - /* 400 */ 797, 969, 877, 969, 969, 969, 969, 969, 969, 969, - /* 410 */ 969, 969, 969, 966, 969, 969, 969, 965, 969, 969, - /* 420 */ 969, 969, 969, 830, 969, 829, 833, 969, 661, 969, - /* 430 */ 644, 649, 960, 963, 962, 959, 958, 957, 952, 950, - /* 440 */ 947, 946, 945, 943, 940, 936, 897, 895, 902, 901, - /* 450 */ 900, 899, 898, 896, 894, 892, 818, 817, 814, 811, - /* 460 */ 753, 935, 890, 752, 749, 748, 669, 953, 920, 929, - /* 470 */ 928, 927, 822, 926, 925, 924, 922, 919, 906, 820, - /* 480 */ 819, 744, 882, 881, 672, 910, 909, 908, 912, 916, - /* 490 */ 907, 784, 751, 671, 668, 675, 679, 731, 732, 740, - /* 500 */ 738, 737, 736, 735, 734, 730, 681, 686, 724, 709, - /* 510 */ 708, 717, 716, 722, 721, 720, 719, 718, 715, 714, - /* 520 */ 713, 706, 705, 711, 704, 727, 726, 723, 703, 747, - /* 530 */ 746, 745, 742, 702, 701, 700, 833, 699, 698, 838, - /* 540 */ 837, 866, 826, 755, 759, 758, 762, 763, 771, 770, - /* 550 */ 769, 780, 781, 793, 792, 824, 823, 794, 779, 773, - /* 560 */ 772, 788, 787, 786, 785, 777, 767, 799, 798, 868, - /* 570 */ 783, 867, 865, 934, 933, 932, 931, 930, 870, 967, - /* 580 */ 968, 887, 889, 886, 801, 800, 885, 869, 839, 836, - /* 590 */ 690, 691, 905, 904, 903, 693, 692, 689, 688, 863, - /* 600 */ 860, 852, 864, 861, 853, 849, 848, 834, 832, 831, - /* 610 */ 827, 835, 760, 756, 825, 765, 764, 697, 696, 694, - /* 620 */ 678, 677, 674, 667, 665, 664, 666, 662, 660, 659, - /* 630 */ 658, 657, 656, 684, 683, 682, 654, 651, 650, 646, - /* 640 */ 645, 643, + /* 0 */ 651, 968, 968, 968, 882, 882, 973, 968, 778, 806, + /* 10 */ 806, 942, 973, 973, 973, 880, 973, 973, 973, 968, + /* 20 */ 973, 782, 812, 973, 973, 973, 973, 973, 973, 973, + /* 30 */ 973, 941, 943, 820, 819, 922, 793, 817, 810, 814, + /* 40 */ 883, 876, 877, 875, 879, 884, 973, 813, 845, 860, + /* 50 */ 844, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 60 */ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 70 */ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 80 */ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 90 */ 973, 973, 973, 973, 854, 859, 866, 858, 855, 847, + /* 100 */ 846, 848, 849, 973, 973, 677, 743, 973, 973, 850, + /* 110 */ 973, 689, 851, 863, 862, 861, 684, 973, 973, 973, + /* 120 */ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 130 */ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 140 */ 973, 973, 973, 973, 651, 968, 973, 973, 968, 968, + /* 150 */ 968, 968, 968, 968, 960, 782, 772, 973, 973, 973, + /* 160 */ 973, 973, 973, 973, 973, 973, 973, 948, 946, 973, + /* 170 */ 895, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 180 */ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 190 */ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 200 */ 973, 973, 973, 973, 657, 973, 915, 778, 778, 778, + /* 210 */ 780, 758, 770, 659, 816, 795, 795, 927, 816, 927, + /* 220 */ 714, 737, 711, 806, 795, 878, 806, 806, 779, 770, + /* 230 */ 973, 953, 786, 786, 945, 945, 786, 825, 811, 800, + /* 240 */ 747, 811, 800, 816, 754, 754, 754, 754, 786, 674, + /* 250 */ 816, 825, 747, 747, 816, 786, 674, 921, 919, 786, + /* 260 */ 786, 674, 786, 674, 786, 674, 888, 745, 745, 745, + /* 270 */ 729, 888, 745, 714, 745, 729, 745, 745, 799, 794, + /* 280 */ 799, 794, 799, 794, 786, 786, 973, 888, 892, 892, + /* 290 */ 888, 811, 800, 809, 807, 816, 680, 732, 667, 667, + /* 300 */ 656, 656, 656, 656, 965, 965, 960, 716, 716, 699, + /* 310 */ 973, 973, 973, 973, 973, 973, 691, 973, 897, 973, + /* 320 */ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 330 */ 973, 973, 973, 973, 973, 832, 973, 652, 955, 973, + /* 340 */ 973, 952, 973, 973, 973, 973, 973, 973, 973, 973, + /* 350 */ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 360 */ 925, 973, 973, 973, 973, 973, 973, 918, 917, 973, + /* 370 */ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 380 */ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + /* 390 */ 973, 761, 973, 973, 973, 765, 973, 973, 973, 973, + /* 400 */ 973, 973, 808, 973, 801, 973, 881, 973, 973, 973, + /* 410 */ 973, 973, 973, 973, 973, 973, 973, 970, 973, 973, + /* 420 */ 973, 969, 973, 973, 973, 973, 973, 834, 973, 833, + /* 430 */ 837, 973, 665, 973, 648, 653, 964, 967, 966, 963, + /* 440 */ 962, 961, 956, 954, 951, 950, 949, 947, 944, 940, + /* 450 */ 901, 899, 906, 905, 904, 903, 902, 900, 898, 896, + /* 460 */ 822, 821, 818, 815, 757, 939, 894, 756, 753, 752, + /* 470 */ 673, 957, 924, 933, 932, 931, 826, 930, 929, 928, + /* 480 */ 926, 923, 910, 824, 823, 748, 886, 885, 676, 914, + /* 490 */ 913, 912, 916, 920, 911, 788, 755, 675, 672, 679, + /* 500 */ 683, 735, 736, 744, 742, 741, 740, 739, 738, 734, + /* 510 */ 685, 690, 728, 713, 712, 721, 720, 726, 725, 724, + /* 520 */ 723, 722, 719, 718, 717, 710, 709, 715, 708, 731, + /* 530 */ 730, 727, 707, 751, 750, 749, 746, 706, 705, 704, + /* 540 */ 837, 703, 702, 842, 841, 870, 830, 759, 763, 762, + /* 550 */ 766, 767, 775, 774, 773, 784, 785, 797, 796, 828, + /* 560 */ 827, 798, 783, 777, 776, 792, 791, 790, 789, 781, + /* 570 */ 771, 803, 802, 872, 787, 871, 869, 938, 937, 936, + /* 580 */ 935, 934, 874, 971, 972, 891, 893, 890, 805, 804, + /* 590 */ 889, 873, 843, 840, 694, 695, 909, 908, 907, 697, + /* 600 */ 696, 693, 692, 867, 864, 856, 868, 865, 857, 853, + /* 610 */ 852, 838, 836, 835, 831, 839, 764, 760, 829, 769, + /* 620 */ 768, 701, 700, 698, 682, 681, 678, 671, 669, 668, + /* 630 */ 670, 666, 664, 663, 662, 661, 660, 688, 687, 686, + /* 640 */ 658, 655, 654, 650, 649, 647, }; /* The next table maps tokens into fallback tokens. If a construct @@ -117512,10 +117513,10 @@ static const char *const yyRuleName[] = { /* 166 */ "limit_opt ::= LIMIT expr", /* 167 */ "limit_opt ::= LIMIT expr OFFSET expr", /* 168 */ "limit_opt ::= LIMIT expr COMMA expr", - /* 169 */ "cmd ::= with DELETE FROM fullname indexed_opt where_opt", + /* 169 */ "cmd ::= with DELETE FROM fullname indexed_opt where_opt orderby_opt limit_opt", /* 170 */ "where_opt ::=", /* 171 */ "where_opt ::= WHERE expr", - /* 172 */ "cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt", + /* 172 */ "cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt orderby_opt limit_opt", /* 173 */ "setlist ::= setlist COMMA nm EQ expr", /* 174 */ "setlist ::= nm EQ expr", /* 175 */ "cmd ::= with insert_cmd INTO fullname inscollist_opt select", @@ -118231,10 +118232,10 @@ static const struct { { 206, 2 }, { 206, 4 }, { 206, 4 }, - { 149, 6 }, + { 149, 8 }, { 202, 0 }, { 202, 2 }, - { 149, 8 }, + { 149, 10 }, { 221, 5 }, { 221, 3 }, { 149, 6 }, @@ -118994,19 +118995,21 @@ static void yy_reduce( case 168: /* limit_opt ::= LIMIT expr COMMA expr */ {yygotominor.yy476.pOffset = yymsp[-2].minor.yy346.pExpr; yygotominor.yy476.pLimit = yymsp[0].minor.yy346.pExpr;} break; - case 169: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt */ + case 169: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt orderby_opt limit_opt */ { - sqlite3WithPush(pParse, yymsp[-5].minor.yy59, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy65, &yymsp[-1].minor.yy0); - sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy65,yymsp[0].minor.yy132); + sqlite3WithPush(pParse, yymsp[-7].minor.yy59, 1); + sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy65, &yymsp[-3].minor.yy0); + yymsp[-2].minor.yy132 = sqlite3LimitWhere(pParse, yymsp[-4].minor.yy65, yymsp[-2].minor.yy132, yymsp[-1].minor.yy14, yymsp[0].minor.yy476.pLimit, yymsp[0].minor.yy476.pOffset, "DELETE"); + sqlite3DeleteFrom(pParse,yymsp[-4].minor.yy65,yymsp[-2].minor.yy132); } break; - case 172: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ + case 172: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt orderby_opt limit_opt */ { - sqlite3WithPush(pParse, yymsp[-7].minor.yy59, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy65, &yymsp[-3].minor.yy0); - sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy14,"set list"); - sqlite3Update(pParse,yymsp[-4].minor.yy65,yymsp[-1].minor.yy14,yymsp[0].minor.yy132,yymsp[-5].minor.yy186); + sqlite3WithPush(pParse, yymsp[-9].minor.yy59, 1); + sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy65, &yymsp[-5].minor.yy0); + sqlite3ExprListCheckLength(pParse,yymsp[-3].minor.yy14,"set list"); + yymsp[-2].minor.yy132 = sqlite3LimitWhere(pParse, yymsp[-6].minor.yy65, yymsp[-2].minor.yy132, yymsp[-1].minor.yy14, yymsp[0].minor.yy476.pLimit, yymsp[0].minor.yy476.pOffset, "UPDATE"); + sqlite3Update(pParse,yymsp[-6].minor.yy65,yymsp[-3].minor.yy14,yymsp[-2].minor.yy132,yymsp[-7].minor.yy186); } break; case 173: /* setlist ::= setlist COMMA nm EQ expr */ diff --git a/sqlite3.go b/sqlite3.go index 233e7e91..998a16ae 100644 --- a/sqlite3.go +++ b/sqlite3.go @@ -9,6 +9,7 @@ package sqlite3 #cgo CFLAGS: -std=gnu99 #cgo CFLAGS: -DSQLITE_ENABLE_RTREE -DSQLITE_THREADSAFE #cgo CFLAGS: -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS +#cgo CFLAGS: -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT #include #include #include diff --git a/sqlite3_test.go b/sqlite3_test.go index 423f30ec..c4b41d75 100644 --- a/sqlite3_test.go +++ b/sqlite3_test.go @@ -270,6 +270,11 @@ func TestDelete(t *testing.T) { if rows.Next() { t.Error("Fetched row but expected not rows") } + + res, err = db.Exec("delete from foo where id = 123 limit 2 offset 4") + if err != nil { + t.Fatal("Failed to delete record:", err) + } } func TestBooleanRoundtrip(t *testing.T) {