Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(182)

Unified Diff: third_party/sqlite/preprocessed/parse.c

Issue 387030: Revert the patch that makes SQLite interpret BEGIN as BEGIN IMMEDIATE,... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Final version. Had to sync README.chromium. Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/sqlite/misc.patch ('k') | third_party/sqlite/src/parse.y » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/sqlite/preprocessed/parse.c
===================================================================
--- third_party/sqlite/preprocessed/parse.c (revision 31762)
+++ third_party/sqlite/preprocessed/parse.c (working copy)
@@ -59,7 +59,7 @@
*/
struct AttachKey { int type; Token key; };
-#line 728 "parse.y"
+#line 723 "parse.y"
/* This is a utility routine used to set the ExprSpan.zStart and
** ExprSpan.zEnd values of pOut so that the span covers the complete
@@ -79,7 +79,7 @@
pOut->zStart = pValue->z;
pOut->zEnd = &pValue->z[pValue->n];
}
-#line 823 "parse.y"
+#line 818 "parse.y"
/* This routine constructs a binary expression node out of two ExprSpan
** objects and uses the result to populate a new ExprSpan object.
@@ -95,7 +95,7 @@
pOut->zStart = pLeft->zStart;
pOut->zEnd = pRight->zEnd;
}
-#line 875 "parse.y"
+#line 870 "parse.y"
/* Construct an expression node for a unary postfix operator
*/
@@ -110,7 +110,7 @@
pOut->zStart = pOperand->zStart;
pOut->zEnd = &pPostOp->z[pPostOp->n];
}
-#line 897 "parse.y"
+#line 892 "parse.y"
/* Construct an expression node for a unary prefix operator
*/
@@ -1367,7 +1367,7 @@
case 160: /* select */
case 194: /* oneselect */
{
-#line 409 "parse.y"
+#line 404 "parse.y"
sqlite3SelectDelete(pParse->db, (yypminor->yy3));
#line 1373 "parse.c"
}
@@ -1376,7 +1376,7 @@
case 175: /* expr */
case 223: /* escape */
{
-#line 726 "parse.y"
+#line 721 "parse.y"
sqlite3ExprDelete(pParse->db, (yypminor->yy346).pExpr);
#line 1382 "parse.c"
}
@@ -1394,7 +1394,7 @@
case 221: /* exprlist */
case 227: /* case_exprlist */
{
-#line 1067 "parse.y"
+#line 1062 "parse.y"
sqlite3ExprListDelete(pParse->db, (yypminor->yy14));
#line 1400 "parse.c"
}
@@ -1404,7 +1404,7 @@
case 206: /* seltablist */
case 207: /* stl_prefix */
{
-#line 540 "parse.y"
+#line 535 "parse.y"
sqlite3SrcListDelete(pParse->db, (yypminor->yy65));
#line 1410 "parse.c"
}
@@ -1418,7 +1418,7 @@
case 239: /* when_clause */
case 244: /* key_opt */
{
-#line 650 "parse.y"
+#line 645 "parse.y"
sqlite3ExprDelete(pParse->db, (yypminor->yy132));
#line 1424 "parse.c"
}
@@ -1427,7 +1427,7 @@
case 213: /* inscollist */
case 219: /* inscollist_opt */
{
-#line 572 "parse.y"
+#line 567 "parse.y"
sqlite3IdListDelete(pParse->db, (yypminor->yy408));
#line 1433 "parse.c"
}
@@ -1435,14 +1435,14 @@
case 235: /* trigger_cmd_list */
case 240: /* trigger_cmd */
{
-#line 1174 "parse.y"
+#line 1169 "parse.y"
sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy473));
#line 1441 "parse.c"
}
break;
case 237: /* trigger_event */
{
-#line 1160 "parse.y"
+#line 1155 "parse.y"
sqlite3IdListDelete(pParse->db, (yypminor->yy378).b);
#line 1448 "parse.c"
}
@@ -2094,8 +2094,8 @@
#line 2095 "parse.c"
break;
case 13: /* transtype ::= */
-#line 125 "parse.y"
-{yygotominor.yy328 = TK_IMMEDIATE;}
+#line 124 "parse.y"
+{yygotominor.yy328 = TK_DEFERRED;}
#line 2100 "parse.c"
break;
case 14: /* transtype ::= DEFERRED */
@@ -2103,51 +2103,51 @@
case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16);
case 114: /* multiselect_op ::= UNION */ yytestcase(yyruleno==114);
case 116: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==116);
-#line 130 "parse.y"
+#line 125 "parse.y"
{yygotominor.yy328 = yymsp[0].major;}
#line 2109 "parse.c"
break;
case 17: /* cmd ::= COMMIT trans_opt */
case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18);
-#line 133 "parse.y"
+#line 128 "parse.y"
{sqlite3CommitTransaction(pParse);}
#line 2115 "parse.c"
break;
case 19: /* cmd ::= ROLLBACK trans_opt */
-#line 135 "parse.y"
+#line 130 "parse.y"
{sqlite3RollbackTransaction(pParse);}
#line 2120 "parse.c"
break;
case 22: /* cmd ::= SAVEPOINT nm */
-#line 139 "parse.y"
+#line 134 "parse.y"
{
sqlite3Savepoint(pParse, SAVEPOINT_BEGIN, &yymsp[0].minor.yy0);
}
#line 2127 "parse.c"
break;
case 23: /* cmd ::= RELEASE savepoint_opt nm */
-#line 142 "parse.y"
+#line 137 "parse.y"
{
sqlite3Savepoint(pParse, SAVEPOINT_RELEASE, &yymsp[0].minor.yy0);
}
#line 2134 "parse.c"
break;
case 24: /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */
-#line 145 "parse.y"
+#line 140 "parse.y"
{
sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0);
}
#line 2141 "parse.c"
break;
case 26: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */
-#line 152 "parse.y"
+#line 147 "parse.y"
{
sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy328,0,0,yymsp[-2].minor.yy328);
}
#line 2148 "parse.c"
break;
case 27: /* createkw ::= CREATE */
-#line 155 "parse.y"
+#line 150 "parse.y"
{
pParse->db->lookaside.bEnabled = 0;
yygotominor.yy0 = yymsp[0].minor.yy0;
@@ -2165,7 +2165,7 @@
case 120: /* distinct ::= */ yytestcase(yyruleno==120);
case 222: /* between_op ::= BETWEEN */ yytestcase(yyruleno==222);
case 225: /* in_op ::= IN */ yytestcase(yyruleno==225);
-#line 160 "parse.y"
+#line 155 "parse.y"
{yygotominor.yy328 = 0;}
#line 2171 "parse.c"
break;
@@ -2177,19 +2177,19 @@
case 118: /* distinct ::= DISTINCT */ yytestcase(yyruleno==118);
case 223: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==223);
case 226: /* in_op ::= NOT IN */ yytestcase(yyruleno==226);
-#line 161 "parse.y"
+#line 156 "parse.y"
{yygotominor.yy328 = 1;}
#line 2183 "parse.c"
break;
case 32: /* create_table_args ::= LP columnlist conslist_opt RP */
-#line 167 "parse.y"
+#line 162 "parse.y"
{
sqlite3EndTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0);
}
#line 2190 "parse.c"
break;
case 33: /* create_table_args ::= AS select */
-#line 170 "parse.y"
+#line 165 "parse.y"
{
sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy3);
sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy3);
@@ -2197,7 +2197,7 @@
#line 2198 "parse.c"
break;
case 36: /* column ::= columnid type carglist */
-#line 182 "parse.y"
+#line 177 "parse.y"
{
yygotominor.yy0.z = yymsp[-2].minor.yy0.z;
yygotominor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-2].minor.yy0.z) + pParse->sLastToken.n;
@@ -2205,7 +2205,7 @@
#line 2206 "parse.c"
break;
case 37: /* columnid ::= nm */
-#line 186 "parse.y"
+#line 181 "parse.y"
{
sqlite3AddColumn(pParse,&yymsp[0].minor.yy0);
yygotominor.yy0 = yymsp[0].minor.yy0;
@@ -2234,17 +2234,17 @@
case 266: /* minus_num ::= MINUS number */ yytestcase(yyruleno==266);
case 267: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==267);
case 285: /* trnm ::= nm */ yytestcase(yyruleno==285);
-#line 196 "parse.y"
+#line 191 "parse.y"
{yygotominor.yy0 = yymsp[0].minor.yy0;}
#line 2240 "parse.c"
break;
case 45: /* type ::= typetoken */
-#line 258 "parse.y"
+#line 253 "parse.y"
{sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);}
#line 2245 "parse.c"
break;
case 47: /* typetoken ::= typename LP signed RP */
-#line 260 "parse.y"
+#line 255 "parse.y"
{
yygotominor.yy0.z = yymsp[-3].minor.yy0.z;
yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy0.z);
@@ -2252,7 +2252,7 @@
#line 2253 "parse.c"
break;
case 48: /* typetoken ::= typename LP signed COMMA signed RP */
-#line 264 "parse.y"
+#line 259 "parse.y"
{
yygotominor.yy0.z = yymsp[-5].minor.yy0.z;
yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy0.z);
@@ -2260,23 +2260,23 @@
#line 2261 "parse.c"
break;
case 50: /* typename ::= typename ids */
-#line 270 "parse.y"
+#line 265 "parse.y"
{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);}
#line 2266 "parse.c"
break;
case 57: /* ccons ::= DEFAULT term */
case 59: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==59);
-#line 281 "parse.y"
+#line 276 "parse.y"
{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy346);}
#line 2272 "parse.c"
break;
case 58: /* ccons ::= DEFAULT LP expr RP */
-#line 282 "parse.y"
+#line 277 "parse.y"
{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy346);}
#line 2277 "parse.c"
break;
case 60: /* ccons ::= DEFAULT MINUS term */
-#line 284 "parse.y"
+#line 279 "parse.y"
{
ExprSpan v;
v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy346.pExpr, 0, 0);
@@ -2287,7 +2287,7 @@
#line 2288 "parse.c"
break;
case 61: /* ccons ::= DEFAULT id */
-#line 291 "parse.y"
+#line 286 "parse.y"
{
ExprSpan v;
spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0);
@@ -2296,87 +2296,87 @@
#line 2297 "parse.c"
break;
case 63: /* ccons ::= NOT NULL onconf */
-#line 301 "parse.y"
+#line 296 "parse.y"
{sqlite3AddNotNull(pParse, yymsp[0].minor.yy328);}
#line 2302 "parse.c"
break;
case 64: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */
-#line 303 "parse.y"
+#line 298 "parse.y"
{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy328,yymsp[0].minor.yy328,yymsp[-2].minor.yy328);}
#line 2307 "parse.c"
break;
case 65: /* ccons ::= UNIQUE onconf */
-#line 304 "parse.y"
+#line 299 "parse.y"
{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy328,0,0,0,0);}
#line 2312 "parse.c"
break;
case 66: /* ccons ::= CHECK LP expr RP */
-#line 305 "parse.y"
+#line 300 "parse.y"
{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy346.pExpr);}
#line 2317 "parse.c"
break;
case 67: /* ccons ::= REFERENCES nm idxlist_opt refargs */
-#line 307 "parse.y"
+#line 302 "parse.y"
{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy14,yymsp[0].minor.yy328);}
#line 2322 "parse.c"
break;
case 68: /* ccons ::= defer_subclause */
-#line 308 "parse.y"
+#line 303 "parse.y"
{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy328);}
#line 2327 "parse.c"
break;
case 69: /* ccons ::= COLLATE ids */
-#line 309 "parse.y"
+#line 304 "parse.y"
{sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);}
#line 2332 "parse.c"
break;
case 72: /* refargs ::= */
-#line 322 "parse.y"
+#line 317 "parse.y"
{ yygotominor.yy328 = OE_Restrict * 0x010101; }
#line 2337 "parse.c"
break;
case 73: /* refargs ::= refargs refarg */
-#line 323 "parse.y"
+#line 318 "parse.y"
{ yygotominor.yy328 = (yymsp[-1].minor.yy328 & ~yymsp[0].minor.yy429.mask) | yymsp[0].minor.yy429.value; }
#line 2342 "parse.c"
break;
case 74: /* refarg ::= MATCH nm */
-#line 325 "parse.y"
+#line 320 "parse.y"
{ yygotominor.yy429.value = 0; yygotominor.yy429.mask = 0x000000; }
#line 2347 "parse.c"
break;
case 75: /* refarg ::= ON DELETE refact */
-#line 326 "parse.y"
+#line 321 "parse.y"
{ yygotominor.yy429.value = yymsp[0].minor.yy328; yygotominor.yy429.mask = 0x0000ff; }
#line 2352 "parse.c"
break;
case 76: /* refarg ::= ON UPDATE refact */
-#line 327 "parse.y"
+#line 322 "parse.y"
{ yygotominor.yy429.value = yymsp[0].minor.yy328<<8; yygotominor.yy429.mask = 0x00ff00; }
#line 2357 "parse.c"
break;
case 77: /* refarg ::= ON INSERT refact */
-#line 328 "parse.y"
+#line 323 "parse.y"
{ yygotominor.yy429.value = yymsp[0].minor.yy328<<16; yygotominor.yy429.mask = 0xff0000; }
#line 2362 "parse.c"
break;
case 78: /* refact ::= SET NULL */
-#line 330 "parse.y"
+#line 325 "parse.y"
{ yygotominor.yy328 = OE_SetNull; }
#line 2367 "parse.c"
break;
case 79: /* refact ::= SET DEFAULT */
-#line 331 "parse.y"
+#line 326 "parse.y"
{ yygotominor.yy328 = OE_SetDflt; }
#line 2372 "parse.c"
break;
case 80: /* refact ::= CASCADE */
-#line 332 "parse.y"
+#line 327 "parse.y"
{ yygotominor.yy328 = OE_Cascade; }
#line 2377 "parse.c"
break;
case 81: /* refact ::= RESTRICT */
-#line 333 "parse.y"
+#line 328 "parse.y"
{ yygotominor.yy328 = OE_Restrict; }
#line 2382 "parse.c"
break;
@@ -2385,37 +2385,37 @@
case 98: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==98);
case 100: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==100);
case 103: /* resolvetype ::= raisetype */ yytestcase(yyruleno==103);
-#line 335 "parse.y"
+#line 330 "parse.y"
{yygotominor.yy328 = yymsp[0].minor.yy328;}
#line 2391 "parse.c"
break;
case 87: /* conslist_opt ::= */
-#line 345 "parse.y"
+#line 340 "parse.y"
{yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;}
#line 2396 "parse.c"
break;
case 88: /* conslist_opt ::= COMMA conslist */
-#line 346 "parse.y"
+#line 341 "parse.y"
{yygotominor.yy0 = yymsp[-1].minor.yy0;}
#line 2401 "parse.c"
break;
case 93: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */
-#line 352 "parse.y"
+#line 347 "parse.y"
{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy14,yymsp[0].minor.yy328,yymsp[-2].minor.yy328,0);}
#line 2406 "parse.c"
break;
case 94: /* tcons ::= UNIQUE LP idxlist RP onconf */
-#line 354 "parse.y"
+#line 349 "parse.y"
{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy14,yymsp[0].minor.yy328,0,0,0,0);}
#line 2411 "parse.c"
break;
case 95: /* tcons ::= CHECK LP expr RP onconf */
-#line 356 "parse.y"
+#line 351 "parse.y"
{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy346.pExpr);}
#line 2416 "parse.c"
break;
case 96: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt */
-#line 358 "parse.y"
+#line 353 "parse.y"
{
sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy14, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy14, yymsp[-1].minor.yy328);
sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy328);
@@ -2423,53 +2423,53 @@
#line 2424 "parse.c"
break;
case 99: /* onconf ::= */
-#line 372 "parse.y"
+#line 367 "parse.y"
{yygotominor.yy328 = OE_Default;}
#line 2429 "parse.c"
break;
case 101: /* orconf ::= */
-#line 374 "parse.y"
+#line 369 "parse.y"
{yygotominor.yy186 = OE_Default;}
#line 2434 "parse.c"
break;
case 102: /* orconf ::= OR resolvetype */
-#line 375 "parse.y"
+#line 370 "parse.y"
{yygotominor.yy186 = (u8)yymsp[0].minor.yy328;}
#line 2439 "parse.c"
break;
case 104: /* resolvetype ::= IGNORE */
-#line 377 "parse.y"
+#line 372 "parse.y"
{yygotominor.yy328 = OE_Ignore;}
#line 2444 "parse.c"
break;
case 105: /* resolvetype ::= REPLACE */
-#line 378 "parse.y"
+#line 373 "parse.y"
{yygotominor.yy328 = OE_Replace;}
#line 2449 "parse.c"
break;
case 106: /* cmd ::= DROP TABLE ifexists fullname */
-#line 382 "parse.y"
+#line 377 "parse.y"
{
sqlite3DropTable(pParse, yymsp[0].minor.yy65, 0, yymsp[-1].minor.yy328);
}
#line 2456 "parse.c"
break;
case 109: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */
-#line 392 "parse.y"
+#line 387 "parse.y"
{
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);
}
#line 2463 "parse.c"
break;
case 110: /* cmd ::= DROP VIEW ifexists fullname */
-#line 395 "parse.y"
+#line 390 "parse.y"
{
sqlite3DropTable(pParse, yymsp[0].minor.yy65, 1, yymsp[-1].minor.yy328);
}
#line 2470 "parse.c"
break;
case 111: /* cmd ::= select */
-#line 402 "parse.y"
+#line 397 "parse.y"
{
SelectDest dest = {SRT_Output, 0, 0, 0, 0};
sqlite3Select(pParse, yymsp[0].minor.yy3, &dest);
@@ -2478,12 +2478,12 @@
#line 2479 "parse.c"
break;
case 112: /* select ::= oneselect */
-#line 413 "parse.y"
+#line 408 "parse.y"
{yygotominor.yy3 = yymsp[0].minor.yy3;}
#line 2484 "parse.c"
break;
case 113: /* select ::= select multiselect_op oneselect */
-#line 415 "parse.y"
+#line 410 "parse.y"
{
if( yymsp[0].minor.yy3 ){
yymsp[0].minor.yy3->op = (u8)yymsp[-1].minor.yy328;
@@ -2496,12 +2496,12 @@
#line 2497 "parse.c"
break;
case 115: /* multiselect_op ::= UNION ALL */
-#line 426 "parse.y"
+#line 421 "parse.y"
{yygotominor.yy328 = TK_ALL;}
#line 2502 "parse.c"
break;
case 117: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */
-#line 430 "parse.y"
+#line 425 "parse.y"
{
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.yy476.pOffset);
}
@@ -2509,7 +2509,7 @@
break;
case 121: /* sclp ::= selcollist COMMA */
case 247: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==247);
-#line 451 "parse.y"
+#line 446 "parse.y"
{yygotominor.yy14 = yymsp[-1].minor.yy14;}
#line 2515 "parse.c"
break;
@@ -2518,12 +2518,12 @@
case 158: /* groupby_opt ::= */ yytestcase(yyruleno==158);
case 240: /* exprlist ::= */ yytestcase(yyruleno==240);
case 246: /* idxlist_opt ::= */ yytestcase(yyruleno==246);
-#line 452 "parse.y"
+#line 447 "parse.y"
{yygotominor.yy14 = 0;}
#line 2524 "parse.c"
break;
case 123: /* selcollist ::= sclp expr as */
-#line 453 "parse.y"
+#line 448 "parse.y"
{
yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy14, yymsp[-1].minor.yy346.pExpr);
if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[0].minor.yy0, 1);
@@ -2532,7 +2532,7 @@
#line 2533 "parse.c"
break;
case 124: /* selcollist ::= sclp STAR */
-#line 458 "parse.y"
+#line 453 "parse.y"
{
Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0);
yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy14, p);
@@ -2540,7 +2540,7 @@
#line 2541 "parse.c"
break;
case 125: /* selcollist ::= sclp nm DOT STAR */
-#line 462 "parse.y"
+#line 457 "parse.y"
{
Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0);
Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
@@ -2550,17 +2550,17 @@
#line 2551 "parse.c"
break;
case 128: /* as ::= */
-#line 475 "parse.y"
+#line 470 "parse.y"
{yygotominor.yy0.n = 0;}
#line 2556 "parse.c"
break;
case 129: /* from ::= */
-#line 487 "parse.y"
+#line 482 "parse.y"
{yygotominor.yy65 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy65));}
#line 2561 "parse.c"
break;
case 130: /* from ::= FROM seltablist */
-#line 488 "parse.y"
+#line 483 "parse.y"
{
yygotominor.yy65 = yymsp[0].minor.yy65;
sqlite3SrcListShiftJoinType(yygotominor.yy65);
@@ -2568,7 +2568,7 @@
#line 2569 "parse.c"
break;
case 131: /* stl_prefix ::= seltablist joinop */
-#line 496 "parse.y"
+#line 491 "parse.y"
{
yygotominor.yy65 = yymsp[-1].minor.yy65;
if( ALWAYS(yygotominor.yy65 && yygotominor.yy65->nSrc>0) ) yygotominor.yy65->a[yygotominor.yy65->nSrc-1].jointype = (u8)yymsp[0].minor.yy328;
@@ -2576,12 +2576,12 @@
#line 2577 "parse.c"
break;
case 132: /* stl_prefix ::= */
-#line 500 "parse.y"
+#line 495 "parse.y"
{yygotominor.yy65 = 0;}
#line 2582 "parse.c"
break;
case 133: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */
-#line 501 "parse.y"
+#line 496 "parse.y"
{
yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy65,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy132,yymsp[0].minor.yy408);
sqlite3SrcListIndexedBy(pParse, yygotominor.yy65, &yymsp[-2].minor.yy0);
@@ -2589,14 +2589,14 @@
#line 2590 "parse.c"
break;
case 134: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */
-#line 507 "parse.y"
+#line 502 "parse.y"
{
yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy65,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy3,yymsp[-1].minor.yy132,yymsp[0].minor.yy408);
}
#line 2597 "parse.c"
break;
case 135: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */
-#line 511 "parse.y"
+#line 506 "parse.y"
{
if( yymsp[-6].minor.yy65==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy132==0 && yymsp[0].minor.yy408==0 ){
yygotominor.yy65 = yymsp[-4].minor.yy65;
@@ -2611,32 +2611,32 @@
break;
case 136: /* dbnm ::= */
case 145: /* indexed_opt ::= */ yytestcase(yyruleno==145);
-#line 536 "parse.y"
+#line 531 "parse.y"
{yygotominor.yy0.z=0; yygotominor.yy0.n=0;}
#line 2617 "parse.c"
break;
case 138: /* fullname ::= nm dbnm */
-#line 541 "parse.y"
+#line 536 "parse.y"
{yygotominor.yy65 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);}
#line 2622 "parse.c"
break;
case 139: /* joinop ::= COMMA|JOIN */
-#line 545 "parse.y"
+#line 540 "parse.y"
{ yygotominor.yy328 = JT_INNER; }
#line 2627 "parse.c"
break;
case 140: /* joinop ::= JOIN_KW JOIN */
-#line 546 "parse.y"
+#line 541 "parse.y"
{ yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); }
#line 2632 "parse.c"
break;
case 141: /* joinop ::= JOIN_KW nm JOIN */
-#line 547 "parse.y"
+#line 542 "parse.y"
{ yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); }
#line 2637 "parse.c"
break;
case 142: /* joinop ::= JOIN_KW nm nm JOIN */
-#line 549 "parse.y"
+#line 544 "parse.y"
{ yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); }
#line 2642 "parse.c"
break;
@@ -2646,7 +2646,7 @@
case 168: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==168);
case 235: /* case_else ::= ELSE expr */ yytestcase(yyruleno==235);
case 237: /* case_operand ::= expr */ yytestcase(yyruleno==237);
-#line 553 "parse.y"
+#line 548 "parse.y"
{yygotominor.yy132 = yymsp[0].minor.yy346.pExpr;}
#line 2652 "parse.c"
break;
@@ -2655,36 +2655,36 @@
case 167: /* where_opt ::= */ yytestcase(yyruleno==167);
case 236: /* case_else ::= */ yytestcase(yyruleno==236);
case 238: /* case_operand ::= */ yytestcase(yyruleno==238);
-#line 554 "parse.y"
+#line 549 "parse.y"
{yygotominor.yy132 = 0;}
#line 2661 "parse.c"
break;
case 147: /* indexed_opt ::= NOT INDEXED */
-#line 569 "parse.y"
+#line 564 "parse.y"
{yygotominor.yy0.z=0; yygotominor.yy0.n=1;}
#line 2666 "parse.c"
break;
case 148: /* using_opt ::= USING LP inscollist RP */
case 180: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==180);
-#line 573 "parse.y"
+#line 568 "parse.y"
{yygotominor.yy408 = yymsp[-1].minor.yy408;}
#line 2672 "parse.c"
break;
case 149: /* using_opt ::= */
case 179: /* inscollist_opt ::= */ yytestcase(yyruleno==179);
-#line 574 "parse.y"
+#line 569 "parse.y"
{yygotominor.yy408 = 0;}
#line 2678 "parse.c"
break;
case 151: /* orderby_opt ::= ORDER BY sortlist */
case 159: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==159);
case 239: /* exprlist ::= nexprlist */ yytestcase(yyruleno==239);
-#line 585 "parse.y"
+#line 580 "parse.y"
{yygotominor.yy14 = yymsp[0].minor.yy14;}
#line 2685 "parse.c"
break;
case 152: /* sortlist ::= sortlist COMMA sortitem sortorder */
-#line 586 "parse.y"
+#line 581 "parse.y"
{
yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy14,yymsp[-1].minor.yy132);
if( yygotominor.yy14 ) yygotominor.yy14->a[yygotominor.yy14->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy328;
@@ -2692,7 +2692,7 @@
#line 2693 "parse.c"
break;
case 153: /* sortlist ::= sortitem sortorder */
-#line 590 "parse.y"
+#line 585 "parse.y"
{
yygotominor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy132);
if( yygotominor.yy14 && ALWAYS(yygotominor.yy14->a) ) yygotominor.yy14->a[0].sortOrder = (u8)yymsp[0].minor.yy328;
@@ -2701,37 +2701,37 @@
break;
case 155: /* sortorder ::= ASC */
case 157: /* sortorder ::= */ yytestcase(yyruleno==157);
-#line 598 "parse.y"
+#line 593 "parse.y"
{yygotominor.yy328 = SQLITE_SO_ASC;}
#line 2707 "parse.c"
break;
case 156: /* sortorder ::= DESC */
-#line 599 "parse.y"
+#line 594 "parse.y"
{yygotominor.yy328 = SQLITE_SO_DESC;}
#line 2712 "parse.c"
break;
case 162: /* limit_opt ::= */
-#line 625 "parse.y"
+#line 620 "parse.y"
{yygotominor.yy476.pLimit = 0; yygotominor.yy476.pOffset = 0;}
#line 2717 "parse.c"
break;
case 163: /* limit_opt ::= LIMIT expr */
-#line 626 "parse.y"
+#line 621 "parse.y"
{yygotominor.yy476.pLimit = yymsp[0].minor.yy346.pExpr; yygotominor.yy476.pOffset = 0;}
#line 2722 "parse.c"
break;
case 164: /* limit_opt ::= LIMIT expr OFFSET expr */
-#line 628 "parse.y"
+#line 623 "parse.y"
{yygotominor.yy476.pLimit = yymsp[-2].minor.yy346.pExpr; yygotominor.yy476.pOffset = yymsp[0].minor.yy346.pExpr;}
#line 2727 "parse.c"
break;
case 165: /* limit_opt ::= LIMIT expr COMMA expr */
-#line 630 "parse.y"
+#line 625 "parse.y"
{yygotominor.yy476.pOffset = yymsp[-2].minor.yy346.pExpr; yygotominor.yy476.pLimit = yymsp[0].minor.yy346.pExpr;}
#line 2732 "parse.c"
break;
case 166: /* cmd ::= DELETE FROM fullname indexed_opt where_opt */
-#line 643 "parse.y"
+#line 638 "parse.y"
{
sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy65, &yymsp[-1].minor.yy0);
sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy65,yymsp[0].minor.yy132);
@@ -2739,7 +2739,7 @@
#line 2740 "parse.c"
break;
case 169: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt */
-#line 666 "parse.y"
+#line 661 "parse.y"
{
sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy65, &yymsp[-3].minor.yy0);
sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy14,"set list");
@@ -2748,7 +2748,7 @@
#line 2749 "parse.c"
break;
case 170: /* setlist ::= setlist COMMA nm EQ expr */
-#line 676 "parse.y"
+#line 671 "parse.y"
{
yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy14, yymsp[0].minor.yy346.pExpr);
sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[-2].minor.yy0, 1);
@@ -2756,7 +2756,7 @@
#line 2757 "parse.c"
break;
case 171: /* setlist ::= nm EQ expr */
-#line 680 "parse.y"
+#line 675 "parse.y"
{
yygotominor.yy14 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy346.pExpr);
sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[-2].minor.yy0, 1);
@@ -2764,78 +2764,78 @@
#line 2765 "parse.c"
break;
case 172: /* cmd ::= insert_cmd INTO fullname inscollist_opt VALUES LP itemlist RP */
-#line 689 "parse.y"
+#line 684 "parse.y"
{sqlite3Insert(pParse, yymsp[-5].minor.yy65, yymsp[-1].minor.yy14, 0, yymsp[-4].minor.yy408, yymsp[-7].minor.yy186);}
#line 2770 "parse.c"
break;
case 173: /* cmd ::= insert_cmd INTO fullname inscollist_opt select */
-#line 691 "parse.y"
+#line 686 "parse.y"
{sqlite3Insert(pParse, yymsp[-2].minor.yy65, 0, yymsp[0].minor.yy3, yymsp[-1].minor.yy408, yymsp[-4].minor.yy186);}
#line 2775 "parse.c"
break;
case 174: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES */
-#line 693 "parse.y"
+#line 688 "parse.y"
{sqlite3Insert(pParse, yymsp[-3].minor.yy65, 0, 0, yymsp[-2].minor.yy408, yymsp[-5].minor.yy186);}
#line 2780 "parse.c"
break;
case 175: /* insert_cmd ::= INSERT orconf */
-#line 696 "parse.y"
+#line 691 "parse.y"
{yygotominor.yy186 = yymsp[0].minor.yy186;}
#line 2785 "parse.c"
break;
case 176: /* insert_cmd ::= REPLACE */
-#line 697 "parse.y"
+#line 692 "parse.y"
{yygotominor.yy186 = OE_Replace;}
#line 2790 "parse.c"
break;
case 177: /* itemlist ::= itemlist COMMA expr */
case 241: /* nexprlist ::= nexprlist COMMA expr */ yytestcase(yyruleno==241);
-#line 704 "parse.y"
+#line 699 "parse.y"
{yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy14,yymsp[0].minor.yy346.pExpr);}
#line 2796 "parse.c"
break;
case 178: /* itemlist ::= expr */
case 242: /* nexprlist ::= expr */ yytestcase(yyruleno==242);
-#line 706 "parse.y"
+#line 701 "parse.y"
{yygotominor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy346.pExpr);}
#line 2802 "parse.c"
break;
case 181: /* inscollist ::= inscollist COMMA nm */
-#line 716 "parse.y"
+#line 711 "parse.y"
{yygotominor.yy408 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy408,&yymsp[0].minor.yy0);}
#line 2807 "parse.c"
break;
case 182: /* inscollist ::= nm */
-#line 718 "parse.y"
+#line 713 "parse.y"
{yygotominor.yy408 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);}
#line 2812 "parse.c"
break;
case 183: /* expr ::= term */
case 211: /* escape ::= ESCAPE expr */ yytestcase(yyruleno==211);
-#line 749 "parse.y"
+#line 744 "parse.y"
{yygotominor.yy346 = yymsp[0].minor.yy346;}
#line 2818 "parse.c"
break;
case 184: /* expr ::= LP expr RP */
-#line 750 "parse.y"
+#line 745 "parse.y"
{yygotominor.yy346.pExpr = yymsp[-1].minor.yy346.pExpr; spanSet(&yygotominor.yy346,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);}
#line 2823 "parse.c"
break;
case 185: /* term ::= NULL */
case 190: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==190);
case 191: /* term ::= STRING */ yytestcase(yyruleno==191);
-#line 751 "parse.y"
+#line 746 "parse.y"
{spanExpr(&yygotominor.yy346, pParse, yymsp[0].major, &yymsp[0].minor.yy0);}
#line 2830 "parse.c"
break;
case 186: /* expr ::= id */
case 187: /* expr ::= JOIN_KW */ yytestcase(yyruleno==187);
-#line 752 "parse.y"
+#line 747 "parse.y"
{spanExpr(&yygotominor.yy346, pParse, TK_ID, &yymsp[0].minor.yy0);}
#line 2836 "parse.c"
break;
case 188: /* expr ::= nm DOT nm */
-#line 754 "parse.y"
+#line 749 "parse.y"
{
Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);
@@ -2845,7 +2845,7 @@
#line 2846 "parse.c"
break;
case 189: /* expr ::= nm DOT nm DOT nm */
-#line 760 "parse.y"
+#line 755 "parse.y"
{
Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0);
Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
@@ -2857,7 +2857,7 @@
#line 2858 "parse.c"
break;
case 192: /* expr ::= REGISTER */
-#line 770 "parse.y"
+#line 765 "parse.y"
{
/* When doing a nested parse, one can include terms in an expression
** that look like this: #1 #2 ... These terms refer to registers
@@ -2874,7 +2874,7 @@
#line 2875 "parse.c"
break;
case 193: /* expr ::= VARIABLE */
-#line 783 "parse.y"
+#line 778 "parse.y"
{
spanExpr(&yygotominor.yy346, pParse, TK_VARIABLE, &yymsp[0].minor.yy0);
sqlite3ExprAssignVarNumber(pParse, yygotominor.yy346.pExpr);
@@ -2883,7 +2883,7 @@
#line 2884 "parse.c"
break;
case 194: /* expr ::= expr COLLATE ids */
-#line 788 "parse.y"
+#line 783 "parse.y"
{
yygotominor.yy346.pExpr = sqlite3ExprSetColl(pParse, yymsp[-2].minor.yy346.pExpr, &yymsp[0].minor.yy0);
yygotominor.yy346.zStart = yymsp[-2].minor.yy346.zStart;
@@ -2892,7 +2892,7 @@
#line 2893 "parse.c"
break;
case 195: /* expr ::= CAST LP expr AS typetoken RP */
-#line 794 "parse.y"
+#line 789 "parse.y"
{
yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy346.pExpr, 0, &yymsp[-1].minor.yy0);
spanSet(&yygotominor.yy346,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0);
@@ -2900,7 +2900,7 @@
#line 2901 "parse.c"
break;
case 196: /* expr ::= ID LP distinct exprlist RP */
-#line 799 "parse.y"
+#line 794 "parse.y"
{
if( yymsp[-1].minor.yy14 && yymsp[-1].minor.yy14->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){
sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0);
@@ -2914,7 +2914,7 @@
#line 2915 "parse.c"
break;
case 197: /* expr ::= ID LP STAR RP */
-#line 809 "parse.y"
+#line 804 "parse.y"
{
yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0);
spanSet(&yygotominor.yy346,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);
@@ -2922,7 +2922,7 @@
#line 2923 "parse.c"
break;
case 198: /* term ::= CTIME_KW */
-#line 813 "parse.y"
+#line 808 "parse.y"
{
/* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are
** treated as functions that return constants */
@@ -2942,29 +2942,29 @@
case 204: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==204);
case 205: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==205);
case 206: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==206);
-#line 840 "parse.y"
+#line 835 "parse.y"
{spanBinaryExpr(&yygotominor.yy346,pParse,yymsp[-1].major,&yymsp[-2].minor.yy346,&yymsp[0].minor.yy346);}
#line 2948 "parse.c"
break;
case 207: /* likeop ::= LIKE_KW */
case 209: /* likeop ::= MATCH */ yytestcase(yyruleno==209);
-#line 853 "parse.y"
+#line 848 "parse.y"
{yygotominor.yy96.eOperator = yymsp[0].minor.yy0; yygotominor.yy96.not = 0;}
#line 2954 "parse.c"
break;
case 208: /* likeop ::= NOT LIKE_KW */
case 210: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==210);
-#line 854 "parse.y"
+#line 849 "parse.y"
{yygotominor.yy96.eOperator = yymsp[0].minor.yy0; yygotominor.yy96.not = 1;}
#line 2960 "parse.c"
break;
case 212: /* escape ::= */
-#line 860 "parse.y"
+#line 855 "parse.y"
{memset(&yygotominor.yy346,0,sizeof(yygotominor.yy346));}
#line 2965 "parse.c"
break;
case 213: /* expr ::= expr likeop expr escape */
-#line 861 "parse.y"
+#line 856 "parse.y"
{
ExprList *pList;
pList = sqlite3ExprListAppend(pParse,0, yymsp[-1].minor.yy346.pExpr);
@@ -2981,43 +2981,43 @@
#line 2982 "parse.c"
break;
case 214: /* expr ::= expr ISNULL|NOTNULL */
-#line 891 "parse.y"
+#line 886 "parse.y"
{spanUnaryPostfix(&yygotominor.yy346,pParse,yymsp[0].major,&yymsp[-1].minor.yy346,&yymsp[0].minor.yy0);}
#line 2987 "parse.c"
break;
case 215: /* expr ::= expr IS NULL */
-#line 892 "parse.y"
+#line 887 "parse.y"
{spanUnaryPostfix(&yygotominor.yy346,pParse,TK_ISNULL,&yymsp[-2].minor.yy346,&yymsp[0].minor.yy0);}
#line 2992 "parse.c"
break;
case 216: /* expr ::= expr NOT NULL */
-#line 893 "parse.y"
+#line 888 "parse.y"
{spanUnaryPostfix(&yygotominor.yy346,pParse,TK_NOTNULL,&yymsp[-2].minor.yy346,&yymsp[0].minor.yy0);}
#line 2997 "parse.c"
break;
case 217: /* expr ::= expr IS NOT NULL */
-#line 895 "parse.y"
+#line 890 "parse.y"
{spanUnaryPostfix(&yygotominor.yy346,pParse,TK_NOTNULL,&yymsp[-3].minor.yy346,&yymsp[0].minor.yy0);}
#line 3002 "parse.c"
break;
case 218: /* expr ::= NOT expr */
case 219: /* expr ::= BITNOT expr */ yytestcase(yyruleno==219);
-#line 915 "parse.y"
+#line 910 "parse.y"
{spanUnaryPrefix(&yygotominor.yy346,pParse,yymsp[-1].major,&yymsp[0].minor.yy346,&yymsp[-1].minor.yy0);}
#line 3008 "parse.c"
break;
case 220: /* expr ::= MINUS expr */
-#line 918 "parse.y"
+#line 913 "parse.y"
{spanUnaryPrefix(&yygotominor.yy346,pParse,TK_UMINUS,&yymsp[0].minor.yy346,&yymsp[-1].minor.yy0);}
#line 3013 "parse.c"
break;
case 221: /* expr ::= PLUS expr */
-#line 920 "parse.y"
+#line 915 "parse.y"
{spanUnaryPrefix(&yygotominor.yy346,pParse,TK_UPLUS,&yymsp[0].minor.yy346,&yymsp[-1].minor.yy0);}
#line 3018 "parse.c"
break;
case 224: /* expr ::= expr between_op expr AND expr */
-#line 925 "parse.y"
+#line 920 "parse.y"
{
ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr);
pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr);
@@ -3034,7 +3034,7 @@
#line 3035 "parse.c"
break;
case 227: /* expr ::= expr in_op LP exprlist RP */
-#line 942 "parse.y"
+#line 937 "parse.y"
{
yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy346.pExpr, 0, 0);
if( yygotominor.yy346.pExpr ){
@@ -3050,7 +3050,7 @@
#line 3051 "parse.c"
break;
case 228: /* expr ::= LP select RP */
-#line 954 "parse.y"
+#line 949 "parse.y"
{
yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0);
if( yygotominor.yy346.pExpr ){
@@ -3066,7 +3066,7 @@
#line 3067 "parse.c"
break;
case 229: /* expr ::= expr in_op LP select RP */
-#line 966 "parse.y"
+#line 961 "parse.y"
{
yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy346.pExpr, 0, 0);
if( yygotominor.yy346.pExpr ){
@@ -3083,7 +3083,7 @@
#line 3084 "parse.c"
break;
case 230: /* expr ::= expr in_op nm dbnm */
-#line 979 "parse.y"
+#line 974 "parse.y"
{
SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);
yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy346.pExpr, 0, 0);
@@ -3101,7 +3101,7 @@
#line 3102 "parse.c"
break;
case 231: /* expr ::= EXISTS LP select RP */
-#line 993 "parse.y"
+#line 988 "parse.y"
{
Expr *p = yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0);
if( p ){
@@ -3117,7 +3117,7 @@
#line 3118 "parse.c"
break;
case 232: /* expr ::= CASE case_operand case_exprlist case_else END */
-#line 1008 "parse.y"
+#line 1003 "parse.y"
{
yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy132, yymsp[-1].minor.yy132, 0);
if( yygotominor.yy346.pExpr ){
@@ -3132,7 +3132,7 @@
#line 3133 "parse.c"
break;
case 233: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */
-#line 1021 "parse.y"
+#line 1016 "parse.y"
{
yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14, yymsp[-2].minor.yy346.pExpr);
yygotominor.yy14 = sqlite3ExprListAppend(pParse,yygotominor.yy14, yymsp[0].minor.yy346.pExpr);
@@ -3140,7 +3140,7 @@
#line 3141 "parse.c"
break;
case 234: /* case_exprlist ::= WHEN expr THEN expr */
-#line 1025 "parse.y"
+#line 1020 "parse.y"
{
yygotominor.yy14 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr);
yygotominor.yy14 = sqlite3ExprListAppend(pParse,yygotominor.yy14, yymsp[0].minor.yy346.pExpr);
@@ -3148,7 +3148,7 @@
#line 3149 "parse.c"
break;
case 243: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP */
-#line 1054 "parse.y"
+#line 1049 "parse.y"
{
sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0, &yymsp[-5].minor.yy0,
sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0,0), yymsp[-1].minor.yy14, yymsp[-9].minor.yy328,
@@ -3158,17 +3158,17 @@
break;
case 244: /* uniqueflag ::= UNIQUE */
case 298: /* raisetype ::= ABORT */ yytestcase(yyruleno==298);
-#line 1061 "parse.y"
+#line 1056 "parse.y"
{yygotominor.yy328 = OE_Abort;}
#line 3164 "parse.c"
break;
case 245: /* uniqueflag ::= */
-#line 1062 "parse.y"
+#line 1057 "parse.y"
{yygotominor.yy328 = OE_None;}
#line 3169 "parse.c"
break;
case 248: /* idxlist ::= idxlist COMMA nm collate sortorder */
-#line 1071 "parse.y"
+#line 1066 "parse.y"
{
Expr *p = 0;
if( yymsp[-1].minor.yy0.n>0 ){
@@ -3183,7 +3183,7 @@
#line 3184 "parse.c"
break;
case 249: /* idxlist ::= nm collate sortorder */
-#line 1082 "parse.y"
+#line 1077 "parse.y"
{
Expr *p = 0;
if( yymsp[-1].minor.yy0.n>0 ){
@@ -3198,48 +3198,48 @@
#line 3199 "parse.c"
break;
case 250: /* collate ::= */
-#line 1095 "parse.y"
+#line 1090 "parse.y"
{yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;}
#line 3204 "parse.c"
break;
case 252: /* cmd ::= DROP INDEX ifexists fullname */
-#line 1101 "parse.y"
+#line 1096 "parse.y"
{sqlite3DropIndex(pParse, yymsp[0].minor.yy65, yymsp[-1].minor.yy328);}
#line 3209 "parse.c"
break;
case 253: /* cmd ::= VACUUM */
case 254: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==254);
-#line 1107 "parse.y"
+#line 1102 "parse.y"
{sqlite3Vacuum(pParse);}
#line 3215 "parse.c"
break;
case 255: /* cmd ::= PRAGMA nm dbnm */
-#line 1115 "parse.y"
+#line 1110 "parse.y"
{sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);}
#line 3220 "parse.c"
break;
case 256: /* cmd ::= PRAGMA nm dbnm EQ nmnum */
-#line 1116 "parse.y"
+#line 1111 "parse.y"
{sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);}
#line 3225 "parse.c"
break;
case 257: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */
-#line 1117 "parse.y"
+#line 1112 "parse.y"
{sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);}
#line 3230 "parse.c"
break;
case 258: /* cmd ::= PRAGMA nm dbnm EQ minus_num */
-#line 1119 "parse.y"
+#line 1114 "parse.y"
{sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);}
#line 3235 "parse.c"
break;
case 259: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */
-#line 1121 "parse.y"
+#line 1116 "parse.y"
{sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);}
#line 3240 "parse.c"
break;
case 270: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */
-#line 1139 "parse.y"
+#line 1134 "parse.y"
{
Token all;
all.z = yymsp[-3].minor.yy0.z;
@@ -3249,7 +3249,7 @@
#line 3250 "parse.c"
break;
case 271: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */
-#line 1148 "parse.y"
+#line 1143 "parse.y"
{
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].minor.yy65, yymsp[0].minor.yy132, yymsp[-10].minor.yy328, yymsp[-8].minor.yy328);
yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0);
@@ -3258,45 +3258,45 @@
break;
case 272: /* trigger_time ::= BEFORE */
case 275: /* trigger_time ::= */ yytestcase(yyruleno==275);
-#line 1154 "parse.y"
+#line 1149 "parse.y"
{ yygotominor.yy328 = TK_BEFORE; }
#line 3264 "parse.c"
break;
case 273: /* trigger_time ::= AFTER */
-#line 1155 "parse.y"
+#line 1150 "parse.y"
{ yygotominor.yy328 = TK_AFTER; }
#line 3269 "parse.c"
break;
case 274: /* trigger_time ::= INSTEAD OF */
-#line 1156 "parse.y"
+#line 1151 "parse.y"
{ yygotominor.yy328 = TK_INSTEAD;}
#line 3274 "parse.c"
break;
case 276: /* trigger_event ::= DELETE|INSERT */
case 277: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==277);
-#line 1161 "parse.y"
+#line 1156 "parse.y"
{yygotominor.yy378.a = yymsp[0].major; yygotominor.yy378.b = 0;}
#line 3280 "parse.c"
break;
case 278: /* trigger_event ::= UPDATE OF inscollist */
-#line 1163 "parse.y"
+#line 1158 "parse.y"
{yygotominor.yy378.a = TK_UPDATE; yygotominor.yy378.b = yymsp[0].minor.yy408;}
#line 3285 "parse.c"
break;
case 281: /* when_clause ::= */
case 303: /* key_opt ::= */ yytestcase(yyruleno==303);
-#line 1170 "parse.y"
+#line 1165 "parse.y"
{ yygotominor.yy132 = 0; }
#line 3291 "parse.c"
break;
case 282: /* when_clause ::= WHEN expr */
case 304: /* key_opt ::= KEY expr */ yytestcase(yyruleno==304);
-#line 1171 "parse.y"
+#line 1166 "parse.y"
{ yygotominor.yy132 = yymsp[0].minor.yy346.pExpr; }
#line 3297 "parse.c"
break;
case 283: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */
-#line 1175 "parse.y"
+#line 1170 "parse.y"
{
assert( yymsp[-2].minor.yy473!=0 );
yymsp[-2].minor.yy473->pLast->pNext = yymsp[-1].minor.yy473;
@@ -3306,7 +3306,7 @@
#line 3307 "parse.c"
break;
case 284: /* trigger_cmd_list ::= trigger_cmd SEMI */
-#line 1181 "parse.y"
+#line 1176 "parse.y"
{
assert( yymsp[-1].minor.yy473!=0 );
yymsp[-1].minor.yy473->pLast = yymsp[-1].minor.yy473;
@@ -3315,7 +3315,7 @@
#line 3316 "parse.c"
break;
case 286: /* trnm ::= nm DOT nm */
-#line 1193 "parse.y"
+#line 1188 "parse.y"
{
yygotominor.yy0 = yymsp[0].minor.yy0;
sqlite3ErrorMsg(pParse,
@@ -3325,7 +3325,7 @@
#line 3326 "parse.c"
break;
case 288: /* tridxby ::= INDEXED BY nm */
-#line 1205 "parse.y"
+#line 1200 "parse.y"
{
sqlite3ErrorMsg(pParse,
"the INDEXED BY clause is not allowed on UPDATE or DELETE statements "
@@ -3334,7 +3334,7 @@
#line 3335 "parse.c"
break;
case 289: /* tridxby ::= NOT INDEXED */
-#line 1210 "parse.y"
+#line 1205 "parse.y"
{
sqlite3ErrorMsg(pParse,
"the NOT INDEXED clause is not allowed on UPDATE or DELETE statements "
@@ -3343,32 +3343,32 @@
#line 3344 "parse.c"
break;
case 290: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */
-#line 1223 "parse.y"
+#line 1218 "parse.y"
{ yygotominor.yy473 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy14, yymsp[0].minor.yy132, yymsp[-5].minor.yy186); }
#line 3349 "parse.c"
break;
case 291: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt VALUES LP itemlist RP */
-#line 1228 "parse.y"
+#line 1223 "parse.y"
{yygotominor.yy473 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy408, yymsp[-1].minor.yy14, 0, yymsp[-7].minor.yy186);}
#line 3354 "parse.c"
break;
case 292: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */
-#line 1231 "parse.y"
+#line 1226 "parse.y"
{yygotominor.yy473 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy408, 0, yymsp[0].minor.yy3, yymsp[-4].minor.yy186);}
#line 3359 "parse.c"
break;
case 293: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */
-#line 1235 "parse.y"
+#line 1230 "parse.y"
{yygotominor.yy473 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy132);}
#line 3364 "parse.c"
break;
case 294: /* trigger_cmd ::= select */
-#line 1238 "parse.y"
+#line 1233 "parse.y"
{yygotominor.yy473 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy3); }
#line 3369 "parse.c"
break;
case 295: /* expr ::= RAISE LP IGNORE RP */
-#line 1241 "parse.y"
+#line 1236 "parse.y"
{
yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0);
if( yygotominor.yy346.pExpr ){
@@ -3380,7 +3380,7 @@
#line 3381 "parse.c"
break;
case 296: /* expr ::= RAISE LP raisetype COMMA nm RP */
-#line 1249 "parse.y"
+#line 1244 "parse.y"
{
yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0);
if( yygotominor.yy346.pExpr ) {
@@ -3392,72 +3392,72 @@
#line 3393 "parse.c"
break;
case 297: /* raisetype ::= ROLLBACK */
-#line 1260 "parse.y"
+#line 1255 "parse.y"
{yygotominor.yy328 = OE_Rollback;}
#line 3398 "parse.c"
break;
case 299: /* raisetype ::= FAIL */
-#line 1262 "parse.y"
+#line 1257 "parse.y"
{yygotominor.yy328 = OE_Fail;}
#line 3403 "parse.c"
break;
case 300: /* cmd ::= DROP TRIGGER ifexists fullname */
-#line 1267 "parse.y"
+#line 1262 "parse.y"
{
sqlite3DropTrigger(pParse,yymsp[0].minor.yy65,yymsp[-1].minor.yy328);
}
#line 3410 "parse.c"
break;
case 301: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */
-#line 1274 "parse.y"
+#line 1269 "parse.y"
{
sqlite3Attach(pParse, yymsp[-3].minor.yy346.pExpr, yymsp[-1].minor.yy346.pExpr, yymsp[0].minor.yy132);
}
#line 3417 "parse.c"
break;
case 302: /* cmd ::= DETACH database_kw_opt expr */
-#line 1277 "parse.y"
+#line 1272 "parse.y"
{
sqlite3Detach(pParse, yymsp[0].minor.yy346.pExpr);
}
#line 3424 "parse.c"
break;
case 307: /* cmd ::= REINDEX */
-#line 1292 "parse.y"
+#line 1287 "parse.y"
{sqlite3Reindex(pParse, 0, 0);}
#line 3429 "parse.c"
break;
case 308: /* cmd ::= REINDEX nm dbnm */
-#line 1293 "parse.y"
+#line 1288 "parse.y"
{sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);}
#line 3434 "parse.c"
break;
case 309: /* cmd ::= ANALYZE */
-#line 1298 "parse.y"
+#line 1293 "parse.y"
{sqlite3Analyze(pParse, 0, 0);}
#line 3439 "parse.c"
break;
case 310: /* cmd ::= ANALYZE nm dbnm */
-#line 1299 "parse.y"
+#line 1294 "parse.y"
{sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);}
#line 3444 "parse.c"
break;
case 311: /* cmd ::= ALTER TABLE fullname RENAME TO nm */
-#line 1304 "parse.y"
+#line 1299 "parse.y"
{
sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy65,&yymsp[0].minor.yy0);
}
#line 3451 "parse.c"
break;
case 312: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column */
-#line 1307 "parse.y"
+#line 1302 "parse.y"
{
sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0);
}
#line 3458 "parse.c"
break;
case 313: /* add_column_fullname ::= fullname */
-#line 1310 "parse.y"
+#line 1305 "parse.y"
{
pParse->db->lookaside.bEnabled = 0;
sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy65);
@@ -3465,31 +3465,31 @@
#line 3466 "parse.c"
break;
case 316: /* cmd ::= create_vtab */
-#line 1320 "parse.y"
+#line 1315 "parse.y"
{sqlite3VtabFinishParse(pParse,0);}
#line 3471 "parse.c"
break;
case 317: /* cmd ::= create_vtab LP vtabarglist RP */
-#line 1321 "parse.y"
+#line 1316 "parse.y"
{sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);}
#line 3476 "parse.c"
break;
case 318: /* create_vtab ::= createkw VIRTUAL TABLE nm dbnm USING nm */
-#line 1322 "parse.y"
+#line 1317 "parse.y"
{
sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);
}
#line 3483 "parse.c"
break;
case 321: /* vtabarg ::= */
-#line 1327 "parse.y"
+#line 1322 "parse.y"
{sqlite3VtabArgInit(pParse);}
#line 3488 "parse.c"
break;
case 323: /* vtabargtoken ::= ANY */
case 324: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==324);
case 325: /* lp ::= LP */ yytestcase(yyruleno==325);
-#line 1329 "parse.y"
+#line 1324 "parse.y"
{sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);}
#line 3495 "parse.c"
break;
« no previous file with comments | « third_party/sqlite/misc.patch ('k') | third_party/sqlite/src/parse.y » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698