1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- # 2013-05-23
- #
- # The author disclaims copyright to this source code. In place of
- # a legal notice, here is a blessing:
- #
- # May you do good and not evil.
- # May you find forgiveness for yourself and forgive others.
- # May you share freely, never taking more than you give.
- #
- #***********************************************************************
- #
- set testdir [file dirname $argv0]
- source $testdir/tester.tcl
- ifcapable !mmap||!vtab {
- finish_test
- return
- }
- source $testdir/lock_common.tcl
- set testprefix mmap3
- do_test mmap3-1.0 {
- load_static_extension db wholenumber
- db eval {
- PRAGMA mmap_size=100000;
- CREATE TABLE t1(x, y);
- CREATE VIRTUAL TABLE nums USING wholenumber;
- INSERT INTO t1 SELECT value, randomblob(value) FROM nums
- WHERE value BETWEEN 1 and 1000;
- SELECT sum(x), sum(length(y)) from t1;
- PRAGMA mmap_size;
- }
- } {100000 500500 500500 100000}
- do_test mmap3-1.2 {
- db eval {
- PRAGMA mmap_size=50000;
- CREATE TABLE t2(a,b);
- SELECT name FROM sqlite_master WHERE type='table' ORDER BY 1;
- PRAGMA quick_check;
- PRAGMA mmap_size;
- }
- } {50000 nums t1 t2 ok 50000}
- do_test mmap3-1.3 {
- db eval {
- PRAGMA mmap_size=250000;
- DROP TABLE t2;
- SELECT name FROM sqlite_master WHERE type='table' ORDER BY 1;
- PRAGMA quick_check;
- PRAGMA mmap_size;
- }
- } {250000 nums t1 ok 250000}
- do_test mmap3-1.4 {
- db eval {SELECT x FROM t1 WHERE +x BETWEEN 10 AND 15} {
- db eval {PRAGMA mmap_size=150000}
- }
- db eval {
- PRAGMA quick_check;
- PRAGMA mmap_size;
- }
- } {ok 250000}
- do_test mmap3-1.5 {
- db eval {SELECT x FROM t1 WHERE +x BETWEEN 10 AND 15} {
- db eval {PRAGMA mmap_size=0}
- }
- db eval {
- PRAGMA quick_check;
- PRAGMA mmap_size;
- }
- } {ok 250000}
- do_test mmap3-1.6 {
- db eval {SELECT x FROM t1 WHERE +x BETWEEN 10 AND 15} {
- set x [db one {PRAGMA mmap_size}]
- }
- set x [concat $x [db eval {
- PRAGMA quick_check;
- PRAGMA mmap_size;
- }]]
- } {250000 ok 250000}
- do_test mmap3-1.7 {
- db eval {
- PRAGMA mmap_size(0);
- CREATE TABLE t3(a,b,c);
- SELECT name FROM sqlite_master WHERE type='table' ORDER BY 1;
- PRAGMA quick_check;
- PRAGMA mmap_size;
- }
- } {0 nums t1 t3 ok 0}
- do_test mmap3-1.8 {
- db eval {SELECT x FROM t1 WHERE +x BETWEEN 10 AND 15} {
- db eval {PRAGMA mmap_size=75000}
- }
- db eval {
- PRAGMA quick_check;
- PRAGMA mmap_size;
- }
- } {ok 75000}
- finish_test
|