diff options
author | danielk1977 <danielk1977@noemail.net> | 2009-02-19 14:39:25 +0000 |
---|---|---|
committer | danielk1977 <danielk1977@noemail.net> | 2009-02-19 14:39:25 +0000 |
commit | 6ab3a2ec8a7a21f8eb607679875e3193e6d16f4c (patch) | |
tree | 58e9ac88aa2cd60f02228baeda46b9c16eb6d5a9 /src/attach.c | |
parent | 076d4661a68f67dbabc421eab124fe5908ebbeee (diff) | |
download | sqlite-6ab3a2ec8a7a21f8eb607679875e3193e6d16f4c.tar.gz sqlite-6ab3a2ec8a7a21f8eb607679875e3193e6d16f4c.zip |
Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305)
FossilOrigin-Name: d9f6ffbc5ea090ba0daac571fc9a6c68b9c864e4
Diffstat (limited to 'src/attach.c')
-rw-r--r-- | src/attach.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/attach.c b/src/attach.c index bf2683fb3..c3fd7ff8f 100644 --- a/src/attach.c +++ b/src/attach.c @@ -11,7 +11,7 @@ ************************************************************************* ** This file contains code used to implement the ATTACH and DETACH commands. ** -** $Id: attach.c,v 1.82 2009/02/03 16:51:25 danielk1977 Exp $ +** $Id: attach.c,v 1.83 2009/02/19 14:39:25 danielk1977 Exp $ */ #include "sqliteInt.h" @@ -488,11 +488,11 @@ int sqlite3FixExpr( Expr *pExpr /* The expression to be fixed to one database */ ){ while( pExpr ){ - if( sqlite3FixSelect(pFix, pExpr->pSelect) ){ - return 1; - } - if( sqlite3FixExprList(pFix, pExpr->pList) ){ - return 1; + if( ExprHasAnyProperty(pExpr, EP_TokenOnly|EP_SpanOnly) ) break; + if( ExprHasProperty(pExpr, EP_xIsSelect) ){ + if( sqlite3FixSelect(pFix, pExpr->x.pSelect) ) return 1; + }else{ + if( sqlite3FixExprList(pFix, pExpr->x.pList) ) return 1; } if( sqlite3FixExpr(pFix, pExpr->pRight) ){ return 1; |