From 67a9422e78720ba8df7a521d569bc6a0cd09d911 Mon Sep 17 00:00:00 2001
From: Kirill Yukhin <kyukhin@tarantool.org>
Date: Wed, 24 Jan 2018 07:55:59 +0300
Subject: [PATCH] sql: add regenerated pase file.

Add forgotten in previous commit regenerated box/sql/parse.c
---
 src/box/sql/parse.c | 2696 +++++++++++++++++++++----------------------
 1 file changed, 1333 insertions(+), 1363 deletions(-)

diff --git a/src/box/sql/parse.c b/src/box/sql/parse.c
index f7a7f7491a..b5f1030b85 100644
--- a/src/box/sql/parse.c
+++ b/src/box/sql/parse.c
@@ -287,25 +287,25 @@ static void disableLookaside(Parse *pParse){
 #endif
 /************* Begin control #defines *****************************************/
 #define YYCODETYPE unsigned char
-#define YYNOCODE 234
+#define YYNOCODE 231
 #define YYACTIONTYPE unsigned short int
 #define YYWILDCARD 74
 #define sqlite3ParserTOKENTYPE Token
 typedef union {
   int yyinit;
   sqlite3ParserTOKENTYPE yy0;
-  struct TrigEvent yy60;
-  SrcList* yy73;
-  ExprSpan yy200;
-  TriggerStep* yy251;
-  ExprList* yy272;
-  Expr* yy294;
-  Select* yy309;
-  int yy322;
-  struct {int value; int mask;} yy369;
-  struct LimitVal yy400;
-  IdList* yy436;
-  With* yy445;
+  struct TrigEvent yy10;
+  IdList* yy40;
+  int yy52;
+  struct {int value; int mask;} yy107;
+  With* yy151;
+  ExprSpan yy162;
+  Select* yy279;
+  Expr* yy362;
+  ExprList* yy382;
+  struct LimitVal yy384;
+  SrcList* yy387;
+  TriggerStep* yy427;
 } YYMINORTYPE;
 #ifndef YYSTACKDEPTH
 #define YYSTACKDEPTH 100
@@ -315,16 +315,16 @@ typedef union {
 #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse
 #define sqlite3ParserARG_STORE yypParser->pParse = pParse
 #define YYFALLBACK 1
-#define YYNSTATE             417
-#define YYNRULE              303
-#define YY_MAX_SHIFT         416
-#define YY_MIN_SHIFTREDUCE   614
-#define YY_MAX_SHIFTREDUCE   916
-#define YY_MIN_REDUCE        917
-#define YY_MAX_REDUCE        1219
-#define YY_ERROR_ACTION      1220
-#define YY_ACCEPT_ACTION     1221
-#define YY_NO_ACTION         1222
+#define YYNSTATE             412
+#define YYNRULE              299
+#define YY_MAX_SHIFT         411
+#define YY_MIN_SHIFTREDUCE   608
+#define YY_MAX_SHIFTREDUCE   906
+#define YY_MIN_REDUCE        907
+#define YY_MAX_REDUCE        1205
+#define YY_ERROR_ACTION      1206
+#define YY_ACCEPT_ACTION     1207
+#define YY_NO_ACTION         1208
 /************* End control #defines *******************************************/
 
 /* Define the yytestcase() macro to be a no-op if is not already defined
@@ -396,303 +396,301 @@ typedef union {
 **  yy_default[]       Default action for each state.
 **
 *********** Begin parsing tables **********************************************/
-#define YY_ACTTAB_COUNT (1413)
+#define YY_ACTTAB_COUNT (1406)
 static const YYACTIONTYPE yy_action[] = {
- /*     0 */    91,   92,  291,   82,  781,  781,  793,  796,  785,  785,
- /*    10 */    89,   89,   90,   90,   90,   90,  313,   88,   88,   88,
- /*    20 */    88,   87,   87,   86,   86,   86,   85,  313,   90,   90,
+ /*     0 */    91,   92,  287,   82,  775,  775,  787,  790,  779,  779,
+ /*    10 */    89,   89,   90,   90,   90,   90,  309,   88,   88,   88,
+ /*    20 */    88,   87,   87,   86,   86,   86,   85,  309,   90,   90,
  /*    30 */    90,   90,   83,   88,   88,   88,   88,   87,   87,   86,
- /*    40 */    86,   86,   85,  313,  212,  124,  899,   90,   90,   90,
- /*    50 */    90,  640,   88,   88,   88,   88,   87,   87,   86,   86,
- /*    60 */    86,   85,  313,   87,   87,   86,   86,   86,   85,  313,
- /*    70 */   899,   86,   86,   86,   85,  313,   91,   92,  291,   82,
- /*    80 */   781,  781,  793,  796,  785,  785,   89,   89,   90,   90,
- /*    90 */    90,   90,  643,   88,   88,   88,   88,   87,   87,   86,
- /*   100 */    86,   86,   85,  313,   91,   92,  291,   82,  781,  781,
- /*   110 */   793,  796,  785,  785,   89,   89,   90,   90,   90,   90,
- /*   120 */   730,   88,   88,   88,   88,   87,   87,   86,   86,   86,
- /*   130 */    85,  313,  750,   91,   92,  291,   82,  781,  781,  793,
- /*   140 */   796,  785,  785,   89,   89,   90,   90,   90,   90,   67,
+ /*    40 */    86,   86,   85,  309,  210,  122,  891,   90,   90,   90,
+ /*    50 */    90,  634,   88,   88,   88,   88,   87,   87,   86,   86,
+ /*    60 */    86,   85,  309,   87,   87,   86,   86,   86,   85,  309,
+ /*    70 */   891,   86,   86,   86,   85,  309,   91,   92,  287,   82,
+ /*    80 */   775,  775,  787,  790,  779,  779,   89,   89,   90,   90,
+ /*    90 */    90,   90,  637,   88,   88,   88,   88,   87,   87,   86,
+ /*   100 */    86,   86,   85,  309,   91,   92,  287,   82,  775,  775,
+ /*   110 */   787,  790,  779,  779,   89,   89,   90,   90,   90,   90,
+ /*   120 */   724,   88,   88,   88,   88,   87,   87,   86,   86,   86,
+ /*   130 */    85,  309,  636,   91,   92,  287,   82,  775,  775,  787,
+ /*   140 */   790,  779,  779,   89,   89,   90,   90,   90,   90,   67,
  /*   150 */    88,   88,   88,   88,   87,   87,   86,   86,   86,   85,
- /*   160 */   313,  782,  782,  794,  797,  110,   93,   84,   81,  178,
- /*   170 */   311,  310,  676,  655,  729,  373,  248,  694,  694,  731,
- /*   180 */   732,  676,   91,   92,  291,   82,  781,  781,  793,  796,
- /*   190 */   785,  785,   89,   89,   90,   90,   90,   90,  341,   88,
- /*   200 */    88,   88,   88,   87,   87,   86,   86,   86,   85,  313,
+ /*   160 */   309,  776,  776,  788,  791,  320,   93,   84,   81,  176,
+ /*   170 */   307,  306, 1207,  411,    3,  723,  245,  609,  312,  725,
+ /*   180 */   726,  376,   91,   92,  287,   82,  775,  775,  787,  790,
+ /*   190 */   779,  779,   89,   89,   90,   90,   90,   90,  883,   88,
+ /*   200 */    88,   88,   88,   87,   87,   86,   86,   86,   85,  309,
  /*   210 */    88,   88,   88,   88,   87,   87,   86,   86,   86,   85,
- /*   220 */   313,   84,   81,  178,  642,  648, 1221,  416,    3,  833,
- /*   230 */   786,   91,   92,  291,   82,  781,  781,  793,  796,  785,
- /*   240 */   785,   89,   89,   90,   90,   90,   90,  369,   88,   88,
- /*   250 */    88,   88,   87,   87,   86,   86,   86,   85,  313,  910,
- /*   260 */   753,  910,  187,  415,  415,  174,  891,  716,  771,  222,
- /*   270 */   764,  121,  884,  759,  641,  689,  241,  338,  240,  659,
- /*   280 */    91,   92,  291,   82,  781,  781,  793,  796,  785,  785,
- /*   290 */    89,   89,   90,   90,   90,   90,  884,   88,   88,   88,
- /*   300 */    88,   87,   87,   86,   86,   86,   85,  313,   22,  378,
- /*   310 */   763,  763,  765,  203,  699,  143,  364,  361,  360,  698,
- /*   320 */   167,  716,  709,  772,  286,  124,    9,    9,  359,   91,
- /*   330 */    92,  291,   82,  781,  781,  793,  796,  785,  785,   89,
- /*   340 */    89,   90,   90,   90,   90,  753,   88,   88,   88,   88,
- /*   350 */    87,   87,   86,   86,   86,   85,  313,  702, 1170, 1170,
- /*   360 */   887,  241,  328,  229,   84,   81,  178,  143,  650,   84,
- /*   370 */    81,  178,  758,  278,  220,  374,  287,  381,   91,   92,
- /*   380 */   291,   82,  781,  781,  793,  796,  785,  785,   89,   89,
- /*   390 */    90,   90,   90,   90,  124,   88,   88,   88,   88,   87,
- /*   400 */    87,   86,   86,   86,   85,  313,   91,   92,  291,   82,
- /*   410 */   781,  781,  793,  796,  785,  785,   89,   89,   90,   90,
- /*   420 */    90,   90,  382,   88,   88,   88,   88,   87,   87,   86,
- /*   430 */    86,   86,   85,  313,   91,   92,  291,   82,  781,  781,
- /*   440 */   793,  796,  785,  785,   89,   89,   90,   90,   90,   90,
- /*   450 */   658,   88,   88,   88,   88,   87,   87,   86,   86,   86,
- /*   460 */    85,  313,   91,   92,  291,   82,  781,  781,  793,  796,
- /*   470 */   785,  785,   89,   89,   90,   90,   90,   90,  147,   88,
- /*   480 */    88,   88,   88,   87,   87,   86,   86,   86,   85,  313,
- /*   490 */   410,  410,  410,  615,  316,   70,   92,  291,   82,  781,
- /*   500 */   781,  793,  796,  785,  785,   89,   89,   90,   90,   90,
- /*   510 */    90,  657,   88,   88,   88,   88,   87,   87,   86,   86,
- /*   520 */    86,   85,  313,   73,  312,  312,  312,  634,  634,   91,
- /*   530 */    80,  291,   82,  781,  781,  793,  796,  785,  785,   89,
- /*   540 */    89,   90,   90,   90,   90,  211,   88,   88,   88,   88,
- /*   550 */    87,   87,   86,   86,   86,   85,  313,  291,   82,  781,
- /*   560 */   781,  793,  796,  785,  785,   89,   89,   90,   90,   90,
+ /*   220 */   309,  122,   84,   81,  176,  642,  377, 1158, 1158,  827,
+ /*   230 */   780,   91,   92,  287,   82,  775,  775,  787,  790,  779,
+ /*   240 */   779,   89,   89,   90,   90,   90,   90,  364,   88,   88,
+ /*   250 */    88,   88,   87,   87,   86,   86,   86,   85,  309,  902,
+ /*   260 */   747,  902,  122,  410,  410,  172,  653,  710,  765,  220,
+ /*   270 */   758,  119,  876,  753,  635,  683,  238,  333,  237,  652,
+ /*   280 */    91,   92,  287,   82,  775,  775,  787,  790,  779,  779,
+ /*   290 */    89,   89,   90,   90,   90,   90,  876,   88,   88,   88,
+ /*   300 */    88,   87,   87,   86,   86,   86,   85,  309,   22,  747,
+ /*   310 */   757,  757,  759,  201,  693,  651,  359,  356,  355,  692,
+ /*   320 */   165,  710,  703,  766,  122,  238,  333,  237,  354,   91,
+ /*   330 */    92,  287,   82,  775,  775,  787,  790,  779,  779,   89,
+ /*   340 */    89,   90,   90,   90,   90,  747,   88,   88,   88,   88,
+ /*   350 */    87,   87,   86,   86,   86,   85,  309,  696,   84,   81,
+ /*   360 */   176,  238,  323,  226,  405,  405,  405,  670,  649,   84,
+ /*   370 */    81,  176,  752,  122,  218,  369,  670,  340,   91,   92,
+ /*   380 */   287,   82,  775,  775,  787,  790,  779,  779,   89,   89,
+ /*   390 */    90,   90,   90,   90,  209,   88,   88,   88,   88,   87,
+ /*   400 */    87,   86,   86,   86,   85,  309,   91,   92,  287,   82,
+ /*   410 */   775,  775,  787,  790,  779,  779,   89,   89,   90,   90,
+ /*   420 */    90,   90,  341,   88,   88,   88,   88,   87,   87,   86,
+ /*   430 */    86,   86,   85,  309,   91,   92,  287,   82,  775,  775,
+ /*   440 */   787,  790,  779,  779,   89,   89,   90,   90,   90,   90,
+ /*   450 */   379,   88,   88,   88,   88,   87,   87,   86,   86,   86,
+ /*   460 */    85,  309,   91,   92,  287,   82,  775,  775,  787,  790,
+ /*   470 */   779,  779,   89,   89,   90,   90,   90,   90,  145,   88,
+ /*   480 */    88,   88,   88,   87,   87,   86,   86,   86,   85,  309,
+ /*   490 */   308,  308,  308,   85,  309,   70,   92,  287,   82,  775,
+ /*   500 */   775,  787,  790,  779,  779,   89,   89,   90,   90,   90,
+ /*   510 */    90,  164,   88,   88,   88,   88,   87,   87,   86,   86,
+ /*   520 */    86,   85,  309,   73,  628,  628,  833,  833,  328,   91,
+ /*   530 */    80,  287,   82,  775,  775,  787,  790,  779,  779,   89,
+ /*   540 */    89,   90,   90,   90,   90,  390,   88,   88,   88,   88,
+ /*   550 */    87,   87,   86,   86,   86,   85,  309,  287,   82,  775,
+ /*   560 */   775,  787,  790,  779,  779,   89,   89,   90,   90,   90,
  /*   570 */    90,   78,   88,   88,   88,   88,   87,   87,   86,   86,
- /*   580 */    86,   85,  313,  179,  179,  839,  839,  333,  305,  139,
- /*   590 */    75,   76,  715,  634,  634,  377,  285,   77,  269,  283,
- /*   600 */   282,  281,  224,  279,  753,   78,  628,   85,  313,  412,
- /*   610 */   408,    2, 1113,  302,  323,  314,  314,  412,  634,  634,
- /*   620 */   241,  338,  240,  850,   75,   76,   10,   10,  323,  322,
- /*   630 */   319,   77,  397,  184,   10,   10,  384,  771,  352,  764,
- /*   640 */   299,  349,  759,  270,  408,    2,  269,  412,  301,  314,
- /*   650 */   314,  212,  166,  899,  292,  391,  110,  221,  157,  258,
- /*   660 */   367,  253,  366,  207,   48,   48,  397,  761,  395,  124,
- /*   670 */   251,  771,  347,  764,  412,  300,  759,  899,  317,  763,
- /*   680 */   763,  765,  766,  411,   18,  716,  406,  186,  110,  169,
- /*   690 */   323,   48,   48,  182,  320,  325,  124,  347,  124,  390,
- /*   700 */   392,  761,  145,  412,  836,  412,  835,  412,  356,   78,
- /*   710 */   205,  371,  331,  763,  763,  765,  766,  411,   18,  412,
- /*   720 */    30,   30,   48,   48,   48,   48,  390,  375,   75,   76,
- /*   730 */   703,  347,  124,  412,  402,   77,   48,   48,  167,  716,
- /*   740 */   311,  310,  140,   78,  110,  757,  634,  634,  408,    2,
- /*   750 */    10,   10,  124,  314,  314,  372,  192,  390,  380,  390,
- /*   760 */   389,  412,   75,   76,  202,  634,  634,  634,  634,   77,
- /*   770 */   397,  390,  370,  852,  341,  771,  412,  764,   48,   48,
- /*   780 */   759,  239,  408,    2,   74,  293,   72,  314,  314,  905,
- /*   790 */   251,  909,  203,   48,   48,  364,  361,  360,  907, 1193,
- /*   800 */   908,  671,  855,  336,  397,  761,  110,  359,  332,  771,
- /*   810 */   270,  764,  715,  306,  759,  195,  856,  763,  763,  765,
- /*   820 */   766,  411,   18,  898,  857,  682,  324,  412,  385,  910,
- /*   830 */   339,  910,  683,  343,  179,  179,  159,  158,  193,  761,
- /*   840 */   826,  828,  309,   23,   10,   10,  377,   68,  337,  852,
- /*   850 */   228,  763,  763,  765,  766,  411,   18,   95,  387,  412,
- /*   860 */   326,  644,  644,  260,  246,  143,   75,   76,  163,  162,
- /*   870 */   161,  379,  762,   77,  290,  155,   47,   47,  662,  900,
- /*   880 */   900,  165,  110,  771,  365,  764,  408,    2,  759,  663,
- /*   890 */   262,  314,  314,  204,    5,  204,  212,  264,  899,  900,
- /*   900 */   900,  816,  826,  234,  110,   24,  339,  303,  397,  634,
- /*   910 */   634,  412,  715,  771,  245,  764,  412,  704,  759,  164,
- /*   920 */   176,  412,  899,  855,  348,  763,  763,  765,   34,   34,
- /*   930 */   268,  901,  718,   35,   35,  220,  374,  856,   36,   36,
- /*   940 */   634,  634,  267,  761,  107,  857,  396,  237,  638,  412,
- /*   950 */   188,  901,  717,  233,  691,  763,  763,  765,  766,  411,
- /*   960 */    18,  412,  715,    7,  412,  377,   37,   37,  681,  681,
- /*   970 */   412,  699,  638,  412,  715,  412,  698,  412,   38,   38,
- /*   980 */   412,   26,   26,  757,  232,  412,  231,   27,   27,  412,
- /*   990 */    29,   29,   39,   39,   40,   40,  412,   41,   41,  412,
- /*  1000 */   189,  412,   11,   11,   66,  412,   42,   42,  864,  412,
- /*  1010 */   219,  412,  858,   97,   97,  863,   43,   43,   44,   44,
- /*  1020 */    54,  412,   31,   31,  412,  861,   45,   45,   46,   46,
- /*  1030 */   412,  715,  412,  111,  412,  151,  412,  653,   32,   32,
- /*  1040 */   412,  113,  113,  412,  257,  412,  296,  114,  114,  115,
- /*  1050 */   115,   52,   52,   33,   33,  256,  412,   98,   98,  412,
- /*  1060 */    49,   49,   99,   99,  412,  757,  412,  715,  412,  329,
- /*  1070 */   412,  757,  412,  100,  100,  412,   96,   96,  412,  679,
- /*  1080 */   679,  112,  112,  109,  109,  104,  104,  103,  103,  101,
- /*  1090 */   101,  412,  102,  102,  412,   51,   51,  412,    1,  171,
- /*  1100 */   412,  715,  634,  634,  715,  688,  633,  294,   53,   53,
- /*  1110 */   687,   50,   50,  757,   25,   25,  345,   28,   28,  632,
- /*  1120 */   409,  294,  399,  403,  205,  407,  731,  732,  297,  177,
- /*  1130 */   176,  755,   20,  210,  298,  340,  342,  210,  210,  684,
- /*  1140 */   651,  651,  236,  110,  242,  357,   66,  216,  249,  668,
- /*  1150 */    66,  180,  110,  661,  660,  110,  110,  321,  110,  823,
- /*  1160 */   823,  346,   64,   19,  148,  696,  725,   69,  210,  819,
- /*  1170 */   832,  216,  832,  831,  830,  831,  307,  636,  295,  106,
- /*  1180 */   745,  767,  767,  327,  230,  824,  170,  849,  238,  847,
- /*  1190 */   344,  846,  350,  362,  351,  160,  244,  627,  247,  293,
- /*  1200 */   672,  656,  655,  669,  252,  937,  723,  255,  756,  266,
- /*  1210 */   705,  398,  271,  272,  277,  639,  156,  880,  625,  624,
- /*  1220 */   125,  626,  877,  821,  916,  820,  137,  126,  119,  742,
- /*  1230 */   330,   55,   64,  834,  335,  235,  355,  149,  368,  191,
- /*  1240 */   146,  128,  198,  199,  200,  304,  130,  653,  131,  675,
- /*  1250 */   353,  288,  383,  132,  133,  674,   63,    6,  141,  752,
- /*  1260 */   801,  673,   71,  308,   94,  647,  388,  289,  646,  851,
- /*  1270 */   666,   65,  815,  386,  254,  645,  665,  889,   21,  878,
- /*  1280 */   226,  617,  620,  223,  315,  225,  414,  622,  413,  227,
- /*  1290 */   621,  618,  401,  284,  181,  183,  318,  108,  829,  827,
- /*  1300 */   405,  185,  751,  116,  117,  122,  127,  129,  685,  190,
- /*  1310 */   118,  837,  713,  210,  134,  845,  912,  334,  136,  135,
- /*  1320 */   105,  138,  206,   56,  259,   57,  276,  714,  261,  695,
- /*  1330 */   712,  263,  273,  711,  274,  265,  275,   58,   59,  213,
- /*  1340 */   848,  123,  194,  196,  844,    8,   12,  150,  197,  630,
- /*  1350 */   243,  214,  215,  354,  256,  201,  358,  142,  363,   60,
- /*  1360 */    13,  208,  664,  250,   14,   61,  120,  770,  769,  693,
- /*  1370 */   172,  799,   15,    4,   62,  697,  209,  173,  376,  175,
- /*  1380 */   144,   16,  724,  719,   69,   66,  814,   17,  800,  798,
- /*  1390 */   854,  393,  803,  853,  394,  168,  400,  870,  152,  153,
- /*  1400 */   217,  871,  218,  154,  404,  802,  768,  637,   79,  280,
- /*  1410 */   631,  614, 1175,
+ /*   580 */    86,   85,  309,  218,  369,  698,  141,  374,  301,  141,
+ /*   590 */    75,   76,  275,  628,  628,  283,  282,   77,  286,  280,
+ /*   600 */   279,  278,  222,  276,  849,   78,  622,  143,  628,  628,
+ /*   610 */   403,    2, 1103,  298,  318,  310,  310,  202,  850,  202,
+ /*   620 */   109,  342,  879,  407,   75,   76,  851,  676,  318,  317,
+ /*   630 */   644,   77,  392,  182,  677,  162,  174,  765,  336,  758,
+ /*   640 */    48,   48,  753,  347,  403,    2,  344,  407,  137,  310,
+ /*   650 */   310,  407,  628,  628,  288,  386,  266,  219,  155,  255,
+ /*   660 */   362,  250,  361,  205,   48,   48,  392,  755,   48,   48,
+ /*   670 */   248,  765,  709,  758,  407,  302,  753,  675,  675,  757,
+ /*   680 */   757,  759,  760,  406,   18,  673,  673,  184,  109,  846,
+ /*   690 */   318,   48,   48,  180,  315,  122,  336,  122,  751,  385,
+ /*   700 */   387,  755,  185,  385,  370,  190,  373,  307,  306,   78,
+ /*   710 */   314,  628,  628,  757,  757,  759,  760,  406,   18,  210,
+ /*   720 */   407,  891,  109,    9,    9,  331,  385,  375,   75,   76,
+ /*   730 */   697,  122,  628,  628,  167,   77,  201,   48,   48,  359,
+ /*   740 */   356,  355,  401,   78,  685,  891,  334,  267,  403,    2,
+ /*   750 */    20,  354,  266,  310,  310,  372,  897,  744,  901,   23,
+ /*   760 */   191,  327,   75,   76,  332,  899,  342,  900,  407,   77,
+ /*   770 */   392,  267,  385,  384,  217,  765,  407,  758,  849,  296,
+ /*   780 */   753,   19,  403,    2,   54,   10,   10,  310,  310,  407,
+ /*   790 */   109,  338,  850,   48,   48,  407,  902,  366,  902,  295,
+ /*   800 */   851,  391,  709,  305,  392,  755,   30,   30,  830,  765,
+ /*   810 */   829,  758,   10,   10,  753,  407,  326,  757,  757,  759,
+ /*   820 */   760,  406,   18,  177,  177,  407,  297,  407,  385,  365,
+ /*   830 */   109,  407,   10,   10,  709,  372,  157,  156,  397,  755,
+ /*   840 */   225,  367,   48,   48,   10,   10,  200,   68,   47,   47,
+ /*   850 */   236,  757,  757,  759,  760,  406,   18,   95,  382,  231,
+ /*   860 */   319,  638,  638,  846,  243,  656,   75,   76,  351,  756,
+ /*   870 */   203,  360,  186,   77,  820,  822,  657,  380,  177,  177,
+ /*   880 */   892,  892,  146,  765,  709,  758,  403,    2,  753,  203,
+ /*   890 */   372,  310,  310,    5,  299,  210,  109,  891,  257,  892,
+ /*   900 */   892,  810,  265,  709,  321,   74,  407,   72,  392,  230,
+ /*   910 */   826,  407,  826,  765,  242,  758,  709,  407,  753,  254,
+ /*   920 */   334,  891,  187,   34,   34,  757,  757,  759,   35,   35,
+ /*   930 */   253,  407,  893,  712,   36,   36,  820,  110,  343,  149,
+ /*   940 */   229,  852,  228,  755,  407,  289,  709,  234,   37,   37,
+ /*   950 */   248,  893,  711,  259,  324,  757,  757,  759,  760,  406,
+ /*   960 */    18,   38,   38,  407,  289,  407,  161,  160,  159,  407,
+ /*   970 */   709,  407,    7,  407,  138,  407,  261,  407,  628,  628,
+ /*   980 */    26,   26,   27,   27,  682,  407,   29,   29,   39,   39,
+ /*   990 */    40,   40,   41,   41,   11,   11,  407,  709,  407,  693,
+ /*  1000 */   407,  163,   42,   42,  692,  407,  342,  407,  678,  407,
+ /*  1010 */   264,  407,  710,   97,   97,   43,   43,   44,   44,  407,
+ /*  1020 */   751,  407,   31,   31,   45,   45,   46,   46,   32,   32,
+ /*  1030 */   407, 1181,  407,  665,  407,  233,  112,  112,  113,  113,
+ /*  1040 */   407,  751,  858,  407,  751,  407,  844,  114,  114,   52,
+ /*  1050 */    52,   33,   33,  407,  857,  407,  681,   98,   98,  407,
+ /*  1060 */    49,   49,   99,   99,  407,  165,  710,  407,  751,  407,
+ /*  1070 */   100,  100,   96,   96,  169,  407,  111,  111,  407,  109,
+ /*  1080 */   407,  108,  108,  292,  104,  104,  103,  103,  407,  109,
+ /*  1090 */   193,  407,  101,  101,  407,  102,  102,   51,   51,  407,
+ /*  1100 */   368,  626,  688,  688,  293,   53,   53,  294,   50,   50,
+ /*  1110 */    24,   25,   25,  662,  628,  628,   28,   28,    1,  394,
+ /*  1120 */   107,  398,  628,  628,  632,  627,  290,  402,  404,  290,
+ /*  1130 */    66,  303,  175,  174,  109,  725,  726,   64,  890,  749,
+ /*  1140 */   335,  208,  208,  337,  239,  208,   66,  352,  632,  214,
+ /*  1150 */   855,  246,  109,   66,  109,  645,  645,  178,  655,  654,
+ /*  1160 */   109,  316,  690,  647,   69,  824,  719,  663,  208,  291,
+ /*  1170 */   817,  817,  813,  825,  214,  825,  630,  739,  106,  322,
+ /*  1180 */   761,  761,  227,  818,  168,  235,  843,  841,  339,  840,
+ /*  1190 */   153,  345,  346,  241,  621,  244,  357,  666,  650,  649,
+ /*  1200 */   158,  252,  249,  717,  750,  263,  393,  699,  815,  268,
+ /*  1210 */   814,  927,  269,  274,  872,  154,  135,  633,  619,  618,
+ /*  1220 */   124,  620,  869,  117,   64,  736,  325,   55,  330,  828,
+ /*  1230 */   126,  350,  232,  189,  196,  144,  128,  129,  197,  147,
+ /*  1240 */   363,  198,  130,  300,  647,  131,  669,  139,  348,  746,
+ /*  1250 */   378,  668,  284,    6,   63,  795,  845,   71,  211,  667,
+ /*  1260 */   304,   94,  383,  285,  660,  640,   21,  641,   65,  251,
+ /*  1270 */   639,  809,  659,  381,  881,  870,  224,  611,  614,  221,
+ /*  1280 */   311,  396,  223,  408,  409,  616,  179,  615,  612,  281,
+ /*  1290 */   115,  313,  400,  123,  181,  823,  821,  183,  745,  125,
+ /*  1300 */   116,  120,  127,  679,  188,  831,  105,  204,  208,  132,
+ /*  1310 */   133,  839,  329,  707,  904,  136,  256,  134,   56,  708,
+ /*  1320 */   258,  273,  271,  689,  706,  260,  270,  705,  262,  272,
+ /*  1330 */    57,   58,   59,  121,  842,  192,  838,  194,    8,  212,
+ /*  1340 */    12,  240,  253,  195,  213,  148,  624,  349,  199,  353,
+ /*  1350 */   140,  358,   60,   13,  206,  247,   14,  118,   61,  687,
+ /*  1360 */   764,  763,  658,  170,  713,  793,   15,    4,   62,  691,
+ /*  1370 */   207,  171,  371,  173,  142,   16,  718,   17,   69,   66,
+ /*  1380 */   808,  794,  792,  797,  848,  216,  847,  389,  166,  215,
+ /*  1390 */   862,  150,  395,  608,  863,  151,  399,  796,  152, 1163,
+ /*  1400 */   762,  388,  631,   79,  277,  625,
 };
 static const YYCODETYPE yy_lookahead[] = {
  /*     0 */     5,    6,    7,    8,    9,   10,   11,   12,   13,   14,
  /*    10 */    15,   16,   17,   18,   19,   20,   32,   22,   23,   24,
  /*    20 */    25,   26,   27,   28,   29,   30,   31,   32,   17,   18,
  /*    30 */    19,   20,   21,   22,   23,   24,   25,   26,   27,   28,
- /*    40 */    29,   30,   31,   32,   49,  134,   51,   17,   18,   19,
- /*    50 */    20,  161,   22,   23,   24,   25,   26,   27,   28,   29,
+ /*    40 */    29,   30,   31,   32,   49,  133,   51,   17,   18,   19,
+ /*    50 */    20,  160,   22,   23,   24,   25,   26,   27,   28,   29,
  /*    60 */    30,   31,   32,   26,   27,   28,   29,   30,   31,   32,
  /*    70 */    75,   28,   29,   30,   31,   32,    5,    6,    7,    8,
  /*    80 */     9,   10,   11,   12,   13,   14,   15,   16,   17,   18,
- /*    90 */    19,   20,  161,   22,   23,   24,   25,   26,   27,   28,
+ /*    90 */    19,   20,  160,   22,   23,   24,   25,   26,   27,   28,
  /*   100 */    29,   30,   31,   32,    5,    6,    7,    8,    9,   10,
  /*   110 */    11,   12,   13,   14,   15,   16,   17,   18,   19,   20,
- /*   120 */   164,   22,   23,   24,   25,   26,   27,   28,   29,   30,
- /*   130 */    31,   32,  152,    5,    6,    7,    8,    9,   10,   11,
+ /*   120 */   163,   22,   23,   24,   25,   26,   27,   28,   29,   30,
+ /*   130 */    31,   32,  160,    5,    6,    7,    8,    9,   10,   11,
  /*   140 */    12,   13,   14,   15,   16,   17,   18,   19,   20,   50,
  /*   150 */    22,   23,   24,   25,   26,   27,   28,   29,   30,   31,
- /*   160 */    32,    9,   10,   11,   12,  185,   67,  211,  212,  213,
- /*   170 */    26,   27,  168,  169,  164,   94,   48,   96,   97,  108,
- /*   180 */   109,  177,    5,    6,    7,    8,    9,   10,   11,   12,
- /*   190 */    13,   14,   15,   16,   17,   18,   19,   20,  144,   22,
+ /*   160 */    32,    9,   10,   11,   12,   77,   67,  210,  211,  212,
+ /*   170 */    26,   27,  136,  137,  138,  163,   48,    1,    2,  108,
+ /*   180 */   109,    7,    5,    6,    7,    8,    9,   10,   11,   12,
+ /*   190 */    13,   14,   15,   16,   17,   18,   19,   20,  173,   22,
  /*   200 */    23,   24,   25,   26,   27,   28,   29,   30,   31,   32,
  /*   210 */    22,   23,   24,   25,   26,   27,   28,   29,   30,   31,
- /*   220 */    32,  211,  212,  213,  161,   48,  137,  138,  139,   38,
+ /*   220 */    32,  133,  210,  211,  212,   48,   52,   98,   99,   38,
  /*   230 */    78,    5,    6,    7,    8,    9,   10,   11,   12,   13,
  /*   240 */    14,   15,   16,   17,   18,   19,   20,   28,   22,   23,
  /*   250 */    24,   25,   26,   27,   28,   29,   30,   31,   32,  115,
- /*   260 */    69,  117,  208,  140,  141,   48,  174,   50,   73,  146,
- /*   270 */    75,  148,   51,   78,   48,  152,   85,   86,   87,  170,
+ /*   260 */    69,  117,  133,  139,  140,   48,  169,   50,   73,  145,
+ /*   270 */    75,  147,   51,   78,   48,  151,   85,   86,   87,  169,
  /*   280 */     5,    6,    7,    8,    9,   10,   11,   12,   13,   14,
  /*   290 */    15,   16,   17,   18,   19,   20,   75,   22,   23,   24,
- /*   300 */    25,   26,   27,   28,   29,   30,   31,   32,  185,  144,
- /*   310 */   115,  116,  117,   76,   95,  144,   79,   80,   81,  100,
- /*   320 */   103,  104,  202,   48,  153,  134,  161,  162,   91,    5,
+ /*   300 */    25,   26,   27,   28,   29,   30,   31,   32,  184,   69,
+ /*   310 */   115,  116,  117,   76,   95,  169,   79,   80,   81,  100,
+ /*   320 */   103,  104,  201,   48,  133,   85,   86,   87,   91,    5,
  /*   330 */     6,    7,    8,    9,   10,   11,   12,   13,   14,   15,
  /*   340 */    16,   17,   18,   19,   20,   69,   22,   23,   24,   25,
- /*   350 */    26,   27,   28,   29,   30,   31,   32,  199,   98,   99,
- /*   360 */   160,   85,   86,   87,  211,  212,  213,  144,  168,  211,
- /*   370 */   212,  213,   48,  150,   98,   99,  153,    7,    5,    6,
+ /*   350 */    26,   27,   28,   29,   30,   31,   32,  198,  210,  211,
+ /*   360 */   212,   85,   86,   87,  156,  157,  158,  167,  168,  210,
+ /*   370 */   211,  212,   48,  133,   98,   99,  176,    7,    5,    6,
  /*   380 */     7,    8,    9,   10,   11,   12,   13,   14,   15,   16,
- /*   390 */    17,   18,   19,   20,  134,   22,   23,   24,   25,   26,
+ /*   390 */    17,   18,   19,   20,  198,   22,   23,   24,   25,   26,
  /*   400 */    27,   28,   29,   30,   31,   32,    5,    6,    7,    8,
  /*   410 */     9,   10,   11,   12,   13,   14,   15,   16,   17,   18,
  /*   420 */    19,   20,   52,   22,   23,   24,   25,   26,   27,   28,
  /*   430 */    29,   30,   31,   32,    5,    6,    7,    8,    9,   10,
  /*   440 */    11,   12,   13,   14,   15,   16,   17,   18,   19,   20,
- /*   450 */   170,   22,   23,   24,   25,   26,   27,   28,   29,   30,
+ /*   450 */   205,   22,   23,   24,   25,   26,   27,   28,   29,   30,
  /*   460 */    31,   32,    5,    6,    7,    8,    9,   10,   11,   12,
  /*   470 */    13,   14,   15,   16,   17,   18,   19,   20,   49,   22,
  /*   480 */    23,   24,   25,   26,   27,   28,   29,   30,   31,   32,
- /*   490 */   157,  158,  159,    1,    2,  122,    6,    7,    8,    9,
+ /*   490 */   156,  157,  158,   31,   32,  122,    6,    7,    8,    9,
  /*   500 */    10,   11,   12,   13,   14,   15,   16,   17,   18,   19,
- /*   510 */    20,  170,   22,   23,   24,   25,   26,   27,   28,   29,
- /*   520 */    30,   31,   32,  122,  157,  158,  159,   51,   52,    5,
+ /*   510 */    20,  205,   22,   23,   24,   25,   26,   27,   28,   29,
+ /*   520 */    30,   31,   32,  122,   51,   52,   85,   86,   87,    5,
  /*   530 */     6,    7,    8,    9,   10,   11,   12,   13,   14,   15,
- /*   540 */    16,   17,   18,   19,   20,  199,   22,   23,   24,   25,
+ /*   540 */    16,   17,   18,   19,   20,  179,   22,   23,   24,   25,
  /*   550 */    26,   27,   28,   29,   30,   31,   32,    7,    8,    9,
  /*   560 */    10,   11,   12,   13,   14,   15,   16,   17,   18,   19,
  /*   570 */    20,    7,   22,   23,   24,   25,   26,   27,   28,   29,
- /*   580 */    30,   31,   32,  183,  184,   85,   86,   87,    7,   47,
- /*   590 */    26,   27,  144,   51,   52,  195,   34,   33,  144,   37,
- /*   600 */    38,   39,   40,   41,   69,    7,   44,   31,   32,  144,
- /*   610 */    46,   47,   48,   32,  144,   51,   52,  144,   51,   52,
- /*   620 */    85,   86,   87,  152,   26,   27,  161,  162,  158,  159,
- /*   630 */   182,   33,   68,   71,  161,  162,  206,   73,  218,   75,
- /*   640 */   175,  221,   78,  144,   46,   47,  144,  144,  175,   51,
- /*   650 */    52,   49,  206,   51,   92,  152,  185,   76,   77,   78,
- /*   660 */    79,   80,   81,   82,  161,  162,   68,  103,  180,  134,
- /*   670 */    89,   73,  144,   75,  144,  176,   78,   75,  230,  115,
- /*   680 */   116,  117,  118,  119,  120,   50,  232,  125,  185,  223,
- /*   690 */   220,  161,  162,  131,  132,   77,  134,  144,  134,  196,
- /*   700 */   197,  103,  135,  144,   56,  144,   58,  144,    7,    7,
- /*   710 */     9,  152,   64,  115,  116,  117,  118,  119,  120,  144,
- /*   720 */   161,  162,  161,  162,  161,  162,  196,  197,   26,   27,
- /*   730 */    28,  144,  134,  144,  232,   33,  161,  162,  103,  104,
- /*   740 */    26,   27,   47,    7,  185,  144,   51,   52,   46,   47,
- /*   750 */   161,  162,  134,   51,   52,  196,  228,  196,  197,  196,
- /*   760 */   197,  144,   26,   27,  175,   51,   52,   51,   52,   33,
- /*   770 */    68,  196,  197,  152,  144,   73,  144,   75,  161,  162,
- /*   780 */    78,  228,   46,   47,  121,   84,  123,   51,   52,   75,
- /*   790 */    89,   77,   76,  161,  162,   79,   80,   81,   84,   48,
- /*   800 */    86,   50,   39,  224,   68,  103,  185,   91,  207,   73,
- /*   810 */   144,   75,  144,  196,   78,  228,   53,  115,  116,  117,
- /*   820 */   118,  119,  120,   50,   61,   62,  144,  144,  196,  115,
- /*   830 */   209,  117,   69,  144,  183,  184,   26,   27,  208,  103,
- /*   840 */   158,  159,  176,  222,  161,  162,  195,    7,  227,  152,
- /*   850 */   182,  115,  116,  117,  118,  119,  120,   47,  175,  144,
- /*   860 */   209,   51,   52,  199,   43,  144,   26,   27,   85,   86,
- /*   870 */    87,  152,  144,   33,  153,  102,  161,  162,   59,   51,
- /*   880 */    52,  144,  185,   73,   65,   75,   46,   47,   78,   70,
- /*   890 */   199,   51,   52,  172,   47,  174,   49,  199,   51,   51,
- /*   900 */    52,   80,  220,   43,  185,   47,  209,   88,   68,   51,
- /*   910 */    52,  144,  144,   73,   93,   75,  144,   28,   78,  200,
- /*   920 */   201,  144,   75,   39,  227,  115,  116,  117,  161,  162,
- /*   930 */   215,  103,  104,  161,  162,   98,   99,   53,  161,  162,
- /*   940 */    51,   52,  144,  103,   47,   61,   62,  126,   51,  144,
- /*   950 */   182,  103,  104,   93,  184,  115,  116,  117,  118,  119,
- /*   960 */   120,  144,  144,  187,  144,  195,  161,  162,  179,  180,
- /*   970 */   144,   95,   75,  144,  144,  144,  100,  144,  161,  162,
- /*   980 */   144,  161,  162,  144,  124,  144,  126,  161,  162,  144,
- /*   990 */   161,  162,  161,  162,  161,  162,  144,  161,  162,  144,
- /*  1000 */   182,  144,  161,  162,   50,  144,  161,  162,  144,  144,
- /*  1010 */   188,  144,  182,  161,  162,  144,  161,  162,  161,  162,
- /*  1020 */   198,  144,  161,  162,  144,  144,  161,  162,  161,  162,
- /*  1030 */   144,  144,  144,   47,  144,   49,  144,   83,  161,  162,
- /*  1040 */   144,  161,  162,  144,   78,  144,  207,  161,  162,  161,
- /*  1050 */   162,  161,  162,  161,  162,   89,  144,  161,  162,  144,
- /*  1060 */   161,  162,  161,  162,  144,  144,  144,  144,  144,  182,
- /*  1070 */   144,  144,  144,  161,  162,  144,  161,  162,  144,  179,
- /*  1080 */   180,  161,  162,  161,  162,  161,  162,  161,  162,  161,
- /*  1090 */   162,  144,  161,  162,  144,  161,  162,  144,   47,   50,
- /*  1100 */   144,  144,   51,   52,  144,  182,  155,  156,  161,  162,
- /*  1110 */   152,  161,  162,  144,  161,  162,    7,  161,  162,  152,
- /*  1120 */   155,  156,  152,  152,    9,  152,  108,  109,  207,  200,
- /*  1130 */   201,   48,   16,   50,  207,   48,   48,   50,   50,  182,
- /*  1140 */    51,   52,  182,  185,   48,   48,   50,   50,   48,   36,
- /*  1150 */    50,   47,  185,   77,   78,  185,  185,  144,  185,   51,
- /*  1160 */    52,   52,  113,   47,  186,   48,   48,   50,   50,   48,
- /*  1170 */   115,   50,  117,  115,  144,  117,  207,   48,  144,   50,
- /*  1180 */   190,   51,   52,  203,  203,  144,  144,  190,  229,  144,
- /*  1190 */   229,  144,  144,  165,  144,  173,  144,  144,  144,   84,
- /*  1200 */   144,  144,  169,   90,  144,  101,  144,  164,  144,  203,
- /*  1210 */   144,  217,  144,  144,  189,  144,  187,  147,  144,  144,
- /*  1220 */   231,  144,  144,  164,  133,  164,   47,  210,    5,  190,
- /*  1230 */    45,  121,  113,  226,  128,  225,   45,  210,   84,  149,
- /*  1240 */    47,  178,  149,  149,  149,   63,  181,   83,  181,  163,
- /*  1250 */   166,  166,  106,  181,  181,  163,   84,   47,  178,  178,
- /*  1260 */   214,  163,  121,   32,  112,  163,  107,  166,  165,  190,
- /*  1270 */   171,  111,  190,  110,  163,  163,  171,  163,   50,   40,
- /*  1280 */    35,    4,   36,  145,    3,  145,  143,  143,  151,   55,
- /*  1290 */   143,  143,  166,  142,   42,   84,   72,   43,   48,   48,
- /*  1300 */   166,  101,   99,  154,  154,   88,  114,  102,   46,   84,
- /*  1310 */   154,  127,  205,   50,  127,    1,  130,  129,  102,   84,
- /*  1320 */   167,  114,  167,   16,  204,   16,  190,  205,  204,  194,
- /*  1330 */   205,  204,  193,  205,  192,  204,  191,   16,   16,  216,
- /*  1340 */    52,   88,  105,  101,    1,   34,   47,   49,   84,   46,
- /*  1350 */   124,  219,  219,    7,   89,   82,   66,   47,   66,   47,
- /*  1360 */    47,   66,   54,   48,   47,   47,   60,   48,   48,   95,
- /*  1370 */   101,   48,   47,   47,   50,   48,  105,   48,   50,   48,
- /*  1380 */    47,  105,   52,  104,   50,   50,   48,  105,   48,   48,
- /*  1390 */    48,   75,   38,   48,   50,   47,   49,   48,   47,   47,
- /*  1400 */    50,   48,  101,   47,   49,   48,   48,   48,   47,   42,
- /*  1410 */    48,    1,    0,
+ /*   580 */    30,   31,   32,   98,   99,   28,  143,  151,    7,  143,
+ /*   590 */    26,   27,  149,   51,   52,  152,   34,   33,  152,   37,
+ /*   600 */    38,   39,   40,   41,   39,    7,   44,  134,   51,   52,
+ /*   610 */    46,   47,   48,   32,  143,   51,   52,  171,   53,  173,
+ /*   620 */   184,  143,  159,  143,   26,   27,   61,   62,  157,  158,
+ /*   630 */   167,   33,   68,   71,   69,  199,  200,   73,  143,   75,
+ /*   640 */   160,  161,   78,  217,   46,   47,  220,  143,   47,   51,
+ /*   650 */    52,  143,   51,   52,   92,  151,  143,   76,   77,   78,
+ /*   660 */    79,   80,   81,   82,  160,  161,   68,  103,  160,  161,
+ /*   670 */    89,   73,  143,   75,  143,  195,   78,  178,  179,  115,
+ /*   680 */   116,  117,  118,  119,  120,  178,  179,  125,  184,  151,
+ /*   690 */   219,  160,  161,  131,  132,  133,  143,  133,  143,  195,
+ /*   700 */   196,  103,  207,  195,  196,  227,  143,   26,   27,    7,
+ /*   710 */   181,   51,   52,  115,  116,  117,  118,  119,  120,   49,
+ /*   720 */   143,   51,  184,  160,  161,  223,  195,  196,   26,   27,
+ /*   730 */    28,  133,   51,   52,  222,   33,   76,  160,  161,   79,
+ /*   740 */    80,   81,  229,    7,  183,   75,  208,  143,   46,   47,
+ /*   750 */    16,   91,  143,   51,   52,  194,   75,  151,   77,  221,
+ /*   760 */   207,  206,   26,   27,  226,   84,  143,   86,  143,   33,
+ /*   770 */    68,  143,  195,  196,  187,   73,  143,   75,   39,  175,
+ /*   780 */    78,   47,   46,   47,  197,  160,  161,   51,   52,  143,
+ /*   790 */   184,  143,   53,  160,  161,  143,  115,  151,  117,  174,
+ /*   800 */    61,   62,  143,  175,   68,  103,  160,  161,   56,   73,
+ /*   810 */    58,   75,  160,  161,   78,  143,   64,  115,  116,  117,
+ /*   820 */   118,  119,  120,  182,  183,  143,  174,  143,  195,  196,
+ /*   830 */   184,  143,  160,  161,  143,  194,   26,   27,  229,  103,
+ /*   840 */   181,  195,  160,  161,  160,  161,  174,    7,  160,  161,
+ /*   850 */   227,  115,  116,  117,  118,  119,  120,   47,  174,   43,
+ /*   860 */   143,   51,   52,  151,   43,   59,   26,   27,    7,  143,
+ /*   870 */     9,   65,  181,   33,  157,  158,   70,  195,  182,  183,
+ /*   880 */    51,   52,  185,   73,  143,   75,   46,   47,   78,    9,
+ /*   890 */   194,   51,   52,   47,   88,   49,  184,   51,  198,   51,
+ /*   900 */    52,   80,  214,  143,  208,  121,  143,  123,   68,   93,
+ /*   910 */   115,  143,  117,   73,   93,   75,  143,  143,   78,   78,
+ /*   920 */   208,   75,  181,  160,  161,  115,  116,  117,  160,  161,
+ /*   930 */    89,  143,  103,  104,  160,  161,  219,   47,  226,   49,
+ /*   940 */   124,  181,  126,  103,  143,   84,  143,  126,  160,  161,
+ /*   950 */    89,  103,  104,  198,  181,  115,  116,  117,  118,  119,
+ /*   960 */   120,  160,  161,  143,   84,  143,   85,   86,   87,  143,
+ /*   970 */   143,  143,  186,  143,   47,  143,  198,  143,   51,   52,
+ /*   980 */   160,  161,  160,  161,  181,  143,  160,  161,  160,  161,
+ /*   990 */   160,  161,  160,  161,  160,  161,  143,  143,  143,   95,
+ /*  1000 */   143,  143,  160,  161,  100,  143,  143,  143,  181,  143,
+ /*  1010 */   143,  143,   50,  160,  161,  160,  161,  160,  161,  143,
+ /*  1020 */   143,  143,  160,  161,  160,  161,  160,  161,  160,  161,
+ /*  1030 */   143,   48,  143,   50,  143,  181,  160,  161,  160,  161,
+ /*  1040 */   143,  143,  143,  143,  143,  143,  151,  160,  161,  160,
+ /*  1050 */   161,  160,  161,  143,  143,  143,  151,  160,  161,  143,
+ /*  1060 */   160,  161,  160,  161,  143,  103,  104,  143,  143,  143,
+ /*  1070 */   160,  161,  160,  161,   50,  143,  160,  161,  143,  184,
+ /*  1080 */   143,  160,  161,  206,  160,  161,  160,  161,  143,  184,
+ /*  1090 */   227,  143,  160,  161,  143,  160,  161,  160,  161,  143,
+ /*  1100 */    94,  151,   96,   97,  206,  160,  161,  206,  160,  161,
+ /*  1110 */    47,  160,  161,   36,   51,   52,  160,  161,   47,  151,
+ /*  1120 */    47,  151,   51,   52,   51,  154,  155,  151,  154,  155,
+ /*  1130 */    50,  206,  199,  200,  184,  108,  109,  113,   50,   48,
+ /*  1140 */    48,   50,   50,   48,   48,   50,   50,   48,   75,   50,
+ /*  1150 */   143,   48,  184,   50,  184,   51,   52,   47,   77,   78,
+ /*  1160 */   184,  143,   48,   83,   50,  143,   48,   90,   50,  143,
+ /*  1170 */    51,   52,   48,  115,   50,  117,   48,  189,   50,  202,
+ /*  1180 */    51,   52,  202,  143,  143,  228,  189,  143,  228,  143,
+ /*  1190 */   102,  143,  143,  143,  143,  143,  164,  143,  143,  168,
+ /*  1200 */   172,  163,  143,  143,  143,  202,  216,  143,  163,  143,
+ /*  1210 */   163,  101,  143,  188,  146,  186,   47,  143,  143,  143,
+ /*  1220 */   209,  143,  143,    5,  113,  189,   45,  121,  128,  225,
+ /*  1230 */   177,   45,  224,  148,  148,   47,  180,  180,  148,  209,
+ /*  1240 */    84,  148,  180,   63,   83,  180,  162,  177,  165,  177,
+ /*  1250 */   106,  162,  165,   47,   84,  213,  189,  121,  215,  162,
+ /*  1260 */    32,  112,  107,  165,  170,  164,   50,  162,  111,  162,
+ /*  1270 */   162,  189,  170,  110,  162,   40,   35,    4,   36,  144,
+ /*  1280 */     3,  165,  144,  150,  142,  142,   42,  142,  142,  141,
+ /*  1290 */   153,   72,  165,   43,   84,   48,   48,  101,   99,  114,
+ /*  1300 */   153,   88,  102,   46,   84,  127,  166,  166,   50,  127,
+ /*  1310 */    84,    1,  129,  204,  130,  114,  203,  102,   16,  204,
+ /*  1320 */   203,  189,  191,  193,  204,  203,  192,  204,  203,  190,
+ /*  1330 */    16,   16,   16,   88,   52,  105,    1,  101,   34,  218,
+ /*  1340 */    47,  124,   89,   84,  218,   49,   46,    7,   82,   66,
+ /*  1350 */    47,   66,   47,   47,   66,   48,   47,   60,   47,   95,
+ /*  1360 */    48,   48,   54,  101,  104,   48,   47,   47,   50,   48,
+ /*  1370 */   105,   48,   50,   48,   47,  105,   52,  105,   50,   50,
+ /*  1380 */    48,   48,   48,   38,   48,  101,   48,   50,   47,   50,
+ /*  1390 */    48,   47,   49,    1,   48,   47,   49,   48,   47,    0,
+ /*  1400 */    48,   75,   48,   47,   42,   48,
 };
-#define YY_SHIFT_USE_DFLT (1413)
-#define YY_SHIFT_COUNT    (416)
-#define YY_SHIFT_MIN      (-89)
-#define YY_SHIFT_MAX      (1412)
+#define YY_SHIFT_USE_DFLT (1406)
+#define YY_SHIFT_COUNT    (411)
+#define YY_SHIFT_MIN      (-88)
+#define YY_SHIFT_MAX      (1399)
 static const short yy_shift_ofst[] = {
- /*     0 */   492,  564,  598,  562,  736,  736,  736,  736,  535,   -5,
- /*    10 */    71,   71,  736,  736,  736,  736,  736,  736,  736,  714,
- /*    20 */   714,  716,  276,  191,  260,   99,  128,  177,  226,  275,
+ /*     0 */   176,  564,  598,  562,  736,  736,  736,  736,  240,   -5,
+ /*    10 */    71,   71,  736,  736,  736,  736,  736,  736,  736,  681,
+ /*    20 */   681,  660,  276,  191,  129,   99,  128,  177,  226,  275,
  /*    30 */   324,  373,  401,  429,  457,  457,  457,  457,  457,  457,
  /*    40 */   457,  457,  457,  457,  457,  457,  457,  457,  457,  524,
  /*    50 */   457,  490,  550,  550,  702,  736,  736,  736,  736,  736,
@@ -700,118 +698,117 @@ static const short yy_shift_ofst[] = {
  /*    70 */   736,  736,  736,  736,  736,  736,  736,  736,  736,  736,
  /*    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,  701,  144,  144,  476,  576,
- /*   110 */   837,  476,  -16, 1413, 1413, 1413,  581,  581,  581,  763,
- /*   120 */   763,  821,  542,  542,  567,  476,  618,  476,  476,  476,
- /*   130 */   476,  476,  476,  476,  476,  476,  476,  476,  476,  476,
- /*   140 */   476,  476,  476,  221,  476,  476,  476,  221,  837,  -89,
- /*   150 */   -89,  -89,  -89,  -89,  -89, 1413, 1413,  810,  195,  195,
- /*   160 */   237,  819,  819,  819,  217,  847,  828,  848,  884,  500,
- /*   170 */   648,  695,  889,  602,  602,  602,  858,  635, 1051,   81,
- /*   180 */   219,  476,  476,  476,  476,  476,  476, 1049,  370,  370,
- /*   190 */   476,  476, 1109, 1049,  476, 1109,  476,  476,  476,  476,
- /*   200 */   476,  476,  954,  476,  751,  476, 1115,  476, 1018,  476,
- /*   210 */   476,  370,  476,  663, 1018, 1018,  476,  476,  476,  773,
- /*   220 */   876,  476,  986,  476,  476,  476,  476, 1091, 1179, 1223,
- /*   230 */  1119, 1185, 1185, 1185, 1185, 1110, 1106, 1191, 1119, 1179,
- /*   240 */  1223, 1223, 1119, 1191, 1193, 1191, 1191, 1193, 1154, 1154,
- /*   250 */  1154, 1182, 1193, 1154, 1164, 1154, 1182, 1154, 1154, 1146,
- /*   260 */  1172, 1146, 1172, 1146, 1172, 1146, 1172, 1210, 1141, 1193,
- /*   270 */  1231, 1231, 1193, 1152, 1159, 1160, 1163, 1119, 1228, 1239,
- /*   280 */  1239, 1245, 1245, 1245, 1245, 1246, 1413, 1413, 1413, 1413,
- /*   290 */  1413,  152,  860,  783,  897, 1116, 1083, 1087, 1088, 1096,
- /*   300 */  1097, 1100, 1089, 1076, 1113,  966, 1117, 1118, 1108, 1121,
- /*   310 */  1055, 1058, 1129, 1130, 1104, 1277, 1281, 1234, 1252, 1224,
- /*   320 */  1254, 1211, 1250, 1251, 1200, 1203, 1192, 1217, 1205, 1225,
- /*   330 */  1262, 1184, 1263, 1187, 1186, 1188, 1235, 1314, 1216, 1207,
- /*   340 */  1307, 1309, 1321, 1322, 1253, 1288, 1237, 1242, 1343, 1311,
- /*   350 */  1299, 1264, 1226, 1298, 1303, 1346, 1265, 1273, 1310, 1290,
- /*   360 */  1312, 1313, 1315, 1317, 1292, 1308, 1318, 1295, 1306, 1319,
- /*   370 */  1320, 1323, 1324, 1274, 1325, 1327, 1326, 1328, 1269, 1329,
- /*   380 */  1331, 1330, 1271, 1333, 1279, 1334, 1276, 1335, 1282, 1338,
- /*   390 */  1334, 1340, 1341, 1342, 1316, 1344, 1345, 1348, 1354, 1349,
- /*   400 */  1351, 1347, 1350, 1353, 1352, 1355, 1350, 1357, 1356, 1358,
- /*   410 */  1359, 1361, 1301, 1362, 1367, 1410, 1412,
+ /*   100 */    30,   30,  188,   37,   43,  861,  144,  144,  462,  485,
+ /*   110 */   542,  -16, 1406, 1406, 1406,  581,  581,  565,  565,  821,
+ /*   120 */   601,  601,  473,  542,   88,  542,  542,  542,  542,  542,
+ /*   130 */   542,  542,  542,  542,  542,  542,  542,  542,  542,  542,
+ /*   140 */   542,  221,  542,  542,  542,  221,  485,  -88,  -88,  -88,
+ /*   150 */   -88,  -88,  -88, 1406, 1406,  810,  195,  195,  237,  806,
+ /*   160 */   806,  806,  217,  846,  829,  848,  739,  441,  752,  927,
+ /*   170 */   557,  670,  670,  670, 1063,  962, 1071, 1006,  219,  542,
+ /*   180 */   542,  542,  542,  542,  542, 1024,  174,  174,  542,  542,
+ /*   190 */   370, 1024,  542,  370,  542,  542,  542,  542,  542,  542,
+ /*   200 */  1080,  542,  983,  542,  880,  542, 1027,  542,  542,  174,
+ /*   210 */   542,  784, 1027, 1027,  542,  542,  542, 1088,  904,  542,
+ /*   220 */   890,  542,  542,  542,  542, 1169, 1218, 1111, 1181, 1181,
+ /*   230 */  1181, 1181, 1106, 1100, 1186, 1111, 1169, 1218, 1218, 1111,
+ /*   240 */  1186, 1188, 1186, 1186, 1188, 1156, 1156, 1156, 1180, 1188,
+ /*   250 */  1156, 1161, 1156, 1180, 1156, 1156, 1144, 1170, 1144, 1170,
+ /*   260 */  1144, 1170, 1144, 1170, 1206, 1136, 1188, 1228, 1228, 1188,
+ /*   270 */  1149, 1155, 1157, 1163, 1111, 1216, 1235, 1235, 1241, 1241,
+ /*   280 */  1241, 1241, 1242, 1406, 1406, 1406, 1406,  152,  816,  881,
+ /*   290 */  1073,  734, 1091, 1092, 1095, 1096, 1099, 1103, 1104, 1081,
+ /*   300 */  1077,  841, 1114, 1118, 1119, 1124,  795, 1058, 1128, 1129,
+ /*   310 */  1110, 1273, 1277, 1244, 1219, 1250, 1210, 1247, 1248, 1196,
+ /*   320 */  1199, 1185, 1213, 1200, 1220, 1257, 1178, 1258, 1182, 1184,
+ /*   330 */  1183, 1226, 1310, 1215, 1201, 1302, 1314, 1315, 1316, 1245,
+ /*   340 */  1282, 1230, 1236, 1335, 1304, 1293, 1259, 1217, 1296, 1300,
+ /*   350 */  1340, 1253, 1266, 1303, 1283, 1305, 1306, 1307, 1309, 1285,
+ /*   360 */  1308, 1311, 1288, 1297, 1312, 1313, 1317, 1318, 1264, 1319,
+ /*   370 */  1321, 1320, 1322, 1262, 1323, 1325, 1324, 1265, 1327, 1260,
+ /*   380 */  1328, 1270, 1329, 1272, 1332, 1328, 1333, 1334, 1336, 1326,
+ /*   390 */  1337, 1338, 1341, 1345, 1342, 1344, 1343, 1339, 1346, 1348,
+ /*   400 */  1347, 1339, 1349, 1351, 1352, 1354, 1356, 1284, 1357, 1362,
+ /*   410 */  1392, 1399,
 };
-#define YY_REDUCE_USE_DFLT (-111)
-#define YY_REDUCE_COUNT (290)
-#define YY_REDUCE_MIN   (-110)
-#define YY_REDUCE_MAX   (1156)
+#define YY_REDUCE_USE_DFLT (-110)
+#define YY_REDUCE_COUNT (286)
+#define YY_REDUCE_MIN   (-109)
+#define YY_REDUCE_MAX   (1148)
 static const short yy_reduce_ofst[] = {
- /*     0 */    89,  503,  559,  123,  530,  561,  563,  575,  621,  158,
- /*    10 */   -44,   10,  465,  473,  589,  617,  632,  683,  715,  470,
- /*    20 */   682,  721,  651,  697,  719,  153,  153,  153,  153,  153,
- /*    30 */   153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
- /*    40 */   153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
- /*    50 */   153,  153,  153,  153,  165,  767,  772,  777,  805,  817,
- /*    60 */   820,  826,  829,  831,  833,  836,  841,  845,  852,  855,
- /*    70 */   857,  861,  865,  867,  877,  880,  886,  888,  890,  892,
- /*    80 */   896,  899,  901,  912,  915,  920,  922,  924,  926,  928,
- /*    90 */   931,  934,  947,  950,  953,  956,  153,  153,  153,  153,
- /*   100 */   153,  153,  153,  153,  153,    4,  333,  367,  448,  153,
- /*   110 */   400,  223,  153,  153,  153,  153,  200,  200,  200,  789,
- /*   120 */   900,  420,   54,  630,  454,  171,  -20,  668,  768,  818,
- /*   130 */   830,  887,  923,  957,  601,  960,  528,  839,  553,  921,
- /*   140 */   927,  587,  499,  951,  969,  502,  666,  965,  770,  471,
- /*   150 */   958,  967,  970,  971,  973,  929,  822, -110,  -69,   63,
- /*   160 */    92,  109,  280,  341,  120,  346,  430,  446,  488,  579,
- /*   170 */   466,  689,  728,  664,  691,  698,  737,  120,  798,  978,
- /*   180 */   776,  864,  871,  881, 1013, 1030, 1034,  990,  980,  981,
- /*   190 */  1041, 1042,  959,  997, 1045,  961, 1047, 1048, 1050, 1052,
- /*   200 */  1053, 1054, 1028, 1056, 1022, 1057, 1033, 1060, 1043, 1062,
- /*   210 */  1064, 1006, 1066,  994, 1059, 1061, 1068, 1069,  728, 1025,
- /*   220 */  1029, 1071, 1070, 1074, 1075, 1077, 1078,  989, 1017, 1063,
- /*   230 */  1039, 1065, 1067, 1072, 1073, 1007, 1010, 1090, 1079, 1027,
- /*   240 */  1080, 1081, 1082, 1093, 1084, 1094, 1095, 1085, 1086, 1092,
- /*   250 */  1098, 1099, 1101, 1102, 1103, 1111, 1105, 1112, 1114, 1107,
- /*   260 */  1120, 1122, 1124, 1125, 1127, 1128, 1131, 1046, 1123, 1126,
- /*   270 */  1132, 1133, 1134, 1135, 1139, 1142, 1145, 1136, 1137, 1138,
- /*   280 */  1140, 1143, 1144, 1147, 1148, 1151, 1149, 1150, 1153, 1155,
- /*   290 */  1156,
+ /*     0 */    36,  504,  646,  124,  508,  531,  577,  633,  538,  159,
+ /*    10 */   -43,   12,  625,  652,  672,  480,  682,  684,  688,  471,
+ /*    20 */   717,  446,  696,  712,  436,  148,  148,  148,  148,  148,
+ /*    30 */   148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
+ /*    40 */   148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
+ /*    50 */   148,  148,  148,  148,  563,  763,  768,  774,  788,  801,
+ /*    60 */   820,  822,  826,  828,  830,  832,  834,  842,  853,  855,
+ /*    70 */   857,  862,  864,  866,  868,  876,  878,  887,  889,  891,
+ /*    80 */   897,  900,  902,  910,  912,  916,  921,  924,  926,  932,
+ /*    90 */   935,  937,  945,  948,  951,  956,  148,  148,  148,  148,
+ /*   100 */   148,  148,  148,  148,  148,  200,  208,  334,  148,  641,
+ /*   110 */   443,  148,  148,  148,  148,  463,  463,  499,  507,  426,
+ /*   120 */   495,  553,  513,  529,  606,  659,  691,  741,  760,  773,
+ /*   130 */   803,  827,  555,  854,  478,  877,  623,  898,  901,  863,
+ /*   140 */   604,  971,  925,  609,  628,  974,  561,  895,  905,  950,
+ /*   150 */   968,  970,  976,  933,  587, -109,  -68,  -28,   25,   97,
+ /*   160 */   110,  146,  121,  196,  245,  306,  366,  502,  512,  648,
+ /*   170 */   726,  700,  755,  778,  858,  121,  867,  697,  786,  899,
+ /*   180 */   911, 1007, 1018, 1022, 1026,  988,  977,  980, 1040, 1041,
+ /*   190 */   957,  997, 1044,  960, 1046, 1048, 1049, 1050, 1051, 1052,
+ /*   200 */  1032, 1054, 1028, 1055, 1031, 1059, 1038, 1060, 1061, 1003,
+ /*   210 */  1064,  990, 1045, 1047, 1066, 1069,  726, 1025, 1029, 1074,
+ /*   220 */  1068, 1075, 1076, 1078, 1079, 1011, 1053, 1036, 1056, 1057,
+ /*   230 */  1062, 1065, 1004, 1008, 1085, 1067, 1030, 1070, 1072, 1082,
+ /*   240 */  1086, 1083, 1090, 1093, 1087, 1084, 1089, 1097, 1094, 1098,
+ /*   250 */  1105, 1101, 1107, 1102, 1108, 1112, 1109, 1113, 1115, 1117,
+ /*   260 */  1120, 1122, 1123, 1125, 1042, 1043, 1116, 1121, 1126, 1127,
+ /*   270 */  1130, 1134, 1131, 1139, 1132, 1133, 1135, 1138, 1142, 1143,
+ /*   280 */  1145, 1146, 1148, 1137, 1140, 1141, 1147,
 };
 static const YYACTIONTYPE yy_default[] = {
- /*     0 */  1176, 1170, 1170, 1170, 1113, 1113, 1113, 1113, 1170, 1009,
- /*    10 */  1036, 1036, 1220, 1220, 1220, 1220, 1220, 1220, 1112, 1220,
- /*    20 */  1220, 1220, 1220, 1170, 1013, 1042, 1220, 1220, 1220, 1114,
- /*    30 */  1115, 1220, 1220, 1220, 1146, 1052, 1051, 1050, 1049, 1023,
- /*    40 */  1047, 1040, 1044, 1114, 1108, 1109, 1107, 1111, 1115, 1220,
- /*    50 */  1043, 1077, 1092, 1076, 1220, 1220, 1220, 1220, 1220, 1220,
- /*    60 */  1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
- /*    70 */  1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
- /*    80 */  1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
- /*    90 */  1220, 1220, 1220, 1220, 1220, 1220, 1086, 1091, 1098, 1090,
- /*   100 */  1087, 1079, 1078, 1080, 1081,  980, 1220, 1220, 1220, 1082,
- /*   110 */  1220, 1220, 1083, 1095, 1094, 1093, 1168, 1185, 1184, 1220,
- /*   120 */  1220, 1120, 1220, 1220, 1220, 1220, 1170, 1220, 1220, 1220,
- /*   130 */  1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
- /*   140 */  1220, 1220, 1220,  938, 1220, 1220, 1220,  938, 1220, 1170,
- /*   150 */  1170, 1170, 1170, 1170, 1170, 1013, 1004, 1220, 1220, 1220,
- /*   160 */  1220, 1220, 1220, 1220, 1220, 1009, 1220, 1220, 1220, 1220,
- /*   170 */  1141, 1220, 1220, 1009, 1009, 1009, 1220, 1011, 1220,  993,
- /*   180 */  1003, 1220, 1165, 1220, 1162, 1220, 1220, 1046, 1025, 1025,
- /*   190 */  1220, 1220, 1217, 1046, 1220, 1217, 1220, 1220, 1220, 1220,
- /*   200 */  1220, 1220,  955, 1220, 1196, 1220,  952, 1220, 1036, 1220,
- /*   210 */  1220, 1025, 1220, 1110, 1036, 1036, 1220, 1220, 1220, 1010,
- /*   220 */  1003, 1220, 1220, 1220, 1220, 1220, 1179, 1218, 1057,  983,
- /*   230 */  1046,  989,  989,  989,  989, 1145, 1214,  932, 1046, 1057,
- /*   240 */   983,  983, 1046,  932, 1121,  932,  932, 1121,  981,  981,
- /*   250 */   981,  970, 1121,  981,  955,  981,  970,  981,  981, 1029,
- /*   260 */  1024, 1029, 1024, 1029, 1024, 1029, 1024, 1116, 1220, 1121,
- /*   270 */  1125, 1125, 1121, 1041, 1030, 1039, 1037, 1046,  973, 1182,
- /*   280 */  1182, 1178, 1178, 1178, 1178,  922, 1191, 1191,  957,  957,
- /*   290 */  1191, 1220, 1220, 1220, 1186, 1128, 1220, 1220, 1220, 1220,
- /*   300 */  1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
- /*   310 */  1220, 1220, 1220, 1220, 1063, 1220,  919, 1220, 1220, 1169,
- /*   320 */  1220, 1163, 1220, 1220, 1209, 1220, 1220, 1220, 1220, 1220,
- /*   330 */  1220, 1220, 1144, 1143, 1220, 1220, 1220, 1220, 1220, 1220,
- /*   340 */  1220, 1220, 1220, 1220, 1220, 1220, 1220, 1216, 1220, 1220,
- /*   350 */  1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
- /*   360 */  1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
- /*   370 */  1220, 1220, 1220,  995, 1220, 1220, 1220, 1200, 1220, 1220,
- /*   380 */  1220, 1220, 1220, 1220, 1220, 1038, 1220, 1031, 1220, 1220,
- /*   390 */  1206, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
- /*   400 */  1220, 1220, 1172, 1220, 1220, 1220, 1171, 1220, 1220, 1220,
- /*   410 */  1220, 1220, 1220, 1220,  926, 1220, 1220,
+ /*     0 */  1164, 1158, 1158, 1158, 1103, 1103, 1103, 1103, 1158,  999,
+ /*    10 */  1026, 1026, 1206, 1206, 1206, 1206, 1206, 1206, 1102, 1206,
+ /*    20 */  1206, 1206, 1206, 1158, 1003, 1032, 1206, 1206, 1206, 1104,
+ /*    30 */  1105, 1206, 1206, 1206, 1136, 1042, 1041, 1040, 1039, 1013,
+ /*    40 */  1037, 1030, 1034, 1104, 1098, 1099, 1097, 1101, 1105, 1206,
+ /*    50 */  1033, 1067, 1082, 1066, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*    60 */  1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*    70 */  1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*    80 */  1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*    90 */  1206, 1206, 1206, 1206, 1206, 1206, 1076, 1081, 1088, 1080,
+ /*   100 */  1077, 1069, 1068, 1070, 1071,  970, 1206, 1206, 1072, 1206,
+ /*   110 */  1206, 1073, 1085, 1084, 1083, 1173, 1172, 1206, 1206, 1110,
+ /*   120 */  1206, 1206, 1206, 1206, 1158, 1206, 1206, 1206, 1206, 1206,
+ /*   130 */  1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*   140 */  1206,  928, 1206, 1206, 1206,  928, 1206, 1158, 1158, 1158,
+ /*   150 */  1158, 1158, 1158, 1003,  994, 1206, 1206, 1206, 1206, 1206,
+ /*   160 */  1206, 1206, 1206,  999, 1206, 1206, 1206, 1206, 1131, 1206,
+ /*   170 */  1206,  999,  999,  999, 1206, 1001, 1206,  983,  993, 1206,
+ /*   180 */  1155, 1206, 1152, 1206, 1206, 1036, 1015, 1015, 1206, 1206,
+ /*   190 */  1205, 1036, 1206, 1205, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*   200 */   945, 1206, 1184, 1206,  942, 1206, 1026, 1206, 1206, 1015,
+ /*   210 */  1206, 1100, 1026, 1026, 1206, 1206, 1206, 1000,  993, 1206,
+ /*   220 */  1206, 1206, 1206, 1206, 1167, 1047,  973, 1036,  979,  979,
+ /*   230 */   979,  979, 1135, 1202,  922, 1036, 1047,  973,  973, 1036,
+ /*   240 */   922, 1111,  922,  922, 1111,  971,  971,  971,  960, 1111,
+ /*   250 */   971,  945,  971,  960,  971,  971, 1019, 1014, 1019, 1014,
+ /*   260 */  1019, 1014, 1019, 1014, 1106, 1206, 1111, 1115, 1115, 1111,
+ /*   270 */  1031, 1020, 1029, 1027, 1036,  963, 1170, 1170, 1166, 1166,
+ /*   280 */  1166, 1166,  912, 1179,  947,  947, 1179, 1206, 1206, 1206,
+ /*   290 */  1174, 1118, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*   300 */  1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*   310 */  1053, 1206,  909, 1206, 1206, 1206, 1153, 1206, 1206, 1197,
+ /*   320 */  1206, 1206, 1206, 1206, 1206, 1206, 1206, 1134, 1133, 1206,
+ /*   330 */  1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*   340 */  1206, 1206, 1204, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*   350 */  1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*   360 */  1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,  985, 1206,
+ /*   370 */  1206, 1206, 1188, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
+ /*   380 */  1028, 1206, 1021, 1206, 1206, 1194, 1206, 1206, 1206, 1206,
+ /*   390 */  1206, 1206, 1206, 1206, 1206, 1206, 1206, 1160, 1206, 1206,
+ /*   400 */  1206, 1159, 1206, 1206, 1206, 1206, 1206, 1206, 1206,  916,
+ /*   410 */  1206, 1206,
 };
 /********** End of lemon-generated parsing tables *****************************/
 
@@ -1024,32 +1021,31 @@ static const char *const yyTokenName[] = {
   "CASE",          "WHEN",          "THEN",          "ELSE",        
   "INDEX",         "PRAGMA",        "TRIGGER",       "OF",          
   "FOR",           "EACH",          "ROW",           "ANALYZE",     
-  "ALTER",         "COLUMNKW",      "WITH",          "RECURSIVE",   
-  "error",         "input",         "ecmd",          "explain",     
-  "cmdx",          "cmd",           "transtype",     "trans_opt",   
-  "nm",            "savepoint_opt",  "create_table",  "create_table_args",
-  "createkw",      "ifnotexists",   "columnlist",    "conslist_opt",
-  "select",        "columnname",    "carglist",      "typetoken",   
-  "typename",      "signed",        "plus_num",      "minus_num",   
-  "ccons",         "term",          "expr",          "onconf",      
-  "sortorder",     "autoinc",       "eidlist_opt",   "refargs",     
-  "defer_subclause",  "refarg",        "refact",        "init_deferred_pred_opt",
-  "conslist",      "tconscomma",    "tcons",         "sortlist",    
-  "eidlist",       "defer_subclause_opt",  "orconf",        "resolvetype", 
-  "raisetype",     "ifexists",      "fullname",      "selectnowith",
-  "oneselect",     "with",          "multiselect_op",  "distinct",    
-  "selcollist",    "from",          "where_opt",     "groupby_opt", 
-  "having_opt",    "orderby_opt",   "limit_opt",     "values",      
-  "nexprlist",     "exprlist",      "sclp",          "as",          
-  "seltablist",    "stl_prefix",    "joinop",        "indexed_opt", 
-  "on_opt",        "using_opt",     "join_nm",       "idlist",      
-  "setlist",       "insert_cmd",    "idlist_opt",    "likeop",      
-  "between_op",    "in_op",         "paren_exprlist",  "case_operand",
-  "case_exprlist",  "case_else",     "uniqueflag",    "collate",     
-  "nmnum",         "trigger_decl",  "trigger_cmd_list",  "trigger_time",
-  "trigger_event",  "foreach_clause",  "when_clause",   "trigger_cmd", 
-  "trnm",          "tridxby",       "add_column_fullname",  "kwcolumn_opt",
-  "wqlist",      
+  "ALTER",         "WITH",          "RECURSIVE",     "error",       
+  "input",         "ecmd",          "explain",       "cmdx",        
+  "cmd",           "transtype",     "trans_opt",     "nm",          
+  "savepoint_opt",  "create_table",  "create_table_args",  "createkw",    
+  "ifnotexists",   "columnlist",    "conslist_opt",  "select",      
+  "columnname",    "carglist",      "typetoken",     "typename",    
+  "signed",        "plus_num",      "minus_num",     "ccons",       
+  "term",          "expr",          "onconf",        "sortorder",   
+  "autoinc",       "eidlist_opt",   "refargs",       "defer_subclause",
+  "refarg",        "refact",        "init_deferred_pred_opt",  "conslist",    
+  "tconscomma",    "tcons",         "sortlist",      "eidlist",     
+  "defer_subclause_opt",  "orconf",        "resolvetype",   "raisetype",   
+  "ifexists",      "fullname",      "selectnowith",  "oneselect",   
+  "with",          "multiselect_op",  "distinct",      "selcollist",  
+  "from",          "where_opt",     "groupby_opt",   "having_opt",  
+  "orderby_opt",   "limit_opt",     "values",        "nexprlist",   
+  "exprlist",      "sclp",          "as",            "seltablist",  
+  "stl_prefix",    "joinop",        "indexed_opt",   "on_opt",      
+  "using_opt",     "join_nm",       "idlist",        "setlist",     
+  "insert_cmd",    "idlist_opt",    "likeop",        "between_op",  
+  "in_op",         "paren_exprlist",  "case_operand",  "case_exprlist",
+  "case_else",     "uniqueflag",    "collate",       "nmnum",       
+  "trigger_decl",  "trigger_cmd_list",  "trigger_time",  "trigger_event",
+  "foreach_clause",  "when_clause",   "trigger_cmd",   "trnm",        
+  "tridxby",       "wqlist",      
 };
 #endif /* NDEBUG */
 
@@ -1308,58 +1304,54 @@ static const char *const yyRuleName[] = {
  /* 248 */ "cmd ::= ANALYZE",
  /* 249 */ "cmd ::= ANALYZE nm",
  /* 250 */ "cmd ::= ALTER TABLE fullname RENAME TO nm",
- /* 251 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist",
- /* 252 */ "add_column_fullname ::= fullname",
- /* 253 */ "with ::=",
- /* 254 */ "with ::= WITH wqlist",
- /* 255 */ "with ::= WITH RECURSIVE wqlist",
- /* 256 */ "wqlist ::= nm eidlist_opt AS LP select RP",
- /* 257 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP",
- /* 258 */ "input ::= ecmd",
- /* 259 */ "explain ::=",
- /* 260 */ "cmdx ::= cmd",
- /* 261 */ "trans_opt ::=",
- /* 262 */ "trans_opt ::= TRANSACTION",
- /* 263 */ "trans_opt ::= TRANSACTION nm",
- /* 264 */ "savepoint_opt ::= SAVEPOINT",
- /* 265 */ "savepoint_opt ::=",
- /* 266 */ "cmd ::= create_table create_table_args",
- /* 267 */ "columnlist ::= columnlist COMMA columnname carglist",
- /* 268 */ "columnlist ::= columnname carglist",
- /* 269 */ "typetoken ::= typename",
- /* 270 */ "typename ::= ID|STRING",
- /* 271 */ "signed ::= plus_num",
- /* 272 */ "signed ::= minus_num",
- /* 273 */ "carglist ::= carglist ccons",
- /* 274 */ "carglist ::=",
- /* 275 */ "ccons ::= NULL onconf",
- /* 276 */ "conslist_opt ::= COMMA conslist",
- /* 277 */ "conslist ::= conslist tconscomma tcons",
- /* 278 */ "conslist ::= tcons",
- /* 279 */ "tconscomma ::=",
- /* 280 */ "defer_subclause_opt ::= defer_subclause",
- /* 281 */ "resolvetype ::= raisetype",
- /* 282 */ "selectnowith ::= oneselect",
- /* 283 */ "oneselect ::= values",
- /* 284 */ "sclp ::= selcollist COMMA",
- /* 285 */ "as ::= ID|STRING",
- /* 286 */ "join_nm ::= ID|INDEXED",
- /* 287 */ "join_nm ::= JOIN_KW",
- /* 288 */ "expr ::= term",
- /* 289 */ "exprlist ::= nexprlist",
- /* 290 */ "nmnum ::= plus_num",
- /* 291 */ "nmnum ::= STRING",
- /* 292 */ "nmnum ::= nm",
- /* 293 */ "nmnum ::= ON",
- /* 294 */ "nmnum ::= DELETE",
- /* 295 */ "nmnum ::= DEFAULT",
- /* 296 */ "plus_num ::= INTEGER|FLOAT",
- /* 297 */ "foreach_clause ::=",
- /* 298 */ "foreach_clause ::= FOR EACH ROW",
- /* 299 */ "trnm ::= nm",
- /* 300 */ "tridxby ::=",
- /* 301 */ "kwcolumn_opt ::=",
- /* 302 */ "kwcolumn_opt ::= COLUMNKW",
+ /* 251 */ "with ::=",
+ /* 252 */ "with ::= WITH wqlist",
+ /* 253 */ "with ::= WITH RECURSIVE wqlist",
+ /* 254 */ "wqlist ::= nm eidlist_opt AS LP select RP",
+ /* 255 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP",
+ /* 256 */ "input ::= ecmd",
+ /* 257 */ "explain ::=",
+ /* 258 */ "cmdx ::= cmd",
+ /* 259 */ "trans_opt ::=",
+ /* 260 */ "trans_opt ::= TRANSACTION",
+ /* 261 */ "trans_opt ::= TRANSACTION nm",
+ /* 262 */ "savepoint_opt ::= SAVEPOINT",
+ /* 263 */ "savepoint_opt ::=",
+ /* 264 */ "cmd ::= create_table create_table_args",
+ /* 265 */ "columnlist ::= columnlist COMMA columnname carglist",
+ /* 266 */ "columnlist ::= columnname carglist",
+ /* 267 */ "typetoken ::= typename",
+ /* 268 */ "typename ::= ID|STRING",
+ /* 269 */ "signed ::= plus_num",
+ /* 270 */ "signed ::= minus_num",
+ /* 271 */ "carglist ::= carglist ccons",
+ /* 272 */ "carglist ::=",
+ /* 273 */ "ccons ::= NULL onconf",
+ /* 274 */ "conslist_opt ::= COMMA conslist",
+ /* 275 */ "conslist ::= conslist tconscomma tcons",
+ /* 276 */ "conslist ::= tcons",
+ /* 277 */ "tconscomma ::=",
+ /* 278 */ "defer_subclause_opt ::= defer_subclause",
+ /* 279 */ "resolvetype ::= raisetype",
+ /* 280 */ "selectnowith ::= oneselect",
+ /* 281 */ "oneselect ::= values",
+ /* 282 */ "sclp ::= selcollist COMMA",
+ /* 283 */ "as ::= ID|STRING",
+ /* 284 */ "join_nm ::= ID|INDEXED",
+ /* 285 */ "join_nm ::= JOIN_KW",
+ /* 286 */ "expr ::= term",
+ /* 287 */ "exprlist ::= nexprlist",
+ /* 288 */ "nmnum ::= plus_num",
+ /* 289 */ "nmnum ::= STRING",
+ /* 290 */ "nmnum ::= nm",
+ /* 291 */ "nmnum ::= ON",
+ /* 292 */ "nmnum ::= DELETE",
+ /* 293 */ "nmnum ::= DEFAULT",
+ /* 294 */ "plus_num ::= INTEGER|FLOAT",
+ /* 295 */ "foreach_clause ::=",
+ /* 296 */ "foreach_clause ::= FOR EACH ROW",
+ /* 297 */ "trnm ::= nm",
+ /* 298 */ "tridxby ::=",
 };
 #endif /* NDEBUG */
 
@@ -1470,94 +1462,94 @@ static void yy_destructor(
     ** inside the C code.
     */
 /********* Begin destructor definitions ***************************************/
-    case 152: /* select */
-    case 183: /* selectnowith */
-    case 184: /* oneselect */
-    case 195: /* values */
+    case 151: /* select */
+    case 182: /* selectnowith */
+    case 183: /* oneselect */
+    case 194: /* values */
 {
 #line 386 "parse.y"
-sqlite3SelectDelete(pParse->db, (yypminor->yy309));
-#line 1481 "parse.c"
+sqlite3SelectDelete(pParse->db, (yypminor->yy279));
+#line 1473 "parse.c"
 }
       break;
-    case 161: /* term */
-    case 162: /* expr */
+    case 160: /* term */
+    case 161: /* expr */
 {
 #line 829 "parse.y"
-sqlite3ExprDelete(pParse->db, (yypminor->yy200).pExpr);
-#line 1489 "parse.c"
+sqlite3ExprDelete(pParse->db, (yypminor->yy162).pExpr);
+#line 1481 "parse.c"
 }
       break;
-    case 166: /* eidlist_opt */
-    case 175: /* sortlist */
-    case 176: /* eidlist */
-    case 188: /* selcollist */
-    case 191: /* groupby_opt */
-    case 193: /* orderby_opt */
-    case 196: /* nexprlist */
-    case 197: /* exprlist */
-    case 198: /* sclp */
-    case 208: /* setlist */
-    case 214: /* paren_exprlist */
-    case 216: /* case_exprlist */
+    case 165: /* eidlist_opt */
+    case 174: /* sortlist */
+    case 175: /* eidlist */
+    case 187: /* selcollist */
+    case 190: /* groupby_opt */
+    case 192: /* orderby_opt */
+    case 195: /* nexprlist */
+    case 196: /* exprlist */
+    case 197: /* sclp */
+    case 207: /* setlist */
+    case 213: /* paren_exprlist */
+    case 215: /* case_exprlist */
 {
 #line 1261 "parse.y"
-sqlite3ExprListDelete(pParse->db, (yypminor->yy272));
-#line 1507 "parse.c"
+sqlite3ExprListDelete(pParse->db, (yypminor->yy382));
+#line 1499 "parse.c"
 }
       break;
-    case 182: /* fullname */
-    case 189: /* from */
-    case 200: /* seltablist */
-    case 201: /* stl_prefix */
+    case 181: /* fullname */
+    case 188: /* from */
+    case 199: /* seltablist */
+    case 200: /* stl_prefix */
 {
 #line 613 "parse.y"
-sqlite3SrcListDelete(pParse->db, (yypminor->yy73));
-#line 1517 "parse.c"
+sqlite3SrcListDelete(pParse->db, (yypminor->yy387));
+#line 1509 "parse.c"
 }
       break;
-    case 185: /* with */
-    case 232: /* wqlist */
+    case 184: /* with */
+    case 229: /* wqlist */
 {
-#line 1506 "parse.y"
-sqlite3WithDelete(pParse->db, (yypminor->yy445));
-#line 1525 "parse.c"
+#line 1507 "parse.y"
+sqlite3WithDelete(pParse->db, (yypminor->yy151));
+#line 1517 "parse.c"
 }
       break;
-    case 190: /* where_opt */
-    case 192: /* having_opt */
-    case 204: /* on_opt */
-    case 215: /* case_operand */
-    case 217: /* case_else */
-    case 226: /* when_clause */
+    case 189: /* where_opt */
+    case 191: /* having_opt */
+    case 203: /* on_opt */
+    case 214: /* case_operand */
+    case 216: /* case_else */
+    case 225: /* when_clause */
 {
 #line 738 "parse.y"
-sqlite3ExprDelete(pParse->db, (yypminor->yy294));
-#line 1537 "parse.c"
+sqlite3ExprDelete(pParse->db, (yypminor->yy362));
+#line 1529 "parse.c"
 }
       break;
-    case 205: /* using_opt */
-    case 207: /* idlist */
-    case 210: /* idlist_opt */
+    case 204: /* using_opt */
+    case 206: /* idlist */
+    case 209: /* idlist_opt */
 {
 #line 650 "parse.y"
-sqlite3IdListDelete(pParse->db, (yypminor->yy436));
-#line 1546 "parse.c"
+sqlite3IdListDelete(pParse->db, (yypminor->yy40));
+#line 1538 "parse.c"
 }
       break;
-    case 222: /* trigger_cmd_list */
-    case 227: /* trigger_cmd */
+    case 221: /* trigger_cmd_list */
+    case 226: /* trigger_cmd */
 {
 #line 1381 "parse.y"
-sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy251));
-#line 1554 "parse.c"
+sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy427));
+#line 1546 "parse.c"
 }
       break;
