summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@qt.io>2020-07-31 13:07:09 +0200
committerAndy Shaw <andy.shaw@qt.io>2020-08-23 00:22:04 +0200
commit7ec818e74ad1d346f40b17c338de424a0f45fa12 (patch)
treee05ac9025e84156abc602d65e780c28a616c554e /tests/auto/sql/kernel/qsqldatabase/tst_databases.h
parentaa2c6690fdf44422ae1a5edebb35e46d6ffda83c (diff)
Interbase: Fix tests when running against Firebird
Change-Id: Ibfcf6b557aed3b0cd2e0ece5cf122819a1acc0c1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'tests/auto/sql/kernel/qsqldatabase/tst_databases.h')
-rw-r--r--tests/auto/sql/kernel/qsqldatabase/tst_databases.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
index 174db2863ef..d17c47879d5 100644
--- a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
+++ b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
@@ -67,9 +67,6 @@ static QString qGetHostName()
return hostname;
}
-// to prevent nameclashes on our database server, each machine
-// will use its own set of table names. Call this function to get
-// "tablename_hostname"
inline QString fixupTableName(const QString &tableName, QSqlDatabase db)
{
QString tbName = tableName;
@@ -77,16 +74,21 @@ inline QString fixupTableName(const QString &tableName, QSqlDatabase db)
QSqlDriverPrivate *d = static_cast<QSqlDriverPrivate *>(QObjectPrivate::get(db.driver()));
if (d && d->dbmsType == QSqlDriver::Oracle)
tbName.truncate(30);
+ // On Interbase we are limited to 31 character tablenames
+ if (d && d->dbmsType == QSqlDriver::Interbase)
+ tbName.truncate(31);
return tbName;
}
+// to prevent nameclashes on our database server, each machine
+// will use its own set of table names. Call this function to get
+// "tablename_hostname"
inline static QString qTableName(const QString &prefix, const char *sourceFileName,
QSqlDatabase db, bool escape = true)
{
- const auto tableStr = fixupTableName(QString(QLatin1String("dbtst") + db.driverName() +
- QString::number(qHash(QLatin1String(sourceFileName) +
- "_" + qGetHostName().replace("-", "_")), 16) +
- "_" + prefix), db);
+ const auto tableStr = fixupTableName(QString(QLatin1String("dbtst") + db.driverName() + "_" +
+ prefix + QString::number(qHash(QLatin1String(sourceFileName) +
+ "_" + qGetHostName().replace("-", "_")), 16)), db);
return escape ? db.driver()->escapeIdentifier(tableStr, QSqlDriver::TableName) : tableStr;
}
@@ -452,6 +454,8 @@ public:
return QLatin1String("timestamptz");
if (dbType == QSqlDriver::Oracle && getOraVersion(db) >= 9)
return QLatin1String("timestamp(0)");
+ if (dbType == QSqlDriver::Interbase)
+ return QLatin1String("timestamp");
return QLatin1String("datetime");
}