aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2002-04-02 01:58:57 +0000
committerdrh <drh@noemail.net>2002-04-02 01:58:57 +0000
commitdd579122da3ebb1c573f9edee63d74864384703f (patch)
treeefeb37e57387756a2e823ecaef66e3565fee9acb /src
parent5efc18b6dafe155f1d01e9726091d06e64fe665b (diff)
downloadsqlite-dd579122da3ebb1c573f9edee63d74864384703f.tar.gz
sqlite-dd579122da3ebb1c573f9edee63d74864384703f.zip
Fix for bug #6: Correctly handle functions in the WHERE clause of a join. (CVS 513)
FossilOrigin-Name: bdd8ce584e16fe288a7e8386f897cb36a60e8431
Diffstat (limited to 'src')
-rw-r--r--src/where.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/where.c b/src/where.c
index 32077dc15..f1736c9c7 100644
--- a/src/where.c
+++ b/src/where.c
@@ -13,7 +13,7 @@
** the WHERE clause of SQL statements. Also found here are subroutines
** to generate VDBE code to evaluate expressions.
**
-** $Id: where.c,v 1.38 2002/03/02 17:04:09 drh Exp $
+** $Id: where.c,v 1.39 2002/04/02 01:58:58 drh Exp $
*/
#include "sqliteInt.h"
@@ -90,6 +90,12 @@ static int exprTableUsage(int base, Expr *p){
if( p->pLeft ){
mask |= exprTableUsage(base, p->pLeft);
}
+ if( p->pList ){
+ int i;
+ for(i=0; i<p->pList->nExpr; i++){
+ mask |= exprTableUsage(base, p->pList->a[i].pExpr);
+ }
+ }
return mask;
}