SQL/IBase: add partial support for SQL_INT128 datatype

The previous patch missed the handling of SQL_INT128 in
qIBaseTypeName2().

This amends 373ae6cbd24cf0ddbed453e14b1f683e76c92bb5

Change-Id: I646bd5af23c14761195f9c1089dc4cbbe2e94790
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Andreas Bacher <andi.bacher@outlook.com>
(cherry picked from commit f6bb8f832442a2e70b3d4718fb06807cfe98511b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Christian Ehrlicher 2024-06-04 21:42:53 +02:00 committed by Qt Cherry-pick Bot
parent 313392ec6b
commit dc431df8c0
2 changed files with 8 additions and 4 deletions

View File

@ -199,6 +199,10 @@ static QMetaType::Type qIBaseTypeName2(int iType, bool hasScale)
return (hasScale ? QMetaType::Double : QMetaType::Int);
case SQL_INT64:
return (hasScale ? QMetaType::Double : QMetaType::LongLong);
#ifdef IBASE_INT128_SUPPORTED
case SQL_INT128:
return (hasScale ? QMetaType::Double : QMetaType::LongLong);
#endif
case SQL_FLOAT:
case SQL_DOUBLE:
return QMetaType::Double;

View File

@ -5063,8 +5063,8 @@ void tst_QSqlQuery::ibaseInt128()
QCOMPARE(q2.value(0).metaType().id(), QMetaType::Double);
QCOMPARE(q2.value(0).toDouble(), 40001.1234);
QVERIFY_SQL(q2, next());
QCOMPARE(q2.value(0).metaType().id(), QMetaType::Double);
QCOMPARE(q2.value(0).toDouble(), 12345.6789);
QCOMPARE(q2.value("price").metaType().id(), QMetaType::Double);
QCOMPARE(q2.value("price").toDouble(), 12345.6789);
QVERIFY_SQL(q2, exec("SELECT sum(price) FROM " + ts.tableName()));
QVERIFY_SQL(q2, next());
QCOMPARE(q2.value(0).metaType().id(), QMetaType::Double);
@ -5078,8 +5078,8 @@ void tst_QSqlQuery::ibaseInt128()
QCOMPARE(q2.value(0).metaType().id(), QMetaType::QString);
QCOMPARE(q2.value(0).toString(), "40001.1234");
QVERIFY_SQL(q2, next());
QCOMPARE(q2.value(0).metaType().id(), QMetaType::QString);
QCOMPARE(q2.value(0).toString(), "12345.6789");
QCOMPARE(q2.value("price").metaType().id(), QMetaType::QString);
QCOMPARE(q2.value("price").toString(), "12345.6789");
QVERIFY_SQL(q2, exec("SELECT sum(price) FROM " + ts.tableName()));
QVERIFY_SQL(q2, next());
QCOMPARE(q2.value(0).metaType().id(), QMetaType::QString);