-    case 224: /* trigger_event */
+    case 223: /* trigger_event */
 {
 #line 1367 "parse.y"
-sqlite3IdListDelete(pParse->db, (yypminor->yy60).b);
-#line 1561 "parse.c"
+sqlite3IdListDelete(pParse->db, (yypminor->yy10).b);
+#line 1553 "parse.c"
 }
       break;
 /********* End destructor definitions *****************************************/
@@ -1732,7 +1724,7 @@ static void yyStackOverflow(yyParser *yypParser){
 #line 41 "parse.y"
 
   sqlite3ErrorMsg(pParse, "parser stack overflow");
-#line 1736 "parse.c"
+#line 1728 "parse.c"
 /******** End %stack_overflow code ********************************************/
    sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument var */
 }
@@ -1806,309 +1798,305 @@ static const struct {
   YYCODETYPE lhs;         /* Symbol on the left-hand side of the rule */
   unsigned char nrhs;     /* Number of right-hand side symbols in the rule */
 } yyRuleInfo[] = {
-  { 138, 3 },
+  { 137, 3 },
+  { 137, 1 },
   { 138, 1 },
-  { 139, 1 },
-  { 139, 3 },
-  { 141, 3 },
-  { 142, 0 },
-  { 142, 1 },
-  { 141, 2 },
-  { 141, 2 },
-  { 141, 2 },
-  { 141, 2 },
-  { 141, 3 },
-  { 141, 5 },
+  { 138, 3 },
+  { 140, 3 },
+  { 141, 0 },
+  { 141, 1 },
+  { 140, 2 },
+  { 140, 2 },
+  { 140, 2 },
+  { 140, 2 },
+  { 140, 3 },
+  { 140, 5 },
+  { 145, 4 },
+  { 147, 1 },
+  { 148, 0 },
+  { 148, 3 },
   { 146, 4 },
-  { 148, 1 },
-  { 149, 0 },
-  { 149, 3 },
-  { 147, 4 },
-  { 147, 2 },
-  { 153, 2 },
-  { 144, 1 },
-  { 155, 0 },
-  { 155, 4 },
-  { 155, 6 },
-  { 156, 2 },
-  { 160, 2 },
-  { 160, 2 },
-  { 160, 4 },
-  { 160, 3 },
-  { 160, 3 },
-  { 160, 2 },
-  { 160, 3 },
-  { 160, 5 },
-  { 160, 2 },
-  { 160, 4 },
-  { 160, 4 },
-  { 160, 1 },
-  { 160, 2 },
-  { 165, 0 },
-  { 165, 1 },
-  { 167, 0 },
-  { 167, 2 },
+  { 146, 2 },
+  { 152, 2 },
+  { 143, 1 },
+  { 154, 0 },
+  { 154, 4 },
+  { 154, 6 },
+  { 155, 2 },
+  { 159, 2 },
+  { 159, 2 },
+  { 159, 4 },
+  { 159, 3 },
+  { 159, 3 },
+  { 159, 2 },
+  { 159, 3 },
+  { 159, 5 },
+  { 159, 2 },
+  { 159, 4 },
+  { 159, 4 },
+  { 159, 1 },
+  { 159, 2 },
+  { 164, 0 },
+  { 164, 1 },
+  { 166, 0 },
+  { 166, 2 },
+  { 168, 2 },
+  { 168, 3 },
+  { 168, 3 },
+  { 168, 3 },
   { 169, 2 },
-  { 169, 3 },
-  { 169, 3 },
-  { 169, 3 },
-  { 170, 2 },
+  { 169, 2 },
+  { 169, 1 },
+  { 169, 1 },
+  { 169, 2 },
+  { 167, 3 },
+  { 167, 2 },
+  { 170, 0 },
   { 170, 2 },
-  { 170, 1 },
-  { 170, 1 },
   { 170, 2 },
-  { 168, 3 },
-  { 168, 2 },
-  { 171, 0 },
-  { 171, 2 },
-  { 171, 2 },
-  { 151, 0 },
-  { 173, 1 },
-  { 174, 2 },
-  { 174, 7 },
-  { 174, 5 },
-  { 174, 5 },
-  { 174, 10 },
+  { 150, 0 },
+  { 172, 1 },
+  { 173, 2 },
+  { 173, 7 },
+  { 173, 5 },
+  { 173, 5 },
+  { 173, 10 },
+  { 176, 0 },
+  { 162, 0 },
+  { 162, 3 },
   { 177, 0 },
-  { 163, 0 },
-  { 163, 3 },
-  { 178, 0 },
-  { 178, 2 },
-  { 179, 1 },
-  { 179, 1 },
-  { 141, 4 },
-  { 181, 2 },
-  { 181, 0 },
-  { 141, 7 },
-  { 141, 4 },
-  { 141, 1 },
-  { 152, 2 },
-  { 183, 3 },
+  { 177, 2 },
+  { 178, 1 },
+  { 178, 1 },
+  { 140, 4 },
+  { 180, 2 },
+  { 180, 0 },
+  { 140, 7 },
+  { 140, 4 },
+  { 140, 1 },
+  { 151, 2 },
+  { 182, 3 },
+  { 185, 1 },
+  { 185, 2 },
+  { 185, 1 },
+  { 183, 9 },
+  { 194, 4 },
+  { 194, 5 },
   { 186, 1 },
-  { 186, 2 },
   { 186, 1 },
-  { 184, 9 },
-  { 195, 4 },
-  { 195, 5 },
-  { 187, 1 },
-  { 187, 1 },
-  { 187, 0 },
+  { 186, 0 },
+  { 197, 0 },
+  { 187, 3 },
+  { 187, 2 },
+  { 187, 4 },
+  { 198, 2 },
   { 198, 0 },
-  { 188, 3 },
+  { 188, 0 },
   { 188, 2 },
-  { 188, 4 },
-  { 199, 2 },
-  { 199, 0 },
-  { 189, 0 },
-  { 189, 2 },
+  { 200, 2 },
+  { 200, 0 },
+  { 199, 6 },
+  { 199, 8 },
+  { 199, 7 },
+  { 199, 7 },
+  { 181, 1 },
+  { 201, 1 },
   { 201, 2 },
-  { 201, 0 },
-  { 200, 6 },
-  { 200, 8 },
-  { 200, 7 },
-  { 200, 7 },
-  { 182, 1 },
-  { 202, 1 },
-  { 202, 2 },
+  { 201, 3 },
+  { 201, 4 },
+  { 203, 2 },
+  { 203, 0 },
+  { 202, 0 },
   { 202, 3 },
-  { 202, 4 },
-  { 204, 2 },
+  { 202, 2 },
+  { 204, 4 },
   { 204, 0 },
-  { 203, 0 },
-  { 203, 3 },
-  { 203, 2 },
-  { 205, 4 },
-  { 205, 0 },
-  { 193, 0 },
-  { 193, 3 },
-  { 175, 4 },
-  { 175, 2 },
-  { 164, 1 },
-  { 164, 1 },
-  { 164, 0 },
-  { 191, 0 },
-  { 191, 3 },
   { 192, 0 },
-  { 192, 2 },
-  { 194, 0 },
-  { 194, 2 },
-  { 194, 4 },
-  { 194, 4 },
-  { 141, 6 },
+  { 192, 3 },
+  { 174, 4 },
+  { 174, 2 },
+  { 163, 1 },
+  { 163, 1 },
+  { 163, 0 },
   { 190, 0 },
-  { 190, 2 },
-  { 141, 8 },
-  { 208, 5 },
-  { 208, 7 },
-  { 208, 3 },
-  { 208, 5 },
-  { 141, 6 },
-  { 141, 7 },
-  { 209, 2 },
-  { 209, 1 },
-  { 210, 0 },
-  { 210, 3 },
+  { 190, 3 },
+  { 191, 0 },
+  { 191, 2 },
+  { 193, 0 },
+  { 193, 2 },
+  { 193, 4 },
+  { 193, 4 },
+  { 140, 6 },
+  { 189, 0 },
+  { 189, 2 },
+  { 140, 8 },
+  { 207, 5 },
+  { 207, 7 },
   { 207, 3 },
-  { 207, 1 },
-  { 162, 3 },
-  { 161, 1 },
-  { 162, 1 },
-  { 162, 1 },
-  { 162, 3 },
-  { 161, 1 },
+  { 207, 5 },
+  { 140, 6 },
+  { 140, 7 },
+  { 208, 2 },
+  { 208, 1 },
+  { 209, 0 },
+  { 209, 3 },
+  { 206, 3 },
+  { 206, 1 },
+  { 161, 3 },
+  { 160, 1 },
   { 161, 1 },
   { 161, 1 },
-  { 162, 1 },
-  { 162, 3 },
-  { 162, 6 },
-  { 162, 5 },
-  { 162, 4 },
+  { 161, 3 },
+  { 160, 1 },
+  { 160, 1 },
+  { 160, 1 },
   { 161, 1 },
-  { 162, 5 },
-  { 162, 3 },
-  { 162, 3 },
-  { 162, 3 },
-  { 162, 3 },
-  { 162, 3 },
-  { 162, 3 },
-  { 162, 3 },
-  { 162, 3 },
+  { 161, 3 },
+  { 161, 6 },
+  { 161, 5 },
+  { 161, 4 },
+  { 160, 1 },
+  { 161, 5 },
+  { 161, 3 },
+  { 161, 3 },
+  { 161, 3 },
+  { 161, 3 },
+  { 161, 3 },
+  { 161, 3 },
+  { 161, 3 },
+  { 161, 3 },
+  { 210, 1 },
+  { 210, 2 },
+  { 161, 3 },
+  { 161, 5 },
+  { 161, 2 },
+  { 161, 3 },
+  { 161, 3 },
+  { 161, 4 },
+  { 161, 2 },
+  { 161, 2 },
+  { 161, 2 },
+  { 161, 2 },
   { 211, 1 },
   { 211, 2 },
-  { 162, 3 },
-  { 162, 5 },
-  { 162, 2 },
-  { 162, 3 },
-  { 162, 3 },
-  { 162, 4 },
-  { 162, 2 },
-  { 162, 2 },
-  { 162, 2 },
-  { 162, 2 },
+  { 161, 5 },
   { 212, 1 },
   { 212, 2 },
-  { 162, 5 },
-  { 213, 1 },
-  { 213, 2 },
-  { 162, 5 },
-  { 162, 3 },
-  { 162, 5 },
-  { 162, 4 },
-  { 162, 4 },
-  { 162, 5 },
-  { 216, 5 },
-  { 216, 4 },
-  { 217, 2 },
-  { 217, 0 },
-  { 215, 1 },
-  { 215, 0 },
-  { 197, 0 },
-  { 196, 3 },
-  { 196, 1 },
+  { 161, 5 },
+  { 161, 3 },
+  { 161, 5 },
+  { 161, 4 },
+  { 161, 4 },
+  { 161, 5 },
+  { 215, 5 },
+  { 215, 4 },
+  { 216, 2 },
+  { 216, 0 },
+  { 214, 1 },
   { 214, 0 },
-  { 214, 3 },
-  { 141, 11 },
-  { 218, 1 },
+  { 196, 0 },
+  { 195, 3 },
+  { 195, 1 },
+  { 213, 0 },
+  { 213, 3 },
+  { 140, 11 },
+  { 217, 1 },
+  { 217, 0 },
+  { 165, 0 },
+  { 165, 3 },
+  { 175, 5 },
+  { 175, 3 },
   { 218, 0 },
-  { 166, 0 },
-  { 166, 3 },
-  { 176, 5 },
-  { 176, 3 },
-  { 219, 0 },
-  { 219, 2 },
-  { 141, 6 },
-  { 141, 2 },
-  { 141, 4 },
-  { 141, 5 },
-  { 141, 4 },
-  { 141, 5 },
-  { 141, 6 },
+  { 218, 2 },
+  { 140, 6 },
+  { 140, 2 },
+  { 140, 4 },
+  { 140, 5 },
+  { 140, 4 },
+  { 140, 5 },
+  { 140, 6 },
+  { 157, 2 },
   { 158, 2 },
-  { 159, 2 },
-  { 141, 5 },
-  { 221, 9 },
+  { 140, 5 },
+  { 220, 9 },
+  { 222, 1 },
+  { 222, 1 },
+  { 222, 2 },
+  { 222, 0 },
   { 223, 1 },
   { 223, 1 },
-  { 223, 2 },
-  { 223, 0 },
-  { 224, 1 },
-  { 224, 1 },
-  { 224, 3 },
-  { 226, 0 },
-  { 226, 2 },
-  { 222, 3 },
-  { 222, 2 },
+  { 223, 3 },
+  { 225, 0 },
+  { 225, 2 },
+  { 221, 3 },
+  { 221, 2 },
+  { 227, 3 },
   { 228, 3 },
-  { 229, 3 },
-  { 229, 2 },
-  { 227, 7 },
-  { 227, 5 },
-  { 227, 5 },
-  { 227, 1 },
-  { 162, 4 },
-  { 162, 6 },
-  { 180, 1 },
-  { 180, 1 },
-  { 180, 1 },
-  { 141, 4 },
-  { 141, 1 },
-  { 141, 2 },
-  { 141, 4 },
-  { 141, 1 },
-  { 141, 2 },
-  { 141, 6 },
-  { 141, 7 },
-  { 230, 1 },
-  { 185, 0 },
-  { 185, 2 },
-  { 185, 3 },
-  { 232, 6 },
-  { 232, 8 },
-  { 137, 1 },
-  { 139, 0 },
+  { 228, 2 },
+  { 226, 7 },
+  { 226, 5 },
+  { 226, 5 },
+  { 226, 1 },
+  { 161, 4 },
+  { 161, 6 },
+  { 179, 1 },
+  { 179, 1 },
+  { 179, 1 },
+  { 140, 4 },
   { 140, 1 },
-  { 143, 0 },
-  { 143, 1 },
-  { 143, 2 },
-  { 145, 1 },
-  { 145, 0 },
-  { 141, 2 },
-  { 150, 4 },
-  { 150, 2 },
+  { 140, 2 },
+  { 140, 4 },
+  { 140, 1 },
+  { 140, 2 },
+  { 140, 6 },
+  { 184, 0 },
+  { 184, 2 },
+  { 184, 3 },
+  { 229, 6 },
+  { 229, 8 },
+  { 136, 1 },
+  { 138, 0 },
+  { 139, 1 },
+  { 142, 0 },
+  { 142, 1 },
+  { 142, 2 },
+  { 144, 1 },
+  { 144, 0 },
+  { 140, 2 },
+  { 149, 4 },
+  { 149, 2 },
+  { 154, 1 },
   { 155, 1 },
   { 156, 1 },
-  { 157, 1 },
-  { 157, 1 },
-  { 154, 2 },
-  { 154, 0 },
-  { 160, 2 },
-  { 151, 2 },
-  { 172, 3 },
-  { 172, 1 },
-  { 173, 0 },
-  { 177, 1 },
-  { 179, 1 },
+  { 156, 1 },
+  { 153, 2 },
+  { 153, 0 },
+  { 159, 2 },
+  { 150, 2 },
+  { 171, 3 },
+  { 171, 1 },
+  { 172, 0 },
+  { 176, 1 },
+  { 178, 1 },
+  { 182, 1 },
   { 183, 1 },
-  { 184, 1 },
-  { 198, 2 },
-  { 199, 1 },
-  { 206, 1 },
-  { 206, 1 },
-  { 162, 1 },
-  { 197, 1 },
-  { 220, 1 },
-  { 220, 1 },
-  { 220, 1 },
-  { 220, 1 },
-  { 220, 1 },
-  { 220, 1 },
-  { 158, 1 },
-  { 225, 0 },
-  { 225, 3 },
-  { 228, 1 },
-  { 229, 0 },
-  { 231, 0 },
-  { 231, 1 },
+  { 197, 2 },
+  { 198, 1 },
+  { 205, 1 },
+  { 205, 1 },
+  { 161, 1 },
+  { 196, 1 },
+  { 219, 1 },
+  { 219, 1 },
+  { 219, 1 },
+  { 219, 1 },
+  { 219, 1 },
+  { 219, 1 },
+  { 157, 1 },
+  { 224, 0 },
+  { 224, 3 },
+  { 227, 1 },
+  { 228, 0 },
 };
 
 static void yy_accept(yyParser*);  /* Forward Declaration */
