aboutsummaryrefslogtreecommitdiff
path: root/src/select.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2013-05-03 18:29:22 +0000
committerdrh <drh@noemail.net>2013-05-03 18:29:22 +0000
commitec7ecb8c9a42c68e6152f7e72b2badcbb8671c55 (patch)
treee0ff1a0cdbb5bafdea569c861d8913ef63d962fb /src/select.c
parent16fb176814bd2b8fe46f7ed0e50a0b3d33db89a0 (diff)
parentbce5beee18befa9b3ee47938e9e4c3e2e572cf3c (diff)
downloadsqlite-ec7ecb8c9a42c68e6152f7e72b2badcbb8671c55.tar.gz
sqlite-ec7ecb8c9a42c68e6152f7e72b2badcbb8671c55.zip
Merge all recent trunk changes into the sessions branch.
FossilOrigin-Name: 3879ab1b532828fcc12a50a95b6730faebcb69e9
Diffstat (limited to 'src/select.c')
-rw-r--r--src/select.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/select.c b/src/select.c
index c7948096c..a745dc370 100644
--- a/src/select.c
+++ b/src/select.c
@@ -3576,6 +3576,7 @@ static int exprWalkNoop(Walker *NotUsed, Expr *NotUsed2){
*/
static void sqlite3SelectExpand(Parse *pParse, Select *pSelect){
Walker w;
+ memset(&w, 0, sizeof(w));
w.xSelectCallback = selectExpander;
w.xExprCallback = exprWalkNoop;
w.pParse = pParse;
@@ -3634,9 +3635,11 @@ static int selectAddSubqueryTypeInfo(Walker *pWalker, Select *p){
static void sqlite3SelectAddTypeInfo(Parse *pParse, Select *pSelect){
#ifndef SQLITE_OMIT_SUBQUERY
Walker w;
+ memset(&w, 0, sizeof(w));
w.xSelectCallback = selectAddSubqueryTypeInfo;
w.xExprCallback = exprWalkNoop;
w.pParse = pParse;
+ w.bSelectDepthFirst = 1;
sqlite3WalkSelect(&w, pSelect);
#endif
}
@@ -4047,7 +4050,7 @@ int sqlite3Select(
pItem->addrFillSub = topAddr+1;
VdbeNoopComment((v, "materialize %s", pItem->pTab->zName));
if( pItem->isCorrelated==0 ){
- /* If the subquery is no correlated and if we are not inside of
+ /* If the subquery is not correlated and if we are not inside of
** a trigger, then we only need to compute the value of the subquery
** once. */
onceAddr = sqlite3CodeOnce(pParse);