summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@qt.io>2020-08-02 14:54:28 +0200
committerAndy Shaw <andy.shaw@qt.io>2020-09-11 07:32:42 +0200
commit37e7c3c11698812f07d8b78c90d0adcffd1d0d33 (patch)
treee8e10182f6ca5fc7905800e970fd5be3c2b95a85 /tests
parent37f4c6fbc28617fdd3343033c6f926ec2263fce2 (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.cpp1
-rw-r--r--tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp12
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 )