diff options
author | drh <drh@noemail.net> | 2010-04-06 15:57:05 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2010-04-06 15:57:05 +0000 |
commit | 8b307fbfa0106d6e232c4dfc1de4428df1c47ff7 (patch) | |
tree | 0c9b445af4c35542fb8e244971517a175ad8be34 /src/prepare.c | |
parent | 25d3adbb6a85526db761b6face6ee3fa384a5e45 (diff) | |
download | sqlite-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.c | 2 |
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; |