1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-01 06:27:03 +03:00

Merge trunk changes into experimental branch.

FossilOrigin-Name: 15368a9f8523d5fb611cd576080daed2cf2f1500
This commit is contained in:
dan
2010-08-03 18:29:04 +00:00
15 changed files with 167 additions and 64 deletions

View File

@ -980,29 +980,31 @@ do_test wal2-11.1.1 {
execsql { SELECT name FROM sqlite_master } db2
} {t1}
# Set all zeroed slots in the first hash table to invalid values.
#
set blob [string range [tvfs shm $::filename] 0 16383]
set I [string range [tvfs shm $::filename] 16384 end]
binary scan $I t* L
set I [list]
foreach p $L {
lappend I [expr $p ? $p : 400]
if {$::tcl_version>=8.5} {
# Set all zeroed slots in the first hash table to invalid values.
#
set blob [string range [tvfs shm $::filename] 0 16383]
set I [string range [tvfs shm $::filename] 16384 end]
binary scan $I t* L
set I [list]
foreach p $L {
lappend I [expr $p ? $p : 400]
}
append blob [binary format t* $I]
tvfs shm $::filename $blob
do_test wal2-11.2 {
catchsql { INSERT INTO t1 VALUES(10, 11, 12) }
} {1 {database disk image is malformed}}
# Fill up the hash table on the first page of shared memory with 0x55 bytes.
#
set blob [string range [tvfs shm $::filename] 0 16383]
append blob [string repeat [binary format c 55] 16384]
tvfs shm $::filename $blob
do_test wal2-11.3 {
catchsql { SELECT * FROM t1 } db2
} {1 {database disk image is malformed}}
}
append blob [binary format t* $I]
tvfs shm $::filename $blob
do_test wal2-11.2 {
catchsql { INSERT INTO t1 VALUES(10, 11, 12) }
} {1 {database disk image is malformed}}
# Fill up the hash table on the first page of shared memory with 0x55 bytes.
#
set blob [string range [tvfs shm $::filename] 0 16383]
append blob [string repeat [binary format c 55] 16384]
tvfs shm $::filename $blob
do_test wal2-11.3 {
catchsql { SELECT * FROM t1 } db2
} {1 {database disk image is malformed}}
db close
db2 close
@ -1148,4 +1150,3 @@ if {$::tcl_platform(platform) == "unix"} {
}
finish_test