@@ -2175,83 +2163,83 @@ static void yy_reduce(
       case 0: /* ecmd ::= explain cmdx SEMI */
 #line 111 "parse.y"
 { sqlite3FinishCoding(pParse); }
-#line 2179 "parse.c"
+#line 2167 "parse.c"
         break;
       case 1: /* ecmd ::= SEMI */
 #line 112 "parse.y"
 {
   sqlite3ErrorMsg(pParse, "syntax error: empty request");
 }
-#line 2186 "parse.c"
+#line 2174 "parse.c"
         break;
       case 2: /* explain ::= EXPLAIN */
 #line 117 "parse.y"
 { pParse->explain = 1; }
-#line 2191 "parse.c"
+#line 2179 "parse.c"
         break;
       case 3: /* explain ::= EXPLAIN QUERY PLAN */
 #line 118 "parse.y"
 { pParse->explain = 2; }
-#line 2196 "parse.c"
+#line 2184 "parse.c"
         break;
       case 4: /* cmd ::= BEGIN transtype trans_opt */
 #line 150 "parse.y"
-{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy322);}
-#line 2201 "parse.c"
+{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy52);}
+#line 2189 "parse.c"
         break;
       case 5: /* transtype ::= */
 #line 155 "parse.y"
-{yymsp[1].minor.yy322 = TK_DEFERRED;}
-#line 2206 "parse.c"
+{yymsp[1].minor.yy52 = TK_DEFERRED;}
+#line 2194 "parse.c"
         break;
       case 6: /* transtype ::= DEFERRED */
 #line 156 "parse.y"
