8#include <Cutelyst/cutelyst_global.h>
9#include <Cutelyst/paramsmultimap.h>
11#include <QtCore/QVariant>
12#include <QtSql/QSqlDatabase>
35 explicit Transaction(
const QString &databaseName = QString());
39 bool transaction()
const;
45 bool m_transactionRunning;
53CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantHash queryToHashObject(QSqlQuery &query);
60CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantList queryToHashList(QSqlQuery &query);
67CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantMap queryToMapObject(QSqlQuery &query);
73CUTELYST_PLUGIN_UTILS_SQL_EXPORT QJsonObject queryToJsonObject(QSqlQuery &query);
81CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantList queryToMapList(QSqlQuery &query);
86CUTELYST_PLUGIN_UTILS_SQL_EXPORT QJsonArray queryToJsonObjectArray(QSqlQuery &query);
92CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantList queryToList(QSqlQuery &query);
98CUTELYST_PLUGIN_UTILS_SQL_EXPORT QJsonArray queryToJsonArray(QSqlQuery &query);
105CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantHash queryToIndexedHash(QSqlQuery &query,
113CUTELYST_PLUGIN_UTILS_SQL_EXPORT QJsonObject queryToIndexedJsonObject(QSqlQuery &query,
121CUTELYST_PLUGIN_UTILS_SQL_EXPORT
void bindParamsToQuery(QSqlQuery &query,
123 bool htmlEscaped =
true);
141CUTELYST_PLUGIN_UTILS_SQL_EXPORT QSqlQuery preparedQuery(
const QString &query,
142 QSqlDatabase db = QSqlDatabase(),
143 bool forwardOnly =
false);
148CUTELYST_PLUGIN_UTILS_SQL_EXPORT QString databaseNameThread(
const QString &dbName = QString());
153CUTELYST_PLUGIN_UTILS_SQL_EXPORT QSqlDatabase databaseThread(
const QString &dbName = QString());
172CUTELYST_PLUGIN_UTILS_SQL_EXPORT QSqlQuery preparedQueryThread(
const QString &query,
173 const QString &dbName = QString(),
174 bool forwardOnly =
false);
179#define CPreparedSqlQueryForDatabase(str, db) \
180 ([]() -> QSqlQuery { \
181 static thread_local QSqlQuery query_temp = Cutelyst::Sql::preparedQuery(str, db); \
185#define CPreparedSqlQuery(str) \
186 ([]() -> QSqlQuery { \
187 static QSqlQuery query_temp = Cutelyst::Sql::preparedQuery(str); \
191#define CPreparedSqlQueryThread(str) \
192 ([]() -> QSqlQuery { \
193 static thread_local QSqlQuery query_temp = Cutelyst::Sql::preparedQueryThread(str); \
197#define CPreparedSqlQueryThreadForDB(str, db) \
198 ([]() -> QSqlQuery { \
199 static thread_local QSqlQuery query_temp = Cutelyst::Sql::preparedQueryThread(str, db); \
203#define CPreparedSqlQueryForDatabaseFO(str, db) \
204 ([]() -> QSqlQuery { \
205 static thread_local QSqlQuery query_temp = Cutelyst::Sql::preparedQuery(str, db, true); \
209#define CPreparedSqlQueryFO(str) \
210 ([]() -> QSqlQuery { \
211 static QSqlQuery query_temp = Cutelyst::Sql::preparedQuery(str, QSqlDatabase(), true); \
215#define CPreparedSqlQueryThreadFO(str) \
216 ([]() -> QSqlQuery { \
217 static thread_local QSqlQuery query_temp = \
218 Cutelyst::Sql::preparedQueryThread(str, QString(), true); \
222#define CPreparedSqlQueryThreadForDBFO(str, db) \
223 ([]() -> QSqlQuery { \
224 static thread_local QSqlQuery query_temp = \
225 Cutelyst::Sql::preparedQueryThread(str, db, true); \
The Transaction class - This is a helper class to create scoped transactions.
The Cutelyst namespace holds all public Cutelyst API.
QMultiMap< QString, QString > ParamsMultiMap