:-) (CVS 56)
FossilOrigin-Name: b52dd82fe32c38c999aef4f07d046d0428336965
This commit is contained in:
parent
fef5208c15
commit
cfab11bcba
14
manifest
14
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
|
||||
|
@ -1 +1 @@
|
||||
bd8b2645cc16759571c8c622dce4752bd35c04cf
|
||||
b52dd82fe32c38c999aef4f07d046d0428336965
|
@ -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{
|
||||
|
@ -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...
|
||||
|
Loading…
x
Reference in New Issue
Block a user