-{yymsp[0].minor.yy322 = yymsp[0].major; /*A-overwrites-X*/}
-#line 2211 "parse.c"
+{yymsp[0].minor.yy52 = yymsp[0].major; /*A-overwrites-X*/}
+#line 2199 "parse.c"
         break;
       case 7: /* cmd ::= COMMIT trans_opt */
       case 8: /* cmd ::= END trans_opt */ yytestcase(yyruleno==8);
 #line 157 "parse.y"
 {sqlite3CommitTransaction(pParse);}
-#line 2217 "parse.c"
+#line 2205 "parse.c"
         break;
       case 9: /* cmd ::= ROLLBACK trans_opt */
 #line 159 "parse.y"
 {sqlite3RollbackTransaction(pParse);}
-#line 2222 "parse.c"
+#line 2210 "parse.c"
         break;
       case 10: /* cmd ::= SAVEPOINT nm */
 #line 163 "parse.y"
 {
   sqlite3Savepoint(pParse, SAVEPOINT_BEGIN, &yymsp[0].minor.yy0);
 }
-#line 2229 "parse.c"
+#line 2217 "parse.c"
         break;
       case 11: /* cmd ::= RELEASE savepoint_opt nm */
 #line 166 "parse.y"
 {
   sqlite3Savepoint(pParse, SAVEPOINT_RELEASE, &yymsp[0].minor.yy0);
 }
