/ Check-in [c6100070]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Modify test cases so that veryquick.test passes with PAGECACHE_BLOCKALLOC defined.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | pager-blockalloc
Files: files | file ages | folders
SHA1: c61000705b61dc448a838846826d1a5ab5eaca2b
User & Date: dan 2011-08-22 14:55:54
Context
2011-08-23
05:10
Change to test instrumentation of os_unix.c: Regard IO errors that occur within SQLITE_FCNTL_SIZE_HINT requests as benign. (This check-in was intended for trunk and went onto the branch accidentally.) Closed-Leaf check-in: ca47da2a user: dan tags: pager-blockalloc
2011-08-22
14:55
Modify test cases so that veryquick.test passes with PAGECACHE_BLOCKALLOC defined. check-in: c6100070 user: dan tags: pager-blockalloc
2011-08-19
18:15
Experimental change: If SQLITE_PAGECACHE_BLOCKALLOC is defined, instead of allocating pages one at a time, allocate blocks of between 15 and 63 pages in a single allocation. check-in: 63597097 user: dan tags: pager-blockalloc
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/test_config.c.

   550    550   #endif
   551    551   
   552    552   #ifdef YYTRACKMAXSTACKDEPTH
   553    553     Tcl_SetVar2(interp, "sqlite_options", "yytrackmaxstackdepth", "1", TCL_GLOBAL_ONLY);
   554    554   #else
   555    555     Tcl_SetVar2(interp, "sqlite_options", "yytrackmaxstackdepth", "0", TCL_GLOBAL_ONLY);
   556    556   #endif
          557  +
          558  +#ifdef SQLITE_PAGECACHE_BLOCKALLOC
          559  +  Tcl_SetVar2(interp, "sqlite_options", "blockalloc", "1", TCL_GLOBAL_ONLY);
          560  +#else
          561  +  Tcl_SetVar2(interp, "sqlite_options", "blockalloc", "0", TCL_GLOBAL_ONLY);
          562  +#endif
   557    563   
   558    564   #define LINKVAR(x) { \
   559    565       static const int cv_ ## x = SQLITE_ ## x; \
   560    566       Tcl_LinkVar(interp, "SQLITE_" #x, (char *)&(cv_ ## x), \
   561    567                   TCL_LINK_INT | TCL_LINK_READ_ONLY); }
   562    568   
   563    569     LINKVAR( MAX_LENGTH );

Changes to test/memdb.test.

   403    403       DELETE FROM t1;
   404    404       SELECT count(*) FROM t1;
   405    405     }
   406    406   } 0
   407    407   
   408    408   # Test that auto-vacuum works with in-memory databases.
   409    409   # 
   410         -ifcapable autovacuum {
          410  +ifcapable autovacuum&&!blockalloc {
   411    411     do_test memdb-9.1 {
   412    412       db close
   413    413       sqlite3 db test.db
   414    414       db cache size 0
   415    415       execsql {
   416    416         PRAGMA auto_vacuum = full;
   417    417         CREATE TABLE t1(a);

Changes to test/memsubsys1.test.

    20     20   # by default when a new database connection is opened. As a result, it
    21     21   # will not work with the "memsubsys1" permutation.
    22     22   #
    23     23   if {[permutation] == "memsubsys1"} {
    24     24     finish_test
    25     25     return
    26     26   }
           27  +
           28  +# Nor will it work if the pager is allocating memory in blocks.
           29  +#
           30  +ifcapable blockalloc {
           31  +  finish_test
           32  +  return
           33  +}
    27     34   
    28     35   # This procedure constructs a new database in test.db.  It fills
    29     36   # this database with many small records (enough to force multiple
    30     37   # rebalance operations in the btree-layer and to require a large
    31     38   # page cache), verifies correct results, then returns.
    32     39   #
    33     40   proc build_test_db {testname pragmas} {

Changes to test/pcache2.test.

    12     12   # This file is focused on testing the pcache module.
    13     13   #
    14     14   # $Id: pcache2.test,v 1.5 2009/07/18 14:36:24 danielk1977 Exp $
    15     15   
    16     16   set testdir [file dirname $argv0]
    17     17   source $testdir/tester.tcl
    18     18   
           19  +# If compiled with blockalloc, pagecache memory is not used. Which
           20  +# causes these tests to fail.
           21  +#
           22  +ifcapable blockalloc {
           23  +  finish_test
           24  +  return
           25  +}
    19     26   
    20     27   # Set up a pcache memory pool so that we can easily track how many
    21     28   # pages are being used for cache.
    22     29   #
    23     30   do_test pcache2-1.1 {
    24     31     db close
    25     32     sqlite3_reset_auto_extension