* [tarantool-patches] Re: [tarantool-patches] [PATCH v2] sql: remove support of partial indexes
2018-04-18 20:03 [tarantool-patches] [PATCH v2] sql: remove support of partial indexes Gleb
@ 2018-04-23 17:30 ` GLEB SKIBA
0 siblings, 0 replies; 2+ messages in thread
From: GLEB SKIBA @ 2018-04-23 17:30 UTC (permalink / raw)
To: tarantool-patches
[-- Attachment #1: Type: text/plain, Size: 47336 bytes --]
Please see a new patch.
>Среда, 18 апреля 2018, 23:03 +03:00 от Gleb <dmarc-noreply@freelists.org>:
>
>Remove support partial indexes.
>Add test which checks inaccessibility of partial index syntax.
>Delete use partial index from tests.
>They can be enabled after #2626.
>
>Fixes #2165
>---
>Issue from https://github.com/tarantool/tarantool/issues/2165 .
>Source from https://github.com/tarantool/tarantool/tree/gh-2165-remove-support-partial-indexes .
>Changes in v2:
> -return tests which use partial.
> -delete "WHERE" from returned tests.
>
> src/box/sql/parse.c | 472 ++++++++++-----------
> src/box/sql/parse.y | 4 +-
> test/sql-tap/analyze9.test.lua | 2 +-
> test/sql-tap/autoindex4.test.lua | 2 +-
> test/sql-tap/fkey1.test.lua | 2 +-
> ...gh-2165-remove-support-partial-indexes.test.lua | 17 +
> test/sql-tap/index6.test.lua | 12 +-
> test/sql-tap/index7.test.lua | 25 +-
> 8 files changed, 277 insertions(+), 259 deletions(-)
> create mode 100644 test/sql-tap/gh-2165-remove-support-partial-indexes.test.lua
>
>diff --git a/src/box/sql/parse.c b/src/box/sql/parse.c
>index 5c0f0ea..f5612d4 100644
>--- a/src/box/sql/parse.c
>+++ b/src/box/sql/parse.c
>@@ -315,16 +315,16 @@ typedef union {
> #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse
> #define sqlite3ParserARG_STORE yypParser->pParse = pParse
> #define YYFALLBACK 1
>-#define YYNSTATE 409
>+#define YYNSTATE 408
> #define YYNRULE 297
>-#define YY_MAX_SHIFT 408
>-#define YY_MIN_SHIFTREDUCE 604
>-#define YY_MAX_SHIFTREDUCE 900
>-#define YY_MIN_REDUCE 901
>-#define YY_MAX_REDUCE 1197
>-#define YY_ERROR_ACTION 1198
>-#define YY_ACCEPT_ACTION 1199
>-#define YY_NO_ACTION 1200
>+#define YY_MAX_SHIFT 407
>+#define YY_MIN_SHIFTREDUCE 603
>+#define YY_MAX_SHIFTREDUCE 899
>+#define YY_MIN_REDUCE 900
>+#define YY_MAX_REDUCE 1196
>+#define YY_ERROR_ACTION 1197
>+#define YY_ACCEPT_ACTION 1198
>+#define YY_NO_ACTION 1199
> /************* End control #defines *******************************************/
>
> /* Define the yytestcase() macro to be a no-op if is not already defined
>@@ -396,149 +396,149 @@ typedef union {
> ** yy_default[] Default action for each state.
> **
> *********** Begin parsing tables **********************************************/
>-#define YY_ACTTAB_COUNT (1402)
>+#define YY_ACTTAB_COUNT (1401)
> static const YYACTIONTYPE yy_action[] = {
>- /* 0 */ 91, 92, 285, 82, 771, 771, 783, 786, 775, 775,
>- /* 10 */ 89, 89, 90, 90, 90, 90, 307, 88, 88, 88,
>- /* 20 */ 88, 87, 87, 86, 86, 86, 85, 307, 90, 90,
>+ /* 0 */ 91, 92, 284, 82, 770, 770, 782, 785, 774, 774,
>+ /* 10 */ 89, 89, 90, 90, 90, 90, 306, 88, 88, 88,
>+ /* 20 */ 88, 87, 87, 86, 86, 86, 85, 306, 90, 90,
> /* 30 */ 90, 90, 83, 88, 88, 88, 88, 87, 87, 86,
>- /* 40 */ 86, 86, 85, 307, 208, 201, 885, 90, 90, 90,
>+ /* 40 */ 86, 86, 85, 306, 208, 201, 884, 90, 90, 90,
> /* 50 */ 90, 122, 88, 88, 88, 88, 87, 87, 86, 86,
>- /* 60 */ 86, 85, 307, 87, 87, 86, 86, 86, 85, 307,
>- /* 70 */ 885, 86, 86, 86, 85, 307, 91, 92, 285, 82,
>- /* 80 */ 771, 771, 783, 786, 775, 775, 89, 89, 90, 90,
>- /* 90 */ 90, 90, 630, 88, 88, 88, 88, 87, 87, 86,
>- /* 100 */ 86, 86, 85, 307, 91, 92, 285, 82, 771, 771,
>- /* 110 */ 783, 786, 775, 775, 89, 89, 90, 90, 90, 90,
>- /* 120 */ 287, 88, 88, 88, 88, 87, 87, 86, 86, 86,
>- /* 130 */ 85, 307, 705, 91, 92, 285, 82, 771, 771, 783,
>- /* 140 */ 786, 775, 775, 89, 89, 90, 90, 90, 90, 67,
>+ /* 60 */ 86, 85, 306, 87, 87, 86, 86, 86, 85, 306,
>+ /* 70 */ 884, 86, 86, 86, 85, 306, 91, 92, 284, 82,
>+ /* 80 */ 770, 770, 782, 785, 774, 774, 89, 89, 90, 90,
>+ /* 90 */ 90, 90, 629, 88, 88, 88, 88, 87, 87, 86,
>+ /* 100 */ 86, 86, 85, 306, 91, 92, 284, 82, 770, 770,
>+ /* 110 */ 782, 785, 774, 774, 89, 89, 90, 90, 90, 90,
>+ /* 120 */ 286, 88, 88, 88, 88, 87, 87, 86, 86, 86,
>+ /* 130 */ 85, 306, 704, 91, 92, 284, 82, 770, 770, 782,
>+ /* 140 */ 785, 774, 774, 89, 89, 90, 90, 90, 90, 67,
> /* 150 */ 88, 88, 88, 88, 87, 87, 86, 86, 86, 85,
>- /* 160 */ 307, 772, 772, 784, 787, 740, 93, 172, 280, 706,
>- /* 170 */ 312, 278, 277, 276, 220, 274, 243, 633, 618, 721,
>- /* 180 */ 722, 632, 91, 92, 285, 82, 771, 771, 783, 786,
>- /* 190 */ 775, 775, 89, 89, 90, 90, 90, 90, 109, 88,
>- /* 200 */ 88, 88, 88, 87, 87, 86, 86, 86, 85, 307,
>+ /* 160 */ 306, 771, 771, 783, 786, 739, 93, 172, 279, 705,
>+ /* 170 */ 311, 277, 276, 275, 220, 273, 242, 632, 617, 720,
>+ /* 180 */ 721, 631, 91, 92, 284, 82, 770, 770, 782, 785,
>+ /* 190 */ 774, 774, 89, 89, 90, 90, 90, 90, 109, 88,
>+ /* 200 */ 88, 88, 88, 87, 87, 86, 86, 86, 85, 306,
> /* 210 */ 88, 88, 88, 88, 87, 87, 86, 86, 86, 85,
>- /* 220 */ 307, 344, 165, 706, 341, 638, 286, 305, 304, 824,
>- /* 230 */ 776, 91, 92, 285, 82, 771, 771, 783, 786, 775,
>- /* 240 */ 775, 89, 89, 90, 90, 90, 90, 333, 88, 88,
>- /* 250 */ 88, 88, 87, 87, 86, 86, 86, 85, 307, 182,
>- /* 260 */ 743, 666, 645, 407, 407, 180, 313, 122, 137, 218,
>- /* 270 */ 666, 119, 624, 624, 631, 679, 236, 330, 235, 877,
>- /* 280 */ 91, 92, 285, 82, 771, 771, 783, 786, 775, 775,
>- /* 290 */ 89, 89, 90, 90, 90, 90, 743, 88, 88, 88,
>- /* 300 */ 88, 87, 87, 86, 86, 86, 85, 307, 22, 215,
>- /* 310 */ 404, 183, 236, 320, 224, 761, 896, 754, 896, 54,
>- /* 320 */ 749, 720, 705, 762, 122, 216, 366, 48, 48, 91,
>- /* 330 */ 92, 285, 82, 771, 771, 783, 786, 775, 775, 89,
>- /* 340 */ 89, 90, 90, 90, 90, 265, 88, 88, 88, 88,
>- /* 350 */ 87, 87, 86, 86, 86, 85, 307, 753, 753, 755,
>- /* 360 */ 223, 199, 382, 367, 356, 353, 352, 649, 84, 81,
>- /* 370 */ 176, 699, 748, 1199, 408, 3, 351, 294, 91, 92,
>- /* 380 */ 285, 82, 771, 771, 783, 786, 775, 775, 89, 89,
>- /* 390 */ 90, 90, 90, 90, 317, 88, 88, 88, 88, 87,
>- /* 400 */ 87, 86, 86, 86, 85, 307, 91, 92, 285, 82,
>- /* 410 */ 771, 771, 783, 786, 775, 775, 89, 89, 90, 90,
>- /* 420 */ 90, 90, 648, 88, 88, 88, 88, 87, 87, 86,
>- /* 430 */ 86, 86, 85, 307, 91, 92, 285, 82, 771, 771,
>- /* 440 */ 783, 786, 775, 775, 89, 89, 90, 90, 90, 90,
>+ /* 220 */ 306, 343, 165, 705, 340, 637, 285, 304, 303, 823,
>+ /* 230 */ 775, 91, 92, 284, 82, 770, 770, 782, 785, 774,
>+ /* 240 */ 774, 89, 89, 90, 90, 90, 90, 332, 88, 88,
>+ /* 250 */ 88, 88, 87, 87, 86, 86, 86, 85, 306, 182,
>+ /* 260 */ 742, 665, 644, 406, 406, 180, 312, 122, 137, 218,
>+ /* 270 */ 665, 119, 623, 623, 630, 678, 236, 329, 235, 876,
>+ /* 280 */ 91, 92, 284, 82, 770, 770, 782, 785, 774, 774,
>+ /* 290 */ 89, 89, 90, 90, 90, 90, 742, 88, 88, 88,
>+ /* 300 */ 88, 87, 87, 86, 86, 86, 85, 306, 22, 215,
>+ /* 310 */ 403, 183, 236, 319, 224, 760, 895, 753, 895, 54,
>+ /* 320 */ 748, 719, 704, 761, 122, 216, 365, 48, 48, 91,
>+ /* 330 */ 92, 284, 82, 770, 770, 782, 785, 774, 774, 89,
>+ /* 340 */ 89, 90, 90, 90, 90, 264, 88, 88, 88, 88,
>+ /* 350 */ 87, 87, 86, 86, 86, 85, 306, 752, 752, 754,
>+ /* 360 */ 223, 199, 381, 366, 355, 352, 351, 648, 84, 81,
>+ /* 370 */ 176, 698, 747, 1198, 407, 3, 350, 293, 91, 92,
>+ /* 380 */ 284, 82, 770, 770, 782, 785, 774, 774, 89, 89,
>+ /* 390 */ 90, 90, 90, 90, 316, 88, 88, 88, 88, 87,
>+ /* 400 */ 87, 86, 86, 86, 85, 306, 91, 92, 284, 82,
>+ /* 410 */ 770, 770, 782, 785, 774, 774, 89, 89, 90, 90,
>+ /* 420 */ 90, 90, 647, 88, 88, 88, 88, 87, 87, 86,
>+ /* 430 */ 86, 86, 85, 306, 91, 92, 284, 82, 770, 770,
>+ /* 440 */ 782, 785, 774, 774, 89, 89, 90, 90, 90, 90,
> /* 450 */ 122, 88, 88, 88, 88, 87, 87, 86, 86, 86,
>- /* 460 */ 85, 307, 91, 92, 285, 82, 771, 771, 783, 786,
>- /* 470 */ 775, 775, 89, 89, 90, 90, 90, 90, 145, 88,
>- /* 480 */ 88, 88, 88, 87, 87, 86, 86, 86, 85, 307,
>- /* 490 */ 1150, 1150, 84, 81, 176, 70, 92, 285, 82, 771,
>- /* 500 */ 771, 783, 786, 775, 775, 89, 89, 90, 90, 90,
>- /* 510 */ 90, 647, 88, 88, 88, 88, 87, 87, 86, 86,
>- /* 520 */ 86, 85, 307, 73, 207, 122, 402, 402, 402, 91,
>- /* 530 */ 80, 285, 82, 771, 771, 783, 786, 775, 775, 89,
>- /* 540 */ 89, 90, 90, 90, 90, 376, 88, 88, 88, 88,
>- /* 550 */ 87, 87, 86, 86, 86, 85, 307, 285, 82, 771,
>- /* 560 */ 771, 783, 786, 775, 775, 89, 89, 90, 90, 90,
>+ /* 460 */ 85, 306, 91, 92, 284, 82, 770, 770, 782, 785,
>+ /* 470 */ 774, 774, 89, 89, 90, 90, 90, 90, 145, 88,
>+ /* 480 */ 88, 88, 88, 87, 87, 86, 86, 86, 85, 306,
>+ /* 490 */ 1149, 1149, 84, 81, 176, 70, 92, 284, 82, 770,
>+ /* 500 */ 770, 782, 785, 774, 774, 89, 89, 90, 90, 90,
>+ /* 510 */ 90, 646, 88, 88, 88, 88, 87, 87, 86, 86,
>+ /* 520 */ 86, 85, 306, 73, 207, 122, 401, 401, 401, 91,
>+ /* 530 */ 80, 284, 82, 770, 770, 782, 785, 774, 774, 89,
>+ /* 540 */ 89, 90, 90, 90, 90, 375, 88, 88, 88, 88,
>+ /* 550 */ 87, 87, 86, 86, 86, 85, 306, 284, 82, 770,
>+ /* 560 */ 770, 782, 785, 774, 774, 89, 89, 90, 90, 90,
> /* 570 */ 90, 78, 88, 88, 88, 88, 87, 87, 86, 86,
>- /* 580 */ 86, 85, 307, 404, 306, 306, 306, 605, 310, 141,
>- /* 590 */ 75, 76, 264, 624, 624, 692, 873, 77, 284, 315,
>- /* 600 */ 48, 48, 305, 304, 640, 78, 265, 84, 81, 176,
>- /* 610 */ 400, 2, 1097, 315, 314, 308, 308, 200, 199, 200,
>- /* 620 */ 141, 356, 353, 352, 75, 76, 273, 624, 624, 281,
>- /* 630 */ 404, 77, 389, 351, 387, 382, 372, 761, 303, 754,
>- /* 640 */ 743, 1173, 749, 661, 400, 2, 404, 10, 10, 308,
>- /* 650 */ 308, 891, 299, 895, 383, 373, 236, 330, 235, 371,
>- /* 660 */ 893, 293, 894, 48, 48, 361, 389, 751, 348, 333,
>- /* 670 */ 201, 761, 846, 754, 705, 315, 749, 296, 398, 753,
>- /* 680 */ 753, 755, 756, 403, 18, 138, 847, 109, 404, 624,
>- /* 690 */ 624, 896, 109, 896, 848, 672, 164, 122, 382, 384,
>- /* 700 */ 374, 751, 673, 843, 122, 48, 48, 162, 174, 78,
>- /* 710 */ 719, 843, 184, 753, 753, 755, 756, 403, 18, 886,
>- /* 720 */ 886, 217, 155, 253, 359, 248, 358, 203, 75, 76,
>- /* 730 */ 693, 122, 689, 189, 246, 77, 109, 688, 404, 328,
>- /* 740 */ 382, 381, 870, 78, 109, 287, 363, 404, 400, 2,
>- /* 750 */ 246, 85, 307, 308, 308, 30, 30, 84, 81, 176,
>- /* 760 */ 331, 658, 75, 76, 48, 48, 870, 404, 331, 77,
>- /* 770 */ 389, 887, 708, 23, 370, 761, 167, 754, 329, 109,
>- /* 780 */ 749, 255, 400, 2, 10, 10, 340, 308, 308, 404,
>- /* 790 */ 364, 9, 9, 216, 366, 404, 177, 177, 295, 382,
>- /* 800 */ 362, 830, 830, 325, 389, 751, 48, 48, 369, 761,
>- /* 810 */ 705, 754, 10, 10, 749, 659, 404, 753, 753, 755,
>- /* 820 */ 756, 403, 18, 624, 624, 404, 198, 404, 339, 886,
>- /* 830 */ 886, 671, 671, 48, 48, 316, 157, 156, 823, 751,
>- /* 840 */ 823, 300, 47, 47, 10, 10, 66, 68, 185, 816,
>- /* 850 */ 818, 753, 753, 755, 756, 403, 18, 95, 379, 146,
>- /* 860 */ 404, 634, 634, 177, 177, 652, 75, 76, 377, 241,
>- /* 870 */ 5, 357, 208, 77, 885, 369, 653, 34, 34, 643,
>- /* 880 */ 339, 887, 707, 761, 404, 754, 400, 2, 749, 318,
>- /* 890 */ 705, 308, 308, 706, 297, 229, 263, 705, 885, 404,
>- /* 900 */ 24, 35, 35, 335, 624, 624, 806, 846, 389, 624,
>- /* 910 */ 624, 816, 188, 761, 404, 754, 36, 36, 749, 240,
>- /* 920 */ 178, 847, 404, 747, 404, 753, 753, 755, 849, 848,
>- /* 930 */ 388, 37, 37, 404, 705, 321, 404, 669, 669, 38,
>- /* 940 */ 38, 26, 26, 751, 404, 228, 165, 706, 404, 841,
>- /* 950 */ 27, 27, 232, 29, 29, 753, 753, 755, 756, 403,
>- /* 960 */ 18, 39, 39, 404, 234, 40, 40, 827, 264, 826,
>- /* 970 */ 404, 705, 678, 404, 921, 323, 227, 404, 226, 404,
>- /* 980 */ 41, 41, 109, 623, 288, 404, 324, 11, 11, 404,
>- /* 990 */ 42, 42, 143, 404, 97, 97, 43, 43, 404, 747,
>- /* 1000 */ 404, 257, 44, 44, 404, 339, 31, 31, 404, 674,
>- /* 1010 */ 45, 45, 404, 747, 404, 46, 46, 32, 32, 404,
>- /* 1020 */ 752, 112, 112, 252, 694, 113, 113, 404, 705, 114,
>- /* 1030 */ 114, 52, 52, 404, 251, 404, 33, 33, 404, 677,
>- /* 1040 */ 404, 208, 404, 885, 98, 98, 404, 624, 624, 259,
>- /* 1050 */ 49, 49, 99, 99, 394, 100, 100, 96, 96, 111,
>- /* 1060 */ 111, 404, 290, 108, 108, 404, 231, 885, 404, 747,
>- /* 1070 */ 404, 747, 109, 404, 163, 404, 291, 404, 104, 104,
>- /* 1080 */ 404, 169, 103, 103, 404, 101, 101, 102, 102, 191,
>+ /* 580 */ 86, 85, 306, 403, 305, 305, 305, 604, 309, 141,
>+ /* 590 */ 75, 76, 263, 623, 623, 691, 872, 77, 283, 314,
>+ /* 600 */ 48, 48, 304, 303, 639, 78, 264, 84, 81, 176,
>+ /* 610 */ 399, 2, 1096, 314, 313, 307, 307, 200, 199, 200,
>+ /* 620 */ 141, 355, 352, 351, 75, 76, 272, 623, 623, 280,
>+ /* 630 */ 403, 77, 388, 350, 386, 381, 371, 760, 302, 753,
>+ /* 640 */ 742, 1172, 748, 660, 399, 2, 403, 10, 10, 307,
>+ /* 650 */ 307, 890, 298, 894, 382, 372, 236, 329, 235, 370,
>+ /* 660 */ 892, 292, 893, 48, 48, 360, 388, 750, 347, 332,
>+ /* 670 */ 201, 760, 845, 753, 704, 314, 748, 295, 397, 752,
>+ /* 680 */ 752, 754, 755, 402, 18, 138, 846, 109, 403, 623,
>+ /* 690 */ 623, 895, 109, 895, 847, 671, 164, 122, 381, 383,
>+ /* 700 */ 373, 750, 672, 842, 122, 48, 48, 162, 174, 78,
>+ /* 710 */ 718, 842, 184, 752, 752, 754, 755, 402, 18, 885,
>+ /* 720 */ 885, 217, 155, 252, 358, 247, 357, 203, 75, 76,
>+ /* 730 */ 692, 122, 688, 189, 245, 77, 109, 687, 403, 327,
>+ /* 740 */ 381, 380, 869, 78, 109, 286, 362, 403, 399, 2,
>+ /* 750 */ 245, 85, 306, 307, 307, 30, 30, 84, 81, 176,
>+ /* 760 */ 330, 657, 75, 76, 48, 48, 869, 403, 330, 77,
>+ /* 770 */ 388, 886, 707, 23, 369, 760, 167, 753, 328, 109,
>+ /* 780 */ 748, 254, 399, 2, 10, 10, 339, 307, 307, 403,
>+ /* 790 */ 363, 9, 9, 216, 365, 403, 177, 177, 294, 381,
>+ /* 800 */ 361, 829, 829, 324, 388, 750, 48, 48, 368, 760,
>+ /* 810 */ 704, 753, 10, 10, 748, 658, 403, 752, 752, 754,
>+ /* 820 */ 755, 402, 18, 623, 623, 403, 198, 403, 338, 885,
>+ /* 830 */ 885, 670, 670, 48, 48, 315, 157, 156, 822, 750,
>+ /* 840 */ 822, 299, 47, 47, 10, 10, 66, 68, 185, 815,
>+ /* 850 */ 817, 752, 752, 754, 755, 402, 18, 95, 378, 146,
>+ /* 860 */ 403, 633, 633, 177, 177, 651, 75, 76, 376, 240,
>+ /* 870 */ 5, 356, 208, 77, 884, 368, 652, 34, 34, 642,
>+ /* 880 */ 338, 886, 706, 760, 403, 753, 399, 2, 748, 317,
>+ /* 890 */ 704, 307, 307, 705, 296, 229, 262, 704, 884, 403,
>+ /* 900 */ 24, 35, 35, 334, 623, 623, 805, 845, 388, 623,
>+ /* 910 */ 623, 815, 188, 760, 403, 753, 36, 36, 748, 239,
>+ /* 920 */ 178, 846, 403, 746, 403, 752, 752, 754, 848, 847,
>+ /* 930 */ 387, 37, 37, 403, 704, 320, 403, 668, 668, 38,
>+ /* 940 */ 38, 26, 26, 750, 403, 228, 165, 705, 403, 840,
>+ /* 950 */ 27, 27, 232, 29, 29, 752, 752, 754, 755, 402,
>+ /* 960 */ 18, 39, 39, 403, 234, 40, 40, 826, 263, 825,
>+ /* 970 */ 403, 704, 677, 403, 920, 322, 227, 403, 226, 403,
>+ /* 980 */ 41, 41, 109, 622, 287, 403, 323, 11, 11, 403,
>+ /* 990 */ 42, 42, 143, 403, 97, 97, 43, 43, 403, 746,
>+ /* 1000 */ 403, 256, 44, 44, 403, 338, 31, 31, 403, 673,
>+ /* 1010 */ 45, 45, 403, 746, 403, 46, 46, 32, 32, 403,
>+ /* 1020 */ 751, 112, 112, 251, 693, 113, 113, 403, 704, 114,
>+ /* 1030 */ 114, 52, 52, 403, 250, 403, 33, 33, 403, 676,
>+ /* 1040 */ 403, 208, 403, 884, 98, 98, 403, 623, 623, 258,
>+ /* 1050 */ 49, 49, 99, 99, 393, 100, 100, 96, 96, 111,
>+ /* 1060 */ 111, 403, 289, 108, 108, 403, 231, 884, 403, 746,
>+ /* 1070 */ 403, 746, 109, 403, 163, 403, 290, 403, 104, 104,
>+ /* 1080 */ 403, 169, 103, 103, 403, 101, 101, 102, 102, 191,
> /* 1090 */ 51, 51, 53, 53, 50, 50, 107, 25, 25, 1,
>- /* 1100 */ 628, 28, 28, 624, 624, 365, 681, 684, 684, 622,
>- /* 1110 */ 161, 160, 159, 401, 288, 391, 395, 369, 399, 175,
>- /* 1120 */ 174, 337, 721, 722, 628, 74, 884, 72, 689, 110,
>- /* 1130 */ 262, 149, 292, 688, 301, 745, 20, 206, 332, 334,
>- /* 1140 */ 206, 206, 109, 237, 64, 66, 651, 650, 109, 109,
>- /* 1150 */ 349, 109, 212, 244, 822, 66, 822, 641, 641, 686,
>- /* 1160 */ 715, 69, 206, 7, 813, 813, 338, 19, 735, 809,
>- /* 1170 */ 626, 212, 106, 852, 757, 757, 319, 851, 153, 820,
>- /* 1180 */ 289, 814, 225, 168, 233, 838, 840, 837, 336, 342,
>- /* 1190 */ 343, 239, 354, 617, 242, 158, 662, 646, 247, 713,
>- /* 1200 */ 645, 746, 261, 695, 250, 390, 811, 266, 810, 267,
>- /* 1210 */ 272, 629, 154, 866, 615, 614, 616, 863, 135, 124,
>- /* 1220 */ 117, 64, 322, 825, 732, 55, 327, 230, 347, 187,
>- /* 1230 */ 147, 194, 144, 195, 126, 360, 196, 298, 643, 128,
>- /* 1240 */ 665, 129, 130, 131, 345, 282, 664, 139, 663, 375,
>- /* 1250 */ 63, 6, 742, 71, 842, 637, 302, 283, 636, 656,
>- /* 1260 */ 94, 249, 635, 875, 380, 65, 805, 655, 378, 21,
>- /* 1270 */ 864, 222, 607, 610, 309, 179, 819, 219, 279, 221,
>- /* 1280 */ 405, 406, 612, 611, 608, 311, 123, 817, 181, 393,
>- /* 1290 */ 741, 115, 397, 125, 120, 127, 186, 675, 116, 828,
>- /* 1300 */ 703, 133, 206, 132, 836, 898, 254, 326, 136, 134,
>- /* 1310 */ 105, 704, 256, 202, 702, 56, 57, 58, 258, 269,
>- /* 1320 */ 701, 260, 685, 268, 270, 271, 59, 839, 121, 835,
>- /* 1330 */ 791, 190, 192, 12, 209, 238, 8, 193, 148, 620,
>- /* 1340 */ 346, 197, 140, 210, 211, 251, 350, 355, 654, 204,
>- /* 1350 */ 118, 60, 13, 683, 245, 14, 61, 62, 170, 760,
>- /* 1360 */ 759, 789, 15, 385, 687, 4, 714, 368, 171, 173,
>- /* 1370 */ 205, 142, 69, 709, 166, 16, 66, 17, 804, 790,
>- /* 1380 */ 788, 793, 845, 214, 844, 386, 856, 150, 392, 275,
>- /* 1390 */ 857, 213, 151, 396, 792, 152, 604, 758, 627, 79,
>- /* 1400 */ 1155, 621,
>+ /* 1100 */ 627, 28, 28, 623, 623, 364, 680, 683, 683, 621,
>+ /* 1110 */ 161, 160, 159, 400, 287, 390, 394, 368, 398, 175,
>+ /* 1120 */ 174, 336, 720, 721, 627, 74, 883, 72, 688, 110,
>+ /* 1130 */ 261, 149, 291, 687, 300, 744, 20, 206, 331, 333,
>+ /* 1140 */ 206, 206, 109, 804, 64, 66, 650, 649, 109, 109,
>+ /* 1150 */ 348, 109, 212, 243, 821, 66, 821, 640, 640, 685,
>+ /* 1160 */ 714, 69, 206, 7, 812, 812, 337, 19, 734, 808,
>+ /* 1170 */ 625, 212, 106, 851, 756, 756, 318, 850, 153, 819,
>+ /* 1180 */ 288, 813, 225, 168, 233, 837, 839, 836, 335, 341,
>+ /* 1190 */ 342, 238, 353, 616, 241, 158, 661, 645, 246, 712,
>+ /* 1200 */ 644, 745, 260, 694, 249, 389, 810, 265, 809, 266,
>+ /* 1210 */ 271, 628, 154, 865, 614, 613, 615, 862, 135, 124,
>+ /* 1220 */ 117, 64, 321, 824, 731, 55, 326, 230, 346, 187,
>+ /* 1230 */ 147, 194, 144, 195, 126, 359, 196, 297, 642, 128,
>+ /* 1240 */ 664, 129, 130, 131, 344, 281, 663, 139, 662, 374,
>+ /* 1250 */ 63, 6, 741, 71, 841, 636, 301, 282, 635, 655,
>+ /* 1260 */ 94, 248, 634, 874, 379, 65, 654, 21, 377, 863,
>+ /* 1270 */ 222, 606, 609, 308, 179, 310, 123, 278, 219, 221,
>+ /* 1280 */ 404, 702, 405, 611, 392, 818, 610, 607, 816, 181,
>+ /* 1290 */ 115, 396, 740, 125, 120, 116, 127, 186, 674, 827,
>+ /* 1300 */ 253, 206, 132, 897, 105, 202, 133, 703, 835, 325,
>+ /* 1310 */ 255, 134, 136, 701, 700, 56, 57, 270, 257, 259,
>+ /* 1320 */ 684, 267, 268, 269, 58, 59, 121, 838, 190, 192,
>+ /* 1330 */ 790, 834, 8, 209, 12, 237, 619, 193, 148, 345,
>+ /* 1340 */ 197, 140, 210, 211, 250, 349, 354, 653, 60, 13,
>+ /* 1350 */ 204, 244, 14, 61, 62, 118, 682, 170, 759, 758,
>+ /* 1360 */ 788, 15, 205, 686, 4, 713, 367, 171, 173, 142,
>+ /* 1370 */ 708, 69, 384, 16, 66, 803, 17, 789, 385, 787,
>+ /* 1380 */ 792, 844, 843, 166, 391, 855, 150, 151, 213, 856,
>+ /* 1390 */ 274, 152, 395, 791, 757, 626, 79, 214, 620, 603,
>+ /* 1400 */ 1154,
> };
> static const YYCODETYPE yy_lookahead[] = {
> /* 0 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
>@@ -667,24 +667,24 @@ static const YYCODETYPE yy_lookahead[] = {
> /* 1230 */ 209, 148, 47, 148, 177, 84, 148, 63, 83, 180,
> /* 1240 */ 162, 180, 180, 180, 165, 165, 162, 177, 162, 106,
> /* 1250 */ 84, 47, 177, 121, 189, 162, 32, 165, 164, 170,
>- /* 1260 */ 112, 162, 162, 162, 107, 111, 189, 170, 110, 50,
>- /* 1270 */ 40, 35, 4, 36, 3, 42, 48, 144, 141, 144,
>- /* 1280 */ 150, 142, 142, 142, 142, 72, 43, 48, 101, 165,
>- /* 1290 */ 99, 153, 165, 114, 88, 102, 84, 46, 153, 127,
>- /* 1300 */ 204, 84, 50, 127, 1, 130, 203, 129, 114, 102,
>- /* 1310 */ 166, 204, 203, 166, 204, 16, 16, 16, 203, 191,
>- /* 1320 */ 204, 203, 193, 192, 190, 189, 16, 52, 88, 1,
>- /* 1330 */ 213, 105, 101, 47, 215, 124, 34, 84, 49, 46,
>- /* 1340 */ 7, 82, 47, 218, 218, 89, 66, 66, 54, 66,
>- /* 1350 */ 60, 47, 47, 95, 48, 47, 47, 50, 101, 48,
>- /* 1360 */ 48, 48, 47, 75, 48, 47, 52, 50, 48, 48,
>- /* 1370 */ 105, 47, 50, 104, 47, 105, 50, 105, 48, 48,
>- /* 1380 */ 48, 38, 48, 101, 48, 50, 48, 47, 49, 42,
>- /* 1390 */ 48, 50, 47, 49, 48, 47, 1, 48, 48, 47,
>- /* 1400 */ 0, 48,
>+ /* 1260 */ 112, 162, 162, 162, 107, 111, 170, 50, 110, 40,
>+ /* 1270 */ 35, 4, 36, 3, 42, 72, 43, 141, 144, 144,
>+ /* 1280 */ 150, 204, 142, 142, 165, 48, 142, 142, 48, 101,
>+ /* 1290 */ 153, 165, 99, 114, 88, 153, 102, 84, 46, 127,
>+ /* 1300 */ 203, 50, 127, 130, 166, 166, 84, 204, 1, 129,
>+ /* 1310 */ 203, 102, 114, 204, 204, 16, 16, 189, 203, 203,
>+ /* 1320 */ 193, 192, 191, 190, 16, 16, 88, 52, 105, 101,
>+ /* 1330 */ 213, 1, 34, 215, 47, 124, 46, 84, 49, 7,
>+ /* 1340 */ 82, 47, 218, 218, 89, 66, 66, 54, 47, 47,
>+ /* 1350 */ 66, 48, 47, 47, 50, 60, 95, 101, 48, 48,
>+ /* 1360 */ 48, 47, 105, 48, 47, 52, 50, 48, 48, 47,
>+ /* 1370 */ 104, 50, 75, 105, 50, 48, 105, 48, 50, 48,
>+ /* 1380 */ 38, 48, 48, 47, 49, 48, 47, 47, 50, 48,
>+ /* 1390 */ 42, 47, 49, 48, 48, 48, 47, 101, 48, 1,
>+ /* 1400 */ 0,
> };
>-#define YY_SHIFT_USE_DFLT (1402)
>-#define YY_SHIFT_COUNT (408)
>+#define YY_SHIFT_USE_DFLT (1401)
>+#define YY_SHIFT_COUNT (407)
> #define YY_SHIFT_MIN (-82)
> #define YY_SHIFT_MAX (1400)
> static const short yy_shift_ofst[] = {
>@@ -699,11 +699,11 @@ static const short yy_shift_ofst[] = {
> /* 80 */ 736, 736, 840, 736, 736, 736, 736, 736, 736, 736,
> /* 90 */ 736, 736, 736, 736, 736, 736, 11, 30, 30, 30,
> /* 100 */ 30, 30, 188, 37, 43, 661, 201, 201, 720, 695,
>- /* 110 */ 772, -16, 1402, 1402, 1402, 645, 645, 633, 633, 826,
>+ /* 110 */ 772, -16, 1401, 1401, 1401, 645, 645, 633, 633, 826,
> /* 120 */ 221, 221, 858, 772, 317, 772, 772, 772, 772, 772,
> /* 130 */ 772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
> /* 140 */ 772, 691, 772, 772, 772, 691, 695, -82, -82, -82,
>- /* 150 */ -82, -82, -82, 1402, 1402, 810, 242, 242, 285, 806,
>+ /* 150 */ -82, -82, -82, 1401, 1401, 810, 242, 242, 285, 806,
> /* 160 */ 806, 806, 119, 823, 668, 778, 868, 716, 911, 638,
> /* 170 */ 996, 992, 992, 992, 853, 843, 1052, 1011, 637, 772,
> /* 180 */ 772, 772, 772, 1031, 648, 648, 772, 772, 1114, 1031,
>@@ -711,29 +711,29 @@ static const short yy_shift_ofst[] = {
> /* 200 */ 593, 772, 36, 772, 1014, 772, 772, 648, 772, 1004,
> /* 210 */ 1014, 1014, 772, 772, 772, 1076, 1033, 772, 1082, 772,
> /* 220 */ 772, 772, 772, 1171, 1215, 1108, 1177, 1177, 1177, 1177,
>- /* 230 */ 1104, 1098, 1183, 1108, 1171, 1215, 1215, 1108, 1183, 1185,
>- /* 240 */ 1183, 1183, 1185, 1151, 1151, 1151, 1174, 1185, 1151, 1155,
>- /* 250 */ 1151, 1174, 1151, 1151, 1143, 1166, 1143, 1166, 1143, 1166,
>- /* 260 */ 1143, 1166, 1204, 1132, 1185, 1224, 1224, 1185, 1148, 1157,
>- /* 270 */ 1154, 1158, 1108, 1219, 1230, 1230, 1236, 1236, 1236, 1236,
>- /* 280 */ 1237, 1402, 1402, 1402, 1402, 152, 852, 1025, 1049, 1120,
>- /* 290 */ 1087, 1090, 1091, 1095, 1102, 1105, 1106, 1069, 725, 945,
>- /* 300 */ 1111, 1112, 1113, 1121, 723, 1039, 1122, 1123, 873, 1268,
>- /* 310 */ 1271, 1233, 1213, 1243, 1228, 1239, 1187, 1191, 1179, 1206,
>- /* 320 */ 1193, 1212, 1251, 1172, 1252, 1176, 1175, 1178, 1217, 1303,
>- /* 330 */ 1207, 1194, 1299, 1300, 1301, 1310, 1240, 1275, 1226, 1231,
>- /* 340 */ 1328, 1302, 1286, 1253, 1211, 1289, 1293, 1333, 1256, 1259,
>- /* 350 */ 1295, 1280, 1304, 1305, 1306, 1308, 1281, 1294, 1309, 1283,
>- /* 360 */ 1290, 1311, 1312, 1313, 1307, 1258, 1315, 1316, 1318, 1317,
>- /* 370 */ 1257, 1320, 1321, 1314, 1265, 1324, 1269, 1322, 1270, 1326,
>- /* 380 */ 1272, 1330, 1322, 1331, 1332, 1334, 1288, 1335, 1336, 1327,
>- /* 390 */ 1343, 1338, 1340, 1339, 1341, 1342, 1345, 1344, 1341, 1346,
>- /* 400 */ 1348, 1349, 1350, 1352, 1282, 1353, 1347, 1395, 1400,
>+ /* 230 */ 1104, 1098, 1183, 1108, 1171, 1215, 1215, 1183, 1185, 1183,
>+ /* 240 */ 1183, 1185, 1151, 1151, 1151, 1174, 1185, 1151, 1155, 1151,
>+ /* 250 */ 1174, 1151, 1151, 1143, 1166, 1143, 1166, 1143, 1166, 1143,
>+ /* 260 */ 1166, 1204, 1132, 1185, 1224, 1224, 1185, 1148, 1157, 1154,
>+ /* 270 */ 1158, 1108, 1217, 1229, 1229, 1235, 1235, 1235, 1235, 1236,
>+ /* 280 */ 1401, 1401, 1401, 1401, 152, 852, 1025, 1049, 1120, 1087,
>+ /* 290 */ 1090, 1091, 1095, 1102, 1105, 1106, 1069, 725, 945, 1111,
>+ /* 300 */ 1112, 1113, 1121, 723, 1039, 1122, 1123, 873, 1267, 1270,
>+ /* 310 */ 1232, 1203, 1233, 1237, 1240, 1188, 1193, 1179, 1206, 1194,
>+ /* 320 */ 1213, 1252, 1172, 1251, 1175, 1173, 1180, 1222, 1307, 1209,
>+ /* 330 */ 1198, 1299, 1300, 1308, 1309, 1238, 1275, 1223, 1228, 1330,
>+ /* 340 */ 1298, 1287, 1253, 1211, 1289, 1290, 1332, 1255, 1258, 1294,
>+ /* 350 */ 1279, 1301, 1302, 1303, 1305, 1280, 1293, 1306, 1284, 1295,
>+ /* 360 */ 1310, 1311, 1312, 1304, 1261, 1314, 1315, 1317, 1316, 1256,
>+ /* 370 */ 1319, 1320, 1313, 1257, 1322, 1266, 1321, 1268, 1324, 1271,
>+ /* 380 */ 1327, 1321, 1329, 1331, 1333, 1297, 1328, 1334, 1336, 1342,
>+ /* 390 */ 1337, 1339, 1335, 1338, 1341, 1340, 1343, 1338, 1345, 1344,
>+ /* 400 */ 1346, 1347, 1349, 1296, 1350, 1348, 1398, 1400,
> };
> #define YY_REDUCE_USE_DFLT (-69)
>-#define YY_REDUCE_COUNT (284)
>+#define YY_REDUCE_COUNT (283)
> #define YY_REDUCE_MIN (-68)
>-#define YY_REDUCE_MAX (1147)
>+#define YY_REDUCE_MAX (1145)
> static const short yy_reduce_ofst[] = {
> /* 0 */ 237, 503, 595, 124, 167, 440, 545, 604, 552, 397,
> /* 10 */ 158, 547, 487, 624, 652, 646, 673, 684, 682, 456,
>@@ -758,55 +758,55 @@ static const short yy_reduce_ofst[] = {
> /* 200 */ 1023, 1054, 1032, 1055, 1041, 1056, 1058, 1000, 1060, 989,
> /* 210 */ 1043, 1045, 1064, 1066, 877, 1022, 1026, 1068, 1067, 1071,
> /* 220 */ 1072, 1073, 1074, 1010, 1057, 1035, 1059, 1061, 1062, 1063,
>- /* 230 */ 998, 1003, 1081, 1065, 1021, 1070, 1075, 1077, 1083, 1079,
>- /* 240 */ 1085, 1088, 1080, 1078, 1084, 1086, 1089, 1092, 1093, 1094,
>- /* 250 */ 1099, 1097, 1100, 1101, 1096, 1103, 1107, 1109, 1110, 1115,
>- /* 260 */ 1116, 1118, 1117, 1119, 1124, 1125, 1126, 1127, 1129, 1131,
>- /* 270 */ 1128, 1134, 1136, 1130, 1133, 1135, 1139, 1140, 1141, 1142,
>- /* 280 */ 1137, 1138, 1144, 1147, 1145,
>+ /* 230 */ 998, 1003, 1081, 1065, 1021, 1070, 1075, 1083, 1079, 1085,
>+ /* 240 */ 1088, 1080, 1078, 1084, 1086, 1089, 1092, 1093, 1094, 1099,
>+ /* 250 */ 1096, 1100, 1101, 1077, 1097, 1103, 1107, 1109, 1115, 1110,
>+ /* 260 */ 1116, 1117, 1118, 1119, 1124, 1125, 1126, 1127, 1129, 1131,
>+ /* 270 */ 1133, 1128, 1130, 1134, 1135, 1140, 1141, 1144, 1145, 1136,
>+ /* 280 */ 1137, 1138, 1139, 1142,
> };
> static const YYACTIONTYPE yy_default[] = {
>- /* 0 */ 1156, 1150, 1150, 1150, 1097, 1097, 1097, 1097, 1150, 993,
>- /* 10 */ 1020, 1020, 1198, 1198, 1198, 1198, 1198, 1198, 1096, 1198,
>- /* 20 */ 1198, 1198, 1198, 1150, 997, 1026, 1198, 1198, 1198, 1098,
>- /* 30 */ 1099, 1198, 1198, 1198, 1131, 1036, 1035, 1034, 1033, 1007,
>- /* 40 */ 1031, 1024, 1028, 1098, 1092, 1093, 1091, 1095, 1099, 1198,
>- /* 50 */ 1027, 1061, 1076, 1060, 1198, 1198, 1198, 1198, 1198, 1198,
>- /* 60 */ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
>- /* 70 */ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
>- /* 80 */ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
>- /* 90 */ 1198, 1198, 1198, 1198, 1198, 1198, 1070, 1075, 1082, 1074,
>- /* 100 */ 1071, 1063, 1062, 1064, 1065, 964, 1198, 1198, 1066, 1198,
>- /* 110 */ 1198, 1067, 1079, 1078, 1077, 1165, 1164, 1198, 1198, 1104,
>- /* 120 */ 1198, 1198, 1198, 1198, 1150, 1198, 1198, 1198, 1198, 1198,
>- /* 130 */ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
>- /* 140 */ 1198, 922, 1198, 1198, 1198, 922, 1198, 1150, 1150, 1150,
>- /* 150 */ 1150, 1150, 1150, 997, 988, 1198, 1198, 1198, 1198, 1198,
>- /* 160 */ 1198, 1198, 1198, 993, 1198, 1198, 1198, 1198, 1126, 1198,
>- /* 170 */ 1198, 993, 993, 993, 1198, 995, 1198, 977, 987, 1198,
>- /* 180 */ 1147, 1198, 1118, 1030, 1009, 1009, 1198, 1198, 1197, 1030,
>- /* 190 */ 1198, 1197, 1198, 1198, 1198, 1198, 1198, 1198, 939, 1198,
>- /* 200 */ 1176, 1198, 936, 1198, 1020, 1198, 1198, 1009, 1198, 1094,
>- /* 210 */ 1020, 1020, 1198, 1198, 1198, 994, 987, 1198, 1198, 1198,
>- /* 220 */ 1198, 1198, 1159, 1041, 967, 1030, 973, 973, 973, 973,
>- /* 230 */ 1130, 1194, 916, 1030, 1041, 967, 967, 1030, 916, 1105,
>- /* 240 */ 916, 916, 1105, 965, 965, 965, 954, 1105, 965, 939,
>- /* 250 */ 965, 954, 965, 965, 1013, 1008, 1013, 1008, 1013, 1008,
>- /* 260 */ 1013, 1008, 1100, 1198, 1105, 1109, 1109, 1105, 1025, 1014,
>- /* 270 */ 1023, 1021, 1030, 957, 1162, 1162, 1158, 1158, 1158, 1158,
>- /* 280 */ 906, 1171, 941, 941, 1171, 1198, 1198, 1198, 1166, 1112,
>- /* 290 */ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
>- /* 300 */ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1047, 1198,
>- /* 310 */ 903, 1198, 1198, 1198, 1198, 1198, 1189, 1198, 1198, 1198,
>- /* 320 */ 1198, 1198, 1198, 1198, 1129, 1128, 1198, 1198, 1198, 1198,
>- /* 330 */ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1196,
>- /* 340 */ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
>- /* 350 */ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
>- /* 360 */ 1198, 1198, 1198, 1198, 1198, 979, 1198, 1198, 1198, 1180,
>- /* 370 */ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1022, 1198, 1015,
>- /* 380 */ 1198, 1198, 1186, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
>- /* 390 */ 1198, 1198, 1198, 1198, 1152, 1198, 1198, 1198, 1151, 1198,
>- /* 400 */ 1198, 1198, 1198, 1198, 1198, 1198, 910, 1198, 1198,
>+ /* 0 */ 1155, 1149, 1149, 1149, 1096, 1096, 1096, 1096, 1149, 992,
>+ /* 10 */ 1019, 1019, 1197, 1197, 1197, 1197, 1197, 1197, 1095, 1197,
>+ /* 20 */ 1197, 1197, 1197, 1149, 996, 1025, 1197, 1197, 1197, 1097,
>+ /* 30 */ 1098, 1197, 1197, 1197, 1130, 1035, 1034, 1033, 1032, 1006,
>+ /* 40 */ 1030, 1023, 1027, 1097, 1091, 1092, 1090, 1094, 1098, 1197,
>+ /* 50 */ 1026, 1060, 1075, 1059, 1197, 1197, 1197, 1197, 1197, 1197,
>+ /* 60 */ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
>+ /* 70 */ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
>+ /* 80 */ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
>+ /* 90 */ 1197, 1197, 1197, 1197, 1197, 1197, 1069, 1074, 1081, 1073,
>+ /* 100 */ 1070, 1062, 1061, 1063, 1064, 963, 1197, 1197, 1065, 1197,
>+ /* 110 */ 1197, 1066, 1078, 1077, 1076, 1164, 1163, 1197, 1197, 1103,
>+ /* 120 */ 1197, 1197, 1197, 1197, 1149, 1197, 1197, 1197, 1197, 1197,
>+ /* 130 */ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
>+ /* 140 */ 1197, 921, 1197, 1197, 1197, 921, 1197, 1149, 1149, 1149,
>+ /* 150 */ 1149, 1149, 1149, 996, 987, 1197, 1197, 1197, 1197, 1197,
>+ /* 160 */ 1197, 1197, 1197, 992, 1197, 1197, 1197, 1197, 1125, 1197,
>+ /* 170 */ 1197, 992, 992, 992, 1197, 994, 1197, 976, 986, 1197,
>+ /* 180 */ 1146, 1197, 1117, 1029, 1008, 1008, 1197, 1197, 1196, 1029,
>+ /* 190 */ 1197, 1196, 1197, 1197, 1197, 1197, 1197, 1197, 938, 1197,
>+ /* 200 */ 1175, 1197, 935, 1197, 1019, 1197, 1197, 1008, 1197, 1093,
>+ /* 210 */ 1019, 1019, 1197, 1197, 1197, 993, 986, 1197, 1197, 1197,
>+ /* 220 */ 1197, 1197, 1158, 1040, 966, 1029, 972, 972, 972, 972,
>+ /* 230 */ 1129, 1193, 915, 1029, 1040, 966, 966, 915, 1104, 915,
>+ /* 240 */ 915, 1104, 964, 964, 964, 953, 1104, 964, 938, 964,
>+ /* 250 */ 953, 964, 964, 1012, 1007, 1012, 1007, 1012, 1007, 1012,
>+ /* 260 */ 1007, 1099, 1197, 1104, 1108, 1108, 1104, 1024, 1013, 1022,
>+ /* 270 */ 1020, 1029, 956, 1161, 1161, 1157, 1157, 1157, 1157, 905,
>+ /* 280 */ 1170, 940, 940, 1170, 1197, 1197, 1197, 1165, 1111, 1197,
>+ /* 290 */ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
>+ /* 300 */ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1046, 1197, 902,
>+ /* 310 */ 1197, 1197, 1197, 1197, 1197, 1188, 1197, 1197, 1197, 1197,
>+ /* 320 */ 1197, 1197, 1197, 1128, 1127, 1197, 1197, 1197, 1197, 1197,
>+ /* 330 */ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1195, 1197,
>+ /* 340 */ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
>+ /* 350 */ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
>+ /* 360 */ 1197, 1197, 1197, 1197, 978, 1197, 1197, 1197, 1179, 1197,
>+ /* 370 */ 1197, 1197, 1197, 1197, 1197, 1197, 1021, 1197, 1014, 1197,
>+ /* 380 */ 1197, 1185, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
>+ /* 390 */ 1197, 1197, 1197, 1151, 1197, 1197, 1197, 1150, 1197, 1197,
>+ /* 400 */ 1197, 1197, 1197, 1197, 1197, 909, 1197, 1197,
> };
> /********** End of lemon-generated parsing tables *****************************/
>
>@@ -1252,7 +1252,7 @@ static const char *const yyRuleName[] = {
> /* 198 */ "nexprlist ::= expr",
> /* 199 */ "paren_exprlist ::=",
> /* 200 */ "paren_exprlist ::= LP exprlist RP",
>- /* 201 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm ON nm LP sortlist RP where_opt",
>+ /* 201 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm ON nm LP sortlist RP",
> /* 202 */ "uniqueflag ::= UNIQUE",
> /* 203 */ "uniqueflag ::=",
> /* 204 */ "eidlist_opt ::=",
>@@ -1995,7 +1995,7 @@ static const struct {
> { 195, 1 },
> { 213, 0 },
> { 213, 3 },
>- { 140, 11 },
>+ { 140, 10 },
> { 217, 1 },
> { 217, 0 },
> { 165, 0 },
>@@ -3400,12 +3400,12 @@ static void yy_reduce(
> {yymsp[-2].minor.yy382 = yymsp[-1].minor.yy382;}
> #line 3402 "parse.c"
> break;
>- case 201: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm ON nm LP sortlist RP where_opt */
>+ case 201: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm ON nm LP sortlist RP */
> #line 1244 "parse.y"
> {
>- sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0,
>- sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0), yymsp[-2].minor.yy382, yymsp[-9].minor.yy52,
>- &yymsp[-10].minor.yy0, yymsp[0].minor.yy362, SQLITE_SO_ASC, yymsp[-7].minor.yy52, SQLITE_IDXTYPE_APPDEF);
>+ sqlite3CreateIndex(pParse, &yymsp[-5].minor.yy0,
>+ sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0), yymsp[-1].minor.yy382, yymsp[-8].minor.yy52,
>+ &yymsp[-9].minor.yy0, 0, SQLITE_SO_ASC, yymsp[-6].minor.yy52, SQLITE_IDXTYPE_APPDEF);
> }
> #line 3411 "parse.c"
> break;
>diff --git a/src/box/sql/parse.y b/src/box/sql/parse.y
>index b078e20..e0b5a2e 100644
>--- a/src/box/sql/parse.y
>+++ b/src/box/sql/parse.y
>@@ -1241,10 +1241,10 @@ paren_exprlist(A) ::= LP exprlist(X) RP. {A = X;}
> ///////////////////////////// The CREATE INDEX command ///////////////////////
> //
> cmd ::= createkw(S) uniqueflag(U) INDEX ifnotexists(NE) nm(X)
>- ON nm(Y) LP sortlist(Z) RP where_opt(W). {
>+ ON nm(Y) LP sortlist(Z) RP. {
> sqlite3CreateIndex(pParse, &X,
> sqlite3SrcListAppend(pParse->db,0,&Y), Z, U,
>- &S, W, SQLITE_SO_ASC, NE, SQLITE_IDXTYPE_APPDEF);
>+ &S, 0, SQLITE_SO_ASC, NE, SQLITE_IDXTYPE_APPDEF);
> }
>
> %type uniqueflag {int}
>diff --git a/test/sql-tap/analyze9.test.lua b/test/sql-tap/analyze9.test.lua
>index 4ce575e..3668211 100755
>--- a/test/sql-tap/analyze9.test.lua
>+++ b/test/sql-tap/analyze9.test.lua
>@@ -1111,7 +1111,7 @@ test:do_test(
> test:execsql([[
> DROP TABLE IF EXISTS t1;
> CREATE TABLE t1(id INTEGER PRIMARY KEY AUTOINCREMENT, a, b, c, d);
>- CREATE INDEX i1 ON t1(a, b) WHERE d IS NOT NULL;
>+ CREATE INDEX i1 ON t1(a, b);
> INSERT INTO t1 VALUES(null, -1, -1, -1, NULL);
> INSERT INTO t1 SELECT null, 2*a,2*b,2*c,d FROM t1;
> INSERT INTO t1 SELECT null, 2*a,2*b,2*c,d FROM t1;
>diff --git a/test/sql-tap/autoindex4.test.lua b/test/sql-tap/autoindex4.test.lua
>index 45bae48..a567c5e 100755
>--- a/test/sql-tap/autoindex4.test.lua
>+++ b/test/sql-tap/autoindex4.test.lua
>@@ -111,7 +111,7 @@ test:do_execsql_test(
> test:do_execsql_test(
> "autoindex4-3.1",
> [[
>- CREATE INDEX Items_x1 ON Items(ItemName,Name) WHERE ItemName = 'dummy';
>+ CREATE INDEX Items_x1 ON Items(ItemName,Name);
>
> SELECT Items.ItemName
> FROM Items
>diff --git a/test/sql-tap/fkey1.test.lua b/test/sql-tap/fkey1.test.lua
>index 8749e1f..bca82d9 100755
>--- a/test/sql-tap/fkey1.test.lua
>+++ b/test/sql-tap/fkey1.test.lua
>@@ -212,7 +212,7 @@ test:do_execsql_test(
> "fkey1-6.1",
> [[
> CREATE TABLE p1(id PRIMARY KEY, x, y);
>- CREATE UNIQUE INDEX p1x ON p1(x) WHERE y<2;
>+ CREATE INDEX p1x ON p1(x);
> INSERT INTO p1 VALUES(1, 1, 1);
> CREATE TABLE c1(a PRIMARY KEY REFERENCES p1(x));
> ]], {
>diff --git a/test/sql-tap/gh-2165-remove-support-partial-indexes.test.lua b/test/sql-tap/gh-2165-remove-support-partial-indexes.test.lua
>new file mode 100644
>index 0000000..d8210fc
>--- /dev/null
>+++ b/test/sql-tap/gh-2165-remove-support-partial-indexes.test.lua
>@@ -0,0 +1,17 @@
>+#!/usr/bin/env tarantool
>+test = require("sqltester")
>+
>+test:plan(1)
>+
>+
>+test:do_catchsql_test(
>+ "partial-index-1",
>+ [[
>+ CREATE TABLE t1 (a INTEGER PRIMARY KEY, b INTEGER)
>+ CREATE UNIQUE INDEX i ON t1 (a) WHERE a = 3;
>+ ]], {
>+ 1, "keyword \"CREATE\" is reserved"
>+ })
>+
>+--This test intended to be deleted in #2626
>+test:finish_test()
>diff --git a/test/sql-tap/index6.test.lua b/test/sql-tap/index6.test.lua
>index 2aa97e8..069623f 100755
>--- a/test/sql-tap/index6.test.lua
>+++ b/test/sql-tap/index6.test.lua
>@@ -225,7 +225,7 @@ test:do_execsql_test(
> "index6-6.0",
> [[
> CREATE TABLE t6(a,b, PRIMARY KEY (a,b));
>- CREATE INDEX t6b ON t6(b) WHERE b=1;
>+ CREATE INDEX t6b ON t6(b);
> INSERT INTO t6(a,b) VALUES(123,456);
> SELECT * FROM t6;
> ]], {
>@@ -262,7 +262,7 @@ test:do_execsql_test(
> CREATE TABLE t7a(id primary key, x);
> CREATE TABLE t7b(id primary key, y);
> INSERT INTO t7a VALUES(1, 1);
>- CREATE INDEX t7ax ON t7a(x) WHERE x=99;
>+ CREATE INDEX t7ax ON t7a(x);
> SELECT x,y FROM t7a LEFT JOIN t7b ON (x=99) ORDER BY x;
> ]], {
> -- <index6-7.0>
>@@ -318,7 +318,7 @@ test:do_execsql_test(
> [[
> CREATE TABLE t8a(id primary key, a,b);
> CREATE TABLE t8b(id primary key, x,y);
>- CREATE INDEX i8c ON t8b(y) WHERE x = 'value';
>+ CREATE INDEX i8c ON t8b(y);
>
> INSERT INTO t8a VALUES(1, 1, 'one');
> INSERT INTO t8a VALUES(2, 2, 'two');
>@@ -364,7 +364,7 @@ if (0 > 0)
> "index6-9.1",
> [[
> CREATE TABLE t9(a int, b int, c int);
>- CREATE INDEX t9ca ON t9(c,a) WHERE a in (10,12,20);
>+ CREATE INDEX t9ca ON t9(c,a);
> INSERT INTO t9 VALUES(1,1,9),(10,2,35),(11,15,82),(20,19,5),(NULL,7,3);
> UPDATE t9 SET b=c WHERE a in (10,12,20);
> SELECT a,b,c,'|' FROM t9 ORDER BY a;
>@@ -379,7 +379,7 @@ test:do_execsql_test(
> [[
> --DROP TABLE t9;
> CREATE TABLE t9(a int, b int, c int, PRIMARY KEY(a));
>- CREATE INDEX t9ca ON t9(c,a) WHERE a in (10,12,20);
>+ CREATE INDEX t9ca ON t9(c,a);
> INSERT INTO t9 VALUES(1,1,9),(10,2,35),(11,15,82),(20,19,5);
> UPDATE t9 SET b=c WHERE a in (10,12,20);
> SELECT a,b,c,'|' FROM t9 ORDER BY a;
>@@ -400,7 +400,7 @@ test:do_execsql_test(
> (2,3,4,5,6),
> (3,4,5,6,7),
> (1,2,3,8,9);
>- CREATE INDEX t10x ON t10(d) WHERE a=1 AND b=2 AND c=3;
>+ CREATE INDEX t10x ON t10(d);
> SELECT e FROM t10 WHERE a=1 AND b=2 AND c=3 ORDER BY d;
> ]], {
> -- <index6-10.1>
>diff --git a/test/sql-tap/index7.test.lua b/test/sql-tap/index7.test.lua
>index c8f56eb..c194859 100755
>--- a/test/sql-tap/index7.test.lua
>+++ b/test/sql-tap/index7.test.lua
>@@ -1,6 +1,6 @@
> #!/usr/bin/env tarantool
> test = require("sqltester")
>-test:plan(5)
>+test:plan(4)
>
> --!./tcltestrunner.lua
> -- 2013-11-04
>@@ -261,7 +261,7 @@ test:do_execsql_test(
> test:do_execsql_test(
> "index7-6.2",
> [[
>- CREATE INDEX i4 ON t4(c) WHERE d='xyz';
>+ CREATE INDEX i4 ON t4(c);
> SELECT a,b,c,d FROM (SELECT a,b FROM t5 WHERE a=1 AND b='xyz'), t4 WHERE c='abc';
> ]], {
> -- <index7-6.2>
>@@ -291,14 +291,15 @@ test:do_eqp_test(
> -- </index7-6.4>
> })
>
>-test:do_catchsql_test(
>- "index7-6.5",
>- [[
>- CREATE INDEX t5a ON t5(a) WHERE a=#1;
>- ]], {
>- -- <index7-6.5>
>- 1, [[near "#1": syntax error]]
>- -- </index7-6.5>
>- })
>-
>+--test:do_catchsql_test(
>+-- "index7-6.5",
>+-- [[
>+-- CREATE INDEX t5a ON t5(a) WHERE a=#1;
>+-- ]], {
>+-- -- <index7-6.5>
>+-- 1, [[near "#1": syntax error]]
>+-- -- </index7-6.5>
>+-- })
>+-- this test checks incorrect syntax of partial indexes
>+-- to be enabled after #2626
> test:finish_test()
>--
>2.7.4
>
>
>
>
[-- Attachment #2: Type: text/html, Size: 53189 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread