21 #include <QtCore/QVariant>
22 #include <QtSql/QSqlDatabase>
24 #include <Cutelyst/cutelyst_global.h>
25 #include <Cutelyst/paramsmultimap.h>
48 explicit Transaction(
const QString &databaseName = QString());
52 bool transaction()
const;
58 bool m_transactionRunning;
66 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantHash queryToHashObject(QSqlQuery &query);
73 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantList queryToHashList(QSqlQuery &query);
80 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantMap queryToMapObject(QSqlQuery &query);
86 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QJsonObject queryToJsonObject(QSqlQuery &query);
94 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantList queryToMapList(QSqlQuery &query);
99 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QJsonArray queryToJsonObjectArray(QSqlQuery &query);
105 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantList queryToList(QSqlQuery &query);
111 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QJsonArray queryToJsonArray(QSqlQuery &query);
118 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QVariantHash queryToIndexedHash(QSqlQuery &query,
const QString &key);
125 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QJsonObject queryToIndexedJsonObject(QSqlQuery &query,
const QString &key);
132 CUTELYST_PLUGIN_UTILS_SQL_EXPORT
void bindParamsToQuery(QSqlQuery &query,
const Cutelyst::ParamsMultiMap ¶ms,
bool htmlEscaped =
true);
149 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QSqlQuery preparedQuery(
const QString &query, QSqlDatabase db = QSqlDatabase(),
bool forwardOnly =
false);
154 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QString databaseNameThread(
const QString &dbName = QString());
159 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QSqlDatabase databaseThread(
const QString &dbName = QString());
177 CUTELYST_PLUGIN_UTILS_SQL_EXPORT QSqlQuery preparedQueryThread(
const QString &query,
const QString &dbName = QString(),
bool forwardOnly =
false);
182 # define CPreparedSqlQueryForDatabase(str, db) \
183 ([]() -> QSqlQuery { \
184 static thread_local QSqlQuery query_temp = \
185 Cutelyst::Sql::preparedQuery(str, db); \
190 # define CPreparedSqlQuery(str) \
191 ([]() -> QSqlQuery { \
192 static QSqlQuery query_temp = \
193 Cutelyst::Sql::preparedQuery(str); \
198 # define CPreparedSqlQueryThread(str) \
199 ([]() -> QSqlQuery { \
200 static thread_local QSqlQuery query_temp = \
201 Cutelyst::Sql::preparedQueryThread(str); \
206 # define CPreparedSqlQueryThreadForDB(str, db) \
207 ([]() -> QSqlQuery { \
208 static thread_local QSqlQuery query_temp = \
209 Cutelyst::Sql::preparedQueryThread(str, db); \
214 # define CPreparedSqlQueryForDatabaseFO(str, db) \
215 ([]() -> QSqlQuery { \
216 static thread_local QSqlQuery query_temp = \
217 Cutelyst::Sql::preparedQuery(str, db, true); \
222 # define CPreparedSqlQueryFO(str) \
223 ([]() -> QSqlQuery { \
224 static QSqlQuery query_temp = \
225 Cutelyst::Sql::preparedQuery(str, QSqlDatabase(), true); \
230 # define CPreparedSqlQueryThreadFO(str) \
231 ([]() -> QSqlQuery { \
232 static thread_local QSqlQuery query_temp = \
233 Cutelyst::Sql::preparedQueryThread(str, QString(), true); \
238 # define CPreparedSqlQueryThreadForDBFO(str, db) \
239 ([]() -> QSqlQuery { \
240 static thread_local QSqlQuery query_temp = \
241 Cutelyst::Sql::preparedQueryThread(str, db, true); \