Avoid an unnecessary OP_Move operation for expression subqueries.
FossilOrigin-Name: 462f42af52f146fd328ddcbbe78c8444ef7bd2c3
diff --git a/src/expr.c b/src/expr.c
index fabdae2..1a2465f 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -1912,6 +1912,7 @@
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 932874d..44b9cd0 100644
--- a/src/select.c
+++ b/src/select.c
@@ -829,7 +829,7 @@
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;