-#line 2236 "parse.c"
+#line 2224 "parse.c"
         break;
       case 12: /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */
 #line 169 "parse.y"
 {
   sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0);
 }
-#line 2243 "parse.c"
+#line 2231 "parse.c"
         break;
       case 13: /* create_table ::= createkw TABLE ifnotexists nm */
 #line 176 "parse.y"
 {
-   sqlite3StartTable(pParse,&yymsp[0].minor.yy0,yymsp[-1].minor.yy322);
+   sqlite3StartTable(pParse,&yymsp[0].minor.yy0,yymsp[-1].minor.yy52);
 }
-#line 2250 "parse.c"
+#line 2238 "parse.c"
         break;
       case 14: /* createkw ::= CREATE */
 #line 179 "parse.y"
 {disableLookaside(pParse);}
-#line 2255 "parse.c"
+#line 2243 "parse.c"
         break;
       case 15: /* ifnotexists ::= */
       case 38: /* autoinc ::= */ yytestcase(yyruleno==38);
@@ -2261,33 +2249,33 @@ static void yy_reduce(
       case 86: /* distinct ::= */ yytestcase(yyruleno==86);
       case 208: /* collate ::= */ yytestcase(yyruleno==208);
 #line 182 "parse.y"
-{yymsp[1].minor.yy322 = 0;}
-#line 2266 "parse.c"
+{yymsp[1].minor.yy52 = 0;}
+#line 2254 "parse.c"
         break;
       case 16: /* ifnotexists ::= IF NOT EXISTS */
 #line 183 "parse.y"
-{yymsp[-2].minor.yy322 = 1;}
-#line 2271 "parse.c"
+{yymsp[-2].minor.yy52 = 1;}
+#line 2259 "parse.c"
         break;
       case 17: /* create_table_args ::= LP columnlist conslist_opt RP */
 #line 185 "parse.y"
 {
   sqlite3EndTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);
 }
-#line 2278 "parse.c"
+#line 2266 "parse.c"
         break;
       case 18: /* create_table_args ::= AS select */
 #line 188 "parse.y"
 {
-  sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy309);
-  sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy309);
+  sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy279);
+  sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy279);
 }
-#line 2286 "parse.c"
+#line 2274 "parse.c"
         break;
       case 19: /* columnname ::= nm typetoken */
 #line 194 "parse.y"
 {sqlite3AddColumn(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);}
-#line 2291 "parse.c"
+#line 2279 "parse.c"
         break;
       case 20: /* nm ::= ID|INDEXED */
 #line 225 "parse.y"
@@ -2296,61 +2284,61 @@ static void yy_reduce(
     sqlite3ErrorMsg(pParse, "keyword \"%T\" is reserved", &yymsp[0].minor.yy0);
   }
 }
-#line 2300 "parse.c"
+#line 2288 "parse.c"
         break;
       case 21: /* typetoken ::= */
       case 56: /* conslist_opt ::= */ yytestcase(yyruleno==56);
       case 92: /* as ::= */ yytestcase(yyruleno==92);
 #line 236 "parse.y"
 {yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = 0;}
-#line 2307 "parse.c"
+#line 2295 "parse.c"
         break;
       case 22: /* typetoken ::= typename LP signed RP */
 #line 238 "parse.y"
 {
   yymsp[-3].minor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy0.z);
 }
-#line 2314 "parse.c"
+#line 2302 "parse.c"
         break;
       case 23: /* typetoken ::= typename LP signed COMMA signed RP */
 #line 241 "parse.y"
 {
   yymsp[-5].minor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy0.z);
 }
-#line 2321 "parse.c"
+#line 2309 "parse.c"
         break;
       case 24: /* typename ::= typename ID|STRING */
 #line 246 "parse.y"
 {yymsp[-1].minor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);}
-#line 2326 "parse.c"
+#line 2314 "parse.c"
         break;
       case 25: /* ccons ::= CONSTRAINT nm */
       case 58: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==58);
 #line 255 "parse.y"
 {pParse->constraintName = yymsp[0].minor.yy0;}
-#line 2332 "parse.c"
+#line 2320 "parse.c"
         break;
       case 26: /* ccons ::= DEFAULT term */
       case 28: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==28);
 #line 256 "parse.y"
-{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy200);}
-#line 2338 "parse.c"
+{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy162);}
+#line 2326 "parse.c"
         break;
       case 27: /* ccons ::= DEFAULT LP expr RP */
 #line 257 "parse.y"
-{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy200);}
-#line 2343 "parse.c"
+{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy162);}
+#line 2331 "parse.c"
         break;
       case 29: /* ccons ::= DEFAULT MINUS term */
 #line 259 "parse.y"
 {
   ExprSpan v;
-  v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy200.pExpr, 0);
+  v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy162.pExpr, 0);
   v.zStart = yymsp[-1].minor.yy0.z;
-  v.zEnd = yymsp[0].minor.yy200.zEnd;
+  v.zEnd = yymsp[0].minor.yy162.zEnd;
   sqlite3AddDefaultValue(pParse,&v);
 }
-#line 2354 "parse.c"
+#line 2342 "parse.c"
         break;
       case 30: /* ccons ::= DEFAULT ID|INDEXED */
 #line 266 "parse.y"
@@ -2359,115 +2347,115 @@ static void yy_reduce(
   spanExpr(&v, pParse, TK_STRING, yymsp[0].minor.yy0);
   sqlite3AddDefaultValue(pParse,&v);
 }
-#line 2363 "parse.c"
+#line 2351 "parse.c"
         break;
       case 31: /* ccons ::= NOT NULL onconf */
 #line 276 "parse.y"
-{sqlite3AddNotNull(pParse, yymsp[0].minor.yy322);}
-#line 2368 "parse.c"
+{sqlite3AddNotNull(pParse, yymsp[0].minor.yy52);}
+#line 2356 "parse.c"
         break;
       case 32: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */
 #line 278 "parse.y"
-{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy322,yymsp[0].minor.yy322,yymsp[-2].minor.yy322);}
-#line 2373 "parse.c"
+{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy52,yymsp[0].minor.yy52,yymsp[-2].minor.yy52);}
+#line 2361 "parse.c"
         break;
       case 33: /* ccons ::= UNIQUE onconf */
 #line 279 "parse.y"
-{sqlite3CreateIndex(pParse,0,0,0,yymsp[0].minor.yy322,0,0,0,0,
+{sqlite3CreateIndex(pParse,0,0,0,yymsp[0].minor.yy52,0,0,0,0,
                                    SQLITE_IDXTYPE_UNIQUE);}
-#line 2379 "parse.c"
+#line 2367 "parse.c"
         break;
       case 34: /* ccons ::= CHECK LP expr RP */
 #line 281 "parse.y"
-{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy200.pExpr);}
-#line 2384 "parse.c"
+{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy162.pExpr);}
+#line 2372 "parse.c"
         break;
       case 35: /* ccons ::= REFERENCES nm eidlist_opt refargs */
 #line 283 "parse.y"
-{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy272,yymsp[0].minor.yy322);}
-#line 2389 "parse.c"
+{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy382,yymsp[0].minor.yy52);}
+#line 2377 "parse.c"
         break;
       case 36: /* ccons ::= defer_subclause */
 #line 284 "parse.y"
-{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy322);}
-#line 2394 "parse.c"
+{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy52);}
+#line 2382 "parse.c"
         break;
       case 37: /* ccons ::= COLLATE ID|INDEXED */
 #line 285 "parse.y"
 {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);}
-#line 2399 "parse.c"
+#line 2387 "parse.c"
         break;
       case 39: /* autoinc ::= AUTOINCR */
 #line 290 "parse.y"
-{yymsp[0].minor.yy322 = 1;}
-#line 2404 "parse.c"
+{yymsp[0].minor.yy52 = 1;}
+#line 2392 "parse.c"
         break;
       case 40: /* refargs ::= */
 #line 298 "parse.y"
-{ yymsp[1].minor.yy322 = OE_None*0x0101; /* EV: R-19803-45884 */}
-#line 2409 "parse.c"
+{ yymsp[1].minor.yy52 = OE_None*0x0101; /* EV: R-19803-45884 */}
+#line 2397 "parse.c"
         break;
       case 41: /* refargs ::= refargs refarg */
 #line 299 "parse.y"
-{ yymsp[-1].minor.yy322 = (yymsp[-1].minor.yy322 & ~yymsp[0].minor.yy369.mask) | yymsp[0].minor.yy369.value; }
-#line 2414 "parse.c"
+{ yymsp[-1].minor.yy52 = (yymsp[-1].minor.yy52 & ~yymsp[0].minor.yy107.mask) | yymsp[0].minor.yy107.value; }
+#line 2402 "parse.c"
         break;
       case 42: /* refarg ::= MATCH nm */
 #line 301 "parse.y"
-{ yymsp[-1].minor.yy369.value = 0;     yymsp[-1].minor.yy369.mask = 0x000000; }
-#line 2419 "parse.c"
+{ yymsp[-1].minor.yy107.value = 0;     yymsp[-1].minor.yy107.mask = 0x000000; }
+#line 2407 "parse.c"
         break;
       case 43: /* refarg ::= ON INSERT refact */
 #line 302 "parse.y"
-{ yymsp[-2].minor.yy369.value = 0;     yymsp[-2].minor.yy369.mask = 0x000000; }
-#line 2424 "parse.c"
+{ yymsp[-2].minor.yy107.value = 0;     yymsp[-2].minor.yy107.mask = 0x000000; }
+#line 2412 "parse.c"
         break;
       case 44: /* refarg ::= ON DELETE refact */
 #line 303 "parse.y"
-{ yymsp[-2].minor.yy369.value = yymsp[0].minor.yy322;     yymsp[-2].minor.yy369.mask = 0x0000ff; }
-#line 2429 "parse.c"
+{ yymsp[-2].minor.yy107.value = yymsp[0].minor.yy52;     yymsp[-2].minor.yy107.mask = 0x0000ff; }
+#line 2417 "parse.c"
         break;
       case 45: /* refarg ::= ON UPDATE refact */
 #line 304 "parse.y"
-{ yymsp[-2].minor.yy369.value = yymsp[0].minor.yy322<<8;  yymsp[-2].minor.yy369.mask = 0x00ff00; }
-#line 2434 "parse.c"
+{ yymsp[-2].minor.yy107.value = yymsp[0].minor.yy52<<8;  yymsp[-2].minor.yy107.mask = 0x00ff00; }
+#line 2422 "parse.c"
         break;
       case 46: /* refact ::= SET NULL */
 #line 306 "parse.y"
-{ yymsp[-1].minor.yy322 = OE_SetNull;  /* EV: R-33326-45252 */}
-#line 2439 "parse.c"
+{ yymsp[-1].minor.yy52 = OE_SetNull;  /* EV: R-33326-45252 */}
+#line 2427 "parse.c"
         break;
       case 47: /* refact ::= SET DEFAULT */
 #line 307 "parse.y"
-{ yymsp[-1].minor.yy322 = OE_SetDflt;  /* EV: R-33326-45252 */}
-#line 2444 "parse.c"
+{ yymsp[-1].minor.yy52 = OE_SetDflt;  /* EV: R-33326-45252 */}
+#line 2432 "parse.c"
         break;
       case 48: /* refact ::= CASCADE */
 #line 308 "parse.y"
-{ yymsp[0].minor.yy322 = OE_Cascade;  /* EV: R-33326-45252 */}
-#line 2449 "parse.c"
+{ yymsp[0].minor.yy52 = OE_Cascade;  /* EV: R-33326-45252 */}
+#line 2437 "parse.c"
         break;
       case 49: /* refact ::= RESTRICT */
 #line 309 "parse.y"
-{ yymsp[0].minor.yy322 = OE_Restrict; /* EV: R-33326-45252 */}
-#line 2454 "parse.c"
+{ yymsp[0].minor.yy52 = OE_Restrict; /* EV: R-33326-45252 */}
+#line 2442 "parse.c"
         break;
       case 50: /* refact ::= NO ACTION */
 #line 310 "parse.y"
-{ yymsp[-1].minor.yy322 = OE_None;     /* EV: R-33326-45252 */}
-#line 2459 "parse.c"
+{ yymsp[-1].minor.yy52 = OE_None;     /* EV: R-33326-45252 */}
+#line 2447 "parse.c"
         break;
       case 51: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */
 #line 312 "parse.y"
-{yymsp[-2].minor.yy322 = 0;}
-#line 2464 "parse.c"
+{yymsp[-2].minor.yy52 = 0;}
+#line 2452 "parse.c"
         break;
       case 52: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */
       case 67: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==67);
       case 138: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==138);
 #line 313 "parse.y"
-{yymsp[-1].minor.yy322 = yymsp[0].minor.yy322;}
-#line 2471 "parse.c"
+{yymsp[-1].minor.yy52 = yymsp[0].minor.yy52;}
+#line 2459 "parse.c"
         break;
       case 54: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */
       case 71: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==71);
@@ -2475,114 +2463,114 @@ static void yy_reduce(
       case 183: /* in_op ::= NOT IN */ yytestcase(yyruleno==183);
       case 209: /* collate ::= COLLATE ID|INDEXED */ yytestcase(yyruleno==209);
 #line 316 "parse.y"
-{yymsp[-1].minor.yy322 = 1;}
-#line 2480 "parse.c"
+{yymsp[-1].minor.yy52 = 1;}
+#line 2468 "parse.c"
         break;
       case 55: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */
 #line 317 "parse.y"
-{yymsp[-1].minor.yy322 = 0;}
-#line 2485 "parse.c"
+{yymsp[-1].minor.yy52 = 0;}
+#line 2473 "parse.c"
         break;
       case 57: /* tconscomma ::= COMMA */
 #line 323 "parse.y"
 {pParse->constraintName.n = 0;}
-#line 2490 "parse.c"
+#line 2478 "parse.c"
         break;
       case 59: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */
 #line 327 "parse.y"
-{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy272,yymsp[0].minor.yy322,yymsp[-2].minor.yy322,0);}
-#line 2495 "parse.c"
+{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy382,yymsp[0].minor.yy52,yymsp[-2].minor.yy52,0);}
+#line 2483 "parse.c"
         break;
       case 60: /* tcons ::= UNIQUE LP sortlist RP onconf */
 #line 329 "parse.y"
-{sqlite3CreateIndex(pParse,0,0,yymsp[-2].minor.yy272,yymsp[0].minor.yy322,0,0,0,0,
+{sqlite3CreateIndex(pParse,0,0,yymsp[-2].minor.yy382,yymsp[0].minor.yy52,0,0,0,0,
                                        SQLITE_IDXTYPE_UNIQUE);}
-#line 2501 "parse.c"
+#line 2489 "parse.c"
         break;
       case 61: /* tcons ::= CHECK LP expr RP onconf */
 #line 332 "parse.y"
-{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy200.pExpr);}
-#line 2506 "parse.c"
+{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy162.pExpr);}
+#line 2494 "parse.c"
         break;
       case 62: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */
 #line 334 "parse.y"
 {
-    sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy272, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy272, yymsp[-1].minor.yy322);
-    sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy322);
+    sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy382, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy382, yymsp[-1].minor.yy52);
+    sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy52);
 }
-#line 2514 "parse.c"
+#line 2502 "parse.c"
         break;
       case 64: /* onconf ::= */
       case 66: /* orconf ::= */ yytestcase(yyruleno==66);
 #line 348 "parse.y"
-{yymsp[1].minor.yy322 = OE_Default;}
-#line 2520 "parse.c"
+{yymsp[1].minor.yy52 = OE_Default;}
+#line 2508 "parse.c"
         break;
       case 65: /* onconf ::= ON CONFLICT resolvetype */
 #line 349 "parse.y"
-{yymsp[-2].minor.yy322 = yymsp[0].minor.yy322;}
-#line 2525 "parse.c"
+{yymsp[-2].minor.yy52 = yymsp[0].minor.yy52;}
+#line 2513 "parse.c"
         break;
       case 68: /* resolvetype ::= IGNORE */
 #line 353 "parse.y"
-{yymsp[0].minor.yy322 = OE_Ignore;}
-#line 2530 "parse.c"
+{yymsp[0].minor.yy52 = OE_Ignore;}
+#line 2518 "parse.c"
         break;
       case 69: /* resolvetype ::= REPLACE */
       case 139: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==139);
 #line 354 "parse.y"
-{yymsp[0].minor.yy322 = OE_Replace;}
-#line 2536 "parse.c"
+{yymsp[0].minor.yy52 = OE_Replace;}
+#line 2524 "parse.c"
         break;
       case 70: /* cmd ::= DROP TABLE ifexists fullname */
 #line 358 "parse.y"
 {
-  sqlite3DropTable(pParse, yymsp[0].minor.yy73, 0, yymsp[-1].minor.yy322);
+  sqlite3DropTable(pParse, yymsp[0].minor.yy387, 0, yymsp[-1].minor.yy52);
 }
-#line 2543 "parse.c"
+#line 2531 "parse.c"
         break;
       case 73: /* cmd ::= createkw VIEW ifnotexists nm eidlist_opt AS select */
 #line 369 "parse.y"
 {
-  sqlite3CreateView(pParse, &yymsp[-6].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy272, yymsp[0].minor.yy309, yymsp[-4].minor.yy322);
+  sqlite3CreateView(pParse, &yymsp[-6].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy382, yymsp[0].minor.yy279, yymsp[-4].minor.yy52);
 }
-#line 2550 "parse.c"
+#line 2538 "parse.c"
         break;
       case 74: /* cmd ::= DROP VIEW ifexists fullname */
 #line 372 "parse.y"
 {
-  sqlite3DropTable(pParse, yymsp[0].minor.yy73, 1, yymsp[-1].minor.yy322);
+  sqlite3DropTable(pParse, yymsp[0].minor.yy387, 1, yymsp[-1].minor.yy52);
 }
-#line 2557 "parse.c"
+#line 2545 "parse.c"
         break;
       case 75: /* cmd ::= select */
 #line 379 "parse.y"
 {
   SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0};
-  sqlite3Select(pParse, yymsp[0].minor.yy309, &dest);
-  sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy309);
+  sqlite3Select(pParse, yymsp[0].minor.yy279, &dest);
+  sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy279);
 }
-#line 2566 "parse.c"
+#line 2554 "parse.c"
         break;
       case 76: /* select ::= with selectnowith */
 #line 416 "parse.y"
 {
-  Select *p = yymsp[0].minor.yy309;
+  Select *p = yymsp[0].minor.yy279;
   if( p ){
-    p->pWith = yymsp[-1].minor.yy445;
+    p->pWith = yymsp[-1].minor.yy151;
     parserDoubleLinkSelect(pParse, p);
   }else{
-    sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy445);
+    sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy151);
   }
-  yymsp[-1].minor.yy309 = p; /*A-overwrites-W*/
+  yymsp[-1].minor.yy279 = p; /*A-overwrites-W*/
 }
-#line 2580 "parse.c"
+#line 2568 "parse.c"
         break;
       case 77: /* selectnowith ::= selectnowith multiselect_op oneselect */
 #line 429 "parse.y"
 {
-  Select *pRhs = yymsp[0].minor.yy309;
-  Select *pLhs = yymsp[-2].minor.yy309;
+  Select *pRhs = yymsp[0].minor.yy279;
+  Select *pLhs = yymsp[-2].minor.yy279;
   if( pRhs && pRhs->pPrior ){
     SrcList *pFrom;
     Token x;
@@ -2592,28 +2580,28 @@ static void yy_reduce(
     pRhs = sqlite3SelectNew(pParse,0,pFrom,0,0,0,0,0,0,0);
   }
   if( pRhs ){
-    pRhs->op = (u8)yymsp[-1].minor.yy322;
+    pRhs->op = (u8)yymsp[-1].minor.yy52;
     pRhs->pPrior = pLhs;
     if( ALWAYS(pLhs) ) pLhs->selFlags &= ~SF_MultiValue;
     pRhs->selFlags &= ~SF_MultiValue;
-    if( yymsp[-1].minor.yy322!=TK_ALL ) pParse->hasCompound = 1;
+    if( yymsp[-1].minor.yy52!=TK_ALL ) pParse->hasCompound = 1;
   }else{
     sqlite3SelectDelete(pParse->db, pLhs);
   }
-  yymsp[-2].minor.yy309 = pRhs;
+  yymsp[-2].minor.yy279 = pRhs;
 }
-#line 2606 "parse.c"
+#line 2594 "parse.c"
         break;
       case 78: /* multiselect_op ::= UNION */
       case 80: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==80);
 #line 452 "parse.y"
-{yymsp[0].minor.yy322 = yymsp[0].major; /*A-overwrites-OP*/}
-#line 2612 "parse.c"
+{yymsp[0].minor.yy52 = yymsp[0].major; /*A-overwrites-OP*/}
+#line 2600 "parse.c"
         break;
       case 79: /* multiselect_op ::= UNION ALL */
 #line 453 "parse.y"
-{yymsp[-1].minor.yy322 = TK_ALL;}
-#line 2617 "parse.c"
+{yymsp[-1].minor.yy52 = TK_ALL;}
+#line 2605 "parse.c"
         break;
       case 81: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */
 #line 457 "parse.y"
@@ -2621,7 +2609,7 @@ static void yy_reduce(
 #if SELECTTRACE_ENABLED
   Token s = yymsp[-8].minor.yy0; /*A-overwrites-S*/
 #endif
-  yymsp[-8].minor.yy309 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy272,yymsp[-5].minor.yy73,yymsp[-4].minor.yy294,yymsp[-3].minor.yy272,yymsp[-2].minor.yy294,yymsp[-1].minor.yy272,yymsp[-7].minor.yy322,yymsp[0].minor.yy400.pLimit,yymsp[0].minor.yy400.pOffset);
+  yymsp[-8].minor.yy279 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy382,yymsp[-5].minor.yy387,yymsp[-4].minor.yy362,yymsp[-3].minor.yy382,yymsp[-2].minor.yy362,yymsp[-1].minor.yy382,yymsp[-7].minor.yy52,yymsp[0].minor.yy384.pLimit,yymsp[0].minor.yy384.pOffset);
 #if SELECTTRACE_ENABLED
   /* Populate the Select.zSelName[] string that is used to help with
   ** query planner debugging, to differentiate between multiple Select
@@ -2632,55 +2620,55 @@ static void yy_reduce(
   ** comment to be the zSelName value.  Otherwise, the label is #N where
   ** is an integer that is incremented with each SELECT statement seen.
   */
