summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/models
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@digia.com>2013-03-21 11:23:31 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-05 11:13:28 +0200
commit693a399acbff14718d1a0d48b8837741f1f55ccc (patch)
tree3dbc5ba3b253015fd5a4261f9196f27533637a65 /tests/auto/sql/models
parent239252d91740ec78a87926698800d13b3a849c55 (diff)
Fix sql tests in respect to Oracle databases
Oracle has a limitation of 30 characters for a tablename so the main change is to account for this, which meant changing all the usages of qTableName(). Some other fixes are included that ensure the tests are working correctly as far as Oracle is concerned. Change-Id: I8ad8a5a33e6a70fcad235f6a7e82e91687b74fee Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Diffstat (limited to 'tests/auto/sql/models')
-rw-r--r--tests/auto/sql/models/qsqlquerymodel/tst_qsqlquerymodel.cpp70
-rw-r--r--tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp86
-rw-r--r--tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp62
3 files changed, 110 insertions, 108 deletions
diff --git a/tests/auto/sql/models/qsqlquerymodel/tst_qsqlquerymodel.cpp b/tests/auto/sql/models/qsqlquerymodel/tst_qsqlquerymodel.cpp
index 774620b366..cb9b4a5c1f 100644
--- a/tests/auto/sql/models/qsqlquerymodel/tst_qsqlquerymodel.cpp
+++ b/tests/auto/sql/models/qsqlquerymodel/tst_qsqlquerymodel.cpp
@@ -147,10 +147,10 @@ void tst_QSqlQueryModel::cleanupTestCase()
void tst_QSqlQueryModel::dropTestTables(QSqlDatabase db)
{
QStringList tableNames;
- tableNames << qTableName("test", __FILE__)
- << qTableName("test2", __FILE__)
- << qTableName("test3", __FILE__)
- << qTableName("many", __FILE__);
+ tableNames << qTableName("test", __FILE__, db)
+ << qTableName("test2", __FILE__, db)
+ << qTableName("test3", __FILE__, db)
+ << qTableName("many", __FILE__, db);
tst_Databases::safeDropTables(db, tableNames);
}
@@ -160,10 +160,10 @@ void tst_QSqlQueryModel::createTestTables(QSqlDatabase db)
QSqlQuery q(db);
if(tst_Databases::isPostgreSQL(db))
QVERIFY_SQL( q, exec("set client_min_messages='warning'"));
- QVERIFY_SQL( q, exec("create table " + qTableName("test", __FILE__) + "(id integer not null, name varchar(20), title integer, primary key (id))"));
- QVERIFY_SQL( q, exec("create table " + qTableName("test2", __FILE__) + "(id integer not null, title varchar(20), primary key (id))"));
- QVERIFY_SQL( q, exec("create table " + qTableName("test3", __FILE__) + "(id integer not null, primary key (id))"));
- QVERIFY_SQL( q, exec("create table " + qTableName("many", __FILE__) + "(id integer not null, name varchar(20), primary key (id))"));
+ QVERIFY_SQL( q, exec("create table " + qTableName("test", __FILE__, db) + "(id integer not null, name varchar(20), title integer, primary key (id))"));
+ QVERIFY_SQL( q, exec("create table " + qTableName("test2", __FILE__, db) + "(id integer not null, title varchar(20), primary key (id))"));
+ QVERIFY_SQL( q, exec("create table " + qTableName("test3", __FILE__, db) + "(id integer not null, primary key (id))"));
+ QVERIFY_SQL( q, exec("create table " + qTableName("many", __FILE__, db) + "(id integer not null, name varchar(20), primary key (id))"));
}
void tst_QSqlQueryModel::populateTestTables(QSqlDatabase db)
@@ -173,38 +173,38 @@ void tst_QSqlQueryModel::populateTestTables(QSqlDatabase db)
QSqlQuery q(db), q2(db);
- tst_Databases::safeDropTables(db, QStringList() << qTableName("manytmp", __FILE__) << qTableName("test3tmp", __FILE__));
- QVERIFY_SQL(q, exec("create table " + qTableName("manytmp", __FILE__) + "(id integer not null, name varchar(20), primary key (id))"));
- QVERIFY_SQL(q, exec("create table " + qTableName("test3tmp", __FILE__) + "(id integer not null, primary key (id))"));
+ tst_Databases::safeDropTables(db, QStringList() << qTableName("manytmp", __FILE__, db) << qTableName("test3tmp", __FILE__, db));
+ QVERIFY_SQL(q, exec("create table " + qTableName("manytmp", __FILE__, db) + "(id integer not null, name varchar(20), primary key (id))"));
+ QVERIFY_SQL(q, exec("create table " + qTableName("test3tmp", __FILE__, db) + "(id integer not null, primary key (id))"));
if (hasTransactions) QVERIFY_SQL(db, transaction());
- QVERIFY_SQL(q, exec("insert into " + qTableName("test", __FILE__) + " values(1, 'harry', 1)"));
- QVERIFY_SQL(q, exec("insert into " + qTableName("test", __FILE__) + " values(2, 'trond', 2)"));
- QVERIFY_SQL(q, exec("insert into " + qTableName("test2", __FILE__) + " values(1, 'herr')"));
- QVERIFY_SQL(q, exec("insert into " + qTableName("test2", __FILE__) + " values(2, 'mister')"));
+ QVERIFY_SQL(q, exec("insert into " + qTableName("test", __FILE__, db) + " values(1, 'harry', 1)"));
+ QVERIFY_SQL(q, exec("insert into " + qTableName("test", __FILE__, db) + " values(2, 'trond', 2)"));
+ QVERIFY_SQL(q, exec("insert into " + qTableName("test2", __FILE__, db) + " values(1, 'herr')"));
+ QVERIFY_SQL(q, exec("insert into " + qTableName("test2", __FILE__, db) + " values(2, 'mister')"));
- QVERIFY_SQL(q, exec(QString("insert into " + qTableName("test3", __FILE__) + " values(0)")));
- QVERIFY_SQL(q, prepare("insert into "+qTableName("test3", __FILE__)+"(id) select id + ? from "+qTableName("test3tmp", __FILE__)));
+ QVERIFY_SQL(q, exec(QString("insert into " + qTableName("test3", __FILE__, db) + " values(0)")));
+ QVERIFY_SQL(q, prepare("insert into "+ qTableName("test3", __FILE__, db) + "(id) select id + ? from " + qTableName("test3tmp", __FILE__, db)));
for (int i=1; i<260; i*=2) {
- q2.exec("delete from "+qTableName("test3tmp", __FILE__));
- QVERIFY_SQL(q2, exec("insert into "+qTableName("test3tmp", __FILE__)+"(id) select id from "+qTableName("test3", __FILE__)));
+ q2.exec("delete from " + qTableName("test3tmp", __FILE__, db));
+ QVERIFY_SQL(q2, exec("insert into " + qTableName("test3tmp", __FILE__, db) + "(id) select id from " + qTableName("test3", __FILE__, db)));
q.bindValue(0, i);
QVERIFY_SQL(q, exec());
}
- QVERIFY_SQL(q, exec(QString("insert into " + qTableName("many", __FILE__) + "(id, name) values (0, \'harry\')")));
- QVERIFY_SQL(q, prepare("insert into "+qTableName("many", __FILE__)+"(id, name) select id + ?, name from "+qTableName("manytmp", __FILE__)));
+ QVERIFY_SQL(q, exec(QString("insert into " + qTableName("many", __FILE__, db) + "(id, name) values (0, \'harry\')")));
+ QVERIFY_SQL(q, prepare("insert into " + qTableName("many", __FILE__, db) + "(id, name) select id + ?, name from " + qTableName("manytmp", __FILE__, db)));
for (int i=1; i < 2048; i*=2) {
- q2.exec("delete from "+qTableName("manytmp", __FILE__));
- QVERIFY_SQL(q2, exec("insert into "+qTableName("manytmp", __FILE__)+"(id, name) select id, name from "+qTableName("many", __FILE__)));
+ q2.exec("delete from " + qTableName("manytmp", __FILE__, db));
+ QVERIFY_SQL(q2, exec("insert into " + qTableName("manytmp", __FILE__, db) + "(id, name) select id, name from " + qTableName("many", __FILE__, db)));
q.bindValue(0, i);
QVERIFY_SQL(q, exec());
}
if (hasTransactions) QVERIFY_SQL(db, commit());
- tst_Databases::safeDropTables(db, QStringList() << qTableName("manytmp", __FILE__) << qTableName("test3tmp", __FILE__));
+ tst_Databases::safeDropTables(db, QStringList() << qTableName("manytmp", __FILE__, db) << qTableName("test3tmp", __FILE__, db));
}
void tst_QSqlQueryModel::generic_data(const QString& engine)
@@ -232,7 +232,7 @@ void tst_QSqlQueryModel::removeColumn()
CHECK_DATABASE(db);
DBTestModel model;
- model.setQuery(QSqlQuery("select * from " + qTableName("test", __FILE__), db));
+ model.setQuery(QSqlQuery("select * from " + qTableName("test", __FILE__, db), db));
model.fetchMore();
QSignalSpy spy(&model, SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)));
@@ -314,7 +314,7 @@ void tst_QSqlQueryModel::insertColumn()
CHECK_DATABASE(db);
DBTestModel model;
- model.setQuery(QSqlQuery("select * from " + qTableName("test", __FILE__), db));
+ model.setQuery(QSqlQuery("select * from " + qTableName("test", __FILE__, db), db));
model.fetchMore(); // necessary???
bool isToUpper = db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2");
@@ -417,7 +417,7 @@ void tst_QSqlQueryModel::record()
CHECK_DATABASE(db);
QSqlQueryModel model;
- model.setQuery(QSqlQuery("select * from " + qTableName("test", __FILE__), db));
+ model.setQuery(QSqlQuery("select * from " + qTableName("test", __FILE__, db), db));
QSqlRecord rec = model.record();
@@ -451,7 +451,7 @@ void tst_QSqlQueryModel::setHeaderData()
QVERIFY(!model.setHeaderData(5, Qt::Vertical, "foo"));
QVERIFY(model.headerData(5, Qt::Vertical).isValid());
- model.setQuery(QSqlQuery("select * from " + qTableName("test", __FILE__), db));
+ model.setQuery(QSqlQuery("select * from " + qTableName("test", __FILE__, db), db));
qRegisterMetaType<Qt::Orientation>("Qt::Orientation");
QSignalSpy spy(&model, SIGNAL(headerDataChanged(Qt::Orientation,int,int)));
@@ -482,7 +482,7 @@ void tst_QSqlQueryModel::fetchMore()
QSignalSpy modelAboutToBeResetSpy(&model, SIGNAL(modelAboutToBeReset()));
QSignalSpy modelResetSpy(&model, SIGNAL(modelReset()));
- model.setQuery(QSqlQuery("select * from " + qTableName("many", __FILE__), db));
+ model.setQuery(QSqlQuery("select * from " + qTableName("many", __FILE__, db), db));
int rowCount = model.rowCount();
QCOMPARE(modelAboutToBeResetSpy.count(), 1);
@@ -514,7 +514,7 @@ void tst_QSqlQueryModel::withSortFilterProxyModel()
QSKIP("Test applies only for drivers not reporting the query size.");
QSqlQueryModel model;
- model.setQuery(QSqlQuery("SELECT * FROM " + qTableName("test3", __FILE__), db));
+ model.setQuery(QSqlQuery("SELECT * FROM " + qTableName("test3", __FILE__, db), db));
QSortFilterProxyModel proxy;
proxy.setSourceModel(&model);
@@ -524,7 +524,7 @@ void tst_QSqlQueryModel::withSortFilterProxyModel()
QSignalSpy modelAboutToBeResetSpy(&model, SIGNAL(modelAboutToBeReset()));
QSignalSpy modelResetSpy(&model, SIGNAL(modelReset()));
QSignalSpy modelRowsInsertedSpy(&model, SIGNAL(rowsInserted(QModelIndex,int,int)));
- model.setQuery(QSqlQuery("SELECT * FROM " + qTableName("test3", __FILE__), db));
+ model.setQuery(QSqlQuery("SELECT * FROM " + qTableName("test3", __FILE__, db), db));
view.scrollToBottom();
QTestEventLoop::instance().enterLoop(1);
@@ -555,13 +555,13 @@ void tst_QSqlQueryModel::setQuerySignalEmission()
QSignalSpy modelResetSpy(&model, SIGNAL(modelReset()));
// First select, the model was empty and no rows had to be removed, but model resets anyway.
- model.setQuery(QSqlQuery("SELECT * FROM " + qTableName("test", __FILE__), db));
+ model.setQuery(QSqlQuery("SELECT * FROM " + qTableName("test", __FILE__, db), db));
QCOMPARE(modelAboutToBeResetSpy.count(), 1);
QCOMPARE(modelResetSpy.count(), 1);
// Second select, the model wasn't empty and two rows had to be removed!
// setQuery() resets the model accompanied by begin and end signals
- model.setQuery(QSqlQuery("SELECT * FROM " + qTableName("test", __FILE__), db));
+ model.setQuery(QSqlQuery("SELECT * FROM " + qTableName("test", __FILE__, db), db));
QCOMPARE(modelAboutToBeResetSpy.count(), 2);
QCOMPARE(modelResetSpy.count(), 2);
}
@@ -580,7 +580,7 @@ void tst_QSqlQueryModel::setQueryWithNoRowsInResultSet()
// The query's result set will be empty so no signals should be emitted!
QSqlQuery query(db);
- QVERIFY_SQL(query, exec("SELECT * FROM " + qTableName("test", __FILE__) + " where 0 = 1"));
+ QVERIFY_SQL(query, exec("SELECT * FROM " + qTableName("test", __FILE__, db) + " where 0 = 1"));
model.setQuery(query);
QCOMPARE(modelRowsAboutToBeInsertedSpy.count(), 0);
QCOMPARE(modelRowsInsertedSpy.count(), 0);
@@ -649,7 +649,7 @@ void tst_QSqlQueryModel::task_180617()
QFETCH(QString, dbName);
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
- const QString test3(qTableName("test3", __FILE__));
+ const QString test3(qTableName("test3", __FILE__, db));
QTableView view;
QCOMPARE(view.columnAt(0), -1);
diff --git a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
index 58ad995245..b218a0c4f7 100644
--- a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
+++ b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
@@ -45,11 +45,11 @@
#include "../../kernel/qsqldatabase/tst_databases.h"
-const QString reltest1(qTableName("reltest1", __FILE__)),
- reltest2(qTableName("reltest2", __FILE__)),
- reltest3(qTableName("reltest3", __FILE__)),
- reltest4(qTableName("reltest4", __FILE__)),
- reltest5(qTableName("reltest5", __FILE__));
+const QString reltest1(qTableName("reltest1", __FILE__, QSqlDatabase())),
+ reltest2(qTableName("reltest2", __FILE__, QSqlDatabase())),
+ reltest3(qTableName("reltest3", __FILE__, QSqlDatabase())),
+ reltest4(qTableName("reltest4", __FILE__, QSqlDatabase())),
+ reltest5(qTableName("reltest5", __FILE__, QSqlDatabase()));
class tst_QSqlRelationalTableModel : public QObject
{
@@ -134,13 +134,13 @@ void tst_QSqlRelationalTableModel::recreateTestTables(QSqlDatabase db)
QVERIFY_SQL( q, exec("insert into " + reltest5 + " values('mister', 'Mr')"));
if (testWhiteSpaceNames(db.driverName())) {
- QString reltest6 = db.driver()->escapeIdentifier(qTableName("rel", __FILE__)+" test6", QSqlDriver::TableName);
+ QString reltest6 = db.driver()->escapeIdentifier(qTableName("rel", __FILE__, db) + " test6", QSqlDriver::TableName);
QVERIFY_SQL( q, exec("create table " + reltest6 + " (id int not null primary key, " + db.driver()->escapeIdentifier("city key", QSqlDriver::FieldName) +
" int, " + db.driver()->escapeIdentifier("extra field", QSqlDriver::FieldName) + " int)"));
QVERIFY_SQL( q, exec("insert into " + reltest6 + " values(1, 1,9)"));
QVERIFY_SQL( q, exec("insert into " + reltest6 + " values(2, 2,8)"));
- QString reltest7 = db.driver()->escapeIdentifier(qTableName("rel", __FILE__)+" test7", QSqlDriver::TableName);
+ QString reltest7 = db.driver()->escapeIdentifier(qTableName("rel", __FILE__, db) + " test7", QSqlDriver::TableName);
QVERIFY_SQL( q, exec("create table " + reltest7 + " (" + db.driver()->escapeIdentifier("city id", QSqlDriver::TableName) + " int not null primary key, " + db.driver()->escapeIdentifier("city name", QSqlDriver::FieldName) + " varchar(20))"));
QVERIFY_SQL( q, exec("insert into " + reltest7 + " values(1, 'New York')"));
QVERIFY_SQL( q, exec("insert into " + reltest7 + " values(2, 'Washington')"));
@@ -181,14 +181,14 @@ void tst_QSqlRelationalTableModel::dropTestTables( QSqlDatabase db )
<< reltest3
<< reltest4
<< reltest5
- << (qTableName( "rel", __FILE__)+" test6")
- << (qTableName( "rel", __FILE__)+" test7")
- << qTableName("CASETEST1", db.driver() )
- << qTableName("casetest1", db.driver() );
+ << (qTableName("rel", __FILE__, db) + " test6")
+ << (qTableName( "rel", __FILE__, db) + " test7")
+ << qTableName("CASETEST1", db)
+ << qTableName("casetest1", db);
tst_Databases::safeDropTables( db, tableNames );
- db.exec("DROP SCHEMA "+qTableName("QTBUG_5373", __FILE__)+" CASCADE");
- db.exec("DROP SCHEMA "+qTableName("QTBUG_5373_s2", __FILE__)+" CASCADE");
+ db.exec("DROP SCHEMA " + qTableName("QTBUG_5373", __FILE__, db) + " CASCADE");
+ db.exec("DROP SCHEMA " + qTableName("QTBUG_5373_s2", __FILE__, db) + " CASCADE");
}
void tst_QSqlRelationalTableModel::init()
@@ -1095,54 +1095,54 @@ void tst_QSqlRelationalTableModel::casing()
QSKIP("The casing test for this database is irrelevant since this database does not treat different cases as separate entities");
QSqlQuery q(db);
- QVERIFY_SQL( q, exec("create table " + qTableName("CASETEST1", db.driver()).toUpper() +
+ QVERIFY_SQL( q, exec("create table " + qTableName("CASETEST1", db).toUpper() +
" (id int not null primary key, name varchar(20), title_key int, another_title_key int)"));
- if( !q.exec("create table " + qTableName("casetest1", db.driver()) +
+ if (!q.exec("create table " + qTableName("casetest1", db) +
" (ident int not null primary key, name varchar(20), title_key int)"))
QSKIP("The casing test for this database is irrelevant since this database does not treat different cases as separate entities");
- QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(1, 'harry', 1, 2)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(2, 'trond', 2, 1)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(3, 'vohi', 1, 2)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(4, 'boris', 2, 2)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db.driver()) + " values(1, 'jerry', 1)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db.driver()) + " values(2, 'george', 2)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db.driver()) + " values(4, 'kramer', 2)"));
+ QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db).toUpper() + " values(1, 'harry', 1, 2)"));
+ QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db).toUpper() + " values(2, 'trond', 2, 1)"));
+ QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db).toUpper() + " values(3, 'vohi', 1, 2)"));
+ QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db).toUpper() + " values(4, 'boris', 2, 2)"));
+ QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db) + " values(1, 'jerry', 1)"));
+ QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db) + " values(2, 'george', 2)"));
+ QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db) + " values(4, 'kramer', 2)"));
if (db.driverName().startsWith("QOCI")) {
//try an owner that doesn't exist
- QSqlRecord rec = db.driver()->record("doug." + qTableName("CASETEST1", db.driver()).toUpper());
+ QSqlRecord rec = db.driver()->record("doug." + qTableName("CASETEST1", db).toUpper());
QCOMPARE( rec.count(), 0);
//try an owner that does exist
- rec = db.driver()->record(db.userName() + "." + qTableName("CASETEST1", db.driver()).toUpper());
+ rec = db.driver()->record(db.userName() + "." + qTableName("CASETEST1", db).toUpper());
QCOMPARE( rec.count(), 4);
}
- QSqlRecord rec = db.driver()->record(qTableName("CASETEST1", db.driver()).toUpper());
+ QSqlRecord rec = db.driver()->record(qTableName("CASETEST1", db).toUpper());
QCOMPARE( rec.count(), 4);
- rec = db.driver()->record(qTableName("casetest1", db.driver()));
+ rec = db.driver()->record(qTableName("casetest1", db));
QCOMPARE( rec.count(), 3);
QSqlTableModel upperCaseModel(0, db);
- upperCaseModel.setTable(qTableName("CASETEST1", db.driver()).toUpper());
+ upperCaseModel.setTable(qTableName("CASETEST1", db).toUpper());
- QCOMPARE(upperCaseModel.tableName(),qTableName("CASETEST1",db.driver()).toUpper());
+ QCOMPARE(upperCaseModel.tableName(), qTableName("CASETEST1", db).toUpper());
QVERIFY_SQL(upperCaseModel, select());
QCOMPARE(upperCaseModel.rowCount(), 4);
QSqlTableModel lowerCaseModel(0, db);
- lowerCaseModel.setTable(qTableName("casetest1", db.driver()));
- QCOMPARE(lowerCaseModel.tableName(), qTableName("casetest1",db.driver()));
+ lowerCaseModel.setTable(qTableName("casetest1", db));
+ QCOMPARE(lowerCaseModel.tableName(), qTableName("casetest1", db));
QVERIFY_SQL(lowerCaseModel, select());
QCOMPARE(lowerCaseModel.rowCount(), 3);
QSqlRelationalTableModel model(0, db);
- model.setTable(qTableName("CASETEST1", db.driver()).toUpper());
+ model.setTable(qTableName("CASETEST1", db).toUpper());
model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
QVERIFY_SQL(model, select());
@@ -1372,9 +1372,9 @@ void tst_QSqlRelationalTableModel::whiteSpaceInIdentifiers()
if (!testWhiteSpaceNames(db.driverName()))
QSKIP("White space test irrelevant for driver");
QSqlRelationalTableModel model(0, db);
- model.setTable(db.driver()->escapeIdentifier(qTableName("rel", __FILE__)+" test6", QSqlDriver::TableName));
+ model.setTable(db.driver()->escapeIdentifier(qTableName("rel", __FILE__, db) + " test6", QSqlDriver::TableName));
model.setSort(0, Qt::DescendingOrder);
- model.setRelation(1, QSqlRelation(db.driver()->escapeIdentifier(qTableName("rel", __FILE__)+" test7", QSqlDriver::TableName),
+ model.setRelation(1, QSqlRelation(db.driver()->escapeIdentifier(qTableName("rel", __FILE__, db) + " test7", QSqlDriver::TableName),
db.driver()->escapeIdentifier("city id", QSqlDriver::FieldName),
db.driver()->escapeIdentifier("city name", QSqlDriver::FieldName)));
QVERIFY_SQL(model, select());
@@ -1459,13 +1459,15 @@ void tst_QSqlRelationalTableModel::psqlSchemaTest()
QSqlRelationalTableModel model(0, db);
QSqlQuery q(db);
- QVERIFY_SQL(q, exec("create schema "+qTableName("QTBUG_5373", __FILE__)));
- QVERIFY_SQL(q, exec("create schema "+qTableName("QTBUG_5373_s2", __FILE__)));
- QVERIFY_SQL(q, exec("create table "+qTableName("QTBUG_5373", __FILE__)+"."+qTableName("document", __FILE__)+"(document_id int primary key, relatingid int, userid int)"));
- QVERIFY_SQL(q, exec("create table "+qTableName("QTBUG_5373_s2", __FILE__)+"."+qTableName("user", __FILE__)+"(userid int primary key, username char(40))"));
- model.setTable(qTableName("QTBUG_5373", __FILE__)+"."+qTableName("document", __FILE__));
- model.setRelation(1, QSqlRelation(qTableName("QTBUG_5373_s2", __FILE__)+"."+qTableName("user", __FILE__), "userid", "username"));
- model.setRelation(2, QSqlRelation(qTableName("QTBUG_5373_s2", __FILE__)+"."+qTableName("user", __FILE__), "userid", "username"));
+ QVERIFY_SQL(q, exec("create schema " + qTableName("QTBUG_5373", __FILE__, db)));
+ QVERIFY_SQL(q, exec("create schema " + qTableName("QTBUG_5373_s2", __FILE__, db)));
+ QVERIFY_SQL(q, exec("create table " + qTableName("QTBUG_5373", __FILE__, db) + "." + qTableName("document", __FILE__, db) +
+ "(document_id int primary key, relatingid int, userid int)"));
+ QVERIFY_SQL(q, exec("create table " + qTableName("QTBUG_5373_s2", __FILE__, db) + "." + qTableName("user", __FILE__, db) +
+ "(userid int primary key, username char(40))"));
+ model.setTable(qTableName("QTBUG_5373", __FILE__, db) + "." + qTableName("document", __FILE__, db));
+ model.setRelation(1, QSqlRelation(qTableName("QTBUG_5373_s2", __FILE__, db) + "." + qTableName("user", __FILE__, db), "userid", "username"));
+ model.setRelation(2, QSqlRelation(qTableName("QTBUG_5373_s2", __FILE__, db) + "." + qTableName("user", __FILE__, db), "userid", "username"));
QVERIFY_SQL(model, select());
model.setJoinMode(QSqlRelationalTableModel::LeftJoin);
@@ -1503,8 +1505,8 @@ void tst_QSqlRelationalTableModel::relationOnFirstColumn()
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
- QString testTable1 = qTableName("QTBUG_20038_test1", __FILE__);
- QString testTable2 = qTableName("QTBUG_20038_test2", __FILE__);
+ QString testTable1 = qTableName("QTBUG_20038_test1", __FILE__, db);
+ QString testTable2 = qTableName("QTBUG_20038_test2", __FILE__, db);
tst_Databases::safeDropTables(db, QStringList() << testTable1 << testTable2);
//prepare test1 table
diff --git a/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp b/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
index df89ba3cf8..771c224963 100644
--- a/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
+++ b/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
@@ -45,9 +45,9 @@
#include <QtSql>
#include <QtSql/private/qsqltablemodel_p.h>
-const QString test(qTableName("test", __FILE__)),
- test2(qTableName("test2", __FILE__)),
- test3(qTableName("test3", __FILE__));
+const QString test(qTableName("test", __FILE__, QSqlDatabase())),
+ test2(qTableName("test2", __FILE__, QSqlDatabase())),
+ test3(qTableName("test3", __FILE__, QSqlDatabase()));
class tst_QSqlTableModel : public QObject
@@ -176,18 +176,18 @@ void tst_QSqlTableModel::dropTestTables()
tableNames << test
<< test2
<< test3
- << qTableName("test4", __FILE__)
- << qTableName("emptytable", __FILE__)
- << qTableName("bigtable", __FILE__)
- << qTableName("foo", __FILE__)
- << qTableName("pktest", __FILE__);
+ << qTableName("test4", __FILE__, db)
+ << qTableName("emptytable", __FILE__, db)
+ << qTableName("bigtable", __FILE__, db)
+ << qTableName("foo", __FILE__, db)
+ << qTableName("pktest", __FILE__, db);
if (testWhiteSpaceNames(db.driverName()))
- tableNames << qTableName("qtestw hitespace", db.driver());
+ tableNames << qTableName("qtestw hitespace", db);
tst_Databases::safeDropTables(db, tableNames);
if (db.driverName().startsWith("QPSQL")) {
- q.exec("DROP SCHEMA " + qTableName("testschema", __FILE__) + " CASCADE");
+ q.exec("DROP SCHEMA " + qTableName("testschema", __FILE__, db) + " CASCADE");
}
}
}
@@ -205,19 +205,19 @@ void tst_QSqlTableModel::createTestTables()
QVERIFY_SQL( q, exec("create table " + test3 + "(id int, random varchar(20), randomtwo varchar(20))"));
if(!tst_Databases::isSqlServer(db))
- QVERIFY_SQL( q, exec("create table " + qTableName("test4", __FILE__) + "(column1 varchar(50), column2 varchar(50), column3 varchar(50))"));
+ QVERIFY_SQL(q, exec("create table " + qTableName("test4", __FILE__, db) + "(column1 varchar(50), column2 varchar(50), column3 varchar(50))"));
else
- QVERIFY_SQL( q, exec("create table " + qTableName("test4", __FILE__) + "(column1 varchar(50), column2 varchar(50) NULL, column3 varchar(50))"));
+ QVERIFY_SQL(q, exec("create table " + qTableName("test4", __FILE__, db) + "(column1 varchar(50), column2 varchar(50) NULL, column3 varchar(50))"));
- QVERIFY_SQL( q, exec("create table " + qTableName("emptytable", __FILE__) + "(id int)"));
+ QVERIFY_SQL(q, exec("create table " + qTableName("emptytable", __FILE__, db) + "(id int)"));
if (testWhiteSpaceNames(db.driverName())) {
- QString qry = "create table " + qTableName("qtestw hitespace", db.driver()) + " ("+ db.driver()->escapeIdentifier("a field", QSqlDriver::FieldName) + " int)";
+ QString qry = "create table " + qTableName("qtestw hitespace", db) + " ("+ db.driver()->escapeIdentifier("a field", QSqlDriver::FieldName) + " int)";
QVERIFY_SQL( q, exec(qry));
}
- QVERIFY_SQL( q, exec("create table "+qTableName("pktest", __FILE__)+"(id int not null primary key, a varchar(20))"));
+ QVERIFY_SQL(q, exec("create table " + qTableName("pktest", __FILE__, db) + "(id int not null primary key, a varchar(20))"));
}
}
@@ -343,7 +343,7 @@ void tst_QSqlTableModel::selectRow()
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
- QString tbl = qTableName("pktest", __FILE__);
+ QString tbl = qTableName("pktest", __FILE__, db);
QSqlQuery q(db);
q.exec("DELETE FROM " + tbl);
q.exec("INSERT INTO " + tbl + " (id, a) VALUES (0, 'a')");
@@ -403,7 +403,7 @@ void tst_QSqlTableModel::selectRowOverride()
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
- QString tbl = qTableName("pktest", __FILE__);
+ QString tbl = qTableName("pktest", __FILE__, db);
QSqlQuery q(db);
q.exec("DELETE FROM " + tbl);
q.exec("INSERT INTO " + tbl + " (id, a) VALUES (0, 'a')");
@@ -827,7 +827,7 @@ void tst_QSqlTableModel::insertRowFailure()
CHECK_DATABASE(db);
QSqlTableModel model(0, db);
- model.setTable(qTableName("pktest", __FILE__));
+ model.setTable(qTableName("pktest", __FILE__, db));
model.setEditStrategy(submitpolicy);
QSqlRecord values = model.record();
@@ -975,7 +975,7 @@ void tst_QSqlTableModel::insertWithAutoColumn()
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
- QString tbl = qTableName("autoColumnTest", __FILE__);
+ QString tbl = qTableName("autoColumnTest", __FILE__, db);
QSqlQuery q(db);
q.exec("DROP TABLE " + tbl);
QVERIFY_SQL(q, exec("CREATE TABLE " + tbl + "(id INTEGER PRIMARY KEY AUTOINCREMENT, val TEXT)"));
@@ -1378,8 +1378,8 @@ void tst_QSqlTableModel::revert()
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
- QString tblA = qTableName("revertATest", __FILE__);
- QString tblB = qTableName("revertBTest", __FILE__);
+ QString tblA = qTableName("revertATest", __FILE__, db);
+ QString tblB = qTableName("revertBTest", __FILE__, db);
QSqlQuery q(db);
q.exec("PRAGMA foreign_keys = ON;");
q.exec("DROP TABLE " + tblB);
@@ -1646,7 +1646,7 @@ void tst_QSqlTableModel::emptyTable()
QCOMPARE(model.rowCount(), 0);
QCOMPARE(model.columnCount(), 0);
- model.setTable(qTableName("emptytable", __FILE__));
+ model.setTable(qTableName("emptytable", __FILE__, db));
QCOMPARE(model.rowCount(), 0);
QCOMPARE(model.columnCount(), 1);
@@ -1670,9 +1670,9 @@ void tst_QSqlTableModel::tablesAndSchemas()
CHECK_DATABASE(db);
QSqlQuery q(db);
- q.exec("DROP SCHEMA " + qTableName("testschema", __FILE__) + " CASCADE");
- QVERIFY_SQL( q, exec("create schema " + qTableName("testschema", __FILE__)));
- QString tableName = qTableName("testschema", __FILE__) + '.' + qTableName("testtable", __FILE__);
+ q.exec("DROP SCHEMA " + qTableName("testschema", __FILE__, db) + " CASCADE");
+ QVERIFY_SQL( q, exec("create schema " + qTableName("testschema", __FILE__, db)));
+ QString tableName = qTableName("testschema", __FILE__, db) + '.' + qTableName("testtable", __FILE__, db);
QVERIFY_SQL( q, exec("create table " + tableName + "(id int)"));
QVERIFY_SQL( q, exec("insert into " + tableName + " values(1)"));
QVERIFY_SQL( q, exec("insert into " + tableName + " values(2)"));
@@ -1693,7 +1693,7 @@ void tst_QSqlTableModel::whitespaceInIdentifiers()
if (!testWhiteSpaceNames(db.driverName()))
QSKIP("DBMS doesn't support whitespaces in identifiers");
- QString tableName = qTableName("qtestw hitespace", db.driver());
+ QString tableName = qTableName("qtestw hitespace", db);
QSqlTableModel model(0, db);
model.setTable(tableName);
@@ -1711,10 +1711,10 @@ void tst_QSqlTableModel::primaryKeyOrder()
if(tst_Databases::isPostgreSQL(db))
QVERIFY_SQL( q, exec("set client_min_messages='warning'"));
- QVERIFY_SQL( q, exec("create table "+qTableName("foo", __FILE__)+"(a varchar(20), id int not null primary key, b varchar(20))"));
+ QVERIFY_SQL(q, exec("create table " + qTableName("foo", __FILE__, db) + "(a varchar(20), id int not null primary key, b varchar(20))"));
QSqlTableModel model(0, db);
- model.setTable(qTableName("foo", __FILE__));
+ model.setTable(qTableName("foo", __FILE__, db));
QSqlIndex pk = model.primaryKey();
QCOMPARE(pk.count(), 1);
@@ -1783,7 +1783,7 @@ void tst_QSqlTableModel::sqlite_bigTable()
QFETCH(QString, dbName);
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
- const QString bigtable(qTableName("bigtable", __FILE__));
+ const QString bigtable(qTableName("bigtable", __FILE__, db));
bool hasTransactions = db.driver()->hasFeature(QSqlDriver::Transactions);
if (hasTransactions) QVERIFY(db.transaction());
@@ -1865,7 +1865,7 @@ void tst_QSqlTableModel::submitAllOnInvalidTable()
// setTable returns a void, so the error can only be caught by
// manually checking lastError(). ### Qt5: This should be changed!
- model.setTable(qTableName("invalidTable", __FILE__));
+ model.setTable(qTableName("invalidTable", __FILE__, db));
QCOMPARE(model.lastError().type(), QSqlError::StatementError);
// This will give us an empty record which is expected behavior
@@ -1975,7 +1975,7 @@ void tst_QSqlTableModel::tableModifyWithBlank()
CHECK_DATABASE(db);
QSqlTableModel model(0, db);
- model.setTable(qTableName("test4", __FILE__));
+ model.setTable(qTableName("test4", __FILE__, db));
model.select();
//generate a time stamp for the test. Add one second to the current time to make sure