QmlDesigner: Install busy handler for every database access

Even for pragma changes the statement can be getting busy. To prevent any
exceptions in that case we set the busy handler directly after opening
the database.

Change-Id: Id10aab20d812d5224f8031fa895c396762858fdf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Marco Bubke
2022-06-13 16:47:17 +02:00
committed by Tim Jenssen
parent 281c534894
commit 20bc8b8243

View File

@@ -93,12 +93,12 @@ void Database::activateLogging()
void Database::open(LockingMode lockingMode) void Database::open(LockingMode lockingMode)
{ {
m_databaseBackend.open(m_databaseFilePath, m_openMode); m_databaseBackend.open(m_databaseFilePath, m_openMode);
m_databaseBackend.setLockingMode(lockingMode);
m_databaseBackend.setJournalMode(m_journalMode);
if (m_busyTimeout > 0ms) if (m_busyTimeout > 0ms)
m_databaseBackend.setBusyTimeout(m_busyTimeout); m_databaseBackend.setBusyTimeout(m_busyTimeout);
else else
m_databaseBackend.registerBusyHandler(); m_databaseBackend.registerBusyHandler();
m_databaseBackend.setLockingMode(lockingMode);
m_databaseBackend.setJournalMode(m_journalMode);
registerTransactionStatements(); registerTransactionStatements();
m_isOpen = true; m_isOpen = true;
} }