Changing page size using VACUUM or backup is not allowed with a codec attached.
FossilOrigin-Name: 92be06c1a828d56652fa5269a3029f8cb029b2cd
This commit is contained in:
parent
05586c3284
commit
4a8a646723
14
manifest
14
manifest
@ -1,5 +1,5 @@
|
||||
C Merge\stest\sscript\sfixes\sfrom\strunk.
|
||||
D 2016-03-14T18:42:04.674
|
||||
C Changing\spage\ssize\susing\sVACUUM\sor\sbackup\sis\snot\sallowed\swith\sa\scodec\sattached.
|
||||
D 2016-03-14T20:49:24.177
|
||||
F Makefile.in f53429fb2f313c099283659d0df6f20f932c861f
|
||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||
F Makefile.msc df0bf9ff7f8b3f4dd9fb4cc43f92fe58f6ec5c66
|
||||
@ -937,7 +937,7 @@ F test/orderby8.test 23ef1a5d72bd3adcc2f65561c654295d1b8047bd
|
||||
F test/orderby9.test 87fb9548debcc2cd141c5299002dd94672fa76a3
|
||||
F test/oserror.test b32dc34f2363ef18532e3a0a7358e3e7e321974f
|
||||
F test/ovfl.test 199c482696defceacee8c8e0e0ef36da62726b2f
|
||||
F test/pager1.test f49df1a8b0e38b9ee3a7dd2ab4d427507b7314ce
|
||||
F test/pager1.test 841868017e9dd3cb459b8d78862091a7d9cff21d
|
||||
F test/pager2.test 67b8f40ae98112bcdba1f2b2d03ea83266418c71
|
||||
F test/pager3.test 3856d9c80839be0668efee1b74811b1b7f7fc95f
|
||||
F test/pager4.test a122e9e6925d5b23b31e3dfef8c6a44bbf19590e
|
||||
@ -1072,7 +1072,7 @@ F test/subquery2.test 438f8a7da1457277b22e4176510f7659b286995f
|
||||
F test/subselect.test d24fd8757daf97dafd2e889c73ea4c4272dcf4e4
|
||||
F test/substr.test 18f57c4ca8a598805c4d64e304c418734d843c1a
|
||||
F test/subtype1.test 7fe09496352f97053af1437150751be2d0a0cae8
|
||||
F test/superlock.test 168011a6730aee70c28ea8d5e1c0592de4026f79
|
||||
F test/superlock.test ec94f0556b6488d97f71c79f9061ae08d9ab8f12
|
||||
F test/symlink.test c9ebe7330d228249e447038276bfc8a7b22f4849
|
||||
F test/sync.test 2f607e1821aa3af3c5c53b58835c05e511c95899
|
||||
F test/syscall.test f59ba4e25f7ba4a4c031026cc2ef8b6e4b4c639c
|
||||
@ -1456,7 +1456,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||
P 99b9d7eef68fd6d5c9eecb5fbe3dfe002c1ca4a8 f7480e33eb82f2eae219d17ce46cd2d4edac07d2
|
||||
R a4b3be370b53beddc257d6f309680c72
|
||||
P ea1d2cddd59192251ee5fd912b190cded4959879
|
||||
R 24275616ba2669073b7ddeb77ba67682
|
||||
U drh
|
||||
Z 068814209d932469f07bb4748200130f
|
||||
Z 86d93a0053c6301f416af4041023113a
|
||||
|
@ -1 +1 @@
|
||||
ea1d2cddd59192251ee5fd912b190cded4959879
|
||||
92be06c1a828d56652fa5269a3029f8cb029b2cd
|
@ -1396,26 +1396,47 @@ do_test pager1-9.3.1 {
|
||||
execsql { PRAGMA page_size = 1024 }
|
||||
for {set ii 0} {$ii < 4} {incr ii} { execsql "CREATE TABLE t${ii}(a, b)" }
|
||||
} {}
|
||||
do_test pager1-9.3.2 {
|
||||
sqlite3 db2 test.db2
|
||||
|
||||
execsql {
|
||||
PRAGMA page_size = 4096;
|
||||
PRAGMA synchronous = OFF;
|
||||
CREATE TABLE t1(a, b);
|
||||
CREATE TABLE t2(a, b);
|
||||
} db2
|
||||
|
||||
sqlite3_backup B db2 main db main
|
||||
B step 30
|
||||
list [B step 10000] [B finish]
|
||||
} {SQLITE_DONE SQLITE_OK}
|
||||
do_test pager1-9.3.3 {
|
||||
db2 close
|
||||
db close
|
||||
tv delete
|
||||
file size test.db2
|
||||
} [file size test.db]
|
||||
if {[nonzero_reserved_bytes]} {
|
||||
# backup with a page size changes is not possible with the codec
|
||||
#
|
||||
do_test pager1-9.3.2codec {
|
||||
sqlite3 db2 test.db2
|
||||
execsql {
|
||||
PRAGMA page_size = 4096;
|
||||
PRAGMA synchronous = OFF;
|
||||
CREATE TABLE t1(a, b);
|
||||
CREATE TABLE t2(a, b);
|
||||
} db2
|
||||
sqlite3_backup B db2 main db main
|
||||
B step 30
|
||||
list [B step 10000] [B finish]
|
||||
} {SQLITE_READONLY SQLITE_READONLY}
|
||||
do_test pager1-9.3.3codec {
|
||||
db2 close
|
||||
db close
|
||||
tv delete
|
||||
file size test.db2
|
||||
} [file size test.db2]
|
||||
} else {
|
||||
do_test pager1-9.3.2 {
|
||||
sqlite3 db2 test.db2
|
||||
execsql {
|
||||
PRAGMA page_size = 4096;
|
||||
PRAGMA synchronous = OFF;
|
||||
CREATE TABLE t1(a, b);
|
||||
CREATE TABLE t2(a, b);
|
||||
} db2
|
||||
sqlite3_backup B db2 main db main
|
||||
B step 30
|
||||
list [B step 10000] [B finish]
|
||||
} {SQLITE_DONE SQLITE_OK}
|
||||
do_test pager1-9.3.3 {
|
||||
db2 close
|
||||
db close
|
||||
tv delete
|
||||
file size test.db2
|
||||
} [file size test.db]
|
||||
}
|
||||
|
||||
do_test pager1-9.4.1 {
|
||||
faultsim_delete_and_reopen
|
||||
@ -2447,13 +2468,23 @@ do_test pager1-29.1 {
|
||||
}
|
||||
file size test.db
|
||||
} [expr 1024*3]
|
||||
do_test pager1-29.2 {
|
||||
execsql {
|
||||
PRAGMA page_size = 4096;
|
||||
VACUUM;
|
||||
}
|
||||
file size test.db
|
||||
} [expr 4096*3]
|
||||
if {[nonzero_reserved_bytes]} {
|
||||
# VACUUM with size changes is not possible with the codec.
|
||||
do_test pager1-29.2 {
|
||||
catchsql {
|
||||
PRAGMA page_size = 4096;
|
||||
VACUUM;
|
||||
}
|
||||
} {1 {attempt to write a readonly database}}
|
||||
} else {
|
||||
do_test pager1-29.2 {
|
||||
execsql {
|
||||
PRAGMA page_size = 4096;
|
||||
VACUUM;
|
||||
}
|
||||
file size test.db
|
||||
} [expr 4096*3]
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
# Test that if an empty database file (size 0 bytes) is opened in
|
||||
|
@ -239,13 +239,23 @@ db_swap test.db2 test.db
|
||||
do_catchsql_test 6.9 { SELECT * FROM t1 } {0 {1 2 3 4}}
|
||||
do_catchsql_test 6.10 { SELECT * FROM t2 } {1 {no such table: t2}}
|
||||
|
||||
do_execsql_test 6.11 {
|
||||
PRAGMA journal_mode = delete;
|
||||
PRAGMA page_size = 512;
|
||||
VACUUM;
|
||||
PRAGMA journal_mode = wal;
|
||||
INSERT INTO t1 VALUES(5, 6);
|
||||
} {delete wal}
|
||||
if {[nonzero_reserved_bytes]} {
|
||||
# Vacuum with a size change is not allowed with the codec
|
||||
do_execsql_test 6.11codec {
|
||||
PRAGMA journal_mode = delete;
|
||||
VACUUM;
|
||||
PRAGMA journal_mode = wal;
|
||||
INSERT INTO t1 VALUES(5, 6);
|
||||
} {delete wal}
|
||||
} else {
|
||||
do_execsql_test 6.11 {
|
||||
PRAGMA journal_mode = delete;
|
||||
PRAGMA page_size = 512;
|
||||
VACUUM;
|
||||
PRAGMA journal_mode = wal;
|
||||
INSERT INTO t1 VALUES(5, 6);
|
||||
} {delete wal}
|
||||
}
|
||||
|
||||
db_swap test.db2 test.db
|
||||
do_catchsql_test 6.12 { SELECT * FROM t1 } {1 {no such table: t1}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user