aboutsummaryrefslogtreecommitdiff
path: root/src/attach.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2019-03-13 11:40:30 +0000
committerdan <dan@noemail.net>2019-03-13 11:40:30 +0000
commitfcb02429ecf97820b363f4ad505afa2f3d779dc5 (patch)
tree47b37da9cf19785561cfc4e057337c800a73b2bd /src/attach.c
parent2a934d75d9595a8f56d6510a023c7289734ebae9 (diff)
downloadsqlite-fcb02429ecf97820b363f4ad505afa2f3d779dc5.tar.gz
sqlite-fcb02429ecf97820b363f4ad505afa2f3d779dc5.zip
When deserializing a database (sqlite3_deserialize()), do not attempt to parse the schema before the data is loaded.
FossilOrigin-Name: 4e1b005e8b397a22161a6b89cbd3f17bda70a6e0a86d8abdc61856edf2a74da4
Diffstat (limited to 'src/attach.c')
-rw-r--r--src/attach.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/attach.c b/src/attach.c
index 224d120b6..65b98a623 100644
--- a/src/attach.c
+++ b/src/attach.c
@@ -234,7 +234,9 @@ static void attachFunc(
sqlite3BtreeEnterAll(db);
db->init.iDb = 0;
db->mDbFlags &= ~(DBFLAG_SchemaKnownOk);
- rc = sqlite3Init(db, &zErrDyn);
+ if( !REOPEN_AS_MEMDB(db) ){
+ rc = sqlite3Init(db, &zErrDyn);
+ }
sqlite3BtreeLeaveAll(db);
assert( zErrDyn==0 || rc!=SQLITE_OK );
}