diff options
Diffstat (limited to 'tests/auto/sql/models')
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 |