aboutsummaryrefslogtreecommitdiff
path: root/src/prepare.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2010-04-06 15:57:05 +0000
committerdrh <drh@noemail.net>2010-04-06 15:57:05 +0000
commit8b307fbfa0106d6e232c4dfc1de4428df1c47ff7 (patch)
tree0c9b445af4c35542fb8e244971517a175ad8be34 /src/prepare.c
parent25d3adbb6a85526db761b6face6ee3fa384a5e45 (diff)
downloadsqlite-8b307fbfa0106d6e232c4dfc1de4428df1c47ff7.tar.gz
sqlite-8b307fbfa0106d6e232c4dfc1de4428df1c47ff7.zip
Automatically generate transient indices for tables in joins that would
otherwise have to use a full table scan. FossilOrigin-Name: 1b2a04125f964e14f3fb90171c5ab86a0641d1c9
Diffstat (limited to 'src/prepare.c')
-rw-r--r--src/prepare.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/prepare.c b/src/prepare.c
index f1b1e0057..44b777513 100644
--- a/src/prepare.c
+++ b/src/prepare.c
@@ -579,6 +579,7 @@ static int sqlite3Prepare(
sqlite3VtabUnlockList(db);
pParse->db = db;
+ pParse->nQueryLoop = (double)1;
if( nBytes>=0 && (nBytes==0 || zSql[nBytes-1]!=0) ){
char *zSqlCopy;
int mxLen = db->aLimit[SQLITE_LIMIT_SQL_LENGTH];
@@ -600,6 +601,7 @@ static int sqlite3Prepare(
}else{
sqlite3RunParser(pParse, zSql, &zErrMsg);
}
+ assert( 1==(int)pParse->nQueryLoop );
if( db->mallocFailed ){
pParse->rc = SQLITE_NOMEM;