get rid of Helpers::qVariantTypeId()

Not needed anymore after Qt v5.15 support removed.

 - also removed PROJECT_TINYDRIVERS_PRIVATE compile definition, not
   needed anymore as well
This commit is contained in:
silverqx
2024-06-30 12:36:52 +02:00
parent e116027f32
commit 3ba13970d7
30 changed files with 368 additions and 443 deletions

View File

@@ -129,8 +129,6 @@ target_compile_definitions(${TinyDrivers_target}
$<$<NOT:$<CONFIG:Debug>>:TINYDRIVERS_NO_DEBUG>
# Debug build
$<$<CONFIG:Debug>:TINYDRIVERS_DEBUG>
# Used in common header files (currently in replacebindings.hpp only)
PROJECT_TINYDRIVERS_PRIVATE
# To disable #pragma system_header if compiling TinyORM project itself
TINYORM_PRAGMA_SYSTEM_HEADER_OFF
# TinyDrivers support these strict Qt macros

View File

@@ -38,8 +38,6 @@ include($$TINYORM_SOURCE_TREE/qmake/common/common.pri)
DEFINES *= PROJECT_TINYDRIVERS
# Private defines
DEFINES *= TINY_QMAKE_BUILD_PRIVATE
# Used in common header files (currently in replacebindings.hpp only)
DEFINES *= PROJECT_TINYDRIVERS_PRIVATE
# Build as the shared library
CONFIG(shared, dll|shared|static|staticlib) | \

View File

@@ -8,7 +8,6 @@ TINY_SYSTEM_HEADER
// Include the blueprint here so the user doesn't have to (it can be forward declared)
#include "orm/schema/blueprint.hpp"
#include "orm/types/sqlquery.hpp"
#include "orm/utils/helpers.hpp"
TINYORM_BEGIN_COMMON_NAMESPACE
@@ -28,9 +27,6 @@ namespace Grammars
{
Q_DISABLE_COPY_MOVE(SchemaBuilder)
/*! Alias for the helper utils. */
using Helpers = Orm::Utils::Helpers;
public:
/*! Constructor. */
explicit SchemaBuilder(std::shared_ptr<DatabaseConnection> connection);

View File

@@ -9,10 +9,6 @@ TINY_SYSTEM_HEADER
#include "orm/macros/commonnamespace.hpp"
#ifndef PROJECT_TINYDRIVERS_PRIVATE
# include "orm/utils/helpers.hpp"
#endif
TINYORM_BEGIN_COMMON_NAMESPACE
namespace Orm::Support
@@ -28,11 +24,6 @@ namespace Orm::Support
{
Q_DISABLE_COPY_MOVE(ReplaceBindings)
#ifndef PROJECT_TINYDRIVERS_PRIVATE
/*! Alias for the helper utils. */
using Helpers = Orm::Utils::Helpers;
#endif
public:
/*! Deleted default constructor, this is a pure library class. */
ReplaceBindings() = delete;
@@ -76,11 +67,7 @@ namespace Orm::Support
bindingValue = Null_;
// Support for binary data (BLOB)
#ifdef PROJECT_TINYDRIVERS_PRIVATE
else if (binding.typeId() == QMetaType::QByteArray) {
#else
else if (Helpers::qVariantTypeId(binding) == QMetaType::QByteArray) {
#endif
const auto binaryData = binding.template value<QByteArray>();
const auto binarySize = binaryData.size();
// Don't overwhelm terminal with a lot of text, 512 characters is enough
@@ -91,11 +78,7 @@ namespace Orm::Support
binaryData.toHex(' ')));
}
// Support for strings quoting
#ifdef PROJECT_TINYDRIVERS_PRIVATE
else if (binding.typeId() == QMetaType::QString) {
#else
else if (Helpers::qVariantTypeId(binding) == QMetaType::QString) {
#endif
const auto textData = binding.template value<QString>();
const auto textSize = textData.size();
// Don't overwhelm terminal with a lot of text, 1024 characters is enough

View File

@@ -572,7 +572,7 @@ namespace Orm::Tiny::Concerns
/* If an attribute is listed as a "date", we'll convert it from a DateTime
instance into a form proper for storage on the database tables using
the connection grammar's date format. We will auto set the values. */
if (const auto typeId = Helpers::qVariantTypeId(value);
if (const auto typeId = value.typeId();
value.isValid() && (isDateAttribute(key) ||
// NOTE api different, if the QDateTime or QDate is detected then take it as datetime silverqx
typeId == QMetaType::QDateTime || typeId == QMetaType::QDate ||
@@ -1688,7 +1688,7 @@ namespace Orm::Tiny::Concerns
/* If this value is already a QDateTime instance, we shall just return it as is.
This prevents us having to re-parse a QDateTime instance when we know
it already is one. */
if (Helpers::qVariantTypeId(value) == QMetaType::QDateTime)
if (value.typeId() == QMetaType::QDateTime)
return convertTimeZone(value.value<QDateTime>());
// The value has to be convertible to the QString so we can work with it
@@ -1766,7 +1766,7 @@ namespace Orm::Tiny::Concerns
/* If this value is already a QTime instance, we shall just return it as is.
This prevents us having to re-parse a QTime instance when we know
it already is one. */
if (Helpers::qVariantTypeId(value) == QMetaType::QTime)
if (value.typeId() == QMetaType::QTime)
return value.template value<QTime>();
// The value has to be convertible to the QString so we can work with it
@@ -1808,7 +1808,7 @@ namespace Orm::Tiny::Concerns
{
// This method is used only for u_dates so no QTime handling is applied
const auto typeId = Helpers::qVariantTypeId(value);
const auto typeId = value.typeId();
if (typeId == QMetaType::QDate ||
(typeId == QMetaType::QString &&
@@ -1825,7 +1825,7 @@ namespace Orm::Tiny::Concerns
HasAttributes<Derived, AllRelations...>::asDateOrDateTimeOrTime(
const QVariant &value) const
{
const auto typeId = Helpers::qVariantTypeId(value);
const auto typeId = value.typeId();
if (typeId == QMetaType::QDate ||
(typeId == QMetaType::QString &&
@@ -1848,7 +1848,7 @@ namespace Orm::Tiny::Concerns
HasAttributes<Derived, AllRelations...>::fromDateOrDateTimeOrTime(
const QVariant &value, const QString &format) const
{
if (const auto typeId = Helpers::qVariantTypeId(value);
if (const auto typeId = value.typeId();
typeId == QMetaType::QDate ||
(typeId == QMetaType::QString &&
Helpers::isStandardDateFormat(value.value<QString>()))
@@ -1877,7 +1877,7 @@ namespace Orm::Tiny::Concerns
HasAttributes<Derived, AllRelations...>::nullFor_fromDateTime(
const QVariant &value, const QString &format)
{
const auto typeId = Helpers::qVariantTypeId(value);
const auto typeId = value.typeId();
if (format == QLatin1Char('U')) T_UNLIKELY
return NullVariant::LongLong();
@@ -1900,7 +1900,7 @@ namespace Orm::Tiny::Concerns
HasAttributes<Derived, AllRelations...>::nullFor_addCastAttributesTo(
const QVariant &value)
{
const auto typeId = Helpers::qVariantTypeId(value);
const auto typeId = value.typeId();
if (typeId == QMetaType::QDate ||
(typeId == QMetaType::QString &&
@@ -2350,7 +2350,7 @@ namespace Orm::Tiny::Concerns
HasAttributes<Derived, AllRelations...>::serializeDateOrDateTimeOrTime(
const QVariant &value)
{
const auto typeId = Helpers::qVariantTypeId(value);
const auto typeId = value.typeId();
if (typeId == QMetaType::QDate ||
(typeId == QMetaType::QString &&
@@ -2576,7 +2576,7 @@ namespace Orm::Tiny::Concerns
const auto castedDate = asDateOrDateTimeOrTime(value);
if (const auto typeId = Helpers::qVariantTypeId(castedDate);
if (const auto typeId = castedDate.typeId();
typeId == QMetaType::QDate
) T_UNLIKELY
value = castedDate.template value<QDate>().toString(castModifier);
@@ -2763,7 +2763,7 @@ namespace Orm::Tiny::Concerns
void HasAttributes<Derived, AllRelations...>::serializeDateOrDateTimeForAccessors(
QVariant &value)
{
const auto typeId = Helpers::qVariantTypeId(value);
const auto typeId = value.typeId();
// Nothing to do, not a datetime
if (typeId != QMetaType::QDateTime && typeId != QMetaType::QDate &&

View File

@@ -9,7 +9,6 @@ TINY_SYSTEM_HEADER
#include "orm/tiny/macros/crtpmodelwithbase.hpp"
#include "orm/tiny/tinyconcepts.hpp" // IWYU pragma: keep
#include "orm/utils/helpers.hpp"
TINYORM_BEGIN_COMMON_NAMESPACE
@@ -26,9 +25,6 @@ namespace Concerns
template<typename Derived, AllRelationsConcept ...AllRelations>
class HasTimestamps
{
/*! Alias for the helper utils. */
using Helpers = Orm::Utils::Helpers;
public:
/*! Equality comparison operator for the HasTimestamps concern. */
bool operator==(const HasTimestamps &) const noexcept = default;

View File

@@ -1902,7 +1902,7 @@ namespace Orm::Tiny
for (const auto &[key, value] : attributes)
if (value.isValid() && !value.isNull() &&
Helpers::qVariantTypeId(value) == QMetaType::QDateTime
value.typeId() == QMetaType::QDateTime
)
throw Orm::Exceptions::InvalidArgumentError(
message.arg(TypeUtils::classPureBasename<Derived>(), key));

View File

@@ -11,6 +11,8 @@ TINY_SYSTEM_HEADER
#include <range/v3/action/transform.hpp>
#include "orm/databaseconnection.hpp"
#include "orm/utils/helpers.hpp"
#include "orm/tiny/concerns/buildsqueries.hpp"
#include "orm/tiny/concerns/buildssoftdeletes.hpp"
#include "orm/tiny/concerns/queriesrelationships.hpp"

View File

@@ -63,9 +63,6 @@ namespace Utils
inline static std::size_t &hashCombine(std::size_t &seed, const T &value)
noexcept(IsNothrowHashable<std::remove_const_t<T>>::value);
/*! Get the storage type of the value stored in the QVariant. */
static int qVariantTypeId(const QVariant &value);
/*! Log exception caught in the main exception handler in a current thread. */
[[maybe_unused]]
static void logException(const std::exception &e, bool fatal = false);

View File

@@ -12,7 +12,6 @@ TINY_SYSTEM_HEADER
#include "orm/macros/export.hpp"
#include "orm/macros/sqldrivermappings.hpp"
#include "orm/support/replacebindings.hpp"
#include "orm/utils/helpers.hpp"
TINY_FORWARD_DECLARE_TSqlQuery
@@ -26,9 +25,6 @@ namespace Orm::Utils
{
Q_DISABLE_COPY_MOVE(Query)
/*! Alias for the helper utils. */
using Helpers = Orm::Utils::Helpers;
public:
/*! Deleted default constructor, this is a pure library class. */
Query() = delete;

View File

@@ -4,7 +4,6 @@
#include <range/v3/view/transform.hpp>
#include "orm/schema/schemaconstants.hpp"
#include "orm/utils/helpers.hpp"
#include "orm/utils/string.hpp"
TINYORM_BEGIN_COMMON_NAMESPACE
@@ -12,7 +11,6 @@ TINYORM_BEGIN_COMMON_NAMESPACE
using Orm::Constants::COMMA_C;
using Orm::SchemaNs::Constants::TRIM_QUOTES;
using Orm::Utils::Helpers;
using StringUtils = Orm::Utils::String;
@@ -72,7 +70,7 @@ QStringList ParsesSearchPath::parseSearchPath(const QVariant &searchPath)
we can be sure here that it's the QString or QStringList. Also don't use
the QVariant::canConvert() here as there are no benefits from it, only pitfalls,
eg. an empty QString if converting from the QStringList. */
if (Helpers::qVariantTypeId(searchPath) == QMetaType::QString)
if (searchPath.typeId() == QMetaType::QString)
return parseSearchPath(searchPath.value<QString>());
return parseSearchPath(searchPath.value<QStringList>());

View File

@@ -3,7 +3,6 @@
#include "orm/configurations/configurationparser.hpp"
#include "orm/constants.hpp"
#include "orm/exceptions/invalidargumenterror.hpp"
#include "orm/utils/helpers.hpp"
#include "orm/utils/type.hpp"
TINYORM_BEGIN_COMMON_NAMESPACE
@@ -14,8 +13,6 @@ using Orm::Constants::EQ_C;
using Orm::Constants::SEMICOLON;
using Orm::Constants::options_;
using Orm::Utils::Helpers;
namespace Orm::Configurations
{
@@ -83,9 +80,7 @@ void ConfigurationOptionsParser::copyOptionsFromTopLevel(
void ConfigurationOptionsParser::validateConfigOptions(const QVariant &options)
{
if (Helpers::qVariantTypeId(options) == QMetaType::QString ||
options.canConvert<QVariantHash>()
)
if (options.typeId() == QMetaType::QString || options.canConvert<QVariantHash>())
return;
throw Exceptions::InvalidArgumentError(
@@ -100,7 +95,7 @@ QVariantHash ConfigurationOptionsParser::prepareConfigOptions(const QVariant &op
{
/* Nothing to do, already contains the QVariantHas. Input is already validated, so
we can be sure that the 'options' option type is the QVariantHash. */
if (Helpers::qVariantTypeId(options) != QMetaType::QString)
if (options.typeId() != QMetaType::QString)
return options.value<QVariantHash>();
/* The following algorithm converts the QString defined 'options' to the QVariantHash.

View File

@@ -2,7 +2,6 @@
#include "orm/constants.hpp"
#include "orm/exceptions/invalidargumenterror.hpp"
#include "orm/utils/helpers.hpp"
#include "orm/utils/type.hpp"
TINYORM_BEGIN_COMMON_NAMESPACE
@@ -17,8 +16,6 @@ using Orm::Constants::sslcert;
using Orm::Constants::sslkey;
using Orm::Constants::sslrootcert;
using Orm::Utils::Helpers;
namespace Orm::Configurations
{
@@ -72,8 +69,8 @@ void PostgresConfigurationParser::throwIfSearchPathHasWrongType() const
if (!config().contains(search_path))
return;
if (const auto type = Helpers::qVariantTypeId(config()[search_path]);
type == QMetaType::QString || type == QMetaType::QStringList
if (const auto typeId = config()[search_path].typeId();
typeId == QMetaType::QString || typeId == QMetaType::QStringList
)
return;
@@ -91,8 +88,8 @@ void PostgresConfigurationParser::throwIfDontDropHasWrongType() const
if (!config().contains(dont_drop))
return;
if (const auto type = Helpers::qVariantTypeId(config()[dont_drop]);
type == QMetaType::QString || type == QMetaType::QStringList
if (const auto typeId = config()[dont_drop].typeId();
typeId == QMetaType::QString || typeId == QMetaType::QStringList
)
return;

View File

@@ -10,6 +10,7 @@
#include "orm/exceptions/multiplecolumnsselectederror.hpp"
#include "orm/query/querybuilder.hpp"
#include "orm/utils/configuration.hpp"
#include "orm/utils/helpers.hpp"
#include "orm/utils/type.hpp"
TINYORM_BEGIN_COMMON_NAMESPACE
@@ -374,7 +375,7 @@ DatabaseConnection::prepareBindings(QVector<QVariant> &bindings) const
if (!binding.isValid() || binding.isNull())
continue;
switch (Helpers::qVariantTypeId(binding)) {
switch (binding.typeId()) {
case QMetaType::QDate:
// QDate doesn't have a time zone
binding = binding.value<QDate>().toString(Qt::ISODate);

View File

@@ -4,8 +4,6 @@
TINYORM_BEGIN_COMMON_NAMESPACE
using Orm::Utils::Helpers;
namespace Orm::Query::Grammars
{
@@ -227,7 +225,7 @@ QString SQLiteGrammar::dateBasedWhereColumn(const QString &type,
// Compare as text types
case WhereType::DATE:
case WhereType::TIME:
Q_ASSERT(Helpers::qVariantTypeId(where.value) == QMetaType::QString);
Q_ASSERT(where.value.typeId() == QMetaType::QString);
return QStringLiteral("strftime('%1', %2)").arg(type, wrap(where.column));
@@ -235,7 +233,7 @@ QString SQLiteGrammar::dateBasedWhereColumn(const QString &type,
case WhereType::DAY:
case WhereType::MONTH:
case WhereType::YEAR:
Q_ASSERT(Helpers::qVariantTypeId(where.value) == QMetaType::Int);
Q_ASSERT(where.value.typeId() == QMetaType::Int);
return QStringLiteral("cast(strftime('%1', %2) as integer)")
.arg(type, wrap(where.column));

View File

@@ -17,8 +17,6 @@
TINYORM_BEGIN_COMMON_NAMESPACE
using Orm::Utils::Helpers;
namespace Orm::Query
{
@@ -847,9 +845,7 @@ Builder &Builder::whereDate(const Column &column, const QString &comparison,
QVariant value, const QString &condition)
{
// Convert to the QString representation (support both QDate and QDateTime)
if (const auto type = Helpers::qVariantTypeId(value);
type == QMetaType::QDate
)
if (const auto type = value.typeId(); type == QMetaType::QDate)
value = value.value<QDate>().toString(Qt::ISODate);
else if (type == QMetaType::QDateTime)
@@ -863,9 +859,7 @@ Builder &Builder::whereTime(const Column &column, const QString &comparison,
QVariant value, const QString &condition)
{
// Convert to the QString representation (support both QTime and QDateTime)
if (const auto type = Helpers::qVariantTypeId(value);
type == QMetaType::QTime
)
if (const auto type = value.typeId(); type == QMetaType::QTime)
value = value.value<QTime>().toString(Qt::ISODate);
else if (type == QMetaType::QDateTime)
@@ -879,9 +873,7 @@ Builder &Builder::whereDay(const Column &column, const QString &comparison,
QVariant value, const QString &condition)
{
// Convert to the int representation (support both QDate and QDateTime)
if (const auto type = Helpers::qVariantTypeId(value);
type == QMetaType::QDate
)
if (const auto type = value.typeId(); type == QMetaType::QDate)
value = value.value<QDate>().day();
else if (type == QMetaType::QDateTime)
@@ -898,9 +890,7 @@ Builder &Builder::whereMonth(const Column &column, const QString &comparison,
QVariant value, const QString &condition)
{
// Convert to the int representation (support both QDate and QDateTime)
if (const auto type = Helpers::qVariantTypeId(value);
type == QMetaType::QDate
)
if (const auto type = value.typeId(); type == QMetaType::QDate)
value = value.value<QDate>().month();
else if (type == QMetaType::QDateTime)
@@ -917,9 +907,7 @@ Builder &Builder::whereYear(const Column &column, const QString &comparison,
QVariant value, const QString &condition)
{
// Convert to the int representation (support both QDate and QDateTime)
if (const auto type = Helpers::qVariantTypeId(value);
type == QMetaType::QDate
)
if (const auto type = value.typeId(); type == QMetaType::QDate)
value = value.value<QDate>().year();
else if (type == QMetaType::QDateTime)

View File

@@ -10,8 +10,6 @@
TINYORM_BEGIN_COMMON_NAMESPACE
using Orm::Utils::Helpers;
namespace Orm::SchemaNs::Grammars
{
@@ -186,7 +184,7 @@ QString SchemaGrammar::getDefaultValue(const QVariant &value) const
"The default value has to be convertible to the QString.");
// Send boolean values as '0'/'1'
return Helpers::qVariantTypeId(value) == QMetaType::Bool
return value.typeId() == QMetaType::Bool
? quoteString(QString::number(value.value<int>()))
: quoteString(escapeString(value.value<QString>()));
}

View File

@@ -5,6 +5,7 @@
#include "orm/databaseconnection.hpp"
#include "orm/exceptions/logicerror.hpp"
#include "orm/utils/helpers.hpp"
#include "orm/utils/query.hpp"
#ifdef TINYORM_USING_TINYDRIVERS
@@ -13,6 +14,8 @@
TINYORM_BEGIN_COMMON_NAMESPACE
using Orm::Utils::Helpers;
using QueryUtils = Orm::Utils::Query;
namespace Orm::SchemaNs

View File

@@ -5,12 +5,9 @@
#include <range/v3/view/transform.hpp>
#include "orm/macros/likely.hpp"
#include "orm/utils/helpers.hpp"
TINYORM_BEGIN_COMMON_NAMESPACE
using Orm::Utils::Helpers;
namespace Orm::Tiny::Utils
{
@@ -200,7 +197,7 @@ void Attribute::fixQtNullVariantBug(QVariantMap &attributes) // NOLINT(misc-no-r
if (value.isNull()) T_UNLIKELY
value = QVariant::fromValue(nullptr);
else if (const auto typeId = Helpers::qVariantTypeId(value);
else if (const auto typeId = value.typeId();
typeId == QMetaType::QVariantMap
) T_UNLIKELY
fixQtNullVariantBug(
@@ -217,7 +214,7 @@ void Attribute::fixQtNullVariantBug(QVariantMap &attributes) // NOLINT(misc-no-r
void Attribute::fixQtNullVariantBug(QVariantList &attributesList) // NOLINT(misc-no-recursion)
{
for (auto &attributes : attributesList)
if (Helpers::qVariantTypeId(attributes) == QMetaType::QVariantMap) T_LIKELY
if (attributes.typeId() == QMetaType::QVariantMap) T_LIKELY
fixQtNullVariantBug(
*reinterpret_cast<QVariantMap *>(attributes.data())); // NOLINT(cppcoreguidelines-pro-type-reinterpret-cast)

View File

@@ -75,7 +75,7 @@ bool SqlQuery::shouldPrepareDateTime(const QVariant &value) const
if (!m_isConvertingTimeZone || !value.isValid() || value.isNull())
return false;
const auto typeId = Helpers::qVariantTypeId(value);
const auto typeId = value.typeId();
// If it's the QDateTime or if should return the QDateTime/QDate for QSQLITE
return typeId == QMetaType::QDateTime ||

View File

@@ -5,7 +5,6 @@
#include "orm/exceptions/invalidargumenterror.hpp"
#include "orm/ormconcepts.hpp" // IWYU pragma: keep
#include "orm/ormtypes.hpp"
#include "orm/utils/helpers.hpp"
#include "orm/utils/type.hpp"
TINYORM_BEGIN_COMMON_NAMESPACE
@@ -54,7 +53,7 @@ Configuration::prepareQtTimeZone(const QVariant &qtTimeZone, const QString &conn
if (!qtTimeZone.isValid() || qtTimeZone.isNull())
return QtTimeZoneConfig::utc();
const auto typeId = Helpers::qVariantTypeId(qtTimeZone);
const auto typeId = qtTimeZone.typeId();
#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
if (typeId == QMetaType::fromType<QTimeZone::Initialization>().id())

View File

@@ -18,11 +18,6 @@ namespace Orm::Utils
/* public */
int Helpers::qVariantTypeId(const QVariant &value)
{
return value.typeId();
}
void Helpers::logException(const std::exception &e, const bool fatal)
{
const QString exceptionMessage(e.what());
@@ -84,7 +79,7 @@ Helpers::convertTimeZone(const QDateTime &datetime, const QtTimeZoneConfig &time
T_LIKELY
case QtTimeZoneType::QTimeZone:
#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
if (const auto typeId = Helpers::qVariantTypeId(timezoneValue);
if (const auto typeId = timezoneValue.typeId();
typeId == QMetaType::fromType<QTimeZone::Initialization>().id()
)
return datetime.toTimeZone(timezoneValue.value<QTimeZone::Initialization>());
@@ -121,7 +116,7 @@ Helpers::setTimeZone(QDateTime &datetime, const QtTimeZoneConfig &timezone)
T_LIKELY
case QtTimeZoneType::QTimeZone:
#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
if (const auto typeId = Helpers::qVariantTypeId(timezoneValue);
if (const auto typeId = timezoneValue.typeId();
typeId == QMetaType::fromType<QTimeZone::Initialization>().id()
)
datetime.setTimeZone(timezoneValue.value<QTimeZone::Initialization>());

View File

@@ -25,7 +25,6 @@ using Orm::DB;
using Orm::QtTimeZoneConfig;
using Orm::QtTimeZoneType;
using Orm::TTimeZone;
using Orm::Utils::Helpers;
using Orm::Utils::NullVariant;
using QueryBuilder = Orm::Query::Builder;
@@ -270,7 +269,7 @@ insert_Qt_QDateTime_UtcTimezone_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -344,7 +343,7 @@ insert_Qt_QDateTime_0200Timezone_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -416,7 +415,7 @@ void tst_MySql_QDateTime::insert_Qt_QString_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -490,7 +489,7 @@ insert_Qt_QDateTime_UtcTimezone_TimestampColumn_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -564,7 +563,7 @@ insert_Qt_QDateTime_0200Timezone_TimestampColumn_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -637,7 +636,7 @@ void tst_MySql_QDateTime::insert_Qt_QString_TimestampColumn_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -714,7 +713,7 @@ insert_Qt_QDateTime_UtcTimezone_DatetimeColumn_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -789,7 +788,7 @@ insert_Qt_QDateTime_0200Timezone_DatetimeColumn_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -862,7 +861,7 @@ void tst_MySql_QDateTime::insert_Qt_QString_DatetimeColumn_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -937,7 +936,7 @@ insert_Qt_QDateTime_UtcTimezone_TimestampColumn_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -1012,7 +1011,7 @@ insert_Qt_QDateTime_0200Timezone_TimestampColumn_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -1085,7 +1084,7 @@ void tst_MySql_QDateTime::insert_Qt_QString_TimestampColumn_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* QMYSQL driver doesn't care about QDateTime timezone and returns the QDateTime
in a local timezone. */
@@ -1137,7 +1136,7 @@ insert_QDateTime_UtcTimezone_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1178,7 +1177,7 @@ insert_QDateTime_0200Timezone_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1217,7 +1216,7 @@ void tst_MySql_QDateTime::insert_QString_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1258,7 +1257,7 @@ insert_QDateTime_UtcTimezone_TimestampColumn_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1299,7 +1298,7 @@ insert_QDateTime_0200Timezone_TimestampColumn_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1338,7 +1337,7 @@ void tst_MySql_QDateTime::insert_QString_TimestampColumn_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1383,7 +1382,7 @@ insert_QDateTime_UtcTimezone_DatetimeColumn_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1425,7 +1424,7 @@ insert_QDateTime_0200Timezone_DatetimeColumn_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1465,7 +1464,7 @@ void tst_MySql_QDateTime::insert_QString_DatetimeColumn_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1507,7 +1506,7 @@ insert_QDateTime_UtcTimezone_TimestampColumn_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1549,7 +1548,7 @@ insert_QDateTime_0200Timezone_TimestampColumn_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1589,7 +1588,7 @@ void tst_MySql_QDateTime::insert_QString_TimestampColumn_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1659,7 +1658,7 @@ void tst_MySql_QDateTime::insert_Qt_QDate_UtcTimezone_DateColumn_UtcOnServer() c
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1717,7 +1716,7 @@ void tst_MySql_QDateTime::insert_Qt_QString_DateColumn_UtcOnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1779,7 +1778,7 @@ void tst_MySql_QDateTime::insert_Qt_QDate_UtcTimezone_DateColumn_0200OnServer()
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1839,7 +1838,7 @@ void tst_MySql_QDateTime::insert_Qt_QString_DateColumn_0200OnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1875,7 +1874,7 @@ void tst_MySql_QDateTime::insert_QDate_UtcTimezone_DateColumn_UtcOnServer() cons
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1906,7 +1905,7 @@ void tst_MySql_QDateTime::insert_QString_DateColumn_UtcOnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1941,7 +1940,7 @@ void tst_MySql_QDateTime::insert_QDate_UtcTimezone_DateColumn_0200OnServer() con
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1974,7 +1973,7 @@ void tst_MySql_QDateTime::insert_QString_DateColumn_0200OnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -2040,7 +2039,7 @@ void tst_MySql_QDateTime::insert_Qt_QTime_UtcTimezone_TimeColumn_UtcOnServer() c
/* MySQL TIME column type is returned as QString because it can be within
the range '-838:59:59' to '838:59:59'. */
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = sl("17:02:59");
@@ -2100,7 +2099,7 @@ void tst_MySql_QDateTime::insert_Qt_QString_TimeColumn_UtcOnServer() const
/* MySQL TIME column type is returned as QString because it can be within
the range '-838:59:59' to '838:59:59'. */
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = QString("17:02:59");
@@ -2164,7 +2163,7 @@ void tst_MySql_QDateTime::insert_Qt_QTime_UtcTimezone_TimeColumn_0200OnServer()
/* MySQL TIME column type is returned as QString because it can be within
the range '-838:59:59' to '838:59:59'. */
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = QString("17:02:59");
@@ -2226,7 +2225,7 @@ void tst_MySql_QDateTime::insert_Qt_QString_TimeColumn_0200OnServer() const
/* MySQL TIME column type is returned as QString because it can be within
the range '-838:59:59' to '838:59:59'. */
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = QString("17:02:59");
@@ -2264,7 +2263,7 @@ void tst_MySql_QDateTime::insert_QTime_UtcTimezone_TimeColumn_UtcOnServer() cons
/* MySQL TIME column type is returned as QString because it can be within
the range '-838:59:59' to '838:59:59'. */
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = QString("17:02:59");
@@ -2297,7 +2296,7 @@ void tst_MySql_QDateTime::insert_QString_TimeColumn_UtcOnServer() const
/* MySQL TIME column type is returned as QString because it can be within
the range '-838:59:59' to '838:59:59'. */
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = QString("17:02:59");
@@ -2334,7 +2333,7 @@ void tst_MySql_QDateTime::insert_QTime_UtcTimezone_TimeColumn_0200OnServer() con
/* MySQL TIME column type is returned as QString because it can be within
the range '-838:59:59' to '838:59:59'. */
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = QString("17:02:59");
@@ -2369,7 +2368,7 @@ void tst_MySql_QDateTime::insert_QString_TimeColumn_0200OnServer() const
/* MySQL TIME column type is returned as QString because it can be within
the range '-838:59:59' to '838:59:59'. */
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = QString("17:02:59");
@@ -2433,7 +2432,7 @@ void tst_MySql_QDateTime::insert_Qt_QDateTime_Null_DatetimeColumn_UtcOnServer()
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -2496,7 +2495,7 @@ void tst_MySql_QDateTime::insert_Qt_QDate_Null_DateColumn_UtcOnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -2554,7 +2553,7 @@ void tst_MySql_QDateTime::insert_Qt_QTime_Null_TimeColumn_UtcOnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = QString();
@@ -2616,7 +2615,7 @@ void tst_MySql_QDateTime::insert_Qt_QDateTime_Null_DatetimeColumn_0200OnServer()
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -2681,7 +2680,7 @@ void tst_MySql_QDateTime::insert_Qt_QDate_Null_DateColumn_0200OnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -2741,7 +2740,7 @@ void tst_MySql_QDateTime::insert_Qt_QTime_Null_TimeColumn_0200OnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = QString();
@@ -2777,7 +2776,7 @@ void tst_MySql_QDateTime::insert_QDateTime_Null_DatetimeColumn_UtcOnServer() con
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -2813,7 +2812,7 @@ void tst_MySql_QDateTime::insert_QDate_Null_DateColumn_UtcOnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -2844,7 +2843,7 @@ void tst_MySql_QDateTime::insert_QTime_Null_TimeColumn_UtcOnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = QString();
@@ -2880,7 +2879,7 @@ void tst_MySql_QDateTime::insert_QDateTime_Null_DatetimeColumn_0200OnServer() co
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -2918,7 +2917,7 @@ void tst_MySql_QDateTime::insert_QDate_Null_DateColumn_0200OnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -2951,7 +2950,7 @@ void tst_MySql_QDateTime::insert_QTime_Null_TimeColumn_0200OnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QString>();
const auto timeExpected = QString();
@@ -3000,7 +2999,7 @@ insert_QDateTime_0300Timezone_DatetimeColumn_UtcOnServer_DontConvert() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
// Practically it should behave as is the default QMYSQL driver behavior
const auto datetimeActual = datetimeDbVariant.value<QDateTime>();

View File

@@ -19,7 +19,6 @@ using Orm::DB;
using Orm::QtTimeZoneConfig;
using Orm::QtTimeZoneType;
using Orm::TTimeZone;
using Orm::Utils::Helpers;
using Orm::Utils::NullVariant;
using QueryBuilder = Orm::Query::Builder;
@@ -241,7 +240,7 @@ insert_Qt_QDateTime_UtcTimezone_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto datetimeActual = datetimeDbVariant.value<QDateTime>();
@@ -312,7 +311,7 @@ insert_Qt_QDateTime_0200Timezone_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto datetimeActual = datetimeDbVariant.value<QDateTime>();
@@ -381,7 +380,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QString_DatetimeColumn_UtcOnServer() co
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto datetimeActual = datetimeDbVariant.value<QDateTime>();
@@ -451,7 +450,7 @@ insert_Qt_QDateTime_UtcTimezone_TimestampColumn_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto timestampActual = timestampDbVariant.value<QDateTime>();
@@ -522,7 +521,7 @@ insert_Qt_QDateTime_0200Timezone_TimestampColumn_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto timestampActual = timestampDbVariant.value<QDateTime>();
@@ -591,7 +590,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QString_TimestampColumn_UtcOnServer() c
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto timestampActual = timestampDbVariant.value<QDateTime>();
@@ -664,7 +663,7 @@ insert_Qt_QDateTime_UtcTimezone_DatetimeColumn_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto datetimeActual = datetimeDbVariant.value<QDateTime>();
@@ -736,7 +735,7 @@ insert_Qt_QDateTime_0200Timezone_DatetimeColumn_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto datetimeActual = datetimeDbVariant.value<QDateTime>();
@@ -806,7 +805,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QString_DatetimeColumn_0200OnServer() c
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto datetimeActual = datetimeDbVariant.value<QDateTime>();
@@ -877,7 +876,7 @@ insert_Qt_QDateTime_UtcTimezone_TimestampColumn_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto timestampActual = timestampDbVariant.value<QDateTime>();
@@ -949,7 +948,7 @@ insert_Qt_QDateTime_0200Timezone_TimestampColumn_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto timestampActual = timestampDbVariant.value<QDateTime>();
@@ -1019,7 +1018,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QString_TimestampColumn_0200OnServer()
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
// QPSQL ignores database TZ and returns the QDateTime in a local timezone
const auto timestampActual = timestampDbVariant.value<QDateTime>();
@@ -1066,7 +1065,7 @@ insert_QDateTime_UtcTimezone_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1105,7 +1104,7 @@ insert_QDateTime_0200Timezone_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1141,7 +1140,7 @@ void tst_PostgreSQL_QDateTime::insert_QString_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1179,7 +1178,7 @@ insert_QDateTime_UtcTimezone_TimestampColumn_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1218,7 +1217,7 @@ insert_QDateTime_0200Timezone_TimestampColumn_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1254,7 +1253,7 @@ void tst_PostgreSQL_QDateTime::insert_QString_TimestampColumn_UtcOnServer() cons
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1296,7 +1295,7 @@ insert_QDateTime_UtcTimezone_DatetimeColumn_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1336,7 +1335,7 @@ insert_QDateTime_0200Timezone_DatetimeColumn_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1373,7 +1372,7 @@ void tst_PostgreSQL_QDateTime::insert_QString_DatetimeColumn_0200OnServer() cons
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1412,7 +1411,7 @@ insert_QDateTime_UtcTimezone_TimestampColumn_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1452,7 +1451,7 @@ insert_QDateTime_0200Timezone_TimestampColumn_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1489,7 +1488,7 @@ void tst_PostgreSQL_QDateTime::insert_QString_TimestampColumn_0200OnServer() con
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM QueryBuilder fixes the buggy time zone behavior
@@ -1558,7 +1557,7 @@ tst_PostgreSQL_QDateTime::insert_Qt_QDate_UtcTimezone_DateColumn_UtcOnServer() c
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1614,7 +1613,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QString_DateColumn_UtcOnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1675,7 +1674,7 @@ insert_Qt_QDate_UtcTimezone_DateColumn_0200OnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1733,7 +1732,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QString_DateColumn_0200OnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1766,7 +1765,7 @@ void tst_PostgreSQL_QDateTime::insert_QDate_UtcTimezone_DateColumn_UtcOnServer()
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1795,7 +1794,7 @@ void tst_PostgreSQL_QDateTime::insert_QString_DateColumn_UtcOnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1829,7 +1828,7 @@ insert_QDate_UtcTimezone_DateColumn_0200OnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1860,7 +1859,7 @@ void tst_PostgreSQL_QDateTime::insert_QString_DateColumn_0200OnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1923,7 +1922,7 @@ tst_PostgreSQL_QDateTime::insert_Qt_QTime_UtcTimezone_TimeColumn_UtcOnServer() c
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -1979,7 +1978,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QString_TimeColumn_UtcOnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -2040,7 +2039,7 @@ insert_Qt_QTime_UtcTimezone_TimeColumn_0200OnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -2098,7 +2097,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QString_TimeColumn_0200OnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -2131,7 +2130,7 @@ void tst_PostgreSQL_QDateTime::insert_QTime_UtcTimezone_TimeColumn_UtcOnServer()
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -2160,7 +2159,7 @@ void tst_PostgreSQL_QDateTime::insert_QString_TimeColumn_UtcOnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -2194,7 +2193,7 @@ insert_QTime_UtcTimezone_TimeColumn_0200OnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -2225,7 +2224,7 @@ void tst_PostgreSQL_QDateTime::insert_QString_TimeColumn_0200OnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -2288,7 +2287,7 @@ insert_Qt_QDateTime_Null_DatetimeColumn_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -2349,7 +2348,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QDate_Null_DateColumn_UtcOnServer() con
QVERIFY(dateDbVariant.isValid());
QVERIFY(dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -2405,7 +2404,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QTime_Null_TimeColumn_UtcOnServer() con
QVERIFY(timeDbVariant.isValid());
QVERIFY(timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime();
@@ -2466,7 +2465,7 @@ insert_Qt_QDateTime_Null_DatetimeColumn_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -2529,7 +2528,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QDate_Null_DateColumn_0200OnServer() co
QVERIFY(dateDbVariant.isValid());
QVERIFY(dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -2587,7 +2586,7 @@ void tst_PostgreSQL_QDateTime::insert_Qt_QTime_Null_TimeColumn_0200OnServer() co
QVERIFY(timeDbVariant.isValid());
QVERIFY(timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime();
@@ -2620,7 +2619,7 @@ void tst_PostgreSQL_QDateTime::insert_QDateTime_Null_DatetimeColumn_UtcOnServer(
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -2654,7 +2653,7 @@ void tst_PostgreSQL_QDateTime::insert_QDate_Null_DateColumn_UtcOnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -2683,7 +2682,7 @@ void tst_PostgreSQL_QDateTime::insert_QTime_Null_TimeColumn_UtcOnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime();
@@ -2716,7 +2715,7 @@ void tst_PostgreSQL_QDateTime::insert_QDateTime_Null_DatetimeColumn_0200OnServer
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -2752,7 +2751,7 @@ void tst_PostgreSQL_QDateTime::insert_QDate_Null_DateColumn_0200OnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -2783,7 +2782,7 @@ void tst_PostgreSQL_QDateTime::insert_QTime_Null_TimeColumn_0200OnServer() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QTime);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QTime);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime();
@@ -2829,7 +2828,7 @@ insert_QDateTime_0300Timezone_DatetimeColumn_UtcOnServer_DontConvert() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
// Practically it should behave as is the default QPSQL driver behavior
const auto datetimeActual = datetimeDbVariant.value<QDateTime>();

View File

@@ -19,7 +19,6 @@ using Orm::QtTimeZoneConfig;
using Orm::QtTimeZoneType;
using Orm::SQLiteConnection;
using Orm::TTimeZone;
using Orm::Utils::Helpers;
using Orm::Utils::NullVariant;
using QueryBuilder = Orm::Query::Builder;
@@ -234,7 +233,7 @@ insert_Qt_QDateTime_UtcTimezone_DatetimeColumn() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QString);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QString);
/* QSQLITE driver returns a string of a datetime with a timezone that was sent
to the database in unchanged form. */
@@ -298,7 +297,7 @@ insert_Qt_QDateTime_0200Timezone_DatetimeColumn() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QString);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QString);
/* QSQLITE driver returns a string of a datetime with a timezone that was sent
to the database in unchanged form. */
@@ -358,7 +357,7 @@ void tst_SQLite_QDateTime::insert_Qt_QString_DatetimeColumn() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QString);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QString);
/* QSQLITE driver returns a string of a datetime that was sent to the database
in unchanged form. */
@@ -421,7 +420,7 @@ insert_Qt_QDateTime_UtcTimezone_TimestampColumn() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QString);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QString);
/* QSQLITE driver returns a string of a datetime with a timezone that was sent
to the database in unchanged form. */
@@ -485,7 +484,7 @@ insert_Qt_QDateTime_0200Timezone_TimestampColumn() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QString);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QString);
/* QSQLITE driver returns a string of a datetime with a timezone that was sent
to the database in unchanged form. */
@@ -545,7 +544,7 @@ void tst_SQLite_QDateTime::insert_Qt_QString_TimestampColumn() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QString);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QString);
/* QSQLITE driver returns a string of a datetime that was sent to the database
in unchanged form. */
@@ -583,7 +582,7 @@ insert_QDateTime_UtcTimezone_DatetimeColumn_OnReturnQDateTime() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
// TinyORM QueryBuilder fixes this and returns the QDateTime instead of QString
const auto datetimeActual = datetimeDbVariant.value<QDateTime>();
@@ -617,7 +616,7 @@ insert_QDateTime_0200Timezone_DatetimeColumn_OnReturnQDateTime() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
// TinyORM QueryBuilder fixes this and returns the QDateTime instead of QString
const auto datetimeActual = datetimeDbVariant.value<QDateTime>();
@@ -649,7 +648,7 @@ void tst_SQLite_QDateTime::insert_QString_DatetimeColumn_OnReturnQDateTime() con
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
// TinyORM QueryBuilder fixes this and returns the QDateTime instead of QString
const auto datetimeActual = datetimeDbVariant.value<QDateTime>();
@@ -683,7 +682,7 @@ insert_QDateTime_UtcTimezone_TimestampColumn_OnReturnQDateTime() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
// TinyORM QueryBuilder fixes this and returns the QDateTime instead of QString
const auto timestampActual = timestampDbVariant.value<QDateTime>();
@@ -717,7 +716,7 @@ insert_QDateTime_0200Timezone_TimestampColumn_OnReturnQDateTime() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
// TinyORM QueryBuilder fixes this and returns the QDateTime instead of QString
const auto timestampActual = timestampDbVariant.value<QDateTime>();
@@ -749,7 +748,7 @@ void tst_SQLite_QDateTime::insert_QString_TimestampColumn_OnReturnQDateTime() co
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
// TinyORM QueryBuilder fixes this and returns the QDateTime instead of QString
const auto timestampActual = timestampDbVariant.value<QDateTime>();
@@ -787,7 +786,7 @@ insert_QDateTime_UtcTimezone_DatetimeColumn_OffReturnQDateTime() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QString);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QString);
/* Returning the QDateTime (fixed behavior by the TinyORM QueryBuilder) can be
disabled by the return_qdatetime = false. */
@@ -824,7 +823,7 @@ insert_QDateTime_0200Timezone_DatetimeColumn_OffReturnQDateTime() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QString);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QString);
/* Returning the QDateTime (fixed behavior by the TinyORM QueryBuilder) can be
disabled by the return_qdatetime = false. */
@@ -859,7 +858,7 @@ void tst_SQLite_QDateTime::insert_QString_DatetimeColumn_OffReturnQDateTime() co
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QString);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QString);
/* Returning the QDateTime (fixed behavior by the TinyORM QueryBuilder) can be
disabled by the return_qdatetime = false. */
@@ -896,7 +895,7 @@ insert_QDateTime_UtcTimezone_TimestampColumn_OffReturnQDateTime() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QString);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QString);
/* Returning the QDateTime (fixed behavior by the TinyORM QueryBuilder) can be
disabled by the return_qdatetime = false. */
@@ -933,7 +932,7 @@ insert_QDateTime_0200Timezone_TimestampColumn_OffReturnQDateTime() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QString);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QString);
/* Returning the QDateTime (fixed behavior by the TinyORM QueryBuilder) can be
disabled by the return_qdatetime = false. */
@@ -968,7 +967,7 @@ void tst_SQLite_QDateTime::insert_QString_TimestampColumn_OffReturnQDateTime() c
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QString);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QString);
/* Returning the QDateTime (fixed behavior by the TinyORM QueryBuilder) can be
disabled by the return_qdatetime = false. */
@@ -1035,7 +1034,7 @@ void tst_SQLite_QDateTime::insert_Qt_QDate_UtcTimezone_DateColumn() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QString);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QString);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1090,7 +1089,7 @@ void tst_SQLite_QDateTime::insert_Qt_QString_DateColumn() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QString);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QString);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1122,7 +1121,7 @@ tst_SQLite_QDateTime::insert_QDate_UtcTimezone_DateColumn_OnReturnQDateTime() co
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1149,7 +1148,7 @@ void tst_SQLite_QDateTime::insert_QString_DateColumn_OnReturnQDateTime() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1181,7 +1180,7 @@ tst_SQLite_QDateTime::insert_QDate_UtcTimezone_DateColumn_OffReturnQDateTime() c
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QString);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QString);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1211,7 +1210,7 @@ void tst_SQLite_QDateTime::insert_QString_DateColumn_OffReturnQDateTime() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QString);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QString);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1273,7 +1272,7 @@ void tst_SQLite_QDateTime::insert_Qt_QTime_UtcTimezone_TimeColumn() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -1328,7 +1327,7 @@ void tst_SQLite_QDateTime::insert_Qt_QString_TimeColumn() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -1363,7 +1362,7 @@ tst_SQLite_QDateTime::insert_QTime_UtcTimezone_TimeColumn_OnReturnQDateTime() co
/* The return_qdatetime doesn't affect time columns/fields, they are returned
as QString to support time ranges larger than 24-hours,
eg. like for MySQL '-838:59:59' to '838:59:59'. */
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -1393,7 +1392,7 @@ void tst_SQLite_QDateTime::insert_QString_TimeColumn_OnReturnQDateTime() const
/* The return_qdatetime doesn't affect time columns/fields, they are returned
as QString to support time ranges larger than 24-hours,
eg. like for MySQL '-838:59:59' to '838:59:59'. */
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -1425,7 +1424,7 @@ tst_SQLite_QDateTime::insert_QTime_UtcTimezone_TimeColumn_OffReturnQDateTime() c
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -1455,7 +1454,7 @@ void tst_SQLite_QDateTime::insert_QString_TimeColumn_OffReturnQDateTime() const
QVERIFY(timeDbVariant.isValid());
QVERIFY(!timeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QTime>();
const auto timeExpected = QTime(17, 2, 59);
@@ -1519,7 +1518,7 @@ insert_Qt_QDateTime_Null_DatetimeColumn() const
QVERIFY(datetimeDbVariant.isNull());
// QSQLITE driver simply returns QVariant(QMetaType::QString)
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QString);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QString);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -1580,7 +1579,7 @@ void tst_SQLite_QDateTime::insert_Qt_QDate_Null_DateColumn() const
QVERIFY(dateDbVariant.isNull());
// QSQLITE driver simply returns QVariant(QMetaType::QString)
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QString);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QString);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -1636,7 +1635,7 @@ void tst_SQLite_QDateTime::insert_Qt_QTime_Null_TimeColumn() const
QVERIFY(timeDbVariant.isNull());
// QSQLITE driver simply returns QVariant(QMetaType::QString)
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QDate>();
const auto timeExpected = QDate();
@@ -1672,7 +1671,7 @@ void tst_SQLite_QDateTime::insert_QDateTime_Null_DatetimeColumn() const
Because there is no way we can detect a null datetime column. So instead
of returning the QVariant(QMetaType::QDateTime) we get
the QVariant(QMetaType::QString). */
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QString);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QString);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -1705,7 +1704,7 @@ void tst_SQLite_QDateTime::insert_QDate_Null_DateColumn() const
QVERIFY(timeDbVariant.isNull());
// QSQLITE driver simply returns QVariant(QMetaType::QString)
QCOMPARE(Helpers::qVariantTypeId(timeDbVariant), QMetaType::QString);
QCOMPARE(timeDbVariant.typeId(), QMetaType::QString);
const auto timeActual = timeDbVariant.value<QDate>();
const auto timeExpected = QDate();
@@ -1733,7 +1732,7 @@ void tst_SQLite_QDateTime::insert_QTime_Null_TimeColumn() const
QVERIFY(dateDbVariant.isNull());
// QSQLITE driver simply returns QVariant(QMetaType::QString)
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QString);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QString);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -1773,7 +1772,7 @@ insert_QDateTime_0300Timezone_DatetimeColumn_UtcOnServer_DontConvert() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QString);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QString);
/* Practically it should behave as is the default QSQLITE driver behavior,
so it also retuns QString because return_qdatetime only works when converting

View File

@@ -6,7 +6,6 @@
#include "orm/db.hpp"
#include "orm/sqliteconnection.hpp"
#include "orm/utils/helpers.hpp"
#include "databases.hpp"
#include "macros.hpp"
@@ -23,7 +22,6 @@ using Orm::Exceptions::InvalidArgumentError;
using Orm::Exceptions::InvalidFormatError;
using Orm::SQLiteConnection;
using Orm::TTimeZone;
using Orm::Utils::Helpers;
using TypeUtils = Orm::Utils::Type;
@@ -453,7 +451,7 @@ void tst_CastAttributes::withCasts_OnTinyBuilder() const
QCOMPARE(type->getKeyCasted(), 1);
auto attribute = type->getAttribute("smallint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -482,7 +480,7 @@ void tst_CastAttributes::withCasts_OnModel() const
QCOMPARE(type->getKeyCasted(), 1);
auto attribute = type->getAttribute("smallint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -540,7 +538,7 @@ void tst_CastAttributes::defaultCast_bool_true() const
auto &type = model(connection);
auto attribute = type.getAttribute("bool_true");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -563,7 +561,7 @@ void tst_CastAttributes::defaultCast_bool_false() const
auto &type = model(connection);
auto attribute = type.getAttribute("bool_false");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -586,7 +584,7 @@ void tst_CastAttributes::defaultCast_smallint() const
auto &type = model(connection);
auto attribute = type.getAttribute("smallint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -609,7 +607,7 @@ void tst_CastAttributes::defaultCast_smallint_u() const
auto &type = model(connection);
auto attribute = type.getAttribute("smallint_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -632,7 +630,7 @@ void tst_CastAttributes::defaultCast_int() const
auto &type = model(connection);
auto attribute = type.getAttribute("int");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -655,7 +653,7 @@ void tst_CastAttributes::defaultCast_int_u() const
auto &type = model(connection);
auto attribute = type.getAttribute("int_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -678,7 +676,7 @@ void tst_CastAttributes::defaultCast_bigint() const
auto &type = model(connection);
auto attribute = type.getAttribute("bigint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -701,7 +699,7 @@ void tst_CastAttributes::defaultCast_bigint_u() const
auto &type = model(connection);
auto attribute = type.getAttribute("bigint_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -724,7 +722,7 @@ void tst_CastAttributes::defaultCast_smallint_Negative() const
auto &type = modelNegative(connection);
auto attribute = type.getAttribute("smallint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -747,7 +745,7 @@ void tst_CastAttributes::defaultCast_int_Negative() const
auto &type = modelNegative(connection);
auto attribute = type.getAttribute("int");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -770,7 +768,7 @@ void tst_CastAttributes::defaultCast_bigint_Negative() const
auto &type = modelNegative(connection);
auto attribute = type.getAttribute("bigint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -796,7 +794,7 @@ void tst_CastAttributes::defaultCast_double() const
auto &type = model(connection);
auto attribute = type.getAttribute("double");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -822,7 +820,7 @@ void tst_CastAttributes::defaultCast_double_Negative() const
auto &type = modelNegative(connection);
auto attribute = type.getAttribute("double");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -852,7 +850,7 @@ void tst_CastAttributes::defaultCast_double_NaN() const
auto &type = model(connection);
auto attribute = type.getAttribute("double_nan");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QCOMPARE(attribute.value<double>(), std::numeric_limits<double>::quiet_NaN());
@@ -872,7 +870,7 @@ void tst_CastAttributes::defaultCast_double_Infinity() const
auto &type = model(connection);
auto attribute = type.getAttribute("double_infinity");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QCOMPARE(attribute.value<double>(), std::numeric_limits<double>::infinity());
@@ -888,7 +886,7 @@ void tst_CastAttributes::defaultCast_decimal() const
auto &type = model(connection);
auto attribute = type.getAttribute("decimal");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -914,7 +912,7 @@ void tst_CastAttributes::defaultCast_decimal_Negative() const
auto &type = modelNegative(connection);
auto attribute = type.getAttribute("decimal");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -944,7 +942,7 @@ void tst_CastAttributes::defaultCast_decimal_NaN() const
auto &type = model(connection);
auto attribute = type.getAttribute("decimal_nan");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QCOMPARE(attribute.value<double>(), std::numeric_limits<double>::quiet_NaN());
@@ -964,7 +962,7 @@ void tst_CastAttributes::defaultCast_decimal_Infinity() const
auto &type = model(connection);
auto attribute = type.getAttribute("decimal_infinity");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QCOMPARE(attribute.value<double>(), std::numeric_limits<double>::infinity());
@@ -977,7 +975,7 @@ void tst_CastAttributes::defaultCast_string() const
auto &type = model(connection);
auto attribute = type.getAttribute("string");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::QString);
QCOMPARE(attribute.value<QString>(), sl("string text"));
@@ -990,7 +988,7 @@ void tst_CastAttributes::defaultCast_text() const
auto &type = model(connection);
auto attribute = type.getAttribute("text");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::QString);
QCOMPARE(attribute.value<QString>(), sl("text text"));
@@ -1003,7 +1001,7 @@ void tst_CastAttributes::defaultCast_timestamp() const
auto &type = model(connection);
auto attribute = type.getAttribute("timestamp");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::QDateTime);
@@ -1020,7 +1018,7 @@ void tst_CastAttributes::defaultCast_datetime() const
auto &type = model(connection);
auto attribute = type.getAttribute("datetime");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::QDateTime);
@@ -1037,7 +1035,7 @@ void tst_CastAttributes::defaultCast_date() const
auto &type = model(connection);
auto attribute = type.getAttribute("date");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::QDate);
@@ -1051,7 +1049,7 @@ void tst_CastAttributes::defaultCast_time() const
auto &type = model(connection);
auto attribute = type.getAttribute("time");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
// Postgres returns QTime() because its time type can't be out of 24 hours range
if (DB::driverName(connection) == QPSQL) {
@@ -1082,7 +1080,7 @@ void tst_CastAttributes::defaultCast_timestamp_QSQLITE_OffReturnQDateTime() cons
QCOMPARE(type->getKeyCasted(), 1);
auto attribute = type->getAttribute("timestamp");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::QString);
@@ -1111,7 +1109,7 @@ void tst_CastAttributes::defaultCast_datetime_QSQLITE_OffReturnQDateTime() const
QCOMPARE(type->getKeyCasted(), 1);
auto attribute = type->getAttribute("datetime");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::QString);
@@ -1140,7 +1138,7 @@ void tst_CastAttributes::defaultCast_date_QSQLITE_OffReturnQDateTime() const
QCOMPARE(type->getKeyCasted(), 1);
auto attribute = type->getAttribute("date");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::QString);
@@ -1157,7 +1155,7 @@ void tst_CastAttributes::defaultCast_blob() const
auto &type = model(connection);
auto attribute = type.getAttribute("binary");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1195,7 +1193,7 @@ void tst_CastAttributes::defaultCast_Null_bool_true() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("bool_true");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1220,7 +1218,7 @@ void tst_CastAttributes::defaultCast_Null_smallint() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("smallint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1243,7 +1241,7 @@ void tst_CastAttributes::defaultCast_Null_smallint_u() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("smallint_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1266,7 +1264,7 @@ void tst_CastAttributes::defaultCast_Null_int() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("int");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1289,7 +1287,7 @@ void tst_CastAttributes::defaultCast_Null_int_u() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("int_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1312,7 +1310,7 @@ void tst_CastAttributes::defaultCast_Null_bigint() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("bigint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1337,7 +1335,7 @@ void tst_CastAttributes::defaultCast_Null_bigint_u() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("bigint_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1365,7 +1363,7 @@ void tst_CastAttributes::defaultCast_Null_double() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("double");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1395,7 +1393,7 @@ void tst_CastAttributes::defaultCast_Null_double_NaN() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("double_nan");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QVERIFY(attribute.isNull());
@@ -1415,7 +1413,7 @@ void tst_CastAttributes::defaultCast_Null_double_Infinity() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("double_infinity");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QVERIFY(attribute.isNull());
@@ -1431,7 +1429,7 @@ void tst_CastAttributes::defaultCast_Null_decimal() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("decimal");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1461,7 +1459,7 @@ void tst_CastAttributes::defaultCast_Null_decimal_NaN() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("decimal_nan");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QVERIFY(attribute.isNull());
@@ -1481,7 +1479,7 @@ void tst_CastAttributes::defaultCast_Null_decimal_Infinity() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("decimal_infinity");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QVERIFY(attribute.isNull());
@@ -1494,7 +1492,7 @@ void tst_CastAttributes::defaultCast_Null_string() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("string");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::QString);
QVERIFY(attribute.isNull());
@@ -1507,7 +1505,7 @@ void tst_CastAttributes::defaultCast_Null_text() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("text");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::QString);
QVERIFY(attribute.isNull());
@@ -1520,7 +1518,7 @@ void tst_CastAttributes::defaultCast_Null_timestamp() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("timestamp");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (DB::driverName(connection) == QSQLITE)
QCOMPARE(typeId, QMetaType::QString);
@@ -1537,7 +1535,7 @@ void tst_CastAttributes::defaultCast_Null_datetime() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("datetime");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (DB::driverName(connection) == QSQLITE)
QCOMPARE(typeId, QMetaType::QString);
@@ -1554,7 +1552,7 @@ void tst_CastAttributes::defaultCast_Null_date() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("date");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (DB::driverName(connection) == QSQLITE)
QCOMPARE(typeId, QMetaType::QString);
@@ -1571,7 +1569,7 @@ void tst_CastAttributes::defaultCast_Null_time() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("time");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1595,7 +1593,7 @@ void tst_CastAttributes::defaultCast_Null_blob() const
auto &type = modelNull(connection);
auto attribute = type.getAttribute("binary");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1622,7 +1620,7 @@ void tst_CastAttributes::cast_bool_true_to_bool() const
type.mergeCasts({{"bool_true", CastType::Bool}});
auto attribute = type.getAttribute("bool_true");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1647,7 +1645,7 @@ void tst_CastAttributes::cast_bool_true_to_int() const
type.mergeCasts({{"bool_true", CastType::Integer}});
auto attribute = type.getAttribute("bool_true");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1672,7 +1670,7 @@ void tst_CastAttributes::cast_bool_false_to_bool() const
type.mergeCasts({{"bool_false", CastType::Bool}});
auto attribute = type.getAttribute("bool_false");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1697,7 +1695,7 @@ void tst_CastAttributes::cast_bool_false_to_int() const
type.mergeCasts({{"bool_false", CastType::Integer}});
auto attribute = type.getAttribute("bool_false");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1722,7 +1720,7 @@ void tst_CastAttributes::cast_smallint_to_uint() const
type.mergeCasts({{"smallint", CastType::UInteger}});
auto attribute = type.getAttribute("smallint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1747,7 +1745,7 @@ void tst_CastAttributes::cast_smallint_u_to_ulonglong() const
type.mergeCasts({{"smallint_u", CastType::ULongLong}});
auto attribute = type.getAttribute("smallint_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1772,7 +1770,7 @@ void tst_CastAttributes::cast_int_to_ulonglong() const
type.mergeCasts({{"int", CastType::ULongLong}});
auto attribute = type.getAttribute("int");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1797,7 +1795,7 @@ void tst_CastAttributes::cast_int_u_to_ulonglong() const
type.mergeCasts({{"int_u", CastType::ULongLong}});
auto attribute = type.getAttribute("int_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1822,7 +1820,7 @@ void tst_CastAttributes::cast_bigint_to_QString() const
type.mergeCasts({{"bigint", CastType::QString}});
auto attribute = type.getAttribute("bigint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1847,7 +1845,7 @@ void tst_CastAttributes::cast_bigint_u_to_QString() const
type.mergeCasts({{"bigint_u", CastType::QString}});
auto attribute = type.getAttribute("bigint_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1872,7 +1870,7 @@ void tst_CastAttributes::cast_smallint_Negative_to_short() const
type.mergeCasts({{"smallint", CastType::Short}});
auto attribute = type.getAttribute("smallint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1897,7 +1895,7 @@ void tst_CastAttributes::cast_smallint_Negative_to_int() const
type.mergeCasts({{"smallint", CastType::Int}});
auto attribute = type.getAttribute("smallint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1922,7 +1920,7 @@ void tst_CastAttributes::cast_smallint_Negative_to_QString() const
type.mergeCasts({{"smallint", CastType::QString}});
auto attribute = type.getAttribute("smallint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1947,7 +1945,7 @@ void tst_CastAttributes::cast_int_Negative_to_longlong() const
type.mergeCasts({{"int", CastType::LongLong}});
auto attribute = type.getAttribute("int");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1972,7 +1970,7 @@ void tst_CastAttributes::cast_int_Negative_to_QString() const
type.mergeCasts({{"int", CastType::QString}});
auto attribute = type.getAttribute("int");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -1997,7 +1995,7 @@ void tst_CastAttributes::cast_bigint_Negative_to_longlong() const
type.mergeCasts({{"bigint", CastType::LongLong}});
auto attribute = type.getAttribute("bigint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2022,7 +2020,7 @@ void tst_CastAttributes::cast_bigint_Negative_to_QString() const
type.mergeCasts({{"bigint", CastType::QString}});
auto attribute = type.getAttribute("bigint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2050,7 +2048,7 @@ void tst_CastAttributes::cast_double_to_longlong() const
type.mergeCasts({{"double", CastType::LongLong}});
auto attribute = type.getAttribute("double");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2078,7 +2076,7 @@ void tst_CastAttributes::cast_double_to_QString() const
type.mergeCasts({{"double", CastType::QString}});
auto attribute = type.getAttribute("double");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2106,7 +2104,7 @@ void tst_CastAttributes::cast_double_Negative_to_longlong() const
type.mergeCasts({{"double", CastType::LongLong}});
auto attribute = type.getAttribute("double");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2134,7 +2132,7 @@ void tst_CastAttributes::cast_double_Negative_to_QString() const
type.mergeCasts({{"double", CastType::QString}});
auto attribute = type.getAttribute("double");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2162,7 +2160,7 @@ void tst_CastAttributes::cast_decimal_to_Decimal() const
type.mergeCasts({{"decimal", CastType::Decimal}});
auto attribute = type.getAttribute("decimal");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2190,7 +2188,7 @@ void tst_CastAttributes::cast_decimal_to_longlong() const
type.mergeCasts({{"decimal", CastType::LongLong}});
auto attribute = type.getAttribute("decimal");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2218,7 +2216,7 @@ void tst_CastAttributes::cast_decimal_to_QString() const
type.mergeCasts({{"decimal", CastType::QString}});
auto attribute = type.getAttribute("decimal");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2246,7 +2244,7 @@ void tst_CastAttributes::cast_decimal_Negative_to_Decimal() const
type.mergeCasts({{"decimal", CastType::Decimal}});
auto attribute = type.getAttribute("decimal");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2274,7 +2272,7 @@ void tst_CastAttributes::cast_decimal_Negative_to_longlong() const
type.mergeCasts({{"decimal", CastType::LongLong}});
auto attribute = type.getAttribute("decimal");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2302,7 +2300,7 @@ void tst_CastAttributes::cast_decimal_Negative_to_QString() const
type.mergeCasts({{"decimal", CastType::QString}});
auto attribute = type.getAttribute("decimal");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2330,7 +2328,7 @@ void tst_CastAttributes::cast_decimal_to_Decimal_With_Modifier_2_Down() const
type.mergeCasts({{"decimal_down", {CastType::Decimal, 2}}});
auto attribute = type.getAttribute("decimal_down");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2358,7 +2356,7 @@ void tst_CastAttributes::cast_decimal_to_Decimal_With_Modifier_2_Up() const
type.mergeCasts({{"decimal_up", {CastType::Decimal, 2}}});
auto attribute = type.getAttribute("decimal_up");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2386,7 +2384,7 @@ void tst_CastAttributes::cast_decimal_to_Decimal_With_Modifier_2_Down_Negative()
type.mergeCasts({{"decimal_down", {CastType::Decimal, 2}}});
auto attribute = type.getAttribute("decimal_down");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2414,7 +2412,7 @@ void tst_CastAttributes::cast_decimal_to_Decimal_With_Modifier_2_Up_Negative() c
type.mergeCasts({{"decimal_up", {CastType::Decimal, 2}}});
auto attribute = type.getAttribute("decimal_up");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2439,7 +2437,7 @@ void tst_CastAttributes::cast_timestamp_to_QDateTime() const
type.mergeCasts({{"timestamp", CastType::QDateTime}});
auto attribute = type.getAttribute("timestamp");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2465,7 +2463,7 @@ void tst_CastAttributes::cast_timestamp_to_QString() const
type.mergeCasts({{"timestamp", CastType::QString}});
auto attribute = type.getAttribute("timestamp");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2495,7 +2493,7 @@ void tst_CastAttributes::cast_timestamp_to_Timestamp() const
type.mergeCasts({{"timestamp", CastType::Timestamp}});
auto attribute = type.getAttribute("timestamp");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2523,7 +2521,7 @@ void tst_CastAttributes::cast_datetime_to_QDateTime() const
type.mergeCasts({{"datetime", CastType::QDateTime}});
auto attribute = type.getAttribute("datetime");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2549,7 +2547,7 @@ void tst_CastAttributes::cast_datetime_to_QString() const
type.mergeCasts({{"datetime", CastType::QString}});
auto attribute = type.getAttribute("datetime");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2579,7 +2577,7 @@ void tst_CastAttributes::cast_date_to_QDate() const
type.mergeCasts({{"date", CastType::QDate}});
auto attribute = type.getAttribute("date");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2606,7 +2604,7 @@ void tst_CastAttributes::cast_date_to_QString() const
type.mergeCasts({{"date", CastType::QString}});
auto attribute = type.getAttribute("date");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2631,7 +2629,7 @@ void tst_CastAttributes::cast_time_to_QTime() const
type.mergeCasts({{"time", CastType::QTime}});
auto attribute = type.getAttribute("time");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2658,7 +2656,7 @@ void tst_CastAttributes::cast_time_to_QString() const
type.mergeCasts({{"time", CastType::QString}});
auto attribute = type.getAttribute("time");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
const auto driverName = DB::driverName(connection);
@@ -2689,7 +2687,7 @@ void tst_CastAttributes::cast_blob_to_QByteArray() const
type.mergeCasts({{"binary", CastType::QByteArray}});
auto attribute = type.getAttribute("binary");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2715,7 +2713,7 @@ void tst_CastAttributes::cast_blob_to_QString() const
type.mergeCasts({{"binary", CastType::QString}});
auto attribute = type.getAttribute("binary");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2740,7 +2738,7 @@ void tst_CastAttributes::cast_Null_bool_true_to_bool() const
type.mergeCasts({{"bool_true", CastType::Bool}});
auto attribute = type.getAttribute("bool_true");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -2769,7 +2767,7 @@ void tst_CastAttributes::cast_Null_bool_true_to_int() const
type.mergeCasts({{"bool_true", CastType::Integer}});
auto attribute = type.getAttribute("bool_true");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -2799,7 +2797,7 @@ void tst_CastAttributes::cast_Existing_Invalid_to_int() const
type.mergeCasts({{"invalid", CastType::Integer}});
auto attribute = type.getAttribute("invalid");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(!attribute.isValid());
QVERIFY(attribute.isNull());
@@ -2830,7 +2828,7 @@ void tst_CastAttributes::cast_NonExisting_Invalid_to_int() const
type.mergeCasts({{dummy_NONEXISTENT, CastType::Integer}});
auto attribute = type.getAttribute(dummy_NONEXISTENT);
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(!attribute.isValid());
QVERIFY(attribute.isNull());
@@ -2859,7 +2857,7 @@ void tst_CastAttributes::cast_Null_smallint_to_Short() const
type.mergeCasts({{"smallint", CastType::Short}});
auto attribute = type.getAttribute("smallint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -2886,7 +2884,7 @@ void tst_CastAttributes::cast_Null_smallint_u_to_UShort() const
type.mergeCasts({{"smallint_u", CastType::UShort}});
auto attribute = type.getAttribute("smallint_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -2913,7 +2911,7 @@ void tst_CastAttributes::cast_Null_int_to_Int() const
type.mergeCasts({{"int", CastType::Int}});
auto attribute = type.getAttribute("int");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -2940,7 +2938,7 @@ void tst_CastAttributes::cast_Null_int_u_to_UInt() const
type.mergeCasts({{"int_u", CastType::UInt}});
auto attribute = type.getAttribute("int_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -2967,7 +2965,7 @@ void tst_CastAttributes::cast_Null_bigint_to_LongLong() const
type.mergeCasts({{"bigint", CastType::LongLong}});
auto attribute = type.getAttribute("bigint");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -2994,7 +2992,7 @@ void tst_CastAttributes::cast_Null_bigint_u_to_ULongLong() const
type.mergeCasts({{"bigint_u", CastType::ULongLong}});
auto attribute = type.getAttribute("bigint_u");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -3021,7 +3019,7 @@ void tst_CastAttributes::cast_Null_double_to_Double() const
type.mergeCasts({{"double", CastType::Double}});
auto attribute = type.getAttribute("double");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -3055,7 +3053,7 @@ void tst_CastAttributes::cast_Null_double_NaN() const
type.mergeCasts({{"double", CastType::Double}});
auto attribute = type.getAttribute("double_nan");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QVERIFY(attribute.isNull());
@@ -3077,7 +3075,7 @@ void tst_CastAttributes::cast_Null_double_Infinity() const
type.mergeCasts({{"double", CastType::Double}});
auto attribute = type.getAttribute("double_infinity");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QVERIFY(attribute.isNull());
@@ -3092,7 +3090,7 @@ void tst_CastAttributes::cast_Null_decimal_to_Decimal() const
type.mergeCasts({{"decimal", CastType::Decimal}});
auto attribute = type.getAttribute("decimal");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -3126,7 +3124,7 @@ void tst_CastAttributes::cast_Null_decimal_NaN() const
type.mergeCasts({{"double", CastType::Double}});
auto attribute = type.getAttribute("decimal_nan");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QVERIFY(attribute.isNull());
@@ -3148,7 +3146,7 @@ void tst_CastAttributes::cast_Null_decimal_Infinity() const
type.mergeCasts({{"double", CastType::Double}});
auto attribute = type.getAttribute("decimal_infinity");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QCOMPARE(typeId, QMetaType::Double);
QVERIFY(attribute.isNull());
@@ -3163,7 +3161,7 @@ void tst_CastAttributes::cast_Null_string_to_QString() const
type.mergeCasts({{"string", CastType::QString}});
auto attribute = type.getAttribute("string");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -3190,7 +3188,7 @@ void tst_CastAttributes::cast_Null_text_to_QString() const
type.mergeCasts({{"text", CastType::QString}});
auto attribute = type.getAttribute("text");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -3217,7 +3215,7 @@ void tst_CastAttributes::cast_Null_timestamp_to_Timestamp() const
type.mergeCasts({{"timestamp", CastType::Timestamp}});
auto attribute = type.getAttribute("timestamp");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -3244,7 +3242,7 @@ void tst_CastAttributes::cast_Null_datetime_to_QDateTime() const
type.mergeCasts({{"datetime", CastType::QDateTime}});
auto attribute = type.getAttribute("datetime");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -3271,7 +3269,7 @@ void tst_CastAttributes::cast_Null_date_to_QDate() const
type.mergeCasts({{"date", CastType::QDate}});
auto attribute = type.getAttribute("date");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -3298,7 +3296,7 @@ void tst_CastAttributes::cast_Null_time_to_QTime() const
type.mergeCasts({{"time", CastType::QTime}});
auto attribute = type.getAttribute("time");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());
@@ -3325,7 +3323,7 @@ void tst_CastAttributes::cast_Null_blob_to_QByteArray() const
type.mergeCasts({{"binary", CastType::QByteArray}});
auto attribute = type.getAttribute("binary");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
QVERIFY(attribute.isNull());

View File

@@ -29,7 +29,6 @@ using Orm::Constants::UPDATED_AT;
using Orm::DB;
using Orm::TTimeZone;
using Orm::Utils::Helpers;
using Orm::Utils::NullVariant;
using TQueryError;
@@ -1831,7 +1830,7 @@ void tst_Model::getAttribute_UnixTimestamp_With_UDates() const
QVERIFY(addedOn.isValid() && !addedOn.isNull());
// Also the SQLite returns the QDateTime
QCOMPARE(Helpers::qVariantTypeId(addedOn), QMetaType::QDateTime);
QCOMPARE(addedOn.typeId(), QMetaType::QDateTime);
// This is most important, should return QDateTime and not int
QCOMPARE(addedOn.value<QDateTime>(),
QDateTime::fromSecsSinceEpoch(1659361016, TTimeZone::UTC));
@@ -1853,7 +1852,7 @@ void tst_Model::getAttribute_UnixTimestamp_WithOut_UDates() const
/* Only MySQL returns correct underlying type, the SQLite doesn't care and PostgreSQL
returns ULongLong. */
if (DB::driverName(connection) == QMYSQL)
QCOMPARE(Helpers::qVariantTypeId(addedOn), QMetaType::LongLong);
QCOMPARE(addedOn.typeId(), QMetaType::LongLong);
else
QVERIFY(addedOn.canConvert<qint64>());
@@ -1878,7 +1877,7 @@ void tst_Model::getAttribute_UnixTimestamp_With_UDates_Null() const
// Compare also the type (excluding SQLite)
// SQLite doesn't return correct underlying type in the QVariant
if (DB::driverName(connection) != QSQLITE)
QCOMPARE(Helpers::qVariantTypeId(addedOn), QMetaType::LongLong);
QCOMPARE(addedOn.typeId(), QMetaType::LongLong);
/* SQLite doesn't return correct underlying type in the QVariant for null values
like MySQL driver does, skip this compare for the SQLite database. */
@@ -1903,7 +1902,7 @@ void tst_Model::getAttribute_UnixTimestamp_WithOut_UDates_Null() const
// Compare also the type (excluding SQLite)
// SQLite doesn't return correct underlying type in the QVariant
if (DB::driverName(connection) != QSQLITE)
QCOMPARE(Helpers::qVariantTypeId(addedOn), QMetaType::LongLong);
QCOMPARE(addedOn.typeId(), QMetaType::LongLong);
/* SQLite doesn't return correct underlying type in the QVariant for null values
like MySQL driver does, skip this compare for the SQLite database. */

