aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/test_multiplex.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/test_multiplex.c b/src/test_multiplex.c
index 84c14f757..675ed9102 100644
--- a/src/test_multiplex.c
+++ b/src/test_multiplex.c
@@ -814,8 +814,13 @@ static int multiplexFileSize(sqlite3_file *pConn, sqlite3_int64 *pSize){
int exists = 0;
rc = multiplexSubFilename(pGroup, i);
if( rc ) break;
- rc2 = pOrigVfs->xAccess(pOrigVfs, pGroup->aReal[i].z,
- SQLITE_ACCESS_EXISTS, &exists);
+ if( pGroup->flags & SQLITE_OPEN_DELETEONCLOSE ){
+ exists = pGroup->nReal>=i && pGroup->aReal[i].p!=0;
+ rc2 = SQLITE_OK;
+ }else{
+ rc2 = pOrigVfs->xAccess(pOrigVfs, pGroup->aReal[i].z,
+ SQLITE_ACCESS_EXISTS, &exists);
+ }
if( rc2==SQLITE_OK && exists){
/* if it exists, open it */
pSubOpen = multiplexSubOpen(pGroup, i, &rc, NULL);