diff options
author | drh <drh@noemail.net> | 2013-05-03 18:29:22 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2013-05-03 18:29:22 +0000 |
commit | ec7ecb8c9a42c68e6152f7e72b2badcbb8671c55 (patch) | |
tree | e0ff1a0cdbb5bafdea569c861d8913ef63d962fb /src/select.c | |
parent | 16fb176814bd2b8fe46f7ed0e50a0b3d33db89a0 (diff) | |
parent | bce5beee18befa9b3ee47938e9e4c3e2e572cf3c (diff) | |
download | sqlite-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.c | 5 |
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); |