ClangRefactoring: Initialize sqlite database only once

Initializing the database is not cheap so it is better to initializing it
only once. We simply check if the database file already exists and then
skip the initializing step.

Task-number: QTCREATORBUG-21174
Change-Id: I151090c5081c009f7913a30517065be2833791d8
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
Marco Bubke
2018-09-25 15:42:52 +02:00
parent 3350e9a0fd
commit bca41fa9f6
7 changed files with 104 additions and 14 deletions

View File

@@ -29,6 +29,8 @@
#include "sqlitetransaction.h"
#include "sqlitereadwritestatement.h"
#include <QFileInfo>
#include <chrono>
using namespace std::chrono_literals;
@@ -85,6 +87,7 @@ void Database::open()
void Database::open(Utils::PathString &&databaseFilePath)
{
m_isInitialized = QFileInfo::exists(QString(databaseFilePath));
setDatabaseFilePath(std::move(databaseFilePath));
open();
}
@@ -96,6 +99,16 @@ void Database::close()
m_databaseBackend.close();
}
bool Database::isInitialized() const
{
return m_isInitialized;
}
void Database::setIsInitialized(bool isInitialized)
{
m_isInitialized = isInitialized;
}
bool Database::isOpen() const
{
return m_isOpen;