-  if( yymsp[-8].minor.yy309!=0 ){
+  if( yymsp[-8].minor.yy279!=0 ){
     const char *z = s.z+6;
     int i;
-    sqlite3_snprintf(sizeof(yymsp[-8].minor.yy309->zSelName), yymsp[-8].minor.yy309->zSelName, "#%d",
+    sqlite3_snprintf(sizeof(yymsp[-8].minor.yy279->zSelName), yymsp[-8].minor.yy279->zSelName, "#%d",
                      ++pParse->nSelect);
     while( z[0]==' ' ) z++;
     if( z[0]=='/' && z[1]=='*' ){
       z += 2;
       while( z[0]==' ' ) z++;
       for(i=0; sqlite3Isalnum(z[i]); i++){}
-      sqlite3_snprintf(sizeof(yymsp[-8].minor.yy309->zSelName), yymsp[-8].minor.yy309->zSelName, "%.*s", i, z);
+      sqlite3_snprintf(sizeof(yymsp[-8].minor.yy279->zSelName), yymsp[-8].minor.yy279->zSelName, "%.*s", i, z);
     }
   }
 #endif /* SELECTRACE_ENABLED */
 }
-#line 2651 "parse.c"
+#line 2639 "parse.c"
         break;
       case 82: /* values ::= VALUES LP nexprlist RP */
 #line 491 "parse.y"
 {
-  yymsp[-3].minor.yy309 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy272,0,0,0,0,0,SF_Values,0,0);
+  yymsp[-3].minor.yy279 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy382,0,0,0,0,0,SF_Values,0,0);
 }
-#line 2658 "parse.c"
+#line 2646 "parse.c"
         break;
       case 83: /* values ::= values COMMA LP exprlist RP */
 #line 494 "parse.y"
 {
-  Select *pRight, *pLeft = yymsp[-4].minor.yy309;
-  pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy272,0,0,0,0,0,SF_Values|SF_MultiValue,0,0);
+  Select *pRight, *pLeft = yymsp[-4].minor.yy279;
+  pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy382,0,0,0,0,0,SF_Values|SF_MultiValue,0,0);
   if( ALWAYS(pLeft) ) pLeft->selFlags &= ~SF_MultiValue;
   if( pRight ){
     pRight->op = TK_ALL;
     pRight->pPrior = pLeft;
-    yymsp[-4].minor.yy309 = pRight;
+    yymsp[-4].minor.yy279 = pRight;
   }else{
-    yymsp[-4].minor.yy309 = pLeft;
+    yymsp[-4].minor.yy279 = pLeft;
   }
 }
-#line 2674 "parse.c"
+#line 2662 "parse.c"
         break;
       case 84: /* distinct ::= DISTINCT */
 #line 511 "parse.y"
-{yymsp[0].minor.yy322 = SF_Distinct;}
-#line 2679 "parse.c"
+{yymsp[0].minor.yy52 = SF_Distinct;}
+#line 2667 "parse.c"
         break;
       case 85: /* distinct ::= ALL */
 #line 512 "parse.y"
-{yymsp[0].minor.yy322 = SF_All;}
-#line 2684 "parse.c"
+{yymsp[0].minor.yy52 = SF_All;}
+#line 2672 "parse.c"
         break;
       case 87: /* sclp ::= */
       case 113: /* orderby_opt ::= */ yytestcase(yyruleno==113);
@@ -2689,25 +2677,25 @@ static void yy_reduce(
       case 199: /* paren_exprlist ::= */ yytestcase(yyruleno==199);
       case 204: /* eidlist_opt ::= */ yytestcase(yyruleno==204);
 #line 525 "parse.y"
-{yymsp[1].minor.yy272 = 0;}
-#line 2694 "parse.c"
+{yymsp[1].minor.yy382 = 0;}
+#line 2682 "parse.c"
         break;
       case 88: /* selcollist ::= sclp expr as */
 #line 526 "parse.y"
 {
-   yymsp[-2].minor.yy272 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy272, yymsp[-1].minor.yy200.pExpr);
-   if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-2].minor.yy272, &yymsp[0].minor.yy0, 1);
-   sqlite3ExprListSetSpan(pParse,yymsp[-2].minor.yy272,&yymsp[-1].minor.yy200);
+   yymsp[-2].minor.yy382 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy382, yymsp[-1].minor.yy162.pExpr);
+   if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-2].minor.yy382, &yymsp[0].minor.yy0, 1);
+   sqlite3ExprListSetSpan(pParse,yymsp[-2].minor.yy382,&yymsp[-1].minor.yy162);
 }
-#line 2703 "parse.c"
+#line 2691 "parse.c"
         break;
       case 89: /* selcollist ::= sclp STAR */
 #line 531 "parse.y"
 {
   Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0);
-  yymsp[-1].minor.yy272 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy272, p);
+  yymsp[-1].minor.yy382 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy382, p);
 }
-#line 2711 "parse.c"
+#line 2699 "parse.c"
         break;
       case 90: /* selcollist ::= sclp nm DOT STAR */
 #line 535 "parse.y"
@@ -2715,122 +2703,122 @@ static void yy_reduce(
   Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0);
   Expr *pLeft = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1);
   Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight);
-  yymsp[-3].minor.yy272 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy272, pDot);
+  yymsp[-3].minor.yy382 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy382, pDot);
 }
-#line 2721 "parse.c"
+#line 2709 "parse.c"
         break;
       case 91: /* as ::= AS nm */
       case 217: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==217);
       case 218: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==218);
 #line 546 "parse.y"
 {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;}
-#line 2728 "parse.c"
+#line 2716 "parse.c"
         break;
       case 93: /* from ::= */
 #line 560 "parse.y"
-{yymsp[1].minor.yy73 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy73));}
-#line 2733 "parse.c"
+{yymsp[1].minor.yy387 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy387));}
+#line 2721 "parse.c"
         break;
       case 94: /* from ::= FROM seltablist */
 #line 561 "parse.y"
 {
-  yymsp[-1].minor.yy73 = yymsp[0].minor.yy73;
-  sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy73);
+  yymsp[-1].minor.yy387 = yymsp[0].minor.yy387;
+  sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy387);
 }
-#line 2741 "parse.c"
+#line 2729 "parse.c"
         break;
       case 95: /* stl_prefix ::= seltablist joinop */
 #line 569 "parse.y"
 {
-   if( ALWAYS(yymsp[-1].minor.yy73 && yymsp[-1].minor.yy73->nSrc>0) ) yymsp[-1].minor.yy73->a[yymsp[-1].minor.yy73->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy322;
+   if( ALWAYS(yymsp[-1].minor.yy387 && yymsp[-1].minor.yy387->nSrc>0) ) yymsp[-1].minor.yy387->a[yymsp[-1].minor.yy387->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy52;
 }
-#line 2748 "parse.c"
+#line 2736 "parse.c"
         break;
       case 96: /* stl_prefix ::= */
 #line 572 "parse.y"
-{yymsp[1].minor.yy73 = 0;}
-#line 2753 "parse.c"
+{yymsp[1].minor.yy387 = 0;}
+#line 2741 "parse.c"
         break;
       case 97: /* seltablist ::= stl_prefix nm as indexed_opt on_opt using_opt */
 #line 574 "parse.y"
 {
-  yymsp[-5].minor.yy73 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-5].minor.yy73,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy294,yymsp[0].minor.yy436);
-  sqlite3SrcListIndexedBy(pParse, yymsp[-5].minor.yy73, &yymsp[-2].minor.yy0);
+  yymsp[-5].minor.yy387 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-5].minor.yy387,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy362,yymsp[0].minor.yy40);
+  sqlite3SrcListIndexedBy(pParse, yymsp[-5].minor.yy387, &yymsp[-2].minor.yy0);
 }
-#line 2761 "parse.c"
+#line 2749 "parse.c"
         break;
       case 98: /* seltablist ::= stl_prefix nm LP exprlist RP as on_opt using_opt */
 #line 579 "parse.y"
 {
-  yymsp[-7].minor.yy73 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-7].minor.yy73,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy294,yymsp[0].minor.yy436);
-  sqlite3SrcListFuncArgs(pParse, yymsp[-7].minor.yy73, yymsp[-4].minor.yy272);
+  yymsp[-7].minor.yy387 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-7].minor.yy387,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy362,yymsp[0].minor.yy40);
+  sqlite3SrcListFuncArgs(pParse, yymsp[-7].minor.yy387, yymsp[-4].minor.yy382);
 }
-#line 2769 "parse.c"
+#line 2757 "parse.c"
         break;
       case 99: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */
 #line 585 "parse.y"
 {
-    yymsp[-6].minor.yy73 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy73,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy309,yymsp[-1].minor.yy294,yymsp[0].minor.yy436);
+    yymsp[-6].minor.yy387 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy387,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy279,yymsp[-1].minor.yy362,yymsp[0].minor.yy40);
   }
-#line 2776 "parse.c"
+#line 2764 "parse.c"
         break;
       case 100: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */
 #line 589 "parse.y"
 {
-    if( yymsp[-6].minor.yy73==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy294==0 && yymsp[0].minor.yy436==0 ){
-      yymsp[-6].minor.yy73 = yymsp[-4].minor.yy73;
-    }else if( yymsp[-4].minor.yy73->nSrc==1 ){
-      yymsp[-6].minor.yy73 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy73,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy294,yymsp[0].minor.yy436);
-      if( yymsp[-6].minor.yy73 ){
-        struct SrcList_item *pNew = &yymsp[-6].minor.yy73->a[yymsp[-6].minor.yy73->nSrc-1];
-        struct SrcList_item *pOld = yymsp[-4].minor.yy73->a;
+    if( yymsp[-6].minor.yy387==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy362==0 && yymsp[0].minor.yy40==0 ){
+      yymsp[-6].minor.yy387 = yymsp[-4].minor.yy387;
+    }else if( yymsp[-4].minor.yy387->nSrc==1 ){
+      yymsp[-6].minor.yy387 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy387,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy362,yymsp[0].minor.yy40);
+      if( yymsp[-6].minor.yy387 ){
+        struct SrcList_item *pNew = &yymsp[-6].minor.yy387->a[yymsp[-6].minor.yy387->nSrc-1];
+        struct SrcList_item *pOld = yymsp[-4].minor.yy387->a;
         pNew->zName = pOld->zName;
         pNew->pSelect = pOld->pSelect;
         pOld->zName =  0;
         pOld->pSelect = 0;
       }
-      sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy73);
+      sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy387);
     }else{
       Select *pSubquery;
-      sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy73);
-      pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy73,0,0,0,0,SF_NestedFrom,0,0);
-      yymsp[-6].minor.yy73 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy73,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy294,yymsp[0].minor.yy436);
+      sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy387);
+      pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy387,0,0,0,0,SF_NestedFrom,0,0);
+      yymsp[-6].minor.yy387 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy387,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy362,yymsp[0].minor.yy40);
     }
   }
-#line 2801 "parse.c"
+#line 2789 "parse.c"
         break;
       case 101: /* fullname ::= nm */
 #line 615 "parse.y"
-{yymsp[0].minor.yy73 = sqlite3SrcListAppend(pParse->db,0,&yymsp[0].minor.yy0); /*A-overwrites-X*/}
-#line 2806 "parse.c"
+{yymsp[0].minor.yy387 = sqlite3SrcListAppend(pParse->db,0,&yymsp[0].minor.yy0); /*A-overwrites-X*/}
+#line 2794 "parse.c"
         break;
       case 102: /* joinop ::= COMMA|JOIN */
 #line 621 "parse.y"
-{ yymsp[0].minor.yy322 = JT_INNER; }
-#line 2811 "parse.c"
+{ yymsp[0].minor.yy52 = JT_INNER; }
+#line 2799 "parse.c"
         break;
       case 103: /* joinop ::= JOIN_KW JOIN */
 #line 623 "parse.y"
-{yymsp[-1].minor.yy322 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0);  /*X-overwrites-A*/}
-#line 2816 "parse.c"
+{yymsp[-1].minor.yy52 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0);  /*X-overwrites-A*/}
+#line 2804 "parse.c"
         break;
       case 104: /* joinop ::= JOIN_KW join_nm JOIN */
 #line 625 "parse.y"
-{yymsp[-2].minor.yy322 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/}
-#line 2821 "parse.c"
+{yymsp[-2].minor.yy52 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/}
+#line 2809 "parse.c"
         break;
       case 105: /* joinop ::= JOIN_KW join_nm join_nm JOIN */
 #line 627 "parse.y"
-{yymsp[-3].minor.yy322 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/}
-#line 2826 "parse.c"
+{yymsp[-3].minor.yy52 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/}
+#line 2814 "parse.c"
         break;
       case 106: /* on_opt ::= ON expr */
       case 123: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==123);
       case 130: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==130);
       case 192: /* case_else ::= ELSE expr */ yytestcase(yyruleno==192);
 #line 631 "parse.y"
-{yymsp[-1].minor.yy294 = yymsp[0].minor.yy200.pExpr;}
-#line 2834 "parse.c"
+{yymsp[-1].minor.yy362 = yymsp[0].minor.yy162.pExpr;}
+#line 2822 "parse.c"
         break;
       case 107: /* on_opt ::= */
       case 122: /* having_opt ::= */ yytestcase(yyruleno==122);
@@ -2838,313 +2826,313 @@ static void yy_reduce(
       case 193: /* case_else ::= */ yytestcase(yyruleno==193);
       case 195: /* case_operand ::= */ yytestcase(yyruleno==195);
 #line 632 "parse.y"
-{yymsp[1].minor.yy294 = 0;}
-#line 2843 "parse.c"
+{yymsp[1].minor.yy362 = 0;}
+#line 2831 "parse.c"
         break;
       case 108: /* indexed_opt ::= */
 #line 645 "parse.y"
 {yymsp[1].minor.yy0.z=0; yymsp[1].minor.yy0.n=0;}
-#line 2848 "parse.c"
+#line 2836 "parse.c"
         break;
       case 109: /* indexed_opt ::= INDEXED BY nm */
 #line 646 "parse.y"
 {yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;}
-#line 2853 "parse.c"
+#line 2841 "parse.c"
         break;
       case 110: /* indexed_opt ::= NOT INDEXED */
 #line 647 "parse.y"
 {yymsp[-1].minor.yy0.z=0; yymsp[-1].minor.yy0.n=1;}
-#line 2858 "parse.c"
+#line 2846 "parse.c"
         break;
       case 111: /* using_opt ::= USING LP idlist RP */
 #line 651 "parse.y"
-{yymsp[-3].minor.yy436 = yymsp[-1].minor.yy436;}
-#line 2863 "parse.c"
+{yymsp[-3].minor.yy40 = yymsp[-1].minor.yy40;}
+#line 2851 "parse.c"
         break;
       case 112: /* using_opt ::= */
       case 140: /* idlist_opt ::= */ yytestcase(yyruleno==140);
 #line 652 "parse.y"
-{yymsp[1].minor.yy436 = 0;}
-#line 2869 "parse.c"
+{yymsp[1].minor.yy40 = 0;}
+#line 2857 "parse.c"
         break;
       case 114: /* orderby_opt ::= ORDER BY sortlist */
       case 121: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==121);
 #line 666 "parse.y"
-{yymsp[-2].minor.yy272 = yymsp[0].minor.yy272;}
-#line 2875 "parse.c"
+{yymsp[-2].minor.yy382 = yymsp[0].minor.yy382;}
+#line 2863 "parse.c"
         break;
       case 115: /* sortlist ::= sortlist COMMA expr sortorder */
 #line 667 "parse.y"
 {
-  yymsp[-3].minor.yy272 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy272,yymsp[-1].minor.yy200.pExpr);
-  sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy272,yymsp[0].minor.yy322);
+  yymsp[-3].minor.yy382 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy382,yymsp[-1].minor.yy162.pExpr);
+  sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy382,yymsp[0].minor.yy52);
 }
-#line 2883 "parse.c"
+#line 2871 "parse.c"
         break;
       case 116: /* sortlist ::= expr sortorder */
 #line 671 "parse.y"
 {
-  yymsp[-1].minor.yy272 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy200.pExpr); /*A-overwrites-Y*/
-  sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy272,yymsp[0].minor.yy322);
+  yymsp[-1].minor.yy382 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy162.pExpr); /*A-overwrites-Y*/
+  sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy382,yymsp[0].minor.yy52);
 }
-#line 2891 "parse.c"
+#line 2879 "parse.c"
         break;
       case 117: /* sortorder ::= ASC */
 #line 678 "parse.y"
-{yymsp[0].minor.yy322 = SQLITE_SO_ASC;}
-#line 2896 "parse.c"
+{yymsp[0].minor.yy52 = SQLITE_SO_ASC;}
+#line 2884 "parse.c"
         break;
       case 118: /* sortorder ::= DESC */
 #line 679 "parse.y"
-{yymsp[0].minor.yy322 = SQLITE_SO_DESC;}
-#line 2901 "parse.c"
+{yymsp[0].minor.yy52 = SQLITE_SO_DESC;}
+#line 2889 "parse.c"
         break;
       case 119: /* sortorder ::= */
 #line 680 "parse.y"
-{yymsp[1].minor.yy322 = SQLITE_SO_UNDEFINED;}
-#line 2906 "parse.c"
+{yymsp[1].minor.yy52 = SQLITE_SO_UNDEFINED;}
+#line 2894 "parse.c"
         break;
       case 124: /* limit_opt ::= */
 #line 705 "parse.y"
-{yymsp[1].minor.yy400.pLimit = 0; yymsp[1].minor.yy400.pOffset = 0;}
-#line 2911 "parse.c"
+{yymsp[1].minor.yy384.pLimit = 0; yymsp[1].minor.yy384.pOffset = 0;}
+#line 2899 "parse.c"
         break;
       case 125: /* limit_opt ::= LIMIT expr */
 #line 706 "parse.y"
-{yymsp[-1].minor.yy400.pLimit = yymsp[0].minor.yy200.pExpr; yymsp[-1].minor.yy400.pOffset = 0;}
-#line 2916 "parse.c"
+{yymsp[-1].minor.yy384.pLimit = yymsp[0].minor.yy162.pExpr; yymsp[-1].minor.yy384.pOffset = 0;}
+#line 2904 "parse.c"
         break;
       case 126: /* limit_opt ::= LIMIT expr OFFSET expr */
 #line 708 "parse.y"
-{yymsp[-3].minor.yy400.pLimit = yymsp[-2].minor.yy200.pExpr; yymsp[-3].minor.yy400.pOffset = yymsp[0].minor.yy200.pExpr;}
-#line 2921 "parse.c"
+{yymsp[-3].minor.yy384.pLimit = yymsp[-2].minor.yy162.pExpr; yymsp[-3].minor.yy384.pOffset = yymsp[0].minor.yy162.pExpr;}
+#line 2909 "parse.c"
         break;
       case 127: /* limit_opt ::= LIMIT expr COMMA expr */
 #line 710 "parse.y"
-{yymsp[-3].minor.yy400.pOffset = yymsp[-2].minor.yy200.pExpr; yymsp[-3].minor.yy400.pLimit = yymsp[0].minor.yy200.pExpr;}
-#line 2926 "parse.c"
+{yymsp[-3].minor.yy384.pOffset = yymsp[-2].minor.yy162.pExpr; yymsp[-3].minor.yy384.pLimit = yymsp[0].minor.yy162.pExpr;}
+#line 2914 "parse.c"
         break;
       case 128: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt */
 #line 727 "parse.y"
 {
-  sqlite3WithPush(pParse, yymsp[-5].minor.yy445, 1);
-  sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy73, &yymsp[-1].minor.yy0);
+  sqlite3WithPush(pParse, yymsp[-5].minor.yy151, 1);
+  sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy387, &yymsp[-1].minor.yy0);
   sqlSubProgramsRemaining = SQL_MAX_COMPILING_TRIGGERS;
   /* Instruct SQL to initate Tarantool's transaction.  */
   pParse->initiateTTrans = true;
-  sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy73,yymsp[0].minor.yy294);
+  sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy387,yymsp[0].minor.yy362);
 }
-#line 2938 "parse.c"
+#line 2926 "parse.c"
         break;
       case 131: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */
 #line 760 "parse.y"
 {
-  sqlite3WithPush(pParse, yymsp[-7].minor.yy445, 1);
-  sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy73, &yymsp[-3].minor.yy0);
-  sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy272,"set list"); 
+  sqlite3WithPush(pParse, yymsp[-7].minor.yy151, 1);
+  sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy387, &yymsp[-3].minor.yy0);
+  sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy382,"set list"); 
   sqlSubProgramsRemaining = SQL_MAX_COMPILING_TRIGGERS;
   /* Instruct SQL to initate Tarantool's transaction.  */
   pParse->initiateTTrans = true;
-  sqlite3Update(pParse,yymsp[-4].minor.yy73,yymsp[-1].minor.yy272,yymsp[0].minor.yy294,yymsp[-5].minor.yy322);
+  sqlite3Update(pParse,yymsp[-4].minor.yy387,yymsp[-1].minor.yy382,yymsp[0].minor.yy362,yymsp[-5].minor.yy52);
 }
-#line 2951 "parse.c"
+#line 2939 "parse.c"
         break;
       case 132: /* setlist ::= setlist COMMA nm EQ expr */
 #line 774 "parse.y"
 {
-  yymsp[-4].minor.yy272 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy272, yymsp[0].minor.yy200.pExpr);
-  sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy272, &yymsp[-2].minor.yy0, 1);
+  yymsp[-4].minor.yy382 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy382, yymsp[0].minor.yy162.pExpr);
+  sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy382, &yymsp[-2].minor.yy0, 1);
 }
-#line 2959 "parse.c"
+#line 2947 "parse.c"
         break;
       case 133: /* setlist ::= setlist COMMA LP idlist RP EQ expr */
 #line 778 "parse.y"
 {
-  yymsp[-6].minor.yy272 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy272, yymsp[-3].minor.yy436, yymsp[0].minor.yy200.pExpr);
+  yymsp[-6].minor.yy382 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy382, yymsp[-3].minor.yy40, yymsp[0].minor.yy162.pExpr);
 }
-#line 2966 "parse.c"
+#line 2954 "parse.c"
         break;
       case 134: /* setlist ::= nm EQ expr */
 #line 781 "parse.y"
 {
-  yylhsminor.yy272 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy200.pExpr);
-  sqlite3ExprListSetName(pParse, yylhsminor.yy272, &yymsp[-2].minor.yy0, 1);
+  yylhsminor.yy382 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy162.pExpr);
+  sqlite3ExprListSetName(pParse, yylhsminor.yy382, &yymsp[-2].minor.yy0, 1);
 }
-#line 2974 "parse.c"
-  yymsp[-2].minor.yy272 = yylhsminor.yy272;
+#line 2962 "parse.c"
+  yymsp[-2].minor.yy382 = yylhsminor.yy382;
         break;
       case 135: /* setlist ::= LP idlist RP EQ expr */
 #line 785 "parse.y"
 {
-  yymsp[-4].minor.yy272 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy436, yymsp[0].minor.yy200.pExpr);
+  yymsp[-4].minor.yy382 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy40, yymsp[0].minor.yy162.pExpr);
 }
-#line 2982 "parse.c"
+#line 2970 "parse.c"
         break;
       case 136: /* cmd ::= with insert_cmd INTO fullname idlist_opt select */
 #line 791 "parse.y"
 {
-  sqlite3WithPush(pParse, yymsp[-5].minor.yy445, 1);
+  sqlite3WithPush(pParse, yymsp[-5].minor.yy151, 1);
   sqlSubProgramsRemaining = SQL_MAX_COMPILING_TRIGGERS;
   /* Instruct SQL to initate Tarantool's transaction.  */
   pParse->initiateTTrans = true;
-  sqlite3Insert(pParse, yymsp[-2].minor.yy73, yymsp[0].minor.yy309, yymsp[-1].minor.yy436, yymsp[-4].minor.yy322);
+  sqlite3Insert(pParse, yymsp[-2].minor.yy387, yymsp[0].minor.yy279, yymsp[-1].minor.yy40, yymsp[-4].minor.yy52);
 }
-#line 2993 "parse.c"
+#line 2981 "parse.c"
         break;
       case 137: /* cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */
 #line 799 "parse.y"
 {
-  sqlite3WithPush(pParse, yymsp[-6].minor.yy445, 1);
+  sqlite3WithPush(pParse, yymsp[-6].minor.yy151, 1);
   sqlSubProgramsRemaining = SQL_MAX_COMPILING_TRIGGERS;
   /* Instruct SQL to initate Tarantool's transaction.  */
   pParse->initiateTTrans = true;
-  sqlite3Insert(pParse, yymsp[-3].minor.yy73, 0, yymsp[-2].minor.yy436, yymsp[-5].minor.yy322);
+  sqlite3Insert(pParse, yymsp[-3].minor.yy387, 0, yymsp[-2].minor.yy40, yymsp[-5].minor.yy52);
 }
-#line 3004 "parse.c"
+#line 2992 "parse.c"
         break;
       case 141: /* idlist_opt ::= LP idlist RP */
 #line 817 "parse.y"
-{yymsp[-2].minor.yy436 = yymsp[-1].minor.yy436;}
-#line 3009 "parse.c"
+{yymsp[-2].minor.yy40 = yymsp[-1].minor.yy40;}
+#line 2997 "parse.c"
         break;
       case 142: /* idlist ::= idlist COMMA nm */
 #line 819 "parse.y"
-{yymsp[-2].minor.yy436 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy436,&yymsp[0].minor.yy0);}
-#line 3014 "parse.c"
+{yymsp[-2].minor.yy40 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy40,&yymsp[0].minor.yy0);}
+#line 3002 "parse.c"
         break;
       case 143: /* idlist ::= nm */
 #line 821 "parse.y"
-{yymsp[0].minor.yy436 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/}
-#line 3019 "parse.c"
+{yymsp[0].minor.yy40 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/}
+#line 3007 "parse.c"
         break;
       case 144: /* expr ::= LP expr RP */
 #line 870 "parse.y"
