summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp')
-rw-r--r--tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp236
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);