summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
diff options
context:
space:
mode:
authorMatt Broadstone <mbroadstone@devonit.com>2014-09-16 10:03:14 -0400
committerMark Brand <mabrand@mabrand.nl>2014-09-24 14:44:49 +0200
commitf84b00c6d26eb7a3a6802210d2a8b12ddbf815aa (patch)
treed21bb67ce89e136da1ae6be66a7d005f84c0cd93 /tests/auto/sql/kernel/qsqldatabase/tst_databases.h
parenteef1e51f97a652907bda29357c20388ab36f26ec (diff)
Expose QSqlDriverPrivate dbmsType in public QSqlDriver api
dbmsType was previously kept as a private variable in QSqlDriverPrivate, however it's particularly useful for QODBC users. [ChangeLog][QtSql][QSqlDriver] Add support for determining DBMS type from SQL driver. Change-Id: If1c221520da9ac4ccef85a02db078679d76eac92 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Diffstat (limited to 'tests/auto/sql/kernel/qsqldatabase/tst_databases.h')
-rw-r--r--tests/auto/sql/kernel/qsqldatabase/tst_databases.h42
1 files changed, 21 insertions, 21 deletions
diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
index 23596eae02..d5ccc194bb 100644
--- a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
+++ b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
@@ -99,7 +99,7 @@ inline QString fixupTableName(const QString &tableName, QSqlDatabase db)
QString tbName = tableName;
// On Oracle we are limited to 30 character tablenames
QSqlDriverPrivate *d = static_cast<QSqlDriverPrivate *>(QObjectPrivate::get(db.driver()));
- if (d && d->dbmsType == QSqlDriverPrivate::Oracle)
+ if (d && d->dbmsType == QSqlDriver::Oracle)
tbName.truncate(30);
return tbName;
}
@@ -385,7 +385,7 @@ public:
bool wasDropped;
QSqlQuery q( db );
QStringList dbtables=db.tables();
- QSqlDriverPrivate::DBMSType dbType = getDatabaseType(db);
+ QSqlDriver::DBMSType dbType = getDatabaseType(db);
foreach(const QString &tableName, tableNames)
{
wasDropped = true;
@@ -397,7 +397,7 @@ public:
foreach(const QString &table2, dbtables.filter(table, Qt::CaseInsensitive)) {
if(table2.compare(table.section('.', -1, -1), Qt::CaseInsensitive) == 0) {
table=db.driver()->escapeIdentifier(table2, QSqlDriver::TableName);
- if (dbType == QSqlDriverPrivate::PostgreSQL)
+ if (dbType == QSqlDriver::PostgreSQL)
wasDropped = q.exec( "drop table " + table + " cascade");
else
wasDropped = q.exec( "drop table " + table);
@@ -462,26 +462,26 @@ public:
// blobSize is only used if the db doesn't have a generic blob type
static QString blobTypeName( QSqlDatabase db, int blobSize = 10000 )
{
- const QSqlDriverPrivate::DBMSType dbType = getDatabaseType(db);
- if (dbType == QSqlDriverPrivate::MySqlServer)
+ const QSqlDriver::DBMSType dbType = getDatabaseType(db);
+ if (dbType == QSqlDriver::MySqlServer)
return "longblob";
- if (dbType == QSqlDriverPrivate::PostgreSQL)
+ if (dbType == QSqlDriver::PostgreSQL)
return "bytea";
- if (dbType == QSqlDriverPrivate::Sybase
- || dbType == QSqlDriverPrivate::MSSqlServer
+ if (dbType == QSqlDriver::Sybase
+ || dbType == QSqlDriver::MSSqlServer
|| isMSAccess( db ) )
return "image";
- if (dbType == QSqlDriverPrivate::DB2)
+ if (dbType == QSqlDriver::DB2)
return QString( "blob(%1)" ).arg( blobSize );
- if (dbType == QSqlDriverPrivate::Interbase)
+ if (dbType == QSqlDriver::Interbase)
return QString( "blob sub_type 0 segment size 4096" );
- if (dbType == QSqlDriverPrivate::Oracle
- || dbType == QSqlDriverPrivate::SQLite)
+ if (dbType == QSqlDriver::Oracle
+ || dbType == QSqlDriver::SQLite)
return "blob";
qDebug() << "tst_Databases::blobTypeName: Don't know the blob type for" << dbToString( db );
@@ -491,24 +491,24 @@ public:
static QString dateTimeTypeName(QSqlDatabase db)
{
- const QSqlDriverPrivate::DBMSType dbType = tst_Databases::getDatabaseType(db);
- if (dbType == QSqlDriverPrivate::PostgreSQL)
+ const QSqlDriver::DBMSType dbType = tst_Databases::getDatabaseType(db);
+ if (dbType == QSqlDriver::PostgreSQL)
return QLatin1String("timestamp");
- if (dbType == QSqlDriverPrivate::Oracle && getOraVersion(db) >= 9)
+ if (dbType == QSqlDriver::Oracle && getOraVersion(db) >= 9)
return QLatin1String("timestamp(0)");
return QLatin1String("datetime");
}
static QString autoFieldName( QSqlDatabase db )
{
- const QSqlDriverPrivate::DBMSType dbType = tst_Databases::getDatabaseType(db);
- if (dbType == QSqlDriverPrivate::MySqlServer)
+ const QSqlDriver::DBMSType dbType = tst_Databases::getDatabaseType(db);
+ if (dbType == QSqlDriver::MySqlServer)
return "AUTO_INCREMENT";
- if (dbType == QSqlDriverPrivate::Sybase || dbType == QSqlDriverPrivate::MSSqlServer)
+ if (dbType == QSqlDriver::Sybase || dbType == QSqlDriver::MSSqlServer)
return "IDENTITY";
-/* if (dbType == QSqlDriverPrivate::PostgreSQL)
+/* if (dbType == QSqlDriver::PostgreSQL)
return "SERIAL";*/
-// if (dbType == QSqlDriverPrivate::DB2)
+// if (dbType == QSqlDriver::DB2)
// return "GENERATED BY DEFAULT AS IDENTITY";
return QString();
@@ -538,7 +538,7 @@ public:
return result.toLocal8Bit();
}
- static QSqlDriverPrivate::DBMSType getDatabaseType(QSqlDatabase db)
+ static QSqlDriver::DBMSType getDatabaseType(QSqlDatabase db)
{
QSqlDriverPrivate *d = static_cast<QSqlDriverPrivate *>(QObjectPrivate::get(db.driver()));
return d->dbmsType;