Cover an extra case in sqlite3PagerMovepage(). (CVS 3796)
FossilOrigin-Name: 7313688bd03141381067c36800edf1621a2ea05e
This commit is contained in:
14
manifest
14
manifest
@@ -1,5 +1,5 @@
|
||||
C Fix\sfor\s#2281.\sThis\swas\sa\sproblem\swith\sthe\stest-case\sonly.\s(CVS\s3795)
|
||||
D 2007-04-02T12:29:01
|
||||
C Cover\san\sextra\scase\sin\ssqlite3PagerMovepage().\s(CVS\s3796)
|
||||
D 2007-04-02T14:19:16
|
||||
F Makefile.in 2f2c3bf69faf0ae7b8e8af4f94f1986849034530
|
||||
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
|
||||
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
||||
@@ -134,7 +134,7 @@ F src/vtab.c 7fbda947e28cbe7adb3ba752a76ca9ef29936750
|
||||
F src/where.c 25e0dbb96c6980d11cc756c2b4abdfda80cd67a5
|
||||
F tclinstaller.tcl 046e3624671962dc50f0481d7c25b38ef803eb42
|
||||
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
|
||||
F test/all.test 60267b055e82de4fb8b841eabb014bc2f836a4eb
|
||||
F test/all.test 6a03095322e93427a3677ce5daaa20f45640d1f0
|
||||
F test/alter.test a2cc30e844cb3b5d203416962f56f78fc11b1978
|
||||
F test/alter2.test 33fb74e0470455ed6903f8d6e63256c7402cebb1
|
||||
F test/alter3.test a6eec8f454be9b6ce73d8d7dc711453675a10ce7
|
||||
@@ -149,7 +149,7 @@ F test/attachmalloc.test 03eeddd06e685ddbe975efd51824e4941847e5f4
|
||||
F test/auth.test 66923137cf78475f5671b5e6e6274935e055aea0
|
||||
F test/auth2.test 8da06f0ffcfd98154dda78e0f3b35a6503c27b64
|
||||
F test/autoinc.test 60005a676e3e4e17dfa9dbd08aa0b76587ff97e3
|
||||
F test/autovacuum.test 5f5d843ff856b7dcfdf3f36b7e1acb04895047ce
|
||||
F test/autovacuum.test 05f528c3bf98d086df7d86fddeb9d85037254913
|
||||
F test/autovacuum_crash.test 05a63b8805b20cfba7ace82856ce4ccdda075a31
|
||||
F test/autovacuum_ioerr.test c46a76869cb6eddbbb40b419b2b6c4c001766b1f
|
||||
F test/autovacuum_ioerr2.test 2f8a3fb31f833fd0ca86ad4ad98913c73e807572
|
||||
@@ -448,7 +448,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
|
||||
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
||||
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
|
||||
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
|
||||
P 84077fa1602756339a262bc4ab51b6b487edc637
|
||||
R b4a7c87e67bebc1d353d9c4afaced009
|
||||
P c036db6251ca4671fc3388a4f37955c18adeca1d
|
||||
R b312892bc4400eb87f0210f0a4ec2915
|
||||
U danielk1977
|
||||
Z 56dcad87d661517797c12a6081958287
|
||||
Z 42486ade40db0dea35717849aebedc28
|
||||
|
||||
@@ -1 +1 @@
|
||||
c036db6251ca4671fc3388a4f37955c18adeca1d
|
||||
7313688bd03141381067c36800edf1621a2ea05e
|
||||
@@ -10,7 +10,7 @@
|
||||
#***********************************************************************
|
||||
# This file runs all tests.
|
||||
#
|
||||
# $Id: all.test,v 1.38 2007/03/27 12:04:06 drh Exp $
|
||||
# $Id: all.test,v 1.39 2007/04/02 14:19:16 danielk1977 Exp $
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
@@ -121,6 +121,7 @@ if {$LeakList!=""} {
|
||||
#
|
||||
if {$::tcl_platform(platform)=="unix"} {
|
||||
source $testdir/crash.test
|
||||
source $testdir/crash2.test
|
||||
ifcapable !default_autovacuum {
|
||||
source $testdir/autovacuum_crash.test
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# This file implements regression tests for SQLite library. The
|
||||
# focus of this file is testing the SELECT statement.
|
||||
#
|
||||
# $Id: autovacuum.test,v 1.24 2006/08/12 12:33:15 drh Exp $
|
||||
# $Id: autovacuum.test,v 1.25 2007/04/02 14:19:16 danielk1977 Exp $
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
@@ -579,4 +579,55 @@ do_test autovacuum-6.1 {
|
||||
|
||||
}
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Test cases autovacuum-7.X test the case where a page must be moved
|
||||
# and the destination location collides with at least one other
|
||||
# entry in the page hash-table (internal to the pager.c module.
|
||||
#
|
||||
do_test autovacuum-7.1 {
|
||||
db close
|
||||
file delete -force test.db
|
||||
file delete -force test.db-journal
|
||||
sqlite3 db test.db
|
||||
|
||||
execsql {
|
||||
PRAGMA auto_vacuum=1;
|
||||
CREATE TABLE t1(a, b, PRIMARY KEY(a, b));
|
||||
INSERT INTO t1 VALUES(randstr(400,400),randstr(400,400));
|
||||
INSERT INTO t1 SELECT randstr(400,400), randstr(400,400) FROM t1; -- 2
|
||||
INSERT INTO t1 SELECT randstr(400,400), randstr(400,400) FROM t1; -- 4
|
||||
INSERT INTO t1 SELECT randstr(400,400), randstr(400,400) FROM t1; -- 8
|
||||
INSERT INTO t1 SELECT randstr(400,400), randstr(400,400) FROM t1; -- 16
|
||||
INSERT INTO t1 SELECT randstr(400,400), randstr(400,400) FROM t1; -- 32
|
||||
}
|
||||
|
||||
expr {[file size test.db] / 1024}
|
||||
} {73}
|
||||
|
||||
do_test autovacuum-7.2 {
|
||||
execsql {
|
||||
CREATE TABLE t2(a, b, PRIMARY KEY(a, b));
|
||||
INSERT INTO t2 SELECT randstr(400,400), randstr(400,400) FROM t1; -- 2
|
||||
CREATE TABLE t3(a, b, PRIMARY KEY(a, b));
|
||||
INSERT INTO t3 SELECT randstr(400,400), randstr(400,400) FROM t1; -- 2
|
||||
CREATE TABLE t4(a, b, PRIMARY KEY(a, b));
|
||||
INSERT INTO t4 SELECT randstr(400,400), randstr(400,400) FROM t1; -- 2
|
||||
CREATE TABLE t5(a, b, PRIMARY KEY(a, b));
|
||||
INSERT INTO t5 SELECT randstr(400,400), randstr(400,400) FROM t1; -- 2
|
||||
}
|
||||
expr {[file size test.db] / 1024}
|
||||
} {354}
|
||||
|
||||
do_test autovacuum-7.3 {
|
||||
db close
|
||||
sqlite3 db test.db
|
||||
execsql {
|
||||
BEGIN;
|
||||
DELETE FROM t4;
|
||||
COMMIT;
|
||||
SELECT count(*) FROM t1;
|
||||
}
|
||||
expr {[file size test.db] / 1024}
|
||||
} {286}
|
||||
|
||||
finish_test
|
||||
|
||||
Reference in New Issue
Block a user