Closing database before removal.

This commit is contained in:
Iron Prando da Silva
2021-12-13 16:42:47 +01:00
parent 03b4c6e976
commit abe98ecf74

View File

@@ -60,8 +60,8 @@ TraceDB::TraceDB(QString path, bool openExisting)
if (database.isValid() && database.isOpen())
{
// Close the database connection if it exists and was not closed yet.
database.removeDatabase(path);
database.close();
QSqlDatabase::removeDatabase(path);
}
database = QSqlDatabase::addDatabase("QSQLITE", path);
@@ -80,28 +80,44 @@ TraceDB::TraceDB(QString path, bool openExisting)
void TraceDB::prepareQueries()
{
selectTransactionsByTimespan = QSqlQuery(database);
selectTransactionsByTimespan.prepare(queryTexts.selectTransactionsByTimespan);
selectTransactionById = QSqlQuery(database);
if (!selectTransactionsByTimespan.prepare(queryTexts.selectTransactionsByTimespan))
qDebug() << database.lastError().text();
selectTransactionById = QSqlQuery(database);
if (!selectTransactionById.prepare(queryTexts.selectTransactionById))
qDebug() << database.lastError().text();
selectTransactionById.prepare(queryTexts.selectTransactionById);
selectDebugMessagesByTimespan = QSqlQuery(database);
selectDebugMessagesByTimespan.prepare("SELECT time, Message FROM DebugMessages WHERE :begin <= time AND time <= :end ");
if (!selectDebugMessagesByTimespan.prepare("SELECT time, Message FROM DebugMessages WHERE :begin <= time AND time <= :end "))
qDebug() << database.lastError().text();
selectDebugMessagesByTimespanWithLimit = QSqlQuery(database);
selectDebugMessagesByTimespanWithLimit.prepare("SELECT time, Message FROM DebugMessages WHERE :begin <= time AND time <= :end LIMIT :limit");
if (!selectDebugMessagesByTimespanWithLimit.prepare("SELECT time, Message FROM DebugMessages WHERE :begin <= time AND time <= :end LIMIT :limit"))
qDebug() << database.lastError().text();
checkDependenciesExist = QSqlQuery(database);
checkDependenciesExist.prepare(queryTexts.checkDependenciesExist);
if (!checkDependenciesExist.prepare(queryTexts.checkDependenciesExist))
qDebug() << database.lastError().text();
selectDependenciesByTimespan = QSqlQuery(database);
selectDependenciesByTimespan.prepare(queryTexts.selectDependenciesByTimespan);
if (!selectDependenciesByTimespan.prepare(queryTexts.selectDependenciesByTimespan))
qDebug() << database.lastError().text();
selectDependencyTypePercentages = QSqlQuery(database);
selectDependencyTypePercentages.prepare(queryTexts.selectDependencyTypePercentages);
if (!selectDependencyTypePercentages.prepare(queryTexts.selectDependencyTypePercentages))
qDebug() << database.lastError().text();
selectTimeDependencyPercentages = QSqlQuery(database);
selectTimeDependencyPercentages.prepare(queryTexts.selectTimeDependencyPercentages);
if (!selectTimeDependencyPercentages.prepare(queryTexts.selectTimeDependencyPercentages))
qDebug() << database.lastError().text();
selectDelayedPhasePercentages = QSqlQuery(database);
selectDelayedPhasePercentages.prepare(queryTexts.selectDelayedPhasePercentages);
if (!selectDelayedPhasePercentages.prepare(queryTexts.selectDelayedPhasePercentages))
qDebug() << database.lastError().text();
selectDependencyPhasePercentages = QSqlQuery(database);
selectDependencyPhasePercentages.prepare(queryTexts.selectDependencyPhasePercentages);
if (!selectDependencyPhasePercentages.prepare(queryTexts.selectDependencyPhasePercentages))
qDebug() << database.lastError().text();
}
void TraceDB::updateComments(const std::vector<CommentModel::Comment> &comments)