diff options
Diffstat (limited to 'ext/pdo_sqlite/sqlite/src/parse.c')
| -rw-r--r-- | ext/pdo_sqlite/sqlite/src/parse.c | 392 |
1 files changed, 391 insertions, 1 deletions
diff --git a/ext/pdo_sqlite/sqlite/src/parse.c b/ext/pdo_sqlite/sqlite/src/parse.c index 2c5d4840e0..432a262fd4 100644 --- a/ext/pdo_sqlite/sqlite/src/parse.c +++ b/ext/pdo_sqlite/sqlite/src/parse.c @@ -1,9 +1,10 @@ /* Driver template for the LEMON parser generator. -** The author disclaims copyright to this source code. +** The author disclaims copyright to this source code. */ /* First off, code is include which follows the "include" declaration ** in the input file. */ #include <stdio.h> +#line 51 "ext/pdo_sqlite/sqlite/src/parse.y" #include "sqliteInt.h" #include "parse.h" @@ -42,6 +43,7 @@ struct TrigEvent { int a; IdList * b; }; */ struct AttachKey { int type; Token key; }; +#line 48 "ext/pdo_sqlite/sqlite/src/parse.c" /* Next is all token values, in a form suitable for use by makeheaders. ** This section will be null unless lemon is run with the -m switch. */ @@ -1323,7 +1325,9 @@ static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){ case 162: case 195: case 212: +#line 370 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3SelectDelete((yypminor->yy375));} +#line 1332 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 176: case 177: @@ -1332,7 +1336,9 @@ static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){ case 210: case 216: case 230: +#line 629 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3ExprDelete((yypminor->yy62));} +#line 1343 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 181: case 189: @@ -1345,31 +1351,43 @@ static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){ case 219: case 222: case 228: +#line 876 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3ExprListDelete((yypminor->yy418));} +#line 1358 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 194: case 199: case 207: case 208: +#line 499 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3SrcListDelete((yypminor->yy151));} +#line 1366 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 204: +#line 561 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3ExprDelete((yypminor->yy220).pLimit); sqlite3ExprDelete((yypminor->yy220).pOffset); } +#line 1374 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 211: case 214: case 221: +#line 517 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3IdListDelete((yypminor->yy240));} +#line 1381 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 236: case 241: +#line 969 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3DeleteTriggerStep((yypminor->yy360));} +#line 1387 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 238: +#line 953 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3IdListDelete((yypminor->yy30).b);} +#line 1392 "ext/pdo_sqlite/sqlite/src/parse.c" break; default: break; /* If no destructor action specified: do nothing */ } @@ -1899,26 +1917,40 @@ static void yy_reduce( /* Beginning here are the reduction cases. A typical example ** follows: ** case 0: + ** #line <lineno> <grammarfile> ** { ... } // User supplied code + ** #line <lineno> <thisfile> ** break; */ case 3: +#line 102 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3FinishCoding(pParse); } +#line 1930 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 6: +#line 105 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3BeginParse(pParse, 0); } +#line 1935 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 7: +#line 107 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3BeginParse(pParse, 1); } +#line 1940 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 8: +#line 108 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3BeginParse(pParse, 2); } +#line 1945 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 9: +#line 114 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy280);} +#line 1950 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 13: +#line 119 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = TK_DEFERRED;} +#line 1955 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 14: case 15: @@ -1926,19 +1958,27 @@ static void yy_reduce( case 104: case 106: case 107: +#line 120 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = yymsp[0].major;} +#line 1965 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 17: case 18: +#line 123 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3CommitTransaction(pParse);} +#line 1971 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 19: +#line 125 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3RollbackTransaction(pParse);} +#line 1976 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 21: +#line 130 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3StartTable(pParse,&yymsp[-4].minor.yy0,&yymsp[-1].minor.yy198,&yymsp[0].minor.yy198,yymsp[-3].minor.yy280,0); } +#line 1983 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 22: case 63: @@ -1946,7 +1986,9 @@ static void yy_reduce( case 109: case 224: case 227: +#line 135 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = 1;} +#line 1993 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 23: case 62: @@ -1957,30 +1999,40 @@ static void yy_reduce( case 111: case 223: case 226: +#line 137 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = 0;} +#line 2006 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 24: +#line 138 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3EndTable(pParse,&yymsp[-1].minor.yy198,&yymsp[0].minor.yy0,0); } +#line 2013 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 25: +#line 141 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy375); sqlite3SelectDelete(yymsp[0].minor.yy375); } +#line 2021 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 28: +#line 153 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy198.z = yymsp[-2].minor.yy198.z; yygotominor.yy198.n = (pParse->sLastToken.z-yymsp[-2].minor.yy198.z) + pParse->sLastToken.n; } +#line 2029 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 29: +#line 157 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3AddColumn(pParse,&yymsp[0].minor.yy198); yygotominor.yy198 = yymsp[0].minor.yy198; } +#line 2037 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 30: case 31: @@ -1990,10 +2042,14 @@ static void yy_reduce( case 35: case 263: case 264: +#line 167 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy198 = yymsp[0].minor.yy0;} +#line 2049 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 37: +#line 227 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3AddColumnType(pParse,&yymsp[0].minor.yy198);} +#line 2054 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 38: case 41: @@ -2004,98 +2060,152 @@ static void yy_reduce( case 251: case 261: case 262: +#line 228 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy198 = yymsp[0].minor.yy198;} +#line 2067 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 39: +#line 229 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy198.z = yymsp[-3].minor.yy198.z; yygotominor.yy198.n = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy198.z; } +#line 2075 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 40: +#line 233 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy198.z = yymsp[-5].minor.yy198.z; yygotominor.yy198.n = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy198.z; } +#line 2083 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 42: +#line 239 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy198.z=yymsp[-1].minor.yy198.z; yygotominor.yy198.n=yymsp[0].minor.yy198.n+(yymsp[0].minor.yy198.z-yymsp[-1].minor.yy198.z);} +#line 2088 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 43: +#line 241 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = atoi(yymsp[0].minor.yy198.z); } +#line 2093 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 44: +#line 242 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = -atoi(yymsp[0].minor.yy198.z); } +#line 2098 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 49: case 51: +#line 251 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy62);} +#line 2104 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 50: +#line 252 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy62);} +#line 2109 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 52: +#line 254 "ext/pdo_sqlite/sqlite/src/parse.y" { Expr *p = sqlite3Expr(TK_UMINUS, yymsp[0].minor.yy62, 0, 0); sqlite3AddDefaultValue(pParse,p); } +#line 2117 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 53: +#line 258 "ext/pdo_sqlite/sqlite/src/parse.y" { Expr *p = sqlite3Expr(TK_STRING, 0, 0, &yymsp[0].minor.yy198); sqlite3AddDefaultValue(pParse,p); } +#line 2125 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 55: +#line 267 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3AddNotNull(pParse, yymsp[0].minor.yy280);} +#line 2130 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 56: +#line 269 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy280,yymsp[0].minor.yy280);} +#line 2135 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 57: +#line 270 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy280,0,0);} +#line 2140 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 58: +#line 271 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3ExprDelete(yymsp[-2].minor.yy62);} +#line 2145 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 59: +#line 273 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy198,yymsp[-1].minor.yy418,yymsp[0].minor.yy280);} +#line 2150 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 60: +#line 274 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy280);} +#line 2155 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 61: +#line 275 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3AddCollateType(pParse, yymsp[0].minor.yy198.z, yymsp[0].minor.yy198.n);} +#line 2160 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 64: +#line 288 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = OE_Restrict * 0x010101; } +#line 2165 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 65: +#line 289 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = (yymsp[-1].minor.yy280 & yymsp[0].minor.yy359.mask) | yymsp[0].minor.yy359.value; } +#line 2170 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 66: +#line 291 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy359.value = 0; yygotominor.yy359.mask = 0x000000; } +#line 2175 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 67: +#line 292 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy359.value = yymsp[0].minor.yy280; yygotominor.yy359.mask = 0x0000ff; } +#line 2180 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 68: +#line 293 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy359.value = yymsp[0].minor.yy280<<8; yygotominor.yy359.mask = 0x00ff00; } +#line 2185 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 69: +#line 294 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy359.value = yymsp[0].minor.yy280<<16; yygotominor.yy359.mask = 0xff0000; } +#line 2190 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 70: +#line 296 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = OE_SetNull; } +#line 2195 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 71: +#line 297 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = OE_SetDflt; } +#line 2200 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 72: +#line 298 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = OE_Cascade; } +#line 2205 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 73: +#line 299 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = OE_Restrict; } +#line 2210 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 74: case 75: @@ -2104,63 +2214,92 @@ static void yy_reduce( case 94: case 95: case 166: +#line 301 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = yymsp[0].minor.yy280;} +#line 2221 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 79: +#line 311 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy198.n = 0; yygotominor.yy198.z = 0;} +#line 2226 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 80: +#line 312 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy198 = yymsp[-1].minor.yy0;} +#line 2231 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 85: +#line 318 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy418,yymsp[0].minor.yy280,yymsp[-2].minor.yy280);} +#line 2236 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 86: +#line 320 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy418,yymsp[0].minor.yy280,0,0);} +#line 2241 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 88: +#line 323 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy418, &yymsp[-3].minor.yy198, yymsp[-2].minor.yy418, yymsp[-1].minor.yy280); sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy280); } +#line 2249 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 91: case 93: +#line 337 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = OE_Default;} +#line 2255 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 96: +#line 342 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = OE_Ignore;} +#line 2260 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 97: case 167: +#line 343 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = OE_Replace;} +#line 2266 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 98: +#line 347 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3DropTable(pParse, yymsp[0].minor.yy151, 0); } +#line 2273 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 99: +#line 354 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3CreateView(pParse, &yymsp[-6].minor.yy0, &yymsp[-3].minor.yy198, &yymsp[-2].minor.yy198, yymsp[0].minor.yy375, yymsp[-5].minor.yy280); } +#line 2280 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 100: +#line 357 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3DropTable(pParse, yymsp[0].minor.yy151, 1); } +#line 2287 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 101: +#line 364 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3Select(pParse, yymsp[0].minor.yy375, SRT_Callback, 0, 0, 0, 0, 0); sqlite3SelectDelete(yymsp[0].minor.yy375); } +#line 2295 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 102: case 126: +#line 374 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy375 = yymsp[0].minor.yy375;} +#line 2301 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 103: +#line 376 "ext/pdo_sqlite/sqlite/src/parse.y" { if( yymsp[0].minor.yy375 ){ yymsp[0].minor.yy375->op = yymsp[-1].minor.yy280; @@ -2168,61 +2307,87 @@ static void yy_reduce( } yygotominor.yy375 = yymsp[0].minor.yy375; } +#line 2312 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 105: +#line 385 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = TK_ALL;} +#line 2317 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 108: +#line 390 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy375 = sqlite3SelectNew(yymsp[-6].minor.yy418,yymsp[-5].minor.yy151,yymsp[-4].minor.yy62,yymsp[-3].minor.yy418,yymsp[-2].minor.yy62,yymsp[-1].minor.yy418,yymsp[-7].minor.yy280,yymsp[0].minor.yy220.pLimit,yymsp[0].minor.yy220.pOffset); } +#line 2324 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 112: case 248: +#line 411 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy418 = yymsp[-1].minor.yy418;} +#line 2330 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 113: case 140: case 150: case 247: +#line 412 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy418 = 0;} +#line 2338 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 114: +#line 413 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy418 = sqlite3ExprListAppend(yymsp[-2].minor.yy418,yymsp[-1].minor.yy62,yymsp[0].minor.yy198.n?&yymsp[0].minor.yy198:0); } +#line 2345 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 115: +#line 416 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy418 = sqlite3ExprListAppend(yymsp[-1].minor.yy418, sqlite3Expr(TK_ALL, 0, 0, 0), 0); } +#line 2352 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 116: +#line 419 "ext/pdo_sqlite/sqlite/src/parse.y" { Expr *pRight = sqlite3Expr(TK_ALL, 0, 0, 0); Expr *pLeft = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy198); yygotominor.yy418 = sqlite3ExprListAppend(yymsp[-3].minor.yy418, sqlite3Expr(TK_DOT, pLeft, pRight, 0), 0); } +#line 2361 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 119: +#line 431 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy198.n = 0;} +#line 2366 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 120: +#line 443 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy151 = sqliteMalloc(sizeof(*yygotominor.yy151));} +#line 2371 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 121: +#line 444 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy151 = yymsp[0].minor.yy151;} +#line 2376 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 122: +#line 449 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy151 = yymsp[-1].minor.yy151; if( yygotominor.yy151 && yygotominor.yy151->nSrc>0 ) yygotominor.yy151->a[yygotominor.yy151->nSrc-1].jointype = yymsp[0].minor.yy280; } +#line 2384 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 123: +#line 453 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy151 = 0;} +#line 2389 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 124: +#line 454 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy151 = sqlite3SrcListAppend(yymsp[-5].minor.yy151,&yymsp[-4].minor.yy198,&yymsp[-3].minor.yy198); if( yymsp[-2].minor.yy198.n ) sqlite3SrcListAddAlias(yygotominor.yy151,&yymsp[-2].minor.yy198); @@ -2235,8 +2400,10 @@ static void yy_reduce( else { sqlite3IdListDelete(yymsp[0].minor.yy240); } } } +#line 2405 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 125: +#line 468 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy151 = sqlite3SrcListAppend(yymsp[-6].minor.yy151,0,0); yygotominor.yy151->a[yygotominor.yy151->nSrc-1].pSelect = yymsp[-4].minor.yy375; @@ -2250,30 +2417,45 @@ static void yy_reduce( else { sqlite3IdListDelete(yymsp[0].minor.yy240); } } } +#line 2422 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 127: +#line 489 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy375 = sqlite3SelectNew(0,yymsp[0].minor.yy151,0,0,0,0,0,0,0); } +#line 2429 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 128: +#line 495 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy198.z=0; yygotominor.yy198.n=0;} +#line 2434 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 130: +#line 500 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy151 = sqlite3SrcListAppend(0,&yymsp[-1].minor.yy198,&yymsp[0].minor.yy198);} +#line 2439 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 131: case 132: +#line 504 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = JT_INNER; } +#line 2445 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 133: +#line 506 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } +#line 2450 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 134: +#line 507 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy198,0); } +#line 2455 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 135: +#line 509 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy198,&yymsp[-1].minor.yy198); } +#line 2460 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 136: case 144: @@ -2284,7 +2466,9 @@ static void yy_reduce( case 236: case 238: case 242: +#line 513 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy62 = yymsp[0].minor.yy62;} +#line 2473 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 137: case 152: @@ -2293,108 +2477,163 @@ static void yy_reduce( case 237: case 239: case 243: +#line 514 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy62 = 0;} +#line 2484 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 138: case 171: +#line 518 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy240 = yymsp[-1].minor.yy240;} +#line 2490 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 139: case 170: +#line 519 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy240 = 0;} +#line 2496 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 141: case 151: +#line 530 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy418 = yymsp[0].minor.yy418;} +#line 2502 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 142: +#line 531 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy418 = sqlite3ExprListAppend(yymsp[-4].minor.yy418,yymsp[-2].minor.yy62,yymsp[-1].minor.yy198.n>0?&yymsp[-1].minor.yy198:0); if( yygotominor.yy418 ) yygotominor.yy418->a[yygotominor.yy418->nExpr-1].sortOrder = yymsp[0].minor.yy280; } +#line 2510 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 143: +#line 535 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy418 = sqlite3ExprListAppend(0,yymsp[-2].minor.yy62,yymsp[-1].minor.yy198.n>0?&yymsp[-1].minor.yy198:0); if( yygotominor.yy418 && yygotominor.yy418->a ) yygotominor.yy418->a[0].sortOrder = yymsp[0].minor.yy280; } +#line 2518 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 145: case 147: +#line 544 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = SQLITE_SO_ASC;} +#line 2524 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 146: +#line 545 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = SQLITE_SO_DESC;} +#line 2529 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 148: +#line 547 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy198.z = 0; yygotominor.yy198.n = 0;} +#line 2534 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 154: +#line 565 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy220.pLimit = 0; yygotominor.yy220.pOffset = 0;} +#line 2539 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 155: +#line 566 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy220.pLimit = yymsp[0].minor.yy62; yygotominor.yy220.pOffset = 0;} +#line 2544 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 156: +#line 568 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy220.pLimit = yymsp[-2].minor.yy62; yygotominor.yy220.pOffset = yymsp[0].minor.yy62;} +#line 2549 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 157: +#line 570 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy220.pOffset = yymsp[-2].minor.yy62; yygotominor.yy220.pLimit = yymsp[0].minor.yy62;} +#line 2554 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 158: +#line 574 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3DeleteFrom(pParse,yymsp[-1].minor.yy151,yymsp[0].minor.yy62);} +#line 2559 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 161: +#line 585 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Update(pParse,yymsp[-3].minor.yy151,yymsp[-1].minor.yy418,yymsp[0].minor.yy62,yymsp[-4].minor.yy280);} +#line 2564 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 162: +#line 591 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy418 = sqlite3ExprListAppend(yymsp[-4].minor.yy418,yymsp[0].minor.yy62,&yymsp[-2].minor.yy198);} +#line 2569 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 163: +#line 592 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy418 = sqlite3ExprListAppend(0,yymsp[0].minor.yy62,&yymsp[-2].minor.yy198);} +#line 2574 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 164: +#line 598 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Insert(pParse, yymsp[-5].minor.yy151, yymsp[-1].minor.yy418, 0, yymsp[-4].minor.yy240, yymsp[-7].minor.yy280);} +#line 2579 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 165: +#line 600 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Insert(pParse, yymsp[-2].minor.yy151, 0, yymsp[0].minor.yy375, yymsp[-1].minor.yy240, yymsp[-4].minor.yy280);} +#line 2584 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 168: case 240: +#line 610 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy418 = sqlite3ExprListAppend(yymsp[-2].minor.yy418,yymsp[0].minor.yy62,0);} +#line 2590 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 169: case 241: +#line 611 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy418 = sqlite3ExprListAppend(0,yymsp[0].minor.yy62,0);} +#line 2596 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 172: +#line 620 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy240 = sqlite3IdListAppend(yymsp[-2].minor.yy240,&yymsp[0].minor.yy198);} +#line 2601 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 173: +#line 621 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy240 = sqlite3IdListAppend(0,&yymsp[0].minor.yy198);} +#line 2606 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 175: +#line 632 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy62 = yymsp[-1].minor.yy62; sqlite3ExprSpan(yygotominor.yy62,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); } +#line 2611 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 176: case 181: case 182: case 183: case 184: +#line 633 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy62 = sqlite3Expr(yymsp[0].major, 0, 0, &yymsp[0].minor.yy0);} +#line 2620 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 177: case 178: +#line 634 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy62 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy0);} +#line 2626 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 179: +#line 636 "ext/pdo_sqlite/sqlite/src/parse.y" { Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy198); Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy198); yygotominor.yy62 = sqlite3Expr(TK_DOT, temp1, temp2, 0); } +#line 2635 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 180: +#line 641 "ext/pdo_sqlite/sqlite/src/parse.y" { Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-4].minor.yy198); Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy198); @@ -2402,24 +2641,32 @@ static void yy_reduce( Expr *temp4 = sqlite3Expr(TK_DOT, temp2, temp3, 0); yygotominor.yy62 = sqlite3Expr(TK_DOT, temp1, temp4, 0); } +#line 2646 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 185: +#line 652 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy62 = sqlite3RegisterExpr(pParse, &yymsp[0].minor.yy0);} +#line 2651 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 186: +#line 653 "ext/pdo_sqlite/sqlite/src/parse.y" { Token *pToken = &yymsp[0].minor.yy0; Expr *pExpr = yygotominor.yy62 = sqlite3Expr(TK_VARIABLE, 0, 0, pToken); sqlite3ExprAssignVarNumber(pParse, pExpr); } +#line 2660 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 187: +#line 659 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_CAST, yymsp[-3].minor.yy62, 0, &yymsp[-1].minor.yy198); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); } +#line 2668 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 188: +#line 664 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3ExprFunction(yymsp[-1].minor.yy418, &yymsp[-4].minor.yy0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); @@ -2427,20 +2674,25 @@ static void yy_reduce( yygotominor.yy62->flags |= EP_Distinct; } } +#line 2679 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 189: +#line 671 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3ExprFunction(0, &yymsp[-3].minor.yy0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); } +#line 2687 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 190: +#line 675 "ext/pdo_sqlite/sqlite/src/parse.y" { /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are ** treated as functions that return constants */ yygotominor.yy62 = sqlite3ExprFunction(0,&yymsp[0].minor.yy0); if( yygotominor.yy62 ) yygotominor.yy62->op = TK_CONST_FUNC; } +#line 2697 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 191: case 192: @@ -2460,15 +2712,22 @@ static void yy_reduce( case 206: case 207: case 208: +#line 681 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy62 = sqlite3Expr(yymsp[-1].major, yymsp[-2].minor.yy62, yymsp[0].minor.yy62, 0);} +#line 2719 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 209: +#line 700 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy222.operator = yymsp[0].minor.yy0; yygotominor.yy222.not = 0;} +#line 2724 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 210: +#line 701 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy222.operator = yymsp[0].minor.yy0; yygotominor.yy222.not = 1;} +#line 2729 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 213: +#line 705 "ext/pdo_sqlite/sqlite/src/parse.y" { ExprList *pList = sqlite3ExprListAppend(0, yymsp[-1].minor.yy62, 0); pList = sqlite3ExprListAppend(pList, yymsp[-3].minor.yy62, 0); @@ -2479,57 +2738,75 @@ static void yy_reduce( if( yymsp[-2].minor.yy222.not ) yygotominor.yy62 = sqlite3Expr(TK_NOT, yygotominor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62, &yymsp[-3].minor.yy62->span, &yymsp[-1].minor.yy62->span); } +#line 2743 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 214: +#line 716 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_ISNULL, yymsp[-1].minor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-1].minor.yy62->span,&yymsp[0].minor.yy0); } +#line 2751 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 215: +#line 720 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_ISNULL, yymsp[-2].minor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-2].minor.yy62->span,&yymsp[0].minor.yy0); } +#line 2759 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 216: +#line 724 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_NOTNULL, yymsp[-1].minor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-1].minor.yy62->span,&yymsp[0].minor.yy0); } +#line 2767 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 217: +#line 728 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_NOTNULL, yymsp[-2].minor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-2].minor.yy62->span,&yymsp[0].minor.yy0); } +#line 2775 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 218: +#line 732 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_NOTNULL, yymsp[-3].minor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-3].minor.yy62->span,&yymsp[0].minor.yy0); } +#line 2783 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 219: case 220: +#line 736 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(yymsp[-1].major, yymsp[0].minor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy62->span); } +#line 2792 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 221: +#line 744 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_UMINUS, yymsp[0].minor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy62->span); } +#line 2800 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 222: +#line 748 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_UPLUS, yymsp[0].minor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy62->span); } +#line 2808 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 225: +#line 755 "ext/pdo_sqlite/sqlite/src/parse.y" { ExprList *pList = sqlite3ExprListAppend(0, yymsp[-2].minor.yy62, 0); pList = sqlite3ExprListAppend(pList, yymsp[0].minor.yy62, 0); @@ -2542,8 +2819,10 @@ static void yy_reduce( if( yymsp[-3].minor.yy280 ) yygotominor.yy62 = sqlite3Expr(TK_NOT, yygotominor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-4].minor.yy62->span,&yymsp[0].minor.yy62->span); } +#line 2824 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 228: +#line 771 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_IN, yymsp[-4].minor.yy62, 0, 0); if( yygotominor.yy62 ){ @@ -2554,8 +2833,10 @@ static void yy_reduce( if( yymsp[-3].minor.yy280 ) yygotominor.yy62 = sqlite3Expr(TK_NOT, yygotominor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-4].minor.yy62->span,&yymsp[0].minor.yy0); } +#line 2838 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 229: +#line 781 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_SELECT, 0, 0, 0); if( yygotominor.yy62 ){ @@ -2565,8 +2846,10 @@ static void yy_reduce( } sqlite3ExprSpan(yygotominor.yy62,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); } +#line 2851 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 230: +#line 790 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_IN, yymsp[-4].minor.yy62, 0, 0); if( yygotominor.yy62 ){ @@ -2577,8 +2860,10 @@ static void yy_reduce( if( yymsp[-3].minor.yy280 ) yygotominor.yy62 = sqlite3Expr(TK_NOT, yygotominor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-4].minor.yy62->span,&yymsp[0].minor.yy0); } +#line 2865 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 231: +#line 800 "ext/pdo_sqlite/sqlite/src/parse.y" { SrcList *pSrc = sqlite3SrcListAppend(0,&yymsp[-1].minor.yy198,&yymsp[0].minor.yy198); yygotominor.yy62 = sqlite3Expr(TK_IN, yymsp[-3].minor.yy62, 0, 0); @@ -2590,8 +2875,10 @@ static void yy_reduce( if( yymsp[-2].minor.yy280 ) yygotominor.yy62 = sqlite3Expr(TK_NOT, yygotominor.yy62, 0, 0); sqlite3ExprSpan(yygotominor.yy62,&yymsp[-3].minor.yy62->span,yymsp[0].minor.yy198.z?&yymsp[0].minor.yy198:&yymsp[-1].minor.yy198); } +#line 2880 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 232: +#line 811 "ext/pdo_sqlite/sqlite/src/parse.y" { Expr *p = yygotominor.yy62 = sqlite3Expr(TK_EXISTS, 0, 0, 0); if( p ){ @@ -2601,8 +2888,10 @@ static void yy_reduce( sqlite3SelectDelete(yymsp[-1].minor.yy375); } } +#line 2893 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 233: +#line 823 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_CASE, yymsp[-3].minor.yy62, yymsp[-1].minor.yy62, 0); if( yygotominor.yy62 ){ @@ -2612,34 +2901,46 @@ static void yy_reduce( } sqlite3ExprSpan(yygotominor.yy62, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0); } +#line 2906 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 234: +#line 834 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy418 = sqlite3ExprListAppend(yymsp[-4].minor.yy418, yymsp[-2].minor.yy62, 0); yygotominor.yy418 = sqlite3ExprListAppend(yygotominor.yy418, yymsp[0].minor.yy62, 0); } +#line 2914 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 235: +#line 838 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy418 = sqlite3ExprListAppend(0, yymsp[-2].minor.yy62, 0); yygotominor.yy418 = sqlite3ExprListAppend(yygotominor.yy418, yymsp[0].minor.yy62, 0); } +#line 2922 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 244: +#line 863 "ext/pdo_sqlite/sqlite/src/parse.y" { if( yymsp[-9].minor.yy280!=OE_None ) yymsp[-9].minor.yy280 = yymsp[0].minor.yy280; if( yymsp[-9].minor.yy280==OE_Default) yymsp[-9].minor.yy280 = OE_Abort; sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy198, &yymsp[-6].minor.yy198, sqlite3SrcListAppend(0,&yymsp[-4].minor.yy198,0),yymsp[-2].minor.yy418,yymsp[-9].minor.yy280, &yymsp[-10].minor.yy0, &yymsp[-1].minor.yy0); } +#line 2931 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 245: case 292: +#line 870 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = OE_Abort;} +#line 2937 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 246: +#line 871 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = OE_None;} +#line 2942 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 249: +#line 881 "ext/pdo_sqlite/sqlite/src/parse.y" { Expr *p = 0; if( yymsp[-1].minor.yy198.n>0 ){ @@ -2648,8 +2949,10 @@ static void yy_reduce( } yygotominor.yy418 = sqlite3ExprListAppend(yymsp[-4].minor.yy418, p, &yymsp[-2].minor.yy198); } +#line 2954 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 250: +#line 889 "ext/pdo_sqlite/sqlite/src/parse.y" { Expr *p = 0; if( yymsp[-1].minor.yy198.n>0 ){ @@ -2658,171 +2961,256 @@ static void yy_reduce( } yygotominor.yy418 = sqlite3ExprListAppend(0, p, &yymsp[-2].minor.yy198); } +#line 2966 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 252: +#line 902 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3DropIndex(pParse, yymsp[0].minor.yy151);} +#line 2971 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 253: case 254: +#line 906 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Vacuum(pParse,0);} +#line 2977 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 255: case 257: +#line 912 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Pragma(pParse,&yymsp[-3].minor.yy198,&yymsp[-2].minor.yy198,&yymsp[0].minor.yy198,0);} +#line 2983 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 256: +#line 913 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Pragma(pParse,&yymsp[-3].minor.yy198,&yymsp[-2].minor.yy198,&yymsp[0].minor.yy0,0);} +#line 2988 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 258: +#line 915 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3Pragma(pParse,&yymsp[-3].minor.yy198,&yymsp[-2].minor.yy198,&yymsp[0].minor.yy198,1); } +#line 2995 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 259: +#line 918 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Pragma(pParse,&yymsp[-4].minor.yy198,&yymsp[-3].minor.yy198,&yymsp[-1].minor.yy198,0);} +#line 3000 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 260: +#line 919 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Pragma(pParse,&yymsp[-1].minor.yy198,&yymsp[0].minor.yy198,0,0);} +#line 3005 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 267: +#line 932 "ext/pdo_sqlite/sqlite/src/parse.y" { Token all; all.z = yymsp[-3].minor.yy198.z; all.n = (yymsp[0].minor.yy0.z - yymsp[-3].minor.yy198.z) + yymsp[0].minor.yy0.n; sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy360, &all); } +#line 3015 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 268: +#line 941 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy198, &yymsp[-6].minor.yy198, yymsp[-5].minor.yy280, yymsp[-4].minor.yy30.a, yymsp[-4].minor.yy30.b, yymsp[-2].minor.yy151, yymsp[-1].minor.yy280, yymsp[0].minor.yy62, yymsp[-9].minor.yy280); yygotominor.yy198 = (yymsp[-6].minor.yy198.n==0?yymsp[-7].minor.yy198:yymsp[-6].minor.yy198); } +#line 3023 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 269: case 272: +#line 947 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = TK_BEFORE; } +#line 3029 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 270: +#line 948 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = TK_AFTER; } +#line 3034 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 271: +#line 949 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = TK_INSTEAD;} +#line 3039 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 273: case 274: case 275: +#line 954 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy30.a = yymsp[0].major; yygotominor.yy30.b = 0;} +#line 3046 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 276: +#line 957 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy30.a = TK_UPDATE; yygotominor.yy30.b = yymsp[0].minor.yy240;} +#line 3051 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 277: case 278: +#line 960 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = TK_ROW; } +#line 3057 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 279: +#line 962 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy280 = TK_STATEMENT; } +#line 3062 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 280: +#line 965 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = 0; } +#line 3067 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 281: +#line 966 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = yymsp[0].minor.yy62; } +#line 3072 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 282: +#line 970 "ext/pdo_sqlite/sqlite/src/parse.y" { yymsp[-2].minor.yy360->pNext = yymsp[0].minor.yy360; yygotominor.yy360 = yymsp[-2].minor.yy360; } +#line 3080 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 283: +#line 974 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy360 = 0; } +#line 3085 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 284: +#line 980 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy360 = sqlite3TriggerUpdateStep(&yymsp[-3].minor.yy198, yymsp[-1].minor.yy418, yymsp[0].minor.yy62, yymsp[-4].minor.yy280); } +#line 3090 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 285: +#line 985 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy360 = sqlite3TriggerInsertStep(&yymsp[-5].minor.yy198, yymsp[-4].minor.yy240, yymsp[-1].minor.yy418, 0, yymsp[-7].minor.yy280);} +#line 3095 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 286: +#line 988 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy360 = sqlite3TriggerInsertStep(&yymsp[-2].minor.yy198, yymsp[-1].minor.yy240, 0, yymsp[0].minor.yy375, yymsp[-4].minor.yy280);} +#line 3100 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 287: +#line 992 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy360 = sqlite3TriggerDeleteStep(&yymsp[-1].minor.yy198, yymsp[0].minor.yy62);} +#line 3105 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 288: +#line 995 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy360 = sqlite3TriggerSelectStep(yymsp[0].minor.yy375); } +#line 3110 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 289: +#line 998 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_RAISE, 0, 0, 0); yygotominor.yy62->iColumn = OE_Ignore; sqlite3ExprSpan(yygotominor.yy62, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0); } +#line 3119 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 290: +#line 1003 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy62 = sqlite3Expr(TK_RAISE, 0, 0, &yymsp[-1].minor.yy198); yygotominor.yy62->iColumn = yymsp[-3].minor.yy280; sqlite3ExprSpan(yygotominor.yy62, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0); } +#line 3128 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 291: +#line 1011 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = OE_Rollback;} +#line 3133 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 293: +#line 1013 "ext/pdo_sqlite/sqlite/src/parse.y" {yygotominor.yy280 = OE_Fail;} +#line 3138 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 294: +#line 1018 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3DropTrigger(pParse,yymsp[0].minor.yy151); } +#line 3145 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 295: +#line 1024 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3Attach(pParse, &yymsp[-3].minor.yy198, &yymsp[-1].minor.yy198, yymsp[0].minor.yy361.type, &yymsp[0].minor.yy361.key); } +#line 3152 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 296: +#line 1028 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy361.type = 0; } +#line 3157 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 297: +#line 1029 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy361.type=1; yygotominor.yy361.key = yymsp[0].minor.yy198; } +#line 3162 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 298: +#line 1030 "ext/pdo_sqlite/sqlite/src/parse.y" { yygotominor.yy361.type=2; yygotominor.yy361.key = yymsp[0].minor.yy0; } +#line 3167 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 301: +#line 1036 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3Detach(pParse, &yymsp[0].minor.yy198); } +#line 3174 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 302: +#line 1042 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Reindex(pParse, 0, 0);} +#line 3179 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 303: +#line 1043 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Reindex(pParse, &yymsp[-1].minor.yy198, &yymsp[0].minor.yy198);} +#line 3184 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 304: +#line 1048 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Analyze(pParse, 0, 0);} +#line 3189 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 305: +#line 1049 "ext/pdo_sqlite/sqlite/src/parse.y" {sqlite3Analyze(pParse, &yymsp[-1].minor.yy198, &yymsp[0].minor.yy198);} +#line 3194 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 306: +#line 1054 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy151,&yymsp[0].minor.yy198); } +#line 3201 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 307: +#line 1057 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy198); } +#line 3208 "ext/pdo_sqlite/sqlite/src/parse.c" break; case 308: +#line 1060 "ext/pdo_sqlite/sqlite/src/parse.y" { sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy151); } +#line 3215 "ext/pdo_sqlite/sqlite/src/parse.c" break; }; yygoto = yyRuleInfo[yyruleno].lhs; @@ -2879,6 +3267,7 @@ static void yy_syntax_error( ){ sqlite3ParserARG_FETCH; #define TOKEN (yyminor.yy0) +#line 34 "ext/pdo_sqlite/sqlite/src/parse.y" if( pParse->zErrMsg==0 ){ if( TOKEN.z[0] ){ @@ -2887,6 +3276,7 @@ static void yy_syntax_error( sqlite3ErrorMsg(pParse, "incomplete SQL statement"); } } +#line 3282 "ext/pdo_sqlite/sqlite/src/parse.c" sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */ } |
