aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2012-02-27 14:28:50 +0000
committerdrh <drh@noemail.net>2012-02-27 14:28:50 +0000
commitc611ee94bb629d44c2886b4aa2acf3c1d7643186 (patch)
tree414de36b9f011198d84b63c3f3e2440aa1b5591d /src
parent5fb96aaf74921ae6cc0a981d736f0301c75940c7 (diff)
downloadsqlite-c611ee94bb629d44c2886b4aa2acf3c1d7643186.tar.gz
sqlite-c611ee94bb629d44c2886b4aa2acf3c1d7643186.zip
Fix the xDelete implementation of the multiplexor VFS so that it correctly
deletes overflow WAL files. FossilOrigin-Name: e44e26771e5aa48f3bfa14d6db3e669b5b2a1e73
Diffstat (limited to 'src')
-rw-r--r--src/test_multiplex.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/test_multiplex.c b/src/test_multiplex.c
index bd1e16806..0bdbb0e75 100644
--- a/src/test_multiplex.c
+++ b/src/test_multiplex.c
@@ -657,6 +657,15 @@ static int multiplexDelete(
multiplexFilename(zName, nName, SQLITE_OPEN_MAIN_JOURNAL, --iChunk, z);
rc = pOrigVfs->xDelete(pOrigVfs, z, syncDir);
}
+ iChunk = 0;
+ do{
+ multiplexFilename(zName, nName, SQLITE_OPEN_WAL, ++iChunk, z);
+ rc = pOrigVfs->xAccess(pOrigVfs, z, SQLITE_ACCESS_EXISTS, &bExists);
+ }while( rc==SQLITE_OK && bExists );
+ while( rc==SQLITE_OK && iChunk>1 ){
+ multiplexFilename(zName, nName, SQLITE_OPEN_WAL, --iChunk, z);
+ rc = pOrigVfs->xDelete(pOrigVfs, z, syncDir);
+ }
}
sqlite3_free(z);
}