From f84b00c6d26eb7a3a6802210d2a8b12ddbf815aa Mon Sep 17 00:00:00 2001 From: Matt Broadstone Date: Tue, 16 Sep 2014 10:03:14 -0400 Subject: 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 --- tests/benchmarks/sql/kernel/qsqlquery/main.cpp | 28 +++++++++++++------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'tests/benchmarks/sql') diff --git a/tests/benchmarks/sql/kernel/qsqlquery/main.cpp b/tests/benchmarks/sql/kernel/qsqlquery/main.cpp index 25e972a4d5..769dbe6d47 100644 --- a/tests/benchmarks/sql/kernel/qsqlquery/main.cpp +++ b/tests/benchmarks/sql/kernel/qsqlquery/main.cpp @@ -109,7 +109,7 @@ void tst_QSqlQuery::cleanup() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QSqlDriverPrivate::DBMSType dbType = tst_Databases::getDatabaseType(db); + const QSqlDriver::DBMSType dbType = tst_Databases::getDatabaseType(db); if ( QTest::currentTestFunction() == QLatin1String( "numRowsAffected" ) || QTest::currentTestFunction() == QLatin1String( "transactions" ) @@ -119,7 +119,7 @@ void tst_QSqlQuery::cleanup() populateTestTables( db ); } - if (QTest::currentTestFailed() && (dbType == QSqlDriverPrivate::Oracle || db.driverName().startsWith("QODBC"))) { + if (QTest::currentTestFailed() && (dbType == QSqlDriver::Oracle || db.driverName().startsWith("QODBC"))) { //since Oracle ODBC totally craps out on error, we init again db.close(); db.open(); @@ -138,7 +138,7 @@ void tst_QSqlQuery::generic_data(const QString& engine) void tst_QSqlQuery::dropTestTables( QSqlDatabase db ) { - QSqlDriverPrivate::DBMSType dbType = tst_Databases::getDatabaseType(db); + QSqlDriver::DBMSType dbType = tst_Databases::getDatabaseType(db); QStringList tablenames; // drop all the table in case a testcase failed tablenames << qtest @@ -172,24 +172,24 @@ void tst_QSqlQuery::dropTestTables( QSqlDatabase db ) << qTableName("test141895", __FILE__, db) << qTableName("qtest_oraOCINumber", __FILE__, db); - if (dbType == QSqlDriverPrivate::PostgreSQL) + if (dbType == QSqlDriver::PostgreSQL) tablenames << qTableName("task_233829", __FILE__, db); - if (dbType == QSqlDriverPrivate::SQLite) + if (dbType == QSqlDriver::SQLite) tablenames << qTableName("record_sqlite", __FILE__, db); - if (dbType == QSqlDriverPrivate::MSSqlServer || dbType == QSqlDriverPrivate::Oracle) + if (dbType == QSqlDriver::MSSqlServer || dbType == QSqlDriver::Oracle) tablenames << qTableName("qtest_longstr", __FILE__, db); - if (dbType == QSqlDriverPrivate::MSSqlServer) + if (dbType == QSqlDriver::MSSqlServer) db.exec("DROP PROCEDURE " + qTableName("test141895_proc", __FILE__, db)); - if (dbType == QSqlDriverPrivate::MySqlServer) + if (dbType == QSqlDriver::MySqlServer) db.exec("DROP PROCEDURE IF EXISTS "+qTableName("bug6852_proc", __FILE__, db)); tst_Databases::safeDropTables( db, tablenames ); - if (dbType == QSqlDriverPrivate::Oracle) { + if (dbType == QSqlDriver::Oracle) { QSqlQuery q( db ); q.exec("DROP PACKAGE " + qTableName("pkg", __FILE__, db)); } @@ -199,20 +199,20 @@ void tst_QSqlQuery::createTestTables( QSqlDatabase db ) { const QString qtestNull = qTableName("qtest_null", __FILE__, db); QSqlQuery q( db ); - QSqlDriverPrivate::DBMSType dbType = tst_Databases::getDatabaseType(db); - if (dbType == QSqlDriverPrivate::MySqlServer) + QSqlDriver::DBMSType dbType = tst_Databases::getDatabaseType(db); + if (dbType == QSqlDriver::MySqlServer) // ### stupid workaround until we find a way to hardcode this // in the MySQL server startup script q.exec( "set table_type=innodb" ); - else if (dbType == QSqlDriverPrivate::PostgreSQL) + else if (dbType == QSqlDriver::PostgreSQL) QVERIFY_SQL( q, exec("set client_min_messages='warning'")); - if (dbType == QSqlDriverPrivate::PostgreSQL) + if (dbType == QSqlDriver::PostgreSQL) QVERIFY_SQL( q, exec( "create table " + qtest + " (id serial NOT NULL, t_varchar varchar(20), t_char char(20), primary key(id)) WITH OIDS" ) ); else QVERIFY_SQL( q, exec( "create table " + qtest + " (id int "+tst_Databases::autoFieldName(db) +" NOT NULL, t_varchar varchar(20), t_char char(20), primary key(id))" ) ); - if (dbType == QSqlDriverPrivate::MSSqlServer || dbType == QSqlDriverPrivate::Sybase) + if (dbType == QSqlDriver::MSSqlServer || dbType == QSqlDriver::Sybase) QVERIFY_SQL(q, exec("create table " + qtestNull + " (id int null, t_varchar varchar(20) null)")); else QVERIFY_SQL(q, exec("create table " + qtestNull + " (id int, t_varchar varchar(20))")); -- cgit v1.2.3