Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Memory DB works with autovacuum. (CVS 3041) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
34dff874a2bf8331be87310809ba11d8 |
User & Date: | drh 2006-01-30 22:48:44.000 |
Context
2006-01-30
| ||
23:04 | Remove support for the non-standard ON CONFLICT clause on CREATE INDEX. Ticket #1486. The ON CONFLICT clause has never worked on CREATE INDEX so removing it should not break anything. (CVS 3042) (check-in: 669bcf5ab6 user: drh tags: trunk) | |
22:48 | Memory DB works with autovacuum. (CVS 3041) (check-in: 34dff874a2 user: drh tags: trunk) | |
22:35 | Make sure the 3rd parameter to sqlite3_prepare() is honored. Ticket #1650. (CVS 3040) (check-in: 9d53cc880f user: drh tags: trunk) | |
Changes
Changes to src/pager.c.
︙ | ︙ | |||
14 15 16 17 18 19 20 | ** The pager is used to access a database disk file. It implements ** atomic commit and rollback through the use of a journal file that ** is separate from the database file. The pager also implements file ** locking to prevent two processes from writing the same database ** file simultaneously, or one process from reading the database while ** another is writing. ** | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | ** The pager is used to access a database disk file. It implements ** atomic commit and rollback through the use of a journal file that ** is separate from the database file. The pager also implements file ** locking to prevent two processes from writing the same database ** file simultaneously, or one process from reading the database while ** another is writing. ** ** @(#) $Id: pager.c,v 1.257 2006/01/30 22:48:44 drh Exp $ */ #ifndef SQLITE_OMIT_DISKIO #include "sqliteInt.h" #include "os.h" #include "pager.h" #include <assert.h> #include <string.h> |
︙ | ︙ | |||
2672 2673 2674 2675 2676 2677 2678 | rc = pPager->errCode; return rc; } /* Populate the page with data, either by reading from the database ** file, or by setting the entire page to zero. */ | | | 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 | rc = pPager->errCode; return rc; } /* Populate the page with data, either by reading from the database ** file, or by setting the entire page to zero. */ if( sqlite3pager_pagecount(pPager)<(int)pgno || MEMDB ){ memset(PGHDR_TO_DATA(pPg), 0, pPager->pageSize); }else{ assert( MEMDB==0 ); rc = sqlite3OsSeek(pPager->fd, (pgno-1)*(i64)pPager->pageSize); if( rc==SQLITE_OK ){ rc = sqlite3OsRead(pPager->fd, PGHDR_TO_DATA(pPg), pPager->pageSize); |
︙ | ︙ |
Changes to test/memdb.test.
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 2001 September 15 # # 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. The # focus of this script is in-memory database backend. # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # 2001 September 15 # # 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. The # focus of this script is in-memory database backend. # # $Id: memdb.test,v 1.15 2006/01/30 22:48:44 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl ifcapable memorydb { |
︙ | ︙ | |||
383 384 385 386 387 388 389 390 391 392 393 | do_test memdb-7.2.$i { execsql "DELETE FROM t6 WHERE x=\ (SELECT x FROM t6 ORDER BY random() LIMIT 1)" execsql {SELECT count(*) FROM t6} } [expr {256-$i}] } } } ;# ifcapable memorydb finish_test | > > > > > > > > > > > > > > > > > > > > > > > > | 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 | do_test memdb-7.2.$i { execsql "DELETE FROM t6 WHERE x=\ (SELECT x FROM t6 ORDER BY random() LIMIT 1)" execsql {SELECT count(*) FROM t6} } [expr {256-$i}] } } # Ticket #1524 # do_test memdb-8.1 { db close sqlite3 db {:memory:} execsql { PRAGMA auto_vacuum=TRUE; CREATE TABLE t1(a); INSERT INTO t1 VALUES(randstr(5000,6000)); INSERT INTO t1 VALUES(randstr(5000,6000)); INSERT INTO t1 VALUES(randstr(5000,6000)); INSERT INTO t1 VALUES(randstr(5000,6000)); INSERT INTO t1 VALUES(randstr(5000,6000)); SELECT count(*) FROM t1; } } 5 do_test memdb-8.2 { execsql { DELETE FROM t1; SELECT count(*) FROM t1; } } 0 } ;# ifcapable memorydb finish_test |