Annotation of embedaddon/sqlite3/test/tkt3762.test, revision 1.1.1.1
1.1 misho 1: # 2009 March 28
2: #
3: # The author disclaims copyright to this source code. In place of
4: # a legal notice, here is a blessing:
5: #
6: # May you do good and not evil.
7: # May you find forgiveness for yourself and forgive others.
8: # May you share freely, never taking more than you give.
9: #
10: #***********************************************************************
11: #
12: # Ticket #3762: Make sure that an incremental vacuum that reduces the
13: # size of the database file such that a pointer-map page is elemented
14: # can be correctly rolled back.
15: #
16: # That ticket #3762 has been fixed has already been verified by the
17: # savepoint6.test test script. But this script is simplier and a
18: # redundant test never hurts.
19: #
20: # $Id: tkt3762.test,v 1.1 2009/03/31 00:50:36 drh Exp $
21:
22: set testdir [file dirname $argv0]
23: source $testdir/tester.tcl
24:
25: do_test tkt3762-1.1 {
26: db eval {
27: PRAGMA auto_vacuum=INCREMENTAL;
28: PRAGMA page_size=1024;
29: PRAGMA cache_size=10;
30: CREATE TABLE t1(x);
31: INSERT INTO t1 VALUES(zeroblob(900));
32: INSERT INTO t1 VALUES(zeroblob(900));
33: INSERT INTO t1 SELECT x FROM t1;
34: INSERT INTO t1 SELECT x FROM t1;
35: INSERT INTO t1 SELECT x FROM t1;
36: INSERT INTO t1 SELECT x FROM t1;
37: INSERT INTO t1 SELECT x FROM t1;
38: INSERT INTO t1 SELECT x FROM t1;
39: INSERT INTO t1 SELECT x FROM t1;
40: DELETE FROM t1 WHERE rowid>202;
41: VACUUM;
42:
43: BEGIN;
44: DELETE FROM t1 WHERE rowid IN (10,11,12) ;
45: PRAGMA incremental_vacuum(10);
46: UPDATE t1 SET x=zeroblob(900) WHERE rowid BETWEEN 100 AND 110;
47: INSERT INTO t1 VALUES(zeroblob(39000));
48: SELECT count(*) FROM t1;
49: ROLLBACK;
50: }
51: db eval {PRAGMA integrity_check}
52: } {ok}
53:
54: finish_test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>