jrnlmode2-2.4 & 2-2.6, return incorrect results when using a codec with an
encryption routine
Expected: [0 {1 2 3 4 5 6}]
Got: [1 {file is encrypted or is not a database}]
This happens because the sqlite db command in TCL opens the database with
the option -key {xyzzy}
# Use the pager codec if it is available
#
if {[sqlite3 -has-codec] && [info command sqlite_orig]==""} {
rename sqlite3 sqlite_orig
proc sqlite3 {args} {
if {[llength $args]==2 && [string index [lindex $args 0] 0]!="-"} {
lappend args -key {xyzzy}
}
uplevel 1 sqlite_orig $args
}
}
However, when additional db commands are defined, there is no key added when
a codec exists
Suggested correction for 2-2.4 & 2-2.6
do_test jrnlmode2-2.4 {
if {[sqlite3 -has-codec]} {
sqlite3 db2 test.db -readonly 1 -key {xyzzy}
} else {
sqlite3 db2 test.db -readonly 1
}
catchsql { SELECT * FROM t1 } db2
} {0 {1 2 3 4 5 6}}
do_test jrnlmode2-2.6 {
if {[sqlite3 -has-codec]} {
sqlite3 db2 test.db -readonly 1 -key {xyzzy}
} else {
sqlite3 db2 test.db -readonly 1
}
catchsql { SELECT * FROM t1 } db2
} {0 {1 2 3 4 5 6}}
Thanks,
Noah
--
View this message in context:
http://old.nabble.com/Error-in-jrnlmode2.test-with-encryption-codec-tp28951848p28951848.html
Sent from the SQLite mailing list archive at Nabble.com.
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users