diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/test_multiplex.c | 9 |
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); |