Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Test cases for the cache_spill pragma. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | cache_spill |
Files: | files | file ages | folders |
SHA1: |
b85c9ec5e02c1b92faa8eeb9e56e02a5 |
User & Date: | drh 2013-08-17 00:25:07.417 |
Context
2013-08-17
| ||
15:42 | The fullfsync, checkpoint_fullfsync, and cache_spill pragmas apply to all files of a database connection, including those opened by future ATTACH statements. (Closed-Leaf check-in: d07c4331a2 user: drh tags: cache_spill) | |
00:25 | Test cases for the cache_spill pragma. (check-in: b85c9ec5e0 user: drh tags: cache_spill) | |
2013-08-16
| ||
20:42 | Add the cache_spill pragma. (check-in: cdb181c04f user: drh tags: cache_spill) | |
Changes
Changes to test/pragma2.test.
︙ | ︙ | |||
18 19 20 21 22 23 24 25 26 27 28 29 30 31 | source $testdir/tester.tcl # Test organization: # # pragma2-1.*: Test freelist_count pragma on the main database. # pragma2-2.*: Test freelist_count pragma on an attached database. # pragma2-3.*: Test trying to write to the freelist_count is a no-op. # ifcapable !pragma||!schema_pragmas { finish_test return } | > | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | source $testdir/tester.tcl # Test organization: # # pragma2-1.*: Test freelist_count pragma on the main database. # pragma2-2.*: Test freelist_count pragma on an attached database. # pragma2-3.*: Test trying to write to the freelist_count is a no-op. # pragma2-4.*: Tests for PRAGMA cache_spill # ifcapable !pragma||!schema_pragmas { finish_test return } |
︙ | ︙ | |||
112 113 114 115 116 117 118 119 | execsql { PRAGMA aux.freelist_count = 500; PRAGMA aux.freelist_count; } } {9 9} } finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | execsql { PRAGMA aux.freelist_count = 500; PRAGMA aux.freelist_count; } } {9 9} } # Default setting of PRAGMA cache_spill is always ON # db close delete_file test.db test.db-journal sqlite3 db test.db do_execsql_test pragma2-4.1 { PRAGMA cache_spill; PRAGMA main.cache_spill; PRAGMA temp.cache_spill; } {1 1 1} do_execsql_test pragma2-4.2 { PRAGMA cache_spill=OFF; PRAGMA cache_spill; PRAGMA main.cache_spill; PRAGMA temp.cache_spill; } {0 0 0} do_execsql_test pragma2-4.3 { PRAGMA page_size=1024; PRAGMA cache_size=50; BEGIN; CREATE TABLE t1(a INTEGER PRIMARY KEY, b, c, d); INSERT INTO t1 VALUES(1, randomblob(400), 1, randomblob(400)); INSERT INTO t1 SELECT a+1, randomblob(400), a+1, randomblob(400) FROM t1; INSERT INTO t1 SELECT a+2, randomblob(400), a+2, randomblob(400) FROM t1; INSERT INTO t1 SELECT a+4, randomblob(400), a+4, randomblob(400) FROM t1; INSERT INTO t1 SELECT a+8, randomblob(400), a+8, randomblob(400) FROM t1; INSERT INTO t1 SELECT a+16, randomblob(400), a+16, randomblob(400) FROM t1; INSERT INTO t1 SELECT a+32, randomblob(400), a+32, randomblob(400) FROM t1; INSERT INTO t1 SELECT a+64, randomblob(400), a+64, randomblob(400) FROM t1; COMMIT; PRAGMA cache_spill=ON; } {} do_test pragma2-4.4 { db eval { BEGIN; UPDATE t1 SET c=c+1; PRAGMA lock_status; } } {main exclusive temp unknown} ;# EXCLUSIVE lock due to cache spill do_test pragma2-4.5 { db eval { COMMIT; PRAGMA cache_spill=OFF; BEGIN; UPDATE t1 SET c=c-1; PRAGMA lock_status; } } {main reserved temp unknown} ;# No cache spill, so no exclusive lock finish_test |