-{spanSet(&yymsp[-2].minor.yy200,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/  yymsp[-2].minor.yy200.pExpr = yymsp[-1].minor.yy200.pExpr;}
-#line 3024 "parse.c"
+{spanSet(&yymsp[-2].minor.yy162,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/  yymsp[-2].minor.yy162.pExpr = yymsp[-1].minor.yy162.pExpr;}
+#line 3012 "parse.c"
         break;
       case 145: /* term ::= NULL */
       case 149: /* term ::= FLOAT|BLOB */ yytestcase(yyruleno==149);
       case 150: /* term ::= STRING */ yytestcase(yyruleno==150);
 #line 871 "parse.y"
-{spanExpr(&yymsp[0].minor.yy200,pParse,yymsp[0].major,yymsp[0].minor.yy0);/*A-overwrites-X*/}
-#line 3031 "parse.c"
+{spanExpr(&yymsp[0].minor.yy162,pParse,yymsp[0].major,yymsp[0].minor.yy0);/*A-overwrites-X*/}
+#line 3019 "parse.c"
         break;
       case 146: /* expr ::= ID|INDEXED */
       case 147: /* expr ::= JOIN_KW */ yytestcase(yyruleno==147);
 #line 872 "parse.y"
-{spanExpr(&yymsp[0].minor.yy200,pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/}
-#line 3037 "parse.c"
+{spanExpr(&yymsp[0].minor.yy162,pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/}
+#line 3025 "parse.c"
         break;
       case 148: /* expr ::= nm DOT nm */
 #line 874 "parse.y"
 {
   Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1);
   Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1);
-  spanSet(&yymsp[-2].minor.yy200,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/
-  yymsp[-2].minor.yy200.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2);
+  spanSet(&yymsp[-2].minor.yy162,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/
+  yymsp[-2].minor.yy162.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2);
 }
-#line 3047 "parse.c"
+#line 3035 "parse.c"
         break;
       case 151: /* term ::= INTEGER */
 #line 882 "parse.y"
 {
-  yylhsminor.yy200.pExpr = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1);
-  yylhsminor.yy200.zStart = yymsp[0].minor.yy0.z;
-  yylhsminor.yy200.zEnd = yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n;
-  if( yylhsminor.yy200.pExpr ) yylhsminor.yy200.pExpr->flags |= EP_Leaf;
+  yylhsminor.yy162.pExpr = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1);
+  yylhsminor.yy162.zStart = yymsp[0].minor.yy0.z;
+  yylhsminor.yy162.zEnd = yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n;
+  if( yylhsminor.yy162.pExpr ) yylhsminor.yy162.pExpr->flags |= EP_Leaf;
 }
-#line 3057 "parse.c"
-  yymsp[0].minor.yy200 = yylhsminor.yy200;
+#line 3045 "parse.c"
+  yymsp[0].minor.yy162 = yylhsminor.yy162;
         break;
       case 152: /* expr ::= VARIABLE */
 #line 888 "parse.y"
 {
   if( !(yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1])) ){
     u32 n = yymsp[0].minor.yy0.n;
-    spanExpr(&yymsp[0].minor.yy200, pParse, TK_VARIABLE, yymsp[0].minor.yy0);
-    sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy200.pExpr, n);
+    spanExpr(&yymsp[0].minor.yy162, pParse, TK_VARIABLE, yymsp[0].minor.yy0);
+    sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy162.pExpr, n);
   }else{
     /* When doing a nested parse, one can include terms in an expression
     ** that look like this:   #1 #2 ...  These terms refer to registers
     ** in the virtual machine.  #N is the N-th register. */
     Token t = yymsp[0].minor.yy0; /*A-overwrites-X*/
     assert( t.n>=2 );
-    spanSet(&yymsp[0].minor.yy200, &t, &t);
+    spanSet(&yymsp[0].minor.yy162, &t, &t);
     if( pParse->nested==0 ){
       sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &t);
-      yymsp[0].minor.yy200.pExpr = 0;
+      yymsp[0].minor.yy162.pExpr = 0;
     }else{
-      yymsp[0].minor.yy200.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0);
-      if( yymsp[0].minor.yy200.pExpr ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy200.pExpr->iTable);
+      yymsp[0].minor.yy162.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0);
+      if( yymsp[0].minor.yy162.pExpr ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy162.pExpr->iTable);
     }
   }
 }
-#line 3083 "parse.c"
+#line 3071 "parse.c"
         break;
       case 153: /* expr ::= expr COLLATE ID|INDEXED */
 #line 909 "parse.y"
 {
-  yymsp[-2].minor.yy200.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy200.pExpr, &yymsp[0].minor.yy0, 1);
-  yymsp[-2].minor.yy200.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
+  yymsp[-2].minor.yy162.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy162.pExpr, &yymsp[0].minor.yy0, 1);
+  yymsp[-2].minor.yy162.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
 }
-#line 3091 "parse.c"
+#line 3079 "parse.c"
         break;
       case 154: /* expr ::= CAST LP expr AS typetoken RP */
 #line 914 "parse.y"
 {
-  spanSet(&yymsp[-5].minor.yy200,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/
-  yymsp[-5].minor.yy200.pExpr = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1);
-  sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy200.pExpr, yymsp[-3].minor.yy200.pExpr, 0);
+  spanSet(&yymsp[-5].minor.yy162,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/
+  yymsp[-5].minor.yy162.pExpr = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1);
+  sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy162.pExpr, yymsp[-3].minor.yy162.pExpr, 0);
 }
-#line 3100 "parse.c"
+#line 3088 "parse.c"
         break;
       case 155: /* expr ::= ID|INDEXED LP distinct exprlist RP */
 #line 920 "parse.y"
 {
-  if( yymsp[-1].minor.yy272 && yymsp[-1].minor.yy272->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){
+  if( yymsp[-1].minor.yy382 && yymsp[-1].minor.yy382->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){
     sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0);
   }
-  yylhsminor.yy200.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy272, &yymsp[-4].minor.yy0);
-  spanSet(&yylhsminor.yy200,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0);
-  if( yymsp[-2].minor.yy322==SF_Distinct && yylhsminor.yy200.pExpr ){
-    yylhsminor.yy200.pExpr->flags |= EP_Distinct;
+  yylhsminor.yy162.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy382, &yymsp[-4].minor.yy0);
+  spanSet(&yylhsminor.yy162,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0);
+  if( yymsp[-2].minor.yy52==SF_Distinct && yylhsminor.yy162.pExpr ){
+    yylhsminor.yy162.pExpr->flags |= EP_Distinct;
   }
 }
-#line 3114 "parse.c"
-  yymsp[-4].minor.yy200 = yylhsminor.yy200;
+#line 3102 "parse.c"
+  yymsp[-4].minor.yy162 = yylhsminor.yy162;
         break;
       case 156: /* expr ::= ID|INDEXED LP STAR RP */
 #line 930 "parse.y"
 {
-  yylhsminor.yy200.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0);
-  spanSet(&yylhsminor.yy200,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);
+  yylhsminor.yy162.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0);
+  spanSet(&yylhsminor.yy162,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);
 }
-#line 3123 "parse.c"
-  yymsp[-3].minor.yy200 = yylhsminor.yy200;
+#line 3111 "parse.c"
+  yymsp[-3].minor.yy162 = yylhsminor.yy162;
         break;
       case 157: /* term ::= CTIME_KW */
 #line 934 "parse.y"
 {
-  yylhsminor.yy200.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0);
-  spanSet(&yylhsminor.yy200, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0);
+  yylhsminor.yy162.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0);
+  spanSet(&yylhsminor.yy162, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0);
 }
-#line 3132 "parse.c"
-  yymsp[0].minor.yy200 = yylhsminor.yy200;
+#line 3120 "parse.c"
+  yymsp[0].minor.yy162 = yylhsminor.yy162;
         break;
       case 158: /* expr ::= LP nexprlist COMMA expr RP */
 #line 963 "parse.y"
 {
-  ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy272, yymsp[-1].minor.yy200.pExpr);
-  yylhsminor.yy200.pExpr = sqlite3PExpr(pParse, TK_VECTOR, 0, 0);
-  if( yylhsminor.yy200.pExpr ){
-    yylhsminor.yy200.pExpr->x.pList = pList;
-    spanSet(&yylhsminor.yy200, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0);
+  ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy382, yymsp[-1].minor.yy162.pExpr);
+  yylhsminor.yy162.pExpr = sqlite3PExpr(pParse, TK_VECTOR, 0, 0);
+  if( yylhsminor.yy162.pExpr ){
+    yylhsminor.yy162.pExpr->x.pList = pList;
+    spanSet(&yylhsminor.yy162, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0);
   }else{
     sqlite3ExprListDelete(pParse->db, pList);
   }
 }
-#line 3147 "parse.c"
-  yymsp[-4].minor.yy200 = yylhsminor.yy200;
+#line 3135 "parse.c"
+  yymsp[-4].minor.yy162 = yylhsminor.yy162;
         break;
       case 159: /* expr ::= expr AND expr */
       case 160: /* expr ::= expr OR expr */ yytestcase(yyruleno==160);
@@ -3155,18 +3143,18 @@ static void yy_reduce(
       case 165: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==165);
       case 166: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==166);
 #line 974 "parse.y"
-{spanBinaryExpr(pParse,yymsp[-1].major,&yymsp[-2].minor.yy200,&yymsp[0].minor.yy200);}
-#line 3160 "parse.c"
+{spanBinaryExpr(pParse,yymsp[-1].major,&yymsp[-2].minor.yy162,&yymsp[0].minor.yy162);}
+#line 3148 "parse.c"
         break;
       case 167: /* likeop ::= LIKE_KW|MATCH */
 #line 987 "parse.y"
 {yymsp[0].minor.yy0=yymsp[0].minor.yy0;/*A-overwrites-X*/}
-#line 3165 "parse.c"
+#line 3153 "parse.c"
         break;
       case 168: /* likeop ::= NOT LIKE_KW|MATCH */
 #line 988 "parse.y"
 {yymsp[-1].minor.yy0=yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n|=0x80000000; /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/}
-#line 3170 "parse.c"
+#line 3158 "parse.c"
         break;
       case 169: /* expr ::= expr likeop expr */
 #line 989 "parse.y"
@@ -3174,14 +3162,14 @@ static void yy_reduce(
   ExprList *pList;
   int bNot = yymsp[-1].minor.yy0.n & 0x80000000;
   yymsp[-1].minor.yy0.n &= 0x7fffffff;
-  pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy200.pExpr);
-  pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy200.pExpr);
-  yymsp[-2].minor.yy200.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0);
-  exprNot(pParse, bNot, &yymsp[-2].minor.yy200);
-  yymsp[-2].minor.yy200.zEnd = yymsp[0].minor.yy200.zEnd;
-  if( yymsp[-2].minor.yy200.pExpr ) yymsp[-2].minor.yy200.pExpr->flags |= EP_InfixFunc;
+  pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy162.pExpr);
+  pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy162.pExpr);
+  yymsp[-2].minor.yy162.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0);
+  exprNot(pParse, bNot, &yymsp[-2].minor.yy162);
+  yymsp[-2].minor.yy162.zEnd = yymsp[0].minor.yy162.zEnd;
+  if( yymsp[-2].minor.yy162.pExpr ) yymsp[-2].minor.yy162.pExpr->flags |= EP_InfixFunc;
 }
-#line 3185 "parse.c"
+#line 3173 "parse.c"
         break;
       case 170: /* expr ::= expr likeop expr ESCAPE expr */
 #line 1000 "parse.y"
@@ -3189,84 +3177,84 @@ static void yy_reduce(
   ExprList *pList;
   int bNot = yymsp[-3].minor.yy0.n & 0x80000000;
   yymsp[-3].minor.yy0.n &= 0x7fffffff;
-  pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy200.pExpr);
-  pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy200.pExpr);
-  pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy200.pExpr);
-  yymsp[-4].minor.yy200.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0);
-  exprNot(pParse, bNot, &yymsp[-4].minor.yy200);
-  yymsp[-4].minor.yy200.zEnd = yymsp[0].minor.yy200.zEnd;
-  if( yymsp[-4].minor.yy200.pExpr ) yymsp[-4].minor.yy200.pExpr->flags |= EP_InfixFunc;
+  pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy162.pExpr);
+  pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy162.pExpr);
+  pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy162.pExpr);
+  yymsp[-4].minor.yy162.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0);
+  exprNot(pParse, bNot, &yymsp[-4].minor.yy162);
+  yymsp[-4].minor.yy162.zEnd = yymsp[0].minor.yy162.zEnd;
+  if( yymsp[-4].minor.yy162.pExpr ) yymsp[-4].minor.yy162.pExpr->flags |= EP_InfixFunc;
 }
-#line 3201 "parse.c"
+#line 3189 "parse.c"
         break;
       case 171: /* expr ::= expr ISNULL|NOTNULL */
 #line 1027 "parse.y"
-{spanUnaryPostfix(pParse,yymsp[0].major,&yymsp[-1].minor.yy200,&yymsp[0].minor.yy0);}
-#line 3206 "parse.c"
+{spanUnaryPostfix(pParse,yymsp[0].major,&yymsp[-1].minor.yy162,&yymsp[0].minor.yy0);}
+#line 3194 "parse.c"
         break;
       case 172: /* expr ::= expr NOT NULL */
 #line 1028 "parse.y"
-{spanUnaryPostfix(pParse,TK_NOTNULL,&yymsp[-2].minor.yy200,&yymsp[0].minor.yy0);}
-#line 3211 "parse.c"
+{spanUnaryPostfix(pParse,TK_NOTNULL,&yymsp[-2].minor.yy162,&yymsp[0].minor.yy0);}
+#line 3199 "parse.c"
         break;
       case 173: /* expr ::= expr IS expr */
 #line 1049 "parse.y"
 {
-  spanBinaryExpr(pParse,TK_IS,&yymsp[-2].minor.yy200,&yymsp[0].minor.yy200);
-  binaryToUnaryIfNull(pParse, yymsp[0].minor.yy200.pExpr, yymsp[-2].minor.yy200.pExpr, TK_ISNULL);
+  spanBinaryExpr(pParse,TK_IS,&yymsp[-2].minor.yy162,&yymsp[0].minor.yy162);
+  binaryToUnaryIfNull(pParse, yymsp[0].minor.yy162.pExpr, yymsp[-2].minor.yy162.pExpr, TK_ISNULL);
 }
-#line 3219 "parse.c"
+#line 3207 "parse.c"
         break;
       case 174: /* expr ::= expr IS NOT expr */
 #line 1053 "parse.y"
 {
-  spanBinaryExpr(pParse,TK_ISNOT,&yymsp[-3].minor.yy200,&yymsp[0].minor.yy200);
-  binaryToUnaryIfNull(pParse, yymsp[0].minor.yy200.pExpr, yymsp[-3].minor.yy200.pExpr, TK_NOTNULL);
+  spanBinaryExpr(pParse,TK_ISNOT,&yymsp[-3].minor.yy162,&yymsp[0].minor.yy162);
+  binaryToUnaryIfNull(pParse, yymsp[0].minor.yy162.pExpr, yymsp[-3].minor.yy162.pExpr, TK_NOTNULL);
 }
-#line 3227 "parse.c"
+#line 3215 "parse.c"
         break;
       case 175: /* expr ::= NOT expr */
       case 176: /* expr ::= BITNOT expr */ yytestcase(yyruleno==176);
 #line 1077 "parse.y"
-{spanUnaryPrefix(&yymsp[-1].minor.yy200,pParse,yymsp[-1].major,&yymsp[0].minor.yy200,&yymsp[-1].minor.yy0);/*A-overwrites-B*/}
-#line 3233 "parse.c"
+{spanUnaryPrefix(&yymsp[-1].minor.yy162,pParse,yymsp[-1].major,&yymsp[0].minor.yy162,&yymsp[-1].minor.yy0);/*A-overwrites-B*/}
+#line 3221 "parse.c"
         break;
       case 177: /* expr ::= MINUS expr */
 #line 1081 "parse.y"
-{spanUnaryPrefix(&yymsp[-1].minor.yy200,pParse,TK_UMINUS,&yymsp[0].minor.yy200,&yymsp[-1].minor.yy0);/*A-overwrites-B*/}
-#line 3238 "parse.c"
+{spanUnaryPrefix(&yymsp[-1].minor.yy162,pParse,TK_UMINUS,&yymsp[0].minor.yy162,&yymsp[-1].minor.yy0);/*A-overwrites-B*/}
+#line 3226 "parse.c"
         break;
       case 178: /* expr ::= PLUS expr */
 #line 1083 "parse.y"
-{spanUnaryPrefix(&yymsp[-1].minor.yy200,pParse,TK_UPLUS,&yymsp[0].minor.yy200,&yymsp[-1].minor.yy0);/*A-overwrites-B*/}
-#line 3243 "parse.c"
+{spanUnaryPrefix(&yymsp[-1].minor.yy162,pParse,TK_UPLUS,&yymsp[0].minor.yy162,&yymsp[-1].minor.yy0);/*A-overwrites-B*/}
+#line 3231 "parse.c"
         break;
       case 179: /* between_op ::= BETWEEN */
       case 182: /* in_op ::= IN */ yytestcase(yyruleno==182);
 #line 1086 "parse.y"
-{yymsp[0].minor.yy322 = 0;}
-#line 3249 "parse.c"
+{yymsp[0].minor.yy52 = 0;}
+#line 3237 "parse.c"
         break;
       case 181: /* expr ::= expr between_op expr AND expr */
 #line 1088 "parse.y"
 {
-  ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy200.pExpr);
-  pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy200.pExpr);
-  yymsp[-4].minor.yy200.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy200.pExpr, 0);
-  if( yymsp[-4].minor.yy200.pExpr ){
-    yymsp[-4].minor.yy200.pExpr->x.pList = pList;
+  ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy162.pExpr);
+  pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy162.pExpr);
+  yymsp[-4].minor.yy162.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy162.pExpr, 0);
+  if( yymsp[-4].minor.yy162.pExpr ){
+    yymsp[-4].minor.yy162.pExpr->x.pList = pList;
   }else{
     sqlite3ExprListDelete(pParse->db, pList);
   } 
-  exprNot(pParse, yymsp[-3].minor.yy322, &yymsp[-4].minor.yy200);
-  yymsp[-4].minor.yy200.zEnd = yymsp[0].minor.yy200.zEnd;
+  exprNot(pParse, yymsp[-3].minor.yy52, &yymsp[-4].minor.yy162);
+  yymsp[-4].minor.yy162.zEnd = yymsp[0].minor.yy162.zEnd;
 }
-#line 3265 "parse.c"
+#line 3253 "parse.c"
         break;
       case 184: /* expr ::= expr in_op LP exprlist RP */
 #line 1104 "parse.y"
 {
-    if( yymsp[-1].minor.yy272==0 ){
+    if( yymsp[-1].minor.yy382==0 ){
       /* Expressions of the form
       **
       **      expr1 IN ()
@@ -3275,9 +3263,9 @@ static void yy_reduce(
       ** simplify to constants 0 (false) and 1 (true), respectively,
       ** regardless of the value of expr1.
       */
-      sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy200.pExpr);
-      yymsp[-4].minor.yy200.pExpr = sqlite3ExprAlloc(pParse->db, TK_INTEGER,&sqlite3IntTokens[yymsp[-3].minor.yy322],1);
-    }else if( yymsp[-1].minor.yy272->nExpr==1 ){
+      sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy162.pExpr);
+      yymsp[-4].minor.yy162.pExpr = sqlite3ExprAlloc(pParse->db, TK_INTEGER,&sqlite3IntTokens[yymsp[-3].minor.yy52],1);
+    }else if( yymsp[-1].minor.yy382->nExpr==1 ){
       /* Expressions of the form:
       **
       **      expr1 IN (?1)
@@ -3294,206 +3282,206 @@ static void yy_reduce(
       ** affinity or the collating sequence to use for comparison.  Otherwise,
       ** the semantics would be subtly different from IN or NOT IN.
       */
-      Expr *pRHS = yymsp[-1].minor.yy272->a[0].pExpr;
-      yymsp[-1].minor.yy272->a[0].pExpr = 0;
-      sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy272);
+      Expr *pRHS = yymsp[-1].minor.yy382->a[0].pExpr;
+      yymsp[-1].minor.yy382->a[0].pExpr = 0;
+      sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy382);
       /* pRHS cannot be NULL because a malloc error would have been detected
       ** before now and control would have never reached this point */
       if( ALWAYS(pRHS) ){
         pRHS->flags &= ~EP_Collate;
         pRHS->flags |= EP_Generic;
       }
-      yymsp[-4].minor.yy200.pExpr = sqlite3PExpr(pParse, yymsp[-3].minor.yy322 ? TK_NE : TK_EQ, yymsp[-4].minor.yy200.pExpr, pRHS);
+      yymsp[-4].minor.yy162.pExpr = sqlite3PExpr(pParse, yymsp[-3].minor.yy52 ? TK_NE : TK_EQ, yymsp[-4].minor.yy162.pExpr, pRHS);
     }else{
-      yymsp[-4].minor.yy200.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy200.pExpr, 0);
-      if( yymsp[-4].minor.yy200.pExpr ){
-        yymsp[-4].minor.yy200.pExpr->x.pList = yymsp[-1].minor.yy272;
-        sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy200.pExpr);
+      yymsp[-4].minor.yy162.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy162.pExpr, 0);
+      if( yymsp[-4].minor.yy162.pExpr ){
+        yymsp[-4].minor.yy162.pExpr->x.pList = yymsp[-1].minor.yy382;
+        sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy162.pExpr);
       }else{
-        sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy272);
+        sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy382);
       }
-      exprNot(pParse, yymsp[-3].minor.yy322, &yymsp[-4].minor.yy200);
+      exprNot(pParse, yymsp[-3].minor.yy52, &yymsp[-4].minor.yy162);
     }
-    yymsp[-4].minor.yy200.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
+    yymsp[-4].minor.yy162.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
   }
-#line 3320 "parse.c"
+#line 3308 "parse.c"
         break;
       case 185: /* expr ::= LP select RP */
 #line 1155 "parse.y"
 {
-    spanSet(&yymsp[-2].minor.yy200,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/
-    yymsp[-2].minor.yy200.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0);
-    sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy200.pExpr, yymsp[-1].minor.yy309);
+    spanSet(&yymsp[-2].minor.yy162,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/
+    yymsp[-2].minor.yy162.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0);
+    sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy162.pExpr, yymsp[-1].minor.yy279);
   }
-#line 3329 "parse.c"
+#line 3317 "parse.c"
         break;
       case 186: /* expr ::= expr in_op LP select RP */
 #line 1160 "parse.y"
 {
-    yymsp[-4].minor.yy200.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy200.pExpr, 0);
-    sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy200.pExpr, yymsp[-1].minor.yy309);
-    exprNot(pParse, yymsp[-3].minor.yy322, &yymsp[-4].minor.yy200);
-    yymsp[-4].minor.yy200.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
+    yymsp[-4].minor.yy162.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy162.pExpr, 0);
+    sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy162.pExpr, yymsp[-1].minor.yy279);
+    exprNot(pParse, yymsp[-3].minor.yy52, &yymsp[-4].minor.yy162);
+    yymsp[-4].minor.yy162.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
   }
-#line 3339 "parse.c"
+#line 3327 "parse.c"
         break;
       case 187: /* expr ::= expr in_op nm paren_exprlist */
 #line 1166 "parse.y"
 {
     SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0);
     Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0);
-    if( yymsp[0].minor.yy272 )  sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy272);
-    yymsp[-3].minor.yy200.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy200.pExpr, 0);
-    sqlite3PExprAddSelect(pParse, yymsp[-3].minor.yy200.pExpr, pSelect);
-    exprNot(pParse, yymsp[-2].minor.yy322, &yymsp[-3].minor.yy200);
-    yymsp[-3].minor.yy200.zEnd = &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n];
+    if( yymsp[0].minor.yy382 )  sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy382);
+    yymsp[-3].minor.yy162.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy162.pExpr, 0);
+    sqlite3PExprAddSelect(pParse, yymsp[-3].minor.yy162.pExpr, pSelect);
+    exprNot(pParse, yymsp[-2].minor.yy52, &yymsp[-3].minor.yy162);
+    yymsp[-3].minor.yy162.zEnd = &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n];
   }
-#line 3352 "parse.c"
+#line 3340 "parse.c"
         break;
       case 188: /* expr ::= EXISTS LP select RP */
 #line 1175 "parse.y"
 {
     Expr *p;
-    spanSet(&yymsp[-3].minor.yy200,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/
-    p = yymsp[-3].minor.yy200.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0);
-    sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy309);
+    spanSet(&yymsp[-3].minor.yy162,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/
+    p = yymsp[-3].minor.yy162.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0);
+    sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy279);
   }
-#line 3362 "parse.c"
+#line 3350 "parse.c"
         break;
       case 189: /* expr ::= CASE case_operand case_exprlist case_else END */
 #line 1184 "parse.y"
 {
-  spanSet(&yymsp[-4].minor.yy200,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0);  /*A-overwrites-C*/
-  yymsp[-4].minor.yy200.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy294, 0);
-  if( yymsp[-4].minor.yy200.pExpr ){
-    yymsp[-4].minor.yy200.pExpr->x.pList = yymsp[-1].minor.yy294 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy272,yymsp[-1].minor.yy294) : yymsp[-2].minor.yy272;
-    sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy200.pExpr);
+  spanSet(&yymsp[-4].minor.yy162,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0);  /*A-overwrites-C*/
+  yymsp[-4].minor.yy162.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy362, 0);
+  if( yymsp[-4].minor.yy162.pExpr ){
+    yymsp[-4].minor.yy162.pExpr->x.pList = yymsp[-1].minor.yy362 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy382,yymsp[-1].minor.yy362) : yymsp[-2].minor.yy382;
+    sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy162.pExpr);
   }else{
-    sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy272);
-    sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy294);
+    sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy382);
+    sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy362);
   }
 }
-#line 3377 "parse.c"
+#line 3365 "parse.c"
         break;
       case 190: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */
 #line 1197 "parse.y"
 {
-  yymsp[-4].minor.yy272 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy272, yymsp[-2].minor.yy200.pExpr);
-  yymsp[-4].minor.yy272 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy272, yymsp[0].minor.yy200.pExpr);
+  yymsp[-4].minor.yy382 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy382, yymsp[-2].minor.yy162.pExpr);
+  yymsp[-4].minor.yy382 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy382, yymsp[0].minor.yy162.pExpr);
 }
-#line 3385 "parse.c"
+#line 3373 "parse.c"
         break;
       case 191: /* case_exprlist ::= WHEN expr THEN expr */
 #line 1201 "parse.y"
 {
-  yymsp[-3].minor.yy272 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy200.pExpr);
-  yymsp[-3].minor.yy272 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy272, yymsp[0].minor.yy200.pExpr);
+  yymsp[-3].minor.yy382 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy162.pExpr);
+  yymsp[-3].minor.yy382 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy382, yymsp[0].minor.yy162.pExpr);
 }
-#line 3393 "parse.c"
+#line 3381 "parse.c"
         break;
       case 194: /* case_operand ::= expr */
 #line 1211 "parse.y"
-{yymsp[0].minor.yy294 = yymsp[0].minor.yy200.pExpr; /*A-overwrites-X*/}
-#line 3398 "parse.c"
+{yymsp[0].minor.yy362 = yymsp[0].minor.yy162.pExpr; /*A-overwrites-X*/}
+#line 3386 "parse.c"
         break;
       case 197: /* nexprlist ::= nexprlist COMMA expr */
 #line 1222 "parse.y"
-{yymsp[-2].minor.yy272 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy272,yymsp[0].minor.yy200.pExpr);}
-#line 3403 "parse.c"
+{yymsp[-2].minor.yy382 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy382,yymsp[0].minor.yy162.pExpr);}
+#line 3391 "parse.c"
         break;
       case 198: /* nexprlist ::= expr */
 #line 1224 "parse.y"
-{yymsp[0].minor.yy272 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy200.pExpr); /*A-overwrites-Y*/}
-#line 3408 "parse.c"
+{yymsp[0].minor.yy382 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy162.pExpr); /*A-overwrites-Y*/}
+#line 3396 "parse.c"
         break;
       case 200: /* paren_exprlist ::= LP exprlist RP */
       case 205: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==205);
 #line 1232 "parse.y"
-{yymsp[-2].minor.yy272 = yymsp[-1].minor.yy272;}
-#line 3414 "parse.c"
+{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 */
 #line 1239 "parse.y"
 {
   sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0, 
-                     sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0), yymsp[-2].minor.yy272, yymsp[-9].minor.yy322,
-                      &yymsp[-10].minor.yy0, yymsp[0].minor.yy294, SQLITE_SO_ASC, yymsp[-7].minor.yy322, SQLITE_IDXTYPE_APPDEF);
+                     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);
 }
-#line 3423 "parse.c"
+#line 3411 "parse.c"
         break;
       case 202: /* uniqueflag ::= UNIQUE */
       case 242: /* raisetype ::= ABORT */ yytestcase(yyruleno==242);
 #line 1246 "parse.y"
-{yymsp[0].minor.yy322 = OE_Abort;}
-#line 3429 "parse.c"
+{yymsp[0].minor.yy52 = OE_Abort;}
+#line 3417 "parse.c"
         break;
       case 203: /* uniqueflag ::= */
 #line 1247 "parse.y"
-{yymsp[1].minor.yy322 = OE_None;}
-#line 3434 "parse.c"
+{yymsp[1].minor.yy52 = OE_None;}
+#line 3422 "parse.c"
         break;
       case 206: /* eidlist ::= eidlist COMMA nm collate sortorder */
 #line 1290 "parse.y"
 {
-  yymsp[-4].minor.yy272 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy272, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy322, yymsp[0].minor.yy322);
+  yymsp[-4].minor.yy382 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy382, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy52, yymsp[0].minor.yy52);
 }
-#line 3441 "parse.c"
+#line 3429 "parse.c"
         break;
       case 207: /* eidlist ::= nm collate sortorder */
 #line 1293 "parse.y"
 {
-  yymsp[-2].minor.yy272 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy322, yymsp[0].minor.yy322); /*A-overwrites-Y*/
+  yymsp[-2].minor.yy382 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy52, yymsp[0].minor.yy52); /*A-overwrites-Y*/
 }
-#line 3448 "parse.c"
+#line 3436 "parse.c"
         break;
       case 210: /* cmd ::= DROP INDEX ifexists fullname ON nm */
 #line 1304 "parse.y"
 {
-    sqlite3DropIndex(pParse, yymsp[-2].minor.yy73, &yymsp[0].minor.yy0, yymsp[-3].minor.yy322);
+    sqlite3DropIndex(pParse, yymsp[-2].minor.yy387, &yymsp[0].minor.yy0, yymsp[-3].minor.yy52);
 }
-#line 3455 "parse.c"
+#line 3443 "parse.c"
         break;
       case 211: /* cmd ::= PRAGMA nm */
 #line 1311 "parse.y"
 {
     sqlite3Pragma(pParse,&yymsp[0].minor.yy0,0,0,0,0);
 }
-#line 3462 "parse.c"
+#line 3450 "parse.c"
         break;
       case 212: /* cmd ::= PRAGMA nm EQ nmnum */
 #line 1314 "parse.y"
 {
     sqlite3Pragma(pParse,&yymsp[-2].minor.yy0,0,&yymsp[0].minor.yy0,0,0);
 }
-#line 3469 "parse.c"
+#line 3457 "parse.c"
         break;
       case 213: /* cmd ::= PRAGMA nm LP nmnum RP */
 #line 1317 "parse.y"
 {
     sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,0,&yymsp[-1].minor.yy0,0,0);
 }
-#line 3476 "parse.c"
+#line 3464 "parse.c"
         break;
       case 214: /* cmd ::= PRAGMA nm EQ minus_num */
 #line 1320 "parse.y"
 {
     sqlite3Pragma(pParse,&yymsp[-2].minor.yy0,0,&yymsp[0].minor.yy0,0,1);
 }
-#line 3483 "parse.c"
+#line 3471 "parse.c"
         break;
       case 215: /* cmd ::= PRAGMA nm LP minus_num RP */
 #line 1323 "parse.y"
 {
     sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,0,&yymsp[-1].minor.yy0,0,1);
 }
-#line 3490 "parse.c"
+#line 3478 "parse.c"
         break;
       case 216: /* cmd ::= PRAGMA nm EQ nm DOT nm */
 #line 1326 "parse.y"
 {
     sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,0,&yymsp[0].minor.yy0,&yymsp[-2].minor.yy0,0);
 }
-#line 3497 "parse.c"
+#line 3485 "parse.c"
         break;
       case 219: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */
 #line 1346 "parse.y"
@@ -3501,75 +3489,75 @@ static void yy_reduce(
   Token all;
   all.z = yymsp[-3].minor.yy0.z;
   all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n;
-  sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy251, &all);
+  sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy427, &all);
 }
-#line 3507 "parse.c"
+#line 3495 "parse.c"
         break;
       case 220: /* trigger_decl ::= TRIGGER ifnotexists nm trigger_time trigger_event ON fullname foreach_clause when_clause */
 #line 1355 "parse.y"
 {
-  sqlite3BeginTrigger(pParse, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy322, yymsp[-4].minor.yy60.a, yymsp[-4].minor.yy60.b, yymsp[-2].minor.yy73, yymsp[0].minor.yy294, yymsp[-7].minor.yy322);
+  sqlite3BeginTrigger(pParse, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy52, yymsp[-4].minor.yy10.a, yymsp[-4].minor.yy10.b, yymsp[-2].minor.yy387, yymsp[0].minor.yy362, yymsp[-7].minor.yy52);
   yymsp[-8].minor.yy0 = yymsp[-6].minor.yy0; /*yymsp[-8].minor.yy0-overwrites-T*/
 }
-#line 3515 "parse.c"
+#line 3503 "parse.c"
         break;
       case 221: /* trigger_time ::= BEFORE */
 #line 1361 "parse.y"
-{ yymsp[0].minor.yy322 = TK_BEFORE; }
-#line 3520 "parse.c"
+{ yymsp[0].minor.yy52 = TK_BEFORE; }
+#line 3508 "parse.c"
         break;
       case 222: /* trigger_time ::= AFTER */
 #line 1362 "parse.y"
-{ yymsp[0].minor.yy322 = TK_AFTER;  }
-#line 3525 "parse.c"
+{ yymsp[0].minor.yy52 = TK_AFTER;  }
+#line 3513 "parse.c"
         break;
       case 223: /* trigger_time ::= INSTEAD OF */
 #line 1363 "parse.y"
-{ yymsp[-1].minor.yy322 = TK_INSTEAD;}
-#line 3530 "parse.c"
+{ yymsp[-1].minor.yy52 = TK_INSTEAD;}
+#line 3518 "parse.c"
         break;
       case 224: /* trigger_time ::= */
 #line 1364 "parse.y"
-{ yymsp[1].minor.yy322 = TK_BEFORE; }
-#line 3535 "parse.c"
+{ yymsp[1].minor.yy52 = TK_BEFORE; }
+#line 3523 "parse.c"
         break;
       case 225: /* trigger_event ::= DELETE|INSERT */
       case 226: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==226);
 #line 1368 "parse.y"
-{yymsp[0].minor.yy60.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy60.b = 0;}
-#line 3541 "parse.c"
+{yymsp[0].minor.yy10.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy10.b = 0;}
+#line 3529 "parse.c"
         break;
       case 227: /* trigger_event ::= UPDATE OF idlist */
 #line 1370 "parse.y"
-{yymsp[-2].minor.yy60.a = TK_UPDATE; yymsp[-2].minor.yy60.b = yymsp[0].minor.yy436;}
-#line 3546 "parse.c"
+{yymsp[-2].minor.yy10.a = TK_UPDATE; yymsp[-2].minor.yy10.b = yymsp[0].minor.yy40;}
+#line 3534 "parse.c"
         break;
       case 228: /* when_clause ::= */
 #line 1377 "parse.y"
-{ yymsp[1].minor.yy294 = 0; }
-#line 3551 "parse.c"
+{ yymsp[1].minor.yy362 = 0; }
+#line 3539 "parse.c"
         break;
       case 229: /* when_clause ::= WHEN expr */
 #line 1378 "parse.y"
-{ yymsp[-1].minor.yy294 = yymsp[0].minor.yy200.pExpr; }
-#line 3556 "parse.c"
+{ yymsp[-1].minor.yy362 = yymsp[0].minor.yy162.pExpr; }
+#line 3544 "parse.c"
         break;
       case 230: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */
 #line 1382 "parse.y"
 {
-  assert( yymsp[-2].minor.yy251!=0 );
-  yymsp[-2].minor.yy251->pLast->pNext = yymsp[-1].minor.yy251;
-  yymsp[-2].minor.yy251->pLast = yymsp[-1].minor.yy251;
+  assert( yymsp[-2].minor.yy427!=0 );
+  yymsp[-2].minor.yy427->pLast->pNext = yymsp[-1].minor.yy427;
+  yymsp[-2].minor.yy427->pLast = yymsp[-1].minor.yy427;
 }
-#line 3565 "parse.c"
+#line 3553 "parse.c"
         break;
       case 231: /* trigger_cmd_list ::= trigger_cmd SEMI */
 #line 1387 "parse.y"
 { 
-  assert( yymsp[-1].minor.yy251!=0 );
-  yymsp[-1].minor.yy251->pLast = yymsp[-1].minor.yy251;
+  assert( yymsp[-1].minor.yy427!=0 );
+  yymsp[-1].minor.yy427->pLast = yymsp[-1].minor.yy427;
 }
-#line 3573 "parse.c"
+#line 3561 "parse.c"
         break;
       case 232: /* trnm ::= nm DOT nm */
 #line 1398 "parse.y"
@@ -3579,7 +3567,7 @@ static void yy_reduce(
         "qualified table names are not allowed on INSERT, UPDATE, and DELETE "
         "statements within triggers");
 }
-#line 3583 "parse.c"
+#line 3571 "parse.c"
         break;
       case 233: /* tridxby ::= INDEXED BY nm */
 #line 1410 "parse.y"
@@ -3588,7 +3576,7 @@ static void yy_reduce(
         "the INDEXED BY clause is not allowed on UPDATE or DELETE statements "
         "within triggers");
 }
-#line 3592 "parse.c"
+#line 3580 "parse.c"
         break;
       case 234: /* tridxby ::= NOT INDEXED */
 #line 1415 "parse.y"
@@ -3597,190 +3585,172 @@ static void yy_reduce(
         "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements "
         "within triggers");
 }
-#line 3601 "parse.c"
+#line 3589 "parse.c"
         break;
       case 235: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */
 #line 1428 "parse.y"
-{yymsp[-6].minor.yy251 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy272, yymsp[0].minor.yy294, yymsp[-5].minor.yy322);}
-#line 3606 "parse.c"
+{yymsp[-6].minor.yy427 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy382, yymsp[0].minor.yy362, yymsp[-5].minor.yy52);}
+#line 3594 "parse.c"
         break;
       case 236: /* trigger_cmd ::= insert_cmd INTO trnm idlist_opt select */
 #line 1432 "parse.y"
-{yymsp[-4].minor.yy251 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy436, yymsp[0].minor.yy309, yymsp[-4].minor.yy322);/*A-overwrites-R*/}
-#line 3611 "parse.c"
+{yymsp[-4].minor.yy427 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy40, yymsp[0].minor.yy279, yymsp[-4].minor.yy52);/*A-overwrites-R*/}
+#line 3599 "parse.c"
         break;
       case 237: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */
 #line 1436 "parse.y"
-{yymsp[-4].minor.yy251 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy294);}
-#line 3616 "parse.c"
+{yymsp[-4].minor.yy427 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy362);}
+#line 3604 "parse.c"
         break;
       case 238: /* trigger_cmd ::= select */
 #line 1440 "parse.y"
-{yymsp[0].minor.yy251 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy309); /*A-overwrites-X*/}
-#line 3621 "parse.c"
+{yymsp[0].minor.yy427 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy279); /*A-overwrites-X*/}
+#line 3609 "parse.c"
         break;
       case 239: /* expr ::= RAISE LP IGNORE RP */
 #line 1443 "parse.y"
 {
-  spanSet(&yymsp[-3].minor.yy200,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);  /*A-overwrites-X*/
-  yymsp[-3].minor.yy200.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0); 
-  if( yymsp[-3].minor.yy200.pExpr ){
-    yymsp[-3].minor.yy200.pExpr->affinity = OE_Ignore;
+  spanSet(&yymsp[-3].minor.yy162,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);  /*A-overwrites-X*/
+  yymsp[-3].minor.yy162.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0); 
+  if( yymsp[-3].minor.yy162.pExpr ){
+    yymsp[-3].minor.yy162.pExpr->affinity = OE_Ignore;
   }
 }
-#line 3632 "parse.c"
+#line 3620 "parse.c"
         break;
       case 240: /* expr ::= RAISE LP raisetype COMMA STRING RP */
 #line 1450 "parse.y"
 {
-  spanSet(&yymsp[-5].minor.yy200,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0);  /*A-overwrites-X*/
-  yymsp[-5].minor.yy200.pExpr = sqlite3ExprAlloc(pParse->db, TK_RAISE, &yymsp[-1].minor.yy0, 1); 
-  if( yymsp[-5].minor.yy200.pExpr ) {
-    yymsp[-5].minor.yy200.pExpr->affinity = (char)yymsp[-3].minor.yy322;
+  spanSet(&yymsp[-5].minor.yy162,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0);  /*A-overwrites-X*/
+  yymsp[-5].minor.yy162.pExpr = sqlite3ExprAlloc(pParse->db, TK_RAISE, &yymsp[-1].minor.yy0, 1); 
+  if( yymsp[-5].minor.yy162.pExpr ) {
+    yymsp[-5].minor.yy162.pExpr->affinity = (char)yymsp[-3].minor.yy52;
   }
 }
-#line 3643 "parse.c"
+#line 3631 "parse.c"
         break;
       case 241: /* raisetype ::= ROLLBACK */
 #line 1460 "parse.y"
-{yymsp[0].minor.yy322 = OE_Rollback;}
-#line 3648 "parse.c"
+{yymsp[0].minor.yy52 = OE_Rollback;}
+#line 3636 "parse.c"
         break;
       case 243: /* raisetype ::= FAIL */
 #line 1462 "parse.y"
-{yymsp[0].minor.yy322 = OE_Fail;}
-#line 3653 "parse.c"
+{yymsp[0].minor.yy52 = OE_Fail;}
+#line 3641 "parse.c"
         break;
       case 244: /* cmd ::= DROP TRIGGER ifexists fullname */
 #line 1467 "parse.y"
 {
-  sqlite3DropTrigger(pParse,yymsp[0].minor.yy73,yymsp[-1].minor.yy322);
+  sqlite3DropTrigger(pParse,yymsp[0].minor.yy387,yymsp[-1].minor.yy52);
 }
-#line 3660 "parse.c"
+#line 3648 "parse.c"
         break;
       case 245: /* cmd ::= REINDEX */
 #line 1474 "parse.y"
 {sqlite3Reindex(pParse, 0, 0);}
-#line 3665 "parse.c"
+#line 3653 "parse.c"
         break;
       case 246: /* cmd ::= REINDEX nm */
 #line 1475 "parse.y"
 {sqlite3Reindex(pParse, &yymsp[0].minor.yy0, 0);}
-#line 3670 "parse.c"
+#line 3658 "parse.c"
         break;
       case 247: /* cmd ::= REINDEX nm ON nm */
 #line 1476 "parse.y"
 {sqlite3Reindex(pParse, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);}
-#line 3675 "parse.c"
+#line 3663 "parse.c"
         break;
       case 248: /* cmd ::= ANALYZE */
 #line 1481 "parse.y"
 {sqlite3Analyze(pParse, 0);}
-#line 3680 "parse.c"
+#line 3668 "parse.c"
         break;
       case 249: /* cmd ::= ANALYZE nm */
 #line 1482 "parse.y"
 {sqlite3Analyze(pParse, &yymsp[0].minor.yy0);}
-#line 3685 "parse.c"
+#line 3673 "parse.c"
         break;
       case 250: /* cmd ::= ALTER TABLE fullname RENAME TO nm */
 #line 1487 "parse.y"
 {
-  sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy73,&yymsp[0].minor.yy0);
-}
-#line 3692 "parse.c"
-        break;
-      case 251: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */
-#line 1491 "parse.y"
-{
-  yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n;
-  sqlite3AlterFinishAddColumn(pParse, &yymsp[-1].minor.yy0);
+  sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy387,&yymsp[0].minor.yy0);
 }
-#line 3700 "parse.c"
-        break;
-      case 252: /* add_column_fullname ::= fullname */
-#line 1495 "parse.y"
-{
-  disableLookaside(pParse);
-  sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy73);
-}
-#line 3708 "parse.c"
-        break;
-      case 253: /* with ::= */
-#line 1509 "parse.y"
-{yymsp[1].minor.yy445 = 0;}
-#line 3713 "parse.c"
+#line 3680 "parse.c"
         break;
-      case 254: /* with ::= WITH wqlist */
-#line 1511 "parse.y"
-{ yymsp[-1].minor.yy445 = yymsp[0].minor.yy445; }
-#line 3718 "parse.c"
+      case 251: /* with ::= */
+#line 1510 "parse.y"
+{yymsp[1].minor.yy151 = 0;}
+#line 3685 "parse.c"
         break;
-      case 255: /* with ::= WITH RECURSIVE wqlist */
+      case 252: /* with ::= WITH wqlist */
 #line 1512 "parse.y"
-{ yymsp[-2].minor.yy445 = yymsp[0].minor.yy445; }
-#line 3723 "parse.c"
+{ yymsp[-1].minor.yy151 = yymsp[0].minor.yy151; }
+#line 3690 "parse.c"
+        break;
+      case 253: /* with ::= WITH RECURSIVE wqlist */
+#line 1513 "parse.y"
+{ yymsp[-2].minor.yy151 = yymsp[0].minor.yy151; }
+#line 3695 "parse.c"
         break;
-      case 256: /* wqlist ::= nm eidlist_opt AS LP select RP */
-#line 1514 "parse.y"
+      case 254: /* wqlist ::= nm eidlist_opt AS LP select RP */
+#line 1515 "parse.y"
 {
-  yymsp[-5].minor.yy445 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy272, yymsp[-1].minor.yy309); /*A-overwrites-X*/
+  yymsp[-5].minor.yy151 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy382, yymsp[-1].minor.yy279); /*A-overwrites-X*/
 }
-#line 3730 "parse.c"
+#line 3702 "parse.c"
         break;
-      case 257: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */
-#line 1517 "parse.y"
+      case 255: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */
+#line 1518 "parse.y"
 {
-  yymsp[-7].minor.yy445 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy445, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy272, yymsp[-1].minor.yy309);
+  yymsp[-7].minor.yy151 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy151, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy382, yymsp[-1].minor.yy279);
 }
-#line 3737 "parse.c"
+#line 3709 "parse.c"
         break;
       default:
-      /* (258) input ::= ecmd */ yytestcase(yyruleno==258);
-      /* (259) explain ::= */ yytestcase(yyruleno==259);
-      /* (260) cmdx ::= cmd (OPTIMIZED OUT) */ assert(yyruleno!=260);
-      /* (261) trans_opt ::= */ yytestcase(yyruleno==261);
-      /* (262) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==262);
-      /* (263) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==263);
-      /* (264) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==264);
-      /* (265) savepoint_opt ::= */ yytestcase(yyruleno==265);
-      /* (266) cmd ::= create_table create_table_args */ yytestcase(yyruleno==266);
-      /* (267) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==267);
-      /* (268) columnlist ::= columnname carglist */ yytestcase(yyruleno==268);
-      /* (269) typetoken ::= typename */ yytestcase(yyruleno==269);
-      /* (270) typename ::= ID|STRING */ yytestcase(yyruleno==270);
-      /* (271) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=271);
-      /* (272) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=272);
-      /* (273) carglist ::= carglist ccons */ yytestcase(yyruleno==273);
-      /* (274) carglist ::= */ yytestcase(yyruleno==274);
-      /* (275) ccons ::= NULL onconf */ yytestcase(yyruleno==275);
-      /* (276) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==276);
-      /* (277) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==277);
-      /* (278) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=278);
-      /* (279) tconscomma ::= */ yytestcase(yyruleno==279);
-      /* (280) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=280);
-      /* (281) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=281);
-      /* (282) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=282);
-      /* (283) oneselect ::= values */ yytestcase(yyruleno==283);
-      /* (284) sclp ::= selcollist COMMA */ yytestcase(yyruleno==284);
-      /* (285) as ::= ID|STRING */ yytestcase(yyruleno==285);
-      /* (286) join_nm ::= ID|INDEXED */ yytestcase(yyruleno==286);
-      /* (287) join_nm ::= JOIN_KW */ yytestcase(yyruleno==287);
-      /* (288) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=288);
-      /* (289) exprlist ::= nexprlist */ yytestcase(yyruleno==289);
-      /* (290) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=290);
-      /* (291) nmnum ::= STRING */ yytestcase(yyruleno==291);
-      /* (292) nmnum ::= nm */ yytestcase(yyruleno==292);
-      /* (293) nmnum ::= ON */ yytestcase(yyruleno==293);
-      /* (294) nmnum ::= DELETE */ yytestcase(yyruleno==294);
-      /* (295) nmnum ::= DEFAULT */ yytestcase(yyruleno==295);
-      /* (296) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==296);
-      /* (297) foreach_clause ::= */ yytestcase(yyruleno==297);
-      /* (298) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==298);
-      /* (299) trnm ::= nm */ yytestcase(yyruleno==299);
-      /* (300) tridxby ::= */ yytestcase(yyruleno==300);
-      /* (301) kwcolumn_opt ::= */ yytestcase(yyruleno==301);
-      /* (302) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==302);
+      /* (256) input ::= ecmd */ yytestcase(yyruleno==256);
+      /* (257) explain ::= */ yytestcase(yyruleno==257);
+      /* (258) cmdx ::= cmd (OPTIMIZED OUT) */ assert(yyruleno!=258);
+      /* (259) trans_opt ::= */ yytestcase(yyruleno==259);
+      /* (260) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==260);
+      /* (261) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==261);
+      /* (262) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==262);
+      /* (263) savepoint_opt ::= */ yytestcase(yyruleno==263);
+      /* (264) cmd ::= create_table create_table_args */ yytestcase(yyruleno==264);
+      /* (265) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==265);
+      /* (266) columnlist ::= columnname carglist */ yytestcase(yyruleno==266);
+      /* (267) typetoken ::= typename */ yytestcase(yyruleno==267);
+      /* (268) typename ::= ID|STRING */ yytestcase(yyruleno==268);
+      /* (269) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=269);
+      /* (270) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=270);
+      /* (271) carglist ::= carglist ccons */ yytestcase(yyruleno==271);
+      /* (272) carglist ::= */ yytestcase(yyruleno==272);
+      /* (273) ccons ::= NULL onconf */ yytestcase(yyruleno==273);
+      /* (274) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==274);
+      /* (275) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==275);
+      /* (276) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=276);
+      /* (277) tconscomma ::= */ yytestcase(yyruleno==277);
+      /* (278) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=278);
+      /* (279) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=279);
+      /* (280) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=280);
+      /* (281) oneselect ::= values */ yytestcase(yyruleno==281);
+      /* (282) sclp ::= selcollist COMMA */ yytestcase(yyruleno==282);
+      /* (283) as ::= ID|STRING */ yytestcase(yyruleno==283);
+      /* (284) join_nm ::= ID|INDEXED */ yytestcase(yyruleno==284);
+      /* (285) join_nm ::= JOIN_KW */ yytestcase(yyruleno==285);
+      /* (286) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=286);
+      /* (287) exprlist ::= nexprlist */ yytestcase(yyruleno==287);
+      /* (288) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=288);
+      /* (289) nmnum ::= STRING */ yytestcase(yyruleno==289);
+      /* (290) nmnum ::= nm */ yytestcase(yyruleno==290);
+      /* (291) nmnum ::= ON */ yytestcase(yyruleno==291);
+      /* (292) nmnum ::= DELETE */ yytestcase(yyruleno==292);
+      /* (293) nmnum ::= DEFAULT */ yytestcase(yyruleno==293);
+      /* (294) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==294);
+      /* (295) foreach_clause ::= */ yytestcase(yyruleno==295);
+      /* (296) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==296);
+      /* (297) trnm ::= nm */ yytestcase(yyruleno==297);
+      /* (298) tridxby ::= */ yytestcase(yyruleno==298);
         break;
 /********** End reduce actions ************************************************/
   };
@@ -3846,7 +3816,7 @@ static void yy_syntax_error(
   } else {
     sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN);
   }
-#line 3850 "parse.c"
+#line 3820 "parse.c"
 /************ End %syntax_error code ******************************************/
   sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */
 }
-- 
GitLab