diff --git a/sources/MyRuLib/FbDatabase.cpp b/sources/MyRuLib/FbDatabase.cpp index b223f1a5..39ac8686 100644 --- a/sources/MyRuLib/FbDatabase.cpp +++ b/sources/MyRuLib/FbDatabase.cpp @@ -570,6 +570,8 @@ void FbMasterDatabase::SetVersion(int iValue) void FbMasterDatabase::UpgradeDatabase(int new_version) { + if (IsReadOnly()) return; + FbSQLite3Transaction trans(this, WXSQLITE_TRANSACTION_IMMEDIATE); int version = GetVersion(); while ( version < new_version ) { @@ -718,6 +720,7 @@ void FbMainDatabase::CreateTableFTS(const wxString & name, const wxString & tabl void FbMainDatabase::CreateFullText(bool force, FbThread * thread) { + if (IsReadOnly()) return; if ( !force && TableExists(wxT("fts_book_content")) ) return; FbSQLite3Transaction trans(this, WXSQLITE_TRANSACTION_IMMEDIATE); CreateTableFTS(wxT("book"), wxT("books"), wxT("title),LOW(description"), wxT(",dscr")); diff --git a/sources/MyRuLib/wx/FbSQLite3.h b/sources/MyRuLib/wx/FbSQLite3.h index 9bce8ed9..dc200bba 100644 --- a/sources/MyRuLib/wx/FbSQLite3.h +++ b/sources/MyRuLib/wx/FbSQLite3.h @@ -204,6 +204,12 @@ class FbSQLite3Database: private wxSQLite3Database FBSQLITE3_END(false) } + bool IsReadOnly() { + FBSQLITE3_BEGIN + return wxSQLite3Database::IsReadOnly(); + FBSQLITE3_END(true) + } + void Close() { FBSQLITE3_BEGIN return wxSQLite3Database::Close();