diff options
author | drh <drh@noemail.net> | 2012-02-27 14:28:50 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2012-02-27 14:28:50 +0000 |
commit | c611ee94bb629d44c2886b4aa2acf3c1d7643186 (patch) | |
tree | 414de36b9f011198d84b63c3f3e2440aa1b5591d /src | |
parent | 5fb96aaf74921ae6cc0a981d736f0301c75940c7 (diff) | |
download | sqlite-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.c | 9 |
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); } |