summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
diff options
context:
space:
mode:
authorVyacheslav Grigoryev <armagvvg@gmail.com>2016-02-16 09:19:03 +0300
committerMark Brand <mabrand@mabrand.nl>2016-02-17 23:13:58 +0000
commit34472e946a11bf6e06ba9ed7b72f938ea6eede02 (patch)
tree7031e6bcb1e9bae80125dd8412687889fac32d2d /tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
parented4ef55ec5710f64799adb2b26201356eba788c9 (diff)
QSqlDriver: use table prefix in WHERE clauses
If the WHERE clause is used in a query involving multiple tables, such as generated by QSqlRelationalTableModel, the table prefix may be necessary to disambiguate column references. It is harmless if not needed. Task-number: QTBUG-43320 Change-Id: I39e1ab7359bf748afa8bcd8578220e3abb3ee24a Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Diffstat (limited to 'tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp')
-rw-r--r--tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp80
1 files changed, 40 insertions, 40 deletions
diff --git a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
index 3702631275..7007664c39 100644
--- a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
+++ b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
@@ -109,7 +109,7 @@ void tst_QSqlRelationalTableModel::recreateTestTables(QSqlDatabase db)
QVERIFY_SQL( q, exec("insert into " + reltest1 + " values(5, 'nat', NULL, NULL)"));
QVERIFY_SQL( q, exec("insert into " + reltest1 + " values(6, 'ale', NULL, 2)"));
- QVERIFY_SQL( q, exec("create table " + reltest2 + " (tid int not null primary key, title varchar(20))"));
+ QVERIFY_SQL( q, exec("create table " + reltest2 + " (id int not null primary key, title varchar(20))"));
QVERIFY_SQL( q, exec("insert into " + reltest2 + " values(1, 'herr')"));
QVERIFY_SQL( q, exec("insert into " + reltest2 + " values(2, 'mister')"));
@@ -201,7 +201,7 @@ void tst_QSqlRelationalTableModel::data()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.columnCount(), 4);
@@ -246,7 +246,7 @@ void tst_QSqlRelationalTableModel::setData()
model.setTable(reltest1);
model.setSort(0, Qt::AscendingOrder);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QVERIFY(model.setData(model.index(0, 1), QString("harry2")));
@@ -276,7 +276,7 @@ void tst_QSqlRelationalTableModel::setData()
QCOMPARE(model.data(model.index(3, 1)).toString(), QString("boris2"));
QCOMPARE(model.data(model.index(3, 2)).toInt(), 1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.data(model.index(0, 2)).toString(), QString("mister"));
QCOMPARE(model.data(model.index(3,2)).toString(), QString("herr"));
@@ -289,7 +289,7 @@ void tst_QSqlRelationalTableModel::setData()
model.setTable(reltest1);
model.setEditStrategy(QSqlTableModel::OnFieldChange);
model.setSort(0, Qt::AscendingOrder);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QVERIFY(model.setData(model.index(1,1), QString("trond2")));
@@ -307,7 +307,7 @@ void tst_QSqlRelationalTableModel::setData()
QCOMPARE(model.data(model.index(1, 1)).toString(), QString("trond2"));
QCOMPARE(model.data(model.index(2, 2)).toInt(), 2);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.data(model.index(2, 2)).toString(), QString("mister"));
}
@@ -317,12 +317,12 @@ void tst_QSqlRelationalTableModel::setData()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
//sybase doesn't allow tables with the same alias used twice as col names
//so don't set up an identical relation when using the tds driver
if (dbType != QSqlDriver::Sybase)
- model.setRelation(3, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(3, QSqlRelation(reltest2, "id", "title"));
model.setEditStrategy(QSqlTableModel::OnManualSubmit);
model.setSort(0, Qt::AscendingOrder);
@@ -351,9 +351,9 @@ void tst_QSqlRelationalTableModel::setData()
QCOMPARE(model.data(model.index(3, 2)).toInt(), 1);
QCOMPARE(model.data(model.index(0, 3)).toInt(), 1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
if (dbType != QSqlDriver::Sybase)
- model.setRelation(3, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(3, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.data(model.index(3, 2)).toString(), QString("herr"));
@@ -411,7 +411,7 @@ void tst_QSqlRelationalTableModel::multipleRelation()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
model.setRelation(3, QSqlRelation(reltest4, "id", "name"));
model.setSort(0, Qt::AscendingOrder);
QVERIFY_SQL(model, select());
@@ -425,7 +425,7 @@ void tst_QSqlRelationalTableModel::multipleRelation()
// Redo same test in the LeftJoin mode
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
model.setRelation(3, QSqlRelation(reltest4, "id", "name"));
model.setSort(0, Qt::AscendingOrder);
model.setJoinMode(QSqlRelationalTableModel::LeftJoin);
@@ -448,7 +448,7 @@ void tst_QSqlRelationalTableModel::insertRecord()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
model.setSort(0, Qt::AscendingOrder);
QVERIFY_SQL(model, select());
@@ -498,7 +498,7 @@ void tst_QSqlRelationalTableModel::setRecord()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
model.setSort(0, Qt::AscendingOrder);
QVERIFY_SQL(model, select());
@@ -559,11 +559,11 @@ void tst_QSqlRelationalTableModel::insertWithStrategies()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
model.setSort(0, Qt::AscendingOrder);
if (dbType != QSqlDriver::Sybase)
- model.setRelation(3, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(3, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.data(model.index(0,0)).toInt(), 1);
@@ -667,7 +667,7 @@ void tst_QSqlRelationalTableModel::removeColumn()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QVERIFY_SQL(model, removeColumn(3));
@@ -693,7 +693,7 @@ void tst_QSqlRelationalTableModel::removeColumn()
QSqlRelationalTableModel lmodel(0, db);
lmodel.setTable(reltest1);
- lmodel.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ lmodel.setRelation(2, QSqlRelation(reltest2, "id", "title"));
lmodel.setJoinMode(QSqlRelationalTableModel::LeftJoin);
QVERIFY_SQL(lmodel, select());
@@ -724,7 +724,7 @@ void tst_QSqlRelationalTableModel::filter()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
model.setFilter("title = 'herr'");
QVERIFY_SQL(model, select());
@@ -751,9 +751,9 @@ void tst_QSqlRelationalTableModel::sort()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
if (dbType != QSqlDriver::Sybase)
- model.setRelation(3, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(3, QSqlRelation(reltest2, "id", "title"));
model.setSort(2, Qt::DescendingOrder);
QVERIFY_SQL(model, select());
@@ -879,7 +879,7 @@ void tst_QSqlRelationalTableModel::revert()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
model.setRelation(3, QSqlRelation(reltest4, "id", "name"));
model.setSort(0, Qt::AscendingOrder);
@@ -917,10 +917,10 @@ void tst_QSqlRelationalTableModel::clearDisplayValuesCache()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
if (dbType != QSqlDriver::Sybase)
- model.setRelation(3, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(3, QSqlRelation(reltest2, "id", "title"));
model.setSort(1, Qt::AscendingOrder);
model.setEditStrategy(QSqlTableModel::OnManualSubmit);
@@ -1018,7 +1018,7 @@ void tst_QSqlRelationalTableModel::invalidData()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
//try set a non-existent relational key
@@ -1048,7 +1048,7 @@ void tst_QSqlRelationalTableModel::relationModel()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QVERIFY(!model.relationModel(0));
@@ -1142,7 +1142,7 @@ void tst_QSqlRelationalTableModel::casing()
QSqlRelationalTableModel model(0, db);
model.setTable(qTableName("CASETEST1", db).toUpper());
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.data(model.index(0, 0)).toInt(), 1);
@@ -1165,11 +1165,11 @@ void tst_QSqlRelationalTableModel::escapedRelations()
//try with relation table name quoted
if (dbType == QSqlDriver::Interbase || dbType == QSqlDriver::Oracle || dbType == QSqlDriver::DB2) {
model.setRelation(2, QSqlRelation(db.driver()->escapeIdentifier(reltest2.toUpper(),QSqlDriver::TableName),
- "tid",
+ "id",
"title"));
} else {
model.setRelation(2, QSqlRelation(db.driver()->escapeIdentifier(reltest2,QSqlDriver::TableName),
- "tid",
+ "id",
"title"));
}
@@ -1190,11 +1190,11 @@ void tst_QSqlRelationalTableModel::escapedRelations()
model.setJoinMode(QSqlRelationalTableModel::InnerJoin);
if (dbType == QSqlDriver::Interbase || dbType == QSqlDriver::Oracle || dbType == QSqlDriver::DB2) {
model.setRelation(2, QSqlRelation(reltest2,
- db.driver()->escapeIdentifier("tid", QSqlDriver::FieldName).toUpper(),
+ db.driver()->escapeIdentifier("id", QSqlDriver::FieldName).toUpper(),
"title"));
} else {
model.setRelation(2, QSqlRelation(reltest2,
- db.driver()->escapeIdentifier("tid", QSqlDriver::FieldName),
+ db.driver()->escapeIdentifier("id", QSqlDriver::FieldName),
"title"));
}
QVERIFY_SQL(model, select());
@@ -1215,11 +1215,11 @@ void tst_QSqlRelationalTableModel::escapedRelations()
if (dbType == QSqlDriver::Interbase || dbType == QSqlDriver::Oracle || dbType == QSqlDriver::DB2) {
model.setRelation(2, QSqlRelation(reltest2,
- "tid",
+ "id",
db.driver()->escapeIdentifier("title", QSqlDriver::FieldName).toUpper()));
} else {
model.setRelation(2, QSqlRelation(reltest2,
- "tid",
+ "id",
db.driver()->escapeIdentifier("title", QSqlDriver::FieldName)));
}
@@ -1240,11 +1240,11 @@ void tst_QSqlRelationalTableModel::escapedRelations()
model.setJoinMode(QSqlRelationalTableModel::InnerJoin);
if (dbType == QSqlDriver::Interbase || dbType == QSqlDriver::Oracle || dbType == QSqlDriver::DB2) {
model.setRelation(2, QSqlRelation(reltest2,
- "tid",
+ "id",
db.driver()->escapeIdentifier("title", QSqlDriver::FieldName).toUpper()));
} else {
model.setRelation(2, QSqlRelation(reltest2,
- "tid",
+ "id",
db.driver()->escapeIdentifier("title", QSqlDriver::FieldName)));
}
QVERIFY_SQL(model, select());
@@ -1278,7 +1278,7 @@ void tst_QSqlRelationalTableModel::escapedTableName()
model.setTable(db.driver()->escapeIdentifier(reltest1, QSqlDriver::TableName));
}
model.setSort(0, Qt::AscendingOrder);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QVERIFY(model.setData(model.index(0, 1), QString("harry2")));
@@ -1308,7 +1308,7 @@ void tst_QSqlRelationalTableModel::escapedTableName()
QCOMPARE(model.data(model.index(3, 1)).toString(), QString("boris2"));
QCOMPARE(model.data(model.index(3, 2)).toInt(), 1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.data(model.index(0, 2)).toString(), QString("mister"));
QCOMPARE(model.data(model.index(3,2)).toString(), QString("herr"));
@@ -1325,7 +1325,7 @@ void tst_QSqlRelationalTableModel::escapedTableName()
model.setTable(db.driver()->escapeIdentifier(reltest1, QSqlDriver::TableName));
}
model.setSort(0, Qt::AscendingOrder);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
model.setJoinMode(QSqlRelationalTableModel::LeftJoin);
QVERIFY_SQL(model, select());
@@ -1357,7 +1357,7 @@ void tst_QSqlRelationalTableModel::escapedTableName()
QCOMPARE(model.data(model.index(3, 1)).toString(), QString("boris2"));
QCOMPARE(model.data(model.index(3, 2)).toInt(), 1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.data(model.index(0, 2)).toString(), QString("mister"));
QCOMPARE(model.data(model.index(3,2)).toString(), QString("herr"));
@@ -1485,7 +1485,7 @@ void tst_QSqlRelationalTableModel::selectAfterUpdate()
QSqlRelationalTableModel model(0, db);
model.setTable(reltest1);
- model.setRelation(2, QSqlRelation(reltest2, "tid", "title"));
+ model.setRelation(2, QSqlRelation(reltest2, "id", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.relationModel(2)->rowCount(), 2);
{