diff options
author | drh <drh@noemail.net> | 2014-08-29 12:29:39 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2014-08-29 12:29:39 +0000 |
commit | 53932ce8fa8d095cd61b44aa1244af78a955ccf3 (patch) | |
tree | fa4c04fc4c3f115a3ad6e4a74e85e017728b9a9c /src | |
parent | ae914d783a2db649b1b4505cf7314e5dafa7a199 (diff) | |
download | sqlite-53932ce8fa8d095cd61b44aa1244af78a955ccf3.tar.gz sqlite-53932ce8fa8d095cd61b44aa1244af78a955ccf3.zip |
Avoid an unnecessary OP_Move operation for expression subqueries.
FossilOrigin-Name: 462f42af52f146fd328ddcbbe78c8444ef7bd2c3
Diffstat (limited to 'src')
-rw-r--r-- | src/expr.c | 1 | ||||
-rw-r--r-- | src/select.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c index fabdae2fc..1a2465f7e 100644 --- a/src/expr.c +++ b/src/expr.c @@ -1912,6 +1912,7 @@ int sqlite3CodeSubselect( sqlite3SelectDestInit(&dest, 0, ++pParse->nMem); if( pExpr->op==TK_SELECT ){ dest.eDest = SRT_Mem; + dest.iSdst = dest.iSDParm; sqlite3VdbeAddOp2(v, OP_Null, 0, dest.iSDParm); VdbeComment((v, "Init subquery result")); }else{ diff --git a/src/select.c b/src/select.c index 932874d8f..44b9cd034 100644 --- a/src/select.c +++ b/src/select.c @@ -829,7 +829,7 @@ static void selectInnerLoop( if( pSort ){ pushOntoSorter(pParse, pSort, p, regResult); }else{ - sqlite3ExprCodeMove(pParse, regResult, iParm, 1); + assert( regResult==iParm ); /* The LIMIT clause will jump out of the loop for us */ } break; |