From 4037b64606dcd2caf990ef677b672958ca0d20e0 Mon Sep 17 00:00:00 2001 From: silverqx Date: Sat, 27 Mar 2021 18:13:11 +0100 Subject: [PATCH] used value<>() for QVariant everywhere --- include/orm/databaseconnection.hpp | 2 +- include/orm/tiny/basemodel.hpp | 1 - src/orm/connectors/connectionfactory.cpp | 8 ++++---- src/orm/connectors/connector.cpp | 1 - src/orm/connectors/mysqlconnector.cpp | 12 ++++++------ src/orm/connectors/sqliteconnector.cpp | 2 +- src/orm/logquery.cpp | 4 ++-- src/orm/query/grammars/grammar.cpp | 4 ++-- src/orm/query/querybuilder.cpp | 2 +- src/orm/support/configurationoptionsparser.cpp | 6 +++--- .../functional/orm/tiny/basemodel/tst_basemodel.cpp | 6 +++--- 11 files changed, 23 insertions(+), 25 deletions(-) diff --git a/include/orm/databaseconnection.hpp b/include/orm/databaseconnection.hpp index b528bd373..baea73189 100644 --- a/include/orm/databaseconnection.hpp +++ b/include/orm/databaseconnection.hpp @@ -134,7 +134,7 @@ namespace Orm /*! Get the database connection name. */ inline const QString getName() const override - { return getConfig("name").toString(); } + { return getConfig("name").value(); } /*! Get the name of the connected database. */ inline const QString &getDatabaseName() const override { return m_database; } diff --git a/include/orm/tiny/basemodel.hpp b/include/orm/tiny/basemodel.hpp index 480e293fd..ff5d2a4b0 100644 --- a/include/orm/tiny/basemodel.hpp +++ b/include/orm/tiny/basemodel.hpp @@ -2809,7 +2809,6 @@ namespace Relations { throw InvalidFormatError( QStringLiteral("Could not parse the datetime '%1' using " "the given format '%2'.") - // TODO next QVariant value<>() everywhere silverqx .arg(value.value(), format)); } diff --git a/src/orm/connectors/connectionfactory.cpp b/src/orm/connectors/connectionfactory.cpp index 79ea84184..0bdda5786 100644 --- a/src/orm/connectors/connectionfactory.cpp +++ b/src/orm/connectors/connectionfactory.cpp @@ -30,7 +30,7 @@ ConnectionFactory::createConnector(const QVariantHash &config) const if (!config.contains("driver")) throw std::domain_error("A 'driver' configuration parameter must be specified."); - const auto driver = config["driver"].toString(); + const auto driver = config["driver"].value(); if (driver == "QMYSQL") return std::make_unique(); @@ -73,7 +73,7 @@ void ConnectionFactory::normalizeDriverName(QVariantHash &config) const else { auto &driver = config["driver"]; - driver = driver.toString().toUpper(); + driver = driver.value().toUpper(); } } @@ -81,8 +81,8 @@ std::unique_ptr ConnectionFactory::createSingleConnection(QVariantHash &config) const { return createConnection( - config["driver"].toString(), createQSqlDatabaseResolver(config), - config["database"].toString(), config["prefix"].toString(), + config["driver"].value(), createQSqlDatabaseResolver(config), + config["database"].value(), config["prefix"].value(), config); } diff --git a/src/orm/connectors/connector.cpp b/src/orm/connectors/connector.cpp index 6f1f88756..ae31b9b90 100644 --- a/src/orm/connectors/connector.cpp +++ b/src/orm/connectors/connector.cpp @@ -63,7 +63,6 @@ Connector::addQSqlDatabaseConnection(const QString &name, const QVariantHash &co { QSqlDatabase db; - // TODO now change all QVariant conversions to value<>() silverqx db = QSqlDatabase::addDatabase(config["driver"].value(), name); db.setHostName(config["host"].value()); diff --git a/src/orm/connectors/mysqlconnector.cpp b/src/orm/connectors/mysqlconnector.cpp index e25c967a6..0a1ba71bf 100644 --- a/src/orm/connectors/mysqlconnector.cpp +++ b/src/orm/connectors/mysqlconnector.cpp @@ -13,7 +13,7 @@ namespace Orm::Connectors ConnectionName MySqlConnector::connect(const QVariantHash &config) const { - const auto name = config["name"].toString(); + const auto name = config["name"].value(); /* We need to grab the QSqlDatabse options that should be used while making the brand new connection instance. The QSqlDatabase options control various @@ -64,7 +64,7 @@ void MySqlConnector::parseConfigOptions(QVariantHash &options) const if (options.contains(key) && options[key] == value) throw std::domain_error( - "The connection option '" + value.toString().toStdString() + + "The connection option '" + value.value().toStdString() + "' is not allowed in the TinyORM, TinyORM uses its own " "reconnector."); @@ -129,7 +129,7 @@ void MySqlConnector::setModes(const QSqlDatabase &connection, else if (config.contains("strict")) { - if (config["strict"].toBool()) { + if (config["strict"].value()) { const auto strictModeString = strictMode(connection, config); @@ -171,8 +171,8 @@ QString MySqlConnector::getMySqlVersion(const QSqlDatabase &connection, QString version; // Get the MySQL version from the configuration if it was defined - if (config.contains("version") && !config["version"].toString().isEmpty()) - version = config["version"].toString(); + if (config.contains("version") && !config["version"].value().isEmpty()) + version = config["version"].value(); // Obtain the MySQL version from the database else { @@ -185,7 +185,7 @@ QString MySqlConnector::getMySqlVersion(const QSqlDatabase &connection, if (!query.first()) return ""; - version = query.value(0).toString(); + version = query.value(0).value(); } return version; diff --git a/src/orm/connectors/sqliteconnector.cpp b/src/orm/connectors/sqliteconnector.cpp index 6d5b7cbd8..a2ae98dd2 100644 --- a/src/orm/connectors/sqliteconnector.cpp +++ b/src/orm/connectors/sqliteconnector.cpp @@ -14,7 +14,7 @@ namespace Orm::Connectors ConnectionName SQLiteConnector::connect(const QVariantHash &config) const { - const auto name = config["name"].toString(); + const auto name = config["name"].value(); const auto options = getOptions(config); diff --git a/src/orm/logquery.cpp b/src/orm/logquery.cpp index 79306f986..7730ab013 100644 --- a/src/orm/logquery.cpp +++ b/src/orm/logquery.cpp @@ -34,8 +34,8 @@ QString parseExecutedQuery(const QSqlQuery &query) #else boundValue = (boundValueRaw.userType() == QMetaType::QString) #endif - ? QStringLiteral("\"%1\"").arg(boundValueRaw.toString()) - : boundValueRaw.toString(); + ? QStringLiteral("\"%1\"").arg(boundValueRaw.value()) + : boundValueRaw.value(); executedQuery.replace(executedQuery.indexOf('?'), 1, boundValue); } diff --git a/src/orm/query/grammars/grammar.cpp b/src/orm/query/grammars/grammar.cpp index f3154bf44..6e1b5ee85 100644 --- a/src/orm/query/grammars/grammar.cpp +++ b/src/orm/query/grammars/grammar.cpp @@ -447,7 +447,7 @@ QString Grammar::whereColumn(const WhereConditionItem &where) const second column. */ return QStringLiteral("%1 %2 %3").arg(where.column, where.comparison, - where.value.toString()); + where.value.value()); } QString Grammar::whereIn(const WhereConditionItem &where) const @@ -570,7 +570,7 @@ QString Grammar::parameter(const QVariant &value) const { // TODO rethink expressions, how to work with them and pass them to the query builder 🤔 silverqx return value.canConvert() - ? value.value().getValue().toString() + ? value.value().getValue().value() : QStringLiteral("?"); } diff --git a/src/orm/query/querybuilder.cpp b/src/orm/query/querybuilder.cpp index 6eb0818c1..bfa523b33 100644 --- a/src/orm/query/querybuilder.cpp +++ b/src/orm/query/querybuilder.cpp @@ -126,7 +126,7 @@ quint64 Builder::insertGetId(const QVariantMap &values) if (!ok) return 0; - return query.lastInsertId().toULongLong(); + return query.lastInsertId().value(); } std::tuple diff --git a/src/orm/support/configurationoptionsparser.cpp b/src/orm/support/configurationoptionsparser.cpp index 39b5f5a50..531ed6508 100644 --- a/src/orm/support/configurationoptionsparser.cpp +++ b/src/orm/support/configurationoptionsparser.cpp @@ -63,8 +63,8 @@ ConfigurationOptionsParser::prepareConfigOptions(const QVariant &options) const return options.value(); // Convert to the QVariantHash - const auto list = options.toString().split(QChar(';'), - Qt::SkipEmptyParts); + const auto list = options.value().split(QChar(';'), + Qt::SkipEmptyParts); QVariantHash preparedOptions; for (const auto &value : list) { @@ -112,7 +112,7 @@ QString ConfigurationOptionsParser::joinOptions(const QVariantHash &options) con const auto &value = itOption.value(); joined << QStringLiteral("%1=%2").arg(key, - value.toString()); + value.value()); ++itOption; } diff --git a/tests/auto/functional/orm/tiny/basemodel/tst_basemodel.cpp b/tests/auto/functional/orm/tiny/basemodel/tst_basemodel.cpp index d7732ac9e..66fa857ac 100644 --- a/tests/auto/functional/orm/tiny/basemodel/tst_basemodel.cpp +++ b/tests/auto/functional/orm/tiny/basemodel/tst_basemodel.cpp @@ -107,7 +107,7 @@ void tst_BaseModel::save_Insert() const // Check attributes after save QVERIFY(torrent.getAttribute("id").isValid()); - QVERIFY(torrent.getAttribute("id").toULongLong() > 6); + QVERIFY(torrent.getAttribute("id").value() > 6); QCOMPARE(torrent.getAttribute("name"), QVariant("test50")); QCOMPARE(torrent.getAttribute("size"), QVariant(50)); QCOMPARE(torrent.getAttribute("progress"), QVariant(50)); @@ -160,7 +160,7 @@ void tst_BaseModel::save_Insert_WithDefaultValues() const // Check attributes after save QVERIFY(torrent.getAttribute("id").isValid()); - QVERIFY(torrent.getAttribute("id").toULongLong() > 6); + QVERIFY(torrent.getAttribute("id").value() > 6); QCOMPARE(torrent.getAttribute("name"), QVariant("test51")); QCOMPARE(torrent.getAttribute("added_on"), QVariant(addedOn)); @@ -176,7 +176,7 @@ void tst_BaseModel::save_Insert_WithDefaultValues() const // And check attributes again QVERIFY(torrentToVerify->getAttribute("id").isValid()); - QVERIFY(torrentToVerify->getAttribute("id").toULongLong() > 6); + QVERIFY(torrentToVerify->getAttribute("id").value() > 6); QCOMPARE(torrentToVerify->getAttribute("name"), QVariant("test51")); QCOMPARE(torrentToVerify->getAttribute("size"), QVariant(0)); QCOMPARE(torrentToVerify->getAttribute("progress"), QVariant(0));