1.1 --- a/extensions/sqlite/sqlite-source/parse.c Sun Oct 28 05:06:12 2007 +0000
1.2 +++ b/extensions/sqlite/sqlite-source/parse.c Sun Oct 28 05:48:06 2007 +0000
1.3 @@ -7,7 +7,6 @@
1.4 #line 56 "parse.y"
1.5
1.6 #include "sqliteInt.h"
1.7 -#include "parse.h"
1.8
1.9 /*
1.10 ** An instance of this structure holds information about the
1.11 @@ -43,7 +42,7 @@
1.12 */
1.13 struct AttachKey { int type; Token key; };
1.14
1.15 -#line 48 "parse.c"
1.16 +#line 47 "parse.c"
1.17 /* Next is all token values, in a form suitable for use by makeheaders.
1.18 ** This section will be null unless lemon is run with the -m switch.
1.19 */
1.20 @@ -1267,9 +1266,9 @@
1.21 case 155:
1.22 case 189:
1.23 case 206:
1.24 -#line 374 "parse.y"
1.25 +#line 373 "parse.y"
1.26 {sqlite3SelectDelete((yypminor->yy219));}
1.27 -#line 1274 "parse.c"
1.28 +#line 1273 "parse.c"
1.29 break;
1.30 case 169:
1.31 case 170:
1.32 @@ -1281,9 +1280,9 @@
1.33 case 221:
1.34 case 223:
1.35 case 235:
1.36 -#line 627 "parse.y"
1.37 +#line 633 "parse.y"
1.38 {sqlite3ExprDelete((yypminor->yy172));}
1.39 -#line 1288 "parse.c"
1.40 +#line 1287 "parse.c"
1.41 break;
1.42 case 174:
1.43 case 182:
1.44 @@ -1297,40 +1296,40 @@
1.45 case 215:
1.46 case 216:
1.47 case 222:
1.48 -#line 876 "parse.y"
1.49 +#line 887 "parse.y"
1.50 {sqlite3ExprListDelete((yypminor->yy174));}
1.51 -#line 1304 "parse.c"
1.52 +#line 1303 "parse.c"
1.53 break;
1.54 case 188:
1.55 case 193:
1.56 case 201:
1.57 case 202:
1.58 -#line 489 "parse.y"
1.59 +#line 490 "parse.y"
1.60 {sqlite3SrcListDelete((yypminor->yy373));}
1.61 -#line 1312 "parse.c"
1.62 +#line 1311 "parse.c"
1.63 break;
1.64 case 205:
1.65 case 208:
1.66 case 214:
1.67 -#line 506 "parse.y"
1.68 +#line 507 "parse.y"
1.69 {sqlite3IdListDelete((yypminor->yy432));}
1.70 -#line 1319 "parse.c"
1.71 +#line 1318 "parse.c"
1.72 break;
1.73 case 231:
1.74 case 236:
1.75 -#line 979 "parse.y"
1.76 +#line 990 "parse.y"
1.77 {sqlite3DeleteTriggerStep((yypminor->yy243));}
1.78 -#line 1325 "parse.c"
1.79 +#line 1324 "parse.c"
1.80 break;
1.81 case 233:
1.82 -#line 965 "parse.y"
1.83 +#line 976 "parse.y"
1.84 {sqlite3IdListDelete((yypminor->yy370).b);}
1.85 -#line 1330 "parse.c"
1.86 +#line 1329 "parse.c"
1.87 break;
1.88 case 238:
1.89 -#line 1052 "parse.y"
1.90 +#line 1063 "parse.y"
1.91 {sqlite3ExprDelete((yypminor->yy386));}
1.92 -#line 1335 "parse.c"
1.93 +#line 1334 "parse.c"
1.94 break;
1.95 default: break; /* If no destructor action specified: do nothing */
1.96 }
1.97 @@ -1493,7 +1492,7 @@
1.98
1.99 sqlite3ErrorMsg(pParse, "parser stack overflow");
1.100 pParse->parseError = 1;
1.101 -#line 1499 "parse.c"
1.102 +#line 1498 "parse.c"
1.103 sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument var */
1.104 }
1.105
1.106 @@ -1944,67 +1943,67 @@
1.107 case 303:
1.108 case 305:
1.109 case 309:
1.110 -#line 97 "parse.y"
1.111 +#line 96 "parse.y"
1.112 {
1.113 }
1.114 -#line 1953 "parse.c"
1.115 +#line 1952 "parse.c"
1.116 break;
1.117 case 3:
1.118 -#line 100 "parse.y"
1.119 +#line 99 "parse.y"
1.120 { sqlite3FinishCoding(pParse); }
1.121 -#line 1958 "parse.c"
1.122 +#line 1957 "parse.c"
1.123 break;
1.124 case 6:
1.125 -#line 103 "parse.y"
1.126 +#line 102 "parse.y"
1.127 { sqlite3BeginParse(pParse, 0); }
1.128 -#line 1963 "parse.c"
1.129 +#line 1962 "parse.c"
1.130 break;
1.131 case 7:
1.132 -#line 105 "parse.y"
1.133 +#line 104 "parse.y"
1.134 { sqlite3BeginParse(pParse, 1); }
1.135 -#line 1968 "parse.c"
1.136 +#line 1967 "parse.c"
1.137 break;
1.138 case 8:
1.139 -#line 106 "parse.y"
1.140 +#line 105 "parse.y"
1.141 { sqlite3BeginParse(pParse, 2); }
1.142 -#line 1973 "parse.c"
1.143 +#line 1972 "parse.c"
1.144 break;
1.145 case 9:
1.146 -#line 112 "parse.y"
1.147 +#line 111 "parse.y"
1.148 {sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy46);}
1.149 -#line 1978 "parse.c"
1.150 +#line 1977 "parse.c"
1.151 break;
1.152 case 13:
1.153 -#line 117 "parse.y"
1.154 +#line 116 "parse.y"
1.155 {yygotominor.yy46 = TK_DEFERRED;}
1.156 -#line 1983 "parse.c"
1.157 +#line 1982 "parse.c"
1.158 break;
1.159 case 14:
1.160 case 15:
1.161 case 16:
1.162 case 107:
1.163 case 109:
1.164 -#line 118 "parse.y"
1.165 +#line 117 "parse.y"
1.166 {yygotominor.yy46 = yymsp[0].major;}
1.167 -#line 1992 "parse.c"
1.168 +#line 1991 "parse.c"
1.169 break;
1.170 case 17:
1.171 case 18:
1.172 -#line 121 "parse.y"
1.173 +#line 120 "parse.y"
1.174 {sqlite3CommitTransaction(pParse);}
1.175 -#line 1998 "parse.c"
1.176 +#line 1997 "parse.c"
1.177 break;
1.178 case 19:
1.179 -#line 123 "parse.y"
1.180 +#line 122 "parse.y"
1.181 {sqlite3RollbackTransaction(pParse);}
1.182 -#line 2003 "parse.c"
1.183 +#line 2002 "parse.c"
1.184 break;
1.185 case 21:
1.186 -#line 128 "parse.y"
1.187 +#line 127 "parse.y"
1.188 {
1.189 sqlite3StartTable(pParse,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy410,yymsp[-4].minor.yy46,0,0,yymsp[-2].minor.yy46);
1.190 }
1.191 -#line 2010 "parse.c"
1.192 +#line 2009 "parse.c"
1.193 break;
1.194 case 22:
1.195 case 25:
1.196 @@ -2017,9 +2016,9 @@
1.197 case 113:
1.198 case 212:
1.199 case 215:
1.200 -#line 132 "parse.y"
1.201 +#line 131 "parse.y"
1.202 {yygotominor.yy46 = 0;}
1.203 -#line 2025 "parse.c"
1.204 +#line 2024 "parse.c"
1.205 break;
1.206 case 23:
1.207 case 24:
1.208 @@ -2029,40 +2028,40 @@
1.209 case 111:
1.210 case 213:
1.211 case 216:
1.212 -#line 133 "parse.y"
1.213 +#line 132 "parse.y"
1.214 {yygotominor.yy46 = 1;}
1.215 -#line 2037 "parse.c"
1.216 +#line 2036 "parse.c"
1.217 break;
1.218 case 26:
1.219 -#line 139 "parse.y"
1.220 +#line 138 "parse.y"
1.221 {
1.222 sqlite3EndTable(pParse,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy0,0);
1.223 }
1.224 -#line 2044 "parse.c"
1.225 +#line 2043 "parse.c"
1.226 break;
1.227 case 27:
1.228 -#line 142 "parse.y"
1.229 +#line 141 "parse.y"
1.230 {
1.231 sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy219);
1.232 sqlite3SelectDelete(yymsp[0].minor.yy219);
1.233 }
1.234 -#line 2052 "parse.c"
1.235 +#line 2051 "parse.c"
1.236 break;
1.237 case 30:
1.238 -#line 154 "parse.y"
1.239 +#line 153 "parse.y"
1.240 {
1.241 yygotominor.yy410.z = yymsp[-2].minor.yy410.z;
1.242 yygotominor.yy410.n = (pParse->sLastToken.z-yymsp[-2].minor.yy410.z) + pParse->sLastToken.n;
1.243 }
1.244 -#line 2060 "parse.c"
1.245 +#line 2059 "parse.c"
1.246 break;
1.247 case 31:
1.248 -#line 158 "parse.y"
1.249 +#line 157 "parse.y"
1.250 {
1.251 sqlite3AddColumn(pParse,&yymsp[0].minor.yy410);
1.252 yygotominor.yy410 = yymsp[0].minor.yy410;
1.253 }
1.254 -#line 2068 "parse.c"
1.255 +#line 2067 "parse.c"
1.256 break;
1.257 case 32:
1.258 case 33:
1.259 @@ -2070,14 +2069,14 @@
1.260 case 35:
1.261 case 36:
1.262 case 255:
1.263 -#line 168 "parse.y"
1.264 +#line 167 "parse.y"
1.265 {yygotominor.yy410 = yymsp[0].minor.yy0;}
1.266 -#line 2078 "parse.c"
1.267 +#line 2077 "parse.c"
1.268 break;
1.269 case 38:
1.270 -#line 229 "parse.y"
1.271 +#line 228 "parse.y"
1.272 {sqlite3AddColumnType(pParse,&yymsp[0].minor.yy410);}
1.273 -#line 2083 "parse.c"
1.274 +#line 2082 "parse.c"
1.275 break;
1.276 case 39:
1.277 case 42:
1.278 @@ -2090,142 +2089,142 @@
1.279 case 252:
1.280 case 253:
1.281 case 254:
1.282 -#line 230 "parse.y"
1.283 +#line 229 "parse.y"
1.284 {yygotominor.yy410 = yymsp[0].minor.yy410;}
1.285 -#line 2098 "parse.c"
1.286 +#line 2097 "parse.c"
1.287 break;
1.288 case 40:
1.289 -#line 231 "parse.y"
1.290 +#line 230 "parse.y"
1.291 {
1.292 yygotominor.yy410.z = yymsp[-3].minor.yy410.z;
1.293 yygotominor.yy410.n = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy410.z;
1.294 }
1.295 -#line 2106 "parse.c"
1.296 +#line 2105 "parse.c"
1.297 break;
1.298 case 41:
1.299 -#line 235 "parse.y"
1.300 +#line 234 "parse.y"
1.301 {
1.302 yygotominor.yy410.z = yymsp[-5].minor.yy410.z;
1.303 yygotominor.yy410.n = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy410.z;
1.304 }
1.305 -#line 2114 "parse.c"
1.306 +#line 2113 "parse.c"
1.307 break;
1.308 case 43:
1.309 -#line 241 "parse.y"
1.310 +#line 240 "parse.y"
1.311 {yygotominor.yy410.z=yymsp[-1].minor.yy410.z; yygotominor.yy410.n=yymsp[0].minor.yy410.n+(yymsp[0].minor.yy410.z-yymsp[-1].minor.yy410.z);}
1.312 -#line 2119 "parse.c"
1.313 +#line 2118 "parse.c"
1.314 break;
1.315 case 50:
1.316 case 52:
1.317 -#line 252 "parse.y"
1.318 +#line 251 "parse.y"
1.319 {sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy172);}
1.320 -#line 2125 "parse.c"
1.321 +#line 2124 "parse.c"
1.322 break;
1.323 case 51:
1.324 -#line 253 "parse.y"
1.325 +#line 252 "parse.y"
1.326 {sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy172);}
1.327 -#line 2130 "parse.c"
1.328 +#line 2129 "parse.c"
1.329 break;
1.330 case 53:
1.331 -#line 255 "parse.y"
1.332 +#line 254 "parse.y"
1.333 {
1.334 - Expr *p = sqlite3Expr(TK_UMINUS, yymsp[0].minor.yy172, 0, 0);
1.335 + Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy172, 0, 0);
1.336 sqlite3AddDefaultValue(pParse,p);
1.337 }
1.338 -#line 2138 "parse.c"
1.339 +#line 2137 "parse.c"
1.340 break;
1.341 case 54:
1.342 -#line 259 "parse.y"
1.343 +#line 258 "parse.y"
1.344 {
1.345 - Expr *p = sqlite3Expr(TK_STRING, 0, 0, &yymsp[0].minor.yy410);
1.346 + Expr *p = sqlite3PExpr(pParse, TK_STRING, 0, 0, &yymsp[0].minor.yy410);
1.347 sqlite3AddDefaultValue(pParse,p);
1.348 }
1.349 -#line 2146 "parse.c"
1.350 +#line 2145 "parse.c"
1.351 break;
1.352 case 56:
1.353 -#line 268 "parse.y"
1.354 +#line 267 "parse.y"
1.355 {sqlite3AddNotNull(pParse, yymsp[0].minor.yy46);}
1.356 -#line 2151 "parse.c"
1.357 +#line 2150 "parse.c"
1.358 break;
1.359 case 57:
1.360 -#line 270 "parse.y"
1.361 +#line 269 "parse.y"
1.362 {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy46,yymsp[0].minor.yy46,yymsp[-2].minor.yy46);}
1.363 -#line 2156 "parse.c"
1.364 +#line 2155 "parse.c"
1.365 break;
1.366 case 58:
1.367 -#line 271 "parse.y"
1.368 +#line 270 "parse.y"
1.369 {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy46,0,0,0,0);}
1.370 -#line 2161 "parse.c"
1.371 +#line 2160 "parse.c"
1.372 break;
1.373 case 59:
1.374 -#line 272 "parse.y"
1.375 +#line 271 "parse.y"
1.376 {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy172);}
1.377 -#line 2166 "parse.c"
1.378 +#line 2165 "parse.c"
1.379 break;
1.380 case 60:
1.381 -#line 274 "parse.y"
1.382 +#line 273 "parse.y"
1.383 {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy410,yymsp[-1].minor.yy174,yymsp[0].minor.yy46);}
1.384 -#line 2171 "parse.c"
1.385 +#line 2170 "parse.c"
1.386 break;
1.387 case 61:
1.388 -#line 275 "parse.y"
1.389 +#line 274 "parse.y"
1.390 {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy46);}
1.391 -#line 2176 "parse.c"
1.392 +#line 2175 "parse.c"
1.393 break;
1.394 case 62:
1.395 -#line 276 "parse.y"
1.396 +#line 275 "parse.y"
1.397 {sqlite3AddCollateType(pParse, (char*)yymsp[0].minor.yy410.z, yymsp[0].minor.yy410.n);}
1.398 -#line 2181 "parse.c"
1.399 +#line 2180 "parse.c"
1.400 break;
1.401 case 65:
1.402 -#line 289 "parse.y"
1.403 +#line 288 "parse.y"
1.404 { yygotominor.yy46 = OE_Restrict * 0x010101; }
1.405 -#line 2186 "parse.c"
1.406 +#line 2185 "parse.c"
1.407 break;
1.408 case 66:
1.409 -#line 290 "parse.y"
1.410 +#line 289 "parse.y"
1.411 { yygotominor.yy46 = (yymsp[-1].minor.yy46 & yymsp[0].minor.yy405.mask) | yymsp[0].minor.yy405.value; }
1.412 -#line 2191 "parse.c"
1.413 +#line 2190 "parse.c"
1.414 break;
1.415 case 67:
1.416 -#line 292 "parse.y"
1.417 +#line 291 "parse.y"
1.418 { yygotominor.yy405.value = 0; yygotominor.yy405.mask = 0x000000; }
1.419 -#line 2196 "parse.c"
1.420 +#line 2195 "parse.c"
1.421 break;
1.422 case 68:
1.423 -#line 293 "parse.y"
1.424 +#line 292 "parse.y"
1.425 { yygotominor.yy405.value = yymsp[0].minor.yy46; yygotominor.yy405.mask = 0x0000ff; }
1.426 -#line 2201 "parse.c"
1.427 +#line 2200 "parse.c"
1.428 break;
1.429 case 69:
1.430 -#line 294 "parse.y"
1.431 +#line 293 "parse.y"
1.432 { yygotominor.yy405.value = yymsp[0].minor.yy46<<8; yygotominor.yy405.mask = 0x00ff00; }
1.433 -#line 2206 "parse.c"
1.434 +#line 2205 "parse.c"
1.435 break;
1.436 case 70:
1.437 -#line 295 "parse.y"
1.438 +#line 294 "parse.y"
1.439 { yygotominor.yy405.value = yymsp[0].minor.yy46<<16; yygotominor.yy405.mask = 0xff0000; }
1.440 -#line 2211 "parse.c"
1.441 +#line 2210 "parse.c"
1.442 break;
1.443 case 71:
1.444 -#line 297 "parse.y"
1.445 +#line 296 "parse.y"
1.446 { yygotominor.yy46 = OE_SetNull; }
1.447 -#line 2216 "parse.c"
1.448 +#line 2215 "parse.c"
1.449 break;
1.450 case 72:
1.451 -#line 298 "parse.y"
1.452 +#line 297 "parse.y"
1.453 { yygotominor.yy46 = OE_SetDflt; }
1.454 -#line 2221 "parse.c"
1.455 +#line 2220 "parse.c"
1.456 break;
1.457 case 73:
1.458 -#line 299 "parse.y"
1.459 +#line 298 "parse.y"
1.460 { yygotominor.yy46 = OE_Cascade; }
1.461 -#line 2226 "parse.c"
1.462 +#line 2225 "parse.c"
1.463 break;
1.464 case 74:
1.465 -#line 300 "parse.y"
1.466 +#line 299 "parse.y"
1.467 { yygotominor.yy46 = OE_Restrict; }
1.468 -#line 2231 "parse.c"
1.469 +#line 2230 "parse.c"
1.470 break;
1.471 case 75:
1.472 case 76:
1.473 @@ -2234,97 +2233,97 @@
1.474 case 95:
1.475 case 96:
1.476 case 166:
1.477 -#line 302 "parse.y"
1.478 +#line 301 "parse.y"
1.479 {yygotominor.yy46 = yymsp[0].minor.yy46;}
1.480 -#line 2242 "parse.c"
1.481 +#line 2241 "parse.c"
1.482 break;
1.483 case 80:
1.484 -#line 312 "parse.y"
1.485 +#line 311 "parse.y"
1.486 {yygotominor.yy410.n = 0; yygotominor.yy410.z = 0;}
1.487 -#line 2247 "parse.c"
1.488 +#line 2246 "parse.c"
1.489 break;
1.490 case 81:
1.491 -#line 313 "parse.y"
1.492 +#line 312 "parse.y"
1.493 {yygotominor.yy410 = yymsp[-1].minor.yy0;}
1.494 -#line 2252 "parse.c"
1.495 +#line 2251 "parse.c"
1.496 break;
1.497 case 86:
1.498 -#line 319 "parse.y"
1.499 +#line 318 "parse.y"
1.500 {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy174,yymsp[0].minor.yy46,yymsp[-2].minor.yy46,0);}
1.501 -#line 2257 "parse.c"
1.502 +#line 2256 "parse.c"
1.503 break;
1.504 case 87:
1.505 -#line 321 "parse.y"
1.506 +#line 320 "parse.y"
1.507 {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy174,yymsp[0].minor.yy46,0,0,0,0);}
1.508 -#line 2262 "parse.c"
1.509 +#line 2261 "parse.c"
1.510 break;
1.511 case 88:
1.512 -#line 322 "parse.y"
1.513 +#line 321 "parse.y"
1.514 {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy172);}
1.515 -#line 2267 "parse.c"
1.516 +#line 2266 "parse.c"
1.517 break;
1.518 case 89:
1.519 -#line 324 "parse.y"
1.520 +#line 323 "parse.y"
1.521 {
1.522 sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy174, &yymsp[-3].minor.yy410, yymsp[-2].minor.yy174, yymsp[-1].minor.yy46);
1.523 sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy46);
1.524 }
1.525 -#line 2275 "parse.c"
1.526 +#line 2274 "parse.c"
1.527 break;
1.528 case 92:
1.529 case 94:
1.530 -#line 338 "parse.y"
1.531 +#line 337 "parse.y"
1.532 {yygotominor.yy46 = OE_Default;}
1.533 -#line 2281 "parse.c"
1.534 +#line 2280 "parse.c"
1.535 break;
1.536 case 97:
1.537 -#line 343 "parse.y"
1.538 +#line 342 "parse.y"
1.539 {yygotominor.yy46 = OE_Ignore;}
1.540 -#line 2286 "parse.c"
1.541 +#line 2285 "parse.c"
1.542 break;
1.543 case 98:
1.544 case 167:
1.545 -#line 344 "parse.y"
1.546 +#line 343 "parse.y"
1.547 {yygotominor.yy46 = OE_Replace;}
1.548 -#line 2292 "parse.c"
1.549 +#line 2291 "parse.c"
1.550 break;
1.551 case 99:
1.552 -#line 348 "parse.y"
1.553 +#line 347 "parse.y"
1.554 {
1.555 sqlite3DropTable(pParse, yymsp[0].minor.yy373, 0, yymsp[-1].minor.yy46);
1.556 }
1.557 -#line 2299 "parse.c"
1.558 +#line 2298 "parse.c"
1.559 break;
1.560 case 102:
1.561 -#line 358 "parse.y"
1.562 +#line 357 "parse.y"
1.563 {
1.564 sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy410, &yymsp[-2].minor.yy410, yymsp[0].minor.yy219, yymsp[-6].minor.yy46, yymsp[-4].minor.yy46);
1.565 }
1.566 -#line 2306 "parse.c"
1.567 +#line 2305 "parse.c"
1.568 break;
1.569 case 103:
1.570 -#line 361 "parse.y"
1.571 +#line 360 "parse.y"
1.572 {
1.573 sqlite3DropTable(pParse, yymsp[0].minor.yy373, 1, yymsp[-1].minor.yy46);
1.574 }
1.575 -#line 2313 "parse.c"
1.576 +#line 2312 "parse.c"
1.577 break;
1.578 case 104:
1.579 -#line 368 "parse.y"
1.580 +#line 367 "parse.y"
1.581 {
1.582 sqlite3Select(pParse, yymsp[0].minor.yy219, SRT_Callback, 0, 0, 0, 0, 0);
1.583 sqlite3SelectDelete(yymsp[0].minor.yy219);
1.584 }
1.585 -#line 2321 "parse.c"
1.586 +#line 2320 "parse.c"
1.587 break;
1.588 case 105:
1.589 case 128:
1.590 -#line 378 "parse.y"
1.591 +#line 377 "parse.y"
1.592 {yygotominor.yy219 = yymsp[0].minor.yy219;}
1.593 -#line 2327 "parse.c"
1.594 +#line 2326 "parse.c"
1.595 break;
1.596 case 106:
1.597 -#line 380 "parse.y"
1.598 +#line 379 "parse.y"
1.599 {
1.600 if( yymsp[0].minor.yy219 ){
1.601 yymsp[0].minor.yy219->op = yymsp[-1].minor.yy46;
1.602 @@ -2334,140 +2333,142 @@
1.603 }
1.604 yygotominor.yy219 = yymsp[0].minor.yy219;
1.605 }
1.606 -#line 2340 "parse.c"
1.607 +#line 2339 "parse.c"
1.608 break;
1.609 case 108:
1.610 -#line 391 "parse.y"
1.611 +#line 390 "parse.y"
1.612 {yygotominor.yy46 = TK_ALL;}
1.613 -#line 2345 "parse.c"
1.614 +#line 2344 "parse.c"
1.615 break;
1.616 case 110:
1.617 -#line 395 "parse.y"
1.618 +#line 394 "parse.y"
1.619 {
1.620 - yygotominor.yy219 = sqlite3SelectNew(yymsp[-6].minor.yy174,yymsp[-5].minor.yy373,yymsp[-4].minor.yy172,yymsp[-3].minor.yy174,yymsp[-2].minor.yy172,yymsp[-1].minor.yy174,yymsp[-7].minor.yy46,yymsp[0].minor.yy234.pLimit,yymsp[0].minor.yy234.pOffset);
1.621 + yygotominor.yy219 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy174,yymsp[-5].minor.yy373,yymsp[-4].minor.yy172,yymsp[-3].minor.yy174,yymsp[-2].minor.yy172,yymsp[-1].minor.yy174,yymsp[-7].minor.yy46,yymsp[0].minor.yy234.pLimit,yymsp[0].minor.yy234.pOffset);
1.622 }
1.623 -#line 2352 "parse.c"
1.624 +#line 2351 "parse.c"
1.625 break;
1.626 case 114:
1.627 case 237:
1.628 -#line 416 "parse.y"
1.629 +#line 415 "parse.y"
1.630 {yygotominor.yy174 = yymsp[-1].minor.yy174;}
1.631 -#line 2358 "parse.c"
1.632 +#line 2357 "parse.c"
1.633 break;
1.634 case 115:
1.635 case 141:
1.636 case 149:
1.637 case 230:
1.638 case 236:
1.639 -#line 417 "parse.y"
1.640 +#line 416 "parse.y"
1.641 {yygotominor.yy174 = 0;}
1.642 -#line 2367 "parse.c"
1.643 +#line 2366 "parse.c"
1.644 break;
1.645 case 116:
1.646 -#line 418 "parse.y"
1.647 +#line 417 "parse.y"
1.648 {
1.649 - yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-2].minor.yy174,yymsp[-1].minor.yy172,yymsp[0].minor.yy410.n?&yymsp[0].minor.yy410:0);
1.650 + yygotominor.yy174 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy174,yymsp[-1].minor.yy172,yymsp[0].minor.yy410.n?&yymsp[0].minor.yy410:0);
1.651 }
1.652 -#line 2374 "parse.c"
1.653 +#line 2373 "parse.c"
1.654 break;
1.655 case 117:
1.656 -#line 421 "parse.y"
1.657 +#line 420 "parse.y"
1.658 {
1.659 - yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-1].minor.yy174, sqlite3Expr(TK_ALL, 0, 0, 0), 0);
1.660 + Expr *p = sqlite3PExpr(pParse, TK_ALL, 0, 0, 0);
1.661 + yygotominor.yy174 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy174, p, 0);
1.662 }
1.663 #line 2381 "parse.c"
1.664 break;
1.665 case 118:
1.666 #line 424 "parse.y"
1.667 {
1.668 - Expr *pRight = sqlite3Expr(TK_ALL, 0, 0, 0);
1.669 - Expr *pLeft = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy410);
1.670 - yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-3].minor.yy174, sqlite3Expr(TK_DOT, pLeft, pRight, 0), 0);
1.671 + Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, 0);
1.672 + Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy410);
1.673 + Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0);
1.674 + yygotominor.yy174 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy174, pDot, 0);
1.675 }
1.676 -#line 2390 "parse.c"
1.677 +#line 2391 "parse.c"
1.678 break;
1.679 case 121:
1.680 -#line 436 "parse.y"
1.681 +#line 437 "parse.y"
1.682 {yygotominor.yy410.n = 0;}
1.683 -#line 2395 "parse.c"
1.684 +#line 2396 "parse.c"
1.685 break;
1.686 case 122:
1.687 -#line 448 "parse.y"
1.688 -{yygotominor.yy373 = sqliteMalloc(sizeof(*yygotominor.yy373));}
1.689 -#line 2400 "parse.c"
1.690 +#line 449 "parse.y"
1.691 +{yygotominor.yy373 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy373));}
1.692 +#line 2401 "parse.c"
1.693 break;
1.694 case 123:
1.695 -#line 449 "parse.y"
1.696 +#line 450 "parse.y"
1.697 {
1.698 yygotominor.yy373 = yymsp[0].minor.yy373;
1.699 sqlite3SrcListShiftJoinType(yygotominor.yy373);
1.700 }
1.701 -#line 2408 "parse.c"
1.702 +#line 2409 "parse.c"
1.703 break;
1.704 case 124:
1.705 -#line 457 "parse.y"
1.706 +#line 458 "parse.y"
1.707 {
1.708 yygotominor.yy373 = yymsp[-1].minor.yy373;
1.709 if( yygotominor.yy373 && yygotominor.yy373->nSrc>0 ) yygotominor.yy373->a[yygotominor.yy373->nSrc-1].jointype = yymsp[0].minor.yy46;
1.710 }
1.711 -#line 2416 "parse.c"
1.712 +#line 2417 "parse.c"
1.713 break;
1.714 case 125:
1.715 -#line 461 "parse.y"
1.716 +#line 462 "parse.y"
1.717 {yygotominor.yy373 = 0;}
1.718 -#line 2421 "parse.c"
1.719 +#line 2422 "parse.c"
1.720 break;
1.721 case 126:
1.722 -#line 462 "parse.y"
1.723 +#line 463 "parse.y"
1.724 {
1.725 - yygotominor.yy373 = sqlite3SrcListAppendFromTerm(yymsp[-5].minor.yy373,&yymsp[-4].minor.yy410,&yymsp[-3].minor.yy410,&yymsp[-2].minor.yy410,0,yymsp[-1].minor.yy172,yymsp[0].minor.yy432);
1.726 + yygotominor.yy373 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-5].minor.yy373,&yymsp[-4].minor.yy410,&yymsp[-3].minor.yy410,&yymsp[-2].minor.yy410,0,yymsp[-1].minor.yy172,yymsp[0].minor.yy432);
1.727 }
1.728 -#line 2428 "parse.c"
1.729 +#line 2429 "parse.c"
1.730 break;
1.731 case 127:
1.732 -#line 467 "parse.y"
1.733 +#line 468 "parse.y"
1.734 {
1.735 - yygotominor.yy373 = sqlite3SrcListAppendFromTerm(yymsp[-6].minor.yy373,0,0,&yymsp[-2].minor.yy410,yymsp[-4].minor.yy219,yymsp[-1].minor.yy172,yymsp[0].minor.yy432);
1.736 + yygotominor.yy373 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy373,0,0,&yymsp[-2].minor.yy410,yymsp[-4].minor.yy219,yymsp[-1].minor.yy172,yymsp[0].minor.yy432);
1.737 }
1.738 -#line 2435 "parse.c"
1.739 +#line 2436 "parse.c"
1.740 break;
1.741 case 129:
1.742 -#line 478 "parse.y"
1.743 +#line 479 "parse.y"
1.744 {
1.745 sqlite3SrcListShiftJoinType(yymsp[0].minor.yy373);
1.746 - yygotominor.yy219 = sqlite3SelectNew(0,yymsp[0].minor.yy373,0,0,0,0,0,0,0);
1.747 + yygotominor.yy219 = sqlite3SelectNew(pParse,0,yymsp[0].minor.yy373,0,0,0,0,0,0,0);
1.748 }
1.749 -#line 2443 "parse.c"
1.750 +#line 2444 "parse.c"
1.751 break;
1.752 case 130:
1.753 -#line 485 "parse.y"
1.754 +#line 486 "parse.y"
1.755 {yygotominor.yy410.z=0; yygotominor.yy410.n=0;}
1.756 -#line 2448 "parse.c"
1.757 +#line 2449 "parse.c"
1.758 break;
1.759 case 132:
1.760 -#line 490 "parse.y"
1.761 -{yygotominor.yy373 = sqlite3SrcListAppend(0,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy410);}
1.762 -#line 2453 "parse.c"
1.763 +#line 491 "parse.y"
1.764 +{yygotominor.yy373 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy410);}
1.765 +#line 2454 "parse.c"
1.766 break;
1.767 case 133:
1.768 -#line 494 "parse.y"
1.769 +#line 495 "parse.y"
1.770 { yygotominor.yy46 = JT_INNER; }
1.771 -#line 2458 "parse.c"
1.772 +#line 2459 "parse.c"
1.773 break;
1.774 case 134:
1.775 -#line 495 "parse.y"
1.776 +#line 496 "parse.y"
1.777 { yygotominor.yy46 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); }
1.778 -#line 2463 "parse.c"
1.779 +#line 2464 "parse.c"
1.780 break;
1.781 case 135:
1.782 -#line 496 "parse.y"
1.783 +#line 497 "parse.y"
1.784 { yygotominor.yy46 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy410,0); }
1.785 -#line 2468 "parse.c"
1.786 +#line 2469 "parse.c"
1.787 break;
1.788 case 136:
1.789 -#line 498 "parse.y"
1.790 +#line 499 "parse.y"
1.791 { yygotominor.yy46 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy410,&yymsp[-1].minor.yy410); }
1.792 -#line 2473 "parse.c"
1.793 +#line 2474 "parse.c"
1.794 break;
1.795 case 137:
1.796 case 145:
1.797 @@ -2477,9 +2478,9 @@
1.798 case 202:
1.799 case 225:
1.800 case 227:
1.801 -#line 502 "parse.y"
1.802 +#line 503 "parse.y"
1.803 {yygotominor.yy172 = yymsp[0].minor.yy172;}
1.804 -#line 2485 "parse.c"
1.805 +#line 2486 "parse.c"
1.806 break;
1.807 case 138:
1.808 case 151:
1.809 @@ -2487,237 +2488,237 @@
1.810 case 203:
1.811 case 226:
1.812 case 228:
1.813 -#line 503 "parse.y"
1.814 +#line 504 "parse.y"
1.815 {yygotominor.yy172 = 0;}
1.816 -#line 2495 "parse.c"
1.817 +#line 2496 "parse.c"
1.818 break;
1.819 case 139:
1.820 case 171:
1.821 -#line 507 "parse.y"
1.822 +#line 508 "parse.y"
1.823 {yygotominor.yy432 = yymsp[-1].minor.yy432;}
1.824 -#line 2501 "parse.c"
1.825 +#line 2502 "parse.c"
1.826 break;
1.827 case 140:
1.828 case 170:
1.829 -#line 508 "parse.y"
1.830 +#line 509 "parse.y"
1.831 {yygotominor.yy432 = 0;}
1.832 -#line 2507 "parse.c"
1.833 +#line 2508 "parse.c"
1.834 break;
1.835 case 142:
1.836 case 150:
1.837 case 229:
1.838 -#line 519 "parse.y"
1.839 +#line 520 "parse.y"
1.840 {yygotominor.yy174 = yymsp[0].minor.yy174;}
1.841 -#line 2514 "parse.c"
1.842 +#line 2515 "parse.c"
1.843 break;
1.844 case 143:
1.845 -#line 520 "parse.y"
1.846 +#line 521 "parse.y"
1.847 {
1.848 - yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-3].minor.yy174,yymsp[-1].minor.yy172,0);
1.849 + yygotominor.yy174 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy174,yymsp[-1].minor.yy172,0);
1.850 if( yygotominor.yy174 ) yygotominor.yy174->a[yygotominor.yy174->nExpr-1].sortOrder = yymsp[0].minor.yy46;
1.851 }
1.852 -#line 2522 "parse.c"
1.853 +#line 2523 "parse.c"
1.854 break;
1.855 case 144:
1.856 -#line 524 "parse.y"
1.857 +#line 525 "parse.y"
1.858 {
1.859 - yygotominor.yy174 = sqlite3ExprListAppend(0,yymsp[-1].minor.yy172,0);
1.860 + yygotominor.yy174 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy172,0);
1.861 if( yygotominor.yy174 && yygotominor.yy174->a ) yygotominor.yy174->a[0].sortOrder = yymsp[0].minor.yy46;
1.862 }
1.863 -#line 2530 "parse.c"
1.864 +#line 2531 "parse.c"
1.865 break;
1.866 case 146:
1.867 case 148:
1.868 -#line 532 "parse.y"
1.869 +#line 533 "parse.y"
1.870 {yygotominor.yy46 = SQLITE_SO_ASC;}
1.871 -#line 2536 "parse.c"
1.872 +#line 2537 "parse.c"
1.873 break;
1.874 case 147:
1.875 -#line 533 "parse.y"
1.876 +#line 534 "parse.y"
1.877 {yygotominor.yy46 = SQLITE_SO_DESC;}
1.878 -#line 2541 "parse.c"
1.879 +#line 2542 "parse.c"
1.880 break;
1.881 case 153:
1.882 -#line 559 "parse.y"
1.883 +#line 560 "parse.y"
1.884 {yygotominor.yy234.pLimit = 0; yygotominor.yy234.pOffset = 0;}
1.885 -#line 2546 "parse.c"
1.886 +#line 2547 "parse.c"
1.887 break;
1.888 case 154:
1.889 -#line 560 "parse.y"
1.890 +#line 561 "parse.y"
1.891 {yygotominor.yy234.pLimit = yymsp[0].minor.yy172; yygotominor.yy234.pOffset = 0;}
1.892 -#line 2551 "parse.c"
1.893 +#line 2552 "parse.c"
1.894 break;
1.895 case 155:
1.896 -#line 562 "parse.y"
1.897 +#line 563 "parse.y"
1.898 {yygotominor.yy234.pLimit = yymsp[-2].minor.yy172; yygotominor.yy234.pOffset = yymsp[0].minor.yy172;}
1.899 -#line 2556 "parse.c"
1.900 +#line 2557 "parse.c"
1.901 break;
1.902 case 156:
1.903 -#line 564 "parse.y"
1.904 +#line 565 "parse.y"
1.905 {yygotominor.yy234.pOffset = yymsp[-2].minor.yy172; yygotominor.yy234.pLimit = yymsp[0].minor.yy172;}
1.906 -#line 2561 "parse.c"
1.907 +#line 2562 "parse.c"
1.908 break;
1.909 case 157:
1.910 -#line 568 "parse.y"
1.911 +#line 569 "parse.y"
1.912 {sqlite3DeleteFrom(pParse,yymsp[-1].minor.yy373,yymsp[0].minor.yy172);}
1.913 -#line 2566 "parse.c"
1.914 +#line 2567 "parse.c"
1.915 break;
1.916 case 160:
1.917 -#line 578 "parse.y"
1.918 +#line 579 "parse.y"
1.919 {
1.920 sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy174,SQLITE_MAX_COLUMN,"set list");
1.921 sqlite3Update(pParse,yymsp[-3].minor.yy373,yymsp[-1].minor.yy174,yymsp[0].minor.yy172,yymsp[-4].minor.yy46);
1.922 }
1.923 -#line 2574 "parse.c"
1.924 +#line 2575 "parse.c"
1.925 break;
1.926 case 161:
1.927 -#line 587 "parse.y"
1.928 -{yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-4].minor.yy174,yymsp[0].minor.yy172,&yymsp[-2].minor.yy410);}
1.929 -#line 2579 "parse.c"
1.930 +#line 588 "parse.y"
1.931 +{yygotominor.yy174 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy174,yymsp[0].minor.yy172,&yymsp[-2].minor.yy410);}
1.932 +#line 2580 "parse.c"
1.933 break;
1.934 case 162:
1.935 -#line 588 "parse.y"
1.936 -{yygotominor.yy174 = sqlite3ExprListAppend(0,yymsp[0].minor.yy172,&yymsp[-2].minor.yy410);}
1.937 -#line 2584 "parse.c"
1.938 +#line 590 "parse.y"
1.939 +{yygotominor.yy174 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy172,&yymsp[-2].minor.yy410);}
1.940 +#line 2585 "parse.c"
1.941 break;
1.942 case 163:
1.943 -#line 594 "parse.y"
1.944 +#line 596 "parse.y"
1.945 {sqlite3Insert(pParse, yymsp[-5].minor.yy373, yymsp[-1].minor.yy174, 0, yymsp[-4].minor.yy432, yymsp[-7].minor.yy46);}
1.946 -#line 2589 "parse.c"
1.947 +#line 2590 "parse.c"
1.948 break;
1.949 case 164:
1.950 -#line 596 "parse.y"
1.951 +#line 598 "parse.y"
1.952 {sqlite3Insert(pParse, yymsp[-2].minor.yy373, 0, yymsp[0].minor.yy219, yymsp[-1].minor.yy432, yymsp[-4].minor.yy46);}
1.953 -#line 2594 "parse.c"
1.954 +#line 2595 "parse.c"
1.955 break;
1.956 case 165:
1.957 -#line 598 "parse.y"
1.958 +#line 600 "parse.y"
1.959 {sqlite3Insert(pParse, yymsp[-3].minor.yy373, 0, 0, yymsp[-2].minor.yy432, yymsp[-5].minor.yy46);}
1.960 -#line 2599 "parse.c"
1.961 +#line 2600 "parse.c"
1.962 break;
1.963 case 168:
1.964 case 231:
1.965 -#line 608 "parse.y"
1.966 -{yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-2].minor.yy174,yymsp[0].minor.yy172,0);}
1.967 -#line 2605 "parse.c"
1.968 +#line 611 "parse.y"
1.969 +{yygotominor.yy174 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy174,yymsp[0].minor.yy172,0);}
1.970 +#line 2606 "parse.c"
1.971 break;
1.972 case 169:
1.973 case 232:
1.974 -#line 609 "parse.y"
1.975 -{yygotominor.yy174 = sqlite3ExprListAppend(0,yymsp[0].minor.yy172,0);}
1.976 -#line 2611 "parse.c"
1.977 +#line 613 "parse.y"
1.978 +{yygotominor.yy174 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy172,0);}
1.979 +#line 2612 "parse.c"
1.980 break;
1.981 case 172:
1.982 -#line 618 "parse.y"
1.983 -{yygotominor.yy432 = sqlite3IdListAppend(yymsp[-2].minor.yy432,&yymsp[0].minor.yy410);}
1.984 -#line 2616 "parse.c"
1.985 +#line 623 "parse.y"
1.986 +{yygotominor.yy432 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy432,&yymsp[0].minor.yy410);}
1.987 +#line 2617 "parse.c"
1.988 break;
1.989 case 173:
1.990 -#line 619 "parse.y"
1.991 -{yygotominor.yy432 = sqlite3IdListAppend(0,&yymsp[0].minor.yy410);}
1.992 -#line 2621 "parse.c"
1.993 +#line 625 "parse.y"
1.994 +{yygotominor.yy432 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy410);}
1.995 +#line 2622 "parse.c"
1.996 break;
1.997 case 175:
1.998 -#line 630 "parse.y"
1.999 +#line 636 "parse.y"
1.1000 {yygotominor.yy172 = yymsp[-1].minor.yy172; sqlite3ExprSpan(yygotominor.yy172,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); }
1.1001 -#line 2626 "parse.c"
1.1002 +#line 2627 "parse.c"
1.1003 break;
1.1004 case 176:
1.1005 case 181:
1.1006 case 182:
1.1007 -#line 631 "parse.y"
1.1008 -{yygotominor.yy172 = sqlite3Expr(yymsp[0].major, 0, 0, &yymsp[0].minor.yy0);}
1.1009 -#line 2633 "parse.c"
1.1010 +#line 637 "parse.y"
1.1011 +{yygotominor.yy172 = sqlite3PExpr(pParse, yymsp[0].major, 0, 0, &yymsp[0].minor.yy0);}
1.1012 +#line 2634 "parse.c"
1.1013 break;
1.1014 case 177:
1.1015 case 178:
1.1016 -#line 632 "parse.y"
1.1017 -{yygotominor.yy172 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy0);}
1.1018 -#line 2639 "parse.c"
1.1019 +#line 638 "parse.y"
1.1020 +{yygotominor.yy172 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);}
1.1021 +#line 2640 "parse.c"
1.1022 break;
1.1023 case 179:
1.1024 -#line 634 "parse.y"
1.1025 +#line 640 "parse.y"
1.1026 {
1.1027 - Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy410);
1.1028 - Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy410);
1.1029 - yygotominor.yy172 = sqlite3Expr(TK_DOT, temp1, temp2, 0);
1.1030 + Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy410);
1.1031 + Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy410);
1.1032 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0);
1.1033 }
1.1034 -#line 2648 "parse.c"
1.1035 +#line 2649 "parse.c"
1.1036 break;
1.1037 case 180:
1.1038 -#line 639 "parse.y"
1.1039 +#line 645 "parse.y"
1.1040 {
1.1041 - Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-4].minor.yy410);
1.1042 - Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy410);
1.1043 - Expr *temp3 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy410);
1.1044 - Expr *temp4 = sqlite3Expr(TK_DOT, temp2, temp3, 0);
1.1045 - yygotominor.yy172 = sqlite3Expr(TK_DOT, temp1, temp4, 0);
1.1046 + Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy410);
1.1047 + Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy410);
1.1048 + Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy410);
1.1049 + Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0);
1.1050 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0);
1.1051 }
1.1052 -#line 2659 "parse.c"
1.1053 +#line 2660 "parse.c"
1.1054 break;
1.1055 case 183:
1.1056 -#line 648 "parse.y"
1.1057 +#line 654 "parse.y"
1.1058 {yygotominor.yy172 = sqlite3RegisterExpr(pParse, &yymsp[0].minor.yy0);}
1.1059 -#line 2664 "parse.c"
1.1060 +#line 2665 "parse.c"
1.1061 break;
1.1062 case 184:
1.1063 -#line 649 "parse.y"
1.1064 +#line 655 "parse.y"
1.1065 {
1.1066 Token *pToken = &yymsp[0].minor.yy0;
1.1067 - Expr *pExpr = yygotominor.yy172 = sqlite3Expr(TK_VARIABLE, 0, 0, pToken);
1.1068 + Expr *pExpr = yygotominor.yy172 = sqlite3PExpr(pParse, TK_VARIABLE, 0, 0, pToken);
1.1069 sqlite3ExprAssignVarNumber(pParse, pExpr);
1.1070 }
1.1071 -#line 2673 "parse.c"
1.1072 +#line 2674 "parse.c"
1.1073 break;
1.1074 case 185:
1.1075 -#line 654 "parse.y"
1.1076 +#line 660 "parse.y"
1.1077 {
1.1078 yygotominor.yy172 = sqlite3ExprSetColl(pParse, yymsp[-2].minor.yy172, &yymsp[0].minor.yy410);
1.1079 }
1.1080 -#line 2680 "parse.c"
1.1081 +#line 2681 "parse.c"
1.1082 break;
1.1083 case 186:
1.1084 -#line 658 "parse.y"
1.1085 +#line 664 "parse.y"
1.1086 {
1.1087 - yygotominor.yy172 = sqlite3Expr(TK_CAST, yymsp[-3].minor.yy172, 0, &yymsp[-1].minor.yy410);
1.1088 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy172, 0, &yymsp[-1].minor.yy410);
1.1089 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0);
1.1090 }
1.1091 -#line 2688 "parse.c"
1.1092 +#line 2689 "parse.c"
1.1093 break;
1.1094 case 187:
1.1095 -#line 663 "parse.y"
1.1096 +#line 669 "parse.y"
1.1097 {
1.1098 if( yymsp[-1].minor.yy174 && yymsp[-1].minor.yy174->nExpr>SQLITE_MAX_FUNCTION_ARG ){
1.1099 sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0);
1.1100 }
1.1101 - yygotominor.yy172 = sqlite3ExprFunction(yymsp[-1].minor.yy174, &yymsp[-4].minor.yy0);
1.1102 + yygotominor.yy172 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy174, &yymsp[-4].minor.yy0);
1.1103 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0);
1.1104 if( yymsp[-2].minor.yy46 && yygotominor.yy172 ){
1.1105 yygotominor.yy172->flags |= EP_Distinct;
1.1106 }
1.1107 }
1.1108 -#line 2702 "parse.c"
1.1109 +#line 2703 "parse.c"
1.1110 break;
1.1111 case 188:
1.1112 -#line 673 "parse.y"
1.1113 +#line 679 "parse.y"
1.1114 {
1.1115 - yygotominor.yy172 = sqlite3ExprFunction(0, &yymsp[-3].minor.yy0);
1.1116 + yygotominor.yy172 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0);
1.1117 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);
1.1118 }
1.1119 -#line 2710 "parse.c"
1.1120 +#line 2711 "parse.c"
1.1121 break;
1.1122 case 189:
1.1123 -#line 677 "parse.y"
1.1124 +#line 683 "parse.y"
1.1125 {
1.1126 /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are
1.1127 ** treated as functions that return constants */
1.1128 - yygotominor.yy172 = sqlite3ExprFunction(0,&yymsp[0].minor.yy0);
1.1129 + yygotominor.yy172 = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0);
1.1130 if( yygotominor.yy172 ){
1.1131 yygotominor.yy172->op = TK_CONST_FUNC;
1.1132 yygotominor.yy172->span = yymsp[0].minor.yy0;
1.1133 }
1.1134 }
1.1135 -#line 2723 "parse.c"
1.1136 +#line 2724 "parse.c"
1.1137 break;
1.1138 case 190:
1.1139 case 191:
1.1140 @@ -2727,129 +2728,129 @@
1.1141 case 195:
1.1142 case 196:
1.1143 case 197:
1.1144 -#line 686 "parse.y"
1.1145 -{yygotominor.yy172 = sqlite3Expr(yymsp[-1].major, yymsp[-2].minor.yy172, yymsp[0].minor.yy172, 0);}
1.1146 -#line 2735 "parse.c"
1.1147 +#line 692 "parse.y"
1.1148 +{yygotominor.yy172 = sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy172,yymsp[0].minor.yy172,0);}
1.1149 +#line 2736 "parse.c"
1.1150 break;
1.1151 case 198:
1.1152 case 200:
1.1153 -#line 696 "parse.y"
1.1154 +#line 704 "parse.y"
1.1155 {yygotominor.yy72.eOperator = yymsp[0].minor.yy0; yygotominor.yy72.not = 0;}
1.1156 -#line 2741 "parse.c"
1.1157 +#line 2742 "parse.c"
1.1158 break;
1.1159 case 199:
1.1160 case 201:
1.1161 -#line 697 "parse.y"
1.1162 +#line 705 "parse.y"
1.1163 {yygotominor.yy72.eOperator = yymsp[0].minor.yy0; yygotominor.yy72.not = 1;}
1.1164 -#line 2747 "parse.c"
1.1165 +#line 2748 "parse.c"
1.1166 break;
1.1167 case 204:
1.1168 -#line 704 "parse.y"
1.1169 +#line 712 "parse.y"
1.1170 {
1.1171 ExprList *pList;
1.1172 - pList = sqlite3ExprListAppend(0, yymsp[-1].minor.yy172, 0);
1.1173 - pList = sqlite3ExprListAppend(pList, yymsp[-3].minor.yy172, 0);
1.1174 + pList = sqlite3ExprListAppend(pParse,0, yymsp[-1].minor.yy172, 0);
1.1175 + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-3].minor.yy172, 0);
1.1176 if( yymsp[0].minor.yy172 ){
1.1177 - pList = sqlite3ExprListAppend(pList, yymsp[0].minor.yy172, 0);
1.1178 + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy172, 0);
1.1179 }
1.1180 - yygotominor.yy172 = sqlite3ExprFunction(pList, &yymsp[-2].minor.yy72.eOperator);
1.1181 - if( yymsp[-2].minor.yy72.not ) yygotominor.yy172 = sqlite3Expr(TK_NOT, yygotominor.yy172, 0, 0);
1.1182 + yygotominor.yy172 = sqlite3ExprFunction(pParse, pList, &yymsp[-2].minor.yy72.eOperator);
1.1183 + if( yymsp[-2].minor.yy72.not ) yygotominor.yy172 = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy172, 0, 0);
1.1184 sqlite3ExprSpan(yygotominor.yy172, &yymsp[-3].minor.yy172->span, &yymsp[-1].minor.yy172->span);
1.1185 if( yygotominor.yy172 ) yygotominor.yy172->flags |= EP_InfixFunc;
1.1186 }
1.1187 -#line 2763 "parse.c"
1.1188 +#line 2764 "parse.c"
1.1189 break;
1.1190 case 205:
1.1191 -#line 717 "parse.y"
1.1192 +#line 725 "parse.y"
1.1193 {
1.1194 - yygotominor.yy172 = sqlite3Expr(yymsp[0].major, yymsp[-1].minor.yy172, 0, 0);
1.1195 + yygotominor.yy172 = sqlite3PExpr(pParse, yymsp[0].major, yymsp[-1].minor.yy172, 0, 0);
1.1196 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-1].minor.yy172->span,&yymsp[0].minor.yy0);
1.1197 }
1.1198 -#line 2771 "parse.c"
1.1199 +#line 2772 "parse.c"
1.1200 break;
1.1201 case 206:
1.1202 -#line 721 "parse.y"
1.1203 +#line 729 "parse.y"
1.1204 {
1.1205 - yygotominor.yy172 = sqlite3Expr(TK_ISNULL, yymsp[-2].minor.yy172, 0, 0);
1.1206 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_ISNULL, yymsp[-2].minor.yy172, 0, 0);
1.1207 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-2].minor.yy172->span,&yymsp[0].minor.yy0);
1.1208 }
1.1209 -#line 2779 "parse.c"
1.1210 +#line 2780 "parse.c"
1.1211 break;
1.1212 case 207:
1.1213 -#line 725 "parse.y"
1.1214 +#line 733 "parse.y"
1.1215 {
1.1216 - yygotominor.yy172 = sqlite3Expr(TK_NOTNULL, yymsp[-2].minor.yy172, 0, 0);
1.1217 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_NOTNULL, yymsp[-2].minor.yy172, 0, 0);
1.1218 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-2].minor.yy172->span,&yymsp[0].minor.yy0);
1.1219 }
1.1220 -#line 2787 "parse.c"
1.1221 +#line 2788 "parse.c"
1.1222 break;
1.1223 case 208:
1.1224 -#line 729 "parse.y"
1.1225 +#line 737 "parse.y"
1.1226 {
1.1227 - yygotominor.yy172 = sqlite3Expr(TK_NOTNULL, yymsp[-3].minor.yy172, 0, 0);
1.1228 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_NOTNULL, yymsp[-3].minor.yy172, 0, 0);
1.1229 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-3].minor.yy172->span,&yymsp[0].minor.yy0);
1.1230 }
1.1231 -#line 2795 "parse.c"
1.1232 +#line 2796 "parse.c"
1.1233 break;
1.1234 case 209:
1.1235 -#line 733 "parse.y"
1.1236 +#line 741 "parse.y"
1.1237 {
1.1238 - yygotominor.yy172 = sqlite3Expr(yymsp[-1].major, yymsp[0].minor.yy172, 0, 0);
1.1239 + yygotominor.yy172 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy172, 0, 0);
1.1240 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy172->span);
1.1241 }
1.1242 -#line 2803 "parse.c"
1.1243 +#line 2804 "parse.c"
1.1244 break;
1.1245 case 210:
1.1246 -#line 737 "parse.y"
1.1247 +#line 745 "parse.y"
1.1248 {
1.1249 - yygotominor.yy172 = sqlite3Expr(TK_UMINUS, yymsp[0].minor.yy172, 0, 0);
1.1250 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy172, 0, 0);
1.1251 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy172->span);
1.1252 }
1.1253 -#line 2811 "parse.c"
1.1254 +#line 2812 "parse.c"
1.1255 break;
1.1256 case 211:
1.1257 -#line 741 "parse.y"
1.1258 +#line 749 "parse.y"
1.1259 {
1.1260 - yygotominor.yy172 = sqlite3Expr(TK_UPLUS, yymsp[0].minor.yy172, 0, 0);
1.1261 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_UPLUS, yymsp[0].minor.yy172, 0, 0);
1.1262 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy172->span);
1.1263 }
1.1264 -#line 2819 "parse.c"
1.1265 +#line 2820 "parse.c"
1.1266 break;
1.1267 case 214:
1.1268 -#line 748 "parse.y"
1.1269 +#line 756 "parse.y"
1.1270 {
1.1271 - ExprList *pList = sqlite3ExprListAppend(0, yymsp[-2].minor.yy172, 0);
1.1272 - pList = sqlite3ExprListAppend(pList, yymsp[0].minor.yy172, 0);
1.1273 - yygotominor.yy172 = sqlite3Expr(TK_BETWEEN, yymsp[-4].minor.yy172, 0, 0);
1.1274 + ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy172, 0);
1.1275 + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy172, 0);
1.1276 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy172, 0, 0);
1.1277 if( yygotominor.yy172 ){
1.1278 yygotominor.yy172->pList = pList;
1.1279 }else{
1.1280 sqlite3ExprListDelete(pList);
1.1281 }
1.1282 - if( yymsp[-3].minor.yy46 ) yygotominor.yy172 = sqlite3Expr(TK_NOT, yygotominor.yy172, 0, 0);
1.1283 + if( yymsp[-3].minor.yy46 ) yygotominor.yy172 = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy172, 0, 0);
1.1284 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-4].minor.yy172->span,&yymsp[0].minor.yy172->span);
1.1285 }
1.1286 -#line 2835 "parse.c"
1.1287 +#line 2836 "parse.c"
1.1288 break;
1.1289 case 217:
1.1290 -#line 764 "parse.y"
1.1291 +#line 772 "parse.y"
1.1292 {
1.1293 - yygotominor.yy172 = sqlite3Expr(TK_IN, yymsp[-4].minor.yy172, 0, 0);
1.1294 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy172, 0, 0);
1.1295 if( yygotominor.yy172 ){
1.1296 yygotominor.yy172->pList = yymsp[-1].minor.yy174;
1.1297 sqlite3ExprSetHeight(yygotominor.yy172);
1.1298 }else{
1.1299 sqlite3ExprListDelete(yymsp[-1].minor.yy174);
1.1300 }
1.1301 - if( yymsp[-3].minor.yy46 ) yygotominor.yy172 = sqlite3Expr(TK_NOT, yygotominor.yy172, 0, 0);
1.1302 + if( yymsp[-3].minor.yy46 ) yygotominor.yy172 = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy172, 0, 0);
1.1303 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-4].minor.yy172->span,&yymsp[0].minor.yy0);
1.1304 }
1.1305 -#line 2850 "parse.c"
1.1306 +#line 2851 "parse.c"
1.1307 break;
1.1308 case 218:
1.1309 -#line 775 "parse.y"
1.1310 +#line 783 "parse.y"
1.1311 {
1.1312 - yygotominor.yy172 = sqlite3Expr(TK_SELECT, 0, 0, 0);
1.1313 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0);
1.1314 if( yygotominor.yy172 ){
1.1315 yygotominor.yy172->pSelect = yymsp[-1].minor.yy219;
1.1316 sqlite3ExprSetHeight(yygotominor.yy172);
1.1317 @@ -2858,43 +2859,43 @@
1.1318 }
1.1319 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);
1.1320 }
1.1321 -#line 2864 "parse.c"
1.1322 +#line 2865 "parse.c"
1.1323 break;
1.1324 case 219:
1.1325 -#line 785 "parse.y"
1.1326 +#line 793 "parse.y"
1.1327 {
1.1328 - yygotominor.yy172 = sqlite3Expr(TK_IN, yymsp[-4].minor.yy172, 0, 0);
1.1329 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy172, 0, 0);
1.1330 if( yygotominor.yy172 ){
1.1331 yygotominor.yy172->pSelect = yymsp[-1].minor.yy219;
1.1332 sqlite3ExprSetHeight(yygotominor.yy172);
1.1333 }else{
1.1334 sqlite3SelectDelete(yymsp[-1].minor.yy219);
1.1335 }
1.1336 - if( yymsp[-3].minor.yy46 ) yygotominor.yy172 = sqlite3Expr(TK_NOT, yygotominor.yy172, 0, 0);
1.1337 + if( yymsp[-3].minor.yy46 ) yygotominor.yy172 = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy172, 0, 0);
1.1338 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-4].minor.yy172->span,&yymsp[0].minor.yy0);
1.1339 }
1.1340 -#line 2879 "parse.c"
1.1341 +#line 2880 "parse.c"
1.1342 break;
1.1343 case 220:
1.1344 -#line 796 "parse.y"
1.1345 +#line 804 "parse.y"
1.1346 {
1.1347 - SrcList *pSrc = sqlite3SrcListAppend(0,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy410);
1.1348 - yygotominor.yy172 = sqlite3Expr(TK_IN, yymsp[-3].minor.yy172, 0, 0);
1.1349 + SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy410);
1.1350 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy172, 0, 0);
1.1351 if( yygotominor.yy172 ){
1.1352 - yygotominor.yy172->pSelect = sqlite3SelectNew(0,pSrc,0,0,0,0,0,0,0);
1.1353 + yygotominor.yy172->pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0);
1.1354 sqlite3ExprSetHeight(yygotominor.yy172);
1.1355 }else{
1.1356 sqlite3SrcListDelete(pSrc);
1.1357 }
1.1358 - if( yymsp[-2].minor.yy46 ) yygotominor.yy172 = sqlite3Expr(TK_NOT, yygotominor.yy172, 0, 0);
1.1359 + if( yymsp[-2].minor.yy46 ) yygotominor.yy172 = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy172, 0, 0);
1.1360 sqlite3ExprSpan(yygotominor.yy172,&yymsp[-3].minor.yy172->span,yymsp[0].minor.yy410.z?&yymsp[0].minor.yy410:&yymsp[-1].minor.yy410);
1.1361 }
1.1362 -#line 2895 "parse.c"
1.1363 +#line 2896 "parse.c"
1.1364 break;
1.1365 case 221:
1.1366 -#line 808 "parse.y"
1.1367 +#line 816 "parse.y"
1.1368 {
1.1369 - Expr *p = yygotominor.yy172 = sqlite3Expr(TK_EXISTS, 0, 0, 0);
1.1370 + Expr *p = yygotominor.yy172 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0);
1.1371 if( p ){
1.1372 p->pSelect = yymsp[-1].minor.yy219;
1.1373 sqlite3ExprSpan(p,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);
1.1374 @@ -2903,12 +2904,12 @@
1.1375 sqlite3SelectDelete(yymsp[-1].minor.yy219);
1.1376 }
1.1377 }
1.1378 -#line 2909 "parse.c"
1.1379 +#line 2910 "parse.c"
1.1380 break;
1.1381 case 222:
1.1382 -#line 821 "parse.y"
1.1383 +#line 829 "parse.y"
1.1384 {
1.1385 - yygotominor.yy172 = sqlite3Expr(TK_CASE, yymsp[-3].minor.yy172, yymsp[-1].minor.yy172, 0);
1.1386 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy172, yymsp[-1].minor.yy172, 0);
1.1387 if( yygotominor.yy172 ){
1.1388 yygotominor.yy172->pList = yymsp[-2].minor.yy174;
1.1389 sqlite3ExprSetHeight(yygotominor.yy172);
1.1390 @@ -2917,171 +2918,172 @@
1.1391 }
1.1392 sqlite3ExprSpan(yygotominor.yy172, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0);
1.1393 }
1.1394 -#line 2923 "parse.c"
1.1395 +#line 2924 "parse.c"
1.1396 break;
1.1397 case 223:
1.1398 -#line 833 "parse.y"
1.1399 +#line 841 "parse.y"
1.1400 {
1.1401 - yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-4].minor.yy174, yymsp[-2].minor.yy172, 0);
1.1402 - yygotominor.yy174 = sqlite3ExprListAppend(yygotominor.yy174, yymsp[0].minor.yy172, 0);
1.1403 + yygotominor.yy174 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy174, yymsp[-2].minor.yy172, 0);
1.1404 + yygotominor.yy174 = sqlite3ExprListAppend(pParse,yygotominor.yy174, yymsp[0].minor.yy172, 0);
1.1405 }
1.1406 -#line 2931 "parse.c"
1.1407 +#line 2932 "parse.c"
1.1408 break;
1.1409 case 224:
1.1410 -#line 837 "parse.y"
1.1411 +#line 845 "parse.y"
1.1412 {
1.1413 - yygotominor.yy174 = sqlite3ExprListAppend(0, yymsp[-2].minor.yy172, 0);
1.1414 - yygotominor.yy174 = sqlite3ExprListAppend(yygotominor.yy174, yymsp[0].minor.yy172, 0);
1.1415 + yygotominor.yy174 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy172, 0);
1.1416 + yygotominor.yy174 = sqlite3ExprListAppend(pParse,yygotominor.yy174, yymsp[0].minor.yy172, 0);
1.1417 }
1.1418 -#line 2939 "parse.c"
1.1419 +#line 2940 "parse.c"
1.1420 break;
1.1421 case 233:
1.1422 -#line 864 "parse.y"
1.1423 +#line 874 "parse.y"
1.1424 {
1.1425 - sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy410, &yymsp[-5].minor.yy410, sqlite3SrcListAppend(0,&yymsp[-3].minor.yy410,0), yymsp[-1].minor.yy174, yymsp[-9].minor.yy46,
1.1426 + sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy410, &yymsp[-5].minor.yy410,
1.1427 + sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy410,0), yymsp[-1].minor.yy174, yymsp[-9].minor.yy46,
1.1428 &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, yymsp[-7].minor.yy46);
1.1429 }
1.1430 -#line 2947 "parse.c"
1.1431 +#line 2949 "parse.c"
1.1432 break;
1.1433 case 234:
1.1434 case 281:
1.1435 -#line 870 "parse.y"
1.1436 +#line 881 "parse.y"
1.1437 {yygotominor.yy46 = OE_Abort;}
1.1438 -#line 2953 "parse.c"
1.1439 +#line 2955 "parse.c"
1.1440 break;
1.1441 case 235:
1.1442 -#line 871 "parse.y"
1.1443 +#line 882 "parse.y"
1.1444 {yygotominor.yy46 = OE_None;}
1.1445 -#line 2958 "parse.c"
1.1446 +#line 2960 "parse.c"
1.1447 break;
1.1448 case 238:
1.1449 -#line 881 "parse.y"
1.1450 +#line 892 "parse.y"
1.1451 {
1.1452 Expr *p = 0;
1.1453 if( yymsp[-1].minor.yy410.n>0 ){
1.1454 - p = sqlite3Expr(TK_COLUMN, 0, 0, 0);
1.1455 + p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0);
1.1456 if( p ) p->pColl = sqlite3LocateCollSeq(pParse, (char*)yymsp[-1].minor.yy410.z, yymsp[-1].minor.yy410.n);
1.1457 }
1.1458 - yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-4].minor.yy174, p, &yymsp[-2].minor.yy410);
1.1459 + yygotominor.yy174 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy174, p, &yymsp[-2].minor.yy410);
1.1460 sqlite3ExprListCheckLength(pParse, yygotominor.yy174, SQLITE_MAX_COLUMN, "index");
1.1461 if( yygotominor.yy174 ) yygotominor.yy174->a[yygotominor.yy174->nExpr-1].sortOrder = yymsp[0].minor.yy46;
1.1462 }
1.1463 -#line 2972 "parse.c"
1.1464 +#line 2974 "parse.c"
1.1465 break;
1.1466 case 239:
1.1467 -#line 891 "parse.y"
1.1468 +#line 902 "parse.y"
1.1469 {
1.1470 Expr *p = 0;
1.1471 if( yymsp[-1].minor.yy410.n>0 ){
1.1472 - p = sqlite3Expr(TK_COLUMN, 0, 0, 0);
1.1473 + p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0);
1.1474 if( p ) p->pColl = sqlite3LocateCollSeq(pParse, (char*)yymsp[-1].minor.yy410.z, yymsp[-1].minor.yy410.n);
1.1475 }
1.1476 - yygotominor.yy174 = sqlite3ExprListAppend(0, p, &yymsp[-2].minor.yy410);
1.1477 + yygotominor.yy174 = sqlite3ExprListAppend(pParse,0, p, &yymsp[-2].minor.yy410);
1.1478 sqlite3ExprListCheckLength(pParse, yygotominor.yy174, SQLITE_MAX_COLUMN, "index");
1.1479 if( yygotominor.yy174 ) yygotominor.yy174->a[yygotominor.yy174->nExpr-1].sortOrder = yymsp[0].minor.yy46;
1.1480 }
1.1481 -#line 2986 "parse.c"
1.1482 +#line 2988 "parse.c"
1.1483 break;
1.1484 case 241:
1.1485 -#line 904 "parse.y"
1.1486 +#line 915 "parse.y"
1.1487 {yygotominor.yy410.z = 0; yygotominor.yy410.n = 0;}
1.1488 -#line 2991 "parse.c"
1.1489 +#line 2993 "parse.c"
1.1490 break;
1.1491 case 243:
1.1492 -#line 910 "parse.y"
1.1493 +#line 921 "parse.y"
1.1494 {sqlite3DropIndex(pParse, yymsp[0].minor.yy373, yymsp[-1].minor.yy46);}
1.1495 -#line 2996 "parse.c"
1.1496 +#line 2998 "parse.c"
1.1497 break;
1.1498 case 244:
1.1499 case 245:
1.1500 -#line 916 "parse.y"
1.1501 +#line 927 "parse.y"
1.1502 {sqlite3Vacuum(pParse);}
1.1503 -#line 3002 "parse.c"
1.1504 +#line 3004 "parse.c"
1.1505 break;
1.1506 case 246:
1.1507 -#line 924 "parse.y"
1.1508 +#line 935 "parse.y"
1.1509 {sqlite3Pragma(pParse,&yymsp[-3].minor.yy410,&yymsp[-2].minor.yy410,&yymsp[0].minor.yy410,0);}
1.1510 -#line 3007 "parse.c"
1.1511 +#line 3009 "parse.c"
1.1512 break;
1.1513 case 247:
1.1514 -#line 925 "parse.y"
1.1515 +#line 936 "parse.y"
1.1516 {sqlite3Pragma(pParse,&yymsp[-3].minor.yy410,&yymsp[-2].minor.yy410,&yymsp[0].minor.yy0,0);}
1.1517 -#line 3012 "parse.c"
1.1518 +#line 3014 "parse.c"
1.1519 break;
1.1520 case 248:
1.1521 -#line 926 "parse.y"
1.1522 +#line 937 "parse.y"
1.1523 {
1.1524 sqlite3Pragma(pParse,&yymsp[-3].minor.yy410,&yymsp[-2].minor.yy410,&yymsp[0].minor.yy410,1);
1.1525 }
1.1526 -#line 3019 "parse.c"
1.1527 +#line 3021 "parse.c"
1.1528 break;
1.1529 case 249:
1.1530 -#line 929 "parse.y"
1.1531 +#line 940 "parse.y"
1.1532 {sqlite3Pragma(pParse,&yymsp[-4].minor.yy410,&yymsp[-3].minor.yy410,&yymsp[-1].minor.yy410,0);}
1.1533 -#line 3024 "parse.c"
1.1534 +#line 3026 "parse.c"
1.1535 break;
1.1536 case 250:
1.1537 -#line 930 "parse.y"
1.1538 +#line 941 "parse.y"
1.1539 {sqlite3Pragma(pParse,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy410,0,0);}
1.1540 -#line 3029 "parse.c"
1.1541 +#line 3031 "parse.c"
1.1542 break;
1.1543 case 258:
1.1544 -#line 944 "parse.y"
1.1545 +#line 955 "parse.y"
1.1546 {
1.1547 Token all;
1.1548 all.z = yymsp[-3].minor.yy410.z;
1.1549 all.n = (yymsp[0].minor.yy0.z - yymsp[-3].minor.yy410.z) + yymsp[0].minor.yy0.n;
1.1550 sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy243, &all);
1.1551 }
1.1552 -#line 3039 "parse.c"
1.1553 +#line 3041 "parse.c"
1.1554 break;
1.1555 case 259:
1.1556 -#line 953 "parse.y"
1.1557 +#line 964 "parse.y"
1.1558 {
1.1559 sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy410, &yymsp[-6].minor.yy410, yymsp[-5].minor.yy46, yymsp[-4].minor.yy370.a, yymsp[-4].minor.yy370.b, yymsp[-2].minor.yy373, yymsp[0].minor.yy172, yymsp[-10].minor.yy46, yymsp[-8].minor.yy46);
1.1560 yygotominor.yy410 = (yymsp[-6].minor.yy410.n==0?yymsp[-7].minor.yy410:yymsp[-6].minor.yy410);
1.1561 }
1.1562 -#line 3047 "parse.c"
1.1563 +#line 3049 "parse.c"
1.1564 break;
1.1565 case 260:
1.1566 case 263:
1.1567 -#line 959 "parse.y"
1.1568 +#line 970 "parse.y"
1.1569 { yygotominor.yy46 = TK_BEFORE; }
1.1570 -#line 3053 "parse.c"
1.1571 +#line 3055 "parse.c"
1.1572 break;
1.1573 case 261:
1.1574 -#line 960 "parse.y"
1.1575 +#line 971 "parse.y"
1.1576 { yygotominor.yy46 = TK_AFTER; }
1.1577 -#line 3058 "parse.c"
1.1578 +#line 3060 "parse.c"
1.1579 break;
1.1580 case 262:
1.1581 -#line 961 "parse.y"
1.1582 +#line 972 "parse.y"
1.1583 { yygotominor.yy46 = TK_INSTEAD;}
1.1584 -#line 3063 "parse.c"
1.1585 +#line 3065 "parse.c"
1.1586 break;
1.1587 case 264:
1.1588 case 265:
1.1589 -#line 966 "parse.y"
1.1590 +#line 977 "parse.y"
1.1591 {yygotominor.yy370.a = yymsp[0].major; yygotominor.yy370.b = 0;}
1.1592 -#line 3069 "parse.c"
1.1593 +#line 3071 "parse.c"
1.1594 break;
1.1595 case 266:
1.1596 -#line 968 "parse.y"
1.1597 +#line 979 "parse.y"
1.1598 {yygotominor.yy370.a = TK_UPDATE; yygotominor.yy370.b = yymsp[0].minor.yy432;}
1.1599 -#line 3074 "parse.c"
1.1600 +#line 3076 "parse.c"
1.1601 break;
1.1602 case 269:
1.1603 -#line 975 "parse.y"
1.1604 +#line 986 "parse.y"
1.1605 { yygotominor.yy172 = 0; }
1.1606 -#line 3079 "parse.c"
1.1607 +#line 3081 "parse.c"
1.1608 break;
1.1609 case 270:
1.1610 -#line 976 "parse.y"
1.1611 +#line 987 "parse.y"
1.1612 { yygotominor.yy172 = yymsp[0].minor.yy172; }
1.1613 -#line 3084 "parse.c"
1.1614 +#line 3086 "parse.c"
1.1615 break;
1.1616 case 271:
1.1617 -#line 980 "parse.y"
1.1618 +#line 991 "parse.y"
1.1619 {
1.1620 if( yymsp[-2].minor.yy243 ){
1.1621 yymsp[-2].minor.yy243->pLast->pNext = yymsp[-1].minor.yy243;
1.1622 @@ -3091,171 +3093,171 @@
1.1623 yymsp[-2].minor.yy243->pLast = yymsp[-1].minor.yy243;
1.1624 yygotominor.yy243 = yymsp[-2].minor.yy243;
1.1625 }
1.1626 -#line 3097 "parse.c"
1.1627 +#line 3099 "parse.c"
1.1628 break;
1.1629 case 272:
1.1630 -#line 989 "parse.y"
1.1631 +#line 1000 "parse.y"
1.1632 { yygotominor.yy243 = 0; }
1.1633 -#line 3102 "parse.c"
1.1634 +#line 3104 "parse.c"
1.1635 break;
1.1636 case 273:
1.1637 -#line 995 "parse.y"
1.1638 -{ yygotominor.yy243 = sqlite3TriggerUpdateStep(&yymsp[-3].minor.yy410, yymsp[-1].minor.yy174, yymsp[0].minor.yy172, yymsp[-4].minor.yy46); }
1.1639 -#line 3107 "parse.c"
1.1640 +#line 1006 "parse.y"
1.1641 +{ yygotominor.yy243 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-3].minor.yy410, yymsp[-1].minor.yy174, yymsp[0].minor.yy172, yymsp[-4].minor.yy46); }
1.1642 +#line 3109 "parse.c"
1.1643 break;
1.1644 case 274:
1.1645 -#line 1000 "parse.y"
1.1646 -{yygotominor.yy243 = sqlite3TriggerInsertStep(&yymsp[-5].minor.yy410, yymsp[-4].minor.yy432, yymsp[-1].minor.yy174, 0, yymsp[-7].minor.yy46);}
1.1647 -#line 3112 "parse.c"
1.1648 +#line 1011 "parse.y"
1.1649 +{yygotominor.yy243 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-5].minor.yy410, yymsp[-4].minor.yy432, yymsp[-1].minor.yy174, 0, yymsp[-7].minor.yy46);}
1.1650 +#line 3114 "parse.c"
1.1651 break;
1.1652 case 275:
1.1653 -#line 1003 "parse.y"
1.1654 -{yygotominor.yy243 = sqlite3TriggerInsertStep(&yymsp[-2].minor.yy410, yymsp[-1].minor.yy432, 0, yymsp[0].minor.yy219, yymsp[-4].minor.yy46);}
1.1655 -#line 3117 "parse.c"
1.1656 +#line 1014 "parse.y"
1.1657 +{yygotominor.yy243 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy410, yymsp[-1].minor.yy432, 0, yymsp[0].minor.yy219, yymsp[-4].minor.yy46);}
1.1658 +#line 3119 "parse.c"
1.1659 break;
1.1660 case 276:
1.1661 -#line 1007 "parse.y"
1.1662 -{yygotominor.yy243 = sqlite3TriggerDeleteStep(&yymsp[-1].minor.yy410, yymsp[0].minor.yy172);}
1.1663 -#line 3122 "parse.c"
1.1664 +#line 1018 "parse.y"
1.1665 +{yygotominor.yy243 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-1].minor.yy410, yymsp[0].minor.yy172);}
1.1666 +#line 3124 "parse.c"
1.1667 break;
1.1668 case 277:
1.1669 -#line 1010 "parse.y"
1.1670 -{yygotominor.yy243 = sqlite3TriggerSelectStep(yymsp[0].minor.yy219); }
1.1671 -#line 3127 "parse.c"
1.1672 +#line 1021 "parse.y"
1.1673 +{yygotominor.yy243 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy219); }
1.1674 +#line 3129 "parse.c"
1.1675 break;
1.1676 case 278:
1.1677 -#line 1013 "parse.y"
1.1678 +#line 1024 "parse.y"
1.1679 {
1.1680 - yygotominor.yy172 = sqlite3Expr(TK_RAISE, 0, 0, 0);
1.1681 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0);
1.1682 if( yygotominor.yy172 ){
1.1683 yygotominor.yy172->iColumn = OE_Ignore;
1.1684 sqlite3ExprSpan(yygotominor.yy172, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0);
1.1685 }
1.1686 }
1.1687 -#line 3138 "parse.c"
1.1688 +#line 3140 "parse.c"
1.1689 break;
1.1690 case 279:
1.1691 -#line 1020 "parse.y"
1.1692 +#line 1031 "parse.y"
1.1693 {
1.1694 - yygotominor.yy172 = sqlite3Expr(TK_RAISE, 0, 0, &yymsp[-1].minor.yy410);
1.1695 + yygotominor.yy172 = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy410);
1.1696 if( yygotominor.yy172 ) {
1.1697 yygotominor.yy172->iColumn = yymsp[-3].minor.yy46;
1.1698 sqlite3ExprSpan(yygotominor.yy172, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0);
1.1699 }
1.1700 }
1.1701 -#line 3149 "parse.c"
1.1702 +#line 3151 "parse.c"
1.1703 break;
1.1704 case 280:
1.1705 -#line 1030 "parse.y"
1.1706 +#line 1041 "parse.y"
1.1707 {yygotominor.yy46 = OE_Rollback;}
1.1708 -#line 3154 "parse.c"
1.1709 +#line 3156 "parse.c"
1.1710 break;
1.1711 case 282:
1.1712 -#line 1032 "parse.y"
1.1713 +#line 1043 "parse.y"
1.1714 {yygotominor.yy46 = OE_Fail;}
1.1715 -#line 3159 "parse.c"
1.1716 +#line 3161 "parse.c"
1.1717 break;
1.1718 case 283:
1.1719 -#line 1037 "parse.y"
1.1720 +#line 1048 "parse.y"
1.1721 {
1.1722 sqlite3DropTrigger(pParse,yymsp[0].minor.yy373,yymsp[-1].minor.yy46);
1.1723 }
1.1724 -#line 3166 "parse.c"
1.1725 +#line 3168 "parse.c"
1.1726 break;
1.1727 case 284:
1.1728 -#line 1044 "parse.y"
1.1729 +#line 1055 "parse.y"
1.1730 {
1.1731 sqlite3Attach(pParse, yymsp[-3].minor.yy172, yymsp[-1].minor.yy172, yymsp[0].minor.yy386);
1.1732 }
1.1733 -#line 3173 "parse.c"
1.1734 +#line 3175 "parse.c"
1.1735 break;
1.1736 case 285:
1.1737 -#line 1047 "parse.y"
1.1738 +#line 1058 "parse.y"
1.1739 {
1.1740 sqlite3Detach(pParse, yymsp[0].minor.yy172);
1.1741 }
1.1742 -#line 3180 "parse.c"
1.1743 +#line 3182 "parse.c"
1.1744 break;
1.1745 case 286:
1.1746 -#line 1053 "parse.y"
1.1747 +#line 1064 "parse.y"
1.1748 { yygotominor.yy386 = 0; }
1.1749 -#line 3185 "parse.c"
1.1750 +#line 3187 "parse.c"
1.1751 break;
1.1752 case 287:
1.1753 -#line 1054 "parse.y"
1.1754 +#line 1065 "parse.y"
1.1755 { yygotominor.yy386 = yymsp[0].minor.yy172; }
1.1756 -#line 3190 "parse.c"
1.1757 +#line 3192 "parse.c"
1.1758 break;
1.1759 case 290:
1.1760 -#line 1062 "parse.y"
1.1761 +#line 1073 "parse.y"
1.1762 {sqlite3Reindex(pParse, 0, 0);}
1.1763 -#line 3195 "parse.c"
1.1764 +#line 3197 "parse.c"
1.1765 break;
1.1766 case 291:
1.1767 -#line 1063 "parse.y"
1.1768 +#line 1074 "parse.y"
1.1769 {sqlite3Reindex(pParse, &yymsp[-1].minor.yy410, &yymsp[0].minor.yy410);}
1.1770 -#line 3200 "parse.c"
1.1771 +#line 3202 "parse.c"
1.1772 break;
1.1773 case 292:
1.1774 -#line 1068 "parse.y"
1.1775 +#line 1079 "parse.y"
1.1776 {sqlite3Analyze(pParse, 0, 0);}
1.1777 -#line 3205 "parse.c"
1.1778 +#line 3207 "parse.c"
1.1779 break;
1.1780 case 293:
1.1781 -#line 1069 "parse.y"
1.1782 +#line 1080 "parse.y"
1.1783 {sqlite3Analyze(pParse, &yymsp[-1].minor.yy410, &yymsp[0].minor.yy410);}
1.1784 -#line 3210 "parse.c"
1.1785 +#line 3212 "parse.c"
1.1786 break;
1.1787 case 294:
1.1788 -#line 1074 "parse.y"
1.1789 +#line 1085 "parse.y"
1.1790 {
1.1791 sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy373,&yymsp[0].minor.yy410);
1.1792 }
1.1793 -#line 3217 "parse.c"
1.1794 +#line 3219 "parse.c"
1.1795 break;
1.1796 case 295:
1.1797 -#line 1077 "parse.y"
1.1798 +#line 1088 "parse.y"
1.1799 {
1.1800 sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy410);
1.1801 }
1.1802 -#line 3224 "parse.c"
1.1803 +#line 3226 "parse.c"
1.1804 break;
1.1805 case 296:
1.1806 -#line 1080 "parse.y"
1.1807 +#line 1091 "parse.y"
1.1808 {
1.1809 sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy373);
1.1810 }
1.1811 -#line 3231 "parse.c"
1.1812 +#line 3233 "parse.c"
1.1813 break;
1.1814 case 299:
1.1815 -#line 1089 "parse.y"
1.1816 +#line 1100 "parse.y"
1.1817 {sqlite3VtabFinishParse(pParse,0);}
1.1818 -#line 3236 "parse.c"
1.1819 +#line 3238 "parse.c"
1.1820 break;
1.1821 case 300:
1.1822 -#line 1090 "parse.y"
1.1823 +#line 1101 "parse.y"
1.1824 {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);}
1.1825 -#line 3241 "parse.c"
1.1826 +#line 3243 "parse.c"
1.1827 break;
1.1828 case 301:
1.1829 -#line 1091 "parse.y"
1.1830 +#line 1102 "parse.y"
1.1831 {
1.1832 sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy410, &yymsp[-2].minor.yy410, &yymsp[0].minor.yy410);
1.1833 }
1.1834 -#line 3248 "parse.c"
1.1835 +#line 3250 "parse.c"
1.1836 break;
1.1837 case 304:
1.1838 -#line 1096 "parse.y"
1.1839 +#line 1107 "parse.y"
1.1840 {sqlite3VtabArgInit(pParse);}
1.1841 -#line 3253 "parse.c"
1.1842 +#line 3255 "parse.c"
1.1843 break;
1.1844 case 306:
1.1845 case 307:
1.1846 case 308:
1.1847 case 310:
1.1848 -#line 1098 "parse.y"
1.1849 +#line 1109 "parse.y"
1.1850 {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);}
1.1851 -#line 3261 "parse.c"
1.1852 +#line 3263 "parse.c"
1.1853 break;
1.1854 };
1.1855 yygoto = yyRuleInfo[yyruleno].lhs;
1.1856 @@ -3322,7 +3324,7 @@
1.1857 }
1.1858 pParse->parseError = 1;
1.1859 }
1.1860 -#line 3329 "parse.c"
1.1861 +#line 3331 "parse.c"
1.1862 sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */
1.1863 }
1.1864