| OLD | NEW |
| 1 /* Driver template for the LEMON parser generator. | 1 /* Driver template for the LEMON parser generator. |
| 2 ** The author disclaims copyright to this source code. | 2 ** The author disclaims copyright to this source code. |
| 3 ** | 3 ** |
| 4 ** This version of "lempar.c" is modified, slightly, for use by SQLite. | 4 ** This version of "lempar.c" is modified, slightly, for use by SQLite. |
| 5 ** The only modifications are the addition of a couple of NEVER() | 5 ** The only modifications are the addition of a couple of NEVER() |
| 6 ** macros to disable tests that are needed in the case of a general | 6 ** macros to disable tests that are needed in the case of a general |
| 7 ** LALR(1) grammar but which are always false in the | 7 ** LALR(1) grammar but which are always false in the |
| 8 ** specific grammar used by SQLite. | 8 ** specific grammar used by SQLite. |
| 9 */ | 9 */ |
| 10 /* First off, code is included that follows the "include" declaration | 10 /* First off, code is included that follows the "include" declaration |
| 11 ** in the input grammar file. */ | 11 ** in the input grammar file. */ |
| 12 #include <stdio.h> | 12 #include <stdio.h> |
| 13 #line 53 "parse.y" | 13 #line 51 "parse.y" |
| 14 | 14 |
| 15 #include "sqliteInt.h" | 15 #include "sqliteInt.h" |
| 16 | 16 |
| 17 /* | 17 /* |
| 18 ** Disable all error recovery processing in the parser push-down | 18 ** Disable all error recovery processing in the parser push-down |
| 19 ** automaton. | 19 ** automaton. |
| 20 */ | 20 */ |
| 21 #define YYNOERRORRECOVERY 1 | 21 #define YYNOERRORRECOVERY 1 |
| 22 | 22 |
| 23 /* | 23 /* |
| (...skipping 28 matching lines...) Expand all Loading... |
| 52 ** | 52 ** |
| 53 ** Then the "b" IdList records the list "a,b,c". | 53 ** Then the "b" IdList records the list "a,b,c". |
| 54 */ | 54 */ |
| 55 struct TrigEvent { int a; IdList * b; }; | 55 struct TrigEvent { int a; IdList * b; }; |
| 56 | 56 |
| 57 /* | 57 /* |
| 58 ** An instance of this structure holds the ATTACH key and the key type. | 58 ** An instance of this structure holds the ATTACH key and the key type. |
| 59 */ | 59 */ |
| 60 struct AttachKey { int type; Token key; }; | 60 struct AttachKey { int type; Token key; }; |
| 61 | 61 |
| 62 #line 723 "parse.y" | 62 #line 722 "parse.y" |
| 63 | 63 |
| 64 /* This is a utility routine used to set the ExprSpan.zStart and | 64 /* This is a utility routine used to set the ExprSpan.zStart and |
| 65 ** ExprSpan.zEnd values of pOut so that the span covers the complete | 65 ** ExprSpan.zEnd values of pOut so that the span covers the complete |
| 66 ** range of text beginning with pStart and going to the end of pEnd. | 66 ** range of text beginning with pStart and going to the end of pEnd. |
| 67 */ | 67 */ |
| 68 static void spanSet(ExprSpan *pOut, Token *pStart, Token *pEnd){ | 68 static void spanSet(ExprSpan *pOut, Token *pStart, Token *pEnd){ |
| 69 pOut->zStart = pStart->z; | 69 pOut->zStart = pStart->z; |
| 70 pOut->zEnd = &pEnd->z[pEnd->n]; | 70 pOut->zEnd = &pEnd->z[pEnd->n]; |
| 71 } | 71 } |
| 72 | 72 |
| 73 /* Construct a new Expr object from a single identifier. Use the | 73 /* Construct a new Expr object from a single identifier. Use the |
| 74 ** new Expr to populate pOut. Set the span of pOut to be the identifier | 74 ** new Expr to populate pOut. Set the span of pOut to be the identifier |
| 75 ** that created the expression. | 75 ** that created the expression. |
| 76 */ | 76 */ |
| 77 static void spanExpr(ExprSpan *pOut, Parse *pParse, int op, Token *pValue){ | 77 static void spanExpr(ExprSpan *pOut, Parse *pParse, int op, Token *pValue){ |
| 78 pOut->pExpr = sqlite3PExpr(pParse, op, 0, 0, pValue); | 78 pOut->pExpr = sqlite3PExpr(pParse, op, 0, 0, pValue); |
| 79 pOut->zStart = pValue->z; | 79 pOut->zStart = pValue->z; |
| 80 pOut->zEnd = &pValue->z[pValue->n]; | 80 pOut->zEnd = &pValue->z[pValue->n]; |
| 81 } | 81 } |
| 82 #line 818 "parse.y" | 82 #line 817 "parse.y" |
| 83 | 83 |
| 84 /* This routine constructs a binary expression node out of two ExprSpan | 84 /* This routine constructs a binary expression node out of two ExprSpan |
| 85 ** objects and uses the result to populate a new ExprSpan object. | 85 ** objects and uses the result to populate a new ExprSpan object. |
| 86 */ | 86 */ |
| 87 static void spanBinaryExpr( | 87 static void spanBinaryExpr( |
| 88 ExprSpan *pOut, /* Write the result here */ | 88 ExprSpan *pOut, /* Write the result here */ |
| 89 Parse *pParse, /* The parsing context. Errors accumulate here */ | 89 Parse *pParse, /* The parsing context. Errors accumulate here */ |
| 90 int op, /* The binary operation */ | 90 int op, /* The binary operation */ |
| 91 ExprSpan *pLeft, /* The left operand */ | 91 ExprSpan *pLeft, /* The left operand */ |
| 92 ExprSpan *pRight /* The right operand */ | 92 ExprSpan *pRight /* The right operand */ |
| 93 ){ | 93 ){ |
| 94 pOut->pExpr = sqlite3PExpr(pParse, op, pLeft->pExpr, pRight->pExpr, 0); | 94 pOut->pExpr = sqlite3PExpr(pParse, op, pLeft->pExpr, pRight->pExpr, 0); |
| 95 pOut->zStart = pLeft->zStart; | 95 pOut->zStart = pLeft->zStart; |
| 96 pOut->zEnd = pRight->zEnd; | 96 pOut->zEnd = pRight->zEnd; |
| 97 } | 97 } |
| 98 #line 870 "parse.y" | 98 #line 873 "parse.y" |
| 99 | 99 |
| 100 /* Construct an expression node for a unary postfix operator | 100 /* Construct an expression node for a unary postfix operator |
| 101 */ | 101 */ |
| 102 static void spanUnaryPostfix( | 102 static void spanUnaryPostfix( |
| 103 ExprSpan *pOut, /* Write the new expression node here */ | 103 ExprSpan *pOut, /* Write the new expression node here */ |
| 104 Parse *pParse, /* Parsing context to record errors */ | 104 Parse *pParse, /* Parsing context to record errors */ |
| 105 int op, /* The operator */ | 105 int op, /* The operator */ |
| 106 ExprSpan *pOperand, /* The operand */ | 106 ExprSpan *pOperand, /* The operand */ |
| 107 Token *pPostOp /* The operand token for setting the span */ | 107 Token *pPostOp /* The operand token for setting the span */ |
| 108 ){ | 108 ){ |
| 109 pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); | 109 pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); |
| 110 pOut->zStart = pOperand->zStart; | 110 pOut->zStart = pOperand->zStart; |
| 111 pOut->zEnd = &pPostOp->z[pPostOp->n]; | 111 pOut->zEnd = &pPostOp->z[pPostOp->n]; |
| 112 } | 112 } |
| 113 #line 892 "parse.y" | 113 #line 892 "parse.y" |
| 114 | 114 |
| 115 /* A routine to convert a binary TK_IS or TK_ISNOT expression into a |
| 116 ** unary TK_ISNULL or TK_NOTNULL expression. */ |
| 117 static void binaryToUnaryIfNull(Parse *pParse, Expr *pY, Expr *pA, int op){ |
| 118 sqlite3 *db = pParse->db; |
| 119 if( db->mallocFailed==0 && pY->op==TK_NULL ){ |
| 120 pA->op = (u8)op; |
| 121 sqlite3ExprDelete(db, pA->pRight); |
| 122 pA->pRight = 0; |
| 123 } |
| 124 } |
| 125 #line 920 "parse.y" |
| 126 |
| 115 /* Construct an expression node for a unary prefix operator | 127 /* Construct an expression node for a unary prefix operator |
| 116 */ | 128 */ |
| 117 static void spanUnaryPrefix( | 129 static void spanUnaryPrefix( |
| 118 ExprSpan *pOut, /* Write the new expression node here */ | 130 ExprSpan *pOut, /* Write the new expression node here */ |
| 119 Parse *pParse, /* Parsing context to record errors */ | 131 Parse *pParse, /* Parsing context to record errors */ |
| 120 int op, /* The operator */ | 132 int op, /* The operator */ |
| 121 ExprSpan *pOperand, /* The operand */ | 133 ExprSpan *pOperand, /* The operand */ |
| 122 Token *pPreOp /* The operand token for setting the span */ | 134 Token *pPreOp /* The operand token for setting the span */ |
| 123 ){ | 135 ){ |
| 124 pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); | 136 pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); |
| 125 pOut->zStart = pPreOp->z; | 137 pOut->zStart = pPreOp->z; |
| 126 pOut->zEnd = pOperand->zEnd; | 138 pOut->zEnd = pOperand->zEnd; |
| 127 } | 139 } |
| 128 #line 129 "parse.c" | 140 #line 141 "parse.c" |
| 129 /* Next is all token values, in a form suitable for use by makeheaders. | 141 /* Next is all token values, in a form suitable for use by makeheaders. |
| 130 ** This section will be null unless lemon is run with the -m switch. | 142 ** This section will be null unless lemon is run with the -m switch. |
| 131 */ | 143 */ |
| 132 /* | 144 /* |
| 133 ** These constants (all generated automatically by the parser generator) | 145 ** These constants (all generated automatically by the parser generator) |
| 134 ** specify the various kinds of tokens (terminals) that the parser | 146 ** specify the various kinds of tokens (terminals) that the parser |
| 135 ** understands. | 147 ** understands. |
| 136 ** | 148 ** |
| 137 ** Each symbol here is a terminal symbol in the grammar. | 149 ** Each symbol here is a terminal symbol in the grammar. |
| 138 */ | 150 */ |
| (...skipping 30 matching lines...) Expand all Loading... |
| 169 ** sqlite3ParserARG_SDECL A static variable declaration for the %extra_ar
gument | 181 ** sqlite3ParserARG_SDECL A static variable declaration for the %extra_ar
gument |
| 170 ** sqlite3ParserARG_PDECL A parameter declaration for the %extra_argument | 182 ** sqlite3ParserARG_PDECL A parameter declaration for the %extra_argument |
| 171 ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser | 183 ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser |
| 172 ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser | 184 ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser |
| 173 ** YYNSTATE the combined number of states. | 185 ** YYNSTATE the combined number of states. |
| 174 ** YYNRULE the number of rules in the grammar | 186 ** YYNRULE the number of rules in the grammar |
| 175 ** YYERRORSYMBOL is the code number of the error symbol. If not | 187 ** YYERRORSYMBOL is the code number of the error symbol. If not |
| 176 ** defined, then do no error processing. | 188 ** defined, then do no error processing. |
| 177 */ | 189 */ |
| 178 #define YYCODETYPE unsigned char | 190 #define YYCODETYPE unsigned char |
| 179 #define YYNOCODE 254 | 191 #define YYNOCODE 253 |
| 180 #define YYACTIONTYPE unsigned short int | 192 #define YYACTIONTYPE unsigned short int |
| 181 #define YYWILDCARD 65 | 193 #define YYWILDCARD 67 |
| 182 #define sqlite3ParserTOKENTYPE Token | 194 #define sqlite3ParserTOKENTYPE Token |
| 183 typedef union { | 195 typedef union { |
| 184 int yyinit; | 196 int yyinit; |
| 185 sqlite3ParserTOKENTYPE yy0; | 197 sqlite3ParserTOKENTYPE yy0; |
| 186 Select* yy3; | 198 int yy4; |
| 187 ExprList* yy14; | 199 struct TrigEvent yy90; |
| 188 SrcList* yy65; | 200 ExprSpan yy118; |
| 189 struct LikeOp yy96; | 201 TriggerStep* yy203; |
| 190 Expr* yy132; | 202 u8 yy210; |
| 191 u8 yy186; | 203 struct {int value; int mask;} yy215; |
| 192 int yy328; | 204 SrcList* yy259; |
| 193 ExprSpan yy346; | 205 struct LimitVal yy292; |
| 194 struct TrigEvent yy378; | 206 Expr* yy314; |
| 195 IdList* yy408; | 207 ExprList* yy322; |
| 196 struct {int value; int mask;} yy429; | 208 struct LikeOp yy342; |
| 197 TriggerStep* yy473; | 209 IdList* yy384; |
| 198 struct LimitVal yy476; | 210 Select* yy387; |
| 199 } YYMINORTYPE; | 211 } YYMINORTYPE; |
| 200 #ifndef YYSTACKDEPTH | 212 #ifndef YYSTACKDEPTH |
| 201 #define YYSTACKDEPTH 100 | 213 #define YYSTACKDEPTH 100 |
| 202 #endif | 214 #endif |
| 203 #define sqlite3ParserARG_SDECL Parse *pParse; | 215 #define sqlite3ParserARG_SDECL Parse *pParse; |
| 204 #define sqlite3ParserARG_PDECL ,Parse *pParse | 216 #define sqlite3ParserARG_PDECL ,Parse *pParse |
| 205 #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse | 217 #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse |
| 206 #define sqlite3ParserARG_STORE yypParser->pParse = pParse | 218 #define sqlite3ParserARG_STORE yypParser->pParse = pParse |
| 207 #define YYNSTATE 629 | 219 #define YYNSTATE 630 |
| 208 #define YYNRULE 329 | 220 #define YYNRULE 329 |
| 209 #define YYFALLBACK 1 | 221 #define YYFALLBACK 1 |
| 210 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) | 222 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) |
| 211 #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) | 223 #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) |
| 212 #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) | 224 #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) |
| 213 | 225 |
| 214 /* The yyzerominor constant is used to initialize instances of | 226 /* The yyzerominor constant is used to initialize instances of |
| 215 ** YYMINORTYPE objects to zero. */ | 227 ** YYMINORTYPE objects to zero. */ |
| 216 static const YYMINORTYPE yyzerominor = { 0 }; | 228 static const YYMINORTYPE yyzerominor = { 0 }; |
| 217 | 229 |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 ** | 280 ** |
| 269 ** yy_action[] A single table containing all actions. | 281 ** yy_action[] A single table containing all actions. |
| 270 ** yy_lookahead[] A table containing the lookahead for each entry in | 282 ** yy_lookahead[] A table containing the lookahead for each entry in |
| 271 ** yy_action. Used to detect hash collisions. | 283 ** yy_action. Used to detect hash collisions. |
| 272 ** yy_shift_ofst[] For each state, the offset into yy_action for | 284 ** yy_shift_ofst[] For each state, the offset into yy_action for |
| 273 ** shifting terminals. | 285 ** shifting terminals. |
| 274 ** yy_reduce_ofst[] For each state, the offset into yy_action for | 286 ** yy_reduce_ofst[] For each state, the offset into yy_action for |
| 275 ** shifting non-terminals after a reduce. | 287 ** shifting non-terminals after a reduce. |
| 276 ** yy_default[] Default action for each state. | 288 ** yy_default[] Default action for each state. |
| 277 */ | 289 */ |
| 290 #define YY_ACTTAB_COUNT (1557) |
| 278 static const YYACTIONTYPE yy_action[] = { | 291 static const YYACTIONTYPE yy_action[] = { |
| 279 /* 0 */ 309, 959, 178, 628, 2, 153, 216, 448, 24, 24, | 292 /* 0 */ 313, 960, 186, 419, 2, 172, 627, 597, 55, 55, |
| 280 /* 10 */ 24, 24, 497, 26, 26, 26, 26, 27, 27, 28, | 293 /* 10 */ 55, 55, 48, 53, 53, 53, 53, 52, 52, 51, |
| 281 /* 20 */ 28, 28, 29, 218, 422, 423, 214, 422, 423, 455, | 294 /* 20 */ 51, 51, 50, 238, 302, 283, 623, 622, 516, 515, |
| 282 /* 30 */ 461, 31, 26, 26, 26, 26, 27, 27, 28, 28, | 295 /* 30 */ 590, 584, 55, 55, 55, 55, 282, 53, 53, 53, |
| 283 /* 40 */ 28, 29, 218, 30, 492, 32, 137, 23, 22, 315, | 296 /* 40 */ 53, 52, 52, 51, 51, 51, 50, 238, 6, 56, |
| 284 /* 50 */ 465, 466, 462, 462, 25, 25, 24, 24, 24, 24, | 297 /* 50 */ 57, 47, 582, 581, 583, 583, 54, 54, 55, 55, |
| 285 /* 60 */ 445, 26, 26, 26, 26, 27, 27, 28, 28, 28, | 298 /* 60 */ 55, 55, 608, 53, 53, 53, 53, 52, 52, 51, |
| 286 /* 70 */ 29, 218, 309, 218, 318, 448, 521, 499, 45, 26, | 299 /* 70 */ 51, 51, 50, 238, 313, 597, 409, 330, 579, 579, |
| 287 /* 80 */ 26, 26, 26, 27, 27, 28, 28, 28, 29, 218, | 300 /* 80 */ 32, 53, 53, 53, 53, 52, 52, 51, 51, 51, |
| 288 /* 90 */ 422, 423, 425, 426, 159, 425, 426, 366, 369, 370, | 301 /* 90 */ 50, 238, 330, 217, 620, 619, 166, 411, 624, 382, |
| 289 /* 100 */ 318, 455, 461, 394, 523, 21, 188, 504, 371, 27, | 302 /* 100 */ 379, 378, 7, 491, 590, 584, 200, 199, 198, 58, |
| 290 /* 110 */ 27, 28, 28, 28, 29, 218, 422, 423, 424, 23, | 303 /* 110 */ 377, 300, 414, 621, 481, 66, 623, 622, 621, 580, |
| 291 /* 120 */ 22, 315, 465, 466, 462, 462, 25, 25, 24, 24, | 304 /* 120 */ 254, 601, 94, 56, 57, 47, 582, 581, 583, 583, |
| 292 /* 130 */ 24, 24, 564, 26, 26, 26, 26, 27, 27, 28, | 305 /* 130 */ 54, 54, 55, 55, 55, 55, 671, 53, 53, 53, |
| 293 /* 140 */ 28, 28, 29, 218, 309, 230, 513, 138, 477, 220, | 306 /* 140 */ 53, 52, 52, 51, 51, 51, 50, 238, 313, 532, |
| 294 /* 150 */ 557, 148, 135, 260, 364, 265, 365, 156, 425, 426, | 307 /* 150 */ 226, 506, 507, 133, 177, 139, 284, 385, 279, 384, |
| 295 /* 160 */ 245, 610, 337, 30, 269, 32, 137, 448, 608, 609, | 308 /* 160 */ 169, 197, 342, 398, 251, 226, 253, 275, 388, 167, |
| 296 /* 170 */ 233, 230, 499, 455, 461, 57, 515, 334, 135, 260, | 309 /* 170 */ 139, 284, 385, 279, 384, 169, 570, 236, 590, 584, |
| 297 /* 180 */ 364, 265, 365, 156, 425, 426, 444, 78, 417, 414, | 310 /* 180 */ 672, 240, 275, 157, 620, 619, 554, 437, 51, 51, |
| 298 /* 190 */ 269, 23, 22, 315, 465, 466, 462, 462, 25, 25, | 311 /* 190 */ 51, 50, 238, 343, 439, 553, 438, 56, 57, 47, |
| 299 /* 200 */ 24, 24, 24, 24, 348, 26, 26, 26, 26, 27, | 312 /* 200 */ 582, 581, 583, 583, 54, 54, 55, 55, 55, 55, |
| 300 /* 210 */ 27, 28, 28, 28, 29, 218, 309, 216, 543, 556, | 313 /* 210 */ 465, 53, 53, 53, 53, 52, 52, 51, 51, 51, |
| 301 /* 220 */ 486, 130, 498, 607, 30, 337, 32, 137, 351, 396, | 314 /* 220 */ 50, 238, 313, 390, 52, 52, 51, 51, 51, 50, |
| 302 /* 230 */ 438, 63, 337, 361, 424, 448, 487, 337, 424, 544, | 315 /* 230 */ 238, 391, 166, 491, 566, 382, 379, 378, 409, 440, |
| 303 /* 240 */ 334, 217, 195, 606, 605, 455, 461, 334, 18, 444, | 316 /* 240 */ 579, 579, 252, 440, 607, 66, 377, 513, 621, 49, |
| 304 /* 250 */ 85, 488, 334, 347, 192, 565, 444, 78, 316, 472, | 317 /* 250 */ 46, 147, 590, 584, 621, 16, 466, 189, 621, 441, |
| 305 /* 260 */ 473, 444, 85, 23, 22, 315, 465, 466, 462, 462, | 318 /* 260 */ 442, 673, 526, 441, 340, 577, 595, 64, 194, 482, |
| 306 /* 270 */ 25, 25, 24, 24, 24, 24, 445, 26, 26, 26, | 319 /* 270 */ 434, 56, 57, 47, 582, 581, 583, 583, 54, 54, |
| 307 /* 280 */ 26, 27, 27, 28, 28, 28, 29, 218, 309, 353, | 320 /* 280 */ 55, 55, 55, 55, 30, 53, 53, 53, 53, 52, |
| 308 /* 290 */ 223, 320, 607, 193, 238, 337, 481, 16, 351, 185, | 321 /* 290 */ 52, 51, 51, 51, 50, 238, 313, 593, 593, 593, |
| 309 /* 300 */ 330, 419, 222, 350, 604, 219, 215, 424, 112, 337, | 322 /* 300 */ 387, 578, 606, 493, 259, 351, 258, 411, 1, 623, |
| 310 /* 310 */ 334, 157, 606, 408, 213, 563, 538, 455, 461, 444, | 323 /* 310 */ 622, 496, 623, 622, 65, 240, 623, 622, 597, 443, |
| 311 /* 320 */ 79, 219, 562, 524, 334, 576, 522, 629, 417, 414, | 324 /* 320 */ 237, 239, 414, 341, 237, 602, 590, 584, 18, 603, |
| 312 /* 330 */ 450, 581, 441, 444, 78, 23, 22, 315, 465, 466, | 325 /* 330 */ 166, 601, 87, 382, 379, 378, 67, 623, 622, 38, |
| 313 /* 340 */ 462, 462, 25, 25, 24, 24, 24, 24, 445, 26, | 326 /* 340 */ 623, 622, 176, 270, 377, 56, 57, 47, 582, 581, |
| 314 /* 350 */ 26, 26, 26, 27, 27, 28, 28, 28, 29, 218, | 327 /* 350 */ 583, 583, 54, 54, 55, 55, 55, 55, 175, 53, |
| 315 /* 360 */ 309, 452, 452, 452, 159, 399, 311, 366, 369, 370, | 328 /* 360 */ 53, 53, 53, 52, 52, 51, 51, 51, 50, 238, |
| 316 /* 370 */ 337, 251, 404, 407, 219, 355, 556, 4, 371, 422, | 329 /* 370 */ 313, 396, 233, 411, 531, 565, 317, 620, 619, 44, |
| 317 /* 380 */ 423, 397, 286, 285, 244, 334, 540, 566, 63, 455, | 330 /* 380 */ 620, 619, 240, 206, 620, 619, 597, 266, 414, 268, |
| 318 /* 390 */ 461, 424, 216, 478, 444, 93, 28, 28, 28, 29, | 331 /* 390 */ 409, 597, 579, 579, 352, 184, 505, 601, 73, 533, |
| 319 /* 400 */ 218, 413, 477, 220, 578, 40, 545, 23, 22, 315, | 332 /* 400 */ 590, 584, 466, 548, 190, 620, 619, 576, 620, 619, |
| 320 /* 410 */ 465, 466, 462, 462, 25, 25, 24, 24, 24, 24, | 333 /* 410 */ 547, 383, 551, 35, 332, 575, 574, 600, 504, 56, |
| 321 /* 420 */ 582, 26, 26, 26, 26, 27, 27, 28, 28, 28, | 334 /* 420 */ 57, 47, 582, 581, 583, 583, 54, 54, 55, 55, |
| 322 /* 430 */ 29, 218, 309, 546, 337, 30, 517, 32, 137, 378, | 335 /* 430 */ 55, 55, 567, 53, 53, 53, 53, 52, 52, 51, |
| 323 /* 440 */ 326, 337, 874, 153, 194, 448, 1, 425, 426, 334, | 336 /* 440 */ 51, 51, 50, 238, 313, 411, 561, 561, 528, 364, |
| 324 /* 450 */ 422, 423, 422, 423, 29, 218, 334, 613, 444, 71, | 337 /* 450 */ 259, 351, 258, 183, 361, 549, 524, 374, 411, 597, |
| 325 /* 460 */ 210, 455, 461, 66, 581, 444, 93, 422, 423, 626, | 338 /* 460 */ 414, 240, 560, 560, 409, 604, 579, 579, 328, 601, |
| 326 /* 470 */ 949, 303, 949, 500, 479, 555, 202, 43, 445, 23, | 339 /* 470 */ 93, 623, 622, 414, 590, 584, 237, 564, 559, 559, |
| 327 /* 480 */ 22, 315, 465, 466, 462, 462, 25, 25, 24, 24, | 340 /* 480 */ 520, 402, 601, 87, 409, 210, 579, 579, 168, 421, |
| 328 /* 490 */ 24, 24, 436, 26, 26, 26, 26, 27, 27, 28, | 341 /* 490 */ 950, 519, 950, 56, 57, 47, 582, 581, 583, 583, |
| 329 /* 500 */ 28, 28, 29, 218, 309, 187, 211, 360, 520, 440, | 342 /* 500 */ 54, 54, 55, 55, 55, 55, 192, 53, 53, 53, |
| 330 /* 510 */ 246, 327, 622, 448, 397, 286, 285, 551, 425, 426, | 343 /* 510 */ 53, 52, 52, 51, 51, 51, 50, 238, 313, 600, |
| 331 /* 520 */ 425, 426, 334, 159, 337, 216, 366, 369, 370, 494, | 344 /* 520 */ 293, 563, 511, 234, 357, 146, 475, 475, 367, 411, |
| 332 /* 530 */ 556, 444, 9, 455, 461, 425, 426, 371, 495, 334, | 345 /* 530 */ 562, 411, 358, 542, 425, 171, 411, 215, 144, 620, |
| 333 /* 540 */ 445, 618, 63, 504, 198, 424, 501, 449, 444, 72, | 346 /* 540 */ 619, 544, 318, 353, 414, 203, 414, 275, 590, 584, |
| 334 /* 550 */ 474, 23, 22, 315, 465, 466, 462, 462, 25, 25, | 347 /* 550 */ 549, 414, 174, 601, 94, 601, 79, 558, 471, 61, |
| 335 /* 560 */ 24, 24, 24, 24, 395, 26, 26, 26, 26, 27, | 348 /* 560 */ 601, 79, 421, 949, 350, 949, 34, 56, 57, 47, |
| 336 /* 570 */ 27, 28, 28, 28, 29, 218, 309, 486, 445, 337, | 349 /* 570 */ 582, 581, 583, 583, 54, 54, 55, 55, 55, 55, |
| 337 /* 580 */ 537, 60, 224, 479, 343, 202, 398, 337, 439, 554, | 350 /* 580 */ 535, 53, 53, 53, 53, 52, 52, 51, 51, 51, |
| 338 /* 590 */ 199, 140, 337, 487, 334, 526, 527, 551, 516, 508, | 351 /* 590 */ 50, 238, 313, 307, 424, 394, 272, 49, 46, 147, |
| 339 /* 600 */ 456, 457, 334, 444, 67, 455, 461, 334, 488, 476, | 352 /* 600 */ 349, 322, 4, 411, 491, 312, 321, 425, 568, 492, |
| 340 /* 610 */ 528, 444, 76, 39, 424, 41, 444, 97, 579, 527, | 353 /* 610 */ 216, 264, 407, 575, 574, 429, 66, 549, 414, 621, |
| 341 /* 620 */ 529, 459, 460, 23, 22, 315, 465, 466, 462, 462, | 354 /* 620 */ 540, 602, 590, 584, 13, 603, 621, 601, 72, 12, |
| 342 /* 630 */ 25, 25, 24, 24, 24, 24, 337, 26, 26, 26, | 355 /* 630 */ 618, 617, 616, 202, 210, 621, 546, 469, 422, 319, |
| 343 /* 640 */ 26, 27, 27, 28, 28, 28, 29, 218, 309, 337, | 356 /* 640 */ 148, 56, 57, 47, 582, 581, 583, 583, 54, 54, |
| 344 /* 650 */ 458, 334, 272, 621, 307, 337, 312, 337, 374, 64, | 357 /* 650 */ 55, 55, 55, 55, 338, 53, 53, 53, 53, 52, |
| 345 /* 660 */ 444, 96, 317, 448, 334, 342, 472, 473, 469, 337, | 358 /* 660 */ 52, 51, 51, 51, 50, 238, 313, 600, 600, 411, |
| 346 /* 670 */ 334, 508, 334, 444, 101, 359, 252, 455, 461, 444, | 359 /* 670 */ 39, 21, 37, 170, 237, 875, 411, 572, 572, 201, |
| 347 /* 680 */ 99, 444, 104, 358, 334, 345, 424, 340, 157, 468, | 360 /* 680 */ 144, 473, 538, 331, 414, 474, 143, 146, 630, 628, |
| 348 /* 690 */ 468, 424, 493, 444, 105, 23, 22, 315, 465, 466, | 361 /* 690 */ 334, 414, 353, 601, 68, 168, 590, 584, 132, 365, |
| 349 /* 700 */ 462, 462, 25, 25, 24, 24, 24, 24, 337, 26, | 362 /* 700 */ 601, 96, 307, 423, 530, 336, 49, 46, 147, 568, |
| 350 /* 710 */ 26, 26, 26, 27, 27, 28, 28, 28, 29, 218, | 363 /* 710 */ 406, 216, 549, 360, 529, 56, 57, 47, 582, 581, |
| 351 /* 720 */ 309, 337, 181, 334, 499, 56, 139, 337, 219, 268, | 364 /* 720 */ 583, 583, 54, 54, 55, 55, 55, 55, 411, 53, |
| 352 /* 730 */ 384, 448, 444, 129, 382, 387, 334, 168, 337, 389, | 365 /* 730 */ 53, 53, 53, 52, 52, 51, 51, 51, 50, 238, |
| 353 /* 740 */ 508, 424, 334, 311, 424, 444, 131, 496, 269, 455, | 366 /* 740 */ 313, 411, 605, 414, 484, 510, 172, 422, 597, 318, |
| 354 /* 750 */ 461, 444, 59, 334, 424, 424, 391, 340, 8, 468, | 367 /* 750 */ 496, 485, 601, 99, 411, 142, 414, 411, 231, 411, |
| 355 /* 760 */ 468, 263, 444, 102, 390, 290, 321, 23, 22, 315, | 368 /* 760 */ 540, 411, 359, 629, 2, 601, 97, 426, 308, 414, |
| 356 /* 770 */ 465, 466, 462, 462, 25, 25, 24, 24, 24, 24, | 369 /* 770 */ 590, 584, 414, 20, 414, 621, 414, 621, 601, 106, |
| 357 /* 780 */ 337, 26, 26, 26, 26, 27, 27, 28, 28, 28, | 370 /* 780 */ 503, 601, 105, 601, 108, 601, 109, 204, 28, 56, |
| 358 /* 790 */ 29, 218, 309, 337, 138, 334, 416, 2, 268, 337, | 371 /* 790 */ 57, 47, 582, 581, 583, 583, 54, 54, 55, 55, |
| 359 /* 800 */ 389, 337, 443, 325, 444, 77, 442, 293, 334, 291, | 372 /* 800 */ 55, 55, 411, 53, 53, 53, 53, 52, 52, 51, |
| 360 /* 810 */ 7, 482, 337, 424, 334, 424, 334, 444, 100, 499, | 373 /* 810 */ 51, 51, 50, 238, 313, 411, 597, 414, 411, 276, |
| 361 /* 820 */ 339, 455, 461, 444, 68, 444, 98, 334, 254, 504, | 374 /* 820 */ 214, 600, 411, 366, 213, 381, 601, 134, 274, 500, |
| 362 /* 830 */ 232, 626, 948, 504, 948, 231, 444, 132, 47, 23, | 375 /* 830 */ 414, 167, 130, 414, 621, 411, 354, 414, 376, 601, |
| 363 /* 840 */ 22, 315, 465, 466, 462, 462, 25, 25, 24, 24, | 376 /* 840 */ 135, 129, 601, 100, 590, 584, 601, 104, 522, 521, |
| 364 /* 850 */ 24, 24, 337, 26, 26, 26, 26, 27, 27, 28, | 377 /* 850 */ 414, 621, 224, 273, 600, 167, 327, 282, 600, 601, |
| 365 /* 860 */ 28, 28, 29, 218, 309, 337, 280, 334, 256, 538, | 378 /* 860 */ 103, 468, 521, 56, 57, 47, 582, 581, 583, 583, |
| 366 /* 870 */ 362, 337, 258, 268, 622, 549, 444, 133, 203, 140, | 379 /* 870 */ 54, 54, 55, 55, 55, 55, 411, 53, 53, 53, |
| 367 /* 880 */ 334, 424, 548, 337, 180, 158, 334, 292, 424, 444, | 380 /* 880 */ 53, 52, 52, 51, 51, 51, 50, 238, 313, 411, |
| 368 /* 890 */ 134, 287, 552, 455, 461, 444, 69, 443, 334, 463, | 381 /* 890 */ 27, 414, 411, 375, 276, 167, 359, 544, 50, 238, |
| 369 /* 900 */ 340, 442, 468, 468, 427, 428, 429, 444, 80, 281, | 382 /* 900 */ 601, 95, 128, 223, 414, 411, 165, 414, 411, 621, |
| 370 /* 910 */ 322, 23, 33, 315, 465, 466, 462, 462, 25, 25, | 383 /* 910 */ 411, 621, 612, 601, 102, 372, 601, 76, 590, 584, |
| 371 /* 920 */ 24, 24, 24, 24, 337, 26, 26, 26, 26, 27, | 384 /* 920 */ 414, 570, 236, 414, 470, 414, 167, 621, 188, 601, |
| 372 /* 930 */ 27, 28, 28, 28, 29, 218, 309, 337, 406, 334, | 385 /* 930 */ 98, 225, 601, 138, 601, 137, 232, 56, 45, 47, |
| 373 /* 940 */ 212, 268, 550, 337, 268, 389, 329, 177, 444, 81, | 386 /* 940 */ 582, 581, 583, 583, 54, 54, 55, 55, 55, 55, |
| 374 /* 950 */ 542, 541, 334, 475, 475, 337, 424, 216, 334, 424, | 387 /* 950 */ 411, 53, 53, 53, 53, 52, 52, 51, 51, 51, |
| 375 /* 960 */ 424, 444, 70, 535, 368, 455, 461, 444, 82, 405, | 388 /* 960 */ 50, 238, 313, 276, 276, 414, 411, 276, 544, 459, |
| 376 /* 970 */ 334, 261, 392, 340, 445, 468, 468, 587, 323, 444, | 389 /* 970 */ 359, 171, 209, 479, 601, 136, 628, 334, 621, 621, |
| 377 /* 980 */ 83, 324, 262, 288, 22, 315, 465, 466, 462, 462, | 390 /* 980 */ 125, 414, 621, 368, 411, 621, 257, 540, 589, 588, |
| 378 /* 990 */ 25, 25, 24, 24, 24, 24, 337, 26, 26, 26, | 391 /* 990 */ 601, 75, 590, 584, 458, 446, 23, 23, 124, 414, |
| 379 /* 1000 */ 26, 27, 27, 28, 28, 28, 29, 218, 309, 337, | 392 /* 1000 */ 326, 325, 621, 427, 324, 309, 600, 288, 601, 92, |
| 380 /* 1010 */ 211, 334, 294, 356, 340, 337, 468, 468, 532, 533, | 393 /* 1010 */ 586, 585, 57, 47, 582, 581, 583, 583, 54, 54, |
| 381 /* 1020 */ 444, 84, 403, 144, 334, 574, 600, 337, 424, 573, | 394 /* 1020 */ 55, 55, 55, 55, 411, 53, 53, 53, 53, 52, |
| 382 /* 1030 */ 334, 337, 420, 444, 86, 253, 234, 455, 461, 444, | 395 /* 1030 */ 52, 51, 51, 51, 50, 238, 313, 587, 411, 414, |
| 383 /* 1040 */ 87, 430, 334, 383, 445, 431, 334, 274, 196, 331, | 396 /* 1040 */ 411, 207, 611, 476, 171, 472, 160, 123, 601, 91, |
| 384 /* 1050 */ 424, 444, 88, 432, 145, 444, 73, 315, 465, 466, | 397 /* 1050 */ 323, 261, 15, 414, 464, 414, 411, 621, 411, 354, |
| 385 /* 1060 */ 462, 462, 25, 25, 24, 24, 24, 24, 395, 26, | 398 /* 1060 */ 222, 411, 601, 74, 601, 90, 590, 584, 159, 264, |
| 386 /* 1070 */ 26, 26, 26, 27, 27, 28, 28, 28, 29, 218, | 399 /* 1070 */ 158, 414, 461, 414, 621, 600, 414, 121, 120, 25, |
| 387 /* 1080 */ 35, 344, 445, 3, 337, 394, 337, 333, 423, 278, | 400 /* 1080 */ 601, 89, 601, 101, 621, 601, 88, 47, 582, 581, |
| 388 /* 1090 */ 388, 276, 280, 207, 147, 35, 344, 341, 3, 334, | 401 /* 1090 */ 583, 583, 54, 54, 55, 55, 55, 55, 544, 53, |
| 389 /* 1100 */ 424, 334, 333, 423, 308, 623, 280, 424, 444, 74, | 402 /* 1100 */ 53, 53, 53, 52, 52, 51, 51, 51, 50, 238, |
| 390 /* 1110 */ 444, 89, 341, 337, 6, 346, 338, 337, 421, 337, | 403 /* 1110 */ 43, 405, 263, 3, 610, 264, 140, 415, 622, 24, |
| 391 /* 1120 */ 470, 424, 65, 332, 280, 481, 446, 445, 334, 247, | 404 /* 1120 */ 410, 11, 456, 594, 118, 155, 219, 452, 408, 621, |
| 392 /* 1130 */ 346, 424, 334, 424, 334, 594, 280, 444, 90, 424, | 405 /* 1130 */ 621, 621, 156, 43, 405, 621, 3, 286, 621, 113, |
| 393 /* 1140 */ 481, 444, 91, 444, 92, 38, 37, 625, 337, 410, | 406 /* 1140 */ 415, 622, 111, 445, 411, 400, 557, 403, 545, 10, |
| 394 /* 1150 */ 47, 424, 237, 280, 36, 335, 336, 354, 248, 450, | 407 /* 1150 */ 411, 408, 264, 110, 205, 436, 541, 566, 453, 414, |
| 395 /* 1160 */ 38, 37, 514, 334, 572, 381, 572, 596, 424, 36, | 408 /* 1160 */ 621, 621, 63, 621, 435, 414, 411, 621, 601, 94, |
| 396 /* 1170 */ 335, 336, 444, 75, 450, 200, 506, 216, 154, 597, | 409 /* 1170 */ 403, 621, 411, 337, 601, 86, 150, 40, 41, 534, |
| 397 /* 1180 */ 239, 240, 241, 146, 243, 249, 547, 593, 158, 433, | 410 /* 1180 */ 566, 414, 242, 264, 42, 413, 412, 414, 600, 595, |
| 398 /* 1190 */ 452, 452, 452, 453, 454, 10, 598, 280, 20, 46, | 411 /* 1190 */ 601, 85, 191, 333, 107, 451, 601, 84, 621, 539, |
| 399 /* 1200 */ 174, 412, 298, 337, 424, 452, 452, 452, 453, 454, | 412 /* 1200 */ 40, 41, 420, 230, 411, 149, 316, 42, 413, 412, |
| 400 /* 1210 */ 10, 299, 424, 35, 344, 352, 3, 250, 334, 434, | 413 /* 1210 */ 398, 127, 595, 315, 621, 399, 278, 625, 181, 414, |
| 401 /* 1220 */ 333, 423, 337, 172, 280, 581, 208, 444, 17, 171, | 414 /* 1220 */ 593, 593, 593, 592, 591, 14, 450, 411, 601, 71, |
| 402 /* 1230 */ 341, 19, 173, 447, 424, 422, 423, 334, 337, 424, | 415 /* 1230 */ 240, 621, 43, 405, 264, 3, 615, 180, 264, 415, |
| 403 /* 1240 */ 235, 280, 204, 205, 206, 42, 444, 94, 346, 435, | 416 /* 1240 */ 622, 614, 414, 593, 593, 593, 592, 591, 14, 621, |
| 404 /* 1250 */ 136, 451, 221, 334, 308, 624, 424, 349, 481, 490, | 417 /* 1250 */ 408, 601, 70, 621, 417, 33, 405, 613, 3, 411, |
| 405 /* 1260 */ 445, 152, 444, 95, 424, 424, 424, 236, 503, 491, | 418 /* 1260 */ 264, 411, 415, 622, 418, 626, 178, 509, 8, 403, |
| 406 /* 1270 */ 507, 179, 424, 481, 424, 402, 295, 285, 38, 37, | 419 /* 1270 */ 241, 416, 126, 408, 414, 621, 414, 449, 208, 566, |
| 407 /* 1280 */ 271, 310, 158, 424, 296, 424, 216, 36, 335, 336, | 420 /* 1280 */ 240, 221, 621, 601, 83, 601, 82, 599, 297, 277, |
| 408 /* 1290 */ 509, 266, 450, 190, 191, 539, 267, 625, 558, 273, | 421 /* 1290 */ 296, 30, 403, 31, 395, 264, 295, 397, 489, 40, |
| 409 /* 1300 */ 275, 48, 277, 522, 279, 424, 424, 450, 255, 409, | 422 /* 1300 */ 41, 411, 566, 220, 621, 294, 42, 413, 412, 271, |
| 410 /* 1310 */ 424, 424, 257, 424, 424, 424, 284, 424, 386, 424, | 423 /* 1310 */ 621, 595, 600, 621, 59, 60, 414, 269, 267, 623, |
| 411 /* 1320 */ 357, 584, 585, 452, 452, 452, 453, 454, 10, 259, | 424 /* 1320 */ 622, 36, 40, 41, 621, 601, 81, 598, 235, 42, |
| 412 /* 1330 */ 393, 424, 289, 424, 592, 603, 424, 424, 452, 452, | 425 /* 1330 */ 413, 412, 621, 621, 595, 265, 344, 411, 248, 556, |
| 413 /* 1340 */ 452, 297, 300, 301, 505, 424, 617, 424, 363, 424, | 426 /* 1340 */ 173, 185, 593, 593, 593, 592, 591, 14, 218, 29, |
| 414 /* 1350 */ 424, 373, 577, 158, 158, 511, 424, 424, 424, 525, | 427 /* 1350 */ 621, 543, 414, 305, 304, 303, 179, 301, 411, 566, |
| 415 /* 1360 */ 588, 424, 154, 589, 601, 54, 54, 620, 512, 306, | 428 /* 1360 */ 454, 601, 80, 289, 335, 593, 593, 593, 592, 591, |
| 416 /* 1370 */ 319, 530, 531, 535, 264, 107, 228, 536, 534, 375, | 429 /* 1370 */ 14, 411, 287, 414, 151, 392, 246, 260, 411, 196, |
| 417 /* 1380 */ 559, 304, 560, 561, 305, 227, 229, 553, 567, 161, | 430 /* 1380 */ 195, 523, 601, 69, 411, 245, 414, 526, 537, 285, |
| 418 /* 1390 */ 162, 379, 377, 163, 51, 209, 569, 282, 164, 570, | 431 /* 1390 */ 389, 595, 621, 414, 536, 601, 17, 362, 153, 414, |
| 419 /* 1400 */ 385, 143, 580, 116, 119, 183, 400, 590, 401, 121, | 432 /* 1400 */ 466, 463, 601, 78, 154, 414, 462, 152, 601, 77, |
| 420 /* 1410 */ 122, 123, 124, 126, 599, 328, 614, 55, 58, 615, | 433 /* 1410 */ 355, 255, 621, 455, 601, 9, 621, 386, 444, 517, |
| 421 /* 1420 */ 616, 619, 62, 418, 103, 226, 111, 176, 242, 182, | 434 /* 1420 */ 247, 621, 593, 593, 593, 621, 621, 244, 621, 243, |
| 422 /* 1430 */ 437, 313, 201, 314, 670, 671, 672, 149, 150, 467, | 435 /* 1430 */ 430, 518, 292, 621, 329, 621, 145, 393, 280, 513, |
| 423 /* 1440 */ 464, 34, 483, 471, 480, 184, 197, 502, 484, 5, | 436 /* 1440 */ 291, 131, 621, 514, 621, 621, 311, 621, 259, 346, |
| 424 /* 1450 */ 485, 151, 489, 44, 141, 11, 106, 160, 225, 518, | 437 /* 1450 */ 249, 621, 621, 229, 314, 621, 228, 512, 227, 240, |
| 425 /* 1460 */ 519, 49, 510, 108, 367, 270, 12, 155, 109, 50, | 438 /* 1460 */ 494, 488, 310, 164, 487, 486, 373, 480, 163, 262, |
| 426 /* 1470 */ 110, 262, 376, 186, 568, 113, 142, 154, 165, 115, | 439 /* 1470 */ 369, 371, 162, 26, 212, 478, 477, 161, 141, 363, |
| 427 /* 1480 */ 15, 283, 583, 166, 167, 380, 586, 117, 13, 120, | 440 /* 1480 */ 467, 122, 339, 187, 119, 348, 347, 117, 116, 115, |
| 428 /* 1490 */ 372, 52, 53, 118, 591, 169, 114, 170, 595, 125, | 441 /* 1490 */ 114, 112, 182, 457, 320, 22, 433, 432, 448, 19, |
| 429 /* 1500 */ 127, 571, 575, 602, 14, 128, 611, 612, 61, 175, | 442 /* 1500 */ 609, 431, 428, 62, 193, 596, 573, 298, 555, 552, |
| 430 /* 1510 */ 189, 415, 302, 627, 960, 960, 960, 960, 411, | 443 /* 1510 */ 571, 404, 290, 380, 498, 510, 495, 306, 281, 499, |
| 444 /* 1520 */ 250, 5, 497, 460, 345, 447, 569, 550, 238, 299, |
| 445 /* 1530 */ 527, 525, 508, 961, 502, 501, 961, 401, 961, 211, |
| 446 /* 1540 */ 490, 356, 256, 961, 483, 961, 961, 961, 961, 961, |
| 447 /* 1550 */ 961, 961, 961, 961, 961, 961, 370, |
| 431 }; | 448 }; |
| 432 static const YYCODETYPE yy_lookahead[] = { | 449 static const YYCODETYPE yy_lookahead[] = { |
| 433 /* 0 */ 19, 142, 143, 144, 145, 24, 116, 26, 75, 76, | 450 /* 0 */ 19, 142, 143, 144, 145, 24, 1, 26, 77, 78, |
| 434 /* 10 */ 77, 78, 25, 80, 81, 82, 83, 84, 85, 86, | 451 /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, |
| 435 /* 20 */ 87, 88, 89, 90, 26, 27, 160, 26, 27, 48, | 452 /* 20 */ 89, 90, 91, 92, 15, 98, 26, 27, 7, 8, |
| 436 /* 30 */ 49, 79, 80, 81, 82, 83, 84, 85, 86, 87, | 453 /* 30 */ 49, 50, 77, 78, 79, 80, 109, 82, 83, 84, |
| 437 /* 40 */ 88, 89, 90, 222, 223, 224, 225, 66, 67, 68, | 454 /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 22, 68, |
| 438 /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, | 455 /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 439 /* 60 */ 194, 80, 81, 82, 83, 84, 85, 86, 87, 88, | 456 /* 60 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, |
| 440 /* 70 */ 89, 90, 19, 90, 19, 94, 174, 25, 25, 80, | 457 /* 70 */ 89, 90, 91, 92, 19, 94, 112, 19, 114, 115, |
| 441 /* 80 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, | 458 /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 442 /* 90 */ 26, 27, 94, 95, 96, 94, 95, 99, 100, 101, | 459 /* 90 */ 91, 92, 19, 22, 94, 95, 96, 150, 150, 99, |
| 443 /* 100 */ 19, 48, 49, 150, 174, 52, 119, 166, 110, 84, | 460 /* 100 */ 100, 101, 76, 150, 49, 50, 105, 106, 107, 54, |
| 444 /* 110 */ 85, 86, 87, 88, 89, 90, 26, 27, 165, 66, | 461 /* 110 */ 110, 158, 165, 165, 161, 162, 26, 27, 165, 113, |
| 445 /* 120 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, | 462 /* 120 */ 16, 174, 175, 68, 69, 70, 71, 72, 73, 74, |
| 446 /* 130 */ 77, 78, 186, 80, 81, 82, 83, 84, 85, 86, | 463 /* 130 */ 75, 76, 77, 78, 79, 80, 118, 82, 83, 84, |
| 447 /* 140 */ 87, 88, 89, 90, 19, 90, 205, 95, 84, 85, | 464 /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 23, |
| 448 /* 150 */ 186, 96, 97, 98, 99, 100, 101, 102, 94, 95, | 465 /* 150 */ 92, 97, 98, 24, 96, 97, 98, 99, 100, 101, |
| 449 /* 160 */ 195, 97, 150, 222, 109, 224, 225, 26, 104, 105, | 466 /* 160 */ 102, 25, 97, 216, 60, 92, 62, 109, 221, 25, |
| 450 /* 170 */ 217, 90, 120, 48, 49, 50, 86, 165, 97, 98, | 467 /* 170 */ 97, 98, 99, 100, 101, 102, 86, 87, 49, 50, |
| 451 /* 180 */ 99, 100, 101, 102, 94, 95, 174, 175, 1, 2, | 468 /* 180 */ 118, 116, 109, 25, 94, 95, 32, 97, 88, 89, |
| 452 /* 190 */ 109, 66, 67, 68, 69, 70, 71, 72, 73, 74, | 469 /* 190 */ 90, 91, 92, 128, 104, 41, 106, 68, 69, 70, |
| 453 /* 200 */ 75, 76, 77, 78, 191, 80, 81, 82, 83, 84, | 470 /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 454 /* 210 */ 85, 86, 87, 88, 89, 90, 19, 116, 35, 150, | 471 /* 210 */ 11, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 455 /* 220 */ 12, 24, 208, 150, 222, 150, 224, 225, 216, 128, | 472 /* 220 */ 91, 92, 19, 19, 86, 87, 88, 89, 90, 91, |
| 456 /* 230 */ 161, 162, 150, 221, 165, 94, 28, 150, 165, 56, | 473 /* 230 */ 92, 27, 96, 150, 66, 99, 100, 101, 112, 150, |
| 457 /* 240 */ 165, 197, 160, 170, 171, 48, 49, 165, 204, 174, | 474 /* 240 */ 114, 115, 138, 150, 161, 162, 110, 103, 165, 222, |
| 458 /* 250 */ 175, 43, 165, 45, 185, 186, 174, 175, 169, 170, | 475 /* 250 */ 223, 224, 49, 50, 165, 22, 57, 24, 165, 170, |
| 459 /* 260 */ 171, 174, 175, 66, 67, 68, 69, 70, 71, 72, | 476 /* 260 */ 171, 118, 94, 170, 171, 23, 98, 25, 185, 186, |
| 460 /* 270 */ 73, 74, 75, 76, 77, 78, 194, 80, 81, 82, | 477 /* 270 */ 243, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 461 /* 280 */ 83, 84, 85, 86, 87, 88, 89, 90, 19, 214, | 478 /* 280 */ 77, 78, 79, 80, 126, 82, 83, 84, 85, 86, |
| 462 /* 290 */ 215, 108, 150, 25, 148, 150, 64, 22, 216, 24, | 479 /* 290 */ 87, 88, 89, 90, 91, 92, 19, 129, 130, 131, |
| 463 /* 300 */ 146, 147, 215, 221, 231, 232, 152, 165, 154, 150, | 480 /* 300 */ 88, 23, 172, 173, 105, 106, 107, 150, 22, 26, |
| 464 /* 310 */ 165, 49, 170, 171, 160, 181, 182, 48, 49, 174, | 481 /* 310 */ 27, 181, 26, 27, 22, 116, 26, 27, 26, 230, |
| 465 /* 320 */ 175, 232, 188, 165, 165, 21, 94, 0, 1, 2, | 482 /* 320 */ 231, 197, 165, 230, 231, 113, 49, 50, 204, 117, |
| 466 /* 330 */ 98, 55, 174, 174, 175, 66, 67, 68, 69, 70, | 483 /* 330 */ 96, 174, 175, 99, 100, 101, 22, 26, 27, 136, |
| 467 /* 340 */ 71, 72, 73, 74, 75, 76, 77, 78, 194, 80, | 484 /* 340 */ 26, 27, 118, 16, 110, 68, 69, 70, 71, 72, |
| 468 /* 350 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, | 485 /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 118, 82, |
| 469 /* 360 */ 19, 129, 130, 131, 96, 61, 104, 99, 100, 101, | 486 /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 470 /* 370 */ 150, 226, 218, 231, 232, 216, 150, 196, 110, 26, | 487 /* 370 */ 19, 214, 215, 150, 23, 23, 155, 94, 95, 22, |
| 471 /* 380 */ 27, 105, 106, 107, 158, 165, 183, 161, 162, 48, | 488 /* 380 */ 94, 95, 116, 160, 94, 95, 94, 60, 165, 62, |
| 472 /* 390 */ 49, 165, 116, 166, 174, 175, 86, 87, 88, 89, | 489 /* 390 */ 112, 26, 114, 115, 128, 23, 36, 174, 175, 88, |
| 473 /* 400 */ 90, 247, 84, 85, 100, 136, 183, 66, 67, 68, | 490 /* 400 */ 49, 50, 57, 120, 22, 94, 95, 23, 94, 95, |
| 474 /* 410 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, | 491 /* 410 */ 120, 51, 25, 136, 169, 170, 171, 194, 58, 68, |
| 475 /* 420 */ 11, 80, 81, 82, 83, 84, 85, 86, 87, 88, | 492 /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 476 /* 430 */ 89, 90, 19, 183, 150, 222, 23, 224, 225, 237, | 493 /* 430 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, |
| 477 /* 440 */ 220, 150, 138, 24, 160, 26, 22, 94, 95, 165, | 494 /* 440 */ 89, 90, 91, 92, 19, 150, 12, 12, 23, 228, |
| 478 /* 450 */ 26, 27, 26, 27, 89, 90, 165, 244, 174, 175, | 495 /* 450 */ 105, 106, 107, 23, 233, 25, 165, 19, 150, 94, |
| 479 /* 460 */ 236, 48, 49, 22, 55, 174, 175, 26, 27, 22, | 496 /* 460 */ 165, 116, 28, 28, 112, 174, 114, 115, 108, 174, |
| 480 /* 470 */ 23, 163, 25, 120, 166, 167, 168, 136, 194, 66, | 497 /* 470 */ 175, 26, 27, 165, 49, 50, 231, 11, 44, 44, |
| 481 /* 480 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, | 498 /* 480 */ 46, 46, 174, 175, 112, 160, 114, 115, 50, 22, |
| 482 /* 490 */ 77, 78, 153, 80, 81, 82, 83, 84, 85, 86, | 499 /* 490 */ 23, 57, 25, 68, 69, 70, 71, 72, 73, 74, |
| 483 /* 500 */ 87, 88, 89, 90, 19, 196, 160, 150, 23, 173, | 500 /* 500 */ 75, 76, 77, 78, 79, 80, 119, 82, 83, 84, |
| 484 /* 510 */ 198, 220, 65, 94, 105, 106, 107, 181, 94, 95, | 501 /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 194, |
| 485 /* 520 */ 94, 95, 165, 96, 150, 116, 99, 100, 101, 31, | 502 /* 520 */ 225, 23, 23, 215, 19, 95, 105, 106, 107, 150, |
| 486 /* 530 */ 150, 174, 175, 48, 49, 94, 95, 110, 40, 165, | 503 /* 530 */ 23, 150, 27, 23, 67, 25, 150, 206, 207, 94, |
| 487 /* 540 */ 194, 161, 162, 166, 160, 165, 120, 166, 174, 175, | 504 /* 540 */ 95, 166, 104, 218, 165, 22, 165, 109, 49, 50, |
| 488 /* 550 */ 233, 66, 67, 68, 69, 70, 71, 72, 73, 74, | 505 /* 550 */ 120, 165, 25, 174, 175, 174, 175, 23, 21, 234, |
| 489 /* 560 */ 75, 76, 77, 78, 218, 80, 81, 82, 83, 84, | 506 /* 560 */ 174, 175, 22, 23, 239, 25, 25, 68, 69, 70, |
| 490 /* 570 */ 85, 86, 87, 88, 89, 90, 19, 12, 194, 150, | 507 /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 491 /* 580 */ 23, 235, 205, 166, 167, 168, 240, 150, 172, 173, | 508 /* 580 */ 205, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 492 /* 590 */ 206, 207, 150, 28, 165, 190, 191, 181, 23, 150, | 509 /* 590 */ 91, 92, 19, 22, 23, 216, 23, 222, 223, 224, |
| 493 /* 600 */ 48, 49, 165, 174, 175, 48, 49, 165, 43, 233, | 510 /* 600 */ 63, 220, 35, 150, 150, 163, 220, 67, 166, 167, |
| 494 /* 610 */ 45, 174, 175, 135, 165, 137, 174, 175, 190, 191, | 511 /* 610 */ 168, 150, 169, 170, 171, 161, 162, 25, 165, 165, |
| 495 /* 620 */ 55, 69, 70, 66, 67, 68, 69, 70, 71, 72, | 512 /* 620 */ 150, 113, 49, 50, 25, 117, 165, 174, 175, 35, |
| 496 /* 630 */ 73, 74, 75, 76, 77, 78, 150, 80, 81, 82, | 513 /* 630 */ 7, 8, 9, 160, 160, 165, 120, 100, 67, 247, |
| 497 /* 640 */ 83, 84, 85, 86, 87, 88, 89, 90, 19, 150, | 514 /* 640 */ 248, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 498 /* 650 */ 98, 165, 23, 250, 251, 150, 155, 150, 19, 22, | 515 /* 650 */ 77, 78, 79, 80, 193, 82, 83, 84, 85, 86, |
| 499 /* 660 */ 174, 175, 213, 26, 165, 169, 170, 171, 23, 150, | 516 /* 660 */ 87, 88, 89, 90, 91, 92, 19, 194, 194, 150, |
| 500 /* 670 */ 165, 150, 165, 174, 175, 19, 150, 48, 49, 174, | 517 /* 670 */ 135, 24, 137, 35, 231, 138, 150, 129, 130, 206, |
| 501 /* 680 */ 175, 174, 175, 27, 165, 228, 165, 112, 49, 114, | 518 /* 680 */ 207, 30, 27, 213, 165, 34, 118, 95, 0, 1, |
| 502 /* 690 */ 115, 165, 177, 174, 175, 66, 67, 68, 69, 70, | 519 /* 690 */ 2, 165, 218, 174, 175, 50, 49, 50, 22, 48, |
| 503 /* 700 */ 71, 72, 73, 74, 75, 76, 77, 78, 150, 80, | 520 /* 700 */ 174, 175, 22, 23, 23, 244, 222, 223, 224, 166, |
| 504 /* 710 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, | 521 /* 710 */ 167, 168, 120, 239, 23, 68, 69, 70, 71, 72, |
| 505 /* 720 */ 19, 150, 23, 165, 25, 24, 150, 150, 232, 150, | 522 /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 506 /* 730 */ 229, 94, 174, 175, 213, 234, 165, 25, 150, 150, | 523 /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 507 /* 740 */ 150, 165, 165, 104, 165, 174, 175, 177, 109, 48, | 524 /* 740 */ 19, 150, 173, 165, 181, 182, 24, 67, 26, 104, |
| 508 /* 750 */ 49, 174, 175, 165, 165, 165, 19, 112, 22, 114, | 525 /* 750 */ 181, 188, 174, 175, 150, 39, 165, 150, 52, 150, |
| 509 /* 760 */ 115, 177, 174, 175, 27, 16, 187, 66, 67, 68, | 526 /* 760 */ 150, 150, 150, 144, 145, 174, 175, 249, 250, 165, |
| 510 /* 770 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, | 527 /* 770 */ 49, 50, 165, 52, 165, 165, 165, 165, 174, 175, |
| 511 /* 780 */ 150, 80, 81, 82, 83, 84, 85, 86, 87, 88, | 528 /* 780 */ 29, 174, 175, 174, 175, 174, 175, 160, 22, 68, |
| 512 /* 790 */ 89, 90, 19, 150, 95, 165, 144, 145, 150, 150, | 529 /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 513 /* 800 */ 150, 150, 113, 213, 174, 175, 117, 58, 165, 60, | 530 /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88, |
| 514 /* 810 */ 74, 23, 150, 165, 165, 165, 165, 174, 175, 120, | 531 /* 810 */ 89, 90, 91, 92, 19, 150, 94, 165, 150, 150, |
| 515 /* 820 */ 19, 48, 49, 174, 175, 174, 175, 165, 209, 166, | 532 /* 820 */ 160, 194, 150, 213, 160, 52, 174, 175, 23, 23, |
| 516 /* 830 */ 241, 22, 23, 166, 25, 187, 174, 175, 126, 66, | 533 /* 830 */ 165, 25, 22, 165, 165, 150, 150, 165, 52, 174, |
| 517 /* 840 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, | 534 /* 840 */ 175, 22, 174, 175, 49, 50, 174, 175, 190, 191, |
| 518 /* 850 */ 77, 78, 150, 80, 81, 82, 83, 84, 85, 86, | 535 /* 850 */ 165, 165, 240, 23, 194, 25, 187, 109, 194, 174, |
| 519 /* 860 */ 87, 88, 89, 90, 19, 150, 150, 165, 205, 182, | 536 /* 860 */ 175, 190, 191, 68, 69, 70, 71, 72, 73, 74, |
| 520 /* 870 */ 86, 150, 205, 150, 65, 166, 174, 175, 206, 207, | 537 /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84, |
| 521 /* 880 */ 165, 165, 177, 150, 23, 25, 165, 138, 165, 174, | 538 /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150, |
| 522 /* 890 */ 175, 241, 166, 48, 49, 174, 175, 113, 165, 98, | 539 /* 890 */ 22, 165, 150, 23, 150, 25, 150, 166, 91, 92, |
| 523 /* 900 */ 112, 117, 114, 115, 7, 8, 9, 174, 175, 193, | 540 /* 900 */ 174, 175, 22, 217, 165, 150, 102, 165, 150, 165, |
| 524 /* 910 */ 187, 66, 67, 68, 69, 70, 71, 72, 73, 74, | 541 /* 910 */ 150, 165, 150, 174, 175, 19, 174, 175, 49, 50, |
| 525 /* 920 */ 75, 76, 77, 78, 150, 80, 81, 82, 83, 84, | 542 /* 920 */ 165, 86, 87, 165, 23, 165, 25, 165, 24, 174, |
| 526 /* 930 */ 85, 86, 87, 88, 89, 90, 19, 150, 97, 165, | 543 /* 930 */ 175, 187, 174, 175, 174, 175, 205, 68, 69, 70, |
| 527 /* 940 */ 160, 150, 177, 150, 150, 150, 248, 249, 174, 175, | 544 /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 528 /* 950 */ 97, 98, 165, 129, 130, 150, 165, 116, 165, 165, | 545 /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 529 /* 960 */ 165, 174, 175, 103, 178, 48, 49, 174, 175, 128, | 546 /* 960 */ 91, 92, 19, 150, 150, 165, 150, 150, 166, 23, |
| 530 /* 970 */ 165, 98, 242, 112, 194, 114, 115, 199, 187, 174, | 547 /* 970 */ 150, 25, 160, 20, 174, 175, 1, 2, 165, 165, |
| 531 /* 980 */ 175, 187, 109, 242, 67, 68, 69, 70, 71, 72, | 548 /* 980 */ 104, 165, 165, 43, 150, 165, 240, 150, 49, 50, |
| 532 /* 990 */ 73, 74, 75, 76, 77, 78, 150, 80, 81, 82, | 549 /* 990 */ 174, 175, 49, 50, 23, 23, 25, 25, 53, 165, |
| 533 /* 1000 */ 83, 84, 85, 86, 87, 88, 89, 90, 19, 150, | 550 /* 1000 */ 187, 187, 165, 23, 187, 25, 194, 205, 174, 175, |
| 534 /* 1010 */ 160, 165, 209, 150, 112, 150, 114, 115, 7, 8, | 551 /* 1010 */ 71, 72, 69, 70, 71, 72, 73, 74, 75, 76, |
| 535 /* 1020 */ 174, 175, 209, 6, 165, 29, 199, 150, 165, 33, | 552 /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86, |
| 536 /* 1030 */ 165, 150, 149, 174, 175, 150, 241, 48, 49, 174, | 553 /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 98, 150, 165, |
| 537 /* 1040 */ 175, 149, 165, 47, 194, 149, 165, 16, 160, 149, | 554 /* 1040 */ 150, 160, 150, 59, 25, 53, 104, 22, 174, 175, |
| 538 /* 1050 */ 165, 174, 175, 13, 151, 174, 175, 68, 69, 70, | 555 /* 1050 */ 213, 138, 5, 165, 1, 165, 150, 165, 150, 150, |
| 539 /* 1060 */ 71, 72, 73, 74, 75, 76, 77, 78, 218, 80, | 556 /* 1060 */ 240, 150, 174, 175, 174, 175, 49, 50, 118, 150, |
| 540 /* 1070 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, | 557 /* 1070 */ 35, 165, 27, 165, 165, 194, 165, 108, 127, 76, |
| 541 /* 1080 */ 19, 20, 194, 22, 150, 150, 150, 26, 27, 58, | 558 /* 1080 */ 174, 175, 174, 175, 165, 174, 175, 70, 71, 72, |
| 542 /* 1090 */ 240, 60, 150, 160, 151, 19, 20, 36, 22, 165, | 559 /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 166, 82, |
| 543 /* 1100 */ 165, 165, 26, 27, 22, 23, 150, 165, 174, 175, | 560 /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 544 /* 1110 */ 174, 175, 36, 150, 25, 54, 150, 150, 150, 150, | 561 /* 1110 */ 19, 20, 193, 22, 150, 150, 150, 26, 27, 76, |
| 545 /* 1120 */ 23, 165, 25, 159, 150, 64, 194, 194, 165, 199, | 562 /* 1120 */ 150, 22, 1, 150, 119, 121, 217, 20, 37, 165, |
| 546 /* 1130 */ 54, 165, 165, 165, 165, 193, 150, 174, 175, 165, | 563 /* 1130 */ 165, 165, 16, 19, 20, 165, 22, 205, 165, 119, |
| 547 /* 1140 */ 64, 174, 175, 174, 175, 84, 85, 65, 150, 193, | 564 /* 1140 */ 26, 27, 108, 128, 150, 150, 150, 56, 150, 22, |
| 548 /* 1150 */ 126, 165, 217, 150, 93, 94, 95, 123, 200, 98, | 565 /* 1150 */ 150, 37, 150, 127, 160, 23, 150, 66, 193, 165, |
| 549 /* 1160 */ 84, 85, 86, 165, 105, 106, 107, 193, 165, 93, | 566 /* 1160 */ 165, 165, 16, 165, 23, 165, 150, 165, 174, 175, |
| 550 /* 1170 */ 94, 95, 174, 175, 98, 5, 23, 116, 25, 193, | 567 /* 1170 */ 56, 165, 150, 65, 174, 175, 15, 86, 87, 88, |
| 551 /* 1180 */ 10, 11, 12, 13, 14, 201, 23, 17, 25, 150, | 568 /* 1180 */ 66, 165, 140, 150, 93, 94, 95, 165, 194, 98, |
| 552 /* 1190 */ 129, 130, 131, 132, 133, 134, 193, 150, 125, 124, | 569 /* 1190 */ 174, 175, 22, 3, 164, 193, 174, 175, 165, 150, |
| 553 /* 1200 */ 30, 245, 32, 150, 165, 129, 130, 131, 132, 133, | 570 /* 1200 */ 86, 87, 4, 180, 150, 248, 251, 93, 94, 95, |
| 554 /* 1210 */ 134, 41, 165, 19, 20, 122, 22, 202, 165, 150, | 571 /* 1210 */ 216, 180, 98, 251, 165, 221, 150, 149, 6, 165, |
| 555 /* 1220 */ 26, 27, 150, 53, 150, 55, 160, 174, 175, 59, | 572 /* 1220 */ 129, 130, 131, 132, 133, 134, 193, 150, 174, 175, |
| 556 /* 1230 */ 36, 22, 62, 203, 165, 26, 27, 165, 150, 165, | 573 /* 1230 */ 116, 165, 19, 20, 150, 22, 149, 151, 150, 26, |
| 557 /* 1240 */ 193, 150, 105, 106, 107, 135, 174, 175, 54, 150, | 574 /* 1240 */ 27, 149, 165, 129, 130, 131, 132, 133, 134, 165, |
| 558 /* 1250 */ 150, 150, 227, 165, 22, 23, 165, 150, 64, 150, | 575 /* 1250 */ 37, 174, 175, 165, 149, 19, 20, 13, 22, 150, |
| 559 /* 1260 */ 194, 118, 174, 175, 165, 165, 165, 193, 150, 157, | 576 /* 1260 */ 150, 150, 26, 27, 146, 147, 151, 150, 25, 56, |
| 560 /* 1270 */ 150, 157, 165, 64, 165, 105, 106, 107, 84, 85, | 577 /* 1270 */ 152, 159, 154, 37, 165, 165, 165, 193, 160, 66, |
| 561 /* 1280 */ 23, 111, 25, 165, 193, 165, 116, 93, 94, 95, | 578 /* 1280 */ 116, 193, 165, 174, 175, 174, 175, 194, 199, 150, |
| 562 /* 1290 */ 150, 150, 98, 84, 85, 150, 150, 65, 150, 150, | 579 /* 1290 */ 200, 126, 56, 124, 123, 150, 201, 122, 150, 86, |
| 563 /* 1300 */ 150, 104, 150, 94, 150, 165, 165, 98, 210, 139, | 580 /* 1300 */ 87, 150, 66, 193, 165, 202, 93, 94, 95, 150, |
| 564 /* 1310 */ 165, 165, 210, 165, 165, 165, 150, 165, 150, 165, | 581 /* 1310 */ 165, 98, 194, 165, 125, 22, 165, 150, 150, 26, |
| 565 /* 1320 */ 121, 150, 150, 129, 130, 131, 132, 133, 134, 210, | 582 /* 1320 */ 27, 135, 86, 87, 165, 174, 175, 203, 226, 93, |
| 566 /* 1330 */ 150, 165, 150, 165, 150, 150, 165, 165, 129, 130, | 583 /* 1330 */ 94, 95, 165, 165, 98, 150, 218, 150, 193, 157, |
| 567 /* 1340 */ 131, 150, 150, 150, 211, 165, 150, 165, 104, 165, | 584 /* 1340 */ 118, 157, 129, 130, 131, 132, 133, 134, 5, 104, |
| 568 /* 1350 */ 165, 23, 23, 25, 25, 211, 165, 165, 165, 176, | 585 /* 1350 */ 165, 211, 165, 10, 11, 12, 13, 14, 150, 66, |
| 569 /* 1360 */ 23, 165, 25, 23, 23, 25, 25, 23, 211, 25, | 586 /* 1360 */ 17, 174, 175, 210, 246, 129, 130, 131, 132, 133, |
| 570 /* 1370 */ 46, 176, 184, 103, 176, 22, 90, 176, 178, 18, | 587 /* 1370 */ 134, 150, 210, 165, 31, 121, 33, 150, 150, 86, |
| 571 /* 1380 */ 176, 179, 176, 176, 179, 230, 230, 184, 157, 156, | 588 /* 1380 */ 87, 176, 174, 175, 150, 42, 165, 94, 211, 210, |
| 572 /* 1390 */ 156, 44, 157, 156, 135, 157, 157, 238, 156, 239, | 589 /* 1390 */ 150, 98, 165, 165, 211, 174, 175, 150, 55, 165, |
| 573 /* 1400 */ 157, 66, 189, 189, 22, 219, 157, 199, 18, 192, | 590 /* 1400 */ 57, 150, 174, 175, 61, 165, 150, 64, 174, 175, |
| 574 /* 1410 */ 192, 192, 192, 189, 199, 157, 39, 243, 243, 157, | 591 /* 1410 */ 150, 150, 165, 150, 174, 175, 165, 104, 150, 184, |
| 575 /* 1420 */ 157, 37, 246, 1, 164, 180, 180, 249, 15, 219, | 592 /* 1420 */ 150, 165, 129, 130, 131, 165, 165, 150, 165, 150, |
| 576 /* 1430 */ 23, 252, 22, 252, 118, 118, 118, 118, 118, 113, | 593 /* 1430 */ 150, 176, 150, 165, 47, 165, 150, 150, 176, 103, |
| 577 /* 1440 */ 98, 22, 11, 23, 23, 22, 22, 120, 23, 34, | 594 /* 1440 */ 150, 22, 165, 178, 165, 165, 179, 165, 105, 106, |
| 578 /* 1450 */ 23, 25, 23, 25, 118, 25, 22, 102, 50, 23, | 595 /* 1450 */ 107, 165, 165, 229, 111, 165, 92, 176, 229, 116, |
| 579 /* 1460 */ 23, 22, 27, 22, 50, 23, 34, 34, 22, 22, | 596 /* 1460 */ 184, 176, 179, 156, 176, 176, 18, 157, 156, 237, |
| 580 /* 1470 */ 22, 109, 19, 24, 20, 104, 38, 25, 104, 22, | 597 /* 1470 */ 45, 157, 156, 135, 157, 157, 238, 156, 68, 157, |
| 581 /* 1480 */ 5, 138, 1, 118, 34, 42, 27, 108, 22, 119, | 598 /* 1480 */ 189, 189, 139, 219, 22, 157, 18, 192, 192, 192, |
| 582 /* 1490 */ 50, 74, 74, 127, 1, 16, 51, 121, 20, 119, | 599 /* 1490 */ 192, 189, 219, 199, 157, 242, 40, 157, 199, 242, |
| 583 /* 1500 */ 108, 57, 51, 128, 22, 127, 23, 23, 16, 15, | 600 /* 1500 */ 153, 157, 38, 245, 196, 166, 232, 198, 177, 177, |
| 584 /* 1510 */ 22, 3, 140, 4, 253, 253, 253, 253, 63, | 601 /* 1510 */ 232, 227, 209, 178, 166, 182, 166, 148, 177, 177, |
| 602 /* 1520 */ 209, 196, 177, 199, 209, 199, 166, 208, 92, 195, |
| 603 /* 1530 */ 174, 174, 183, 252, 183, 183, 252, 191, 252, 235, |
| 604 /* 1540 */ 186, 241, 241, 252, 186, 252, 252, 252, 252, 252, |
| 605 /* 1550 */ 252, 252, 252, 252, 252, 252, 236, |
| 585 }; | 606 }; |
| 586 #define YY_SHIFT_USE_DFLT (-111) | 607 #define YY_SHIFT_USE_DFLT (-74) |
| 587 #define YY_SHIFT_MAX 415 | 608 #define YY_SHIFT_COUNT (418) |
| 609 #define YY_SHIFT_MIN (-73) |
| 610 #define YY_SHIFT_MAX (1468) |
| 588 static const short yy_shift_ofst[] = { | 611 static const short yy_shift_ofst[] = { |
| 589 /* 0 */ 187, 1061, 1170, 1061, 1194, 1194, -2, 64, 64, -19, | 612 /* 0 */ 975, 1114, 1343, 1114, 1213, 1213, 90, 90, 0, -19, |
| 590 /* 10 */ 1194, 1194, 1194, 1194, 1194, 276, 1, 125, 1076, 1194, | 613 /* 10 */ 1213, 1213, 1213, 1213, 1213, 345, 445, 721, 1091, 1213, |
| 591 /* 20 */ 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, | 614 /* 20 */ 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, |
| 592 /* 30 */ 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, | 615 /* 30 */ 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, |
| 593 /* 40 */ 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, | 616 /* 40 */ 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1236, 1213, 1213, |
| 594 /* 50 */ 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, -48, | 617 /* 50 */ 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, |
| 595 /* 60 */ 409, 1, 1, 141, 318, 318, -110, 53, 197, 269, | 618 /* 60 */ 1213, 199, 445, 445, 835, 835, 365, 1164, 55, 647, |
| 596 /* 70 */ 341, 413, 485, 557, 629, 701, 773, 845, 773, 773, | 619 /* 70 */ 573, 499, 425, 351, 277, 203, 129, 795, 795, 795, |
| 597 /* 80 */ 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, | 620 /* 80 */ 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, |
| 598 /* 90 */ 773, 773, 773, 773, 773, 773, 917, 989, 989, -67, | 621 /* 90 */ 795, 795, 795, 795, 795, 869, 795, 943, 1017, 1017, |
| 599 /* 100 */ -67, -1, -1, 55, 25, 310, 1, 1, 1, 1, | 622 /* 100 */ -69, -45, -45, -45, -45, -45, -1, 58, 138, 100, |
| 600 /* 110 */ 1, 639, 304, 1, 1, 1, 1, 1, 1, 1, | 623 /* 110 */ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, |
| 601 /* 120 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 365, | 624 /* 120 */ 445, 445, 445, 445, 445, 445, 537, 438, 445, 445, |
| 602 /* 130 */ 141, -17, -111, -111, -111, 1209, 81, 424, 353, 426, | 625 /* 130 */ 445, 445, 445, 365, 807, 1436, -74, -74, -74, 1293, |
| 603 /* 140 */ 441, 90, 565, 565, 1, 1, 1, 1, 1, 1, | 626 /* 140 */ 73, 434, 434, 311, 314, 290, 283, 286, 540, 467, |
| 604 /* 150 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 627 /* 150 */ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, |
| 605 /* 160 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 628 /* 160 */ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, |
| 606 /* 170 */ 1, 1, 1, 1, 1, 1, 447, 809, 327, 419, | 629 /* 170 */ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, |
| 607 /* 180 */ 419, 419, 841, 101, -110, -110, -110, -111, -111, -111, | 630 /* 180 */ 445, 445, 65, 722, 722, 722, 688, 266, 1164, 1164, |
| 608 /* 190 */ 232, 232, 268, 427, 575, 645, 788, 208, 861, 699, | 631 /* 190 */ 1164, -74, -74, -74, 136, 168, 168, 234, 360, 360, |
| 609 /* 200 */ 897, 784, 637, 52, 183, 183, 183, 902, 902, 996, | 632 /* 200 */ 360, 430, 372, 435, 352, 278, 126, -36, -36, -36, |
| 610 /* 210 */ 1059, 902, 902, 902, 902, 275, 689, -13, 141, 824, | 633 /* 210 */ -36, 421, 651, -36, -36, 592, 292, 212, 623, 158, |
| 611 /* 220 */ 824, 478, 498, 498, 656, 498, 262, 498, 141, 498, | 634 /* 220 */ 204, 204, 505, 158, 505, 144, 365, 154, 365, 154, |
| 612 /* 230 */ 141, 860, 737, 712, 737, 656, 656, 712, 1017, 1017, | 635 /* 230 */ 645, 154, 204, 154, 154, 535, 548, 548, 365, 387, |
| 613 /* 240 */ 1017, 1017, 1040, 1040, 1089, -110, 1024, 1034, 1075, 1093, | 636 /* 240 */ 508, 233, 1464, 1222, 1222, 1456, 1456, 1222, 1462, 1410, |
| 614 /* 250 */ 1073, 1110, 1143, 1143, 1197, 1199, 1197, 1199, 1197, 1199, | 637 /* 250 */ 1165, 1468, 1468, 1468, 1468, 1222, 1165, 1462, 1410, 1410, |
| 615 /* 260 */ 1244, 1244, 1324, 1244, 1270, 1244, 1353, 1286, 1286, 1324, | 638 /* 260 */ 1222, 1448, 1338, 1425, 1222, 1222, 1448, 1222, 1448, 1222, |
| 616 /* 270 */ 1244, 1244, 1244, 1353, 1361, 1143, 1361, 1143, 1361, 1143, | 639 /* 270 */ 1448, 1419, 1313, 1313, 1313, 1387, 1364, 1364, 1419, 1313, |
| 617 /* 280 */ 1143, 1347, 1259, 1361, 1143, 1335, 1335, 1382, 1024, 1143, | 640 /* 280 */ 1336, 1313, 1387, 1313, 1313, 1254, 1245, 1254, 1245, 1254, |
| 618 /* 290 */ 1390, 1390, 1390, 1390, 1024, 1335, 1382, 1143, 1377, 1377, | 641 /* 290 */ 1245, 1222, 1222, 1186, 1189, 1175, 1169, 1171, 1165, 1164, |
| 619 /* 300 */ 1143, 1143, 1384, -111, -111, -111, -111, -111, -111, 552, | 642 /* 300 */ 1243, 1244, 1244, 1212, 1212, 1212, 1212, -74, -74, -74, |
| 620 /* 310 */ 749, 1137, 1031, 1082, 1232, 801, 1097, 1153, 873, 1011, | 643 /* 310 */ -74, -74, -74, 939, 104, 680, 571, 327, 1, 980, |
| 621 /* 320 */ 853, 1163, 1257, 1328, 1329, 1337, 1340, 1341, 736, 1344, | 644 /* 320 */ 26, 972, 971, 946, 901, 870, 830, 806, 54, 21, |
| 622 /* 330 */ 1422, 1413, 1407, 1410, 1316, 1317, 1318, 1319, 1320, 1342, | 645 /* 330 */ -73, 510, 242, 1198, 1190, 1170, 1042, 1161, 1108, 1146, |
| 623 /* 340 */ 1326, 1419, 1420, 1421, 1423, 1431, 1424, 1425, 1426, 1427, | 646 /* 340 */ 1141, 1132, 1015, 1127, 1026, 1034, 1020, 1107, 1004, 1116, |
| 624 /* 350 */ 1429, 1428, 1415, 1430, 1432, 1428, 1327, 1434, 1433, 1435, | 647 /* 350 */ 1121, 1005, 1099, 951, 1043, 1003, 969, 1045, 1035, 950, |
| 625 /* 360 */ 1336, 1436, 1437, 1438, 1408, 1439, 1414, 1441, 1442, 1446, | 648 /* 360 */ 1053, 1047, 1025, 942, 913, 992, 1019, 945, 984, 940, |
| 626 /* 370 */ 1447, 1440, 1448, 1355, 1362, 1453, 1454, 1449, 1371, 1443, | 649 /* 370 */ 876, 904, 953, 896, 748, 804, 880, 786, 868, 819, |
| 627 /* 380 */ 1444, 1445, 1452, 1451, 1343, 1374, 1457, 1475, 1481, 1365, | 650 /* 380 */ 805, 810, 773, 751, 766, 706, 716, 691, 681, 568, |
| 628 /* 390 */ 1450, 1459, 1379, 1417, 1418, 1366, 1466, 1370, 1493, 1479, | 651 /* 390 */ 655, 638, 676, 516, 541, 594, 599, 567, 541, 534, |
| 629 /* 400 */ 1376, 1478, 1380, 1392, 1378, 1482, 1375, 1483, 1484, 1492, | 652 /* 400 */ 507, 527, 498, 523, 466, 382, 409, 384, 357, 6, |
| 630 /* 410 */ 1455, 1494, 1372, 1488, 1508, 1509, | 653 /* 410 */ 240, 224, 143, 62, 18, 71, 39, 9, 5, |
| 631 }; | 654 }; |
| 632 #define YY_REDUCE_USE_DFLT (-180) | 655 #define YY_REDUCE_USE_DFLT (-142) |
| 633 #define YY_REDUCE_MAX 308 | 656 #define YY_REDUCE_COUNT (312) |
| 657 #define YY_REDUCE_MIN (-141) |
| 658 #define YY_REDUCE_MAX (1369) |
| 634 static const short yy_reduce_ofst[] = { | 659 static const short yy_reduce_ofst[] = { |
| 635 /* 0 */ -141, 82, 154, 284, 12, 75, 69, 73, 142, -59, | 660 /* 0 */ -141, 994, 1118, 223, 157, -53, 93, 89, 83, 375, |
| 636 /* 10 */ 145, 87, 159, 220, 291, 346, 226, 213, 357, 374, | 661 /* 10 */ 386, 381, 379, 308, 295, 325, -47, 27, 1240, 1234, |
| 637 /* 20 */ 429, 437, 442, 486, 499, 505, 507, 519, 558, 571, | 662 /* 20 */ 1228, 1221, 1208, 1187, 1151, 1111, 1109, 1077, 1054, 1022, |
| 638 /* 30 */ 577, 588, 630, 643, 649, 651, 662, 702, 715, 721, | 663 /* 30 */ 1016, 1000, 911, 908, 906, 890, 888, 874, 834, 816, |
| 639 /* 40 */ 733, 774, 787, 793, 805, 846, 859, 865, 877, 881, | 664 /* 40 */ 800, 760, 758, 755, 742, 739, 726, 685, 672, 668, |
| 640 /* 50 */ 934, 936, 963, 967, 969, 998, 1053, 1072, 1088, -179, | 665 /* 50 */ 665, 652, 611, 609, 607, 604, 591, 578, 526, 519, |
| 641 /* 60 */ 850, 956, 380, 308, 89, 496, 384, 2, 2, 2, | 666 /* 60 */ 453, 474, 454, 461, 443, 245, 442, 473, 484, 484, |
| 642 /* 70 */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 667 /* 70 */ 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, |
| 643 /* 80 */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 668 /* 80 */ 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, |
| 644 /* 90 */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 669 /* 90 */ 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, |
| 645 /* 100 */ 2, 2, 2, 416, 2, 2, 449, 579, 648, 723, | 670 /* 100 */ 484, 484, 484, 484, 484, 484, 484, 130, 484, 484, |
| 646 /* 110 */ 791, 134, 501, 716, 521, 794, 589, -47, 650, 590, | 671 /* 110 */ 1145, 909, 1110, 1088, 1084, 1033, 1002, 965, 820, 837, |
| 647 /* 120 */ 795, 942, 974, 986, 1003, 1047, 1074, 935, 1091, 2, | 672 /* 120 */ 746, 686, 612, 817, 610, 919, 221, 563, 814, 813, |
| 648 /* 130 */ 417, 2, 2, 2, 2, 158, 336, 526, 576, 863, | 673 /* 130 */ 744, 669, 470, 543, 484, 484, 484, 484, 484, 291, |
| 649 /* 140 */ 885, 966, 405, 428, 968, 1039, 1069, 1099, 1100, 966, | 674 /* 140 */ 569, 671, 658, 970, 1290, 1287, 1286, 1282, 518, 518, |
| 650 /* 150 */ 1101, 1107, 1109, 1118, 1120, 1140, 1141, 1145, 1146, 1148, | 675 /* 150 */ 1280, 1279, 1277, 1270, 1268, 1263, 1261, 1260, 1256, 1251, |
| 651 /* 160 */ 1149, 1150, 1152, 1154, 1166, 1168, 1171, 1172, 1180, 1182, | 676 /* 160 */ 1247, 1227, 1185, 1168, 1167, 1159, 1148, 1139, 1117, 1066, |
| 652 /* 170 */ 1184, 1185, 1191, 1192, 1193, 1196, 403, 403, 652, 377, | 677 /* 170 */ 1049, 1006, 998, 996, 995, 973, 970, 966, 964, 892, |
| 653 /* 180 */ 663, 667, -134, 780, 888, 933, 1066, 44, 672, 698, | 678 /* 180 */ 762, -52, 881, 932, 802, 731, 619, 812, 664, 660, |
| 654 /* 190 */ -98, -70, -54, -36, -35, -35, -35, 13, -35, 14, | 679 /* 190 */ 627, 392, 331, 124, 1358, 1357, 1356, 1354, 1352, 1351, |
| 655 /* 200 */ 146, 181, 227, 14, 203, 223, 250, -35, -35, 224, | 680 /* 200 */ 1349, 1319, 1334, 1346, 1334, 1334, 1334, 1334, 1334, 1334, |
| 656 /* 210 */ 202, -35, -35, -35, -35, 339, 309, 312, 381, 317, | 681 /* 210 */ 1334, 1320, 1304, 1334, 1334, 1319, 1360, 1325, 1369, 1326, |
| 657 /* 220 */ 376, 457, 515, 570, 619, 584, 687, 705, 709, 765, | 682 /* 220 */ 1315, 1311, 1301, 1324, 1300, 1335, 1350, 1345, 1348, 1342, |
| 658 /* 230 */ 726, 786, 730, 778, 741, 803, 813, 827, 883, 892, | 683 /* 230 */ 1333, 1341, 1303, 1332, 1331, 1284, 1278, 1274, 1339, 1309, |
| 659 /* 240 */ 896, 900, 903, 943, 964, 932, 930, 958, 984, 1015, | 684 /* 240 */ 1308, 1347, 1258, 1344, 1340, 1257, 1253, 1337, 1273, 1302, |
| 660 /* 250 */ 1030, 1025, 1112, 1114, 1098, 1133, 1102, 1144, 1119, 1157, | 685 /* 250 */ 1299, 1298, 1297, 1296, 1295, 1328, 1294, 1264, 1292, 1291, |
| 661 /* 260 */ 1183, 1195, 1188, 1198, 1200, 1201, 1202, 1155, 1156, 1203, | 686 /* 260 */ 1322, 1321, 1238, 1232, 1318, 1317, 1316, 1314, 1312, 1310, |
| 662 /* 270 */ 1204, 1206, 1207, 1205, 1233, 1231, 1234, 1235, 1237, 1238, | 687 /* 270 */ 1307, 1283, 1289, 1288, 1285, 1276, 1229, 1224, 1267, 1281, |
| 663 /* 280 */ 1239, 1159, 1160, 1242, 1243, 1213, 1214, 1186, 1208, 1249, | 688 /* 280 */ 1265, 1262, 1235, 1255, 1205, 1183, 1179, 1177, 1162, 1140, |
| 664 /* 290 */ 1217, 1218, 1219, 1220, 1215, 1224, 1210, 1258, 1174, 1175, | 689 /* 290 */ 1153, 1184, 1182, 1102, 1124, 1103, 1095, 1090, 1089, 1093, |
| 665 /* 300 */ 1262, 1263, 1176, 1260, 1245, 1246, 1178, 1179, 1181, | 690 /* 300 */ 1112, 1115, 1086, 1105, 1092, 1087, 1068, 962, 955, 957, |
| 691 /* 310 */ 1031, 1023, 1030, |
| 666 }; | 692 }; |
| 667 static const YYACTIONTYPE yy_default[] = { | 693 static const YYACTIONTYPE yy_default[] = { |
| 668 /* 0 */ 634, 869, 958, 958, 869, 958, 958, 898, 898, 757, | 694 /* 0 */ 635, 870, 959, 959, 959, 870, 899, 899, 959, 759, |
| 669 /* 10 */ 867, 958, 958, 958, 958, 958, 958, 932, 958, 958, | 695 /* 10 */ 959, 959, 959, 959, 868, 959, 959, 933, 959, 959, |
| 670 /* 20 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, | 696 /* 20 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 671 /* 30 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, | 697 /* 30 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 672 /* 40 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, | 698 /* 40 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 673 /* 50 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 841, | 699 /* 50 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 674 /* 60 */ 958, 958, 958, 673, 898, 898, 761, 792, 958, 958, | 700 /* 60 */ 959, 959, 959, 959, 899, 899, 674, 763, 794, 959, |
| 675 /* 70 */ 958, 958, 958, 958, 958, 958, 793, 958, 871, 866, | 701 /* 70 */ 959, 959, 959, 959, 959, 959, 959, 932, 934, 809, |
| 676 /* 80 */ 862, 864, 863, 870, 794, 783, 790, 797, 772, 911, | 702 /* 80 */ 808, 802, 801, 912, 774, 799, 792, 785, 796, 871, |
| 677 /* 90 */ 799, 800, 806, 807, 933, 931, 829, 828, 847, 831, | 703 /* 90 */ 864, 865, 863, 867, 872, 959, 795, 831, 848, 830, |
| 678 /* 100 */ 853, 830, 840, 665, 832, 833, 958, 958, 958, 958, | 704 /* 100 */ 842, 847, 854, 846, 843, 833, 832, 666, 834, 835, |
| 679 /* 110 */ 958, 726, 660, 958, 958, 958, 958, 958, 958, 958, | 705 /* 110 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 680 /* 120 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 834, | 706 /* 120 */ 959, 959, 959, 959, 959, 959, 661, 728, 959, 959, |
| 681 /* 130 */ 958, 835, 848, 849, 850, 958, 958, 958, 958, 958, | 707 /* 130 */ 959, 959, 959, 959, 836, 837, 851, 850, 849, 959, |
| 682 /* 140 */ 958, 958, 958, 958, 640, 958, 958, 958, 958, 958, | 708 /* 140 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 683 /* 150 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, | 709 /* 150 */ 959, 939, 937, 959, 883, 959, 959, 959, 959, 959, |
| 684 /* 160 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, | 710 /* 160 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 685 /* 170 */ 958, 882, 958, 936, 938, 958, 958, 958, 634, 757, | 711 /* 170 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 686 /* 180 */ 757, 757, 958, 958, 958, 958, 958, 751, 761, 950, | 712 /* 180 */ 959, 641, 959, 759, 759, 759, 635, 959, 959, 959, |
| 687 /* 190 */ 958, 958, 717, 958, 958, 958, 958, 958, 958, 958, | 713 /* 190 */ 959, 951, 763, 753, 719, 959, 959, 959, 959, 959, |
| 688 /* 200 */ 642, 749, 675, 759, 958, 958, 958, 662, 738, 904, | 714 /* 200 */ 959, 959, 959, 959, 959, 959, 959, 804, 742, 922, |
| 689 /* 210 */ 958, 923, 921, 740, 802, 958, 749, 758, 958, 958, | 715 /* 210 */ 924, 959, 905, 740, 663, 761, 676, 751, 643, 798, |
| 690 /* 220 */ 958, 865, 786, 786, 774, 786, 696, 786, 958, 786, | 716 /* 220 */ 776, 776, 917, 798, 917, 700, 959, 788, 959, 788, |
| 691 /* 230 */ 958, 699, 916, 796, 916, 774, 774, 796, 639, 639, | 717 /* 230 */ 697, 788, 776, 788, 788, 866, 959, 959, 959, 760, |
| 692 /* 240 */ 639, 639, 650, 650, 716, 958, 796, 787, 789, 779, | 718 /* 240 */ 751, 959, 944, 767, 767, 936, 936, 767, 810, 732, |
| 693 /* 250 */ 791, 958, 765, 765, 773, 778, 773, 778, 773, 778, | 719 /* 250 */ 798, 739, 739, 739, 739, 767, 798, 810, 732, 732, |
| 694 /* 260 */ 728, 728, 713, 728, 699, 728, 875, 879, 879, 713, | 720 /* 260 */ 767, 658, 911, 909, 767, 767, 658, 767, 658, 767, |
| 695 /* 270 */ 728, 728, 728, 875, 657, 765, 657, 765, 657, 765, | 721 /* 270 */ 658, 876, 730, 730, 730, 715, 880, 880, 876, 730, |
| 696 /* 280 */ 765, 908, 910, 657, 765, 730, 730, 808, 796, 765, | 722 /* 280 */ 700, 730, 715, 730, 730, 780, 775, 780, 775, 780, |
| 697 /* 290 */ 737, 737, 737, 737, 796, 730, 808, 765, 935, 935, | 723 /* 290 */ 775, 767, 767, 959, 793, 781, 791, 789, 798, 959, |
| 698 /* 300 */ 765, 765, 943, 683, 701, 701, 950, 955, 955, 958, | 724 /* 300 */ 718, 651, 651, 640, 640, 640, 640, 956, 956, 951, |
| 699 /* 310 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, | 725 /* 310 */ 702, 702, 684, 959, 959, 959, 959, 959, 959, 959, |
| 700 /* 320 */ 958, 958, 958, 958, 958, 958, 958, 958, 884, 958, | 726 /* 320 */ 885, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 701 /* 330 */ 958, 648, 958, 667, 815, 820, 816, 958, 817, 958, | 727 /* 330 */ 959, 959, 959, 959, 636, 946, 959, 959, 943, 959, |
| 702 /* 340 */ 743, 958, 958, 958, 958, 958, 958, 958, 958, 958, | 728 /* 340 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 703 /* 350 */ 958, 868, 958, 780, 958, 788, 958, 958, 958, 958, | 729 /* 350 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 915, |
| 704 /* 360 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, | 730 /* 360 */ 959, 959, 959, 959, 959, 959, 908, 907, 959, 959, |
| 705 /* 370 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, | 731 /* 370 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 706 /* 380 */ 958, 906, 907, 958, 958, 958, 958, 958, 958, 914, | 732 /* 380 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, |
| 707 /* 390 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, | 733 /* 390 */ 959, 959, 959, 959, 790, 959, 782, 959, 869, 959, |
| 708 /* 400 */ 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, | 734 /* 400 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 745, |
| 709 /* 410 */ 942, 958, 958, 945, 635, 958, 630, 632, 633, 637, | 735 /* 410 */ 819, 959, 818, 822, 817, 668, 959, 649, 959, 632, |
| 710 /* 420 */ 638, 641, 667, 668, 670, 671, 672, 643, 644, 645, | 736 /* 420 */ 637, 955, 958, 957, 954, 953, 952, 947, 945, 942, |
| 711 /* 430 */ 646, 647, 649, 653, 651, 652, 654, 661, 663, 682, | 737 /* 430 */ 941, 940, 938, 935, 931, 889, 887, 894, 893, 892, |
| 712 /* 440 */ 684, 686, 747, 748, 812, 741, 742, 746, 669, 823, | 738 /* 440 */ 891, 890, 888, 886, 884, 805, 803, 800, 797, 930, |
| 713 /* 450 */ 814, 818, 819, 821, 822, 836, 837, 839, 845, 852, | 739 /* 450 */ 882, 741, 738, 737, 657, 948, 914, 923, 921, 811, |
| 714 /* 460 */ 855, 838, 843, 844, 846, 851, 854, 744, 745, 858, | 740 /* 460 */ 920, 919, 918, 916, 913, 900, 807, 806, 733, 874, |
| 715 /* 470 */ 676, 677, 680, 681, 894, 896, 895, 897, 679, 678, | 741 /* 470 */ 873, 660, 904, 903, 902, 906, 910, 901, 769, 659, |
| 716 /* 480 */ 824, 827, 860, 861, 924, 925, 926, 927, 928, 856, | 742 /* 480 */ 656, 665, 722, 721, 729, 727, 726, 725, 724, 723, |
| 717 /* 490 */ 766, 859, 842, 781, 784, 785, 782, 750, 760, 768, | 743 /* 490 */ 720, 667, 675, 686, 714, 699, 698, 879, 881, 878, |
| 718 /* 500 */ 769, 770, 771, 755, 756, 762, 777, 810, 811, 775, | 744 /* 500 */ 877, 707, 706, 712, 711, 710, 709, 708, 705, 704, |
| 719 /* 510 */ 776, 763, 764, 752, 753, 754, 857, 813, 825, 826, | 745 /* 510 */ 703, 696, 695, 701, 694, 717, 716, 713, 693, 736, |
| 720 /* 520 */ 687, 688, 820, 689, 690, 691, 729, 732, 733, 734, | 746 /* 520 */ 735, 734, 731, 692, 691, 690, 822, 689, 688, 828, |
| 721 /* 530 */ 692, 711, 714, 715, 693, 700, 694, 695, 702, 703, | 747 /* 530 */ 827, 815, 858, 756, 755, 754, 766, 765, 778, 777, |
| 722 /* 540 */ 704, 707, 708, 709, 710, 705, 706, 876, 877, 880, | 748 /* 540 */ 813, 812, 779, 764, 758, 757, 773, 772, 771, 770, |
| 723 /* 550 */ 878, 697, 698, 712, 685, 674, 666, 718, 721, 722, | 749 /* 550 */ 762, 752, 784, 787, 786, 783, 860, 768, 857, 929, |
| 724 /* 560 */ 723, 724, 725, 727, 719, 720, 664, 655, 658, 767, | 750 /* 560 */ 928, 927, 926, 925, 862, 861, 829, 826, 679, 680, |
| 725 /* 570 */ 900, 909, 905, 901, 902, 903, 659, 872, 873, 731, | 751 /* 570 */ 898, 896, 897, 895, 682, 681, 678, 677, 859, 747, |
| 726 /* 580 */ 804, 805, 899, 912, 915, 917, 918, 919, 809, 920, | 752 /* 580 */ 746, 855, 852, 844, 840, 856, 853, 845, 841, 839, |
| 727 /* 590 */ 922, 913, 947, 656, 735, 736, 739, 881, 929, 795, | 753 /* 590 */ 838, 824, 823, 821, 820, 816, 825, 670, 748, 744, |
| 728 /* 600 */ 798, 801, 803, 883, 885, 887, 889, 890, 891, 892, | 754 /* 600 */ 743, 814, 750, 749, 687, 685, 683, 664, 662, 655, |
| 729 /* 610 */ 893, 886, 888, 930, 934, 937, 939, 940, 941, 944, | 755 /* 610 */ 653, 652, 654, 650, 648, 647, 646, 645, 644, 673, |
| 730 /* 620 */ 946, 951, 952, 953, 956, 957, 954, 636, 631, | 756 /* 620 */ 672, 671, 669, 668, 642, 639, 638, 634, 633, 631, |
| 731 }; | 757 }; |
| 732 #define YY_SZ_ACTTAB (int)(sizeof(yy_action)/sizeof(yy_action[0])) | |
| 733 | 758 |
| 734 /* The next table maps tokens into fallback tokens. If a construct | 759 /* The next table maps tokens into fallback tokens. If a construct |
| 735 ** like the following: | 760 ** like the following: |
| 736 ** | 761 ** |
| 737 ** %fallback ID X Y Z. | 762 ** %fallback ID X Y Z. |
| 738 ** | 763 ** |
| 739 ** appears in the grammar, then ID becomes a fallback token for X, Y, | 764 ** appears in the grammar, then ID becomes a fallback token for X, Y, |
| 740 ** and Z. Whenever one of the tokens X, Y, or Z is input to the parser | 765 ** and Z. Whenever one of the tokens X, Y, or Z is input to the parser |
| 741 ** but it does not parse, the type of the token is changed to ID and | 766 ** but it does not parse, the type of the token is changed to ID and |
| 742 ** the parse is retried before an error is thrown. | 767 ** the parse is retried before an error is thrown. |
| (...skipping 22 matching lines...) Expand all Loading... |
| 765 0, /* NOT => nothing */ | 790 0, /* NOT => nothing */ |
| 766 0, /* EXISTS => nothing */ | 791 0, /* EXISTS => nothing */ |
| 767 26, /* TEMP => ID */ | 792 26, /* TEMP => ID */ |
| 768 0, /* LP => nothing */ | 793 0, /* LP => nothing */ |
| 769 0, /* RP => nothing */ | 794 0, /* RP => nothing */ |
| 770 0, /* AS => nothing */ | 795 0, /* AS => nothing */ |
| 771 0, /* COMMA => nothing */ | 796 0, /* COMMA => nothing */ |
| 772 0, /* ID => nothing */ | 797 0, /* ID => nothing */ |
| 773 0, /* INDEXED => nothing */ | 798 0, /* INDEXED => nothing */ |
| 774 26, /* ABORT => ID */ | 799 26, /* ABORT => ID */ |
| 800 26, /* ACTION => ID */ |
| 775 26, /* AFTER => ID */ | 801 26, /* AFTER => ID */ |
| 776 26, /* ANALYZE => ID */ | 802 26, /* ANALYZE => ID */ |
| 777 26, /* ASC => ID */ | 803 26, /* ASC => ID */ |
| 778 26, /* ATTACH => ID */ | 804 26, /* ATTACH => ID */ |
| 779 26, /* BEFORE => ID */ | 805 26, /* BEFORE => ID */ |
| 780 26, /* BY => ID */ | 806 26, /* BY => ID */ |
| 781 26, /* CASCADE => ID */ | 807 26, /* CASCADE => ID */ |
| 782 26, /* CAST => ID */ | 808 26, /* CAST => ID */ |
| 783 26, /* COLUMNKW => ID */ | 809 26, /* COLUMNKW => ID */ |
| 784 26, /* CONFLICT => ID */ | 810 26, /* CONFLICT => ID */ |
| 785 26, /* DATABASE => ID */ | 811 26, /* DATABASE => ID */ |
| 786 26, /* DESC => ID */ | 812 26, /* DESC => ID */ |
| 787 26, /* DETACH => ID */ | 813 26, /* DETACH => ID */ |
| 788 26, /* EACH => ID */ | 814 26, /* EACH => ID */ |
| 789 26, /* FAIL => ID */ | 815 26, /* FAIL => ID */ |
| 790 26, /* FOR => ID */ | 816 26, /* FOR => ID */ |
| 791 26, /* IGNORE => ID */ | 817 26, /* IGNORE => ID */ |
| 792 26, /* INITIALLY => ID */ | 818 26, /* INITIALLY => ID */ |
| 793 26, /* INSTEAD => ID */ | 819 26, /* INSTEAD => ID */ |
| 794 26, /* LIKE_KW => ID */ | 820 26, /* LIKE_KW => ID */ |
| 795 26, /* MATCH => ID */ | 821 26, /* MATCH => ID */ |
| 822 26, /* NO => ID */ |
| 796 26, /* KEY => ID */ | 823 26, /* KEY => ID */ |
| 797 26, /* OF => ID */ | 824 26, /* OF => ID */ |
| 798 26, /* OFFSET => ID */ | 825 26, /* OFFSET => ID */ |
| 799 26, /* PRAGMA => ID */ | 826 26, /* PRAGMA => ID */ |
| 800 26, /* RAISE => ID */ | 827 26, /* RAISE => ID */ |
| 801 26, /* REPLACE => ID */ | 828 26, /* REPLACE => ID */ |
| 802 26, /* RESTRICT => ID */ | 829 26, /* RESTRICT => ID */ |
| 803 26, /* ROW => ID */ | 830 26, /* ROW => ID */ |
| 804 26, /* TRIGGER => ID */ | 831 26, /* TRIGGER => ID */ |
| 805 26, /* VACUUM => ID */ | 832 26, /* VACUUM => ID */ |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 886 /* For tracing shifts, the names of all terminals and nonterminals | 913 /* For tracing shifts, the names of all terminals and nonterminals |
| 887 ** are required. The following table supplies these names */ | 914 ** are required. The following table supplies these names */ |
| 888 static const char *const yyTokenName[] = { | 915 static const char *const yyTokenName[] = { |
| 889 "$", "SEMI", "EXPLAIN", "QUERY", | 916 "$", "SEMI", "EXPLAIN", "QUERY", |
| 890 "PLAN", "BEGIN", "TRANSACTION", "DEFERRED", | 917 "PLAN", "BEGIN", "TRANSACTION", "DEFERRED", |
| 891 "IMMEDIATE", "EXCLUSIVE", "COMMIT", "END", | 918 "IMMEDIATE", "EXCLUSIVE", "COMMIT", "END", |
| 892 "ROLLBACK", "SAVEPOINT", "RELEASE", "TO", | 919 "ROLLBACK", "SAVEPOINT", "RELEASE", "TO", |
| 893 "TABLE", "CREATE", "IF", "NOT", | 920 "TABLE", "CREATE", "IF", "NOT", |
| 894 "EXISTS", "TEMP", "LP", "RP", | 921 "EXISTS", "TEMP", "LP", "RP", |
| 895 "AS", "COMMA", "ID", "INDEXED", | 922 "AS", "COMMA", "ID", "INDEXED", |
| 896 "ABORT", "AFTER", "ANALYZE", "ASC", | 923 "ABORT", "ACTION", "AFTER", "ANALYZE", |
| 897 "ATTACH", "BEFORE", "BY", "CASCADE", | 924 "ASC", "ATTACH", "BEFORE", "BY", |
| 898 "CAST", "COLUMNKW", "CONFLICT", "DATABASE", | 925 "CASCADE", "CAST", "COLUMNKW", "CONFLICT", |
| 899 "DESC", "DETACH", "EACH", "FAIL", | 926 "DATABASE", "DESC", "DETACH", "EACH", |
| 900 "FOR", "IGNORE", "INITIALLY", "INSTEAD", | 927 "FAIL", "FOR", "IGNORE", "INITIALLY", |
| 901 "LIKE_KW", "MATCH", "KEY", "OF", | 928 "INSTEAD", "LIKE_KW", "MATCH", "NO", |
| 902 "OFFSET", "PRAGMA", "RAISE", "REPLACE", | 929 "KEY", "OF", "OFFSET", "PRAGMA", |
| 903 "RESTRICT", "ROW", "TRIGGER", "VACUUM", | 930 "RAISE", "REPLACE", "RESTRICT", "ROW", |
| 904 "VIEW", "VIRTUAL", "REINDEX", "RENAME", | 931 "TRIGGER", "VACUUM", "VIEW", "VIRTUAL", |
| 905 "CTIME_KW", "ANY", "OR", "AND", | 932 "REINDEX", "RENAME", "CTIME_KW", "ANY", |
| 906 "IS", "BETWEEN", "IN", "ISNULL", | 933 "OR", "AND", "IS", "BETWEEN", |
| 907 "NOTNULL", "NE", "EQ", "GT", | 934 "IN", "ISNULL", "NOTNULL", "NE", |
| 908 "LE", "LT", "GE", "ESCAPE", | 935 "EQ", "GT", "LE", "LT", |
| 909 "BITAND", "BITOR", "LSHIFT", "RSHIFT", | 936 "GE", "ESCAPE", "BITAND", "BITOR", |
| 910 "PLUS", "MINUS", "STAR", "SLASH", | 937 "LSHIFT", "RSHIFT", "PLUS", "MINUS", |
| 911 "REM", "CONCAT", "COLLATE", "UMINUS", | 938 "STAR", "SLASH", "REM", "CONCAT", |
| 912 "UPLUS", "BITNOT", "STRING", "JOIN_KW", | 939 "COLLATE", "BITNOT", "STRING", "JOIN_KW", |
| 913 "CONSTRAINT", "DEFAULT", "NULL", "PRIMARY", | 940 "CONSTRAINT", "DEFAULT", "NULL", "PRIMARY", |
| 914 "UNIQUE", "CHECK", "REFERENCES", "AUTOINCR", | 941 "UNIQUE", "CHECK", "REFERENCES", "AUTOINCR", |
| 915 "ON", "DELETE", "UPDATE", "INSERT", | 942 "ON", "INSERT", "DELETE", "UPDATE", |
| 916 "SET", "DEFERRABLE", "FOREIGN", "DROP", | 943 "SET", "DEFERRABLE", "FOREIGN", "DROP", |
| 917 "UNION", "ALL", "EXCEPT", "INTERSECT", | 944 "UNION", "ALL", "EXCEPT", "INTERSECT", |
| 918 "SELECT", "DISTINCT", "DOT", "FROM", | 945 "SELECT", "DISTINCT", "DOT", "FROM", |
| 919 "JOIN", "USING", "ORDER", "GROUP", | 946 "JOIN", "USING", "ORDER", "GROUP", |
| 920 "HAVING", "LIMIT", "WHERE", "INTO", | 947 "HAVING", "LIMIT", "WHERE", "INTO", |
| 921 "VALUES", "INTEGER", "FLOAT", "BLOB", | 948 "VALUES", "INTEGER", "FLOAT", "BLOB", |
| 922 "REGISTER", "VARIABLE", "CASE", "WHEN", | 949 "REGISTER", "VARIABLE", "CASE", "WHEN", |
| 923 "THEN", "ELSE", "INDEX", "ALTER", | 950 "THEN", "ELSE", "INDEX", "ALTER", |
| 924 "ADD", "error", "input", "cmdlist", | 951 "ADD", "error", "input", "cmdlist", |
| 925 "ecmd", "explain", "cmdx", "cmd", | 952 "ecmd", "explain", "cmdx", "cmd", |
| 926 "transtype", "trans_opt", "nm", "savepoint_opt", | 953 "transtype", "trans_opt", "nm", "savepoint_opt", |
| 927 "create_table", "create_table_args", "createkw", "temp", | 954 "create_table", "create_table_args", "createkw", "temp", |
| 928 "ifnotexists", "dbnm", "columnlist", "conslist_opt", | 955 "ifnotexists", "dbnm", "columnlist", "conslist_opt", |
| 929 "select", "column", "columnid", "type", | 956 "select", "column", "columnid", "type", |
| 930 "carglist", "id", "ids", "typetoken", | 957 "carglist", "id", "ids", "typetoken", |
| 931 "typename", "signed", "plus_num", "minus_num", | 958 "typename", "signed", "plus_num", "minus_num", |
| 932 "carg", "ccons", "term", "expr", | 959 "carg", "ccons", "term", "expr", |
| 933 "onconf", "sortorder", "autoinc", "idxlist_opt", | 960 "onconf", "sortorder", "autoinc", "idxlist_opt", |
| 934 "refargs", "defer_subclause", "refarg", "refact", | 961 "refargs", "defer_subclause", "refarg", "refact", |
| 935 "init_deferred_pred_opt", "conslist", "tcons", "idxlist", | 962 "init_deferred_pred_opt", "conslist", "tcons", "idxlist", |
| 936 "defer_subclause_opt", "orconf", "resolvetype", "raisetype", | 963 "defer_subclause_opt", "orconf", "resolvetype", "raisetype", |
| 937 "ifexists", "fullname", "oneselect", "multiselect_op", | 964 "ifexists", "fullname", "oneselect", "multiselect_op", |
| 938 "distinct", "selcollist", "from", "where_opt", | 965 "distinct", "selcollist", "from", "where_opt", |
| 939 "groupby_opt", "having_opt", "orderby_opt", "limit_opt", | 966 "groupby_opt", "having_opt", "orderby_opt", "limit_opt", |
| 940 "sclp", "as", "seltablist", "stl_prefix", | 967 "sclp", "as", "seltablist", "stl_prefix", |
| 941 "joinop", "indexed_opt", "on_opt", "using_opt", | 968 "joinop", "indexed_opt", "on_opt", "using_opt", |
| 942 "joinop2", "inscollist", "sortlist", "sortitem", | 969 "joinop2", "inscollist", "sortlist", "sortitem", |
| 943 "nexprlist", "setlist", "insert_cmd", "inscollist_opt", | 970 "nexprlist", "setlist", "insert_cmd", "inscollist_opt", |
| 944 "itemlist", "exprlist", "likeop", "escape", | 971 "itemlist", "exprlist", "likeop", "between_op", |
| 945 "between_op", "in_op", "case_operand", "case_exprlist", | 972 "in_op", "case_operand", "case_exprlist", "case_else", |
| 946 "case_else", "uniqueflag", "collate", "nmnum", | 973 "uniqueflag", "collate", "nmnum", "plus_opt", |
| 947 "plus_opt", "number", "trigger_decl", "trigger_cmd_list", | 974 "number", "trigger_decl", "trigger_cmd_list", "trigger_time", |
| 948 "trigger_time", "trigger_event", "foreach_clause", "when_clause", | 975 "trigger_event", "foreach_clause", "when_clause", "trigger_cmd", |
| 949 "trigger_cmd", "trnm", "tridxby", "database_kw_opt", | 976 "trnm", "tridxby", "database_kw_opt", "key_opt", |
| 950 "key_opt", "add_column_fullname", "kwcolumn_opt", "create_vtab", | 977 "add_column_fullname", "kwcolumn_opt", "create_vtab", "vtabarglist", |
| 951 "vtabarglist", "vtabarg", "vtabargtoken", "lp", | 978 "vtabarg", "vtabargtoken", "lp", "anylist", |
| 952 "anylist", | |
| 953 }; | 979 }; |
| 954 #endif /* NDEBUG */ | 980 #endif /* NDEBUG */ |
| 955 | 981 |
| 956 #ifndef NDEBUG | 982 #ifndef NDEBUG |
| 957 /* For tracing reduce actions, the names of all rules are required. | 983 /* For tracing reduce actions, the names of all rules are required. |
| 958 */ | 984 */ |
| 959 static const char *const yyRuleName[] = { | 985 static const char *const yyRuleName[] = { |
| 960 /* 0 */ "input ::= cmdlist", | 986 /* 0 */ "input ::= cmdlist", |
| 961 /* 1 */ "cmdlist ::= cmdlist ecmd", | 987 /* 1 */ "cmdlist ::= cmdlist ecmd", |
| 962 /* 2 */ "cmdlist ::= ecmd", | 988 /* 2 */ "cmdlist ::= ecmd", |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1025 /* 65 */ "ccons ::= UNIQUE onconf", | 1051 /* 65 */ "ccons ::= UNIQUE onconf", |
| 1026 /* 66 */ "ccons ::= CHECK LP expr RP", | 1052 /* 66 */ "ccons ::= CHECK LP expr RP", |
| 1027 /* 67 */ "ccons ::= REFERENCES nm idxlist_opt refargs", | 1053 /* 67 */ "ccons ::= REFERENCES nm idxlist_opt refargs", |
| 1028 /* 68 */ "ccons ::= defer_subclause", | 1054 /* 68 */ "ccons ::= defer_subclause", |
| 1029 /* 69 */ "ccons ::= COLLATE ids", | 1055 /* 69 */ "ccons ::= COLLATE ids", |
| 1030 /* 70 */ "autoinc ::=", | 1056 /* 70 */ "autoinc ::=", |
| 1031 /* 71 */ "autoinc ::= AUTOINCR", | 1057 /* 71 */ "autoinc ::= AUTOINCR", |
| 1032 /* 72 */ "refargs ::=", | 1058 /* 72 */ "refargs ::=", |
| 1033 /* 73 */ "refargs ::= refargs refarg", | 1059 /* 73 */ "refargs ::= refargs refarg", |
| 1034 /* 74 */ "refarg ::= MATCH nm", | 1060 /* 74 */ "refarg ::= MATCH nm", |
| 1035 /* 75 */ "refarg ::= ON DELETE refact", | 1061 /* 75 */ "refarg ::= ON INSERT refact", |
| 1036 /* 76 */ "refarg ::= ON UPDATE refact", | 1062 /* 76 */ "refarg ::= ON DELETE refact", |
| 1037 /* 77 */ "refarg ::= ON INSERT refact", | 1063 /* 77 */ "refarg ::= ON UPDATE refact", |
| 1038 /* 78 */ "refact ::= SET NULL", | 1064 /* 78 */ "refact ::= SET NULL", |
| 1039 /* 79 */ "refact ::= SET DEFAULT", | 1065 /* 79 */ "refact ::= SET DEFAULT", |
| 1040 /* 80 */ "refact ::= CASCADE", | 1066 /* 80 */ "refact ::= CASCADE", |
| 1041 /* 81 */ "refact ::= RESTRICT", | 1067 /* 81 */ "refact ::= RESTRICT", |
| 1042 /* 82 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", | 1068 /* 82 */ "refact ::= NO ACTION", |
| 1043 /* 83 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", | 1069 /* 83 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", |
| 1044 /* 84 */ "init_deferred_pred_opt ::=", | 1070 /* 84 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", |
| 1045 /* 85 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", | 1071 /* 85 */ "init_deferred_pred_opt ::=", |
| 1046 /* 86 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", | 1072 /* 86 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", |
| 1047 /* 87 */ "conslist_opt ::=", | 1073 /* 87 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", |
| 1048 /* 88 */ "conslist_opt ::= COMMA conslist", | 1074 /* 88 */ "conslist_opt ::=", |
| 1049 /* 89 */ "conslist ::= conslist COMMA tcons", | 1075 /* 89 */ "conslist_opt ::= COMMA conslist", |
| 1050 /* 90 */ "conslist ::= conslist tcons", | 1076 /* 90 */ "conslist ::= conslist COMMA tcons", |
| 1051 /* 91 */ "conslist ::= tcons", | 1077 /* 91 */ "conslist ::= conslist tcons", |
| 1052 /* 92 */ "tcons ::= CONSTRAINT nm", | 1078 /* 92 */ "conslist ::= tcons", |
| 1053 /* 93 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", | 1079 /* 93 */ "tcons ::= CONSTRAINT nm", |
| 1054 /* 94 */ "tcons ::= UNIQUE LP idxlist RP onconf", | 1080 /* 94 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", |
| 1055 /* 95 */ "tcons ::= CHECK LP expr RP onconf", | 1081 /* 95 */ "tcons ::= UNIQUE LP idxlist RP onconf", |
| 1056 /* 96 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refarg
s defer_subclause_opt", | 1082 /* 96 */ "tcons ::= CHECK LP expr RP onconf", |
| 1057 /* 97 */ "defer_subclause_opt ::=", | 1083 /* 97 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refarg
s defer_subclause_opt", |
| 1058 /* 98 */ "defer_subclause_opt ::= defer_subclause", | 1084 /* 98 */ "defer_subclause_opt ::=", |
| 1059 /* 99 */ "onconf ::=", | 1085 /* 99 */ "defer_subclause_opt ::= defer_subclause", |
| 1060 /* 100 */ "onconf ::= ON CONFLICT resolvetype", | 1086 /* 100 */ "onconf ::=", |
| 1061 /* 101 */ "orconf ::=", | 1087 /* 101 */ "onconf ::= ON CONFLICT resolvetype", |
| 1062 /* 102 */ "orconf ::= OR resolvetype", | 1088 /* 102 */ "orconf ::=", |
| 1063 /* 103 */ "resolvetype ::= raisetype", | 1089 /* 103 */ "orconf ::= OR resolvetype", |
| 1064 /* 104 */ "resolvetype ::= IGNORE", | 1090 /* 104 */ "resolvetype ::= raisetype", |
| 1065 /* 105 */ "resolvetype ::= REPLACE", | 1091 /* 105 */ "resolvetype ::= IGNORE", |
| 1066 /* 106 */ "cmd ::= DROP TABLE ifexists fullname", | 1092 /* 106 */ "resolvetype ::= REPLACE", |
| 1067 /* 107 */ "ifexists ::= IF EXISTS", | 1093 /* 107 */ "cmd ::= DROP TABLE ifexists fullname", |
| 1068 /* 108 */ "ifexists ::=", | 1094 /* 108 */ "ifexists ::= IF EXISTS", |
| 1069 /* 109 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select", | 1095 /* 109 */ "ifexists ::=", |
| 1070 /* 110 */ "cmd ::= DROP VIEW ifexists fullname", | 1096 /* 110 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select", |
| 1071 /* 111 */ "cmd ::= select", | 1097 /* 111 */ "cmd ::= DROP VIEW ifexists fullname", |
| 1072 /* 112 */ "select ::= oneselect", | 1098 /* 112 */ "cmd ::= select", |
| 1073 /* 113 */ "select ::= select multiselect_op oneselect", | 1099 /* 113 */ "select ::= oneselect", |
| 1074 /* 114 */ "multiselect_op ::= UNION", | 1100 /* 114 */ "select ::= select multiselect_op oneselect", |
| 1075 /* 115 */ "multiselect_op ::= UNION ALL", | 1101 /* 115 */ "multiselect_op ::= UNION", |
| 1076 /* 116 */ "multiselect_op ::= EXCEPT|INTERSECT", | 1102 /* 116 */ "multiselect_op ::= UNION ALL", |
| 1077 /* 117 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt
having_opt orderby_opt limit_opt", | 1103 /* 117 */ "multiselect_op ::= EXCEPT|INTERSECT", |
| 1078 /* 118 */ "distinct ::= DISTINCT", | 1104 /* 118 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt
having_opt orderby_opt limit_opt", |
| 1079 /* 119 */ "distinct ::= ALL", | 1105 /* 119 */ "distinct ::= DISTINCT", |
| 1080 /* 120 */ "distinct ::=", | 1106 /* 120 */ "distinct ::= ALL", |
| 1081 /* 121 */ "sclp ::= selcollist COMMA", | 1107 /* 121 */ "distinct ::=", |
| 1082 /* 122 */ "sclp ::=", | 1108 /* 122 */ "sclp ::= selcollist COMMA", |
| 1083 /* 123 */ "selcollist ::= sclp expr as", | 1109 /* 123 */ "sclp ::=", |
| 1084 /* 124 */ "selcollist ::= sclp STAR", | 1110 /* 124 */ "selcollist ::= sclp expr as", |
| 1085 /* 125 */ "selcollist ::= sclp nm DOT STAR", | 1111 /* 125 */ "selcollist ::= sclp STAR", |
| 1086 /* 126 */ "as ::= AS nm", | 1112 /* 126 */ "selcollist ::= sclp nm DOT STAR", |
| 1087 /* 127 */ "as ::= ids", | 1113 /* 127 */ "as ::= AS nm", |
| 1088 /* 128 */ "as ::=", | 1114 /* 128 */ "as ::= ids", |
| 1089 /* 129 */ "from ::=", | 1115 /* 129 */ "as ::=", |
| 1090 /* 130 */ "from ::= FROM seltablist", | 1116 /* 130 */ "from ::=", |
| 1091 /* 131 */ "stl_prefix ::= seltablist joinop", | 1117 /* 131 */ "from ::= FROM seltablist", |
| 1092 /* 132 */ "stl_prefix ::=", | 1118 /* 132 */ "stl_prefix ::= seltablist joinop", |
| 1093 /* 133 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", | 1119 /* 133 */ "stl_prefix ::=", |
| 1094 /* 134 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", | 1120 /* 134 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", |
| 1095 /* 135 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", | 1121 /* 135 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", |
| 1096 /* 136 */ "dbnm ::=", | 1122 /* 136 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", |
| 1097 /* 137 */ "dbnm ::= DOT nm", | 1123 /* 137 */ "dbnm ::=", |
| 1098 /* 138 */ "fullname ::= nm dbnm", | 1124 /* 138 */ "dbnm ::= DOT nm", |
| 1099 /* 139 */ "joinop ::= COMMA|JOIN", | 1125 /* 139 */ "fullname ::= nm dbnm", |
| 1100 /* 140 */ "joinop ::= JOIN_KW JOIN", | 1126 /* 140 */ "joinop ::= COMMA|JOIN", |
| 1101 /* 141 */ "joinop ::= JOIN_KW nm JOIN", | 1127 /* 141 */ "joinop ::= JOIN_KW JOIN", |
| 1102 /* 142 */ "joinop ::= JOIN_KW nm nm JOIN", | 1128 /* 142 */ "joinop ::= JOIN_KW nm JOIN", |
| 1103 /* 143 */ "on_opt ::= ON expr", | 1129 /* 143 */ "joinop ::= JOIN_KW nm nm JOIN", |
| 1104 /* 144 */ "on_opt ::=", | 1130 /* 144 */ "on_opt ::= ON expr", |
| 1105 /* 145 */ "indexed_opt ::=", | 1131 /* 145 */ "on_opt ::=", |
| 1106 /* 146 */ "indexed_opt ::= INDEXED BY nm", | 1132 /* 146 */ "indexed_opt ::=", |
| 1107 /* 147 */ "indexed_opt ::= NOT INDEXED", | 1133 /* 147 */ "indexed_opt ::= INDEXED BY nm", |
| 1108 /* 148 */ "using_opt ::= USING LP inscollist RP", | 1134 /* 148 */ "indexed_opt ::= NOT INDEXED", |
| 1109 /* 149 */ "using_opt ::=", | 1135 /* 149 */ "using_opt ::= USING LP inscollist RP", |
| 1110 /* 150 */ "orderby_opt ::=", | 1136 /* 150 */ "using_opt ::=", |
| 1111 /* 151 */ "orderby_opt ::= ORDER BY sortlist", | 1137 /* 151 */ "orderby_opt ::=", |
| 1112 /* 152 */ "sortlist ::= sortlist COMMA sortitem sortorder", | 1138 /* 152 */ "orderby_opt ::= ORDER BY sortlist", |
| 1113 /* 153 */ "sortlist ::= sortitem sortorder", | 1139 /* 153 */ "sortlist ::= sortlist COMMA sortitem sortorder", |
| 1114 /* 154 */ "sortitem ::= expr", | 1140 /* 154 */ "sortlist ::= sortitem sortorder", |
| 1115 /* 155 */ "sortorder ::= ASC", | 1141 /* 155 */ "sortitem ::= expr", |
| 1116 /* 156 */ "sortorder ::= DESC", | 1142 /* 156 */ "sortorder ::= ASC", |
| 1117 /* 157 */ "sortorder ::=", | 1143 /* 157 */ "sortorder ::= DESC", |
| 1118 /* 158 */ "groupby_opt ::=", | 1144 /* 158 */ "sortorder ::=", |
| 1119 /* 159 */ "groupby_opt ::= GROUP BY nexprlist", | 1145 /* 159 */ "groupby_opt ::=", |
| 1120 /* 160 */ "having_opt ::=", | 1146 /* 160 */ "groupby_opt ::= GROUP BY nexprlist", |
| 1121 /* 161 */ "having_opt ::= HAVING expr", | 1147 /* 161 */ "having_opt ::=", |
| 1122 /* 162 */ "limit_opt ::=", | 1148 /* 162 */ "having_opt ::= HAVING expr", |
| 1123 /* 163 */ "limit_opt ::= LIMIT expr", | 1149 /* 163 */ "limit_opt ::=", |
| 1124 /* 164 */ "limit_opt ::= LIMIT expr OFFSET expr", | 1150 /* 164 */ "limit_opt ::= LIMIT expr", |
| 1125 /* 165 */ "limit_opt ::= LIMIT expr COMMA expr", | 1151 /* 165 */ "limit_opt ::= LIMIT expr OFFSET expr", |
| 1126 /* 166 */ "cmd ::= DELETE FROM fullname indexed_opt where_opt", | 1152 /* 166 */ "limit_opt ::= LIMIT expr COMMA expr", |
| 1127 /* 167 */ "where_opt ::=", | 1153 /* 167 */ "cmd ::= DELETE FROM fullname indexed_opt where_opt", |
| 1128 /* 168 */ "where_opt ::= WHERE expr", | 1154 /* 168 */ "where_opt ::=", |
| 1129 /* 169 */ "cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt", | 1155 /* 169 */ "where_opt ::= WHERE expr", |
| 1130 /* 170 */ "setlist ::= setlist COMMA nm EQ expr", | 1156 /* 170 */ "cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt", |
| 1131 /* 171 */ "setlist ::= nm EQ expr", | 1157 /* 171 */ "setlist ::= setlist COMMA nm EQ expr", |
| 1132 /* 172 */ "cmd ::= insert_cmd INTO fullname inscollist_opt VALUES LP itemlist R
P", | 1158 /* 172 */ "setlist ::= nm EQ expr", |
| 1133 /* 173 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select", | 1159 /* 173 */ "cmd ::= insert_cmd INTO fullname inscollist_opt VALUES LP itemlist R
P", |
| 1134 /* 174 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", | 1160 /* 174 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select", |
| 1135 /* 175 */ "insert_cmd ::= INSERT orconf", | 1161 /* 175 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", |
| 1136 /* 176 */ "insert_cmd ::= REPLACE", | 1162 /* 176 */ "insert_cmd ::= INSERT orconf", |
| 1137 /* 177 */ "itemlist ::= itemlist COMMA expr", | 1163 /* 177 */ "insert_cmd ::= REPLACE", |
| 1138 /* 178 */ "itemlist ::= expr", | 1164 /* 178 */ "itemlist ::= itemlist COMMA expr", |
| 1139 /* 179 */ "inscollist_opt ::=", | 1165 /* 179 */ "itemlist ::= expr", |
| 1140 /* 180 */ "inscollist_opt ::= LP inscollist RP", | 1166 /* 180 */ "inscollist_opt ::=", |
| 1141 /* 181 */ "inscollist ::= inscollist COMMA nm", | 1167 /* 181 */ "inscollist_opt ::= LP inscollist RP", |
| 1142 /* 182 */ "inscollist ::= nm", | 1168 /* 182 */ "inscollist ::= inscollist COMMA nm", |
| 1143 /* 183 */ "expr ::= term", | 1169 /* 183 */ "inscollist ::= nm", |
| 1144 /* 184 */ "expr ::= LP expr RP", | 1170 /* 184 */ "expr ::= term", |
| 1145 /* 185 */ "term ::= NULL", | 1171 /* 185 */ "expr ::= LP expr RP", |
| 1146 /* 186 */ "expr ::= id", | 1172 /* 186 */ "term ::= NULL", |
| 1147 /* 187 */ "expr ::= JOIN_KW", | 1173 /* 187 */ "expr ::= id", |
| 1148 /* 188 */ "expr ::= nm DOT nm", | 1174 /* 188 */ "expr ::= JOIN_KW", |
| 1149 /* 189 */ "expr ::= nm DOT nm DOT nm", | 1175 /* 189 */ "expr ::= nm DOT nm", |
| 1150 /* 190 */ "term ::= INTEGER|FLOAT|BLOB", | 1176 /* 190 */ "expr ::= nm DOT nm DOT nm", |
| 1151 /* 191 */ "term ::= STRING", | 1177 /* 191 */ "term ::= INTEGER|FLOAT|BLOB", |
| 1152 /* 192 */ "expr ::= REGISTER", | 1178 /* 192 */ "term ::= STRING", |
| 1153 /* 193 */ "expr ::= VARIABLE", | 1179 /* 193 */ "expr ::= REGISTER", |
| 1154 /* 194 */ "expr ::= expr COLLATE ids", | 1180 /* 194 */ "expr ::= VARIABLE", |
| 1155 /* 195 */ "expr ::= CAST LP expr AS typetoken RP", | 1181 /* 195 */ "expr ::= expr COLLATE ids", |
| 1156 /* 196 */ "expr ::= ID LP distinct exprlist RP", | 1182 /* 196 */ "expr ::= CAST LP expr AS typetoken RP", |
| 1157 /* 197 */ "expr ::= ID LP STAR RP", | 1183 /* 197 */ "expr ::= ID LP distinct exprlist RP", |
| 1158 /* 198 */ "term ::= CTIME_KW", | 1184 /* 198 */ "expr ::= ID LP STAR RP", |
| 1159 /* 199 */ "expr ::= expr AND expr", | 1185 /* 199 */ "term ::= CTIME_KW", |
| 1160 /* 200 */ "expr ::= expr OR expr", | 1186 /* 200 */ "expr ::= expr AND expr", |
| 1161 /* 201 */ "expr ::= expr LT|GT|GE|LE expr", | 1187 /* 201 */ "expr ::= expr OR expr", |
| 1162 /* 202 */ "expr ::= expr EQ|NE expr", | 1188 /* 202 */ "expr ::= expr LT|GT|GE|LE expr", |
| 1163 /* 203 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", | 1189 /* 203 */ "expr ::= expr EQ|NE expr", |
| 1164 /* 204 */ "expr ::= expr PLUS|MINUS expr", | 1190 /* 204 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", |
| 1165 /* 205 */ "expr ::= expr STAR|SLASH|REM expr", | 1191 /* 205 */ "expr ::= expr PLUS|MINUS expr", |
| 1166 /* 206 */ "expr ::= expr CONCAT expr", | 1192 /* 206 */ "expr ::= expr STAR|SLASH|REM expr", |
| 1167 /* 207 */ "likeop ::= LIKE_KW", | 1193 /* 207 */ "expr ::= expr CONCAT expr", |
| 1168 /* 208 */ "likeop ::= NOT LIKE_KW", | 1194 /* 208 */ "likeop ::= LIKE_KW", |
| 1169 /* 209 */ "likeop ::= MATCH", | 1195 /* 209 */ "likeop ::= NOT LIKE_KW", |
| 1170 /* 210 */ "likeop ::= NOT MATCH", | 1196 /* 210 */ "likeop ::= MATCH", |
| 1171 /* 211 */ "escape ::= ESCAPE expr", | 1197 /* 211 */ "likeop ::= NOT MATCH", |
| 1172 /* 212 */ "escape ::=", | 1198 /* 212 */ "expr ::= expr likeop expr", |
| 1173 /* 213 */ "expr ::= expr likeop expr escape", | 1199 /* 213 */ "expr ::= expr likeop expr ESCAPE expr", |
| 1174 /* 214 */ "expr ::= expr ISNULL|NOTNULL", | 1200 /* 214 */ "expr ::= expr ISNULL|NOTNULL", |
| 1175 /* 215 */ "expr ::= expr IS NULL", | 1201 /* 215 */ "expr ::= expr NOT NULL", |
| 1176 /* 216 */ "expr ::= expr NOT NULL", | 1202 /* 216 */ "expr ::= expr IS expr", |
| 1177 /* 217 */ "expr ::= expr IS NOT NULL", | 1203 /* 217 */ "expr ::= expr IS NOT expr", |
| 1178 /* 218 */ "expr ::= NOT expr", | 1204 /* 218 */ "expr ::= NOT expr", |
| 1179 /* 219 */ "expr ::= BITNOT expr", | 1205 /* 219 */ "expr ::= BITNOT expr", |
| 1180 /* 220 */ "expr ::= MINUS expr", | 1206 /* 220 */ "expr ::= MINUS expr", |
| 1181 /* 221 */ "expr ::= PLUS expr", | 1207 /* 221 */ "expr ::= PLUS expr", |
| 1182 /* 222 */ "between_op ::= BETWEEN", | 1208 /* 222 */ "between_op ::= BETWEEN", |
| 1183 /* 223 */ "between_op ::= NOT BETWEEN", | 1209 /* 223 */ "between_op ::= NOT BETWEEN", |
| 1184 /* 224 */ "expr ::= expr between_op expr AND expr", | 1210 /* 224 */ "expr ::= expr between_op expr AND expr", |
| 1185 /* 225 */ "in_op ::= IN", | 1211 /* 225 */ "in_op ::= IN", |
| 1186 /* 226 */ "in_op ::= NOT IN", | 1212 /* 226 */ "in_op ::= NOT IN", |
| 1187 /* 227 */ "expr ::= expr in_op LP exprlist RP", | 1213 /* 227 */ "expr ::= expr in_op LP exprlist RP", |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1360 ** reduce or during error processing or when a parser is | 1386 ** reduce or during error processing or when a parser is |
| 1361 ** being destroyed before it is finished parsing. | 1387 ** being destroyed before it is finished parsing. |
| 1362 ** | 1388 ** |
| 1363 ** Note: during a reduce, the only symbols destroyed are those | 1389 ** Note: during a reduce, the only symbols destroyed are those |
| 1364 ** which appear on the RHS of the rule, but which are not used | 1390 ** which appear on the RHS of the rule, but which are not used |
| 1365 ** inside the C code. | 1391 ** inside the C code. |
| 1366 */ | 1392 */ |
| 1367 case 160: /* select */ | 1393 case 160: /* select */ |
| 1368 case 194: /* oneselect */ | 1394 case 194: /* oneselect */ |
| 1369 { | 1395 { |
| 1370 #line 404 "parse.y" | 1396 #line 403 "parse.y" |
| 1371 sqlite3SelectDelete(pParse->db, (yypminor->yy3)); | 1397 sqlite3SelectDelete(pParse->db, (yypminor->yy387)); |
| 1372 #line 1373 "parse.c" | 1398 #line 1399 "parse.c" |
| 1373 } | 1399 } |
| 1374 break; | 1400 break; |
| 1375 case 174: /* term */ | 1401 case 174: /* term */ |
| 1376 case 175: /* expr */ | 1402 case 175: /* expr */ |
| 1377 case 223: /* escape */ | |
| 1378 { | 1403 { |
| 1379 #line 721 "parse.y" | 1404 #line 720 "parse.y" |
| 1380 sqlite3ExprDelete(pParse->db, (yypminor->yy346).pExpr); | 1405 sqlite3ExprDelete(pParse->db, (yypminor->yy118).pExpr); |
| 1381 #line 1382 "parse.c" | 1406 #line 1407 "parse.c" |
| 1382 } | 1407 } |
| 1383 break; | 1408 break; |
| 1384 case 179: /* idxlist_opt */ | 1409 case 179: /* idxlist_opt */ |
| 1385 case 187: /* idxlist */ | 1410 case 187: /* idxlist */ |
| 1386 case 197: /* selcollist */ | 1411 case 197: /* selcollist */ |
| 1387 case 200: /* groupby_opt */ | 1412 case 200: /* groupby_opt */ |
| 1388 case 202: /* orderby_opt */ | 1413 case 202: /* orderby_opt */ |
| 1389 case 204: /* sclp */ | 1414 case 204: /* sclp */ |
| 1390 case 214: /* sortlist */ | 1415 case 214: /* sortlist */ |
| 1391 case 216: /* nexprlist */ | 1416 case 216: /* nexprlist */ |
| 1392 case 217: /* setlist */ | 1417 case 217: /* setlist */ |
| 1393 case 220: /* itemlist */ | 1418 case 220: /* itemlist */ |
| 1394 case 221: /* exprlist */ | 1419 case 221: /* exprlist */ |
| 1395 case 227: /* case_exprlist */ | 1420 case 226: /* case_exprlist */ |
| 1396 { | 1421 { |
| 1397 #line 1062 "parse.y" | 1422 #line 1103 "parse.y" |
| 1398 sqlite3ExprListDelete(pParse->db, (yypminor->yy14)); | 1423 sqlite3ExprListDelete(pParse->db, (yypminor->yy322)); |
| 1399 #line 1400 "parse.c" | 1424 #line 1425 "parse.c" |
| 1400 } | 1425 } |
| 1401 break; | 1426 break; |
| 1402 case 193: /* fullname */ | 1427 case 193: /* fullname */ |
| 1403 case 198: /* from */ | 1428 case 198: /* from */ |
| 1404 case 206: /* seltablist */ | 1429 case 206: /* seltablist */ |
| 1405 case 207: /* stl_prefix */ | 1430 case 207: /* stl_prefix */ |
| 1406 { | 1431 { |
| 1407 #line 535 "parse.y" | 1432 #line 534 "parse.y" |
| 1408 sqlite3SrcListDelete(pParse->db, (yypminor->yy65)); | 1433 sqlite3SrcListDelete(pParse->db, (yypminor->yy259)); |
| 1409 #line 1410 "parse.c" | 1434 #line 1435 "parse.c" |
| 1410 } | 1435 } |
| 1411 break; | 1436 break; |
| 1412 case 199: /* where_opt */ | 1437 case 199: /* where_opt */ |
| 1413 case 201: /* having_opt */ | 1438 case 201: /* having_opt */ |
| 1414 case 210: /* on_opt */ | 1439 case 210: /* on_opt */ |
| 1415 case 215: /* sortitem */ | 1440 case 215: /* sortitem */ |
| 1416 case 226: /* case_operand */ | 1441 case 225: /* case_operand */ |
| 1417 case 228: /* case_else */ | 1442 case 227: /* case_else */ |
| 1418 case 239: /* when_clause */ | 1443 case 238: /* when_clause */ |
| 1419 case 244: /* key_opt */ | 1444 case 243: /* key_opt */ |
| 1420 { | 1445 { |
| 1421 #line 645 "parse.y" | 1446 #line 644 "parse.y" |
| 1422 sqlite3ExprDelete(pParse->db, (yypminor->yy132)); | 1447 sqlite3ExprDelete(pParse->db, (yypminor->yy314)); |
| 1423 #line 1424 "parse.c" | 1448 #line 1449 "parse.c" |
| 1424 } | 1449 } |
| 1425 break; | 1450 break; |
| 1426 case 211: /* using_opt */ | 1451 case 211: /* using_opt */ |
| 1427 case 213: /* inscollist */ | 1452 case 213: /* inscollist */ |
| 1428 case 219: /* inscollist_opt */ | 1453 case 219: /* inscollist_opt */ |
| 1429 { | 1454 { |
| 1430 #line 567 "parse.y" | 1455 #line 566 "parse.y" |
| 1431 sqlite3IdListDelete(pParse->db, (yypminor->yy408)); | 1456 sqlite3IdListDelete(pParse->db, (yypminor->yy384)); |
| 1432 #line 1433 "parse.c" | 1457 #line 1458 "parse.c" |
| 1433 } | 1458 } |
| 1434 break; | 1459 break; |
| 1435 case 235: /* trigger_cmd_list */ | 1460 case 234: /* trigger_cmd_list */ |
| 1436 case 240: /* trigger_cmd */ | 1461 case 239: /* trigger_cmd */ |
| 1437 { | 1462 { |
| 1438 #line 1169 "parse.y" | 1463 #line 1210 "parse.y" |
| 1439 sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy473)); | 1464 sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy203)); |
| 1440 #line 1441 "parse.c" | 1465 #line 1466 "parse.c" |
| 1441 } | 1466 } |
| 1442 break; | 1467 break; |
| 1443 case 237: /* trigger_event */ | 1468 case 236: /* trigger_event */ |
| 1444 { | 1469 { |
| 1445 #line 1155 "parse.y" | 1470 #line 1196 "parse.y" |
| 1446 sqlite3IdListDelete(pParse->db, (yypminor->yy378).b); | 1471 sqlite3IdListDelete(pParse->db, (yypminor->yy90).b); |
| 1447 #line 1448 "parse.c" | 1472 #line 1473 "parse.c" |
| 1448 } | 1473 } |
| 1449 break; | 1474 break; |
| 1450 default: break; /* If no destructor action specified: do nothing */ | 1475 default: break; /* If no destructor action specified: do nothing */ |
| 1451 } | 1476 } |
| 1452 } | 1477 } |
| 1453 | 1478 |
| 1454 /* | 1479 /* |
| 1455 ** Pop the parser's stack once. | 1480 ** Pop the parser's stack once. |
| 1456 ** | 1481 ** |
| 1457 ** If there is a destructor routine associated with the token which | 1482 ** If there is a destructor routine associated with the token which |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1524 ** independent of the look-ahead. If it is, return the action, otherwise | 1549 ** independent of the look-ahead. If it is, return the action, otherwise |
| 1525 ** return YY_NO_ACTION. | 1550 ** return YY_NO_ACTION. |
| 1526 */ | 1551 */ |
| 1527 static int yy_find_shift_action( | 1552 static int yy_find_shift_action( |
| 1528 yyParser *pParser, /* The parser */ | 1553 yyParser *pParser, /* The parser */ |
| 1529 YYCODETYPE iLookAhead /* The look-ahead token */ | 1554 YYCODETYPE iLookAhead /* The look-ahead token */ |
| 1530 ){ | 1555 ){ |
| 1531 int i; | 1556 int i; |
| 1532 int stateno = pParser->yystack[pParser->yyidx].stateno; | 1557 int stateno = pParser->yystack[pParser->yyidx].stateno; |
| 1533 | 1558 |
| 1534 if( stateno>YY_SHIFT_MAX || (i = yy_shift_ofst[stateno])==YY_SHIFT_USE_DFLT ){ | 1559 if( stateno>YY_SHIFT_COUNT |
| 1560 || (i = yy_shift_ofst[stateno])==YY_SHIFT_USE_DFLT ){ |
| 1535 return yy_default[stateno]; | 1561 return yy_default[stateno]; |
| 1536 } | 1562 } |
| 1537 assert( iLookAhead!=YYNOCODE ); | 1563 assert( iLookAhead!=YYNOCODE ); |
| 1538 i += iLookAhead; | 1564 i += iLookAhead; |
| 1539 if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){ | 1565 if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){ |
| 1540 /* The user of ";" instead of "\000" as a statement terminator in SQLite | |
| 1541 ** means that we always have a look-ahead token. */ | |
| 1542 if( iLookAhead>0 ){ | 1566 if( iLookAhead>0 ){ |
| 1543 #ifdef YYFALLBACK | 1567 #ifdef YYFALLBACK |
| 1544 YYCODETYPE iFallback; /* Fallback token */ | 1568 YYCODETYPE iFallback; /* Fallback token */ |
| 1545 if( iLookAhead<sizeof(yyFallback)/sizeof(yyFallback[0]) | 1569 if( iLookAhead<sizeof(yyFallback)/sizeof(yyFallback[0]) |
| 1546 && (iFallback = yyFallback[iLookAhead])!=0 ){ | 1570 && (iFallback = yyFallback[iLookAhead])!=0 ){ |
| 1547 #ifndef NDEBUG | 1571 #ifndef NDEBUG |
| 1548 if( yyTraceFILE ){ | 1572 if( yyTraceFILE ){ |
| 1549 fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n", | 1573 fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n", |
| 1550 yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]); | 1574 yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]); |
| 1551 } | 1575 } |
| 1552 #endif | 1576 #endif |
| 1553 return yy_find_shift_action(pParser, iFallback); | 1577 return yy_find_shift_action(pParser, iFallback); |
| 1554 } | 1578 } |
| 1555 #endif | 1579 #endif |
| 1556 #ifdef YYWILDCARD | 1580 #ifdef YYWILDCARD |
| 1557 { | 1581 { |
| 1558 int j = i - iLookAhead + YYWILDCARD; | 1582 int j = i - iLookAhead + YYWILDCARD; |
| 1559 if( j>=0 && j<YY_SZ_ACTTAB && yy_lookahead[j]==YYWILDCARD ){ | 1583 if( |
| 1584 #if YY_SHIFT_MIN+YYWILDCARD<0 |
| 1585 j>=0 && |
| 1586 #endif |
| 1587 #if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT |
| 1588 j<YY_ACTTAB_COUNT && |
| 1589 #endif |
| 1590 yy_lookahead[j]==YYWILDCARD |
| 1591 ){ |
| 1560 #ifndef NDEBUG | 1592 #ifndef NDEBUG |
| 1561 if( yyTraceFILE ){ | 1593 if( yyTraceFILE ){ |
| 1562 fprintf(yyTraceFILE, "%sWILDCARD %s => %s\n", | 1594 fprintf(yyTraceFILE, "%sWILDCARD %s => %s\n", |
| 1563 yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[YYWILDCARD]); | 1595 yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[YYWILDCARD]); |
| 1564 } | 1596 } |
| 1565 #endif /* NDEBUG */ | 1597 #endif /* NDEBUG */ |
| 1566 return yy_action[j]; | 1598 return yy_action[j]; |
| 1567 } | 1599 } |
| 1568 } | 1600 } |
| 1569 #endif /* YYWILDCARD */ | 1601 #endif /* YYWILDCARD */ |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1581 ** If the look-ahead token is YYNOCODE, then check to see if the action is | 1613 ** If the look-ahead token is YYNOCODE, then check to see if the action is |
| 1582 ** independent of the look-ahead. If it is, return the action, otherwise | 1614 ** independent of the look-ahead. If it is, return the action, otherwise |
| 1583 ** return YY_NO_ACTION. | 1615 ** return YY_NO_ACTION. |
| 1584 */ | 1616 */ |
| 1585 static int yy_find_reduce_action( | 1617 static int yy_find_reduce_action( |
| 1586 int stateno, /* Current state number */ | 1618 int stateno, /* Current state number */ |
| 1587 YYCODETYPE iLookAhead /* The look-ahead token */ | 1619 YYCODETYPE iLookAhead /* The look-ahead token */ |
| 1588 ){ | 1620 ){ |
| 1589 int i; | 1621 int i; |
| 1590 #ifdef YYERRORSYMBOL | 1622 #ifdef YYERRORSYMBOL |
| 1591 if( stateno>YY_REDUCE_MAX ){ | 1623 if( stateno>YY_REDUCE_COUNT ){ |
| 1592 return yy_default[stateno]; | 1624 return yy_default[stateno]; |
| 1593 } | 1625 } |
| 1594 #else | 1626 #else |
| 1595 assert( stateno<=YY_REDUCE_MAX ); | 1627 assert( stateno<=YY_REDUCE_COUNT ); |
| 1596 #endif | 1628 #endif |
| 1597 i = yy_reduce_ofst[stateno]; | 1629 i = yy_reduce_ofst[stateno]; |
| 1598 assert( i!=YY_REDUCE_USE_DFLT ); | 1630 assert( i!=YY_REDUCE_USE_DFLT ); |
| 1599 assert( iLookAhead!=YYNOCODE ); | 1631 assert( iLookAhead!=YYNOCODE ); |
| 1600 i += iLookAhead; | 1632 i += iLookAhead; |
| 1601 #ifdef YYERRORSYMBOL | 1633 #ifdef YYERRORSYMBOL |
| 1602 if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){ | 1634 if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){ |
| 1603 return yy_default[stateno]; | 1635 return yy_default[stateno]; |
| 1604 } | 1636 } |
| 1605 #else | 1637 #else |
| 1606 assert( i>=0 && i<YY_SZ_ACTTAB ); | 1638 assert( i>=0 && i<YY_ACTTAB_COUNT ); |
| 1607 assert( yy_lookahead[i]==iLookAhead ); | 1639 assert( yy_lookahead[i]==iLookAhead ); |
| 1608 #endif | 1640 #endif |
| 1609 return yy_action[i]; | 1641 return yy_action[i]; |
| 1610 } | 1642 } |
| 1611 | 1643 |
| 1612 /* | 1644 /* |
| 1613 ** The following routine is called if the stack overflows. | 1645 ** The following routine is called if the stack overflows. |
| 1614 */ | 1646 */ |
| 1615 static void yyStackOverflow(yyParser *yypParser, YYMINORTYPE *yypMinor){ | 1647 static void yyStackOverflow(yyParser *yypParser, YYMINORTYPE *yypMinor){ |
| 1616 sqlite3ParserARG_FETCH; | 1648 sqlite3ParserARG_FETCH; |
| 1617 yypParser->yyidx--; | 1649 yypParser->yyidx--; |
| 1618 #ifndef NDEBUG | 1650 #ifndef NDEBUG |
| 1619 if( yyTraceFILE ){ | 1651 if( yyTraceFILE ){ |
| 1620 fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt); | 1652 fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt); |
| 1621 } | 1653 } |
| 1622 #endif | 1654 #endif |
| 1623 while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser); | 1655 while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser); |
| 1624 /* Here code is inserted which will execute if the parser | 1656 /* Here code is inserted which will execute if the parser |
| 1625 ** stack every overflows */ | 1657 ** stack every overflows */ |
| 1626 #line 40 "parse.y" | 1658 #line 38 "parse.y" |
| 1627 | 1659 |
| 1628 UNUSED_PARAMETER(yypMinor); /* Silence some compiler warnings */ | 1660 UNUSED_PARAMETER(yypMinor); /* Silence some compiler warnings */ |
| 1629 sqlite3ErrorMsg(pParse, "parser stack overflow"); | 1661 sqlite3ErrorMsg(pParse, "parser stack overflow"); |
| 1630 pParse->parseError = 1; | 1662 pParse->parseError = 1; |
| 1631 #line 1632 "parse.c" | 1663 #line 1664 "parse.c" |
| 1632 sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument var
*/ | 1664 sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument var
*/ |
| 1633 } | 1665 } |
| 1634 | 1666 |
| 1635 /* | 1667 /* |
| 1636 ** Perform a shift action. | 1668 ** Perform a shift action. |
| 1637 */ | 1669 */ |
| 1638 static void yy_shift( | 1670 static void yy_shift( |
| 1639 yyParser *yypParser, /* The parser to be shifted */ | 1671 yyParser *yypParser, /* The parser to be shifted */ |
| 1640 int yyNewState, /* The new state to shift in */ | 1672 int yyNewState, /* The new state to shift in */ |
| 1641 int yyMajor, /* The major token to shift in */ | 1673 int yyMajor, /* The major token to shift in */ |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1760 { 180, 0 }, | 1792 { 180, 0 }, |
| 1761 { 180, 2 }, | 1793 { 180, 2 }, |
| 1762 { 182, 2 }, | 1794 { 182, 2 }, |
| 1763 { 182, 3 }, | 1795 { 182, 3 }, |
| 1764 { 182, 3 }, | 1796 { 182, 3 }, |
| 1765 { 182, 3 }, | 1797 { 182, 3 }, |
| 1766 { 183, 2 }, | 1798 { 183, 2 }, |
| 1767 { 183, 2 }, | 1799 { 183, 2 }, |
| 1768 { 183, 1 }, | 1800 { 183, 1 }, |
| 1769 { 183, 1 }, | 1801 { 183, 1 }, |
| 1802 { 183, 2 }, |
| 1770 { 181, 3 }, | 1803 { 181, 3 }, |
| 1771 { 181, 2 }, | 1804 { 181, 2 }, |
| 1772 { 184, 0 }, | 1805 { 184, 0 }, |
| 1773 { 184, 2 }, | 1806 { 184, 2 }, |
| 1774 { 184, 2 }, | 1807 { 184, 2 }, |
| 1775 { 159, 0 }, | 1808 { 159, 0 }, |
| 1776 { 159, 2 }, | 1809 { 159, 2 }, |
| 1777 { 185, 3 }, | 1810 { 185, 3 }, |
| 1778 { 185, 2 }, | 1811 { 185, 2 }, |
| 1779 { 185, 1 }, | 1812 { 185, 1 }, |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1889 { 175, 3 }, | 1922 { 175, 3 }, |
| 1890 { 175, 3 }, | 1923 { 175, 3 }, |
| 1891 { 175, 3 }, | 1924 { 175, 3 }, |
| 1892 { 175, 3 }, | 1925 { 175, 3 }, |
| 1893 { 175, 3 }, | 1926 { 175, 3 }, |
| 1894 { 175, 3 }, | 1927 { 175, 3 }, |
| 1895 { 222, 1 }, | 1928 { 222, 1 }, |
| 1896 { 222, 2 }, | 1929 { 222, 2 }, |
| 1897 { 222, 1 }, | 1930 { 222, 1 }, |
| 1898 { 222, 2 }, | 1931 { 222, 2 }, |
| 1899 { 223, 2 }, | 1932 { 175, 3 }, |
| 1900 { 223, 0 }, | 1933 { 175, 5 }, |
| 1901 { 175, 4 }, | |
| 1902 { 175, 2 }, | 1934 { 175, 2 }, |
| 1903 { 175, 3 }, | 1935 { 175, 3 }, |
| 1904 { 175, 3 }, | 1936 { 175, 3 }, |
| 1905 { 175, 4 }, | 1937 { 175, 4 }, |
| 1906 { 175, 2 }, | 1938 { 175, 2 }, |
| 1907 { 175, 2 }, | 1939 { 175, 2 }, |
| 1908 { 175, 2 }, | 1940 { 175, 2 }, |
| 1909 { 175, 2 }, | 1941 { 175, 2 }, |
| 1942 { 223, 1 }, |
| 1943 { 223, 2 }, |
| 1944 { 175, 5 }, |
| 1910 { 224, 1 }, | 1945 { 224, 1 }, |
| 1911 { 224, 2 }, | 1946 { 224, 2 }, |
| 1912 { 175, 5 }, | 1947 { 175, 5 }, |
| 1913 { 225, 1 }, | |
| 1914 { 225, 2 }, | |
| 1915 { 175, 5 }, | |
| 1916 { 175, 3 }, | 1948 { 175, 3 }, |
| 1917 { 175, 5 }, | 1949 { 175, 5 }, |
| 1918 { 175, 4 }, | 1950 { 175, 4 }, |
| 1919 { 175, 4 }, | 1951 { 175, 4 }, |
| 1920 { 175, 5 }, | 1952 { 175, 5 }, |
| 1921 { 227, 5 }, | 1953 { 226, 5 }, |
| 1922 { 227, 4 }, | 1954 { 226, 4 }, |
| 1923 { 228, 2 }, | 1955 { 227, 2 }, |
| 1924 { 228, 0 }, | 1956 { 227, 0 }, |
| 1925 { 226, 1 }, | 1957 { 225, 1 }, |
| 1926 { 226, 0 }, | 1958 { 225, 0 }, |
| 1927 { 221, 1 }, | 1959 { 221, 1 }, |
| 1928 { 221, 0 }, | 1960 { 221, 0 }, |
| 1929 { 216, 3 }, | 1961 { 216, 3 }, |
| 1930 { 216, 1 }, | 1962 { 216, 1 }, |
| 1931 { 147, 11 }, | 1963 { 147, 11 }, |
| 1932 { 229, 1 }, | 1964 { 228, 1 }, |
| 1933 { 229, 0 }, | 1965 { 228, 0 }, |
| 1934 { 179, 0 }, | 1966 { 179, 0 }, |
| 1935 { 179, 3 }, | 1967 { 179, 3 }, |
| 1936 { 187, 5 }, | 1968 { 187, 5 }, |
| 1937 { 187, 3 }, | 1969 { 187, 3 }, |
| 1938 { 230, 0 }, | 1970 { 229, 0 }, |
| 1939 { 230, 2 }, | 1971 { 229, 2 }, |
| 1940 { 147, 4 }, | 1972 { 147, 4 }, |
| 1941 { 147, 1 }, | 1973 { 147, 1 }, |
| 1942 { 147, 2 }, | 1974 { 147, 2 }, |
| 1943 { 147, 3 }, | 1975 { 147, 3 }, |
| 1944 { 147, 5 }, | 1976 { 147, 5 }, |
| 1945 { 147, 6 }, | 1977 { 147, 6 }, |
| 1946 { 147, 5 }, | 1978 { 147, 5 }, |
| 1947 { 147, 6 }, | 1979 { 147, 6 }, |
| 1948 { 231, 1 }, | 1980 { 230, 1 }, |
| 1949 { 231, 1 }, | 1981 { 230, 1 }, |
| 1950 { 231, 1 }, | 1982 { 230, 1 }, |
| 1951 { 231, 1 }, | 1983 { 230, 1 }, |
| 1952 { 231, 1 }, | 1984 { 230, 1 }, |
| 1953 { 170, 2 }, | 1985 { 170, 2 }, |
| 1954 { 171, 2 }, | 1986 { 171, 2 }, |
| 1955 { 233, 1 }, | |
| 1956 { 232, 1 }, | 1987 { 232, 1 }, |
| 1957 { 232, 0 }, | 1988 { 231, 1 }, |
| 1989 { 231, 0 }, |
| 1958 { 147, 5 }, | 1990 { 147, 5 }, |
| 1959 { 234, 11 }, | 1991 { 233, 11 }, |
| 1992 { 235, 1 }, |
| 1993 { 235, 1 }, |
| 1994 { 235, 2 }, |
| 1995 { 235, 0 }, |
| 1960 { 236, 1 }, | 1996 { 236, 1 }, |
| 1961 { 236, 1 }, | 1997 { 236, 1 }, |
| 1962 { 236, 2 }, | 1998 { 236, 3 }, |
| 1963 { 236, 0 }, | 1999 { 237, 0 }, |
| 1964 { 237, 1 }, | |
| 1965 { 237, 1 }, | |
| 1966 { 237, 3 }, | 2000 { 237, 3 }, |
| 1967 { 238, 0 }, | 2001 { 238, 0 }, |
| 1968 { 238, 3 }, | 2002 { 238, 2 }, |
| 1969 { 239, 0 }, | 2003 { 234, 3 }, |
| 1970 { 239, 2 }, | 2004 { 234, 2 }, |
| 1971 { 235, 3 }, | 2005 { 240, 1 }, |
| 1972 { 235, 2 }, | 2006 { 240, 3 }, |
| 1973 { 241, 1 }, | 2007 { 241, 0 }, |
| 1974 { 241, 3 }, | 2008 { 241, 3 }, |
| 1975 { 242, 0 }, | 2009 { 241, 2 }, |
| 1976 { 242, 3 }, | 2010 { 239, 7 }, |
| 1977 { 242, 2 }, | 2011 { 239, 8 }, |
| 1978 { 240, 7 }, | 2012 { 239, 5 }, |
| 1979 { 240, 8 }, | 2013 { 239, 5 }, |
| 1980 { 240, 5 }, | 2014 { 239, 1 }, |
| 1981 { 240, 5 }, | |
| 1982 { 240, 1 }, | |
| 1983 { 175, 4 }, | 2015 { 175, 4 }, |
| 1984 { 175, 6 }, | 2016 { 175, 6 }, |
| 1985 { 191, 1 }, | 2017 { 191, 1 }, |
| 1986 { 191, 1 }, | 2018 { 191, 1 }, |
| 1987 { 191, 1 }, | 2019 { 191, 1 }, |
| 1988 { 147, 4 }, | 2020 { 147, 4 }, |
| 1989 { 147, 6 }, | 2021 { 147, 6 }, |
| 1990 { 147, 3 }, | 2022 { 147, 3 }, |
| 1991 { 244, 0 }, | |
| 1992 { 244, 2 }, | |
| 1993 { 243, 1 }, | |
| 1994 { 243, 0 }, | 2023 { 243, 0 }, |
| 2024 { 243, 2 }, |
| 2025 { 242, 1 }, |
| 2026 { 242, 0 }, |
| 1995 { 147, 1 }, | 2027 { 147, 1 }, |
| 1996 { 147, 3 }, | 2028 { 147, 3 }, |
| 1997 { 147, 1 }, | 2029 { 147, 1 }, |
| 1998 { 147, 3 }, | 2030 { 147, 3 }, |
| 1999 { 147, 6 }, | 2031 { 147, 6 }, |
| 2000 { 147, 6 }, | 2032 { 147, 6 }, |
| 2033 { 244, 1 }, |
| 2034 { 245, 0 }, |
| 2001 { 245, 1 }, | 2035 { 245, 1 }, |
| 2002 { 246, 0 }, | |
| 2003 { 246, 1 }, | |
| 2004 { 147, 1 }, | 2036 { 147, 1 }, |
| 2005 { 147, 4 }, | 2037 { 147, 4 }, |
| 2006 { 247, 7 }, | 2038 { 246, 7 }, |
| 2007 { 248, 1 }, | 2039 { 247, 1 }, |
| 2008 { 248, 3 }, | 2040 { 247, 3 }, |
| 2009 { 249, 0 }, | 2041 { 248, 0 }, |
| 2010 { 249, 2 }, | 2042 { 248, 2 }, |
| 2043 { 249, 1 }, |
| 2044 { 249, 3 }, |
| 2011 { 250, 1 }, | 2045 { 250, 1 }, |
| 2012 { 250, 3 }, | 2046 { 251, 0 }, |
| 2013 { 251, 1 }, | 2047 { 251, 4 }, |
| 2014 { 252, 0 }, | 2048 { 251, 2 }, |
| 2015 { 252, 4 }, | |
| 2016 { 252, 2 }, | |
| 2017 }; | 2049 }; |
| 2018 | 2050 |
| 2019 static void yy_accept(yyParser*); /* Forward Declaration */ | 2051 static void yy_accept(yyParser*); /* Forward Declaration */ |
| 2020 | 2052 |
| 2021 /* | 2053 /* |
| 2022 ** Perform a reduce action and the shift that must immediately | 2054 ** Perform a reduce action and the shift that must immediately |
| 2023 ** follow the reduce. | 2055 ** follow the reduce. |
| 2024 */ | 2056 */ |
| 2025 static void yy_reduce( | 2057 static void yy_reduce( |
| 2026 yyParser *yypParser, /* The parser */ | 2058 yyParser *yypParser, /* The parser */ |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2062 switch( yyruleno ){ | 2094 switch( yyruleno ){ |
| 2063 /* Beginning here are the reduction cases. A typical example | 2095 /* Beginning here are the reduction cases. A typical example |
| 2064 ** follows: | 2096 ** follows: |
| 2065 ** case 0: | 2097 ** case 0: |
| 2066 ** #line <lineno> <grammarfile> | 2098 ** #line <lineno> <grammarfile> |
| 2067 ** { ... } // User supplied code | 2099 ** { ... } // User supplied code |
| 2068 ** #line <lineno> <thisfile> | 2100 ** #line <lineno> <thisfile> |
| 2069 ** break; | 2101 ** break; |
| 2070 */ | 2102 */ |
| 2071 case 5: /* explain ::= */ | 2103 case 5: /* explain ::= */ |
| 2072 #line 109 "parse.y" | 2104 #line 107 "parse.y" |
| 2073 { sqlite3BeginParse(pParse, 0); } | 2105 { sqlite3BeginParse(pParse, 0); } |
| 2074 #line 2075 "parse.c" | 2106 #line 2107 "parse.c" |
| 2075 break; | 2107 break; |
| 2076 case 6: /* explain ::= EXPLAIN */ | 2108 case 6: /* explain ::= EXPLAIN */ |
| 2077 #line 111 "parse.y" | 2109 #line 109 "parse.y" |
| 2078 { sqlite3BeginParse(pParse, 1); } | 2110 { sqlite3BeginParse(pParse, 1); } |
| 2079 #line 2080 "parse.c" | 2111 #line 2112 "parse.c" |
| 2080 break; | 2112 break; |
| 2081 case 7: /* explain ::= EXPLAIN QUERY PLAN */ | 2113 case 7: /* explain ::= EXPLAIN QUERY PLAN */ |
| 2082 #line 112 "parse.y" | 2114 #line 110 "parse.y" |
| 2083 { sqlite3BeginParse(pParse, 2); } | 2115 { sqlite3BeginParse(pParse, 2); } |
| 2084 #line 2085 "parse.c" | 2116 #line 2117 "parse.c" |
| 2085 break; | 2117 break; |
| 2086 case 8: /* cmdx ::= cmd */ | 2118 case 8: /* cmdx ::= cmd */ |
| 2087 #line 114 "parse.y" | 2119 #line 112 "parse.y" |
| 2088 { sqlite3FinishCoding(pParse); } | 2120 { sqlite3FinishCoding(pParse); } |
| 2089 #line 2090 "parse.c" | 2121 #line 2122 "parse.c" |
| 2090 break; | 2122 break; |
| 2091 case 9: /* cmd ::= BEGIN transtype trans_opt */ | 2123 case 9: /* cmd ::= BEGIN transtype trans_opt */ |
| 2092 #line 119 "parse.y" | 2124 #line 117 "parse.y" |
| 2093 {sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy328);} | 2125 {sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy4);} |
| 2094 #line 2095 "parse.c" | 2126 #line 2127 "parse.c" |
| 2095 break; | 2127 break; |
| 2096 case 13: /* transtype ::= */ | 2128 case 13: /* transtype ::= */ |
| 2097 #line 124 "parse.y" | 2129 #line 122 "parse.y" |
| 2098 {yygotominor.yy328 = TK_DEFERRED;} | 2130 {yygotominor.yy4 = TK_DEFERRED;} |
| 2099 #line 2100 "parse.c" | 2131 #line 2132 "parse.c" |
| 2100 break; | 2132 break; |
| 2101 case 14: /* transtype ::= DEFERRED */ | 2133 case 14: /* transtype ::= DEFERRED */ |
| 2102 case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15); | 2134 case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15); |
| 2103 case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16); | 2135 case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16); |
| 2104 case 114: /* multiselect_op ::= UNION */ yytestcase(yyruleno==114); | 2136 case 115: /* multiselect_op ::= UNION */ yytestcase(yyruleno==115); |
| 2105 case 116: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==1
16); | 2137 case 117: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==1
17); |
| 2106 #line 125 "parse.y" | 2138 #line 123 "parse.y" |
| 2107 {yygotominor.yy328 = yymsp[0].major;} | 2139 {yygotominor.yy4 = yymsp[0].major;} |
| 2108 #line 2109 "parse.c" | 2140 #line 2141 "parse.c" |
| 2109 break; | 2141 break; |
| 2110 case 17: /* cmd ::= COMMIT trans_opt */ | 2142 case 17: /* cmd ::= COMMIT trans_opt */ |
| 2111 case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18); | 2143 case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18); |
| 2112 #line 128 "parse.y" | 2144 #line 126 "parse.y" |
| 2113 {sqlite3CommitTransaction(pParse);} | 2145 {sqlite3CommitTransaction(pParse);} |
| 2114 #line 2115 "parse.c" | 2146 #line 2147 "parse.c" |
| 2115 break; | 2147 break; |
| 2116 case 19: /* cmd ::= ROLLBACK trans_opt */ | 2148 case 19: /* cmd ::= ROLLBACK trans_opt */ |
| 2117 #line 130 "parse.y" | 2149 #line 128 "parse.y" |
| 2118 {sqlite3RollbackTransaction(pParse);} | 2150 {sqlite3RollbackTransaction(pParse);} |
| 2119 #line 2120 "parse.c" | 2151 #line 2152 "parse.c" |
| 2120 break; | 2152 break; |
| 2121 case 22: /* cmd ::= SAVEPOINT nm */ | 2153 case 22: /* cmd ::= SAVEPOINT nm */ |
| 2122 #line 134 "parse.y" | 2154 #line 132 "parse.y" |
| 2123 { | 2155 { |
| 2124 sqlite3Savepoint(pParse, SAVEPOINT_BEGIN, &yymsp[0].minor.yy0); | 2156 sqlite3Savepoint(pParse, SAVEPOINT_BEGIN, &yymsp[0].minor.yy0); |
| 2125 } | 2157 } |
| 2126 #line 2127 "parse.c" | 2158 #line 2159 "parse.c" |
| 2127 break; | 2159 break; |
| 2128 case 23: /* cmd ::= RELEASE savepoint_opt nm */ | 2160 case 23: /* cmd ::= RELEASE savepoint_opt nm */ |
| 2129 #line 137 "parse.y" | 2161 #line 135 "parse.y" |
| 2130 { | 2162 { |
| 2131 sqlite3Savepoint(pParse, SAVEPOINT_RELEASE, &yymsp[0].minor.yy0); | 2163 sqlite3Savepoint(pParse, SAVEPOINT_RELEASE, &yymsp[0].minor.yy0); |
| 2132 } | 2164 } |
| 2133 #line 2134 "parse.c" | 2165 #line 2166 "parse.c" |
| 2134 break; | 2166 break; |
| 2135 case 24: /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ | 2167 case 24: /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ |
| 2136 #line 140 "parse.y" | 2168 #line 138 "parse.y" |
| 2137 { | 2169 { |
| 2138 sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0); | 2170 sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0); |
| 2139 } | 2171 } |
| 2140 #line 2141 "parse.c" | 2172 #line 2173 "parse.c" |
| 2141 break; | 2173 break; |
| 2142 case 26: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ | 2174 case 26: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ |
| 2143 #line 147 "parse.y" | 2175 #line 145 "parse.y" |
| 2144 { | 2176 { |
| 2145 sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].m
inor.yy328,0,0,yymsp[-2].minor.yy328); | 2177 sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].m
inor.yy4,0,0,yymsp[-2].minor.yy4); |
| 2146 } | 2178 } |
| 2147 #line 2148 "parse.c" | 2179 #line 2180 "parse.c" |
| 2148 break; | 2180 break; |
| 2149 case 27: /* createkw ::= CREATE */ | 2181 case 27: /* createkw ::= CREATE */ |
| 2150 #line 150 "parse.y" | 2182 #line 148 "parse.y" |
| 2151 { | 2183 { |
| 2152 pParse->db->lookaside.bEnabled = 0; | 2184 pParse->db->lookaside.bEnabled = 0; |
| 2153 yygotominor.yy0 = yymsp[0].minor.yy0; | 2185 yygotominor.yy0 = yymsp[0].minor.yy0; |
| 2154 } | 2186 } |
| 2155 #line 2156 "parse.c" | 2187 #line 2188 "parse.c" |
| 2156 break; | 2188 break; |
| 2157 case 28: /* ifnotexists ::= */ | 2189 case 28: /* ifnotexists ::= */ |
| 2158 case 31: /* temp ::= */ yytestcase(yyruleno==31); | 2190 case 31: /* temp ::= */ yytestcase(yyruleno==31); |
| 2159 case 70: /* autoinc ::= */ yytestcase(yyruleno==70); | 2191 case 70: /* autoinc ::= */ yytestcase(yyruleno==70); |
| 2160 case 84: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==84); | 2192 case 83: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ y
ytestcase(yyruleno==83); |
| 2161 case 86: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(y
yruleno==86); | 2193 case 85: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==85); |
| 2162 case 97: /* defer_subclause_opt ::= */ yytestcase(yyruleno==97); | 2194 case 87: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(y
yruleno==87); |
| 2163 case 108: /* ifexists ::= */ yytestcase(yyruleno==108); | 2195 case 98: /* defer_subclause_opt ::= */ yytestcase(yyruleno==98); |
| 2164 case 119: /* distinct ::= ALL */ yytestcase(yyruleno==119); | 2196 case 109: /* ifexists ::= */ yytestcase(yyruleno==109); |
| 2165 case 120: /* distinct ::= */ yytestcase(yyruleno==120); | 2197 case 120: /* distinct ::= ALL */ yytestcase(yyruleno==120); |
| 2198 case 121: /* distinct ::= */ yytestcase(yyruleno==121); |
| 2166 case 222: /* between_op ::= BETWEEN */ yytestcase(yyruleno==222); | 2199 case 222: /* between_op ::= BETWEEN */ yytestcase(yyruleno==222); |
| 2167 case 225: /* in_op ::= IN */ yytestcase(yyruleno==225); | 2200 case 225: /* in_op ::= IN */ yytestcase(yyruleno==225); |
| 2168 #line 155 "parse.y" | 2201 #line 153 "parse.y" |
| 2169 {yygotominor.yy328 = 0;} | 2202 {yygotominor.yy4 = 0;} |
| 2170 #line 2171 "parse.c" | 2203 #line 2204 "parse.c" |
| 2171 break; | 2204 break; |
| 2172 case 29: /* ifnotexists ::= IF NOT EXISTS */ | 2205 case 29: /* ifnotexists ::= IF NOT EXISTS */ |
| 2173 case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30); | 2206 case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30); |
| 2174 case 71: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==71); | 2207 case 71: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==71); |
| 2175 case 85: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yy
ruleno==85); | 2208 case 86: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yy
ruleno==86); |
| 2176 case 107: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==107); | 2209 case 108: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==108); |
| 2177 case 118: /* distinct ::= DISTINCT */ yytestcase(yyruleno==118); | 2210 case 119: /* distinct ::= DISTINCT */ yytestcase(yyruleno==119); |
| 2178 case 223: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==223); | 2211 case 223: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==223); |
| 2179 case 226: /* in_op ::= NOT IN */ yytestcase(yyruleno==226); | 2212 case 226: /* in_op ::= NOT IN */ yytestcase(yyruleno==226); |
| 2180 #line 156 "parse.y" | 2213 #line 154 "parse.y" |
| 2181 {yygotominor.yy328 = 1;} | 2214 {yygotominor.yy4 = 1;} |
| 2182 #line 2183 "parse.c" | 2215 #line 2216 "parse.c" |
| 2183 break; | 2216 break; |
| 2184 case 32: /* create_table_args ::= LP columnlist conslist_opt RP */ | 2217 case 32: /* create_table_args ::= LP columnlist conslist_opt RP */ |
| 2185 #line 162 "parse.y" | 2218 #line 160 "parse.y" |
| 2186 { | 2219 { |
| 2187 sqlite3EndTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0); | 2220 sqlite3EndTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0); |
| 2188 } | 2221 } |
| 2189 #line 2190 "parse.c" | 2222 #line 2223 "parse.c" |
| 2190 break; | 2223 break; |
| 2191 case 33: /* create_table_args ::= AS select */ | 2224 case 33: /* create_table_args ::= AS select */ |
| 2192 #line 165 "parse.y" | 2225 #line 163 "parse.y" |
| 2193 { | 2226 { |
| 2194 sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy3); | 2227 sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy387); |
| 2195 sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy3); | 2228 sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); |
| 2196 } | 2229 } |
| 2197 #line 2198 "parse.c" | 2230 #line 2231 "parse.c" |
| 2198 break; | 2231 break; |
| 2199 case 36: /* column ::= columnid type carglist */ | 2232 case 36: /* column ::= columnid type carglist */ |
| 2200 #line 177 "parse.y" | 2233 #line 175 "parse.y" |
| 2201 { | 2234 { |
| 2202 yygotominor.yy0.z = yymsp[-2].minor.yy0.z; | 2235 yygotominor.yy0.z = yymsp[-2].minor.yy0.z; |
| 2203 yygotominor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-2].minor.yy0.z) + pParse
->sLastToken.n; | 2236 yygotominor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-2].minor.yy0.z) + pParse
->sLastToken.n; |
| 2204 } | 2237 } |
| 2205 #line 2206 "parse.c" | 2238 #line 2239 "parse.c" |
| 2206 break; | 2239 break; |
| 2207 case 37: /* columnid ::= nm */ | 2240 case 37: /* columnid ::= nm */ |
| 2208 #line 181 "parse.y" | 2241 #line 179 "parse.y" |
| 2209 { | 2242 { |
| 2210 sqlite3AddColumn(pParse,&yymsp[0].minor.yy0); | 2243 sqlite3AddColumn(pParse,&yymsp[0].minor.yy0); |
| 2211 yygotominor.yy0 = yymsp[0].minor.yy0; | 2244 yygotominor.yy0 = yymsp[0].minor.yy0; |
| 2212 } | 2245 } |
| 2213 #line 2214 "parse.c" | 2246 #line 2247 "parse.c" |
| 2214 break; | 2247 break; |
| 2215 case 38: /* id ::= ID */ | 2248 case 38: /* id ::= ID */ |
| 2216 case 39: /* id ::= INDEXED */ yytestcase(yyruleno==39); | 2249 case 39: /* id ::= INDEXED */ yytestcase(yyruleno==39); |
| 2217 case 40: /* ids ::= ID|STRING */ yytestcase(yyruleno==40); | 2250 case 40: /* ids ::= ID|STRING */ yytestcase(yyruleno==40); |
| 2218 case 41: /* nm ::= id */ yytestcase(yyruleno==41); | 2251 case 41: /* nm ::= id */ yytestcase(yyruleno==41); |
| 2219 case 42: /* nm ::= STRING */ yytestcase(yyruleno==42); | 2252 case 42: /* nm ::= STRING */ yytestcase(yyruleno==42); |
| 2220 case 43: /* nm ::= JOIN_KW */ yytestcase(yyruleno==43); | 2253 case 43: /* nm ::= JOIN_KW */ yytestcase(yyruleno==43); |
| 2221 case 46: /* typetoken ::= typename */ yytestcase(yyruleno==46); | 2254 case 46: /* typetoken ::= typename */ yytestcase(yyruleno==46); |
| 2222 case 49: /* typename ::= ids */ yytestcase(yyruleno==49); | 2255 case 49: /* typename ::= ids */ yytestcase(yyruleno==49); |
| 2223 case 126: /* as ::= AS nm */ yytestcase(yyruleno==126); | 2256 case 127: /* as ::= AS nm */ yytestcase(yyruleno==127); |
| 2224 case 127: /* as ::= ids */ yytestcase(yyruleno==127); | 2257 case 128: /* as ::= ids */ yytestcase(yyruleno==128); |
| 2225 case 137: /* dbnm ::= DOT nm */ yytestcase(yyruleno==137); | 2258 case 138: /* dbnm ::= DOT nm */ yytestcase(yyruleno==138); |
| 2226 case 146: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==146); | 2259 case 147: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==147); |
| 2227 case 251: /* collate ::= COLLATE ids */ yytestcase(yyruleno==251); | 2260 case 251: /* collate ::= COLLATE ids */ yytestcase(yyruleno==251); |
| 2228 case 260: /* nmnum ::= plus_num */ yytestcase(yyruleno==260); | 2261 case 260: /* nmnum ::= plus_num */ yytestcase(yyruleno==260); |
| 2229 case 261: /* nmnum ::= nm */ yytestcase(yyruleno==261); | 2262 case 261: /* nmnum ::= nm */ yytestcase(yyruleno==261); |
| 2230 case 262: /* nmnum ::= ON */ yytestcase(yyruleno==262); | 2263 case 262: /* nmnum ::= ON */ yytestcase(yyruleno==262); |
| 2231 case 263: /* nmnum ::= DELETE */ yytestcase(yyruleno==263); | 2264 case 263: /* nmnum ::= DELETE */ yytestcase(yyruleno==263); |
| 2232 case 264: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==264); | 2265 case 264: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==264); |
| 2233 case 265: /* plus_num ::= plus_opt number */ yytestcase(yyruleno==265); | 2266 case 265: /* plus_num ::= plus_opt number */ yytestcase(yyruleno==265); |
| 2234 case 266: /* minus_num ::= MINUS number */ yytestcase(yyruleno==266); | 2267 case 266: /* minus_num ::= MINUS number */ yytestcase(yyruleno==266); |
| 2235 case 267: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==267); | 2268 case 267: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==267); |
| 2236 case 285: /* trnm ::= nm */ yytestcase(yyruleno==285); | 2269 case 285: /* trnm ::= nm */ yytestcase(yyruleno==285); |
| 2237 #line 191 "parse.y" | 2270 #line 189 "parse.y" |
| 2238 {yygotominor.yy0 = yymsp[0].minor.yy0;} | 2271 {yygotominor.yy0 = yymsp[0].minor.yy0;} |
| 2239 #line 2240 "parse.c" | 2272 #line 2273 "parse.c" |
| 2240 break; | 2273 break; |
| 2241 case 45: /* type ::= typetoken */ | 2274 case 45: /* type ::= typetoken */ |
| 2275 #line 251 "parse.y" |
| 2276 {sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);} |
| 2277 #line 2278 "parse.c" |
| 2278 break; |
| 2279 case 47: /* typetoken ::= typename LP signed RP */ |
| 2242 #line 253 "parse.y" | 2280 #line 253 "parse.y" |
| 2243 {sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);} | |
| 2244 #line 2245 "parse.c" | |
| 2245 break; | |
| 2246 case 47: /* typetoken ::= typename LP signed RP */ | |
| 2247 #line 255 "parse.y" | |
| 2248 { | 2281 { |
| 2249 yygotominor.yy0.z = yymsp[-3].minor.yy0.z; | 2282 yygotominor.yy0.z = yymsp[-3].minor.yy0.z; |
| 2250 yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[
-3].minor.yy0.z); | 2283 yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[
-3].minor.yy0.z); |
| 2251 } | 2284 } |
| 2252 #line 2253 "parse.c" | 2285 #line 2286 "parse.c" |
| 2253 break; | 2286 break; |
| 2254 case 48: /* typetoken ::= typename LP signed COMMA signed RP */ | 2287 case 48: /* typetoken ::= typename LP signed COMMA signed RP */ |
| 2255 #line 259 "parse.y" | 2288 #line 257 "parse.y" |
| 2256 { | 2289 { |
| 2257 yygotominor.yy0.z = yymsp[-5].minor.yy0.z; | 2290 yygotominor.yy0.z = yymsp[-5].minor.yy0.z; |
| 2258 yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[
-5].minor.yy0.z); | 2291 yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[
-5].minor.yy0.z); |
| 2259 } | 2292 } |
| 2260 #line 2261 "parse.c" | 2293 #line 2294 "parse.c" |
| 2261 break; | 2294 break; |
| 2262 case 50: /* typename ::= typename ids */ | 2295 case 50: /* typename ::= typename ids */ |
| 2263 #line 265 "parse.y" | 2296 #line 263 "parse.y" |
| 2264 {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n
+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} | 2297 {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n
+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} |
| 2265 #line 2266 "parse.c" | 2298 #line 2299 "parse.c" |
| 2266 break; | 2299 break; |
| 2267 case 57: /* ccons ::= DEFAULT term */ | 2300 case 57: /* ccons ::= DEFAULT term */ |
| 2268 case 59: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==59); | 2301 case 59: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==59); |
| 2269 #line 276 "parse.y" | 2302 #line 274 "parse.y" |
| 2270 {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy346);} | 2303 {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy118);} |
| 2271 #line 2272 "parse.c" | 2304 #line 2305 "parse.c" |
| 2272 break; | 2305 break; |
| 2273 case 58: /* ccons ::= DEFAULT LP expr RP */ | 2306 case 58: /* ccons ::= DEFAULT LP expr RP */ |
| 2307 #line 275 "parse.y" |
| 2308 {sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy118);} |
| 2309 #line 2310 "parse.c" |
| 2310 break; |
| 2311 case 60: /* ccons ::= DEFAULT MINUS term */ |
| 2274 #line 277 "parse.y" | 2312 #line 277 "parse.y" |
| 2275 {sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy346);} | |
| 2276 #line 2277 "parse.c" | |
| 2277 break; | |
| 2278 case 60: /* ccons ::= DEFAULT MINUS term */ | |
| 2279 #line 279 "parse.y" | |
| 2280 { | 2313 { |
| 2281 ExprSpan v; | 2314 ExprSpan v; |
| 2282 v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy346.pExpr, 0, 0); | 2315 v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy118.pExpr, 0, 0); |
| 2283 v.zStart = yymsp[-1].minor.yy0.z; | 2316 v.zStart = yymsp[-1].minor.yy0.z; |
| 2284 v.zEnd = yymsp[0].minor.yy346.zEnd; | 2317 v.zEnd = yymsp[0].minor.yy118.zEnd; |
| 2285 sqlite3AddDefaultValue(pParse,&v); | 2318 sqlite3AddDefaultValue(pParse,&v); |
| 2286 } | 2319 } |
| 2287 #line 2288 "parse.c" | 2320 #line 2321 "parse.c" |
| 2288 break; | 2321 break; |
| 2289 case 61: /* ccons ::= DEFAULT id */ | 2322 case 61: /* ccons ::= DEFAULT id */ |
| 2290 #line 286 "parse.y" | 2323 #line 284 "parse.y" |
| 2291 { | 2324 { |
| 2292 ExprSpan v; | 2325 ExprSpan v; |
| 2293 spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0); | 2326 spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0); |
| 2294 sqlite3AddDefaultValue(pParse,&v); | 2327 sqlite3AddDefaultValue(pParse,&v); |
| 2295 } | 2328 } |
| 2296 #line 2297 "parse.c" | 2329 #line 2330 "parse.c" |
| 2297 break; | 2330 break; |
| 2298 case 63: /* ccons ::= NOT NULL onconf */ | 2331 case 63: /* ccons ::= NOT NULL onconf */ |
| 2332 #line 294 "parse.y" |
| 2333 {sqlite3AddNotNull(pParse, yymsp[0].minor.yy4);} |
| 2334 #line 2335 "parse.c" |
| 2335 break; |
| 2336 case 64: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ |
| 2299 #line 296 "parse.y" | 2337 #line 296 "parse.y" |
| 2300 {sqlite3AddNotNull(pParse, yymsp[0].minor.yy328);} | 2338 {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy4,yymsp[0].minor.yy4,yymsp[-2].
minor.yy4);} |
| 2301 #line 2302 "parse.c" | 2339 #line 2340 "parse.c" |
| 2302 break; | 2340 break; |
| 2303 case 64: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ | 2341 case 65: /* ccons ::= UNIQUE onconf */ |
| 2342 #line 297 "parse.y" |
| 2343 {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy4,0,0,0,0);} |
| 2344 #line 2345 "parse.c" |
| 2345 break; |
| 2346 case 66: /* ccons ::= CHECK LP expr RP */ |
| 2304 #line 298 "parse.y" | 2347 #line 298 "parse.y" |
| 2305 {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy328,yymsp[0].minor.yy328,yymsp[
-2].minor.yy328);} | 2348 {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy118.pExpr);} |
| 2306 #line 2307 "parse.c" | 2349 #line 2350 "parse.c" |
| 2307 break; | 2350 break; |
| 2308 case 65: /* ccons ::= UNIQUE onconf */ | 2351 case 67: /* ccons ::= REFERENCES nm idxlist_opt refargs */ |
| 2309 #line 299 "parse.y" | |
| 2310 {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy328,0,0,0,0);} | |
| 2311 #line 2312 "parse.c" | |
| 2312 break; | |
| 2313 case 66: /* ccons ::= CHECK LP expr RP */ | |
| 2314 #line 300 "parse.y" | 2352 #line 300 "parse.y" |
| 2315 {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy346.pExpr);} | 2353 {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy322,yym
sp[0].minor.yy4);} |
| 2316 #line 2317 "parse.c" | 2354 #line 2355 "parse.c" |
| 2317 break; | 2355 break; |
| 2318 case 67: /* ccons ::= REFERENCES nm idxlist_opt refargs */ | 2356 case 68: /* ccons ::= defer_subclause */ |
| 2357 #line 301 "parse.y" |
| 2358 {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy4);} |
| 2359 #line 2360 "parse.c" |
| 2360 break; |
| 2361 case 69: /* ccons ::= COLLATE ids */ |
| 2319 #line 302 "parse.y" | 2362 #line 302 "parse.y" |
| 2320 {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy14,yyms
p[0].minor.yy328);} | |
| 2321 #line 2322 "parse.c" | |
| 2322 break; | |
| 2323 case 68: /* ccons ::= defer_subclause */ | |
| 2324 #line 303 "parse.y" | |
| 2325 {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy328);} | |
| 2326 #line 2327 "parse.c" | |
| 2327 break; | |
| 2328 case 69: /* ccons ::= COLLATE ids */ | |
| 2329 #line 304 "parse.y" | |
| 2330 {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} | 2363 {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} |
| 2331 #line 2332 "parse.c" | 2364 #line 2365 "parse.c" |
| 2332 break; | 2365 break; |
| 2333 case 72: /* refargs ::= */ | 2366 case 72: /* refargs ::= */ |
| 2334 #line 317 "parse.y" | 2367 #line 315 "parse.y" |
| 2335 { yygotominor.yy328 = OE_Restrict * 0x010101; } | 2368 { yygotominor.yy4 = OE_None*0x0101; /* EV: R-19803-45884 */} |
| 2336 #line 2337 "parse.c" | 2369 #line 2370 "parse.c" |
| 2337 break; | 2370 break; |
| 2338 case 73: /* refargs ::= refargs refarg */ | 2371 case 73: /* refargs ::= refargs refarg */ |
| 2372 #line 316 "parse.y" |
| 2373 { yygotominor.yy4 = (yymsp[-1].minor.yy4 & ~yymsp[0].minor.yy215.mask) | yymsp[0
].minor.yy215.value; } |
| 2374 #line 2375 "parse.c" |
| 2375 break; |
| 2376 case 74: /* refarg ::= MATCH nm */ |
| 2377 case 75: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==75); |
| 2339 #line 318 "parse.y" | 2378 #line 318 "parse.y" |
| 2340 { yygotominor.yy328 = (yymsp[-1].minor.yy328 & ~yymsp[0].minor.yy429.mask) | yym
sp[0].minor.yy429.value; } | 2379 { yygotominor.yy215.value = 0; yygotominor.yy215.mask = 0x000000; } |
| 2341 #line 2342 "parse.c" | 2380 #line 2381 "parse.c" |
| 2342 break; | 2381 break; |
| 2343 case 74: /* refarg ::= MATCH nm */ | 2382 case 76: /* refarg ::= ON DELETE refact */ |
| 2344 #line 320 "parse.y" | 2383 #line 320 "parse.y" |
| 2345 { yygotominor.yy429.value = 0; yygotominor.yy429.mask = 0x000000; } | 2384 { yygotominor.yy215.value = yymsp[0].minor.yy4; yygotominor.yy215.mask = 0x0
000ff; } |
| 2346 #line 2347 "parse.c" | 2385 #line 2386 "parse.c" |
| 2347 break; | 2386 break; |
| 2348 case 75: /* refarg ::= ON DELETE refact */ | 2387 case 77: /* refarg ::= ON UPDATE refact */ |
| 2349 #line 321 "parse.y" | 2388 #line 321 "parse.y" |
| 2350 { yygotominor.yy429.value = yymsp[0].minor.yy328; yygotominor.yy429.mask = 0
x0000ff; } | 2389 { yygotominor.yy215.value = yymsp[0].minor.yy4<<8; yygotominor.yy215.mask = 0x0
0ff00; } |
| 2351 #line 2352 "parse.c" | 2390 #line 2391 "parse.c" |
| 2352 break; | 2391 break; |
| 2353 case 76: /* refarg ::= ON UPDATE refact */ | 2392 case 78: /* refact ::= SET NULL */ |
| 2354 #line 322 "parse.y" | |
| 2355 { yygotominor.yy429.value = yymsp[0].minor.yy328<<8; yygotominor.yy429.mask = 0
x00ff00; } | |
| 2356 #line 2357 "parse.c" | |
| 2357 break; | |
| 2358 case 77: /* refarg ::= ON INSERT refact */ | |
| 2359 #line 323 "parse.y" | 2393 #line 323 "parse.y" |
| 2360 { yygotominor.yy429.value = yymsp[0].minor.yy328<<16; yygotominor.yy429.mask = 0
xff0000; } | 2394 { yygotominor.yy4 = OE_SetNull; /* EV: R-33326-45252 */} |
| 2361 #line 2362 "parse.c" | 2395 #line 2396 "parse.c" |
| 2362 break; | 2396 break; |
| 2363 case 78: /* refact ::= SET NULL */ | 2397 case 79: /* refact ::= SET DEFAULT */ |
| 2398 #line 324 "parse.y" |
| 2399 { yygotominor.yy4 = OE_SetDflt; /* EV: R-33326-45252 */} |
| 2400 #line 2401 "parse.c" |
| 2401 break; |
| 2402 case 80: /* refact ::= CASCADE */ |
| 2364 #line 325 "parse.y" | 2403 #line 325 "parse.y" |
| 2365 { yygotominor.yy328 = OE_SetNull; } | 2404 { yygotominor.yy4 = OE_Cascade; /* EV: R-33326-45252 */} |
| 2366 #line 2367 "parse.c" | 2405 #line 2406 "parse.c" |
| 2367 break; | 2406 break; |
| 2368 case 79: /* refact ::= SET DEFAULT */ | 2407 case 81: /* refact ::= RESTRICT */ |
| 2369 #line 326 "parse.y" | 2408 #line 326 "parse.y" |
| 2370 { yygotominor.yy328 = OE_SetDflt; } | 2409 { yygotominor.yy4 = OE_Restrict; /* EV: R-33326-45252 */} |
| 2371 #line 2372 "parse.c" | 2410 #line 2411 "parse.c" |
| 2372 break; | 2411 break; |
| 2373 case 80: /* refact ::= CASCADE */ | 2412 case 82: /* refact ::= NO ACTION */ |
| 2374 #line 327 "parse.y" | 2413 #line 327 "parse.y" |
| 2375 { yygotominor.yy328 = OE_Cascade; } | 2414 { yygotominor.yy4 = OE_None; /* EV: R-33326-45252 */} |
| 2376 #line 2377 "parse.c" | 2415 #line 2416 "parse.c" |
| 2377 break; | 2416 break; |
| 2378 case 81: /* refact ::= RESTRICT */ | 2417 case 84: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 2379 #line 328 "parse.y" | 2418 case 99: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno
==99); |
| 2380 { yygotominor.yy328 = OE_Restrict; } | 2419 case 101: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==10
1); |
| 2381 #line 2382 "parse.c" | 2420 case 104: /* resolvetype ::= raisetype */ yytestcase(yyruleno==104); |
| 2382 break; | |
| 2383 case 82: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ | |
| 2384 case 83: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ yytes
tcase(yyruleno==83); | |
| 2385 case 98: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno
==98); | |
| 2386 case 100: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==10
0); | |
| 2387 case 103: /* resolvetype ::= raisetype */ yytestcase(yyruleno==103); | |
| 2388 #line 330 "parse.y" | 2421 #line 330 "parse.y" |
| 2389 {yygotominor.yy328 = yymsp[0].minor.yy328;} | 2422 {yygotominor.yy4 = yymsp[0].minor.yy4;} |
| 2390 #line 2391 "parse.c" | 2423 #line 2424 "parse.c" |
| 2391 break; | 2424 break; |
| 2392 case 87: /* conslist_opt ::= */ | 2425 case 88: /* conslist_opt ::= */ |
| 2426 #line 339 "parse.y" |
| 2427 {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} |
| 2428 #line 2429 "parse.c" |
| 2429 break; |
| 2430 case 89: /* conslist_opt ::= COMMA conslist */ |
| 2393 #line 340 "parse.y" | 2431 #line 340 "parse.y" |
| 2394 {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} | |
| 2395 #line 2396 "parse.c" | |
| 2396 break; | |
| 2397 case 88: /* conslist_opt ::= COMMA conslist */ | |
| 2398 #line 341 "parse.y" | |
| 2399 {yygotominor.yy0 = yymsp[-1].minor.yy0;} | 2432 {yygotominor.yy0 = yymsp[-1].minor.yy0;} |
| 2400 #line 2401 "parse.c" | 2433 #line 2434 "parse.c" |
| 2401 break; | 2434 break; |
| 2402 case 93: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ | 2435 case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ |
| 2403 #line 347 "parse.y" | 2436 #line 346 "parse.y" |
| 2404 {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy14,yymsp[0].minor.yy328,yymsp[-2]
.minor.yy328,0);} | 2437 {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy322,yymsp[0].minor.yy4,yymsp[-2].
minor.yy4,0);} |
| 2405 #line 2406 "parse.c" | 2438 #line 2439 "parse.c" |
| 2406 break; | 2439 break; |
| 2407 case 94: /* tcons ::= UNIQUE LP idxlist RP onconf */ | 2440 case 95: /* tcons ::= UNIQUE LP idxlist RP onconf */ |
| 2408 #line 349 "parse.y" | 2441 #line 348 "parse.y" |
| 2409 {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy14,yymsp[0].minor.yy328,0,0,0
,0);} | 2442 {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy322,yymsp[0].minor.yy4,0,0,0,
0);} |
| 2410 #line 2411 "parse.c" | 2443 #line 2444 "parse.c" |
| 2411 break; | 2444 break; |
| 2412 case 95: /* tcons ::= CHECK LP expr RP onconf */ | 2445 case 96: /* tcons ::= CHECK LP expr RP onconf */ |
| 2413 #line 351 "parse.y" | 2446 #line 350 "parse.y" |
| 2414 {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy346.pExpr);} | 2447 {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy118.pExpr);} |
| 2415 #line 2416 "parse.c" | 2448 #line 2449 "parse.c" |
| 2416 break; | 2449 break; |
| 2417 case 96: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt
refargs defer_subclause_opt */ | 2450 case 97: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt
refargs defer_subclause_opt */ |
| 2418 #line 353 "parse.y" | 2451 #line 352 "parse.y" |
| 2419 { | 2452 { |
| 2420 sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy14, &yymsp[-3].minor.yy0,
yymsp[-2].minor.yy14, yymsp[-1].minor.yy328); | 2453 sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy322, &yymsp[-3].minor.yy0,
yymsp[-2].minor.yy322, yymsp[-1].minor.yy4); |
| 2421 sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy328); | 2454 sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy4); |
| 2422 } | 2455 } |
| 2423 #line 2424 "parse.c" | 2456 #line 2457 "parse.c" |
| 2424 break; | 2457 break; |
| 2425 case 99: /* onconf ::= */ | 2458 case 100: /* onconf ::= */ |
| 2426 #line 367 "parse.y" | 2459 #line 366 "parse.y" |
| 2427 {yygotominor.yy328 = OE_Default;} | 2460 {yygotominor.yy4 = OE_Default;} |
| 2428 #line 2429 "parse.c" | 2461 #line 2462 "parse.c" |
| 2429 break; | 2462 break; |
| 2430 case 101: /* orconf ::= */ | 2463 case 102: /* orconf ::= */ |
| 2464 #line 368 "parse.y" |
| 2465 {yygotominor.yy210 = OE_Default;} |
| 2466 #line 2467 "parse.c" |
| 2467 break; |
| 2468 case 103: /* orconf ::= OR resolvetype */ |
| 2431 #line 369 "parse.y" | 2469 #line 369 "parse.y" |
| 2432 {yygotominor.yy186 = OE_Default;} | 2470 {yygotominor.yy210 = (u8)yymsp[0].minor.yy4;} |
| 2433 #line 2434 "parse.c" | 2471 #line 2472 "parse.c" |
| 2434 break; | 2472 break; |
| 2435 case 102: /* orconf ::= OR resolvetype */ | 2473 case 105: /* resolvetype ::= IGNORE */ |
| 2436 #line 370 "parse.y" | 2474 #line 371 "parse.y" |
| 2437 {yygotominor.yy186 = (u8)yymsp[0].minor.yy328;} | 2475 {yygotominor.yy4 = OE_Ignore;} |
| 2438 #line 2439 "parse.c" | 2476 #line 2477 "parse.c" |
| 2439 break; | 2477 break; |
| 2440 case 104: /* resolvetype ::= IGNORE */ | 2478 case 106: /* resolvetype ::= REPLACE */ |
| 2441 #line 372 "parse.y" | 2479 #line 372 "parse.y" |
| 2442 {yygotominor.yy328 = OE_Ignore;} | 2480 {yygotominor.yy4 = OE_Replace;} |
| 2443 #line 2444 "parse.c" | 2481 #line 2482 "parse.c" |
| 2444 break; | 2482 break; |
| 2445 case 105: /* resolvetype ::= REPLACE */ | 2483 case 107: /* cmd ::= DROP TABLE ifexists fullname */ |
| 2446 #line 373 "parse.y" | 2484 #line 376 "parse.y" |
| 2447 {yygotominor.yy328 = OE_Replace;} | 2485 { |
| 2448 #line 2449 "parse.c" | 2486 sqlite3DropTable(pParse, yymsp[0].minor.yy259, 0, yymsp[-1].minor.yy4); |
| 2449 break; | 2487 } |
| 2450 case 106: /* cmd ::= DROP TABLE ifexists fullname */ | 2488 #line 2489 "parse.c" |
| 2451 #line 377 "parse.y" | 2489 break; |
| 2452 { | 2490 case 110: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */ |
| 2453 sqlite3DropTable(pParse, yymsp[0].minor.yy65, 0, yymsp[-1].minor.yy328); | 2491 #line 386 "parse.y" |
| 2454 } | 2492 { |
| 2455 #line 2456 "parse.c" | 2493 sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-
2].minor.yy0, yymsp[0].minor.yy387, yymsp[-6].minor.yy4, yymsp[-4].minor.yy4); |
| 2456 break; | 2494 } |
| 2457 case 109: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */ | 2495 #line 2496 "parse.c" |
| 2458 #line 387 "parse.y" | 2496 break; |
| 2459 { | 2497 case 111: /* cmd ::= DROP VIEW ifexists fullname */ |
| 2460 sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-
2].minor.yy0, yymsp[0].minor.yy3, yymsp[-6].minor.yy328, yymsp[-4].minor.yy328); | 2498 #line 389 "parse.y" |
| 2461 } | 2499 { |
| 2462 #line 2463 "parse.c" | 2500 sqlite3DropTable(pParse, yymsp[0].minor.yy259, 1, yymsp[-1].minor.yy4); |
| 2463 break; | 2501 } |
| 2464 case 110: /* cmd ::= DROP VIEW ifexists fullname */ | 2502 #line 2503 "parse.c" |
| 2465 #line 390 "parse.y" | 2503 break; |
| 2466 { | 2504 case 112: /* cmd ::= select */ |
| 2467 sqlite3DropTable(pParse, yymsp[0].minor.yy65, 1, yymsp[-1].minor.yy328); | 2505 #line 396 "parse.y" |
| 2468 } | |
| 2469 #line 2470 "parse.c" | |
| 2470 break; | |
| 2471 case 111: /* cmd ::= select */ | |
| 2472 #line 397 "parse.y" | |
| 2473 { | 2506 { |
| 2474 SelectDest dest = {SRT_Output, 0, 0, 0, 0}; | 2507 SelectDest dest = {SRT_Output, 0, 0, 0, 0}; |
| 2475 sqlite3Select(pParse, yymsp[0].minor.yy3, &dest); | 2508 sqlite3Select(pParse, yymsp[0].minor.yy387, &dest); |
| 2476 sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy3); | 2509 sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); |
| 2477 } | 2510 } |
| 2478 #line 2479 "parse.c" | 2511 #line 2512 "parse.c" |
| 2479 break; | 2512 break; |
| 2480 case 112: /* select ::= oneselect */ | 2513 case 113: /* select ::= oneselect */ |
| 2481 #line 408 "parse.y" | 2514 #line 407 "parse.y" |
| 2482 {yygotominor.yy3 = yymsp[0].minor.yy3;} | 2515 {yygotominor.yy387 = yymsp[0].minor.yy387;} |
| 2483 #line 2484 "parse.c" | 2516 #line 2517 "parse.c" |
| 2484 break; | 2517 break; |
| 2485 case 113: /* select ::= select multiselect_op oneselect */ | 2518 case 114: /* select ::= select multiselect_op oneselect */ |
| 2486 #line 410 "parse.y" | 2519 #line 409 "parse.y" |
| 2487 { | 2520 { |
| 2488 if( yymsp[0].minor.yy3 ){ | 2521 if( yymsp[0].minor.yy387 ){ |
| 2489 yymsp[0].minor.yy3->op = (u8)yymsp[-1].minor.yy328; | 2522 yymsp[0].minor.yy387->op = (u8)yymsp[-1].minor.yy4; |
| 2490 yymsp[0].minor.yy3->pPrior = yymsp[-2].minor.yy3; | 2523 yymsp[0].minor.yy387->pPrior = yymsp[-2].minor.yy387; |
| 2491 }else{ | 2524 }else{ |
| 2492 sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy3); | 2525 sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy387); |
| 2493 } | 2526 } |
| 2494 yygotominor.yy3 = yymsp[0].minor.yy3; | 2527 yygotominor.yy387 = yymsp[0].minor.yy387; |
| 2495 } | 2528 } |
| 2496 #line 2497 "parse.c" | 2529 #line 2530 "parse.c" |
| 2497 break; | 2530 break; |
| 2498 case 115: /* multiselect_op ::= UNION ALL */ | 2531 case 116: /* multiselect_op ::= UNION ALL */ |
| 2499 #line 421 "parse.y" | 2532 #line 420 "parse.y" |
| 2500 {yygotominor.yy328 = TK_ALL;} | 2533 {yygotominor.yy4 = TK_ALL;} |
| 2501 #line 2502 "parse.c" | 2534 #line 2535 "parse.c" |
| 2502 break; | 2535 break; |
| 2503 case 117: /* oneselect ::= SELECT distinct selcollist from where_opt group
by_opt having_opt orderby_opt limit_opt */ | 2536 case 118: /* oneselect ::= SELECT distinct selcollist from where_opt group
by_opt having_opt orderby_opt limit_opt */ |
| 2504 #line 425 "parse.y" | 2537 #line 424 "parse.y" |
| 2505 { | 2538 { |
| 2506 yygotominor.yy3 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy14,yymsp[-5].minor
.yy65,yymsp[-4].minor.yy132,yymsp[-3].minor.yy14,yymsp[-2].minor.yy132,yymsp[-1]
.minor.yy14,yymsp[-7].minor.yy328,yymsp[0].minor.yy476.pLimit,yymsp[0].minor.yy4
76.pOffset); | 2539 yygotominor.yy387 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy322,yymsp[-5].mi
nor.yy259,yymsp[-4].minor.yy314,yymsp[-3].minor.yy322,yymsp[-2].minor.yy314,yyms
p[-1].minor.yy322,yymsp[-7].minor.yy4,yymsp[0].minor.yy292.pLimit,yymsp[0].minor
.yy292.pOffset); |
| 2507 } | 2540 } |
| 2508 #line 2509 "parse.c" | 2541 #line 2542 "parse.c" |
| 2509 break; | 2542 break; |
| 2510 case 121: /* sclp ::= selcollist COMMA */ | 2543 case 122: /* sclp ::= selcollist COMMA */ |
| 2511 case 247: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==247); | 2544 case 247: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==247); |
| 2512 #line 446 "parse.y" | 2545 #line 445 "parse.y" |
| 2513 {yygotominor.yy14 = yymsp[-1].minor.yy14;} | 2546 {yygotominor.yy322 = yymsp[-1].minor.yy322;} |
| 2514 #line 2515 "parse.c" | 2547 #line 2548 "parse.c" |
| 2515 break; | 2548 break; |
| 2516 case 122: /* sclp ::= */ | 2549 case 123: /* sclp ::= */ |
| 2517 case 150: /* orderby_opt ::= */ yytestcase(yyruleno==150); | 2550 case 151: /* orderby_opt ::= */ yytestcase(yyruleno==151); |
| 2518 case 158: /* groupby_opt ::= */ yytestcase(yyruleno==158); | 2551 case 159: /* groupby_opt ::= */ yytestcase(yyruleno==159); |
| 2519 case 240: /* exprlist ::= */ yytestcase(yyruleno==240); | 2552 case 240: /* exprlist ::= */ yytestcase(yyruleno==240); |
| 2520 case 246: /* idxlist_opt ::= */ yytestcase(yyruleno==246); | 2553 case 246: /* idxlist_opt ::= */ yytestcase(yyruleno==246); |
| 2554 #line 446 "parse.y" |
| 2555 {yygotominor.yy322 = 0;} |
| 2556 #line 2557 "parse.c" |
| 2557 break; |
| 2558 case 124: /* selcollist ::= sclp expr as */ |
| 2521 #line 447 "parse.y" | 2559 #line 447 "parse.y" |
| 2522 {yygotominor.yy14 = 0;} | 2560 { |
| 2523 #line 2524 "parse.c" | 2561 yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy322, yyms
p[-1].minor.yy118.pExpr); |
| 2524 break; | 2562 if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy322
, &yymsp[0].minor.yy0, 1); |
| 2525 case 123: /* selcollist ::= sclp expr as */ | 2563 sqlite3ExprListSetSpan(pParse,yygotominor.yy322,&yymsp[-1].minor.yy118); |
| 2526 #line 448 "parse.y" | 2564 } |
| 2527 { | 2565 #line 2566 "parse.c" |
| 2528 yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy14, yymsp[
-1].minor.yy346.pExpr); | 2566 break; |
| 2529 if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy14,
&yymsp[0].minor.yy0, 1); | 2567 case 125: /* selcollist ::= sclp STAR */ |
| 2530 sqlite3ExprListSetSpan(pParse,yygotominor.yy14,&yymsp[-1].minor.yy346); | 2568 #line 452 "parse.y" |
| 2531 } | |
| 2532 #line 2533 "parse.c" | |
| 2533 break; | |
| 2534 case 124: /* selcollist ::= sclp STAR */ | |
| 2535 #line 453 "parse.y" | |
| 2536 { | 2569 { |
| 2537 Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0); | 2570 Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0); |
| 2538 yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy14, p); | 2571 yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy322, p); |
| 2539 } | 2572 } |
| 2540 #line 2541 "parse.c" | 2573 #line 2574 "parse.c" |
| 2541 break; | 2574 break; |
| 2542 case 125: /* selcollist ::= sclp nm DOT STAR */ | 2575 case 126: /* selcollist ::= sclp nm DOT STAR */ |
| 2543 #line 457 "parse.y" | 2576 #line 456 "parse.y" |
| 2544 { | 2577 { |
| 2545 Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0); | 2578 Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0); |
| 2546 Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); | 2579 Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 2547 Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); | 2580 Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); |
| 2548 yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy14, pDot); | 2581 yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322, pDot); |
| 2549 } | 2582 } |
| 2550 #line 2551 "parse.c" | 2583 #line 2584 "parse.c" |
| 2551 break; | 2584 break; |
| 2552 case 128: /* as ::= */ | 2585 case 129: /* as ::= */ |
| 2553 #line 470 "parse.y" | 2586 #line 469 "parse.y" |
| 2554 {yygotominor.yy0.n = 0;} | 2587 {yygotominor.yy0.n = 0;} |
| 2555 #line 2556 "parse.c" | 2588 #line 2589 "parse.c" |
| 2556 break; | 2589 break; |
| 2557 case 129: /* from ::= */ | 2590 case 130: /* from ::= */ |
| 2591 #line 481 "parse.y" |
| 2592 {yygotominor.yy259 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy259))
;} |
| 2593 #line 2594 "parse.c" |
| 2594 break; |
| 2595 case 131: /* from ::= FROM seltablist */ |
| 2558 #line 482 "parse.y" | 2596 #line 482 "parse.y" |
| 2559 {yygotominor.yy65 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy65));} | 2597 { |
| 2560 #line 2561 "parse.c" | 2598 yygotominor.yy259 = yymsp[0].minor.yy259; |
| 2561 break; | 2599 sqlite3SrcListShiftJoinType(yygotominor.yy259); |
| 2562 case 130: /* from ::= FROM seltablist */ | 2600 } |
| 2563 #line 483 "parse.y" | 2601 #line 2602 "parse.c" |
| 2564 { | 2602 break; |
| 2565 yygotominor.yy65 = yymsp[0].minor.yy65; | 2603 case 132: /* stl_prefix ::= seltablist joinop */ |
| 2566 sqlite3SrcListShiftJoinType(yygotominor.yy65); | 2604 #line 490 "parse.y" |
| 2567 } | 2605 { |
| 2568 #line 2569 "parse.c" | 2606 yygotominor.yy259 = yymsp[-1].minor.yy259; |
| 2569 break; | 2607 if( ALWAYS(yygotominor.yy259 && yygotominor.yy259->nSrc>0) ) yygotominor.yy25
9->a[yygotominor.yy259->nSrc-1].jointype = (u8)yymsp[0].minor.yy4; |
| 2570 case 131: /* stl_prefix ::= seltablist joinop */ | 2608 } |
| 2571 #line 491 "parse.y" | 2609 #line 2610 "parse.c" |
| 2572 { | 2610 break; |
| 2573 yygotominor.yy65 = yymsp[-1].minor.yy65; | 2611 case 133: /* stl_prefix ::= */ |
| 2574 if( ALWAYS(yygotominor.yy65 && yygotominor.yy65->nSrc>0) ) yygotominor.yy65->
a[yygotominor.yy65->nSrc-1].jointype = (u8)yymsp[0].minor.yy328; | 2612 #line 494 "parse.y" |
| 2575 } | 2613 {yygotominor.yy259 = 0;} |
| 2576 #line 2577 "parse.c" | 2614 #line 2615 "parse.c" |
| 2577 break; | 2615 break; |
| 2578 case 132: /* stl_prefix ::= */ | 2616 case 134: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using
_opt */ |
| 2579 #line 495 "parse.y" | 2617 #line 495 "parse.y" |
| 2580 {yygotominor.yy65 = 0;} | 2618 { |
| 2581 #line 2582 "parse.c" | 2619 yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,
&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor
.yy314,yymsp[0].minor.yy384); |
| 2582 break; | 2620 sqlite3SrcListIndexedBy(pParse, yygotominor.yy259, &yymsp[-2].minor.yy0); |
| 2583 case 133: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using
_opt */ | 2621 } |
| 2584 #line 496 "parse.y" | 2622 #line 2623 "parse.c" |
| 2585 { | 2623 break; |
| 2586 yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy65,&y
ymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.y
y132,yymsp[0].minor.yy408); | 2624 case 135: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 2587 sqlite3SrcListIndexedBy(pParse, yygotominor.yy65, &yymsp[-2].minor.yy0); | 2625 #line 501 "parse.y" |
| 2588 } | 2626 { |
| 2589 #line 2590 "parse.c" | 2627 yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy25
9,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy387,yymsp[-1].minor.yy314,yymsp[0].
minor.yy384); |
| 2590 break; | 2628 } |
| 2591 case 134: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ | 2629 #line 2630 "parse.c" |
| 2592 #line 502 "parse.y" | 2630 break; |
| 2593 { | 2631 case 136: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_op
t */ |
| 2594 yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy65,
0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy3,yymsp[-1].minor.yy132,yymsp[0].mino
r.yy408); | 2632 #line 505 "parse.y" |
| 2595 } | 2633 { |
| 2596 #line 2597 "parse.c" | 2634 if( yymsp[-6].minor.yy259==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.
yy314==0 && yymsp[0].minor.yy384==0 ){ |
| 2597 break; | 2635 yygotominor.yy259 = yymsp[-4].minor.yy259; |
| 2598 case 135: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_op
t */ | |
| 2599 #line 506 "parse.y" | |
| 2600 { | |
| 2601 if( yymsp[-6].minor.yy65==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.y
y132==0 && yymsp[0].minor.yy408==0 ){ | |
| 2602 yygotominor.yy65 = yymsp[-4].minor.yy65; | |
| 2603 }else{ | 2636 }else{ |
| 2604 Select *pSubquery; | 2637 Select *pSubquery; |
| 2605 sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy65); | 2638 sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy259); |
| 2606 pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy65,0,0,0,0,0,0,0); | 2639 pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy259,0,0,0,0,0,0,0)
; |
| 2607 yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy6
5,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy132,yymsp[0].minor.yy408)
; | 2640 yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy
259,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy314,yymsp[0].minor.yy38
4); |
| 2608 } | 2641 } |
| 2609 } | 2642 } |
| 2610 #line 2611 "parse.c" | 2643 #line 2644 "parse.c" |
| 2611 break; | 2644 break; |
| 2612 case 136: /* dbnm ::= */ | 2645 case 137: /* dbnm ::= */ |
| 2613 case 145: /* indexed_opt ::= */ yytestcase(yyruleno==145); | 2646 case 146: /* indexed_opt ::= */ yytestcase(yyruleno==146); |
| 2614 #line 531 "parse.y" | 2647 #line 530 "parse.y" |
| 2615 {yygotominor.yy0.z=0; yygotominor.yy0.n=0;} | 2648 {yygotominor.yy0.z=0; yygotominor.yy0.n=0;} |
| 2616 #line 2617 "parse.c" | 2649 #line 2650 "parse.c" |
| 2617 break; | 2650 break; |
| 2618 case 138: /* fullname ::= nm dbnm */ | 2651 case 139: /* fullname ::= nm dbnm */ |
| 2619 #line 536 "parse.y" | 2652 #line 535 "parse.y" |
| 2620 {yygotominor.yy65 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yyms
p[0].minor.yy0);} | 2653 {yygotominor.yy259 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yym
sp[0].minor.yy0);} |
| 2621 #line 2622 "parse.c" | 2654 #line 2655 "parse.c" |
| 2622 break; | 2655 break; |
| 2623 case 139: /* joinop ::= COMMA|JOIN */ | 2656 case 140: /* joinop ::= COMMA|JOIN */ |
| 2657 #line 539 "parse.y" |
| 2658 { yygotominor.yy4 = JT_INNER; } |
| 2659 #line 2660 "parse.c" |
| 2660 break; |
| 2661 case 141: /* joinop ::= JOIN_KW JOIN */ |
| 2624 #line 540 "parse.y" | 2662 #line 540 "parse.y" |
| 2625 { yygotominor.yy328 = JT_INNER; } | 2663 { yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } |
| 2626 #line 2627 "parse.c" | 2664 #line 2665 "parse.c" |
| 2627 break; | 2665 break; |
| 2628 case 140: /* joinop ::= JOIN_KW JOIN */ | 2666 case 142: /* joinop ::= JOIN_KW nm JOIN */ |
| 2629 #line 541 "parse.y" | 2667 #line 541 "parse.y" |
| 2630 { yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } | 2668 { yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor
.yy0,0); } |
| 2631 #line 2632 "parse.c" | 2669 #line 2670 "parse.c" |
| 2632 break; | 2670 break; |
| 2633 case 141: /* joinop ::= JOIN_KW nm JOIN */ | 2671 case 143: /* joinop ::= JOIN_KW nm nm JOIN */ |
| 2634 #line 542 "parse.y" | 2672 #line 543 "parse.y" |
| 2635 { yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].min
or.yy0,0); } | 2673 { yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor
.yy0,&yymsp[-1].minor.yy0); } |
| 2636 #line 2637 "parse.c" | 2674 #line 2675 "parse.c" |
| 2637 break; | 2675 break; |
| 2638 case 142: /* joinop ::= JOIN_KW nm nm JOIN */ | 2676 case 144: /* on_opt ::= ON expr */ |
| 2639 #line 544 "parse.y" | 2677 case 155: /* sortitem ::= expr */ yytestcase(yyruleno==155); |
| 2640 { yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].min
or.yy0,&yymsp[-1].minor.yy0); } | 2678 case 162: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==162); |
| 2641 #line 2642 "parse.c" | 2679 case 169: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==169); |
| 2642 break; | |
| 2643 case 143: /* on_opt ::= ON expr */ | |
| 2644 case 154: /* sortitem ::= expr */ yytestcase(yyruleno==154); | |
| 2645 case 161: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==161); | |
| 2646 case 168: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==168); | |
| 2647 case 235: /* case_else ::= ELSE expr */ yytestcase(yyruleno==235); | 2680 case 235: /* case_else ::= ELSE expr */ yytestcase(yyruleno==235); |
| 2648 case 237: /* case_operand ::= expr */ yytestcase(yyruleno==237); | 2681 case 237: /* case_operand ::= expr */ yytestcase(yyruleno==237); |
| 2649 #line 548 "parse.y" | 2682 #line 547 "parse.y" |
| 2650 {yygotominor.yy132 = yymsp[0].minor.yy346.pExpr;} | 2683 {yygotominor.yy314 = yymsp[0].minor.yy118.pExpr;} |
| 2651 #line 2652 "parse.c" | 2684 #line 2685 "parse.c" |
| 2652 break; | 2685 break; |
| 2653 case 144: /* on_opt ::= */ | 2686 case 145: /* on_opt ::= */ |
| 2654 case 160: /* having_opt ::= */ yytestcase(yyruleno==160); | 2687 case 161: /* having_opt ::= */ yytestcase(yyruleno==161); |
| 2655 case 167: /* where_opt ::= */ yytestcase(yyruleno==167); | 2688 case 168: /* where_opt ::= */ yytestcase(yyruleno==168); |
| 2656 case 236: /* case_else ::= */ yytestcase(yyruleno==236); | 2689 case 236: /* case_else ::= */ yytestcase(yyruleno==236); |
| 2657 case 238: /* case_operand ::= */ yytestcase(yyruleno==238); | 2690 case 238: /* case_operand ::= */ yytestcase(yyruleno==238); |
| 2658 #line 549 "parse.y" | 2691 #line 548 "parse.y" |
| 2659 {yygotominor.yy132 = 0;} | 2692 {yygotominor.yy314 = 0;} |
| 2660 #line 2661 "parse.c" | 2693 #line 2694 "parse.c" |
| 2661 break; | 2694 break; |
| 2662 case 147: /* indexed_opt ::= NOT INDEXED */ | 2695 case 148: /* indexed_opt ::= NOT INDEXED */ |
| 2663 #line 564 "parse.y" | 2696 #line 563 "parse.y" |
| 2664 {yygotominor.yy0.z=0; yygotominor.yy0.n=1;} | 2697 {yygotominor.yy0.z=0; yygotominor.yy0.n=1;} |
| 2665 #line 2666 "parse.c" | 2698 #line 2699 "parse.c" |
| 2666 break; | 2699 break; |
| 2667 case 148: /* using_opt ::= USING LP inscollist RP */ | 2700 case 149: /* using_opt ::= USING LP inscollist RP */ |
| 2668 case 180: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==1
80); | 2701 case 181: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==1
81); |
| 2702 #line 567 "parse.y" |
| 2703 {yygotominor.yy384 = yymsp[-1].minor.yy384;} |
| 2704 #line 2705 "parse.c" |
| 2705 break; |
| 2706 case 150: /* using_opt ::= */ |
| 2707 case 180: /* inscollist_opt ::= */ yytestcase(yyruleno==180); |
| 2669 #line 568 "parse.y" | 2708 #line 568 "parse.y" |
| 2670 {yygotominor.yy408 = yymsp[-1].minor.yy408;} | 2709 {yygotominor.yy384 = 0;} |
| 2671 #line 2672 "parse.c" | 2710 #line 2711 "parse.c" |
| 2672 break; | 2711 break; |
| 2673 case 149: /* using_opt ::= */ | 2712 case 152: /* orderby_opt ::= ORDER BY sortlist */ |
| 2674 case 179: /* inscollist_opt ::= */ yytestcase(yyruleno==179); | 2713 case 160: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==16
0); |
| 2675 #line 569 "parse.y" | |
| 2676 {yygotominor.yy408 = 0;} | |
| 2677 #line 2678 "parse.c" | |
| 2678 break; | |
| 2679 case 151: /* orderby_opt ::= ORDER BY sortlist */ | |
| 2680 case 159: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==15
9); | |
| 2681 case 239: /* exprlist ::= nexprlist */ yytestcase(yyruleno==239); | 2714 case 239: /* exprlist ::= nexprlist */ yytestcase(yyruleno==239); |
| 2715 #line 579 "parse.y" |
| 2716 {yygotominor.yy322 = yymsp[0].minor.yy322;} |
| 2717 #line 2718 "parse.c" |
| 2718 break; |
| 2719 case 153: /* sortlist ::= sortlist COMMA sortitem sortorder */ |
| 2682 #line 580 "parse.y" | 2720 #line 580 "parse.y" |
| 2683 {yygotominor.yy14 = yymsp[0].minor.yy14;} | 2721 { |
| 2684 #line 2685 "parse.c" | 2722 yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322,yymsp[-
1].minor.yy314); |
| 2685 break; | 2723 if( yygotominor.yy322 ) yygotominor.yy322->a[yygotominor.yy322->nExpr-1].sortO
rder = (u8)yymsp[0].minor.yy4; |
| 2686 case 152: /* sortlist ::= sortlist COMMA sortitem sortorder */ | 2724 } |
| 2687 #line 581 "parse.y" | 2725 #line 2726 "parse.c" |
| 2688 { | 2726 break; |
| 2689 yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy14,yymsp[-1]
.minor.yy132); | 2727 case 154: /* sortlist ::= sortitem sortorder */ |
| 2690 if( yygotominor.yy14 ) yygotominor.yy14->a[yygotominor.yy14->nExpr-1].sortOrde
r = (u8)yymsp[0].minor.yy328; | 2728 #line 584 "parse.y" |
| 2691 } | 2729 { |
| 2692 #line 2693 "parse.c" | 2730 yygotominor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy314); |
| 2693 break; | 2731 if( yygotominor.yy322 && ALWAYS(yygotominor.yy322->a) ) yygotominor.yy322->a[0
].sortOrder = (u8)yymsp[0].minor.yy4; |
| 2694 case 153: /* sortlist ::= sortitem sortorder */ | 2732 } |
| 2695 #line 585 "parse.y" | 2733 #line 2734 "parse.c" |
| 2696 { | 2734 break; |
| 2697 yygotominor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy132); | 2735 case 156: /* sortorder ::= ASC */ |
| 2698 if( yygotominor.yy14 && ALWAYS(yygotominor.yy14->a) ) yygotominor.yy14->a[0].s
ortOrder = (u8)yymsp[0].minor.yy328; | 2736 case 158: /* sortorder ::= */ yytestcase(yyruleno==158); |
| 2699 } | 2737 #line 592 "parse.y" |
| 2700 #line 2701 "parse.c" | 2738 {yygotominor.yy4 = SQLITE_SO_ASC;} |
| 2701 break; | 2739 #line 2740 "parse.c" |
| 2702 case 155: /* sortorder ::= ASC */ | 2740 break; |
| 2703 case 157: /* sortorder ::= */ yytestcase(yyruleno==157); | 2741 case 157: /* sortorder ::= DESC */ |
| 2704 #line 593 "parse.y" | 2742 #line 593 "parse.y" |
| 2705 {yygotominor.yy328 = SQLITE_SO_ASC;} | 2743 {yygotominor.yy4 = SQLITE_SO_DESC;} |
| 2706 #line 2707 "parse.c" | 2744 #line 2745 "parse.c" |
| 2707 break; | 2745 break; |
| 2708 case 156: /* sortorder ::= DESC */ | 2746 case 163: /* limit_opt ::= */ |
| 2709 #line 594 "parse.y" | 2747 #line 619 "parse.y" |
| 2710 {yygotominor.yy328 = SQLITE_SO_DESC;} | 2748 {yygotominor.yy292.pLimit = 0; yygotominor.yy292.pOffset = 0;} |
| 2711 #line 2712 "parse.c" | 2749 #line 2750 "parse.c" |
| 2712 break; | 2750 break; |
| 2713 case 162: /* limit_opt ::= */ | 2751 case 164: /* limit_opt ::= LIMIT expr */ |
| 2714 #line 620 "parse.y" | 2752 #line 620 "parse.y" |
| 2715 {yygotominor.yy476.pLimit = 0; yygotominor.yy476.pOffset = 0;} | 2753 {yygotominor.yy292.pLimit = yymsp[0].minor.yy118.pExpr; yygotominor.yy292.pOffse
t = 0;} |
| 2716 #line 2717 "parse.c" | 2754 #line 2755 "parse.c" |
| 2717 break; | 2755 break; |
| 2718 case 163: /* limit_opt ::= LIMIT expr */ | 2756 case 165: /* limit_opt ::= LIMIT expr OFFSET expr */ |
| 2719 #line 621 "parse.y" | 2757 #line 622 "parse.y" |
| 2720 {yygotominor.yy476.pLimit = yymsp[0].minor.yy346.pExpr; yygotominor.yy476.pOffse
t = 0;} | 2758 {yygotominor.yy292.pLimit = yymsp[-2].minor.yy118.pExpr; yygotominor.yy292.pOffs
et = yymsp[0].minor.yy118.pExpr;} |
| 2721 #line 2722 "parse.c" | 2759 #line 2760 "parse.c" |
| 2722 break; | 2760 break; |
| 2723 case 164: /* limit_opt ::= LIMIT expr OFFSET expr */ | 2761 case 166: /* limit_opt ::= LIMIT expr COMMA expr */ |
| 2724 #line 623 "parse.y" | 2762 #line 624 "parse.y" |
| 2725 {yygotominor.yy476.pLimit = yymsp[-2].minor.yy346.pExpr; yygotominor.yy476.pOffs
et = yymsp[0].minor.yy346.pExpr;} | 2763 {yygotominor.yy292.pOffset = yymsp[-2].minor.yy118.pExpr; yygotominor.yy292.pLim
it = yymsp[0].minor.yy118.pExpr;} |
| 2726 #line 2727 "parse.c" | |
| 2727 break; | |
| 2728 case 165: /* limit_opt ::= LIMIT expr COMMA expr */ | |
| 2729 #line 625 "parse.y" | |
| 2730 {yygotominor.yy476.pOffset = yymsp[-2].minor.yy346.pExpr; yygotominor.yy476.pLim
it = yymsp[0].minor.yy346.pExpr;} | |
| 2731 #line 2732 "parse.c" | |
| 2732 break; | |
| 2733 case 166: /* cmd ::= DELETE FROM fullname indexed_opt where_opt */ | |
| 2734 #line 638 "parse.y" | |
| 2735 { | |
| 2736 sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy65, &yymsp[-1].minor.yy0); | |
| 2737 sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy65,yymsp[0].minor.yy132); | |
| 2738 } | |
| 2739 #line 2740 "parse.c" | |
| 2740 break; | |
| 2741 case 169: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_
opt */ | |
| 2742 #line 661 "parse.y" | |
| 2743 { | |
| 2744 sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy65, &yymsp[-3].minor.yy0); | |
| 2745 sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy14,"set list"); | |
| 2746 sqlite3Update(pParse,yymsp[-4].minor.yy65,yymsp[-1].minor.yy14,yymsp[0].minor.
yy132,yymsp[-5].minor.yy186); | |
| 2747 } | |
| 2748 #line 2749 "parse.c" | |
| 2749 break; | |
| 2750 case 170: /* setlist ::= setlist COMMA nm EQ expr */ | |
| 2751 #line 671 "parse.y" | |
| 2752 { | |
| 2753 yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy14, yymsp[0
].minor.yy346.pExpr); | |
| 2754 sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[-2].minor.yy0, 1); | |
| 2755 } | |
| 2756 #line 2757 "parse.c" | |
| 2757 break; | |
| 2758 case 171: /* setlist ::= nm EQ expr */ | |
| 2759 #line 675 "parse.y" | |
| 2760 { | |
| 2761 yygotominor.yy14 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy346.pExpr
); | |
| 2762 sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[-2].minor.yy0, 1); | |
| 2763 } | |
| 2764 #line 2765 "parse.c" | 2764 #line 2765 "parse.c" |
| 2765 break; | 2765 break; |
| 2766 case 172: /* cmd ::= insert_cmd INTO fullname inscollist_opt VALUES LP ite
mlist RP */ | 2766 case 167: /* cmd ::= DELETE FROM fullname indexed_opt where_opt */ |
| 2767 #line 684 "parse.y" | 2767 #line 637 "parse.y" |
| 2768 {sqlite3Insert(pParse, yymsp[-5].minor.yy65, yymsp[-1].minor.yy14, 0, yymsp[-4].
minor.yy408, yymsp[-7].minor.yy186);} | 2768 { |
| 2769 #line 2770 "parse.c" | 2769 sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy259, &yymsp[-1].minor.yy0); |
| 2770 break; | 2770 sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy259,yymsp[0].minor.yy314); |
| 2771 case 173: /* cmd ::= insert_cmd INTO fullname inscollist_opt select */ | 2771 } |
| 2772 #line 686 "parse.y" | 2772 #line 2773 "parse.c" |
| 2773 {sqlite3Insert(pParse, yymsp[-2].minor.yy65, 0, yymsp[0].minor.yy3, yymsp[-1].mi
nor.yy408, yymsp[-4].minor.yy186);} | 2773 break; |
| 2774 #line 2775 "parse.c" | 2774 case 170: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_
opt */ |
| 2775 break; | 2775 #line 660 "parse.y" |
| 2776 case 174: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUE
S */ | 2776 { |
| 2777 #line 688 "parse.y" | 2777 sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy259, &yymsp[-3].minor.yy0); |
| 2778 {sqlite3Insert(pParse, yymsp[-3].minor.yy65, 0, 0, yymsp[-2].minor.yy408, yymsp[
-5].minor.yy186);} | 2778 sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy322,"set list"); |
| 2779 #line 2780 "parse.c" | 2779 sqlite3Update(pParse,yymsp[-4].minor.yy259,yymsp[-1].minor.yy322,yymsp[0].mino
r.yy314,yymsp[-5].minor.yy210); |
| 2780 break; | 2780 } |
| 2781 case 175: /* insert_cmd ::= INSERT orconf */ | 2781 #line 2782 "parse.c" |
| 2782 break; |
| 2783 case 171: /* setlist ::= setlist COMMA nm EQ expr */ |
| 2784 #line 670 "parse.y" |
| 2785 { |
| 2786 yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy322, yymsp
[0].minor.yy118.pExpr); |
| 2787 sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[-2].minor.yy0, 1); |
| 2788 } |
| 2789 #line 2790 "parse.c" |
| 2790 break; |
| 2791 case 172: /* setlist ::= nm EQ expr */ |
| 2792 #line 674 "parse.y" |
| 2793 { |
| 2794 yygotominor.yy322 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy118.pExp
r); |
| 2795 sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[-2].minor.yy0, 1); |
| 2796 } |
| 2797 #line 2798 "parse.c" |
| 2798 break; |
| 2799 case 173: /* cmd ::= insert_cmd INTO fullname inscollist_opt VALUES LP ite
mlist RP */ |
| 2800 #line 683 "parse.y" |
| 2801 {sqlite3Insert(pParse, yymsp[-5].minor.yy259, yymsp[-1].minor.yy322, 0, yymsp[-4
].minor.yy384, yymsp[-7].minor.yy210);} |
| 2802 #line 2803 "parse.c" |
| 2803 break; |
| 2804 case 174: /* cmd ::= insert_cmd INTO fullname inscollist_opt select */ |
| 2805 #line 685 "parse.y" |
| 2806 {sqlite3Insert(pParse, yymsp[-2].minor.yy259, 0, yymsp[0].minor.yy387, yymsp[-1]
.minor.yy384, yymsp[-4].minor.yy210);} |
| 2807 #line 2808 "parse.c" |
| 2808 break; |
| 2809 case 175: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUE
S */ |
| 2810 #line 687 "parse.y" |
| 2811 {sqlite3Insert(pParse, yymsp[-3].minor.yy259, 0, 0, yymsp[-2].minor.yy384, yymsp
[-5].minor.yy210);} |
| 2812 #line 2813 "parse.c" |
| 2813 break; |
| 2814 case 176: /* insert_cmd ::= INSERT orconf */ |
| 2815 #line 690 "parse.y" |
| 2816 {yygotominor.yy210 = yymsp[0].minor.yy210;} |
| 2817 #line 2818 "parse.c" |
| 2818 break; |
| 2819 case 177: /* insert_cmd ::= REPLACE */ |
| 2782 #line 691 "parse.y" | 2820 #line 691 "parse.y" |
| 2783 {yygotominor.yy186 = yymsp[0].minor.yy186;} | 2821 {yygotominor.yy210 = OE_Replace;} |
| 2784 #line 2785 "parse.c" | 2822 #line 2823 "parse.c" |
| 2785 break; | 2823 break; |
| 2786 case 176: /* insert_cmd ::= REPLACE */ | 2824 case 178: /* itemlist ::= itemlist COMMA expr */ |
| 2787 #line 692 "parse.y" | |
| 2788 {yygotominor.yy186 = OE_Replace;} | |
| 2789 #line 2790 "parse.c" | |
| 2790 break; | |
| 2791 case 177: /* itemlist ::= itemlist COMMA expr */ | |
| 2792 case 241: /* nexprlist ::= nexprlist COMMA expr */ yytestcase(yyruleno==24
1); | 2825 case 241: /* nexprlist ::= nexprlist COMMA expr */ yytestcase(yyruleno==24
1); |
| 2793 #line 699 "parse.y" | 2826 #line 698 "parse.y" |
| 2794 {yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy14,yymsp[0].m
inor.yy346.pExpr);} | 2827 {yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[0]
.minor.yy118.pExpr);} |
| 2795 #line 2796 "parse.c" | 2828 #line 2829 "parse.c" |
| 2796 break; | 2829 break; |
| 2797 case 178: /* itemlist ::= expr */ | 2830 case 179: /* itemlist ::= expr */ |
| 2798 case 242: /* nexprlist ::= expr */ yytestcase(yyruleno==242); | 2831 case 242: /* nexprlist ::= expr */ yytestcase(yyruleno==242); |
| 2799 #line 701 "parse.y" | 2832 #line 700 "parse.y" |
| 2800 {yygotominor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy346.pExpr);} | 2833 {yygotominor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy118.pExpr);
} |
| 2801 #line 2802 "parse.c" | 2834 #line 2835 "parse.c" |
| 2802 break; | 2835 break; |
| 2803 case 181: /* inscollist ::= inscollist COMMA nm */ | 2836 case 182: /* inscollist ::= inscollist COMMA nm */ |
| 2804 #line 711 "parse.y" | 2837 #line 710 "parse.y" |
| 2805 {yygotominor.yy408 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy408,&yymsp
[0].minor.yy0);} | 2838 {yygotominor.yy384 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy384,&yymsp
[0].minor.yy0);} |
| 2806 #line 2807 "parse.c" | 2839 #line 2840 "parse.c" |
| 2807 break; | 2840 break; |
| 2808 case 182: /* inscollist ::= nm */ | 2841 case 183: /* inscollist ::= nm */ |
| 2809 #line 713 "parse.y" | 2842 #line 712 "parse.y" |
| 2810 {yygotominor.yy408 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} | 2843 {yygotominor.yy384 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} |
| 2811 #line 2812 "parse.c" | 2844 #line 2845 "parse.c" |
| 2812 break; | 2845 break; |
| 2813 case 183: /* expr ::= term */ | 2846 case 184: /* expr ::= term */ |
| 2814 case 211: /* escape ::= ESCAPE expr */ yytestcase(yyruleno==211); | 2847 #line 743 "parse.y" |
| 2848 {yygotominor.yy118 = yymsp[0].minor.yy118;} |
| 2849 #line 2850 "parse.c" |
| 2850 break; |
| 2851 case 185: /* expr ::= LP expr RP */ |
| 2815 #line 744 "parse.y" | 2852 #line 744 "parse.y" |
| 2816 {yygotominor.yy346 = yymsp[0].minor.yy346;} | 2853 {yygotominor.yy118.pExpr = yymsp[-1].minor.yy118.pExpr; spanSet(&yygotominor.yy1
18,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} |
| 2817 #line 2818 "parse.c" | 2854 #line 2855 "parse.c" |
| 2818 break; | 2855 break; |
| 2819 case 184: /* expr ::= LP expr RP */ | 2856 case 186: /* term ::= NULL */ |
| 2857 case 191: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==191); |
| 2858 case 192: /* term ::= STRING */ yytestcase(yyruleno==192); |
| 2820 #line 745 "parse.y" | 2859 #line 745 "parse.y" |
| 2821 {yygotominor.yy346.pExpr = yymsp[-1].minor.yy346.pExpr; spanSet(&yygotominor.yy3
46,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} | 2860 {spanExpr(&yygotominor.yy118, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} |
| 2822 #line 2823 "parse.c" | 2861 #line 2862 "parse.c" |
| 2823 break; | 2862 break; |
| 2824 case 185: /* term ::= NULL */ | 2863 case 187: /* expr ::= id */ |
| 2825 case 190: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==190); | 2864 case 188: /* expr ::= JOIN_KW */ yytestcase(yyruleno==188); |
| 2826 case 191: /* term ::= STRING */ yytestcase(yyruleno==191); | |
| 2827 #line 746 "parse.y" | 2865 #line 746 "parse.y" |
| 2828 {spanExpr(&yygotominor.yy346, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} | 2866 {spanExpr(&yygotominor.yy118, pParse, TK_ID, &yymsp[0].minor.yy0);} |
| 2829 #line 2830 "parse.c" | 2867 #line 2868 "parse.c" |
| 2830 break; | 2868 break; |
| 2831 case 186: /* expr ::= id */ | 2869 case 189: /* expr ::= nm DOT nm */ |
| 2832 case 187: /* expr ::= JOIN_KW */ yytestcase(yyruleno==187); | 2870 #line 748 "parse.y" |
| 2833 #line 747 "parse.y" | |
| 2834 {spanExpr(&yygotominor.yy346, pParse, TK_ID, &yymsp[0].minor.yy0);} | |
| 2835 #line 2836 "parse.c" | |
| 2836 break; | |
| 2837 case 188: /* expr ::= nm DOT nm */ | |
| 2838 #line 749 "parse.y" | |
| 2839 { | 2871 { |
| 2840 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); | 2872 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 2841 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); | 2873 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); |
| 2842 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); | 2874 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); |
| 2843 spanSet(&yygotominor.yy346,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); | 2875 spanSet(&yygotominor.yy118,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); |
| 2844 } | 2876 } |
| 2845 #line 2846 "parse.c" | 2877 #line 2878 "parse.c" |
| 2846 break; | 2878 break; |
| 2847 case 189: /* expr ::= nm DOT nm DOT nm */ | 2879 case 190: /* expr ::= nm DOT nm DOT nm */ |
| 2848 #line 755 "parse.y" | 2880 #line 754 "parse.y" |
| 2849 { | 2881 { |
| 2850 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0); | 2882 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0); |
| 2851 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); | 2883 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 2852 Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); | 2884 Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); |
| 2853 Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); | 2885 Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); |
| 2854 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); | 2886 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); |
| 2855 spanSet(&yygotominor.yy346,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); | 2887 spanSet(&yygotominor.yy118,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); |
| 2856 } | 2888 } |
| 2857 #line 2858 "parse.c" | 2889 #line 2890 "parse.c" |
| 2858 break; | 2890 break; |
| 2859 case 192: /* expr ::= REGISTER */ | 2891 case 193: /* expr ::= REGISTER */ |
| 2860 #line 765 "parse.y" | 2892 #line 764 "parse.y" |
| 2861 { | 2893 { |
| 2862 /* When doing a nested parse, one can include terms in an expression | 2894 /* When doing a nested parse, one can include terms in an expression |
| 2863 ** that look like this: #1 #2 ... These terms refer to registers | 2895 ** that look like this: #1 #2 ... These terms refer to registers |
| 2864 ** in the virtual machine. #N is the N-th register. */ | 2896 ** in the virtual machine. #N is the N-th register. */ |
| 2865 if( pParse->nested==0 ){ | 2897 if( pParse->nested==0 ){ |
| 2866 sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &yymsp[0].minor.yy0); | 2898 sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &yymsp[0].minor.yy0); |
| 2867 yygotominor.yy346.pExpr = 0; | 2899 yygotominor.yy118.pExpr = 0; |
| 2868 }else{ | 2900 }else{ |
| 2869 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0].
minor.yy0); | 2901 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0].
minor.yy0); |
| 2870 if( yygotominor.yy346.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yyg
otominor.yy346.pExpr->iTable); | 2902 if( yygotominor.yy118.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yyg
otominor.yy118.pExpr->iTable); |
| 2871 } | 2903 } |
| 2872 spanSet(&yygotominor.yy346, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); | 2904 spanSet(&yygotominor.yy118, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 2873 } | 2905 } |
| 2874 #line 2875 "parse.c" | 2906 #line 2907 "parse.c" |
| 2875 break; | 2907 break; |
| 2876 case 193: /* expr ::= VARIABLE */ | 2908 case 194: /* expr ::= VARIABLE */ |
| 2877 #line 778 "parse.y" | 2909 #line 777 "parse.y" |
| 2878 { | 2910 { |
| 2879 spanExpr(&yygotominor.yy346, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); | 2911 spanExpr(&yygotominor.yy118, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); |
| 2880 sqlite3ExprAssignVarNumber(pParse, yygotominor.yy346.pExpr); | 2912 sqlite3ExprAssignVarNumber(pParse, yygotominor.yy118.pExpr); |
| 2881 spanSet(&yygotominor.yy346, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); | 2913 spanSet(&yygotominor.yy118, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 2882 } | 2914 } |
| 2883 #line 2884 "parse.c" | 2915 #line 2916 "parse.c" |
| 2884 break; | 2916 break; |
| 2885 case 194: /* expr ::= expr COLLATE ids */ | 2917 case 195: /* expr ::= expr COLLATE ids */ |
| 2886 #line 783 "parse.y" | 2918 #line 782 "parse.y" |
| 2887 { | 2919 { |
| 2888 yygotominor.yy346.pExpr = sqlite3ExprSetColl(pParse, yymsp[-2].minor.yy346.pEx
pr, &yymsp[0].minor.yy0); | 2920 yygotominor.yy118.pExpr = sqlite3ExprSetCollByToken(pParse, yymsp[-2].minor.yy
118.pExpr, &yymsp[0].minor.yy0); |
| 2889 yygotominor.yy346.zStart = yymsp[-2].minor.yy346.zStart; | 2921 yygotominor.yy118.zStart = yymsp[-2].minor.yy118.zStart; |
| 2890 yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; | 2922 yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 2891 } | 2923 } |
| 2892 #line 2893 "parse.c" | 2924 #line 2925 "parse.c" |
| 2893 break; | 2925 break; |
| 2894 case 195: /* expr ::= CAST LP expr AS typetoken RP */ | 2926 case 196: /* expr ::= CAST LP expr AS typetoken RP */ |
| 2895 #line 789 "parse.y" | 2927 #line 788 "parse.y" |
| 2896 { | 2928 { |
| 2897 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy346.
pExpr, 0, &yymsp[-1].minor.yy0); | 2929 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy118.
pExpr, 0, &yymsp[-1].minor.yy0); |
| 2898 spanSet(&yygotominor.yy346,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); | 2930 spanSet(&yygotominor.yy118,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); |
| 2899 } | 2931 } |
| 2900 #line 2901 "parse.c" | 2932 #line 2933 "parse.c" |
| 2901 break; | 2933 break; |
| 2902 case 196: /* expr ::= ID LP distinct exprlist RP */ | 2934 case 197: /* expr ::= ID LP distinct exprlist RP */ |
| 2903 #line 794 "parse.y" | 2935 #line 793 "parse.y" |
| 2904 { | 2936 { |
| 2905 if( yymsp[-1].minor.yy14 && yymsp[-1].minor.yy14->nExpr>pParse->db->aLimit[SQL
ITE_LIMIT_FUNCTION_ARG] ){ | 2937 if( yymsp[-1].minor.yy322 && yymsp[-1].minor.yy322->nExpr>pParse->db->aLimit[S
QLITE_LIMIT_FUNCTION_ARG] ){ |
| 2906 sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].mino
r.yy0); | 2938 sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].mino
r.yy0); |
| 2907 } | 2939 } |
| 2908 yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy14, &y
ymsp[-4].minor.yy0); | 2940 yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy322, &
yymsp[-4].minor.yy0); |
| 2909 spanSet(&yygotominor.yy346,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); | 2941 spanSet(&yygotominor.yy118,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); |
| 2910 if( yymsp[-2].minor.yy328 && yygotominor.yy346.pExpr ){ | 2942 if( yymsp[-2].minor.yy4 && yygotominor.yy118.pExpr ){ |
| 2911 yygotominor.yy346.pExpr->flags |= EP_Distinct; | 2943 yygotominor.yy118.pExpr->flags |= EP_Distinct; |
| 2912 } | 2944 } |
| 2913 } | 2945 } |
| 2914 #line 2915 "parse.c" | 2946 #line 2947 "parse.c" |
| 2915 break; | 2947 break; |
| 2916 case 197: /* expr ::= ID LP STAR RP */ | 2948 case 198: /* expr ::= ID LP STAR RP */ |
| 2917 #line 804 "parse.y" | 2949 #line 803 "parse.y" |
| 2918 { | 2950 { |
| 2919 yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0)
; | 2951 yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0)
; |
| 2920 spanSet(&yygotominor.yy346,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); | 2952 spanSet(&yygotominor.yy118,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); |
| 2921 } | 2953 } |
| 2922 #line 2923 "parse.c" | 2954 #line 2955 "parse.c" |
| 2923 break; | 2955 break; |
| 2924 case 198: /* term ::= CTIME_KW */ | 2956 case 199: /* term ::= CTIME_KW */ |
| 2925 #line 808 "parse.y" | 2957 #line 807 "parse.y" |
| 2926 { | 2958 { |
| 2927 /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are | 2959 /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are |
| 2928 ** treated as functions that return constants */ | 2960 ** treated as functions that return constants */ |
| 2929 yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0); | 2961 yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0); |
| 2930 if( yygotominor.yy346.pExpr ){ | 2962 if( yygotominor.yy118.pExpr ){ |
| 2931 yygotominor.yy346.pExpr->op = TK_CONST_FUNC; | 2963 yygotominor.yy118.pExpr->op = TK_CONST_FUNC; |
| 2932 } | 2964 } |
| 2933 spanSet(&yygotominor.yy346, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); | 2965 spanSet(&yygotominor.yy118, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 2934 } | 2966 } |
| 2935 #line 2936 "parse.c" | 2967 #line 2968 "parse.c" |
| 2936 break; | 2968 break; |
| 2937 case 199: /* expr ::= expr AND expr */ | 2969 case 200: /* expr ::= expr AND expr */ |
| 2938 case 200: /* expr ::= expr OR expr */ yytestcase(yyruleno==200); | 2970 case 201: /* expr ::= expr OR expr */ yytestcase(yyruleno==201); |
| 2939 case 201: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==201); | 2971 case 202: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==202); |
| 2940 case 202: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==202); | 2972 case 203: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==203); |
| 2941 case 203: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(y
yruleno==203); | 2973 case 204: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(y
yruleno==204); |
| 2942 case 204: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==204); | 2974 case 205: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==205); |
| 2943 case 205: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==205
); | 2975 case 206: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==206
); |
| 2944 case 206: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==206); | 2976 case 207: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==207); |
| 2945 #line 835 "parse.y" | 2977 #line 834 "parse.y" |
| 2946 {spanBinaryExpr(&yygotominor.yy346,pParse,yymsp[-1].major,&yymsp[-2].minor.yy346
,&yymsp[0].minor.yy346);} | 2978 {spanBinaryExpr(&yygotominor.yy118,pParse,yymsp[-1].major,&yymsp[-2].minor.yy118
,&yymsp[0].minor.yy118);} |
| 2947 #line 2948 "parse.c" | 2979 #line 2980 "parse.c" |
| 2948 break; | 2980 break; |
| 2949 case 207: /* likeop ::= LIKE_KW */ | 2981 case 208: /* likeop ::= LIKE_KW */ |
| 2950 case 209: /* likeop ::= MATCH */ yytestcase(yyruleno==209); | 2982 case 210: /* likeop ::= MATCH */ yytestcase(yyruleno==210); |
| 2983 #line 847 "parse.y" |
| 2984 {yygotominor.yy342.eOperator = yymsp[0].minor.yy0; yygotominor.yy342.not = 0;} |
| 2985 #line 2986 "parse.c" |
| 2986 break; |
| 2987 case 209: /* likeop ::= NOT LIKE_KW */ |
| 2988 case 211: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==211); |
| 2951 #line 848 "parse.y" | 2989 #line 848 "parse.y" |
| 2952 {yygotominor.yy96.eOperator = yymsp[0].minor.yy0; yygotominor.yy96.not = 0;} | 2990 {yygotominor.yy342.eOperator = yymsp[0].minor.yy0; yygotominor.yy342.not = 1;} |
| 2953 #line 2954 "parse.c" | 2991 #line 2992 "parse.c" |
| 2954 break; | 2992 break; |
| 2955 case 208: /* likeop ::= NOT LIKE_KW */ | 2993 case 212: /* expr ::= expr likeop expr */ |
| 2956 case 210: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==210); | 2994 #line 851 "parse.y" |
| 2957 #line 849 "parse.y" | |
| 2958 {yygotominor.yy96.eOperator = yymsp[0].minor.yy0; yygotominor.yy96.not = 1;} | |
| 2959 #line 2960 "parse.c" | |
| 2960 break; | |
| 2961 case 212: /* escape ::= */ | |
| 2962 #line 855 "parse.y" | |
| 2963 {memset(&yygotominor.yy346,0,sizeof(yygotominor.yy346));} | |
| 2964 #line 2965 "parse.c" | |
| 2965 break; | |
| 2966 case 213: /* expr ::= expr likeop expr escape */ | |
| 2967 #line 856 "parse.y" | |
| 2968 { | 2995 { |
| 2969 ExprList *pList; | 2996 ExprList *pList; |
| 2970 pList = sqlite3ExprListAppend(pParse,0, yymsp[-1].minor.yy346.pExpr); | 2997 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy118.pExpr); |
| 2971 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-3].minor.yy346.pExpr); | 2998 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy118.pExpr); |
| 2972 if( yymsp[0].minor.yy346.pExpr ){ | 2999 yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.
yy342.eOperator); |
| 2973 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr); | 3000 if( yymsp[-1].minor.yy342.not ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse,
TK_NOT, yygotominor.yy118.pExpr, 0, 0); |
| 2974 } | 3001 yygotominor.yy118.zStart = yymsp[-2].minor.yy118.zStart; |
| 2975 yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-2].minor.
yy96.eOperator); | 3002 yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; |
| 2976 if( yymsp[-2].minor.yy96.not ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse,
TK_NOT, yygotominor.yy346.pExpr, 0, 0); | 3003 if( yygotominor.yy118.pExpr ) yygotominor.yy118.pExpr->flags |= EP_InfixFunc; |
| 2977 yygotominor.yy346.zStart = yymsp[-3].minor.yy346.zStart; | 3004 } |
| 2978 yygotominor.yy346.zEnd = yymsp[-1].minor.yy346.zEnd; | 3005 #line 3006 "parse.c" |
| 2979 if( yygotominor.yy346.pExpr ) yygotominor.yy346.pExpr->flags |= EP_InfixFunc; | 3006 break; |
| 2980 } | 3007 case 213: /* expr ::= expr likeop expr ESCAPE expr */ |
| 2981 #line 2982 "parse.c" | 3008 #line 861 "parse.y" |
| 3009 { |
| 3010 ExprList *pList; |
| 3011 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExpr); |
| 3012 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy118.pExpr); |
| 3013 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy118.pExpr); |
| 3014 yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.
yy342.eOperator); |
| 3015 if( yymsp[-3].minor.yy342.not ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse,
TK_NOT, yygotominor.yy118.pExpr, 0, 0); |
| 3016 yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; |
| 3017 yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; |
| 3018 if( yygotominor.yy118.pExpr ) yygotominor.yy118.pExpr->flags |= EP_InfixFunc; |
| 3019 } |
| 3020 #line 3021 "parse.c" |
| 2982 break; | 3021 break; |
| 2983 case 214: /* expr ::= expr ISNULL|NOTNULL */ | 3022 case 214: /* expr ::= expr ISNULL|NOTNULL */ |
| 2984 #line 886 "parse.y" | 3023 #line 889 "parse.y" |
| 2985 {spanUnaryPostfix(&yygotominor.yy346,pParse,yymsp[0].major,&yymsp[-1].minor.yy34
6,&yymsp[0].minor.yy0);} | 3024 {spanUnaryPostfix(&yygotominor.yy118,pParse,yymsp[0].major,&yymsp[-1].minor.yy11
8,&yymsp[0].minor.yy0);} |
| 2986 #line 2987 "parse.c" | 3025 #line 3026 "parse.c" |
| 2987 break; | 3026 break; |
| 2988 case 215: /* expr ::= expr IS NULL */ | 3027 case 215: /* expr ::= expr NOT NULL */ |
| 2989 #line 887 "parse.y" | |
| 2990 {spanUnaryPostfix(&yygotominor.yy346,pParse,TK_ISNULL,&yymsp[-2].minor.yy346,&yy
msp[0].minor.yy0);} | |
| 2991 #line 2992 "parse.c" | |
| 2992 break; | |
| 2993 case 216: /* expr ::= expr NOT NULL */ | |
| 2994 #line 888 "parse.y" | |
| 2995 {spanUnaryPostfix(&yygotominor.yy346,pParse,TK_NOTNULL,&yymsp[-2].minor.yy346,&y
ymsp[0].minor.yy0);} | |
| 2996 #line 2997 "parse.c" | |
| 2997 break; | |
| 2998 case 217: /* expr ::= expr IS NOT NULL */ | |
| 2999 #line 890 "parse.y" | 3028 #line 890 "parse.y" |
| 3000 {spanUnaryPostfix(&yygotominor.yy346,pParse,TK_NOTNULL,&yymsp[-3].minor.yy346,&y
ymsp[0].minor.yy0);} | 3029 {spanUnaryPostfix(&yygotominor.yy118,pParse,TK_NOTNULL,&yymsp[-2].minor.yy118,&y
ymsp[0].minor.yy0);} |
| 3001 #line 3002 "parse.c" | 3030 #line 3031 "parse.c" |
| 3031 break; |
| 3032 case 216: /* expr ::= expr IS expr */ |
| 3033 #line 911 "parse.y" |
| 3034 { |
| 3035 spanBinaryExpr(&yygotominor.yy118,pParse,TK_IS,&yymsp[-2].minor.yy118,&yymsp[0
].minor.yy118); |
| 3036 binaryToUnaryIfNull(pParse, yymsp[0].minor.yy118.pExpr, yygotominor.yy118.pExp
r, TK_ISNULL); |
| 3037 } |
| 3038 #line 3039 "parse.c" |
| 3039 break; |
| 3040 case 217: /* expr ::= expr IS NOT expr */ |
| 3041 #line 915 "parse.y" |
| 3042 { |
| 3043 spanBinaryExpr(&yygotominor.yy118,pParse,TK_ISNOT,&yymsp[-3].minor.yy118,&yyms
p[0].minor.yy118); |
| 3044 binaryToUnaryIfNull(pParse, yymsp[0].minor.yy118.pExpr, yygotominor.yy118.pExp
r, TK_NOTNULL); |
| 3045 } |
| 3046 #line 3047 "parse.c" |
| 3002 break; | 3047 break; |
| 3003 case 218: /* expr ::= NOT expr */ | 3048 case 218: /* expr ::= NOT expr */ |
| 3004 case 219: /* expr ::= BITNOT expr */ yytestcase(yyruleno==219); | 3049 case 219: /* expr ::= BITNOT expr */ yytestcase(yyruleno==219); |
| 3005 #line 910 "parse.y" | 3050 #line 938 "parse.y" |
| 3006 {spanUnaryPrefix(&yygotominor.yy346,pParse,yymsp[-1].major,&yymsp[0].minor.yy346
,&yymsp[-1].minor.yy0);} | 3051 {spanUnaryPrefix(&yygotominor.yy118,pParse,yymsp[-1].major,&yymsp[0].minor.yy118
,&yymsp[-1].minor.yy0);} |
| 3007 #line 3008 "parse.c" | 3052 #line 3053 "parse.c" |
| 3008 break; | 3053 break; |
| 3009 case 220: /* expr ::= MINUS expr */ | 3054 case 220: /* expr ::= MINUS expr */ |
| 3010 #line 913 "parse.y" | 3055 #line 941 "parse.y" |
| 3011 {spanUnaryPrefix(&yygotominor.yy346,pParse,TK_UMINUS,&yymsp[0].minor.yy346,&yyms
p[-1].minor.yy0);} | 3056 {spanUnaryPrefix(&yygotominor.yy118,pParse,TK_UMINUS,&yymsp[0].minor.yy118,&yyms
p[-1].minor.yy0);} |
| 3012 #line 3013 "parse.c" | 3057 #line 3058 "parse.c" |
| 3013 break; | 3058 break; |
| 3014 case 221: /* expr ::= PLUS expr */ | 3059 case 221: /* expr ::= PLUS expr */ |
| 3015 #line 915 "parse.y" | 3060 #line 943 "parse.y" |
| 3016 {spanUnaryPrefix(&yygotominor.yy346,pParse,TK_UPLUS,&yymsp[0].minor.yy346,&yymsp
[-1].minor.yy0);} | 3061 {spanUnaryPrefix(&yygotominor.yy118,pParse,TK_UPLUS,&yymsp[0].minor.yy118,&yymsp
[-1].minor.yy0);} |
| 3017 #line 3018 "parse.c" | 3062 #line 3063 "parse.c" |
| 3018 break; | 3063 break; |
| 3019 case 224: /* expr ::= expr between_op expr AND expr */ | 3064 case 224: /* expr ::= expr between_op expr AND expr */ |
| 3020 #line 920 "parse.y" | 3065 #line 948 "parse.y" |
| 3021 { | 3066 { |
| 3022 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr)
; | 3067 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExpr)
; |
| 3023 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr); | 3068 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy118.pExpr); |
| 3024 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy3
46.pExpr, 0, 0); | 3069 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy1
18.pExpr, 0, 0); |
| 3025 if( yygotominor.yy346.pExpr ){ | 3070 if( yygotominor.yy118.pExpr ){ |
| 3026 yygotominor.yy346.pExpr->x.pList = pList; | 3071 yygotominor.yy118.pExpr->x.pList = pList; |
| 3027 }else{ | 3072 }else{ |
| 3028 sqlite3ExprListDelete(pParse->db, pList); | 3073 sqlite3ExprListDelete(pParse->db, pList); |
| 3029 } | 3074 } |
| 3030 if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_
NOT, yygotominor.yy346.pExpr, 0, 0); | 3075 if( yymsp[-3].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NO
T, yygotominor.yy118.pExpr, 0, 0); |
| 3031 yygotominor.yy346.zStart = yymsp[-4].minor.yy346.zStart; | 3076 yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; |
| 3032 yygotominor.yy346.zEnd = yymsp[0].minor.yy346.zEnd; | 3077 yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; |
| 3033 } | 3078 } |
| 3034 #line 3035 "parse.c" | 3079 #line 3080 "parse.c" |
| 3035 break; | 3080 break; |
| 3036 case 227: /* expr ::= expr in_op LP exprlist RP */ | 3081 case 227: /* expr ::= expr in_op LP exprlist RP */ |
| 3037 #line 937 "parse.y" | 3082 #line 965 "parse.y" |
| 3038 { | 3083 { |
| 3039 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy346.
pExpr, 0, 0); | 3084 if( yymsp[-1].minor.yy322==0 ){ |
| 3040 if( yygotominor.yy346.pExpr ){ | 3085 /* Expressions of the form |
| 3041 yygotominor.yy346.pExpr->x.pList = yymsp[-1].minor.yy14; | 3086 ** |
| 3042 sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); | 3087 ** expr1 IN () |
| 3088 ** expr1 NOT IN () |
| 3089 ** |
| 3090 ** simplify to constants 0 (false) and 1 (true), respectively, |
| 3091 ** regardless of the value of expr1. |
| 3092 */ |
| 3093 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3I
ntTokens[yymsp[-3].minor.yy4]); |
| 3094 sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy118.pExpr); |
| 3043 }else{ | 3095 }else{ |
| 3044 sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy14); | 3096 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy11
8.pExpr, 0, 0); |
| 3097 if( yygotominor.yy118.pExpr ){ |
| 3098 yygotominor.yy118.pExpr->x.pList = yymsp[-1].minor.yy322; |
| 3099 sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); |
| 3100 }else{ |
| 3101 sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy322); |
| 3102 } |
| 3103 if( yymsp[-3].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, T
K_NOT, yygotominor.yy118.pExpr, 0, 0); |
| 3045 } | 3104 } |
| 3046 if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, T
K_NOT, yygotominor.yy346.pExpr, 0, 0); | 3105 yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; |
| 3047 yygotominor.yy346.zStart = yymsp[-4].minor.yy346.zStart; | 3106 yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 3048 yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; | 3107 } |
| 3049 } | 3108 #line 3109 "parse.c" |
| 3050 #line 3051 "parse.c" | |
| 3051 break; | 3109 break; |
| 3052 case 228: /* expr ::= LP select RP */ | 3110 case 228: /* expr ::= LP select RP */ |
| 3053 #line 949 "parse.y" | 3111 #line 990 "parse.y" |
| 3054 { | 3112 { |
| 3055 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); | 3113 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); |
| 3056 if( yygotominor.yy346.pExpr ){ | 3114 if( yygotominor.yy118.pExpr ){ |
| 3057 yygotominor.yy346.pExpr->x.pSelect = yymsp[-1].minor.yy3; | 3115 yygotominor.yy118.pExpr->x.pSelect = yymsp[-1].minor.yy387; |
| 3058 ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect); | 3116 ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect); |
| 3059 sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); | 3117 sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); |
| 3060 }else{ | 3118 }else{ |
| 3061 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy3); | 3119 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); |
| 3062 } | 3120 } |
| 3063 yygotominor.yy346.zStart = yymsp[-2].minor.yy0.z; | 3121 yygotominor.yy118.zStart = yymsp[-2].minor.yy0.z; |
| 3064 yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; | 3122 yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 3065 } | 3123 } |
| 3066 #line 3067 "parse.c" | 3124 #line 3125 "parse.c" |
| 3067 break; | 3125 break; |
| 3068 case 229: /* expr ::= expr in_op LP select RP */ | 3126 case 229: /* expr ::= expr in_op LP select RP */ |
| 3069 #line 961 "parse.y" | 3127 #line 1002 "parse.y" |
| 3070 { | 3128 { |
| 3071 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy346.
pExpr, 0, 0); | 3129 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy118.
pExpr, 0, 0); |
| 3072 if( yygotominor.yy346.pExpr ){ | 3130 if( yygotominor.yy118.pExpr ){ |
| 3073 yygotominor.yy346.pExpr->x.pSelect = yymsp[-1].minor.yy3; | 3131 yygotominor.yy118.pExpr->x.pSelect = yymsp[-1].minor.yy387; |
| 3074 ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect); | 3132 ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect); |
| 3075 sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); | 3133 sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); |
| 3076 }else{ | 3134 }else{ |
| 3077 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy3); | 3135 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); |
| 3078 } | 3136 } |
| 3079 if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, T
K_NOT, yygotominor.yy346.pExpr, 0, 0); | 3137 if( yymsp[-3].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_
NOT, yygotominor.yy118.pExpr, 0, 0); |
| 3080 yygotominor.yy346.zStart = yymsp[-4].minor.yy346.zStart; | 3138 yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; |
| 3081 yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; | 3139 yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 3082 } | 3140 } |
| 3083 #line 3084 "parse.c" | 3141 #line 3142 "parse.c" |
| 3084 break; | 3142 break; |
| 3085 case 230: /* expr ::= expr in_op nm dbnm */ | 3143 case 230: /* expr ::= expr in_op nm dbnm */ |
| 3086 #line 974 "parse.y" | 3144 #line 1015 "parse.y" |
| 3087 { | 3145 { |
| 3088 SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yym
sp[0].minor.yy0); | 3146 SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yym
sp[0].minor.yy0); |
| 3089 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy346.
pExpr, 0, 0); | 3147 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy118.
pExpr, 0, 0); |
| 3090 if( yygotominor.yy346.pExpr ){ | 3148 if( yygotominor.yy118.pExpr ){ |
| 3091 yygotominor.yy346.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0
,0,0,0,0); | 3149 yygotominor.yy118.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0
,0,0,0,0); |
| 3092 ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect); | 3150 ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect); |
| 3093 sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); | 3151 sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); |
| 3094 }else{ | 3152 }else{ |
| 3095 sqlite3SrcListDelete(pParse->db, pSrc); | 3153 sqlite3SrcListDelete(pParse->db, pSrc); |
| 3096 } | 3154 } |
| 3097 if( yymsp[-2].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, T
K_NOT, yygotominor.yy346.pExpr, 0, 0); | 3155 if( yymsp[-2].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_
NOT, yygotominor.yy118.pExpr, 0, 0); |
| 3098 yygotominor.yy346.zStart = yymsp[-3].minor.yy346.zStart; | 3156 yygotominor.yy118.zStart = yymsp[-3].minor.yy118.zStart; |
| 3099 yygotominor.yy346.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[
0].minor.yy0.n] : &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]; | 3157 yygotominor.yy118.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[
0].minor.yy0.n] : &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]; |
| 3100 } | 3158 } |
| 3101 #line 3102 "parse.c" | 3159 #line 3160 "parse.c" |
| 3102 break; | 3160 break; |
| 3103 case 231: /* expr ::= EXISTS LP select RP */ | 3161 case 231: /* expr ::= EXISTS LP select RP */ |
| 3104 #line 988 "parse.y" | 3162 #line 1029 "parse.y" |
| 3105 { | 3163 { |
| 3106 Expr *p = yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0)
; | 3164 Expr *p = yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0)
; |
| 3107 if( p ){ | 3165 if( p ){ |
| 3108 p->x.pSelect = yymsp[-1].minor.yy3; | 3166 p->x.pSelect = yymsp[-1].minor.yy387; |
| 3109 ExprSetProperty(p, EP_xIsSelect); | 3167 ExprSetProperty(p, EP_xIsSelect); |
| 3110 sqlite3ExprSetHeight(pParse, p); | 3168 sqlite3ExprSetHeight(pParse, p); |
| 3111 }else{ | 3169 }else{ |
| 3112 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy3); | 3170 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); |
| 3113 } | 3171 } |
| 3114 yygotominor.yy346.zStart = yymsp[-3].minor.yy0.z; | 3172 yygotominor.yy118.zStart = yymsp[-3].minor.yy0.z; |
| 3115 yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; | 3173 yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 3116 } | 3174 } |
| 3117 #line 3118 "parse.c" | 3175 #line 3176 "parse.c" |
| 3118 break; | 3176 break; |
| 3119 case 232: /* expr ::= CASE case_operand case_exprlist case_else END */ | 3177 case 232: /* expr ::= CASE case_operand case_exprlist case_else END */ |
| 3120 #line 1003 "parse.y" | 3178 #line 1044 "parse.y" |
| 3121 { | 3179 { |
| 3122 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy132,
yymsp[-1].minor.yy132, 0); | 3180 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy314,
yymsp[-1].minor.yy314, 0); |
| 3123 if( yygotominor.yy346.pExpr ){ | 3181 if( yygotominor.yy118.pExpr ){ |
| 3124 yygotominor.yy346.pExpr->x.pList = yymsp[-2].minor.yy14; | 3182 yygotominor.yy118.pExpr->x.pList = yymsp[-2].minor.yy322; |
| 3125 sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); | 3183 sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); |
| 3126 }else{ | 3184 }else{ |
| 3127 sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy14); | 3185 sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy322); |
| 3128 } | 3186 } |
| 3129 yygotominor.yy346.zStart = yymsp[-4].minor.yy0.z; | 3187 yygotominor.yy118.zStart = yymsp[-4].minor.yy0.z; |
| 3130 yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; | 3188 yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 3131 } | 3189 } |
| 3132 #line 3133 "parse.c" | 3190 #line 3191 "parse.c" |
| 3133 break; | 3191 break; |
| 3134 case 233: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ | 3192 case 233: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 3135 #line 1016 "parse.y" | 3193 #line 1057 "parse.y" |
| 3136 { | 3194 { |
| 3137 yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14, yymsp[-2
].minor.yy346.pExpr); | 3195 yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, yymsp[
-2].minor.yy118.pExpr); |
| 3138 yygotominor.yy14 = sqlite3ExprListAppend(pParse,yygotominor.yy14, yymsp[0].min
or.yy346.pExpr); | 3196 yygotominor.yy322 = sqlite3ExprListAppend(pParse,yygotominor.yy322, yymsp[0].m
inor.yy118.pExpr); |
| 3139 } | 3197 } |
| 3140 #line 3141 "parse.c" | 3198 #line 3199 "parse.c" |
| 3141 break; | 3199 break; |
| 3142 case 234: /* case_exprlist ::= WHEN expr THEN expr */ | 3200 case 234: /* case_exprlist ::= WHEN expr THEN expr */ |
| 3143 #line 1020 "parse.y" | 3201 #line 1061 "parse.y" |
| 3144 { | 3202 { |
| 3145 yygotominor.yy14 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr
); | 3203 yygotominor.yy322 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExp
r); |
| 3146 yygotominor.yy14 = sqlite3ExprListAppend(pParse,yygotominor.yy14, yymsp[0].min
or.yy346.pExpr); | 3204 yygotominor.yy322 = sqlite3ExprListAppend(pParse,yygotominor.yy322, yymsp[0].m
inor.yy118.pExpr); |
| 3147 } | 3205 } |
| 3148 #line 3149 "parse.c" | 3206 #line 3207 "parse.c" |
| 3149 break; | 3207 break; |
| 3150 case 243: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm L
P idxlist RP */ | 3208 case 243: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm L
P idxlist RP */ |
| 3151 #line 1049 "parse.y" | 3209 #line 1090 "parse.y" |
| 3152 { | 3210 { |
| 3153 sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0, &yymsp[-5].minor.yy0, | 3211 sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0, &yymsp[-5].minor.yy0, |
| 3154 sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0,0),
yymsp[-1].minor.yy14, yymsp[-9].minor.yy328, | 3212 sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0,0),
yymsp[-1].minor.yy322, yymsp[-9].minor.yy4, |
| 3155 &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC,
yymsp[-7].minor.yy328); | 3213 &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC,
yymsp[-7].minor.yy4); |
| 3156 } | 3214 } |
| 3157 #line 3158 "parse.c" | 3215 #line 3216 "parse.c" |
| 3158 break; | 3216 break; |
| 3159 case 244: /* uniqueflag ::= UNIQUE */ | 3217 case 244: /* uniqueflag ::= UNIQUE */ |
| 3160 case 298: /* raisetype ::= ABORT */ yytestcase(yyruleno==298); | 3218 case 298: /* raisetype ::= ABORT */ yytestcase(yyruleno==298); |
| 3161 #line 1056 "parse.y" | 3219 #line 1097 "parse.y" |
| 3162 {yygotominor.yy328 = OE_Abort;} | 3220 {yygotominor.yy4 = OE_Abort;} |
| 3163 #line 3164 "parse.c" | 3221 #line 3222 "parse.c" |
| 3164 break; | 3222 break; |
| 3165 case 245: /* uniqueflag ::= */ | 3223 case 245: /* uniqueflag ::= */ |
| 3166 #line 1057 "parse.y" | 3224 #line 1098 "parse.y" |
| 3167 {yygotominor.yy328 = OE_None;} | 3225 {yygotominor.yy4 = OE_None;} |
| 3168 #line 3169 "parse.c" | 3226 #line 3227 "parse.c" |
| 3169 break; | 3227 break; |
| 3170 case 248: /* idxlist ::= idxlist COMMA nm collate sortorder */ | 3228 case 248: /* idxlist ::= idxlist COMMA nm collate sortorder */ |
| 3171 #line 1066 "parse.y" | 3229 #line 1107 "parse.y" |
| 3172 { | 3230 { |
| 3173 Expr *p = 0; | 3231 Expr *p = 0; |
| 3174 if( yymsp[-1].minor.yy0.n>0 ){ | 3232 if( yymsp[-1].minor.yy0.n>0 ){ |
| 3175 p = sqlite3Expr(pParse->db, TK_COLUMN, 0); | 3233 p = sqlite3Expr(pParse->db, TK_COLUMN, 0); |
| 3176 sqlite3ExprSetColl(pParse, p, &yymsp[-1].minor.yy0); | 3234 sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); |
| 3177 } | 3235 } |
| 3178 yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14, p); | 3236 yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, p); |
| 3179 sqlite3ExprListSetName(pParse,yygotominor.yy14,&yymsp[-2].minor.yy0,1); | 3237 sqlite3ExprListSetName(pParse,yygotominor.yy322,&yymsp[-2].minor.yy0,1); |
| 3180 sqlite3ExprListCheckLength(pParse, yygotominor.yy14, "index"); | 3238 sqlite3ExprListCheckLength(pParse, yygotominor.yy322, "index"); |
| 3181 if( yygotominor.yy14 ) yygotominor.yy14->a[yygotominor.yy14->nExpr-1].sortOrde
r = (u8)yymsp[0].minor.yy328; | 3239 if( yygotominor.yy322 ) yygotominor.yy322->a[yygotominor.yy322->nExpr-1].sortO
rder = (u8)yymsp[0].minor.yy4; |
| 3182 } | 3240 } |
| 3183 #line 3184 "parse.c" | 3241 #line 3242 "parse.c" |
| 3184 break; | 3242 break; |
| 3185 case 249: /* idxlist ::= nm collate sortorder */ | 3243 case 249: /* idxlist ::= nm collate sortorder */ |
| 3186 #line 1077 "parse.y" | 3244 #line 1118 "parse.y" |
| 3187 { | 3245 { |
| 3188 Expr *p = 0; | 3246 Expr *p = 0; |
| 3189 if( yymsp[-1].minor.yy0.n>0 ){ | 3247 if( yymsp[-1].minor.yy0.n>0 ){ |
| 3190 p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0); | 3248 p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0); |
| 3191 sqlite3ExprSetColl(pParse, p, &yymsp[-1].minor.yy0); | 3249 sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); |
| 3192 } | 3250 } |
| 3193 yygotominor.yy14 = sqlite3ExprListAppend(pParse,0, p); | 3251 yygotominor.yy322 = sqlite3ExprListAppend(pParse,0, p); |
| 3194 sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[-2].minor.yy0, 1); | 3252 sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[-2].minor.yy0, 1); |
| 3195 sqlite3ExprListCheckLength(pParse, yygotominor.yy14, "index"); | 3253 sqlite3ExprListCheckLength(pParse, yygotominor.yy322, "index"); |
| 3196 if( yygotominor.yy14 ) yygotominor.yy14->a[yygotominor.yy14->nExpr-1].sortOrde
r = (u8)yymsp[0].minor.yy328; | 3254 if( yygotominor.yy322 ) yygotominor.yy322->a[yygotominor.yy322->nExpr-1].sortO
rder = (u8)yymsp[0].minor.yy4; |
| 3197 } | 3255 } |
| 3198 #line 3199 "parse.c" | 3256 #line 3257 "parse.c" |
| 3199 break; | 3257 break; |
| 3200 case 250: /* collate ::= */ | 3258 case 250: /* collate ::= */ |
| 3201 #line 1090 "parse.y" | 3259 #line 1131 "parse.y" |
| 3202 {yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;} | 3260 {yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;} |
| 3203 #line 3204 "parse.c" | 3261 #line 3262 "parse.c" |
| 3204 break; | 3262 break; |
| 3205 case 252: /* cmd ::= DROP INDEX ifexists fullname */ | 3263 case 252: /* cmd ::= DROP INDEX ifexists fullname */ |
| 3206 #line 1096 "parse.y" | 3264 #line 1137 "parse.y" |
| 3207 {sqlite3DropIndex(pParse, yymsp[0].minor.yy65, yymsp[-1].minor.yy328);} | 3265 {sqlite3DropIndex(pParse, yymsp[0].minor.yy259, yymsp[-1].minor.yy4);} |
| 3208 #line 3209 "parse.c" | 3266 #line 3267 "parse.c" |
| 3209 break; | 3267 break; |
| 3210 case 253: /* cmd ::= VACUUM */ | 3268 case 253: /* cmd ::= VACUUM */ |
| 3211 case 254: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==254); | 3269 case 254: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==254); |
| 3212 #line 1102 "parse.y" | 3270 #line 1143 "parse.y" |
| 3213 {sqlite3Vacuum(pParse);} | 3271 {sqlite3Vacuum(pParse);} |
| 3214 #line 3215 "parse.c" | 3272 #line 3273 "parse.c" |
| 3215 break; | 3273 break; |
| 3216 case 255: /* cmd ::= PRAGMA nm dbnm */ | 3274 case 255: /* cmd ::= PRAGMA nm dbnm */ |
| 3217 #line 1110 "parse.y" | 3275 #line 1151 "parse.y" |
| 3218 {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} | 3276 {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} |
| 3219 #line 3220 "parse.c" | 3277 #line 3278 "parse.c" |
| 3220 break; | 3278 break; |
| 3221 case 256: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ | 3279 case 256: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 3222 #line 1111 "parse.y" | 3280 #line 1152 "parse.y" |
| 3223 {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.
yy0,0);} | 3281 {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.
yy0,0);} |
| 3224 #line 3225 "parse.c" | 3282 #line 3283 "parse.c" |
| 3225 break; | 3283 break; |
| 3226 case 257: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ | 3284 case 257: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 3227 #line 1112 "parse.y" | 3285 #line 1153 "parse.y" |
| 3228 {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor
.yy0,0);} | 3286 {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor
.yy0,0);} |
| 3229 #line 3230 "parse.c" | 3287 #line 3288 "parse.c" |
| 3230 break; | 3288 break; |
| 3231 case 258: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ | 3289 case 258: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 3232 #line 1114 "parse.y" | 3290 #line 1155 "parse.y" |
| 3233 {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.
yy0,1);} | 3291 {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.
yy0,1);} |
| 3234 #line 3235 "parse.c" | 3292 #line 3293 "parse.c" |
| 3235 break; | 3293 break; |
| 3236 case 259: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ | 3294 case 259: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 3237 #line 1116 "parse.y" | 3295 #line 1157 "parse.y" |
| 3238 {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor
.yy0,1);} | 3296 {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor
.yy0,1);} |
| 3239 #line 3240 "parse.c" | 3297 #line 3298 "parse.c" |
| 3240 break; | 3298 break; |
| 3241 case 270: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ | 3299 case 270: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 3242 #line 1134 "parse.y" | 3300 #line 1175 "parse.y" |
| 3243 { | 3301 { |
| 3244 Token all; | 3302 Token all; |
| 3245 all.z = yymsp[-3].minor.yy0.z; | 3303 all.z = yymsp[-3].minor.yy0.z; |
| 3246 all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.y
y0.n; | 3304 all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.y
y0.n; |
| 3247 sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy473, &all); | 3305 sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy203, &all); |
| 3248 } | 3306 } |
| 3249 #line 3250 "parse.c" | 3307 #line 3308 "parse.c" |
| 3250 break; | 3308 break; |
| 3251 case 271: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_tim
e trigger_event ON fullname foreach_clause when_clause */ | 3309 case 271: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_tim
e trigger_event ON fullname foreach_clause when_clause */ |
| 3252 #line 1143 "parse.y" | 3310 #line 1184 "parse.y" |
| 3253 { | 3311 { |
| 3254 sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[
-5].minor.yy328, yymsp[-4].minor.yy378.a, yymsp[-4].minor.yy378.b, yymsp[-2].min
or.yy65, yymsp[0].minor.yy132, yymsp[-10].minor.yy328, yymsp[-8].minor.yy328); | 3312 sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[
-5].minor.yy4, yymsp[-4].minor.yy90.a, yymsp[-4].minor.yy90.b, yymsp[-2].minor.y
y259, yymsp[0].minor.yy314, yymsp[-10].minor.yy4, yymsp[-8].minor.yy4); |
| 3255 yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].mino
r.yy0); | 3313 yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].mino
r.yy0); |
| 3256 } | 3314 } |
| 3257 #line 3258 "parse.c" | 3315 #line 3316 "parse.c" |
| 3258 break; | 3316 break; |
| 3259 case 272: /* trigger_time ::= BEFORE */ | 3317 case 272: /* trigger_time ::= BEFORE */ |
| 3260 case 275: /* trigger_time ::= */ yytestcase(yyruleno==275); | 3318 case 275: /* trigger_time ::= */ yytestcase(yyruleno==275); |
| 3261 #line 1149 "parse.y" | 3319 #line 1190 "parse.y" |
| 3262 { yygotominor.yy328 = TK_BEFORE; } | 3320 { yygotominor.yy4 = TK_BEFORE; } |
| 3263 #line 3264 "parse.c" | 3321 #line 3322 "parse.c" |
| 3264 break; | 3322 break; |
| 3265 case 273: /* trigger_time ::= AFTER */ | 3323 case 273: /* trigger_time ::= AFTER */ |
| 3266 #line 1150 "parse.y" | 3324 #line 1191 "parse.y" |
| 3267 { yygotominor.yy328 = TK_AFTER; } | 3325 { yygotominor.yy4 = TK_AFTER; } |
| 3268 #line 3269 "parse.c" | 3326 #line 3327 "parse.c" |
| 3269 break; | 3327 break; |
| 3270 case 274: /* trigger_time ::= INSTEAD OF */ | 3328 case 274: /* trigger_time ::= INSTEAD OF */ |
| 3271 #line 1151 "parse.y" | 3329 #line 1192 "parse.y" |
| 3272 { yygotominor.yy328 = TK_INSTEAD;} | 3330 { yygotominor.yy4 = TK_INSTEAD;} |
| 3273 #line 3274 "parse.c" | 3331 #line 3332 "parse.c" |
| 3274 break; | 3332 break; |
| 3275 case 276: /* trigger_event ::= DELETE|INSERT */ | 3333 case 276: /* trigger_event ::= DELETE|INSERT */ |
| 3276 case 277: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==277); | 3334 case 277: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==277); |
| 3277 #line 1156 "parse.y" | 3335 #line 1197 "parse.y" |
| 3278 {yygotominor.yy378.a = yymsp[0].major; yygotominor.yy378.b = 0;} | 3336 {yygotominor.yy90.a = yymsp[0].major; yygotominor.yy90.b = 0;} |
| 3279 #line 3280 "parse.c" | 3337 #line 3338 "parse.c" |
| 3280 break; | 3338 break; |
| 3281 case 278: /* trigger_event ::= UPDATE OF inscollist */ | 3339 case 278: /* trigger_event ::= UPDATE OF inscollist */ |
| 3282 #line 1158 "parse.y" | 3340 #line 1199 "parse.y" |
| 3283 {yygotominor.yy378.a = TK_UPDATE; yygotominor.yy378.b = yymsp[0].minor.yy408;} | 3341 {yygotominor.yy90.a = TK_UPDATE; yygotominor.yy90.b = yymsp[0].minor.yy384;} |
| 3284 #line 3285 "parse.c" | 3342 #line 3343 "parse.c" |
| 3285 break; | 3343 break; |
| 3286 case 281: /* when_clause ::= */ | 3344 case 281: /* when_clause ::= */ |
| 3287 case 303: /* key_opt ::= */ yytestcase(yyruleno==303); | 3345 case 303: /* key_opt ::= */ yytestcase(yyruleno==303); |
| 3288 #line 1165 "parse.y" | 3346 #line 1206 "parse.y" |
| 3289 { yygotominor.yy132 = 0; } | 3347 { yygotominor.yy314 = 0; } |
| 3290 #line 3291 "parse.c" | 3348 #line 3349 "parse.c" |
| 3291 break; | 3349 break; |
| 3292 case 282: /* when_clause ::= WHEN expr */ | 3350 case 282: /* when_clause ::= WHEN expr */ |
| 3293 case 304: /* key_opt ::= KEY expr */ yytestcase(yyruleno==304); | 3351 case 304: /* key_opt ::= KEY expr */ yytestcase(yyruleno==304); |
| 3294 #line 1166 "parse.y" | 3352 #line 1207 "parse.y" |
| 3295 { yygotominor.yy132 = yymsp[0].minor.yy346.pExpr; } | 3353 { yygotominor.yy314 = yymsp[0].minor.yy118.pExpr; } |
| 3296 #line 3297 "parse.c" | 3354 #line 3355 "parse.c" |
| 3297 break; | 3355 break; |
| 3298 case 283: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ | 3356 case 283: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 3299 #line 1170 "parse.y" | 3357 #line 1211 "parse.y" |
| 3300 { | 3358 { |
| 3301 assert( yymsp[-2].minor.yy473!=0 ); | 3359 assert( yymsp[-2].minor.yy203!=0 ); |
| 3302 yymsp[-2].minor.yy473->pLast->pNext = yymsp[-1].minor.yy473; | 3360 yymsp[-2].minor.yy203->pLast->pNext = yymsp[-1].minor.yy203; |
| 3303 yymsp[-2].minor.yy473->pLast = yymsp[-1].minor.yy473; | 3361 yymsp[-2].minor.yy203->pLast = yymsp[-1].minor.yy203; |
| 3304 yygotominor.yy473 = yymsp[-2].minor.yy473; | 3362 yygotominor.yy203 = yymsp[-2].minor.yy203; |
| 3305 } | 3363 } |
| 3306 #line 3307 "parse.c" | 3364 #line 3365 "parse.c" |
| 3307 break; | 3365 break; |
| 3308 case 284: /* trigger_cmd_list ::= trigger_cmd SEMI */ | 3366 case 284: /* trigger_cmd_list ::= trigger_cmd SEMI */ |
| 3309 #line 1176 "parse.y" | 3367 #line 1217 "parse.y" |
| 3310 { | 3368 { |
| 3311 assert( yymsp[-1].minor.yy473!=0 ); | 3369 assert( yymsp[-1].minor.yy203!=0 ); |
| 3312 yymsp[-1].minor.yy473->pLast = yymsp[-1].minor.yy473; | 3370 yymsp[-1].minor.yy203->pLast = yymsp[-1].minor.yy203; |
| 3313 yygotominor.yy473 = yymsp[-1].minor.yy473; | 3371 yygotominor.yy203 = yymsp[-1].minor.yy203; |
| 3314 } | 3372 } |
| 3315 #line 3316 "parse.c" | 3373 #line 3374 "parse.c" |
| 3316 break; | 3374 break; |
| 3317 case 286: /* trnm ::= nm DOT nm */ | 3375 case 286: /* trnm ::= nm DOT nm */ |
| 3318 #line 1188 "parse.y" | 3376 #line 1229 "parse.y" |
| 3319 { | 3377 { |
| 3320 yygotominor.yy0 = yymsp[0].minor.yy0; | 3378 yygotominor.yy0 = yymsp[0].minor.yy0; |
| 3321 sqlite3ErrorMsg(pParse, | 3379 sqlite3ErrorMsg(pParse, |
| 3322 "qualified table names are not allowed on INSERT, UPDATE, and DELETE " | 3380 "qualified table names are not allowed on INSERT, UPDATE, and DELETE " |
| 3323 "statements within triggers"); | 3381 "statements within triggers"); |
| 3324 } | 3382 } |
| 3325 #line 3326 "parse.c" | 3383 #line 3384 "parse.c" |
| 3326 break; | 3384 break; |
| 3327 case 288: /* tridxby ::= INDEXED BY nm */ | 3385 case 288: /* tridxby ::= INDEXED BY nm */ |
| 3328 #line 1200 "parse.y" | 3386 #line 1241 "parse.y" |
| 3329 { | 3387 { |
| 3330 sqlite3ErrorMsg(pParse, | 3388 sqlite3ErrorMsg(pParse, |
| 3331 "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " | 3389 "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " |
| 3332 "within triggers"); | 3390 "within triggers"); |
| 3333 } | 3391 } |
| 3334 #line 3335 "parse.c" | 3392 #line 3393 "parse.c" |
| 3335 break; | 3393 break; |
| 3336 case 289: /* tridxby ::= NOT INDEXED */ | 3394 case 289: /* tridxby ::= NOT INDEXED */ |
| 3337 #line 1205 "parse.y" | 3395 #line 1246 "parse.y" |
| 3338 { | 3396 { |
| 3339 sqlite3ErrorMsg(pParse, | 3397 sqlite3ErrorMsg(pParse, |
| 3340 "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " | 3398 "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " |
| 3341 "within triggers"); | 3399 "within triggers"); |
| 3342 } | 3400 } |
| 3343 #line 3344 "parse.c" | 3401 #line 3402 "parse.c" |
| 3344 break; | 3402 break; |
| 3345 case 290: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_
opt */ | 3403 case 290: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_
opt */ |
| 3346 #line 1218 "parse.y" | 3404 #line 1259 "parse.y" |
| 3347 { yygotominor.yy473 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0,
yymsp[-1].minor.yy14, yymsp[0].minor.yy132, yymsp[-5].minor.yy186); } | 3405 { yygotominor.yy203 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0,
yymsp[-1].minor.yy322, yymsp[0].minor.yy314, yymsp[-5].minor.yy210); } |
| 3348 #line 3349 "parse.c" | 3406 #line 3407 "parse.c" |
| 3349 break; | 3407 break; |
| 3350 case 291: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt VALUES LP
itemlist RP */ | 3408 case 291: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt VALUES LP
itemlist RP */ |
| 3351 #line 1223 "parse.y" | 3409 #line 1264 "parse.y" |
| 3352 {yygotominor.yy473 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-5].minor.yy0,
yymsp[-4].minor.yy408, yymsp[-1].minor.yy14, 0, yymsp[-7].minor.yy186);} | 3410 {yygotominor.yy203 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-5].minor.yy0,
yymsp[-4].minor.yy384, yymsp[-1].minor.yy322, 0, yymsp[-7].minor.yy210);} |
| 3353 #line 3354 "parse.c" | 3411 #line 3412 "parse.c" |
| 3354 break; | 3412 break; |
| 3355 case 292: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */ | 3413 case 292: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */ |
| 3356 #line 1226 "parse.y" | 3414 #line 1267 "parse.y" |
| 3357 {yygotominor.yy473 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0,
yymsp[-1].minor.yy408, 0, yymsp[0].minor.yy3, yymsp[-4].minor.yy186);} | 3415 {yygotominor.yy203 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0,
yymsp[-1].minor.yy384, 0, yymsp[0].minor.yy387, yymsp[-4].minor.yy210);} |
| 3358 #line 3359 "parse.c" | 3416 #line 3417 "parse.c" |
| 3359 break; | 3417 break; |
| 3360 case 293: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ | 3418 case 293: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ |
| 3361 #line 1230 "parse.y" | 3419 #line 1271 "parse.y" |
| 3362 {yygotominor.yy473 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0,
yymsp[0].minor.yy132);} | 3420 {yygotominor.yy203 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0,
yymsp[0].minor.yy314);} |
| 3363 #line 3364 "parse.c" | 3421 #line 3422 "parse.c" |
| 3364 break; | 3422 break; |
| 3365 case 294: /* trigger_cmd ::= select */ | 3423 case 294: /* trigger_cmd ::= select */ |
| 3366 #line 1233 "parse.y" | 3424 #line 1274 "parse.y" |
| 3367 {yygotominor.yy473 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy3); } | 3425 {yygotominor.yy203 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy387);
} |
| 3368 #line 3369 "parse.c" | 3426 #line 3427 "parse.c" |
| 3369 break; | 3427 break; |
| 3370 case 295: /* expr ::= RAISE LP IGNORE RP */ | 3428 case 295: /* expr ::= RAISE LP IGNORE RP */ |
| 3371 #line 1236 "parse.y" | 3429 #line 1277 "parse.y" |
| 3372 { | 3430 { |
| 3373 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); | 3431 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); |
| 3374 if( yygotominor.yy346.pExpr ){ | 3432 if( yygotominor.yy118.pExpr ){ |
| 3375 yygotominor.yy346.pExpr->affinity = OE_Ignore; | 3433 yygotominor.yy118.pExpr->affinity = OE_Ignore; |
| 3376 } | 3434 } |
| 3377 yygotominor.yy346.zStart = yymsp[-3].minor.yy0.z; | 3435 yygotominor.yy118.zStart = yymsp[-3].minor.yy0.z; |
| 3378 yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; | 3436 yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 3379 } | 3437 } |
| 3380 #line 3381 "parse.c" | 3438 #line 3439 "parse.c" |
| 3381 break; | 3439 break; |
| 3382 case 296: /* expr ::= RAISE LP raisetype COMMA nm RP */ | 3440 case 296: /* expr ::= RAISE LP raisetype COMMA nm RP */ |
| 3383 #line 1244 "parse.y" | 3441 #line 1285 "parse.y" |
| 3384 { | 3442 { |
| 3385 yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].mino
r.yy0); | 3443 yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].mino
r.yy0); |
| 3386 if( yygotominor.yy346.pExpr ) { | 3444 if( yygotominor.yy118.pExpr ) { |
| 3387 yygotominor.yy346.pExpr->affinity = (char)yymsp[-3].minor.yy328; | 3445 yygotominor.yy118.pExpr->affinity = (char)yymsp[-3].minor.yy4; |
| 3388 } | 3446 } |
| 3389 yygotominor.yy346.zStart = yymsp[-5].minor.yy0.z; | 3447 yygotominor.yy118.zStart = yymsp[-5].minor.yy0.z; |
| 3390 yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; | 3448 yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 3391 } | 3449 } |
| 3392 #line 3393 "parse.c" | 3450 #line 3451 "parse.c" |
| 3393 break; | 3451 break; |
| 3394 case 297: /* raisetype ::= ROLLBACK */ | 3452 case 297: /* raisetype ::= ROLLBACK */ |
| 3395 #line 1255 "parse.y" | 3453 #line 1296 "parse.y" |
| 3396 {yygotominor.yy328 = OE_Rollback;} | 3454 {yygotominor.yy4 = OE_Rollback;} |
| 3397 #line 3398 "parse.c" | 3455 #line 3456 "parse.c" |
| 3398 break; | 3456 break; |
| 3399 case 299: /* raisetype ::= FAIL */ | 3457 case 299: /* raisetype ::= FAIL */ |
| 3400 #line 1257 "parse.y" | 3458 #line 1298 "parse.y" |
| 3401 {yygotominor.yy328 = OE_Fail;} | 3459 {yygotominor.yy4 = OE_Fail;} |
| 3402 #line 3403 "parse.c" | 3460 #line 3461 "parse.c" |
| 3403 break; | 3461 break; |
| 3404 case 300: /* cmd ::= DROP TRIGGER ifexists fullname */ | 3462 case 300: /* cmd ::= DROP TRIGGER ifexists fullname */ |
| 3405 #line 1262 "parse.y" | 3463 #line 1303 "parse.y" |
| 3406 { | 3464 { |
| 3407 sqlite3DropTrigger(pParse,yymsp[0].minor.yy65,yymsp[-1].minor.yy328); | 3465 sqlite3DropTrigger(pParse,yymsp[0].minor.yy259,yymsp[-1].minor.yy4); |
| 3408 } | 3466 } |
| 3409 #line 3410 "parse.c" | 3467 #line 3468 "parse.c" |
| 3410 break; | 3468 break; |
| 3411 case 301: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ | 3469 case 301: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 3412 #line 1269 "parse.y" | 3470 #line 1310 "parse.y" |
| 3413 { | 3471 { |
| 3414 sqlite3Attach(pParse, yymsp[-3].minor.yy346.pExpr, yymsp[-1].minor.yy346.pExpr
, yymsp[0].minor.yy132); | 3472 sqlite3Attach(pParse, yymsp[-3].minor.yy118.pExpr, yymsp[-1].minor.yy118.pExpr
, yymsp[0].minor.yy314); |
| 3415 } | 3473 } |
| 3416 #line 3417 "parse.c" | 3474 #line 3475 "parse.c" |
| 3417 break; | 3475 break; |
| 3418 case 302: /* cmd ::= DETACH database_kw_opt expr */ | 3476 case 302: /* cmd ::= DETACH database_kw_opt expr */ |
| 3419 #line 1272 "parse.y" | 3477 #line 1313 "parse.y" |
| 3420 { | 3478 { |
| 3421 sqlite3Detach(pParse, yymsp[0].minor.yy346.pExpr); | 3479 sqlite3Detach(pParse, yymsp[0].minor.yy118.pExpr); |
| 3422 } | 3480 } |
| 3423 #line 3424 "parse.c" | 3481 #line 3482 "parse.c" |
| 3424 break; | 3482 break; |
| 3425 case 307: /* cmd ::= REINDEX */ | 3483 case 307: /* cmd ::= REINDEX */ |
| 3426 #line 1287 "parse.y" | 3484 #line 1328 "parse.y" |
| 3427 {sqlite3Reindex(pParse, 0, 0);} | 3485 {sqlite3Reindex(pParse, 0, 0);} |
| 3428 #line 3429 "parse.c" | 3486 #line 3487 "parse.c" |
| 3429 break; | 3487 break; |
| 3430 case 308: /* cmd ::= REINDEX nm dbnm */ | 3488 case 308: /* cmd ::= REINDEX nm dbnm */ |
| 3431 #line 1288 "parse.y" | 3489 #line 1329 "parse.y" |
| 3432 {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} | 3490 {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 3433 #line 3434 "parse.c" | 3491 #line 3492 "parse.c" |
| 3434 break; | 3492 break; |
| 3435 case 309: /* cmd ::= ANALYZE */ | 3493 case 309: /* cmd ::= ANALYZE */ |
| 3436 #line 1293 "parse.y" | 3494 #line 1334 "parse.y" |
| 3437 {sqlite3Analyze(pParse, 0, 0);} | 3495 {sqlite3Analyze(pParse, 0, 0);} |
| 3438 #line 3439 "parse.c" | 3496 #line 3497 "parse.c" |
| 3439 break; | 3497 break; |
| 3440 case 310: /* cmd ::= ANALYZE nm dbnm */ | 3498 case 310: /* cmd ::= ANALYZE nm dbnm */ |
| 3441 #line 1294 "parse.y" | 3499 #line 1335 "parse.y" |
| 3442 {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} | 3500 {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 3443 #line 3444 "parse.c" | 3501 #line 3502 "parse.c" |
| 3444 break; | 3502 break; |
| 3445 case 311: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ | 3503 case 311: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 3446 #line 1299 "parse.y" | 3504 #line 1340 "parse.y" |
| 3447 { | 3505 { |
| 3448 sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy65,&yymsp[0].minor.yy0); | 3506 sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy259,&yymsp[0].minor.yy0); |
| 3449 } | 3507 } |
| 3450 #line 3451 "parse.c" | 3508 #line 3509 "parse.c" |
| 3451 break; | 3509 break; |
| 3452 case 312: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt colu
mn */ | 3510 case 312: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt colu
mn */ |
| 3453 #line 1302 "parse.y" | 3511 #line 1343 "parse.y" |
| 3454 { | 3512 { |
| 3455 sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0); | 3513 sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0); |
| 3456 } | 3514 } |
| 3457 #line 3458 "parse.c" | 3515 #line 3516 "parse.c" |
| 3458 break; | 3516 break; |
| 3459 case 313: /* add_column_fullname ::= fullname */ | 3517 case 313: /* add_column_fullname ::= fullname */ |
| 3460 #line 1305 "parse.y" | 3518 #line 1346 "parse.y" |
| 3461 { | 3519 { |
| 3462 pParse->db->lookaside.bEnabled = 0; | 3520 pParse->db->lookaside.bEnabled = 0; |
| 3463 sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy65); | 3521 sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy259); |
| 3464 } | 3522 } |
| 3465 #line 3466 "parse.c" | 3523 #line 3524 "parse.c" |
| 3466 break; | 3524 break; |
| 3467 case 316: /* cmd ::= create_vtab */ | 3525 case 316: /* cmd ::= create_vtab */ |
| 3468 #line 1315 "parse.y" | 3526 #line 1356 "parse.y" |
| 3469 {sqlite3VtabFinishParse(pParse,0);} | 3527 {sqlite3VtabFinishParse(pParse,0);} |
| 3470 #line 3471 "parse.c" | 3528 #line 3529 "parse.c" |
| 3471 break; | 3529 break; |
| 3472 case 317: /* cmd ::= create_vtab LP vtabarglist RP */ | 3530 case 317: /* cmd ::= create_vtab LP vtabarglist RP */ |
| 3473 #line 1316 "parse.y" | 3531 #line 1357 "parse.y" |
| 3474 {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} | 3532 {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} |
| 3475 #line 3476 "parse.c" | 3533 #line 3534 "parse.c" |
| 3476 break; | 3534 break; |
| 3477 case 318: /* create_vtab ::= createkw VIRTUAL TABLE nm dbnm USING nm */ | 3535 case 318: /* create_vtab ::= createkw VIRTUAL TABLE nm dbnm USING nm */ |
| 3478 #line 1317 "parse.y" | 3536 #line 1358 "parse.y" |
| 3479 { | 3537 { |
| 3480 sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &y
ymsp[0].minor.yy0); | 3538 sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &y
ymsp[0].minor.yy0); |
| 3481 } | 3539 } |
| 3482 #line 3483 "parse.c" | 3540 #line 3541 "parse.c" |
| 3483 break; | 3541 break; |
| 3484 case 321: /* vtabarg ::= */ | 3542 case 321: /* vtabarg ::= */ |
| 3485 #line 1322 "parse.y" | 3543 #line 1363 "parse.y" |
| 3486 {sqlite3VtabArgInit(pParse);} | 3544 {sqlite3VtabArgInit(pParse);} |
| 3487 #line 3488 "parse.c" | 3545 #line 3546 "parse.c" |
| 3488 break; | 3546 break; |
| 3489 case 323: /* vtabargtoken ::= ANY */ | 3547 case 323: /* vtabargtoken ::= ANY */ |
| 3490 case 324: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==324); | 3548 case 324: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==324); |
| 3491 case 325: /* lp ::= LP */ yytestcase(yyruleno==325); | 3549 case 325: /* lp ::= LP */ yytestcase(yyruleno==325); |
| 3492 #line 1324 "parse.y" | 3550 #line 1365 "parse.y" |
| 3493 {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} | 3551 {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} |
| 3494 #line 3495 "parse.c" | 3552 #line 3553 "parse.c" |
| 3495 break; | 3553 break; |
| 3496 default: | 3554 default: |
| 3497 /* (0) input ::= cmdlist */ yytestcase(yyruleno==0); | 3555 /* (0) input ::= cmdlist */ yytestcase(yyruleno==0); |
| 3498 /* (1) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==1); | 3556 /* (1) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==1); |
| 3499 /* (2) cmdlist ::= ecmd */ yytestcase(yyruleno==2); | 3557 /* (2) cmdlist ::= ecmd */ yytestcase(yyruleno==2); |
| 3500 /* (3) ecmd ::= SEMI */ yytestcase(yyruleno==3); | 3558 /* (3) ecmd ::= SEMI */ yytestcase(yyruleno==3); |
| 3501 /* (4) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==4); | 3559 /* (4) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==4); |
| 3502 /* (10) trans_opt ::= */ yytestcase(yyruleno==10); | 3560 /* (10) trans_opt ::= */ yytestcase(yyruleno==10); |
| 3503 /* (11) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==11); | 3561 /* (11) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==11); |
| 3504 /* (12) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==12); | 3562 /* (12) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==12); |
| 3505 /* (20) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==20); | 3563 /* (20) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==20); |
| 3506 /* (21) savepoint_opt ::= */ yytestcase(yyruleno==21); | 3564 /* (21) savepoint_opt ::= */ yytestcase(yyruleno==21); |
| 3507 /* (25) cmd ::= create_table create_table_args */ yytestcase(yyruleno==25)
; | 3565 /* (25) cmd ::= create_table create_table_args */ yytestcase(yyruleno==25)
; |
| 3508 /* (34) columnlist ::= columnlist COMMA column */ yytestcase(yyruleno==34)
; | 3566 /* (34) columnlist ::= columnlist COMMA column */ yytestcase(yyruleno==34)
; |
| 3509 /* (35) columnlist ::= column */ yytestcase(yyruleno==35); | 3567 /* (35) columnlist ::= column */ yytestcase(yyruleno==35); |
| 3510 /* (44) type ::= */ yytestcase(yyruleno==44); | 3568 /* (44) type ::= */ yytestcase(yyruleno==44); |
| 3511 /* (51) signed ::= plus_num */ yytestcase(yyruleno==51); | 3569 /* (51) signed ::= plus_num */ yytestcase(yyruleno==51); |
| 3512 /* (52) signed ::= minus_num */ yytestcase(yyruleno==52); | 3570 /* (52) signed ::= minus_num */ yytestcase(yyruleno==52); |
| 3513 /* (53) carglist ::= carglist carg */ yytestcase(yyruleno==53); | 3571 /* (53) carglist ::= carglist carg */ yytestcase(yyruleno==53); |
| 3514 /* (54) carglist ::= */ yytestcase(yyruleno==54); | 3572 /* (54) carglist ::= */ yytestcase(yyruleno==54); |
| 3515 /* (55) carg ::= CONSTRAINT nm ccons */ yytestcase(yyruleno==55); | 3573 /* (55) carg ::= CONSTRAINT nm ccons */ yytestcase(yyruleno==55); |
| 3516 /* (56) carg ::= ccons */ yytestcase(yyruleno==56); | 3574 /* (56) carg ::= ccons */ yytestcase(yyruleno==56); |
| 3517 /* (62) ccons ::= NULL onconf */ yytestcase(yyruleno==62); | 3575 /* (62) ccons ::= NULL onconf */ yytestcase(yyruleno==62); |
| 3518 /* (89) conslist ::= conslist COMMA tcons */ yytestcase(yyruleno==89); | 3576 /* (90) conslist ::= conslist COMMA tcons */ yytestcase(yyruleno==90); |
| 3519 /* (90) conslist ::= conslist tcons */ yytestcase(yyruleno==90); | 3577 /* (91) conslist ::= conslist tcons */ yytestcase(yyruleno==91); |
| 3520 /* (91) conslist ::= tcons */ yytestcase(yyruleno==91); | 3578 /* (92) conslist ::= tcons */ yytestcase(yyruleno==92); |
| 3521 /* (92) tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==92); | 3579 /* (93) tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==93); |
| 3522 /* (268) plus_opt ::= PLUS */ yytestcase(yyruleno==268); | 3580 /* (268) plus_opt ::= PLUS */ yytestcase(yyruleno==268); |
| 3523 /* (269) plus_opt ::= */ yytestcase(yyruleno==269); | 3581 /* (269) plus_opt ::= */ yytestcase(yyruleno==269); |
| 3524 /* (279) foreach_clause ::= */ yytestcase(yyruleno==279); | 3582 /* (279) foreach_clause ::= */ yytestcase(yyruleno==279); |
| 3525 /* (280) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==280); | 3583 /* (280) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==280); |
| 3526 /* (287) tridxby ::= */ yytestcase(yyruleno==287); | 3584 /* (287) tridxby ::= */ yytestcase(yyruleno==287); |
| 3527 /* (305) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==305); | 3585 /* (305) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==305); |
| 3528 /* (306) database_kw_opt ::= */ yytestcase(yyruleno==306); | 3586 /* (306) database_kw_opt ::= */ yytestcase(yyruleno==306); |
| 3529 /* (314) kwcolumn_opt ::= */ yytestcase(yyruleno==314); | 3587 /* (314) kwcolumn_opt ::= */ yytestcase(yyruleno==314); |
| 3530 /* (315) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==315); | 3588 /* (315) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==315); |
| 3531 /* (319) vtabarglist ::= vtabarg */ yytestcase(yyruleno==319); | 3589 /* (319) vtabarglist ::= vtabarg */ yytestcase(yyruleno==319); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3586 /* | 3644 /* |
| 3587 ** The following code executes when a syntax error first occurs. | 3645 ** The following code executes when a syntax error first occurs. |
| 3588 */ | 3646 */ |
| 3589 static void yy_syntax_error( | 3647 static void yy_syntax_error( |
| 3590 yyParser *yypParser, /* The parser */ | 3648 yyParser *yypParser, /* The parser */ |
| 3591 int yymajor, /* The major type of the error token */ | 3649 int yymajor, /* The major type of the error token */ |
| 3592 YYMINORTYPE yyminor /* The minor type of the error token */ | 3650 YYMINORTYPE yyminor /* The minor type of the error token */ |
| 3593 ){ | 3651 ){ |
| 3594 sqlite3ParserARG_FETCH; | 3652 sqlite3ParserARG_FETCH; |
| 3595 #define TOKEN (yyminor.yy0) | 3653 #define TOKEN (yyminor.yy0) |
| 3596 #line 34 "parse.y" | 3654 #line 32 "parse.y" |
| 3597 | 3655 |
| 3598 UNUSED_PARAMETER(yymajor); /* Silence some compiler warnings */ | 3656 UNUSED_PARAMETER(yymajor); /* Silence some compiler warnings */ |
| 3599 assert( TOKEN.z[0] ); /* The tokenizer always gives us a token */ | 3657 assert( TOKEN.z[0] ); /* The tokenizer always gives us a token */ |
| 3600 sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN); | 3658 sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN); |
| 3601 pParse->parseError = 1; | 3659 pParse->parseError = 1; |
| 3602 #line 3603 "parse.c" | 3660 #line 3661 "parse.c" |
| 3603 sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument varia
ble */ | 3661 sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument varia
ble */ |
| 3604 } | 3662 } |
| 3605 | 3663 |
| 3606 /* | 3664 /* |
| 3607 ** The following is executed when the parser accepts | 3665 ** The following is executed when the parser accepts |
| 3608 */ | 3666 */ |
| 3609 static void yy_accept( | 3667 static void yy_accept( |
| 3610 yyParser *yypParser /* The parser */ | 3668 yyParser *yypParser /* The parser */ |
| 3611 ){ | 3669 ){ |
| 3612 sqlite3ParserARG_FETCH; | 3670 sqlite3ParserARG_FETCH; |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3783 yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); | 3841 yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); |
| 3784 if( yyendofinput ){ | 3842 if( yyendofinput ){ |
| 3785 yy_parse_failed(yypParser); | 3843 yy_parse_failed(yypParser); |
| 3786 } | 3844 } |
| 3787 yymajor = YYNOCODE; | 3845 yymajor = YYNOCODE; |
| 3788 #endif | 3846 #endif |
| 3789 } | 3847 } |
| 3790 }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 ); | 3848 }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 ); |
| 3791 return; | 3849 return; |
| 3792 } | 3850 } |
| OLD | NEW |