diff options
author | Andy Shaw <andy.shaw@qt.io> | 2020-08-02 14:54:28 +0200 |
---|---|---|
committer | Andy Shaw <andy.shaw@qt.io> | 2020-09-11 07:32:42 +0200 |
commit | 37e7c3c11698812f07d8b78c90d0adcffd1d0d33 (patch) | |
tree | e8e10182f6ca5fc7905800e970fd5be3c2b95a85 /tests | |
parent | 37f4c6fbc28617fdd3343033c6f926ec2263fce2 (diff) |
Interbase: Add support for the boolean type
This is added to Interbase in v7 and Firebird in v3 which has been
available for sometime now. This means the minimum supported for
Interbase is now v7.
[ChangeLog][QtSQL][Interbase] The minimum required version for Interbase
is now v7.
Fixes: QTBUG-83401
Change-Id: I9927fd962f25c935be8ed5d2b7c76c00fb88cd8c
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp | 1 | ||||
-rw-r--r-- | tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp | 12 |
2 files changed, 9 insertions, 4 deletions
diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp index cbcd573a3b..e412b6f3ed 100644 --- a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp +++ b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp @@ -1000,6 +1000,7 @@ void tst_QSqlDatabase::recordIBase() FieldDef("time", QVariant::Time, QTime::currentTime()), FieldDef("decimal(18)", QVariant::LongLong, Q_INT64_C(9223372036854775807)), FieldDef("numeric(5,2)", QVariant::Double, 123.45), + FieldDef("boolean", QVariant::Bool, true), FieldDef() }; diff --git a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp index 9e79a25f68..30c2f9ac62 100644 --- a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp +++ b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp @@ -620,7 +620,8 @@ void tst_QSqlQuery::bindBool() const QString tableName(qTableName("bindBool", __FILE__, db)); q.exec("DROP TABLE " + tableName); - QString colType = dbType == QSqlDriver::PostgreSQL ? QLatin1String("BOOLEAN") : QLatin1String("INT"); + const bool useBooleanType = (dbType == QSqlDriver::PostgreSQL || dbType == QSqlDriver::Interbase); + const QString colType = useBooleanType ? QLatin1String("BOOLEAN") : QLatin1String("INT"); QVERIFY_SQL(q, exec("CREATE TABLE " + tableName + " (id INT, flag " + colType + " NOT NULL, PRIMARY KEY(id))")); for (int i = 0; i < 2; ++i) { @@ -4777,20 +4778,23 @@ void tst_QSqlQuery::ibaseArray() tst_Databases::safeDropTable(db, arrayTable); QSqlQuery qry(db); QVERIFY_SQL(qry, exec("create table " + arrayTable + " (intData int[0:4], longData bigint[5], " - "charData varchar(255)[5])")); - QVERIFY_SQL(qry, prepare("insert into " + arrayTable + " (intData, longData, charData) " - "values(?, ?, ?)")); + "charData varchar(255)[5], boolData boolean[2])")); + QVERIFY_SQL(qry, prepare("insert into " + arrayTable + " (intData, longData, charData, boolData) " + "values(?, ?, ?, ?)")); const auto intArray = QVariant{QVariantList{1, 2, 3, 4711, 815}}; const auto charArray = QVariant{QVariantList{"AAA", "BBB", "CCC", "DDD", "EEE"}}; + const auto boolArray = QVariant{QVariantList{true, false}}; qry.bindValue(0, intArray); qry.bindValue(1, intArray); qry.bindValue(2, charArray); + qry.bindValue(3, boolArray); QVERIFY_SQL(qry, exec()); QVERIFY_SQL(qry, exec("select * from " + arrayTable)); QVERIFY(qry.next()); QCOMPARE(qry.value(0).toList(), intArray.toList()); QCOMPARE(qry.value(1).toList(), intArray.toList()); QCOMPARE(qry.value(2).toList(), charArray.toList()); + QCOMPARE(qry.value(3).toList(), boolArray.toList()); } QTEST_MAIN( tst_QSqlQuery ) |