]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Memory DB works with autovacuum. (CVS 3041)
authordrh <drh@noemail.net>
Mon, 30 Jan 2006 22:48:44 +0000 (22:48 +0000)
committerdrh <drh@noemail.net>
Mon, 30 Jan 2006 22:48:44 +0000 (22:48 +0000)
FossilOrigin-Name: 34dff874a2bf8331be87310809ba11d813fadb7d

manifest
manifest.uuid
src/pager.c
test/memdb.test

index 0be9c1606b2b4850aa47aa3176b6c591438a59fc..cc6ca086b686b9eb3f7bb5a4803631050cc1e010 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Make\ssure\sthe\s3rd\sparameter\sto\ssqlite3_prepare()\sis\shonored.\s\sTicket\s#1650.\s(CVS\s3040)
-D 2006-01-30T22:35:44
+C Memory\sDB\sworks\swith\sautovacuum.\s(CVS\s3041)
+D 2006-01-30T22:48:44
 F Makefile.in e936c6fc3134838318aa0335a85041e6da31f6ee
 F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -59,7 +59,7 @@ F src/os_unix.c 73c5e722a661ed98d8919f204911e4e34e51fa41
 F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e
 F src/os_win.c 566bf7b41b72556fd7dca390bceaa2769dc395e9
 F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
-F src/pager.c c9fdc3f4026f22e73d8fa586c4f58e14129036bb
+F src/pager.c b5b380ea7a36f84e50c3adc1a414820a0eb3baa6
 F src/pager.h e0acb095b3ad0bca48f2ab00c87346665643f64f
 F src/parse.y 4285cd2d0f31a8db4c4d54325f88e500452fa029
 F src/pragma.c 4496cc77dc35824e1c978c3d1413b8a5a4c777d3
@@ -195,7 +195,7 @@ F test/malloc3.test fd4186bee73c2a2638f4e2a05a684c06836f725b
 F test/malloc4.test 59cd02f71b363302a04c4e77b97c0a1572eaa210
 F test/malloc5.test 7425272e263325fda7d32cb55706e52b5c09e7e0
 F test/manydb.test 8de36b8d33aab5ef295b11d9e95310aeded31af8
-F test/memdb.test ed97df0414a6e33e043e3eeffccb54d06098d0ae
+F test/memdb.test a67bda4ff90a38f2b19f6c7f95aa7289e051d893
 F test/memleak.test df2b2b96e77f8ba159a332299535b1e5f18e49ac
 F test/minmax.test cad887abca5504396718e2cd5729ca40758743e8
 F test/misc1.test 5a9cfffc59e5da583492a1c07efcb08a48cd1135
@@ -349,7 +349,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 8efc8c57103cab61bc06842391744bec69c24428
-R 67662a16bac53c6b6882b43161155881
+P 9d53cc880fd2aa3bd4b4a59f666b57b0b7864e8f
+R a00b5e878885404ba1ff7012291e506f
 U drh
-Z 3ce9dce65c4451fa921d25ff4c0e8dad
+Z 3c9e0a653cb5ce6429201a9bb17db65f
index 3a8fd78ed311233c86549b47248ca34445b576b3..fc4bd38e7550bf4ae32d82e58b9b43f509546f6f 100644 (file)
@@ -1 +1 @@
-9d53cc880fd2aa3bd4b4a59f666b57b0b7864e8f
\ No newline at end of file
+34dff874a2bf8331be87310809ba11d813fadb7d
\ No newline at end of file
index bd80b07c7a1ef0821b59d16566ddb0ab2f375692..e01ed62cfbb0fd0d5070deb79e24325c17760a28 100644 (file)
@@ -18,7 +18,7 @@
 ** file simultaneously, or one process from reading the database while
 ** another is writing.
 **
-** @(#) $Id: pager.c,v 1.256 2006/01/24 13:09:33 danielk1977 Exp $
+** @(#) $Id: pager.c,v 1.257 2006/01/30 22:48:44 drh Exp $
 */
 #ifndef SQLITE_OMIT_DISKIO
 #include "sqliteInt.h"
@@ -2676,7 +2676,7 @@ int sqlite3pager_get(Pager *pPager, Pgno pgno, void **ppPage){
     /* 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 ){
+    if( sqlite3pager_pagecount(pPager)<(int)pgno || MEMDB ){
       memset(PGHDR_TO_DATA(pPg), 0, pPager->pageSize);
     }else{
       assert( MEMDB==0 );
index 3aed00487d58fd3ba9644255a74938f3bdab0f69..c1eb1152ce38c92f585c01ea15e057f3e9458f06 100644 (file)
@@ -11,7 +11,7 @@
 # This file implements regression tests for SQLite library.  The
 # focus of this script is in-memory database backend.
 #
-# $Id: memdb.test,v 1.14 2006/01/17 09:35:02 danielk1977 Exp $
+# $Id: memdb.test,v 1.15 2006/01/30 22:48:44 drh Exp $
 
 
 set testdir [file dirname $argv0]
@@ -388,6 +388,30 @@ ifcapable subquery {
   }
 }
 
+# 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