diff options
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/resolve.c b/src/resolve.c index 29f1f2b92..749e473d4 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -14,7 +14,7 @@ ** resolve all identifiers by associating them with a particular ** table and column. ** -** $Id: resolve.c,v 1.17 2009/02/23 17:33:50 danielk1977 Exp $ +** $Id: resolve.c,v 1.18 2009/02/24 10:14:40 danielk1977 Exp $ */ #include "sqliteInt.h" #include <stdlib.h> @@ -347,18 +347,14 @@ static int lookupName( ** column number is greater than the number of bits in the bitmask ** then set the high-order bit of the bitmask. */ - if( pMatch ){ - if( pExpr->iColumn>=0 ){ - int n = pExpr->iColumn; - testcase( n==BMS-1 ); - if( n>=BMS ){ - n = BMS-1; - } - assert( pMatch->iCursor==pExpr->iTable ); - pMatch->colUsed |= ((Bitmask)1)<<n; - }else{ - pMatch->usesRowid = 1; + if( pExpr->iColumn>=0 && pMatch!=0 ){ + int n = pExpr->iColumn; + testcase( n==BMS-1 ); + if( n>=BMS ){ + n = BMS-1; } + assert( pMatch->iCursor==pExpr->iTable ); + pMatch->colUsed |= ((Bitmask)1)<<n; } lookupname_end: |