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