1*326c3fcaSdrh# 2007 Sep 13 2*326c3fcaSdrh# 3*326c3fcaSdrh# The author disclaims copyright to this source code. In place of 4*326c3fcaSdrh# a legal notice, here is a blessing: 5*326c3fcaSdrh# 6*326c3fcaSdrh# May you do good and not evil. 7*326c3fcaSdrh# May you find forgiveness for yourself and forgive others. 8*326c3fcaSdrh# May you share freely, never taking more than you give. 9*326c3fcaSdrh# 10*326c3fcaSdrh#*********************************************************************** 11*326c3fcaSdrh# 12*326c3fcaSdrh# This file attempts to duplicate an error scenario seen on a 13*326c3fcaSdrh# customer system using version 3.2.2. The problem appears to 14*326c3fcaSdrh# have been fixed (perhaps by accident) with check-in [3503]. 15*326c3fcaSdrh# These tests will prevent an accidental recurrance. 16*326c3fcaSdrh# 17*326c3fcaSdrh# $Id: shortread1.test,v 1.1 2007/09/14 01:48:12 drh Exp $ 18*326c3fcaSdrh# 19*326c3fcaSdrh 20*326c3fcaSdrhset testdir [file dirname $argv0] 21*326c3fcaSdrhsource $testdir/tester.tcl 22*326c3fcaSdrh 23*326c3fcaSdrhdo_test shortread1-1.1 { 24*326c3fcaSdrh execsql { 25*326c3fcaSdrh CREATE TABLE t1(a TEXT); 26*326c3fcaSdrh BEGIN; 27*326c3fcaSdrh INSERT INTO t1 VALUES(hex(randomblob(5000))); 28*326c3fcaSdrh INSERT INTO t1 VALUES(hex(randomblob(100))); 29*326c3fcaSdrh PRAGMA freelist_count; 30*326c3fcaSdrh } 31*326c3fcaSdrh} {0} 32*326c3fcaSdrhdo_test shortread1-1.2 { 33*326c3fcaSdrh execsql { 34*326c3fcaSdrh DELETE FROM t1 WHERE rowid=1; 35*326c3fcaSdrh PRAGMA freelist_count; 36*326c3fcaSdrh } 37*326c3fcaSdrh} {11} 38*326c3fcaSdrhdo_test shortread1-1.3 { 39*326c3fcaSdrh sqlite3_release_memory [expr {1024*9}] 40*326c3fcaSdrh execsql { 41*326c3fcaSdrh INSERT INTO t1 VALUES(hex(randomblob(5000))); 42*326c3fcaSdrh PRAGMA freelist_count; 43*326c3fcaSdrh } 44*326c3fcaSdrh} {0} 45*326c3fcaSdrhdo_test shortread1-1.4 { 46*326c3fcaSdrh execsql { 47*326c3fcaSdrh COMMIT; 48*326c3fcaSdrh SELECT count(*) FROM t1; 49*326c3fcaSdrh } 50*326c3fcaSdrh} {2} 51*326c3fcaSdrh 52*326c3fcaSdrhfinish_test 53