Simplifies cases where we just want to read the database
if (db->connected)
return 1;
- if (db->set->readonly)
+ if (db->set->readonly || db->connect_rc == SQLITE_READONLY)
flags = SQLITE_OPEN_READONLY;
else
flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE;
db->connected = TRUE;
sqlite3_busy_timeout(db->sqlite, sqlite_busy_timeout);
return 1;
+ case SQLITE_READONLY:
+ i_assert(!db->set->readonly);
+ return driver_sqlite_connect(_db);
default:
i_free(_db->last_connect_error);
_db->last_connect_error =