Annotation of embedaddon/sqlite3/test/tkt3762.test, revision 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>