diff options
author | drh <drh@noemail.net> | 2015-10-30 16:50:00 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2015-10-30 16:50:00 +0000 |
commit | d286b9fb7d38fc3b48e89e50bc379e9cb2c1d260 (patch) | |
tree | 0a0c50d4383a6c85f3426a60ec1899c6b984893f /src/select.c | |
parent | 5db990147917f9dc8b13f2d2f6240d28c8df9212 (diff) | |
parent | b457764d01a88021b70e9e13ec1e7f70ea8cb175 (diff) | |
download | sqlite-d286b9fb7d38fc3b48e89e50bc379e9cb2c1d260.tar.gz sqlite-d286b9fb7d38fc3b48e89e50bc379e9cb2c1d260.zip |
Merge all the latest enhancements from trunk.
FossilOrigin-Name: 395a153ff7b3c7a72f3d02b6fe76d72383f4e480
Diffstat (limited to 'src/select.c')
-rw-r--r-- | src/select.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/select.c b/src/select.c index fad46f0b4..8db983891 100644 --- a/src/select.c +++ b/src/select.c @@ -4452,7 +4452,7 @@ static int selectExpander(Walker *pWalker, Select *p){ ** Walker.xSelectCallback is set to do something useful for every ** subquery in the parser tree. */ -static int exprWalkNoop(Walker *NotUsed, Expr *NotUsed2){ +int sqlite3ExprWalkNoop(Walker *NotUsed, Expr *NotUsed2){ UNUSED_PARAMETER2(NotUsed, NotUsed2); return WRC_Continue; } @@ -4473,7 +4473,7 @@ static int exprWalkNoop(Walker *NotUsed, Expr *NotUsed2){ static void sqlite3SelectExpand(Parse *pParse, Select *pSelect){ Walker w; memset(&w, 0, sizeof(w)); - w.xExprCallback = exprWalkNoop; + w.xExprCallback = sqlite3ExprWalkNoop; w.pParse = pParse; if( pParse->hasCompound ){ w.xSelectCallback = convertCompoundSelectToSubquery; @@ -4540,7 +4540,7 @@ static void sqlite3SelectAddTypeInfo(Parse *pParse, Select *pSelect){ Walker w; memset(&w, 0, sizeof(w)); w.xSelectCallback2 = selectAddSubqueryTypeInfo; - w.xExprCallback = exprWalkNoop; + w.xExprCallback = sqlite3ExprWalkNoop; w.pParse = pParse; sqlite3WalkSelect(&w, pSelect); #endif @@ -5295,13 +5295,8 @@ int sqlite3Select( struct AggInfo_col *pCol = &sAggInfo.aCol[i]; if( pCol->iSorterColumn>=j ){ int r1 = j + regBase; - int r2; - - r2 = sqlite3ExprCodeGetColumn(pParse, - pCol->pTab, pCol->iColumn, pCol->iTable, r1, 0); - if( r1!=r2 ){ - sqlite3VdbeAddOp2(v, OP_SCopy, r2, r1); - } + sqlite3ExprCodeGetColumnToReg(pParse, + pCol->pTab, pCol->iColumn, pCol->iTable, r1); j++; } } |