1 # 2007 Sep 13 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 # This file attempts to duplicate an error scenario seen on a 13 # customer system using version 3.2.2. The problem appears to 14 # have been fixed (perhaps by accident) with check-in [3503]. 15 # These tests will prevent an accidental recurrance. 16 # 17 # $Id: shortread1.test,v 1.1 2007/09/14 01:48:12 drh Exp $ 18 # 19 20 set testdir [file dirname $argv0] 21 source $testdir/tester.tcl 22 23 do_test shortread1-1.1 { 24 execsql { 25 CREATE TABLE t1(a TEXT); 26 BEGIN; 27 INSERT INTO t1 VALUES(hex(randomblob(5000))); 28 INSERT INTO t1 VALUES(hex(randomblob(100))); 29 PRAGMA freelist_count; 30 } 31 } {0} 32 do_test shortread1-1.2 { 33 execsql { 34 DELETE FROM t1 WHERE rowid=1; 35 PRAGMA freelist_count; 36 } 37 } {11} 38 do_test shortread1-1.3 { 39 sqlite3_release_memory [expr {1024*9}] 40 execsql { 41 INSERT INTO t1 VALUES(hex(randomblob(5000))); 42 PRAGMA freelist_count; 43 } 44 } {0} 45 do_test shortread1-1.4 { 46 execsql { 47 COMMIT; 48 SELECT count(*) FROM t1; 49 } 50 } {2} 51 52 finish_test 53