]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
:-) (CVS 56)
authordrh <drh@noemail.net>
Tue, 6 Jun 2000 03:31:22 +0000 (03:31 +0000)
committerdrh <drh@noemail.net>
Tue, 6 Jun 2000 03:31:22 +0000 (03:31 +0000)
FossilOrigin-Name: b52dd82fe32c38c999aef4f07d046d0428336965

manifest
manifest.uuid
src/expr.c
src/vdbe.c

index dd6f7aa3b00a6c88eb48e24ccf68cb68da74a293..4041a7b6def2c876df16a5b044f628d7fc4bf662 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C :-)\s(CVS\s55)
-D 2000-06-06T01:50:43
+C :-)\s(CVS\s56)
+D 2000-06-06T03:31:22
 F COPYRIGHT 74a8a6531a42e124df07ab5599aad63870fa0bd4
 F Makefile.in 17ba1ccf8d2d40c627796bba8f72952365d6d644
 F README 51f6a4e7408b34afa5bc1c0485f61b6a4efb6958
@@ -10,7 +10,7 @@ F src/build.c 6c9454b2e2b866979527fb41b19ad8bc49c27a20
 F src/dbbe.c ae8b5d2cdb4fa7dd11313059984be9457fa77f63
 F src/dbbe.h a8a46f71238e0f09f3ec08fd9d1c8c7f4cdc49bf
 F src/delete.c e11433c14ed5cc8553cba14296b3baa3c23054bc
-F src/expr.c b309517f59017f3a7c0db76a54bc3bc00e8fea38
+F src/expr.c 278ff688ac72602ad985f4ccadcae665d245b13b
 F src/insert.c 5e69dd70c3f91cf5ec5090f39fd6cd8e135af9bf
 F src/main.c 93a7ad14bb5a82ad13ad59da23ef674a94b0c3d6
 F src/parse.y 9c459212441d4786bb011945d6a587568368e202
@@ -22,7 +22,7 @@ F src/tclsqlite.c 9f358618ae803bedf4fb96da5154fd45023bc1f7
 F src/tokenize.c f190e16ebb82dd60497796022f1e56e2e0527975
 F src/update.c 3f05d5082fd2c34f15d1e4a4db17355ad8807a78
 F src/util.c 33f9baa01e45394ef0cf85361a0e872987884315
-F src/vdbe.c 03177425b174d865f2c37b188a9df8a37f4eaff2
+F src/vdbe.c 7d00f9ff05cf1287ee21c2a73d9ba0ebdf07b4b6
 F src/vdbe.h 49e0f9c6742860e224cd81d1278059f5d029dfb6
 F src/where.c 6b840a726b06b5122f112e3bc3c142a230af6251
 F test/all.test 0950c135cab7e60c07bd745ccfad1476211e5bd7
@@ -48,7 +48,7 @@ F www/c_interface.tcl 8867d76ddd416d2fbd41e4cb3de8efa9cef105a5
 F www/changes.tcl 567cc6066d87460bdedff8e5bbc20f41ddaadf77
 F www/index.tcl f8189a7898f6d06307c34047b9d7e00860026e44
 F www/sqlite.tcl 2f933ce18cffd34a0a020a82435ab937137970fd
-P e9ed5d2a3639161fb58856275ba9495f21d366bf
-R ad06a10e10e9d51600332d684a457b6e
+P bd8b2645cc16759571c8c622dce4752bd35c04cf
+R 712a80d7b1f5a98574f5dc5cddb6e092
 U drh
-Z b21141bb852afc7c732c3c3467253d37
+Z b053febfd62b58b2d6d5fa997754fe2c
index fc58e72f7ba61bebdecd3393f3526483f7c12c9a..9ac7f98a325bee9289fdf851436032c144fb6b46 100644 (file)
@@ -1 +1 @@
-bd8b2645cc16759571c8c622dce4752bd35c04cf
\ No newline at end of file
+b52dd82fe32c38c999aef4f07d046d0428336965
\ No newline at end of file
index 1b3e8527f5920eed58571632e2ea48a60e516d6b..857d7277c66f2527074c9808b53704830a26dadd 100644 (file)
@@ -23,7 +23,7 @@
 *************************************************************************
 ** This file contains C code routines used for processing expressions
 **
-** $Id: expr.c,v 1.7 2000/06/06 01:50:43 drh Exp $
+** $Id: expr.c,v 1.8 2000/06/06 03:31:22 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -179,6 +179,9 @@ int sqliteExprResolveIds(Parse *pParse, IdList *pTabList, Expr *pExpr){
         v = pParse->pVdbe = sqliteVdbeCreate(pParse->db->pBe);
       }
       if( v==0 ) return 1;
+      if( sqliteExprResolveIds(pParse, pTabList, pExpr->pLeft) ){
+        return 1;
+      }
       if( pExpr->pSelect ){
         /* Case 1:     expr IN (SELECT ...)
         **
@@ -228,6 +231,7 @@ int sqliteExprResolveIds(Parse *pParse, IdList *pTabList, Expr *pExpr){
           }
         }
       }
+      break;
     }
 
     case TK_SELECT: {
@@ -589,6 +593,7 @@ void sqliteExprIfTrue(Parse *pParse, Expr *pExpr, int dest){
       break;
     }
     case TK_IN: {
+      sqliteExprCode(pParse, pExpr->pLeft);
       if( pExpr->pSelect ){
         sqliteVdbeAddOp(v, OP_Found, pExpr->iTable, dest, 0, 0);
       }else{
@@ -679,6 +684,7 @@ void sqliteExprIfFalse(Parse *pParse, Expr *pExpr, int dest){
       break;
     }
     case TK_IN: {
+      sqliteExprCode(pParse, pExpr->pLeft);
       if( pExpr->pSelect ){
         sqliteVdbeAddOp(v, OP_NotFound, pExpr->iTable, dest, 0, 0);
       }else{
index d52e187c873bf0f8f60fd88c83a6f84d64fdcc25..a563d983b50a199d0783d5f74940d3c18d19c8e3 100644 (file)
@@ -41,7 +41,7 @@
 ** But other routines are also provided to help in building up
 ** a program instruction by instruction.
 **
-** $Id: vdbe.c,v 1.18 2000/06/06 01:50:43 drh Exp $
+** $Id: vdbe.c,v 1.19 2000/06/06 03:31:22 drh Exp $
 */
 #include "sqliteInt.h"
 #include <unistd.h>
@@ -476,7 +476,7 @@ static void SetInsert(Set *p, char *zKey){
   for(pElem=p->apHash[h]; pElem; pElem=pElem->pHash){
     if( strcmp(pElem->zKey, zKey)==0 ) return;
   }
-  pElem = sqliteMalloc( sizeof(pElem) + strlen(zKey) );
+  pElem = sqliteMalloc( sizeof(*pElem) + strlen(zKey) );
   if( pElem==0 ) return;
   strcpy(pElem->zKey, zKey);
   pElem->pNext = p->pAll;
@@ -2893,6 +2893,7 @@ int sqliteVdbeExec(
           pc = pOp->p2 - 1;
         }
         PopStack(p, 1);
+        break;
       }
 
       /* Opcode: SetNotFound P1 P2 *
@@ -2910,6 +2911,7 @@ int sqliteVdbeExec(
           pc = pOp->p2 - 1;
         }
         PopStack(p, 1);
+        break;
       }
 
       /* An other opcode is illegal...