ImagingTools Core SDK
IDatabaseEngine.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtSql/QtSql>
7
8// ACF includes
9#include <istd/IPolymorphic.h>
10
11
12namespace imtdb
13{
14
15
60class IDatabaseEngine: virtual public istd::IPolymorphic
61{
62public:
78 virtual bool BeginTransaction() const = 0;
79
93 virtual bool FinishTransaction() const = 0;
94
108 virtual bool CancelTransaction() const = 0;
109
115 virtual QByteArray GetDatabaseDriverId() const = 0;
116
142 virtual QSqlQuery ExecSqlQuery(const QByteArray& queryString, QSqlError* sqlError = nullptr, bool isForwardOnly = false) const = 0;
143
172 virtual QSqlQuery ExecSqlQuery(const QByteArray& queryString, const QVariantMap& bindValues, QSqlError* sqlError = nullptr, bool isForwardOnly = false) const = 0;
173
194 virtual QSqlQuery ExecSqlQueryFromFile(const QString& filePath, QSqlError* sqlError = nullptr, bool isForwardOnly = false) const = 0;
195
218 virtual QSqlQuery ExecSqlQueryFromFile(const QString& filePath, const QVariantMap& bindValues, QSqlError* sqlError = nullptr, bool isForwardOnly = false) const = 0;
219};
220
221
222} // namespace imtdb
223
Core database engine interface for low-level SQL execution and transaction management.
virtual QSqlQuery ExecSqlQueryFromFile(const QString &filePath, QSqlError *sqlError=nullptr, bool isForwardOnly=false) const =0
Executes SQL query from a file without parameters.
virtual QByteArray GetDatabaseDriverId() const =0
Returns the database driver identifier.
virtual bool CancelTransaction() const =0
Rolls back the current transaction.
virtual QSqlQuery ExecSqlQuery(const QByteArray &queryString, QSqlError *sqlError=nullptr, bool isForwardOnly=false) const =0
Executes a SQL query without parameters.
virtual QSqlQuery ExecSqlQueryFromFile(const QString &filePath, const QVariantMap &bindValues, QSqlError *sqlError=nullptr, bool isForwardOnly=false) const =0
Executes parameterized SQL query from a file.
virtual bool FinishTransaction() const =0
Commits the current transaction.
virtual QSqlQuery ExecSqlQuery(const QByteArray &queryString, const QVariantMap &bindValues, QSqlError *sqlError=nullptr, bool isForwardOnly=false) const =0
Executes a parameterized SQL query with bound values.
virtual bool BeginTransaction() const =0
Begins a new database transaction.
Database Abstraction Layer (ORM Framework) for ImtCore applications.