diff options
Diffstat (limited to 'tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp')
-rw-r--r-- | tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp | 236 |
1 files changed, 119 insertions, 117 deletions
diff --git a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp index 1fbdd31a8f..ff458d6f2b 100644 --- a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp +++ b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp @@ -44,7 +44,7 @@ #include "../qsqldatabase/tst_databases.h" -const QString qtest(qTableName( "qtest", __FILE__ )); +const QString qtest(qTableName("qtest", __FILE__, QSqlDatabase())); class tst_QSqlQuery : public QObject { @@ -318,59 +318,59 @@ void tst_QSqlQuery::dropTestTables( QSqlDatabase db ) QStringList tablenames; // drop all the table in case a testcase failed tablenames << qtest - << qTableName( "qtest_null", __FILE__ ) - << qTableName( "qtest_blob", __FILE__ ) - << qTableName( "qtest_bittest", __FILE__ ) - << qTableName( "qtest_nullblob", __FILE__ ) - << qTableName( "qtest_rawtest", __FILE__ ) - << qTableName( "qtest_precision", __FILE__ ) - << qTableName( "qtest_prepare", __FILE__ ) - << qTableName( "qtestj1", __FILE__ ) - << qTableName( "qtestj2", __FILE__ ) - << qTableName( "char1Select", __FILE__ ) - << qTableName( "char1SU", __FILE__ ) - << qTableName( "qxmltest", __FILE__ ) - << qTableName( "qtest_exerr", __FILE__ ) - << qTableName( "qtest_empty", __FILE__ ) - << qTableName( "clobby", __FILE__ ) - << qTableName( "bindtest", __FILE__ ) - << qTableName( "more_results", __FILE__ ) - << qTableName( "blobstest", __FILE__ ) - << qTableName( "oraRowId", __FILE__ ) - << qTableName( "qtest_batch", __FILE__ ) - << qTableName("bug6421", __FILE__).toUpper() - << qTableName("bug5765", __FILE__) - << qTableName("bug6852", __FILE__) - << qTableName("bug21884", __FILE__) - << qTableName("bug23895", __FILE__) - << qTableName( "qtest_lockedtable", __FILE__ ) - << qTableName( "Planet", __FILE__ ) - << qTableName( "task_250026", __FILE__ ) - << qTableName( "task_234422", __FILE__ ) - << qTableName("test141895", __FILE__) - << qTableName("qtest_oraOCINumber", __FILE__) - << qTableName( "bug2192", __FILE__); + << qTableName("qtest_null", __FILE__, db) + << qTableName("qtest_blob", __FILE__, db) + << qTableName("qtest_bittest", __FILE__, db) + << qTableName("qtest_nullblob", __FILE__, db) + << qTableName("qtest_rawtest", __FILE__, db) + << qTableName("qtest_precision", __FILE__, db) + << qTableName("qtest_prepare", __FILE__, db) + << qTableName("qtestj1", __FILE__, db) + << qTableName("qtestj2", __FILE__, db) + << qTableName("char1Select", __FILE__, db) + << qTableName("char1SU", __FILE__, db) + << qTableName("qxmltest", __FILE__, db) + << qTableName("qtest_exerr", __FILE__, db) + << qTableName("qtest_empty", __FILE__, db) + << qTableName("clobby", __FILE__, db) + << qTableName("bindtest", __FILE__, db) + << qTableName("more_results", __FILE__, db) + << qTableName("blobstest", __FILE__, db) + << qTableName("oraRowId", __FILE__, db) + << qTableName("qtest_batch", __FILE__, db) + << qTableName("bug6421", __FILE__, db).toUpper() + << qTableName("bug5765", __FILE__, db) + << qTableName("bug6852", __FILE__, db) + << qTableName("bug21884", __FILE__, db) + << qTableName("bug23895", __FILE__, db) + << qTableName("qtest_lockedtable", __FILE__, db) + << qTableName("Planet", __FILE__, db) + << qTableName("task_250026", __FILE__, db) + << qTableName("task_234422", __FILE__, db) + << qTableName("test141895", __FILE__, db) + << qTableName("qtest_oraOCINumber", __FILE__, db) + << qTableName("bug2192", __FILE__, db); if ( db.driverName().startsWith("QPSQL") ) - tablenames << qTableName("task_233829", __FILE__); + tablenames << qTableName("task_233829", __FILE__, db); if ( db.driverName().startsWith("QSQLITE") ) - tablenames << qTableName( "record_sqlite", __FILE__ ); + tablenames << qTableName("record_sqlite", __FILE__, db); if ( tst_Databases::isSqlServer( db ) || db.driverName().startsWith( "QOCI" ) ) - tablenames << qTableName( "qtest_longstr", __FILE__ ); + tablenames << qTableName("qtest_longstr", __FILE__, db); if (tst_Databases::isSqlServer( db )) - db.exec("DROP PROCEDURE " + qTableName("test141895_proc", __FILE__)); + db.exec("DROP PROCEDURE " + qTableName("test141895_proc", __FILE__, db)); if (tst_Databases::isMySQL( db )) - db.exec("DROP PROCEDURE IF EXISTS "+qTableName("bug6852_proc", __FILE__)); + db.exec("DROP PROCEDURE IF EXISTS "+qTableName("bug6852_proc", __FILE__, db)); tst_Databases::safeDropTables( db, tablenames ); if ( db.driverName().startsWith( "QOCI" ) ) { QSqlQuery q( db ); - q.exec( "DROP PACKAGE " + qTableName("pkg", __FILE__) ); + q.exec("DROP PACKAGE " + qTableName("pkg", __FILE__, db)); } } @@ -391,15 +391,15 @@ void tst_QSqlQuery::createTestTables( QSqlDatabase db ) 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 ( tst_Databases::isSqlServer( db ) || db.driverName().startsWith( "QTDS" ) ) - QVERIFY_SQL( q, exec( "create table " + qTableName( "qtest_null", __FILE__ ) + " (id int null, t_varchar varchar(20) null)" ) ); + QVERIFY_SQL(q, exec("create table " + qTableName("qtest_null", __FILE__, db) + " (id int null, t_varchar varchar(20) null)")); else - QVERIFY_SQL( q, exec( "create table " + qTableName( "qtest_null", __FILE__ ) + " (id int, t_varchar varchar(20))" ) ); + QVERIFY_SQL(q, exec("create table " + qTableName("qtest_null", __FILE__, db) + " (id int, t_varchar varchar(20))")); } void tst_QSqlQuery::populateTestTables( QSqlDatabase db ) { QSqlQuery q( db ); - const QString qtest_null(qTableName( "qtest_null", __FILE__ )); + const QString qtest_null(qTableName( "qtest_null", __FILE__, db)); q.exec( "delete from " + qtest ); QVERIFY_SQL( q, exec( "insert into " + qtest + " values (1, 'VarChar1', 'Char1')" ) ); QVERIFY_SQL( q, exec( "insert into " + qtest + " values (2, 'VarChar2', 'Char2')" ) ); @@ -423,7 +423,7 @@ void tst_QSqlQuery::char1Select() { QSqlQuery q( db ); - const QString tbl = qTableName("char1Select", __FILE__); + const QString tbl = qTableName("char1Select", __FILE__, db); q.exec( "drop table " + tbl); QVERIFY_SQL(q, exec("create table " + tbl + " (id char(1))")); QVERIFY_SQL(q, exec("insert into " + tbl + " values ('a')")); @@ -456,7 +456,7 @@ void tst_QSqlQuery::char1SelectUnicode() QSKIP( "Test requires MySQL >= 5.0"); QString createQuery; - const QString char1SelectUnicode(qTableName( "char1SU", __FILE__ )); + const QString char1SelectUnicode(qTableName("char1SU", __FILE__, db)); if ( tst_Databases::isSqlServer( db ) ) createQuery = "create table " + char1SelectUnicode + "(id nchar(1))"; @@ -501,7 +501,7 @@ void tst_QSqlQuery::oraRowId() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString oraRowId(qTableName("oraRowId", __FILE__)); + const QString oraRowId(qTableName("oraRowId", __FILE__, db)); QSqlQuery q( db ); QVERIFY_SQL( q, exec( "select rowid from " + qtest ) ); @@ -536,7 +536,7 @@ void tst_QSqlQuery::mysqlOutValues() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString hello(qTableName( "hello", __FILE__ )), qtestproc(qTableName( "qtestproc", __FILE__ )); + const QString hello(qTableName("hello", __FILE__, db)), qtestproc(qTableName("qtestproc", __FILE__, db)); QSqlQuery q( db ); @@ -594,7 +594,7 @@ void tst_QSqlQuery::bindBool() CHECK_DATABASE( db ); QSqlQuery q(db); - const QString tableName(qTableName( "bindBool", __FILE__ )); + const QString tableName(qTableName("bindBool", __FILE__, db)); q.exec("DROP TABLE " + tableName); QString colType = db.driverName().startsWith("QPSQL") ? QLatin1String("BOOLEAN") : QLatin1String("INT"); QVERIFY_SQL(q, exec("CREATE TABLE " + tableName + " (id INT, flag " + colType + " NOT NULL, PRIMARY KEY(id))")); @@ -622,7 +622,7 @@ void tst_QSqlQuery::oraOutValues() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString tst_outValues(qTableName("tst_outValues", __FILE__)); + const QString tst_outValues(qTableName("tst_outValues", __FILE__, db)); if ( !db.driver()->hasFeature( QSqlDriver::PreparedQueries ) ) QSKIP( "Test requires prepared query support"); @@ -718,7 +718,7 @@ void tst_QSqlQuery::oraClob() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString clobby(qTableName("clobby", __FILE__)); + const QString clobby(qTableName("clobby", __FILE__, db)); QSqlQuery q( db ); @@ -771,16 +771,16 @@ void tst_QSqlQuery::storedProceduresIBase() CHECK_DATABASE( db ); QSqlQuery q( db ); - q.exec( "drop procedure " + qTableName( "TESTPROC", __FILE__ ) ); + q.exec("drop procedure " + qTableName("TESTPROC", __FILE__, db)); - QVERIFY_SQL( q, exec( "create procedure " + qTableName( "TESTPROC", __FILE__ ) + + QVERIFY_SQL(q, exec("create procedure " + qTableName("TESTPROC", __FILE__, db) + " RETURNS (x integer, y varchar(20)) " "AS BEGIN " " x = 42; " " y = 'Hello Anders'; " "END" ) ); - QVERIFY_SQL( q, prepare( "execute procedure " + qTableName( "TestProc", __FILE__ ) ) ); + QVERIFY_SQL(q, prepare("execute procedure " + qTableName("TestProc", __FILE__, db))); QVERIFY_SQL( q, exec() ); // check for a valid result set @@ -797,7 +797,7 @@ void tst_QSqlQuery::storedProceduresIBase() // the second next shall fail QVERIFY( !q.next() ); - q.exec( "drop procedure " + qTableName( "TestProc", __FILE__ ) ); + q.exec("drop procedure " + qTableName("TestProc", __FILE__, db)); } void tst_QSqlQuery::outValuesDB2() @@ -813,8 +813,8 @@ void tst_QSqlQuery::outValuesDB2() q.setForwardOnly( true ); - q.exec( "drop procedure " + qTableName( "tst_outValues", __FILE__ ) ); //non-fatal - QVERIFY_SQL( q, exec( "CREATE PROCEDURE " + qTableName( "tst_outValues", __FILE__ ) + + q.exec("drop procedure " + qTableName("tst_outValues", __FILE__, db)); //non-fatal + QVERIFY_SQL( q, exec( "CREATE PROCEDURE " + qTableName("tst_outValues", __FILE__, db) + " (OUT x int, OUT x2 double, OUT x3 char(20))\n" "LANGUAGE SQL\n" "P1: BEGIN\n" @@ -823,7 +823,7 @@ void tst_QSqlQuery::outValuesDB2() " SET x3 = 'Homer';\n" "END P1" ) ); - QVERIFY_SQL( q, prepare( "call " + qTableName( "tst_outValues", __FILE__ ) + "(?, ?, ?)" ) ); + QVERIFY_SQL(q, prepare("call " + qTableName("tst_outValues", __FILE__, db) + "(?, ?, ?)")); q.addBindValue( 0, QSql::Out ); q.addBindValue( 0.0, QSql::Out ); @@ -841,7 +841,7 @@ void tst_QSqlQuery::outValues() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString tst_outValues(qTableName("tst_outValues", __FILE__)); + const QString tst_outValues(qTableName("tst_outValues", __FILE__, db)); if ( !db.driver()->hasFeature( QSqlDriver::PreparedQueries ) ) QSKIP( "Test requires prepared query support"); @@ -905,11 +905,11 @@ void tst_QSqlQuery::blob() q.setForwardOnly( true ); - QString queryString = QString( "create table " + qTableName( "qtest_blob", __FILE__ ) + + QString queryString = QString("create table " + qTableName("qtest_blob", __FILE__, db) + " (id int not null primary key, t_blob %1)" ).arg( tst_Databases::blobTypeName( db, BLOBSIZE ) ); QVERIFY_SQL( q, exec( queryString ) ); - QVERIFY_SQL( q, prepare( "insert into " + qTableName( "qtest_blob", __FILE__ ) + " (id, t_blob) values (?, ?)" ) ); + QVERIFY_SQL(q, prepare("insert into " + qTableName("qtest_blob", __FILE__, db) + " (id, t_blob) values (?, ?)")); for ( i = 0; i < BLOBCOUNT; ++i ) { q.addBindValue( i ); @@ -917,7 +917,7 @@ void tst_QSqlQuery::blob() QVERIFY_SQL( q, exec() ); } - QVERIFY_SQL( q, exec( "select * from " + qTableName( "qtest_blob", __FILE__ ) ) ); + QVERIFY_SQL(q, exec("select * from " + qTableName("qtest_blob", __FILE__, db))); for ( i = 0; i < BLOBCOUNT; ++i ) { QVERIFY( q.next() ); @@ -1382,7 +1382,7 @@ void tst_QSqlQuery::isNull() CHECK_DATABASE( db ); QSqlQuery q( db ); - QVERIFY_SQL( q, exec( "select id, t_varchar from " + qTableName( "qtest_null", __FILE__ ) + " order by id" ) ); + QVERIFY_SQL(q, exec("select id, t_varchar from " + qTableName("qtest_null", __FILE__, db) + " order by id")); QVERIFY( q.next() ); QVERIFY( !q.isNull( 0 ) ); QVERIFY( q.isNull( 1 ) ); @@ -1408,13 +1408,13 @@ void tst_QSqlQuery::bitField() QSqlQuery q( db ); - QVERIFY_SQL( q, exec( "create table " + qTableName( "qtest_bittest", __FILE__ ) + " (bitty bit)" ) ); + QVERIFY_SQL(q, exec("create table " + qTableName("qtest_bittest", __FILE__, db) + " (bitty bit)")); - QVERIFY_SQL( q, exec( "insert into " + qTableName( "qtest_bittest", __FILE__ ) + " values (0)" ) ); + QVERIFY_SQL(q, exec("insert into " + qTableName("qtest_bittest", __FILE__, db) + " values (0)")); - QVERIFY_SQL( q, exec( "insert into " + qTableName( "qtest_bittest", __FILE__ ) + " values (1)" ) ); + QVERIFY_SQL(q, exec("insert into " + qTableName("qtest_bittest", __FILE__, db) + " values (1)")); - QVERIFY_SQL( q, exec( "select bitty from " + qTableName( "qtest_bittest", __FILE__ ) ) ); + QVERIFY_SQL(q, exec("select bitty from " + qTableName("qtest_bittest", __FILE__, db))); QVERIFY( q.next() ); @@ -1432,7 +1432,7 @@ void tst_QSqlQuery::nullBlob() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString qtest_nullblob(qTableName("qtest_nullblob", __FILE__)); + const QString qtest_nullblob(qTableName("qtest_nullblob", __FILE__, db)); QSqlQuery q( db ); QVERIFY_SQL( q, exec( "create table " + qtest_nullblob + " (id int primary key, bb blob)" ) ); @@ -1462,7 +1462,7 @@ void tst_QSqlQuery::rawField() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString qtest_rawtest(qTableName("qtest_rawtest", __FILE__)); + const QString qtest_rawtest(qTableName("qtest_rawtest", __FILE__, db)); QSqlQuery q( db ); q.setForwardOnly( true ); @@ -1487,7 +1487,7 @@ void tst_QSqlQuery::precision() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString qtest_precision(qTableName( "qtest_precision", __FILE__ )); + const QString qtest_precision(qTableName("qtest_precision", __FILE__, db)); static const char* precStr = "1.2345678901234567891"; @@ -1646,7 +1646,7 @@ void tst_QSqlQuery::joins() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString qtestj1(qTableName("qtestj1", __FILE__)), qtestj2(qTableName("qtestj2", __FILE__)); + const QString qtestj1(qTableName("qtestj1", __FILE__, db)), qtestj2(qTableName("qtestj2", __FILE__, db)); if ( db.driverName().startsWith( "QOCI" ) || db.driverName().startsWith( "QTDS" ) @@ -1731,7 +1731,7 @@ void tst_QSqlQuery::prepare_bind_exec() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString qtest_prepare(qTableName("qtest_prepare", __FILE__)); + const QString qtest_prepare(qTableName("qtest_prepare", __FILE__, db)); if(db.driverName().startsWith("QIBASE") && (db.databaseName() == "silence.nokia.troll.no:c:\\ibase\\testdb_ascii" || db.databaseName() == "/opt/interbase/qttest.gdb")) QSKIP("Can't transliterate extended unicode to ascii"); @@ -2031,9 +2031,9 @@ void tst_QSqlQuery::sqlServerLongStrings() QSqlQuery q( db ); - QVERIFY_SQL( q, exec( "CREATE TABLE " + qTableName( "qtest_longstr", __FILE__ ) + " (id int primary key, longstring ntext)" ) ); + QVERIFY_SQL(q, exec("CREATE TABLE " + qTableName("qtest_longstr", __FILE__, db) + " (id int primary key, longstring ntext)")); - QVERIFY_SQL( q, prepare( "INSERT INTO " + qTableName( "qtest_longstr", __FILE__ ) + " VALUES (?, ?)" ) ); + QVERIFY_SQL(q, prepare("INSERT INTO " + qTableName("qtest_longstr", __FILE__, db) + " VALUES (?, ?)")); q.addBindValue( 0 ); @@ -2051,7 +2051,7 @@ void tst_QSqlQuery::sqlServerLongStrings() QVERIFY_SQL( q, exec() ); - QVERIFY_SQL( q, exec( "select * from " + qTableName( "qtest_longstr", __FILE__ ) ) ); + QVERIFY_SQL(q, exec("select * from " + qTableName( "qtest_longstr", __FILE__, db))); QVERIFY_SQL( q, next() ); @@ -2103,7 +2103,7 @@ void tst_QSqlQuery::batchExec() QSKIP( "Database can't do BatchOperations"); QSqlQuery q( db ); - const QString tableName = qTableName( "qtest_batch", __FILE__ ); + const QString tableName = qTableName("qtest_batch", __FILE__, db); QVERIFY_SQL( q, exec( "create table " + tableName + " (id int, name varchar(20), dt date, num numeric(8, 4))" ) ); QVERIFY_SQL( q, prepare( "insert into " + tableName + " (id, name, dt, num) values (?, ?, ?, ?)" ) ); @@ -2247,9 +2247,9 @@ void tst_QSqlQuery::record_sqlite() QSqlQuery q( db ); - QVERIFY_SQL( q, exec( "create table "+qTableName( "record_sqlite", __FILE__ )+"(id integer primary key, name varchar, title int)" ) ); + QVERIFY_SQL(q, exec("create table " + qTableName("record_sqlite", __FILE__, db) + "(id integer primary key, name varchar, title int)")); - QSqlRecord rec = db.record( qTableName( "record_sqlite", __FILE__ ) ); + QSqlRecord rec = db.record(qTableName("record_sqlite", __FILE__, db)); QCOMPARE( rec.count(), 3 ); QCOMPARE( rec.field( 0 ).type(), QVariant::Int ); @@ -2257,7 +2257,7 @@ void tst_QSqlQuery::record_sqlite() QCOMPARE( rec.field( 2 ).type(), QVariant::Int ); /* important - select from an empty table */ - QVERIFY_SQL( q, exec( "select id, name, title from "+qTableName( "record_sqlite", __FILE__ ) ) ); + QVERIFY_SQL(q, exec("select id, name, title from " + qTableName("record_sqlite", __FILE__, db))); rec = q.record(); QCOMPARE( rec.count(), 3 ); @@ -2276,13 +2276,13 @@ void tst_QSqlQuery::oraLong() QString aLotOfText( 127000, QLatin1Char( 'H' ) ); - QVERIFY_SQL( q, exec( "create table " + qTableName( "qtest_longstr", __FILE__ ) + " (id int primary key, astr long)" ) ); - QVERIFY_SQL( q, prepare( "insert into " + qTableName( "qtest_longstr", __FILE__ ) + " (id, astr) values (?, ?)" ) ); + QVERIFY_SQL(q, exec("create table " + qTableName("qtest_longstr", __FILE__, db) + " (id int primary key, astr long)")); + QVERIFY_SQL(q, prepare("insert into " + qTableName("qtest_longstr", __FILE__, db) + " (id, astr) values (?, ?)")); q.addBindValue( 1 ); q.addBindValue( aLotOfText ); QVERIFY_SQL( q, exec() ); - QVERIFY_SQL( q, exec( "select id,astr from " + qTableName( "qtest_longstr", __FILE__ ) ) ); + QVERIFY_SQL(q, exec("select id,astr from " + qTableName("qtest_longstr", __FILE__, db))); QVERIFY( q.next() ); QCOMPARE( q.value( 0 ).toInt(), 1 ); @@ -2297,7 +2297,7 @@ void tst_QSqlQuery::execErrorRecovery() QSqlQuery q( db ); - const QString tbl = qTableName("qtest_exerr", __FILE__); + const QString tbl = qTableName("qtest_exerr", __FILE__, db); q.exec("drop table " + tbl); QVERIFY_SQL(q, exec("create table " + tbl + " (id int not null primary key)")); QVERIFY_SQL(q, prepare("insert into " + tbl + " values (?)" )); @@ -2354,7 +2354,7 @@ void tst_QSqlQuery::bindWithDoubleColonCastOperator() if ( !db.driverName().startsWith( "QPSQL" ) ) QSKIP( "Test requires PostgreSQL"); - const QString tablename(qTableName( "bindtest", __FILE__ )); + const QString tablename(qTableName("bindtest", __FILE__, db)); QSqlQuery q( db ); @@ -2516,7 +2516,7 @@ void tst_QSqlQuery::sqlite_finish() db2.setDatabaseName( db.databaseName() ); QVERIFY_SQL( db2, open() ); - const QString tableName(qTableName( "qtest_lockedtable", __FILE__ )); + const QString tableName(qTableName("qtest_lockedtable", __FILE__, db)); QSqlQuery q( db ); tst_Databases::safeDropTable( db, tableName ); @@ -2566,7 +2566,7 @@ void tst_QSqlQuery::nextResult() else if ( db.driverName().startsWith( "QDB2" ) ) driverType = DB2; - const QString tableName(qTableName( "more_results", __FILE__ )); + const QString tableName(qTableName("more_results", __FILE__, db)); QVERIFY_SQL( q, exec( "CREATE TABLE " + tableName + " (id integer, text varchar(20), num numeric(6, 3), empty varchar(10));" ) ); @@ -2670,7 +2670,7 @@ void tst_QSqlQuery::nextResult() } // Stored procedure with multiple result sets - const QString procName(qTableName( "proc_more_res", __FILE__ )); + const QString procName(qTableName("proc_more_res", __FILE__, db)); q.exec( QString( "DROP PROCEDURE %1;" ).arg( procName ) ); @@ -2748,7 +2748,7 @@ void tst_QSqlQuery::blobsPreparedQuery() if ( !db.driver()->hasFeature( QSqlDriver::BLOB ) || !db.driver()->hasFeature( QSqlDriver::PreparedQueries ) ) QSKIP( "DBMS does not support BLOBs or prepared queries"); - const QString tableName(qTableName( "blobstest", __FILE__ )); + const QString tableName(qTableName("blobstest", __FILE__, db)); QSqlQuery q( db ); q.setForwardOnly( true ); // This is needed to make the test work with DB2. @@ -2803,10 +2803,10 @@ void tst_QSqlQuery::emptyTableNavigate() { QSqlQuery q( db ); - const QString tbl = qTableName("qtest_empty", __FILE__); + const QString tbl = qTableName("qtest_empty", __FILE__, db); q.exec("drop table " + tbl); QVERIFY_SQL(q, exec("create table " + tbl + " (id char(10))")); - QVERIFY_SQL(q, prepare("select * from " + qTableName("qtest_empty", __FILE__ ))); + QVERIFY_SQL(q, prepare("select * from " + tbl)); QVERIFY_SQL( q, exec() ); QVERIFY( !q.next() ); QCOMPARE( q.lastError().isValid(), false ); @@ -2819,7 +2819,7 @@ void tst_QSqlQuery::task_217003() QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); QSqlQuery q( db ); - const QString Planet(qTableName( "Planet", __FILE__)); + const QString Planet(qTableName( "Planet", __FILE__, db)); q.exec("drop table " + Planet); QVERIFY_SQL( q, exec( "create table " + Planet + " (Name varchar(20))" ) ); @@ -2850,7 +2850,7 @@ void tst_QSqlQuery::task_250026() CHECK_DATABASE( db ); QSqlQuery q( db ); - const QString tableName(qTableName( "task_250026", __FILE__ )); + const QString tableName(qTableName("task_250026", __FILE__, db)); if ( !q.exec( "create table " + tableName + " (longfield varchar(1100))" ) ) { qDebug() << "Error" << q.lastError(); @@ -2898,7 +2898,7 @@ void tst_QSqlQuery::task_229811() QSqlQuery q( db ); - const QString tableName(qTableName( "task_229811", __FILE__ )); + const QString tableName(qTableName("task_229811", __FILE__, db)); if ( !q.exec( "CREATE TABLE " + tableName + " (Word varchar(20))" ) ) { qDebug() << "Warning" << q.lastError(); @@ -2945,7 +2945,7 @@ void tst_QSqlQuery::task_234422() m_airlines << "Lufthansa" << "SAS" << "United" << "KLM" << "Aeroflot"; m_countries << "DE" << "SE" << "US" << "NL" << "RU"; - const QString tableName(qTableName( "task_234422", __FILE__ )); + const QString tableName(qTableName("task_234422", __FILE__, db)); QVERIFY_SQL(query,exec("CREATE TABLE " + tableName + " (id int primary key, " "name varchar(20), homecountry varchar(2))")); @@ -2977,7 +2977,7 @@ void tst_QSqlQuery::task_233829() CHECK_DATABASE( db ); QSqlQuery q( db ); - const QString tableName(qTableName("task_233829", __FILE__)); + const QString tableName(qTableName("task_233829", __FILE__, db)); QVERIFY_SQL(q,exec("CREATE TABLE " + tableName + "(dbl1 double precision,dbl2 double precision) without oids;")); QString queryString("INSERT INTO " + tableName +"(dbl1, dbl2) VALUES(?,?)"); @@ -2997,7 +2997,7 @@ void tst_QSqlQuery::sqlServerReturn0() if (!tst_Databases::isSqlServer( db )) QSKIP("SQL Server specific test"); - const QString tableName(qTableName("test141895", __FILE__)), procName(qTableName("test141895_proc", __FILE__)); + const QString tableName(qTableName("test141895", __FILE__, db)), procName(qTableName("test141895_proc", __FILE__, db)); QSqlQuery q( db ); q.exec("DROP TABLE " + tableName); q.exec("DROP PROCEDURE " + procName); @@ -3023,7 +3023,7 @@ void tst_QSqlQuery::QTBUG_551() QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); QSqlQuery q(db); - const QString pkgname(qTableName("pkg", __FILE__)); + const QString pkgname(qTableName("pkg", __FILE__, db)); QVERIFY_SQL(q, exec("CREATE OR REPLACE PACKAGE "+pkgname+" IS \n\ \n\ TYPE IntType IS TABLE OF INTEGER INDEX BY BINARY_INTEGER;\n\ @@ -3070,7 +3070,7 @@ void tst_QSqlQuery::QTBUG_14132() QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); QSqlQuery q(db); - const QString procedureName(qTableName("procedure", __FILE__)); + const QString procedureName(qTableName("procedure", __FILE__, db)); QVERIFY_SQL(q, exec("CREATE OR REPLACE PROCEDURE "+ procedureName + " (outStr OUT varchar2) \n\ is \n\ begin \n\ @@ -3093,7 +3093,7 @@ void tst_QSqlQuery::QTBUG_18435() return; QSqlQuery q(db); - QString procName(qTableName("qtbug_18435_proc", __FILE__)); + QString procName(qTableName("qtbug_18435_proc", __FILE__, db)); q.exec("DROP PROCEDURE " + procName); const QString stmt = @@ -3118,7 +3118,7 @@ void tst_QSqlQuery::QTBUG_5251() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString timetest(qTableName("timetest", __FILE__)); + const QString timetest(qTableName("timetest", __FILE__, db)); if (!db.driverName().startsWith( "QPSQL" )) return; @@ -3151,7 +3151,7 @@ void tst_QSqlQuery::QTBUG_6421() CHECK_DATABASE( db ); QSqlQuery q(db); - const QString tableName(qTableName("bug6421", __FILE__).toUpper()); + const QString tableName(qTableName("bug6421", __FILE__, db).toUpper()); QVERIFY_SQL(q, exec("create table "+tableName+"(COL1 char(10), COL2 char(10), COL3 char(10))")); QVERIFY_SQL(q, exec("create index INDEX1 on "+tableName+" (COL1 desc)")); @@ -3176,16 +3176,16 @@ void tst_QSqlQuery::QTBUG_6618() QSKIP("SQL Server specific test"); QSqlQuery q(db); - q.exec( "drop procedure " + qTableName( "tst_raiseError", __FILE__ ) ); //non-fatal + q.exec("drop procedure " + qTableName("tst_raiseError", __FILE__, db)); //non-fatal QString errorString; for (int i=0;i<110;i++) errorString+="reallylong"; errorString+=" error"; - QVERIFY_SQL( q, exec("create procedure " + qTableName( "tst_raiseError", __FILE__ ) + " as\n" + QVERIFY_SQL(q, exec("create procedure " + qTableName("tst_raiseError", __FILE__, db) + " as\n" "begin\n" " raiserror('" + errorString + "', 16, 1)\n" "end\n" )); - q.exec( "{call " + qTableName( "tst_raiseError", __FILE__ ) + "}" ); + q.exec("{call " + qTableName("tst_raiseError", __FILE__, db) + "}"); QVERIFY(q.lastError().text().contains(errorString)); } @@ -3198,7 +3198,7 @@ void tst_QSqlQuery::QTBUG_6852() QSKIP( "Test requires MySQL >= 5.0"); QSqlQuery q(db); - const QString tableName(qTableName("bug6852", __FILE__)), procName(qTableName("bug6852_proc", __FILE__)); + const QString tableName(qTableName("bug6852", __FILE__, db)), procName(qTableName("bug6852_proc", __FILE__, db)); QVERIFY_SQL(q, exec("DROP PROCEDURE IF EXISTS "+procName)); QVERIFY_SQL(q, exec("CREATE TABLE "+tableName+"(\n" @@ -3232,7 +3232,7 @@ void tst_QSqlQuery::QTBUG_5765() QSKIP( "Test requires MySQL >= 4.1"); QSqlQuery q(db); - const QString tableName(qTableName("bug5765", __FILE__)); + const QString tableName(qTableName("bug5765", __FILE__, db)); QVERIFY_SQL(q, exec("CREATE TABLE "+tableName+"(testval TINYINT(1) DEFAULT 0)")); q.prepare("INSERT INTO "+tableName+" SET testval = :VALUE"); @@ -3275,7 +3275,7 @@ void tst_QSqlQuery::QTBUG_21884() QSqlQuery q(db); QStringList stList; - QString tableName(qTableName("bug21884", __FILE__ )); + QString tableName(qTableName("bug21884", __FILE__, db)); stList << "create table " + tableName + "(id integer primary key, note string)"; stList << "select * from " + tableName + ";"; stList << "select * from " + tableName + "; \t\n\r"; @@ -3370,7 +3370,7 @@ void tst_QSqlQuery::QTBUG_23895() QSqlQuery q(db); - QString tableName(qTableName("bug23895", __FILE__ )); + QString tableName(qTableName("bug23895", __FILE__, db)); q.prepare("create table " + tableName + "(id integer primary key, val1 bool, val2 boolean)"); QVERIFY_SQL(q, exec()); q.prepare("insert into " + tableName + "(id, val1, val2) values(?, ?, ?);"); @@ -3425,7 +3425,7 @@ void tst_QSqlQuery::QTBUG_14904() QSqlQuery q(db); - QString tableName(qTableName("bug14904", __FILE__ )); + QString tableName(qTableName("bug14904", __FILE__, db)); tst_Databases::safeDropTable( db, tableName ); q.prepare("create table " + tableName + "(val1 bool)"); @@ -3456,7 +3456,7 @@ void tst_QSqlQuery::QTBUG_2192() QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); { - const QString tableName(qTableName("bug2192", __FILE__)); + const QString tableName(qTableName("bug2192", __FILE__, db)); tst_Databases::safeDropTable( db, tableName ); QSqlQuery q(db); @@ -3483,7 +3483,7 @@ void tst_QSqlQuery::oraOCINumber() QFETCH( QString, dbName ); QSqlDatabase db = QSqlDatabase::database( dbName ); CHECK_DATABASE( db ); - const QString qtest_oraOCINumber(qTableName("qtest_oraOCINumber", __FILE__)); + const QString qtest_oraOCINumber(qTableName("qtest_oraOCINumber", __FILE__, db)); QSqlQuery q( db ); q.setForwardOnly( true ); @@ -3592,7 +3592,7 @@ void tst_QSqlQuery::sqlite_constraint() QSKIP("Sqlite3 specific test"); QSqlQuery q(db); - const QString trigger(qTableName("test_constraint", __FILE__)); + const QString trigger(qTableName("test_constraint", __FILE__, db)); QVERIFY_SQL(q, exec("CREATE TEMP TRIGGER "+trigger+" BEFORE DELETE ON "+qtest+ "\nFOR EACH ROW " @@ -3610,7 +3610,7 @@ void tst_QSqlQuery::sqlite_real() QFETCH(QString, dbName); QSqlDatabase db = QSqlDatabase::database(dbName); CHECK_DATABASE(db); - const QString tableName(qTableName("sqliterealtype", __FILE__)); + const QString tableName(qTableName("sqliterealtype", __FILE__, db)); tst_Databases::safeDropTable( db, tableName ); QSqlQuery q(db); @@ -3641,8 +3641,10 @@ void tst_QSqlQuery::aggregateFunctionTypes() // QPSQL uses LongLong for manipulation of integers if (db.driverName().startsWith("QPSQL") || db.driverName().startsWith("QMYSQL")) intType = QVariant::LongLong; + else if (db.driverName().startsWith("QOCI")) + intType = QVariant::Double; { - const QString tableName(qTableName("numericFunctionsWithIntValues", __FILE__)); + const QString tableName(qTableName("numericFunctionsWithIntValues", __FILE__, db)); tst_Databases::safeDropTable( db, tableName ); QSqlQuery q(db); @@ -3672,7 +3674,7 @@ void tst_QSqlQuery::aggregateFunctionTypes() QVERIFY_SQL(q, exec("SELECT AVG(id) FROM " + tableName)); QVERIFY(q.next()); if (db.driverName().startsWith("QSQLITE") || db.driverName().startsWith("QPSQL") - || (db.driverName().startsWith("QMYSQL"))) { + || db.driverName().startsWith("QMYSQL") || db.driverName().startsWith("QOCI")) { QCOMPARE(q.value(0).toDouble(), 1.5); QCOMPARE(q.record().field(0).type(), QVariant::Double); } else { @@ -3688,15 +3690,15 @@ void tst_QSqlQuery::aggregateFunctionTypes() QVERIFY_SQL(q, exec("SELECT MIN(id) FROM " + tableName)); QVERIFY(q.next()); QCOMPARE(q.value(0).toInt(), 1); - QCOMPARE(q.record().field(0).type(), QVariant::Int); + QCOMPARE(q.record().field(0).type(), intType); QVERIFY_SQL(q, exec("SELECT MAX(id) FROM " + tableName)); QVERIFY(q.next()); QCOMPARE(q.value(0).toInt(), 2); - QCOMPARE(q.record().field(0).type(), QVariant::Int); + QCOMPARE(q.record().field(0).type(), intType); } { - const QString tableName(qTableName("numericFunctionsWithDoubleValues", __FILE__)); + const QString tableName(qTableName("numericFunctionsWithDoubleValues", __FILE__, db)); tst_Databases::safeDropTable( db, tableName ); QSqlQuery q(db); @@ -3755,7 +3757,7 @@ void tst_QSqlQuery::aggregateFunctionTypes() } } { - const QString tableName(qTableName("stringFunctions", __FILE__)); + const QString tableName(qTableName("stringFunctions", __FILE__, db)); tst_Databases::safeDropTable( db, tableName ); QSqlQuery q(db); |