View File

@@ -6,7 +6,6 @@
#endif
#include "orm/db.hpp"
#include "orm/utils/helpers.hpp"
#include "orm/utils/nullvariant.hpp"
#include "databases.hpp"
@@ -25,7 +24,6 @@ using Orm::DB;
using Orm::QtTimeZoneConfig;
using Orm::QtTimeZoneType;
using Orm::TTimeZone;
using Orm::Utils::Helpers;
using Orm::Utils::NullVariant;
using TypeUtils = Orm::Utils::Type;
@@ -157,7 +155,7 @@ create_QDateTime_UtcTimezone_DatetimeAttribute_UtcOnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*datetime_);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 13:14:15"));
QVERIFY(datetime.save());
@@ -177,7 +175,7 @@ create_QDateTime_UtcTimezone_DatetimeAttribute_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -212,7 +210,7 @@ create_QDateTime_0200Timezone_DatetimeAttribute_UtcOnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*datetime_);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 11:14:15"));
QVERIFY(datetime.save());
@@ -232,7 +230,7 @@ create_QDateTime_0200Timezone_DatetimeAttribute_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -265,7 +263,7 @@ void tst_Model_QDateTime::create_QString_DatetimeAttribute_UtcOnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*datetime_);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 13:14:15"));
QVERIFY(datetime.save());
@@ -285,7 +283,7 @@ void tst_Model_QDateTime::create_QString_DatetimeAttribute_UtcOnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -319,7 +317,7 @@ create_QDateTime_UtcTimezone_TimestampAttribute_UtcOnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*timestamp);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 13:14:15"));
QVERIFY(datetime.save());
@@ -339,7 +337,7 @@ create_QDateTime_UtcTimezone_TimestampAttribute_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -374,7 +372,7 @@ create_QDateTime_0200Timezone_TimestampAttribute_UtcOnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*timestamp);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 11:14:15"));
QVERIFY(datetime.save());
@@ -394,7 +392,7 @@ create_QDateTime_0200Timezone_TimestampAttribute_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -427,7 +425,7 @@ void tst_Model_QDateTime::create_QString_TimestampAttribute_UtcOnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*timestamp);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 13:14:15"));
QVERIFY(datetime.save());
@@ -447,7 +445,7 @@ void tst_Model_QDateTime::create_QString_TimestampAttribute_UtcOnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -489,7 +487,7 @@ create_QDateTime_UtcTimezone_DatetimeAttribute_0200OnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*datetime_);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 15:14:15"));
QVERIFY(datetime.save());
@@ -509,7 +507,7 @@ create_QDateTime_UtcTimezone_DatetimeAttribute_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -549,7 +547,7 @@ create_QDateTime_0200Timezone_DatetimeAttribute_0200OnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*datetime_);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 13:14:15"));
QVERIFY(datetime.save());
@@ -569,7 +567,7 @@ create_QDateTime_0200Timezone_DatetimeAttribute_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -607,7 +605,7 @@ void tst_Model_QDateTime::create_QString_DatetimeAttribute_0200OnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*datetime_);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 13:14:15"));
QVERIFY(datetime.save());
@@ -627,7 +625,7 @@ void tst_Model_QDateTime::create_QString_DatetimeAttribute_0200OnServer() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -666,7 +664,7 @@ create_QDateTime_UtcTimezone_TimestampAttribute_0200OnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*timestamp);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 15:14:15"));
QVERIFY(datetime.save());
@@ -686,7 +684,7 @@ create_QDateTime_UtcTimezone_TimestampAttribute_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -726,7 +724,7 @@ create_QDateTime_0200Timezone_TimestampAttribute_0200OnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*timestamp);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 13:14:15"));
QVERIFY(datetime.save());
@@ -746,7 +744,7 @@ create_QDateTime_0200Timezone_TimestampAttribute_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -784,7 +782,7 @@ void tst_Model_QDateTime::create_QString_TimestampAttribute_0200OnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*timestamp);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 13:14:15"));
QVERIFY(datetime.save());
@@ -804,7 +802,7 @@ void tst_Model_QDateTime::create_QString_TimestampAttribute_0200OnServer() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -840,7 +838,7 @@ void tst_Model_QDateTime::create_QDate_UtcTimezone_DateAttribute_UtcOnServer() c
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*date);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28"));
QVERIFY(datetime.save());
@@ -860,7 +858,7 @@ void tst_Model_QDateTime::create_QDate_UtcTimezone_DateAttribute_UtcOnServer() c
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -887,7 +885,7 @@ void tst_Model_QDateTime::create_QString_DateAttribute_UtcOnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*date);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28"));
QVERIFY(datetime.save());
@@ -907,7 +905,7 @@ void tst_Model_QDateTime::create_QString_DateAttribute_UtcOnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -937,7 +935,7 @@ void tst_Model_QDateTime::create_QDate_UtcTimezone_DateAttribute_0200OnServer()
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*date);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28"));
QVERIFY(datetime.save());
@@ -957,7 +955,7 @@ void tst_Model_QDateTime::create_QDate_UtcTimezone_DateAttribute_0200OnServer()
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -986,7 +984,7 @@ void tst_Model_QDateTime::create_QString_DateAttribute_0200OnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*date);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28"));
QVERIFY(datetime.save());
@@ -1006,7 +1004,7 @@ void tst_Model_QDateTime::create_QString_DateAttribute_0200OnServer() const
QVERIFY(dateDbVariant.isValid());
QVERIFY(!dateDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate(2022, 8, 28);
@@ -1037,7 +1035,7 @@ void tst_Model_QDateTime::create_QDateTime_Null_DatetimeAttribute_UtcOnServer()
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*datetime_);
QVERIFY(attribute.isValid() && attribute.isNull());
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QDateTime);
QCOMPARE(attribute.typeId(), QMetaType::QDateTime);
QVERIFY(datetime.save());
@@ -1064,9 +1062,9 @@ void tst_Model_QDateTime::create_QDateTime_Null_DatetimeAttribute_UtcOnServer()
QSQLITE driver simply returns QVariant(QMetaType::QString) for all null
values. */
if (DB::driverName(connection) == QSQLITE)
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QString);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QString);
else
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -1098,7 +1096,7 @@ void tst_Model_QDateTime::create_QDate_Null_DateAttribute_UtcOnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*date);
QVERIFY(attribute.isValid() && attribute.isNull());
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QDate);
QCOMPARE(attribute.typeId(), QMetaType::QDate);
QVERIFY(datetime.save());
@@ -1125,9 +1123,9 @@ void tst_Model_QDateTime::create_QDate_Null_DateAttribute_UtcOnServer() const
QSQLITE driver simply returns QVariant(QMetaType::QString) for all null
values. */
if (DB::driverName(connection) == QSQLITE)
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QString);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QString);
else
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -1162,7 +1160,7 @@ void tst_Model_QDateTime::create_QDateTime_Null_DatetimeAttribute_0200OnServer()
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*datetime_);
QVERIFY(attribute.isValid() && attribute.isNull());
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QDateTime);
QCOMPARE(attribute.typeId(), QMetaType::QDateTime);
QVERIFY(datetime.save());
@@ -1189,9 +1187,9 @@ void tst_Model_QDateTime::create_QDateTime_Null_DatetimeAttribute_0200OnServer()
QSQLITE driver simply returns QVariant(QMetaType::QString) for all null
values. */
if (DB::driverName(connection) == QSQLITE)
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QString);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QString);
else
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* TZ is irrelevant for null values, but I will check them anyway, if something
weird happens and TZ changes then test fail, so I will know about that. */
@@ -1225,7 +1223,7 @@ void tst_Model_QDateTime::create_QDate_Null_DateAttribute_0200OnServer() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*date);
QVERIFY(attribute.isValid() && attribute.isNull());
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QDate);
QCOMPARE(attribute.typeId(), QMetaType::QDate);
QVERIFY(datetime.save());
@@ -1252,9 +1250,9 @@ void tst_Model_QDateTime::create_QDate_Null_DateAttribute_0200OnServer() const
QSQLITE driver simply returns QVariant(QMetaType::QString) for all null
values. */
if (DB::driverName(connection) == QSQLITE)
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QString);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QString);
else
QCOMPARE(Helpers::qVariantTypeId(dateDbVariant), QMetaType::QDate);
QCOMPARE(dateDbVariant.typeId(), QMetaType::QDate);
const auto dateActual = dateDbVariant.value<QDate>();
const auto dateExpected = QDate();
@@ -1293,7 +1291,7 @@ create_QDateTime_0300Timezone_DatetimeAttribute_UtcOnServer_DontConvert() const
// Check whether a stored value and type are correct
const auto attribute = datetime.getAttributeFromArray(*datetime_);
QCOMPARE(Helpers::qVariantTypeId(attribute), QMetaType::QString);
QCOMPARE(attribute.typeId(), QMetaType::QString);
QCOMPARE(attribute.value<QString>(), QString("2022-08-28 13:14:15"));
QVERIFY(datetime.save());
@@ -1313,7 +1311,7 @@ create_QDateTime_0300Timezone_DatetimeAttribute_UtcOnServer_DontConvert() const
QVERIFY(datetimeDbVariant.isValid());
QVERIFY(!datetimeDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(datetimeDbVariant), QMetaType::QDateTime);
QCOMPARE(datetimeDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone

View File

@@ -36,7 +36,6 @@ using Orm::One;
using Orm::QtTimeZoneConfig;
using Orm::QtTimeZoneType;
using Orm::TTimeZone;
using Orm::Utils::Helpers;
using QueryUtils = Orm::Utils::Query;
using TypeUtils = Orm::Utils::Type;
@@ -2851,7 +2850,7 @@ void tst_Model_Relations::withCasts_OnRelation_OneToMany() const
auto attribute = torrentFile->getAttribute(Progress);
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2884,7 +2883,7 @@ void tst_Model_Relations::withCasts_OnRelation_ManyToMany() const
auto attribute = tag->getKey();
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2920,7 +2919,7 @@ void tst_Model_Relations::u_casts_OnCustomPivotModel_ManyToMany() const
auto attribute = tagged->getAttribute("active");
auto typeId = Helpers::qVariantTypeId(attribute);
auto typeId = attribute.typeId();
if (const auto driverName = DB::driverName(connection);
driverName == QMYSQL
@@ -2965,7 +2964,7 @@ timezone_TimestampAttribute_UtcOnServer_OnCustomPivotModel_ManyToMany() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone
@@ -3014,7 +3013,7 @@ timezone_TimestampAttribute_UtcOnServer_DontConvert_OnCustomPivot_MtM() const
QVERIFY(timestampDbVariant.isValid());
QVERIFY(!timestampDbVariant.isNull());
QCOMPARE(Helpers::qVariantTypeId(timestampDbVariant), QMetaType::QDateTime);
QCOMPARE(timestampDbVariant.typeId(), QMetaType::QDateTime);
/* The time zone must be as is defined in the qt_timezone connection
configuration, TinyORM TinyBuilder fixes and unifies the buggy time zone

View File

@@ -22,7 +22,6 @@ using Orm::Constants::UPDATED_AT;
using Orm::Constants::pivot_;
using Orm::TTimeZone;
using Orm::Utils::Helpers;
using Orm::Utils::NullVariant;
using TypeUtils = Orm::Utils::Type;
@@ -758,9 +757,9 @@ void tst_Model_Serialization::toMap_UDatesOnly_DateNullVariants() const
QCOMPARE(serialized[ID].template value<typename Type::KeyType>(), 3);
QCOMPARE(Helpers::qVariantTypeId(serialized["date"]), QMetaType::QDateTime);
QCOMPARE(Helpers::qVariantTypeId(serialized["datetime"]), QMetaType::QDateTime);
QCOMPARE(Helpers::qVariantTypeId(serialized["timestamp"]), QMetaType::QDateTime);
QCOMPARE(serialized["date"].typeId(), QMetaType::QDateTime);
QCOMPARE(serialized["datetime"].typeId(), QMetaType::QDateTime);
QCOMPARE(serialized["timestamp"].typeId(), QMetaType::QDateTime);
// Restore
Type::u_dates.clear();
@@ -789,9 +788,9 @@ void tst_Model_Serialization::toVector_UDatesOnly_DateNullVariants() const
QCOMPARE(serialized2.key, "datetime");
QCOMPARE(serialized3.key, "timestamp");
QCOMPARE(Helpers::qVariantTypeId(serialized1.value), QMetaType::QDateTime);
QCOMPARE(Helpers::qVariantTypeId(serialized2.value), QMetaType::QDateTime);
QCOMPARE(Helpers::qVariantTypeId(serialized3.value), QMetaType::QDateTime);
QCOMPARE(serialized1.value.typeId(), QMetaType::QDateTime);
QCOMPARE(serialized2.value.typeId(), QMetaType::QDateTime);
QCOMPARE(serialized3.value.typeId(), QMetaType::QDateTime);
// Restore
Type::u_dates.clear();
@@ -830,10 +829,10 @@ void tst_Model_Serialization::toMap_WithCasts_DateNullVariants() const
QVERIFY(serialized3.isValid() && serialized3.isNull());
QVERIFY(serialized4.isValid() && serialized4.isNull());
QCOMPARE(Helpers::qVariantTypeId(serialized1), QMetaType::QDate);
QCOMPARE(Helpers::qVariantTypeId(serialized2), QMetaType::QDateTime);
QCOMPARE(Helpers::qVariantTypeId(serialized3), QMetaType::LongLong);
QCOMPARE(Helpers::qVariantTypeId(serialized4), QMetaType::QTime);
QCOMPARE(serialized1.typeId(), QMetaType::QDate);
QCOMPARE(serialized2.typeId(), QMetaType::QDateTime);
QCOMPARE(serialized3.typeId(), QMetaType::LongLong);
QCOMPARE(serialized4.typeId(), QMetaType::QTime);
// Restore
type->resetCasts();
@@ -874,10 +873,10 @@ void tst_Model_Serialization::toVector_WithCasts_DateNullVariants() const
QVERIFY(serialized3.value.isValid() && serialized3.value.isNull());
QVERIFY(serialized4.value.isValid() && serialized4.value.isNull());
QCOMPARE(Helpers::qVariantTypeId(serialized1.value), QMetaType::QDate);
QCOMPARE(Helpers::qVariantTypeId(serialized2.value), QMetaType::QDateTime);
QCOMPARE(Helpers::qVariantTypeId(serialized3.value), QMetaType::LongLong);
QCOMPARE(Helpers::qVariantTypeId(serialized4.value), QMetaType::QTime);
QCOMPARE(serialized1.value.typeId(), QMetaType::QDate);
QCOMPARE(serialized2.value.typeId(), QMetaType::QDateTime);
QCOMPARE(serialized3.value.typeId(), QMetaType::LongLong);
QCOMPARE(serialized4.value.typeId(), QMetaType::QTime);
// Restore
type->resetCasts();