mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
:-) (CVS 63)
FossilOrigin-Name: 65d2100d33350e6bce30d4d75f3cead9fcab3efb
This commit is contained in:
14
manifest
14
manifest
@@ -1,5 +1,5 @@
|
||||
C :-)\s(CVS\s62)
|
||||
D 2000-06-06T21:56:08
|
||||
C :-)\s(CVS\s63)
|
||||
D 2000-06-06T22:13:55
|
||||
F COPYRIGHT 74a8a6531a42e124df07ab5599aad63870fa0bd4
|
||||
F Makefile.in 17ba1ccf8d2d40c627796bba8f72952365d6d644
|
||||
F README 51f6a4e7408b34afa5bc1c0485f61b6a4efb6958
|
||||
@@ -14,7 +14,7 @@ F src/expr.c d350fe393e1753aaa733a5d21f0830a23e547400
|
||||
F src/insert.c 5e69dd70c3f91cf5ec5090f39fd6cd8e135af9bf
|
||||
F src/main.c 93a7ad14bb5a82ad13ad59da23ef674a94b0c3d6
|
||||
F src/parse.y 8b632f4c4ff2f4400f15592ca9d8fda27d97d0c4
|
||||
F src/select.c db29a091b6a5a4e90e7a0afb5721910ccaa9e19d
|
||||
F src/select.c 74fa3af62bfa2e6e29f43153f883fd28c295b853
|
||||
F src/shell.c 5fa24c0bb678782ffe9070128e3e160674f297eb
|
||||
F src/sqlite.h 58da0a8590133777b741f9836beaef3d58f40268
|
||||
F src/sqliteInt.h 3cca846df0a8b5f811cf4f8021303547cd8f21fd
|
||||
@@ -22,7 +22,7 @@ F src/tclsqlite.c 9f358618ae803bedf4fb96da5154fd45023bc1f7
|
||||
F src/tokenize.c 09373590cc3942aa4744eb431ac5b5ce31e7cfea
|
||||
F src/update.c 18746f920f989b3d19d96c08263c92584823cd35
|
||||
F src/util.c 33f9baa01e45394ef0cf85361a0e872987884315
|
||||
F src/vdbe.c 562b12a9bafc098c114ab5eaec1307d071b89fd3
|
||||
F src/vdbe.c d78231479a357b69fa61283c18477f1c208088f9
|
||||
F src/vdbe.h 8f79f57c66ce1030f6371ff067b326d627a52c6d
|
||||
F src/where.c c9b90e7672f4662a83ef9a27a193020d69fe034c
|
||||
F test/all.test 0950c135cab7e60c07bd745ccfad1476211e5bd7
|
||||
@@ -50,7 +50,7 @@ F www/c_interface.tcl 9ac800854272db5fe439e07b7435b243a5422293
|
||||
F www/changes.tcl f5839fe8de7449d994c71a8e48ce8ea736bec7d1
|
||||
F www/index.tcl 0c63672bad5188327143ecd0a07c7c0741ff9823
|
||||
F www/sqlite.tcl 2f933ce18cffd34a0a020a82435ab937137970fd
|
||||
P 25984b4d3ce0f94fa98a159d840cc7bd4e8bc1ab
|
||||
R 390a7e6fa62aea4b8e4067014add32c4
|
||||
P f4d9089c5d69b16fee5feb49b02e524499e6328d
|
||||
R dbe7159bcbb54ce029964c82a0bd434c
|
||||
U drh
|
||||
Z 9866a189debd27c7a4ca83d1442824ae
|
||||
Z cf4067fbc404bfe31608e9dcddc7bc35
|
||||
|
@@ -1 +1 @@
|
||||
f4d9089c5d69b16fee5feb49b02e524499e6328d
|
||||
65d2100d33350e6bce30d4d75f3cead9fcab3efb
|
@@ -24,7 +24,7 @@
|
||||
** This file contains C code routines that are called by the parser
|
||||
** to handle SELECT statements.
|
||||
**
|
||||
** $Id: select.c,v 1.13 2000/06/06 21:56:08 drh Exp $
|
||||
** $Id: select.c,v 1.14 2000/06/06 22:13:55 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
|
||||
@@ -161,9 +161,8 @@ static int selectInnerLoop(
|
||||
** the temporary table iParm.
|
||||
*/
|
||||
if( eDest==SRT_Except ){
|
||||
assert( pEList->nExpr==1 );
|
||||
sqliteVdbeAddOp(v, OP_String, 0, 0, "", 0);
|
||||
sqliteVdbeAddOp(v, OP_Put, iParm, 0, 0, 0);
|
||||
sqliteVdbeAddOp(v, OP_MakeRecord, nField, 0, 0, 0);
|
||||
sqliteVdbeAddOp(v, OP_Delete, iParm, 0, 0, 0);
|
||||
}else
|
||||
|
||||
/* If we are creating a set for an "expr IN (SELECT ...)" construct,
|
||||
@@ -182,6 +181,7 @@ static int selectInnerLoop(
|
||||
** of the scan loop.
|
||||
*/
|
||||
if( eDest==SRT_Mem ){
|
||||
assert( pEList->nExpr==1 );
|
||||
sqliteVdbeAddOp(v, OP_MemStore, iParm, 0, 0, 0);
|
||||
sqliteVdbeAddOp(v, OP_Goto, 0, iBreak, 0, 0);
|
||||
}else
|
||||
@@ -306,7 +306,6 @@ static int multiSelect(Parse *pParse, Select *p, int eDest, int iParm){
|
||||
}
|
||||
case TK_INTERSECT: {
|
||||
int tab1, tab2;
|
||||
Select *pPrior;
|
||||
int iCont, iBreak;
|
||||
|
||||
tab1 = pParse->nTab++;
|
||||
|
12
src/vdbe.c
12
src/vdbe.c
@@ -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.23 2000/06/06 21:56:08 drh Exp $
|
||||
** $Id: vdbe.c,v 1.24 2000/06/06 22:13:55 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
#include <unistd.h>
|
||||
@@ -1966,8 +1966,14 @@ int sqliteVdbeExec(
|
||||
if( NeedStack(p, p->tos) ) goto no_mem;
|
||||
if( i>=0 && i<p->nTable && (pTab = p->aTab[i].pTable)!=0 ){
|
||||
char *z = sqliteDbbeReadKey(pTab, 0);
|
||||
memcpy(&p->aStack[tos].i, z, sizeof(int));
|
||||
p->aStack[tos].flags = STK_Int;
|
||||
if( p->aTab[i].keyAsData ){
|
||||
p->zStack[tos] = z;
|
||||
p->aStack[tos].flags = STK_Str;
|
||||
p->aStack[tos].n = sqliteDbbeKeyLength(pTab);
|
||||
}else{
|
||||
memcpy(&p->aStack[tos].i, z, sizeof(int));
|
||||
p->aStack[tos].flags = STK_Int;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user