aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2012-09-28 00:44:28 +0000
committerdrh <drh@noemail.net>2012-09-28 00:44:28 +0000
commitf784c1ede942139d136f7c00a1d8fb30a4a31f18 (patch)
treeccdfa605d3e6889f40d2af087b833a9eec956584 /src/expr.c
parent8ccc6d4076631f3fd97751ce1451453e70c6e329 (diff)
parenta9e3fc05f58a055ffdb67dca2a8215efb698a955 (diff)
downloadsqlite-f784c1ede942139d136f7c00a1d8fb30a4a31f18.tar.gz
sqlite-f784c1ede942139d136f7c00a1d8fb30a4a31f18.zip
Query planner enhancements to be more agressive about optimizing out ORDER BY
clauses - in particular the query planner now has the ability to omit ORDER BY clauses that span multiple tables in a join. FossilOrigin-Name: 1e874629d7cf568368b912b295bd3001147d0b52
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/expr.c b/src/expr.c
index 3d6373881..2d1fb38ed 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -2066,7 +2066,7 @@ void sqlite3ExprCacheStore(Parse *pParse, int iTab, int iCol, int iReg){
** for testing only - to verify that SQLite always gets the same answer
** with and without the column cache.
*/
- if( pParse->db->flags & SQLITE_ColumnCache ) return;
+ if( OptimizationDisabled(pParse->db, SQLITE_ColumnCache) ) return;
/* First replace any existing entry.
**
@@ -3382,7 +3382,7 @@ static int evalConstExpr(Walker *pWalker, Expr *pExpr){
void sqlite3ExprCodeConstants(Parse *pParse, Expr *pExpr){
Walker w;
if( pParse->cookieGoto ) return;
- if( (pParse->db->flags & SQLITE_FactorOutConst)!=0 ) return;
+ if( OptimizationDisabled(pParse->db, SQLITE_FactorOutConst) ) return;
w.xExprCallback = evalConstExpr;
w.xSelectCallback = 0;
w.pParse = pParse;