Bug fixes. Trying to make it go faster. (CVS 254)
FossilOrigin-Name: 8f28a83abac59a2161d486c96386b8df726468d0
This commit is contained in:
parent
c73d1f5a55
commit
1eaa2694bf
18
manifest
18
manifest
@ -1,5 +1,5 @@
|
||||
C Enchanced\stransaction\stests\s(CVS\s253)
|
||||
D 2001-09-17T20:48:30
|
||||
C Bug\sfixes.\s\sTrying\sto\smake\sit\sgo\sfaster.\s(CVS\s254)
|
||||
D 2001-09-18T02:02:23
|
||||
F Makefile.in a7053596881af6f2590a816ad4eb8fbbf20724a7
|
||||
F README 51f6a4e7408b34afa5bc1c0485f61b6a4efb6958
|
||||
F VERSION 3861a21803fcd9eb92a403027b0da2bb7add4de1
|
||||
@ -18,7 +18,7 @@ F src/main.c 71ca839b90869c8c13db52fd08b0d0e80dae3288
|
||||
F src/md5.c 52f677bfc590e09f71d07d7e327bd59da738d07c
|
||||
F src/os.c 2e0daeca8a8c75f122d41f894698f5e1b258b69c
|
||||
F src/os.h 3b21772e76df0f3998c5a968a2a0d23b9d4551fe
|
||||
F src/pager.c 3871a5d34808b703e2d8ae2799fda208aa204051
|
||||
F src/pager.c c7db91e4e44bbf3e13ecea658e47b670d1f26e29
|
||||
F src/pager.h a0d4c5ae271914aa07b62aee0707997d6932b6ca
|
||||
F src/parse.y 2bcf47bb8e6afd8bc10aebd555fa07b73905bee4
|
||||
F src/printf.c b1e22a47be8cdf707815647239991e08e8cb69f9
|
||||
@ -36,9 +36,9 @@ F src/test3.c f46bad555db7a6a25be332a96ac99e4d68a1b0c5
|
||||
F src/tokenize.c 2adf0568edf41b3d3c2fcb541ac49bd6e662da0c
|
||||
F src/update.c a1952ad5d53379fa2b2d12efae5993ddb85a1ddb
|
||||
F src/util.c a09c3c12aa0259c12e7385313f527895ba3cdbf9
|
||||
F src/vdbe.c 33dcb7068dc6d80f7eb699922c6749abb32bf75e
|
||||
F src/vdbe.c 21f5d1c5418cbf740eefec10b875632e848eb7c1
|
||||
F src/vdbe.h 900b59b46afdfb9c048a2a31a4478f380ab8504e
|
||||
F src/where.c db42a5abdef686b4c3e1b51d0f85a6f8926521e5
|
||||
F src/where.c cce952b6a2459ac2296e3432876a4252d2fe3b87
|
||||
F test/all.test a2320eb40b462f25bd3e33115b1cabf3791450dd
|
||||
F test/btree.test bb1d1caf834aa22a208ce6cc7d8d8bd0e106cd59
|
||||
F test/btree2.test ddc13a8de33461391da8403ded3e6b091f08dab4
|
||||
@ -57,7 +57,7 @@ F test/pager.test 59bbc4e3d489529ed33db6e15595789e51056077
|
||||
F test/printf.test 93ecd43cc48e863a325560f36c3b2741f5fe0308
|
||||
F test/quick.test b6ec50f808efc06595fd324bf4f3fabadb9c7e9c
|
||||
F test/quote.test 286db944717afa9a9bf829dd85e59185c65d5435
|
||||
F test/rowid.test b6ce03dd39523b0f213fb9b05b5d544f73f002ce
|
||||
F test/rowid.test 427bfbbe9684fe7a2f851aa05badaae6d4972ce8
|
||||
F test/select1.test e0c3ff05f44233cde7918cb22ba4be05ea7a08ec
|
||||
F test/select2.test f91c903e2bab0e9d45274855a981eebf846d5e32
|
||||
F test/select3.test 5e1fe8e5a4e63fb2827ab3b89527e0fd4ae35259
|
||||
@ -95,7 +95,7 @@ F www/opcode.tcl cb3a1abf8b7b9be9f3a228d097d6bf8b742c2b6f
|
||||
F www/sqlite.tcl cb0d23d8f061a80543928755ec7775da6e4f362f
|
||||
F www/tclsqlite.tcl 06f81c401f79a04f2c5ebfb97e7c176225c0aef2
|
||||
F www/vdbe.tcl 0c8aaa529dd216ccbf7daaabd80985e413d5f9ad
|
||||
P 602ea4f9f641070592c788ce22859b849739b42e
|
||||
R 9d47f76cff786cc38ee15dd98f00be51
|
||||
P b30f2b5e150a219c374f88d13386dbda190ad9ed
|
||||
R 07bb1a4a448dedf9e2b45c7aa5ee5ac1
|
||||
U drh
|
||||
Z 49979fa205c7e6b07a58fef67abee514
|
||||
Z ba1b972f8330f9b56b7e933eb997f9fb
|
||||
|
@ -1 +1 @@
|
||||
b30f2b5e150a219c374f88d13386dbda190ad9ed
|
||||
8f28a83abac59a2161d486c96386b8df726468d0
|
@ -18,7 +18,7 @@
|
||||
** file simultaneously, or one process from reading the database while
|
||||
** another is writing.
|
||||
**
|
||||
** @(#) $Id: pager.c,v 1.20 2001/09/16 00:13:27 drh Exp $
|
||||
** @(#) $Id: pager.c,v 1.21 2001/09/18 02:02:23 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
#include "pager.h"
|
||||
@ -947,14 +947,12 @@ void *sqlitepager_lookup(Pager *pPager, Pgno pgno){
|
||||
** removed.
|
||||
*/
|
||||
int sqlitepager_unref(void *pData){
|
||||
Pager *pPager;
|
||||
PgHdr *pPg;
|
||||
|
||||
/* Decrement the reference count for this page
|
||||
*/
|
||||
pPg = DATA_TO_PGHDR(pData);
|
||||
assert( pPg->nRef>0 );
|
||||
pPager = pPg->pPager;
|
||||
pPg->nRef--;
|
||||
REFINFO(pPg);
|
||||
|
||||
@ -962,6 +960,8 @@ int sqlitepager_unref(void *pData){
|
||||
** destructor and add the page to the freelist.
|
||||
*/
|
||||
if( pPg->nRef==0 ){
|
||||
Pager *pPager;
|
||||
pPager = pPg->pPager;
|
||||
pPg->pNextFree = 0;
|
||||
pPg->pPrevFree = pPager->pLast;
|
||||
pPager->pLast = pPg;
|
||||
|
@ -30,7 +30,7 @@
|
||||
** But other routines are also provided to help in building up
|
||||
** a program instruction by instruction.
|
||||
**
|
||||
** $Id: vdbe.c,v 1.70 2001/09/16 00:13:27 drh Exp $
|
||||
** $Id: vdbe.c,v 1.71 2001/09/18 02:02:23 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
#include <ctype.h>
|
||||
@ -2332,7 +2332,11 @@ case OP_NewRecno: {
|
||||
v = ux.i;
|
||||
rx = sqliteBtreeMoveto(p->aCsr[i].pCursor, &v, sizeof(v), &res);
|
||||
cnt++;
|
||||
}while( cnt<10 && rx==SQLITE_OK && res==0 );
|
||||
}while( cnt<200 && rx==SQLITE_OK && res==0 );
|
||||
if( rx==SQLITE_OK && res==0 ){
|
||||
rc = SQLITE_FULL;
|
||||
goto abort_due_to_error;
|
||||
}
|
||||
}
|
||||
VERIFY( NeedStack(p, p->tos+1); )
|
||||
p->tos++;
|
||||
|
@ -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.20 2001/09/16 00:13:27 drh Exp $
|
||||
** $Id: where.c,v 1.21 2001/09/18 02:02:23 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
|
||||
@ -344,7 +344,7 @@ WhereInfo *sqliteWhereBegin(
|
||||
if( i==pTabList->nId-1 && pushKey ){
|
||||
haveKey = 1;
|
||||
}else{
|
||||
sqliteVdbeAddOp(v, OP_MoveTo, base+idx, 0, 0, 0);
|
||||
sqliteVdbeAddOp(v, OP_NotFound, base+idx, brk, 0, 0);
|
||||
haveKey = 0;
|
||||
}
|
||||
}else if( pIdx==0 ){
|
||||
|
@ -12,7 +12,7 @@
|
||||
# focus of this file is testing the magic ROWID column that is
|
||||
# found on all tables.
|
||||
#
|
||||
# $Id: rowid.test,v 1.4 2001/09/16 00:13:28 drh Exp $
|
||||
# $Id: rowid.test,v 1.5 2001/09/18 02:02:23 drh Exp $
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
@ -61,6 +61,13 @@ do_test rowid-1.7 {
|
||||
set sql "SELECT x FROM t1 WHERE _rowid_==$x2rowid(1)"
|
||||
execsql $sql
|
||||
} {1}
|
||||
do_test rowid-1.7.1 {
|
||||
while 1 {
|
||||
set norow [expr {int(rand()*1000000)}]
|
||||
if {$norow!=$x2rowid(1) && $norow!=$x2rowid(3)} break
|
||||
}
|
||||
execsql "SELECT x FROM t1 WHERE rowid=$norow"
|
||||
} {}
|
||||
do_test rowid-1.8 {
|
||||
global x2rowid
|
||||
set v [execsql {SELECT x, oid FROM t1 order by x}]
|
||||
@ -235,13 +242,13 @@ do_test rowid-4.5 {
|
||||
SELECT t1.x, fcnt() FROM t2, t1
|
||||
WHERE t2.y==256 AND t1.rowid==t2.rowid
|
||||
}
|
||||
} {4 2}
|
||||
} {4 1}
|
||||
do_test rowid-4.5.1 {
|
||||
execsql {
|
||||
SELECT t1.x, fcnt() FROM t2, t1
|
||||
WHERE t1.OID==t2.rowid AND t2.y==81
|
||||
}
|
||||
} {3 2}
|
||||
} {3 1}
|
||||
do_test rowid-4.6 {
|
||||
execsql {
|
||||
SELECT t1.x FROM t1, t2
|
||||
|
Loading…
x
Reference in New Issue
Block a user