Improve performance of writing settings

By wrapping related ones in a single transaction, instead of
(implicitly) doing a transaction per settings value that is written.

Task-number: QTCREATORBUG-11524
Change-Id: I28e06c9d6cd4ebad024f9c277796abb37df5f992
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
Eike Ziller
2014-02-21 15:43:49 +01:00
parent a471d3ae3d
commit c0eaed8630
5 changed files with 23 additions and 0 deletions

View File

@@ -252,6 +252,20 @@ QStringList SettingsDatabase::childKeys() const
return children;
}
void SettingsDatabase::beginTransaction()
{
if (!d->m_db.isOpen())
return;
d->m_db.exec(QLatin1String("BEGIN TRANSACTION;"));
}
void SettingsDatabase::endTransaction()
{
if (!d->m_db.isOpen())
return;
d->m_db.exec(QLatin1String("END TRANSACTION;"));
}
void SettingsDatabase::sync()
{
// TODO: Delay writing of dirty keys and save them here