/ Check-in [7f40576d]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Added a test case for ticket #3672. (CVS 6414)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:7f40576dd76cb67f5248739a0ef1fbe496a3b42a
User & Date: drh 2009-03-31 00:50:36
Context
2009-03-31
01:32
Remove two unused lines from pcache.c. (CVS 6415) check-in: d5cab05c user: drh tags: trunk
00:50
Added a test case for ticket #3672. (CVS 6414) check-in: 7f40576d user: drh tags: trunk
2009-03-30
18:50
Fix a case where a pointer map page was not being journalled before a file truncation that occurs as part of an incremental vacuum. (CVS 6413) check-in: c5890935 user: danielk1977 tags: trunk
Changes
Hide Diffs Unified Diffs Show Whitespace Changes Patch

Added test/tkt3762.test.













































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 2009 March 28
#
# The author disclaims copyright to this source code.  In place of
# a legal notice, here is a blessing:
#
#    May you do good and not evil.
#    May you find forgiveness for yourself and forgive others.
#    May you share freely, never taking more than you give.
#
#***********************************************************************
#
# Ticket #3762:  Make sure that an incremental vacuum that reduces the
# size of the database file such that a pointer-map page is elemented
# can be correctly rolled back.
#
# That ticket #3762 has been fixed has already been verified by the
# savepoint6.test test script.  But this script is simplier and a
# redundant test never hurts.
#
# $Id: tkt3762.test,v 1.1 2009/03/31 00:50:36 drh Exp $

set testdir [file dirname $argv0]
source $testdir/tester.tcl

do_test tkt3762-1.1 {
  db eval {
    PRAGMA auto_vacuum=INCREMENTAL;
    PRAGMA page_size=1024;
    PRAGMA cache_size=10;
    CREATE TABLE t1(x);
    INSERT INTO t1 VALUES(zeroblob(900));
    INSERT INTO t1 VALUES(zeroblob(900));
    INSERT INTO t1 SELECT x FROM t1;
    INSERT INTO t1 SELECT x FROM t1;
    INSERT INTO t1 SELECT x FROM t1;
    INSERT INTO t1 SELECT x FROM t1;
    INSERT INTO t1 SELECT x FROM t1;
    INSERT INTO t1 SELECT x FROM t1;
    INSERT INTO t1 SELECT x FROM t1;
    DELETE FROM t1 WHERE rowid>202;
    VACUUM;
    
    BEGIN;
    DELETE FROM t1 WHERE rowid IN (10,11,12) ;
    PRAGMA incremental_vacuum(10);
    UPDATE t1 SET x=zeroblob(900) WHERE rowid BETWEEN 100 AND 110;
    INSERT INTO t1 VALUES(zeroblob(39000));
    SELECT count(*) FROM t1;
    ROLLBACK;
  }
  db eval {PRAGMA integrity_check}
} {ok}

finish_test