]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not attempt to flush the pages of an in-memory database to disk if sqlite3_db_cach...
authordan <dan@noemail.net>
Thu, 29 Oct 2015 21:11:22 +0000 (21:11 +0000)
committerdan <dan@noemail.net>
Thu, 29 Oct 2015 21:11:22 +0000 (21:11 +0000)
FossilOrigin-Name: 9b79a390440a23542a370b591e567b31ebb35c42

manifest
manifest.uuid
src/pager.c

index 8aa65b5535e31580e937f988da3ba97827fab1c1..2b97b8e0394b690a7f0364b23ced56796ae6e556 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sa\stest\scase\sthat\scalls\ssqlite3_db_cacheflush()\son\san\sin-memory\sdatabase.
-D 2015-10-29T20:57:06.654
+C Do\snot\sattempt\sto\sflush\sthe\spages\sof\san\sin-memory\sdatabase\sto\sdisk\sif\ssqlite3_db_cacheflush()\sis\scalled.
+D 2015-10-29T21:11:22.422
 F Makefile.in 2ea961bc09e441874eb3d1bf7398e04feb24f3ee
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4
@@ -327,7 +327,7 @@ F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa
 F src/os_unix.c fc93d55f96bb978f0b0168c6ea7d6fc60b0e172c
 F src/os_win.c 1716291e5ec2dbfc5a1fe0b32182030f1f7d8acf
 F src/os_win.h eb7a47aa17b26b77eb97e4823f20a00b8bda12ca
-F src/pager.c 2f9de81ebc87f92814ffc1e34f478a6de7c869b0
+F src/pager.c b588107ee55ff4121c114949ff51a56aab21f3ac
 F src/pager.h 1c4fa826c330040c5659a384446c7cc6e8e4200c
 F src/parse.y 11078cd8e3af00f030505b6a86a06a4536cfdeaa
 F src/pcache.c 24be750c79272e0ca7b6e007bc94999700f3e5ef
@@ -1397,7 +1397,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 370b5d520c6523526988d0db5299f1bd09567782
-R e469742ef6d00761a1fbbbbf9de3f4b1
+P f0cdfb547b0976e753e94958f29cb294edf31bed
+R dcdd2b431259b301d28dfb5e7d9d6d5d
 U dan
-Z 9ba99da9a0f7b492a3cba8ddbf944bbf
+Z 1371a31e24aaed4ace229bd9de4453e9
index b806a0d73104cb51ebaa1d4d9fa1e5ea73cb094e..8abded110670562e3a5c21d9f461ec2298fc4296 100644 (file)
@@ -1 +1 @@
-f0cdfb547b0976e753e94958f29cb294edf31bed
\ No newline at end of file
+9b79a390440a23542a370b591e567b31ebb35c42
\ No newline at end of file
index 09d4935f274f46252510c39f10b53581d7d51e79..ea867127e0f0914f7c34e1db7378aaba077bcac6 100644 (file)
@@ -4478,15 +4478,16 @@ static int pagerStress(void *p, PgHdr *pPg){
 */
 int sqlite3PagerFlush(Pager *pPager){
   int rc = pPager->errCode;
-  PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
-
-  assert( assert_pager_state(pPager) );
-  while( rc==SQLITE_OK && pList ){
-    PgHdr *pNext = pList->pDirty;
-    if( pList->nRef==0 ){
-      rc = pagerStress((void*)pPager, pList);
+  if( !MEMDB ){
+    PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
+    assert( assert_pager_state(pPager) );
+    while( rc==SQLITE_OK && pList ){
+      PgHdr *pNext = pList->pDirty;
+      if( pList->nRef==0 ){
+        rc = pagerStress((void*)pPager, pList);
+      }
+      pList = pNext;
     }
-    pList = pNext;
   }
 
   return rc;