aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2025-06-01 16:10:25 +0000
committerdrh <>2025-06-01 16:10:25 +0000
commitf18bf8997bc3843d342118709d431a24a889ec16 (patch)
treee588958cbe4fbb63d9ebd496b43417d153149a9c /src
parentc0190101d14bca3664689c53b432c4de969905a2 (diff)
downloadsqlite-f18bf8997bc3843d342118709d431a24a889ec16.tar.gz
sqlite-f18bf8997bc3843d342118709d431a24a889ec16.zip
Fix VACUUM so that it works even when ATTACH_WRITE is disabled.
FossilOrigin-Name: 42494f85acb303919d3f1f2202f8b95fbd657652da4b8dc00451c10ea6c496e0
Diffstat (limited to 'src')
-rw-r--r--src/test1.c5
-rw-r--r--src/vacuum.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/src/test1.c b/src/test1.c
index bb2f2d3b9..1c363ca3b 100644
--- a/src/test1.c
+++ b/src/test1.c
@@ -8458,7 +8458,12 @@ static int SQLITE_TCLAPI test_sqlite3_db_config(
{ "DQS_DML", SQLITE_DBCONFIG_DQS_DML },
{ "DQS_DDL", SQLITE_DBCONFIG_DQS_DDL },
{ "LEGACY_FILE_FORMAT", SQLITE_DBCONFIG_LEGACY_FILE_FORMAT },
+ { "TRUSTED_SCHEMA", SQLITE_DBCONFIG_TRUSTED_SCHEMA },
{ "STMT_SCANSTATUS", SQLITE_DBCONFIG_STMT_SCANSTATUS },
+ { "REVERSE_SCANORDER", SQLITE_DBCONFIG_REVERSE_SCANORDER },
+ { "ATTACH_CREATE", SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE },
+ { "ATTACH_WRITE", SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE },
+ { "COMMENTS", SQLITE_DBCONFIG_ENABLE_COMMENTS },
};
int i;
int v = 0;
diff --git a/src/vacuum.c b/src/vacuum.c
index 96d77e5bc..1b4838040 100644
--- a/src/vacuum.c
+++ b/src/vacuum.c
@@ -195,7 +195,8 @@ SQLITE_NOINLINE int sqlite3RunVacuum(
saved_nChange = db->nChange;
saved_nTotalChange = db->nTotalChange;
saved_mTrace = db->mTrace;
- db->flags |= SQLITE_WriteSchema | SQLITE_IgnoreChecks | SQLITE_Comments;
+ db->flags |= SQLITE_WriteSchema | SQLITE_IgnoreChecks | SQLITE_Comments
+ | SQLITE_AttachCreate | SQLITE_AttachWrite;
db->mDbFlags |= DBFLAG_PreferBuiltin | DBFLAG_Vacuum;
db->flags &= ~(u64)(SQLITE_ForeignKeys | SQLITE_ReverseOrder
| SQLITE_Defensive | SQLITE_CountRows);