⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pagesize.test

📁 sqlite-3.4.1,嵌入式数据库.是一个功能强大的开源数据库,给学习和研发以及小型公司的发展带来了全所未有的好处.
💻 TEST
字号:
# 2004 September 2## 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.##***********************************************************************# This file implements regression tests for SQLite library.# This file implements tests for the page_size PRAGMA.## $Id: pagesize.test,v 1.12 2007/04/06 21:42:22 drh Exp $set testdir [file dirname $argv0]source $testdir/tester.tcl# This test script depends entirely on "PRAGMA page_size". So if this# pragma is not available, omit the whole file.ifcapable !pager_pragmas {  finish_test  return}do_test pagesize-1.1 {  execsql {PRAGMA page_size}} 1024ifcapable {explain} {  do_test pagesize-1.2 {    catch {execsql {EXPLAIN PRAGMA page_size}}  } 0}do_test pagesize-1.3 {  execsql {    CREATE TABLE t1(a);    PRAGMA page_size=2048;    PRAGMA page_size;  }} 1024do_test pagesize-1.4 {  db close  file delete -force test.db  sqlite3 db test.db  execsql {    PRAGMA page_size=511;    PRAGMA page_size;  }} 1024do_test pagesize-1.5 {  execsql {    PRAGMA page_size=512;    PRAGMA page_size;  }} 512if {![info exists SQLITE_MAX_PAGE_SIZE] || $SQLITE_MAX_PAGE_SIZE>=8192} {  do_test pagesize-1.6 {    execsql {      PRAGMA page_size=8192;      PRAGMA page_size;    }  } 8192  do_test pagesize-1.7 {    execsql {      PRAGMA page_size=65537;      PRAGMA page_size;    }  } 8192  do_test pagesize-1.8 {    execsql {      PRAGMA page_size=1234;      PRAGMA page_size    }  } 8192}  foreach PGSZ {512 2048 4096 8192} {  if {[info exists SQLITE_MAX_PAGE_SIZE]           && $SQLITE_MAX_PAGE_SIZE<$PGSZ} continue  ifcapable memorydb {    do_test pagesize-2.$PGSZ.0 {      db close      sqlite3 db :memory:      execsql "PRAGMA page_size=$PGSZ;"      execsql {PRAGMA page_size}    } 1024  }  do_test pagesize-2.$PGSZ.1 {    db close    file delete -force test.db    sqlite3 db test.db    execsql "PRAGMA page_size=$PGSZ"    execsql {      CREATE TABLE t1(x);      PRAGMA page_size;    }  } $PGSZ  do_test pagesize-2.$PGSZ.2 {    db close    sqlite3 db test.db    execsql {      PRAGMA page_size    }  } $PGSZ  do_test pagesize-2.$PGSZ.3 {    file size test.db  } [expr {$PGSZ*($AUTOVACUUM?3:2)}]  ifcapable {vacuum} {    do_test pagesize-2.$PGSZ.4 {      execsql {VACUUM}    } {}  }  integrity_check pagesize-2.$PGSZ.5  do_test pagesize-2.$PGSZ.6 {    db close    sqlite3 db test.db    execsql {PRAGMA page_size}  } $PGSZ  do_test pagesize-2.$PGSZ.7 {    execsql {      INSERT INTO t1 VALUES(randstr(10,9000));      INSERT INTO t1 VALUES(randstr(10,9000));      INSERT INTO t1 VALUES(randstr(10,9000));      BEGIN;      INSERT INTO t1 SELECT x||x FROM t1;      INSERT INTO t1 SELECT x||x FROM t1;      INSERT INTO t1 SELECT x||x FROM t1;      INSERT INTO t1 SELECT x||x FROM t1;      SELECT count(*) FROM t1;    }  } 48  do_test pagesize-2.$PGSZ.8 {    execsql {      ROLLBACK;      SELECT count(*) FROM t1;    }  } 3  integrity_check pagesize-2.$PGSZ.9  do_test pagesize-2.$PGSZ.10 {    db close    sqlite3 db test.db    execsql {PRAGMA page_size}  } $PGSZ  do_test pagesize-2.$PGSZ.11 {    execsql {      INSERT INTO t1 SELECT x||x FROM t1;      INSERT INTO t1 SELECT x||x FROM t1;      INSERT INTO t1 SELECT x||x FROM t1;      INSERT INTO t1 SELECT x||x FROM t1;      INSERT INTO t1 SELECT x||x FROM t1;      INSERT INTO t1 SELECT x||x FROM t1;      SELECT count(*) FROM t1;    }  } 192  do_test pagesize-2.$PGSZ.12 {    execsql {      BEGIN;      DELETE FROM t1 WHERE rowid%5!=0;      SELECT count(*) FROM t1;    }  } 38  do_test pagesize-2.$PGSZ.13 {    execsql {      ROLLBACK;      SELECT count(*) FROM t1;    }  } 192  integrity_check pagesize-2.$PGSZ.14  do_test pagesize-2.$PGSZ.15 {    execsql {DELETE FROM t1 WHERE rowid%5!=0}    ifcapable {vacuum} {execsql VACUUM}    execsql {SELECT count(*) FROM t1}  } 38  do_test pagesize-2.$PGSZ.16 {    execsql {DROP TABLE t1}    ifcapable {vacuum} {execsql VACUUM}  } {}  integrity_check pagesize-2.$PGSZ.17}finish_test

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -