:-) (CVS 74)
FossilOrigin-Name: 2ffeb8509c469f5a499d56bb109da079fcdff570
diff --git a/src/expr.c b/src/expr.c
index 2870a48..d5e4f74 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -23,7 +23,7 @@
*************************************************************************
** This file contains C code routines used for processing expressions
**
-** $Id: expr.c,v 1.10 2000/06/06 17:27:05 drh Exp $
+** $Id: expr.c,v 1.11 2000/06/07 23:51:50 drh Exp $
*/
#include "sqliteInt.h"
@@ -206,10 +206,7 @@
}
case TK_IN: {
- Vdbe *v = pParse->pVdbe;
- if( v==0 ){
- v = pParse->pVdbe = sqliteVdbeCreate(pParse->db->pBe);
- }
+ Vdbe *v = sqliteGetVdbe(pParse);
if( v==0 ) return 1;
if( sqliteExprResolveIds(pParse, pTabList, pExpr->pLeft) ){
return 1;
@@ -766,7 +763,7 @@
** Do a deep comparison of two expression trees. Return TRUE (non-zero)
** if they are identical and return FALSE if they differ in any way.
*/
-static int exprDeepCompare(Expr *pA, Expr *pB){
+int sqliteExprCompare(Expr *pA, Expr *pB){
int i;
if( pA==0 ){
return pB==0;
@@ -774,13 +771,13 @@
return 0;
}
if( pA->op!=pB->op ) return 0;
- if( !exprDeepCompare(pA->pLeft, pB->pLeft) ) return 0;
- if( !exprDeepCompare(pA->pRight, pB->pRight) ) return 0;
+ if( !sqliteExprCompare(pA->pLeft, pB->pLeft) ) return 0;
+ if( !sqliteExprCompare(pA->pRight, pB->pRight) ) return 0;
if( pA->pList ){
if( pB->pList==0 ) return 0;
if( pA->pList->nExpr!=pB->pList->nExpr ) return 0;
for(i=0; i<pA->pList->nExpr; i++){
- if( !exprDeepCompare(pA->pList->a[i].pExpr, pB->pList->a[i].pExpr) ){
+ if( !sqliteExprCompare(pA->pList->a[i].pExpr, pB->pList->a[i].pExpr) ){
return 0;
}
}
@@ -868,7 +865,7 @@
aAgg = pParse->aAgg;
for(i=0; i<pParse->nAgg; i++){
if( !aAgg[i].isAgg ) continue;
- if( exprDeepCompare(aAgg[i].pExpr, pExpr) ){
+ if( sqliteExprCompare(aAgg[i].pExpr, pExpr) ){
break;
}
}