forked from qt-creator/qt-creator
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:
@@ -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;
|
||||
|
Reference in New Issue
Block a user