<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>