qsqltablemodel.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/sql/models/qsqltablemodel.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7typedef QSqlTableModelSql Sql;-
8-
9QSqlTableModelPrivate::~QSqlTableModelPrivate()-
10{-
11-
12}-
13-
14-
15-
16-
17QSqlRecord QSqlTableModelPrivate::record(const QVector<QVariant> &values) const-
18{-
19 QSqlRecord r = rec;-
20 for (int i = 0; i < r.count()
i < r.count()Description
TRUEnever evaluated
FALSEnever evaluated
&& i < values.count()
i < values.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
21 r.setValue(i, values.at(i));
never executed: r.setValue(i, values.at(i));
0
22 return
never executed: return r;
r;
never executed: return r;
0
23}-
24-
25int QSqlTableModelPrivate::nameToIndex(const QString &name) const-
26{-
27 return
executed 116 times by 2 tests: return rec.indexOf(strippedFieldName(name));
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
rec.indexOf(strippedFieldName(name));
executed 116 times by 2 tests: return rec.indexOf(strippedFieldName(name));
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
116
28}-
29-
30QString QSqlTableModelPrivate::strippedFieldName(const QString &name) const-
31{-
32 QString fieldname = name;-
33 if (db.driver()->isIdentifierEscaped(fieldname, QSqlDriver::FieldName)
db.driver()->i...er::FieldName)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tst_QSqlRelationalTableModel
FALSEevaluated 129 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
4-129
34 fieldname = db.driver()->stripDelimiters(fieldname, QSqlDriver::FieldName);
executed 4 times by 1 test: fieldname = db.driver()->stripDelimiters(fieldname, QSqlDriver::FieldName);
Executed by:
  • tst_QSqlRelationalTableModel
4
35 return
executed 133 times by 2 tests: return fieldname;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
fieldname;
executed 133 times by 2 tests: return fieldname;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
133
36}-
37-
38int QSqlTableModelPrivate::insertCount(int maxRow) const-
39{-
40 int cnt = 0;-
41 CacheMap::ConstIterator i = cache.constBegin();-
42 const CacheMap::ConstIterator e = cache.constEnd();-
43 for ( ; i != e
i != eDescription
TRUEevaluated 2172 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 12805 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
&& (maxRow < 0
maxRow < 0Description
TRUEevaluated 1714 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 458 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| i.key() <= maxRow
i.key() <= maxRowDescription
TRUEevaluated 380 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 78 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
); ++i)
78-12805
44 if (i.value().insert()
i.value().insert()Description
TRUEevaluated 1278 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 816 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
816-1278
45 ++
executed 1278 times by 2 tests: ++cnt;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
cnt;
executed 1278 times by 2 tests: ++cnt;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
1278
46-
47 return
executed 12883 times by 3 tests: return cnt;
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
cnt;
executed 12883 times by 3 tests: return cnt;
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
12883
48}-
49-
50void QSqlTableModelPrivate::initRecordAndPrimaryIndex()-
51{-
52 rec = db.record(tableName);-
53 primaryIndex = db.primaryIndex(tableName);-
54 initColOffsets(rec.count());-
55}
executed 185 times by 3 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
185
56-
57void QSqlTableModelPrivate::clear()-
58{-
59 sortColumn = -1;-
60 sortOrder = Qt::AscendingOrder;-
61 tableName.clear();-
62 editQuery.clear();-
63 cache.clear();-
64 primaryIndex.clear();-
65 rec.clear();-
66 filter.clear();-
67}
executed 190 times by 3 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
190
68-
69void QSqlTableModelPrivate::clearCache()-
70{-
71 cache.clear();-
72}
executed 315 times by 3 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
315
73-
74void QSqlTableModelPrivate::revertCachedRow(int row)-
75{-
76 QSqlTableModel * const q = q_func();-
77 ModifiedRow r = cache.value(row);-
78-
79 switch (r.op()) {-
80 case
never executed: case QSqlTableModelPrivate::None:
QSqlTableModelPrivate::None:
never executed: case QSqlTableModelPrivate::None:
0
81 ((!(false)) ? qt_assert_x("QSqlTableModelPrivate::revertCachedRow()", "Invalid entry in cache map",__FILE__,124) : qt_noop());-
82 return;
never executed: return;
0
83 case
executed 17 times by 2 tests: case QSqlTableModelPrivate::Update:
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QSqlTableModelPrivate::Update:
executed 17 times by 2 tests: case QSqlTableModelPrivate::Update:
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
17
84 case
executed 3 times by 1 test: case QSqlTableModelPrivate::Delete:
Executed by:
  • tst_QSqlTableModel
QSqlTableModelPrivate::Delete:
executed 3 times by 1 test: case QSqlTableModelPrivate::Delete:
Executed by:
  • tst_QSqlTableModel
3
85 if (!r.submitted()
!r.submitted()Description
TRUEevaluated 17 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tst_QSqlRelationalTableModel
) {
3-17
86 cache[row].revert();-
87 q->dataChanged(q->createIndex(row, 0),-
88 q->createIndex(row, q->columnCount() - 1));-
89 }
executed 17 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
17
90 break;
executed 20 times by 2 tests: break;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
20
91 case
executed 32 times by 2 tests: case QSqlTableModelPrivate::Insert:
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QSqlTableModelPrivate::Insert:
executed 32 times by 2 tests: case QSqlTableModelPrivate::Insert:
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
{
32
92 QMap<int, QSqlTableModelPrivate::ModifiedRow>::Iterator it = cache.find(row);-
93 if (it == cache.end()
it == cache.end()Description
TRUEnever evaluated
FALSEevaluated 32 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-32
94 return;
never executed: return;
0
95 q->beginRemoveRows(QModelIndex(), row, row);-
96 it = cache.erase(it);-
97 while (it != cache.end()
it != cache.end()Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 32 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
5-32
98 int oldKey = it.key();-
99 const QSqlTableModelPrivate::ModifiedRow oldValue = it.value();-
100 cache.erase(it);-
101 it = cache.insert(oldKey - 1, oldValue);-
102 ++it;-
103 }
executed 5 times by 1 test: end of block
Executed by:
  • tst_QSqlTableModel
5
104 q->endRemoveRows();-
105 break;
executed 32 times by 2 tests: break;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
}
32
106 }-
107}
executed 52 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
52
108-
109bool QSqlTableModelPrivate::exec(const QString &stmt, bool prepStatement,-
110 const QSqlRecord &rec, const QSqlRecord &whereValues)-
111{-
112 if (stmt.isEmpty()
stmt.isEmpty()Description
TRUEnever evaluated
FALSEevaluated 123 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-123
113 return
never executed: return false;
false;
never executed: return false;
0
114-
115-
116 if (editQuery.driver() != db.driver()
editQuery.driv...!= db.driver()Description
TRUEevaluated 51 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 72 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
51-72
117 editQuery = QSqlQuery(db);
executed 51 times by 2 tests: editQuery = QSqlQuery(db);
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
51
118-
119-
120-
121 if (db.driver()->hasFeature(QSqlDriver::SimpleLocking)
db.driver()->h...SimpleLocking)Description
TRUEevaluated 123 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEnever evaluated
)
0-123
122 const_cast<
executed 123 times by 2 tests: const_cast<QSqlResult *>(query.result())->detachFromResultSet();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QSqlResult *>(query.result())->detachFromResultSet();
executed 123 times by 2 tests: const_cast<QSqlResult *>(query.result())->detachFromResultSet();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
123
123-
124 if (prepStatement
prepStatementDescription
TRUEevaluated 123 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEnever evaluated
) {
0-123
125 if (editQuery.lastQuery() != stmt
editQuery.lastQuery() != stmtDescription
TRUEevaluated 79 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 44 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
44-79
126 if (!editQuery.prepare(stmt)
!editQuery.prepare(stmt)Description
TRUEnever evaluated
FALSEevaluated 79 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
0-79
127 error = editQuery.lastError();-
128 return
never executed: return false;
false;
never executed: return false;
0
129 }-
130 }
executed 79 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
79
131 int i;-
132 for (i = 0; i < rec.count()
i < rec.count()Description
TRUEevaluated 298 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 123 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
; ++i)
123-298
133 if (rec.isGenerated(i)
rec.isGenerated(i)Description
TRUEevaluated 192 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 106 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
106-192
134 editQuery.addBindValue(rec.value(i));
executed 192 times by 2 tests: editQuery.addBindValue(rec.value(i));
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
192
135 for (i = 0; i < whereValues.count()
i < whereValues.count()Description
TRUEevaluated 156 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 123 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
; ++i)
123-156
136 if (whereValues.isGenerated(i)
whereValues.isGenerated(i)Description
TRUEevaluated 156 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEnever evaluated
&& !whereValues.isNull(i)
!whereValues.isNull(i)Description
TRUEevaluated 150 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 6 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
0-156
137 editQuery.addBindValue(whereValues.value(i));
executed 150 times by 2 tests: editQuery.addBindValue(whereValues.value(i));
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
150
138-
139 if (!editQuery.exec()
!editQuery.exec()Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 117 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
6-117
140 error = editQuery.lastError();-
141 return
executed 6 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
false;
executed 6 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
6
142 }-
143 }
executed 117 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
else {
117
144 if (!editQuery.exec(stmt)
!editQuery.exec(stmt)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
145 error = editQuery.lastError();-
146 return
never executed: return false;
false;
never executed: return false;
0
147 }-
148 }
never executed: end of block
0
149 return
executed 117 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
true;
executed 117 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
117
150}-
151QSqlTableModel::QSqlTableModel(QObject *parent, QSqlDatabase db)-
152 : QSqlQueryModel(*new QSqlTableModelPrivate, parent)-
153{-
154 QSqlTableModelPrivate * const d = d_func();-
155 d->db = db.isValid()
db.isValid()Description
TRUEevaluated 92 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 51 times by 1 test
Evaluated by:
  • tst_QItemModel
? db : QSqlDatabase::database();
51-92
156}
executed 143 times by 3 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
143
157-
158-
159-
160QSqlTableModel::QSqlTableModel(QSqlTableModelPrivate &dd, QObject *parent, QSqlDatabase db)-
161 : QSqlQueryModel(dd, parent)-
162{-
163 QSqlTableModelPrivate * const d = d_func();-
164 d->db = db.isValid()
db.isValid()Description
TRUEevaluated 31 times by 1 test
Evaluated by:
  • tst_QSqlRelationalTableModel
FALSEnever evaluated
? db : QSqlDatabase::database();
0-31
165}
executed 31 times by 1 test: end of block
Executed by:
  • tst_QSqlRelationalTableModel
31
166-
167-
168-
169-
170QSqlTableModel::~QSqlTableModel()-
171{-
172}-
173void QSqlTableModel::setTable(const QString &tableName)-
174{-
175 QSqlTableModelPrivate * const d = d_func();-
176 clear();-
177 d->tableName = tableName;-
178 d->initRecordAndPrimaryIndex();-
179-
180 if (d->rec.count() == 0
d->rec.count() == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 182 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
1-182
181 d->error = QSqlError(QLatin1String("Unable to find table ") + d->tableName, QString(),
executed 1 time by 1 test: d->error = QSqlError(QLatin1String("Unable to find table ") + d->tableName, QString(), QSqlError::StatementError);
Executed by:
  • tst_QSqlTableModel
1
182 QSqlError::StatementError);
executed 1 time by 1 test: d->error = QSqlError(QLatin1String("Unable to find table ") + d->tableName, QString(), QSqlError::StatementError);
Executed by:
  • tst_QSqlTableModel
1
183-
184-
185-
186 d->autoColumn.clear();-
187 for (int c = 0; c < d->rec.count()
c < d->rec.count()Description
TRUEevaluated 450 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 178 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
; ++c) {
178-450
188 if (d->rec.field(c).isAutoValue()
d->rec.field(c).isAutoValue()Description
TRUEevaluated 5 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 445 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
5-445
189 d->autoColumn = d->rec.fieldName(c);-
190 break;
executed 5 times by 2 tests: break;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
5
191 }-
192 }
executed 445 times by 3 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
445
193}
executed 183 times by 3 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
183
194-
195-
196-
197-
198QString QSqlTableModel::tableName() const-
199{-
200 const QSqlTableModelPrivate * const d = d_func();-
201 return
executed 475 times by 1 test: return d->tableName;
Executed by:
  • tst_QSqlRelationalTableModel
d->tableName;
executed 475 times by 1 test: return d->tableName;
Executed by:
  • tst_QSqlRelationalTableModel
475
202}-
203bool QSqlTableModel::select()-
204{-
205 QSqlTableModelPrivate * const d = d_func();-
206 const QString query = selectStatement();-
207 if (query.isEmpty()
query.isEmpty()Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 315 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
1-315
208 return
executed 1 time by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
false;
executed 1 time by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
1
209-
210 beginResetModel();-
211-
212 d->clearCache();-
213-
214 QSqlQuery qu(query, d->db);-
215 setQuery(qu);-
216-
217 if (!qu.isActive()
!qu.isActive()Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 313 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| lastError().isValid()
lastError().isValid()Description
TRUEnever evaluated
FALSEevaluated 313 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
0-313
218-
219 d->initRecordAndPrimaryIndex();-
220 endResetModel();-
221 return
executed 2 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
false;
executed 2 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
2
222 }-
223 endResetModel();-
224 return
executed 313 times by 3 tests: return true;
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
true;
executed 313 times by 3 tests: return true;
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
313
225}-
226bool QSqlTableModel::selectRow(int row)-
227{-
228 QSqlTableModelPrivate * const d = d_func();-
229-
230 if (row < 0
row < 0Description
TRUEnever evaluated
FALSEevaluated 62 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| row >= rowCount()
row >= rowCount()Description
TRUEnever evaluated
FALSEevaluated 62 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-62
231 return
never executed: return false;
false;
never executed: return false;
0
232-
233 const int table_sort_col = d->sortColumn;-
234 d->sortColumn = -1;-
235 const QString table_filter = d->filter;-
236 d->filter = d->db.driver()->sqlStatement(QSqlDriver::WhereStatement,-
237 d->tableName,-
238 primaryValues(row),-
239 false);-
240 static const QString wh = Sql::where() + Sql::sp();-
241 if (d->filter.startsWith(wh, Qt::CaseInsensitive)
d->filter.star...seInsensitive)Description
TRUEevaluated 62 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEnever evaluated
)
0-62
242 d->filter.remove(0, wh.length());
executed 62 times by 2 tests: d->filter.remove(0, wh.length());
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
62
243-
244 QString stmt;-
245-
246 if (!d->filter.isEmpty()
!d->filter.isEmpty()Description
TRUEevaluated 62 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEnever evaluated
)
0-62
247 stmt = selectStatement();
executed 62 times by 2 tests: stmt = selectStatement();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
62
248-
249 d->sortColumn = table_sort_col;-
250 d->filter = table_filter;-
251-
252 if (stmt.isEmpty()
stmt.isEmpty()Description
TRUEnever evaluated
FALSEevaluated 62 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-62
253 return
never executed: return false;
false;
never executed: return false;
0
254-
255 bool exists;-
256 QSqlRecord newValues;-
257-
258 {-
259 QSqlQuery q(d->db);-
260 q.setForwardOnly(true);-
261 if (!q.exec(stmt)
!q.exec(stmt)Description
TRUEnever evaluated
FALSEevaluated 62 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-62
262 return
never executed: return false;
false;
never executed: return false;
0
263-
264 exists = q.next();-
265 newValues = q.record();-
266 }-
267-
268 bool needsAddingToCache = !exists
!existsDescription
TRUEevaluated 9 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 53 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| d->cache.contains(row)
d->cache.contains(row)Description
TRUEevaluated 51 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
;
2-53
269-
270 if (!needsAddingToCache
!needsAddingToCacheDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 60 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
2-60
271 const QSqlRecord curValues = record(row);-
272 needsAddingToCache = curValues.count() != newValues.count();-
273 if (!needsAddingToCache
!needsAddingToCacheDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEnever evaluated
) {
0-2
274-
275-
276 for (int f = curValues.count() - 1; f >= 0
f >= 0Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tst_QSqlTableModel
; --f) {
1-3
277 if (curValues.value(f) != newValues.value(f)
curValues.valu...alues.value(f)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
) {
1-2
278 needsAddingToCache = true;-
279 break;
executed 1 time by 1 test: break;
Executed by:
  • tst_QSqlTableModel
1
280 }-
281 }
executed 2 times by 1 test: end of block
Executed by:
  • tst_QSqlTableModel
2
282 }
executed 2 times by 1 test: end of block
Executed by:
  • tst_QSqlTableModel
2
283 }
executed 2 times by 1 test: end of block
Executed by:
  • tst_QSqlTableModel
2
284-
285 if (needsAddingToCache
needsAddingToCacheDescription
TRUEevaluated 61 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tst_QSqlTableModel
) {
1-61
286 d->cache[row].refresh(exists, newValues);-
287 headerDataChanged(Qt::Vertical, row, row);-
288 dataChanged(createIndex(row, 0), createIndex(row, columnCount() - 1));-
289 }
executed 61 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
61
290-
291 return
executed 62 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
true;
executed 62 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
62
292}-
293-
294-
295-
296-
297QVariant QSqlTableModel::data(const QModelIndex &index, int role) const-
298{-
299 const QSqlTableModelPrivate * const d = d_func();-
300 if (!index.isValid()
!index.isValid()Description
TRUEevaluated 318 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 2596 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| (role != Qt::DisplayRole
role != Qt::DisplayRoleDescription
TRUEevaluated 868 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 1728 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
&& role != Qt::EditRole
role != Qt::EditRoleDescription
TRUEevaluated 9 times by 1 test
Evaluated by:
  • tst_QItemModel
FALSEevaluated 859 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
))
9-2596
301 return
executed 327 times by 3 tests: return QVariant();
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QVariant();
executed 327 times by 3 tests: return QVariant();
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
327
302-
303 const QSqlTableModelPrivate::ModifiedRow mrow = d->cache.value(index.row());-
304 if (mrow.op() != QSqlTableModelPrivate::None
mrow.op() != Q...lPrivate::NoneDescription
TRUEevaluated 392 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 2195 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
392-2195
305 return
executed 392 times by 2 tests: return mrow.rec().value(index.column());
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
mrow.rec().value(index.column());
executed 392 times by 2 tests: return mrow.rec().value(index.column());
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
392
306-
307 return
executed 2195 times by 3 tests: return QSqlQueryModel::data(index, role);
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QSqlQueryModel::data(index, role);
executed 2195 times by 3 tests: return QSqlQueryModel::data(index, role);
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
2195
308}-
309-
310-
311-
312-
313QVariant QSqlTableModel::headerData(int section, Qt::Orientation orientation, int role) const-
314{-
315 const QSqlTableModelPrivate * const d = d_func();-
316 if (orientation == Qt::Vertical
orientation == Qt::VerticalDescription
TRUEnever evaluated
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlTableModel
&& role == Qt::DisplayRole
role == Qt::DisplayRoleDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0-4
317 const QSqlTableModelPrivate::Op op = d->cache.value(section).op();-
318 if (op == QSqlTableModelPrivate::Insert
op == QSqlTabl...rivate::InsertDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
319 return
never executed: return QLatin1String("*");
QLatin1String("*");
never executed: return QLatin1String("*");
0
320 else if (op == QSqlTableModelPrivate::Delete
op == QSqlTabl...rivate::DeleteDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
321 return
never executed: return QLatin1String("!");
QLatin1String("!");
never executed: return QLatin1String("!");
0
322 }
never executed: end of block
0
323 return
executed 4 times by 2 tests: return QSqlQueryModel::headerData(section, orientation, role);
Executed by:
  • tst_QItemModel
  • tst_QSqlTableModel
QSqlQueryModel::headerData(section, orientation, role);
executed 4 times by 2 tests: return QSqlQueryModel::headerData(section, orientation, role);
Executed by:
  • tst_QItemModel
  • tst_QSqlTableModel
4
324}-
325bool QSqlTableModel::isDirty() const-
326{-
327 const QSqlTableModelPrivate * const d = d_func();-
328 QSqlTableModelPrivate::CacheMap::ConstIterator i = d->cache.constBegin();-
329 const QSqlTableModelPrivate::CacheMap::ConstIterator e = d->cache.constEnd();-
330 for (; i != e
i != eDescription
TRUEevaluated 74 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 144 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
; ++i) {
74-144
331 if (!i.value().submitted()
!i.value().submitted()Description
TRUEevaluated 36 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 38 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
36-38
332 return
executed 36 times by 1 test: return true;
Executed by:
  • tst_QSqlTableModel
true;
executed 36 times by 1 test: return true;
Executed by:
  • tst_QSqlTableModel
36
333 }
executed 38 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
38
334 return
executed 144 times by 2 tests: return false;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
false;
executed 144 times by 2 tests: return false;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
144
335}-
336bool QSqlTableModel::isDirty(const QModelIndex &index) const-
337{-
338 const QSqlTableModelPrivate * const d = d_func();-
339 if (!index.isValid()
!index.isValid()Description
TRUEnever evaluated
FALSEevaluated 79 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-79
340 return
never executed: return false;
false;
never executed: return false;
0
341-
342 const QSqlTableModelPrivate::ModifiedRow row = d->cache.value(index.row());-
343 if (row.submitted()
row.submitted()Description
TRUEevaluated 57 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 22 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
22-57
344 return
executed 57 times by 2 tests: return false;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
false;
executed 57 times by 2 tests: return false;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
57
345-
346 return
executed 22 times by 1 test: return row.op() == QSqlTableModelPrivate::Insert || row.op() == QSqlTableModelPrivate::Delete || (row.op() == QSqlTableModelPrivate::Update && row.rec().isGenerated(index.column()));
Executed by:
  • tst_QSqlTableModel
row.op() == QSqlTableModelPrivate::Insert
row.op() == QS...rivate::InsertDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 18 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
executed 22 times by 1 test: return row.op() == QSqlTableModelPrivate::Insert || row.op() == QSqlTableModelPrivate::Delete || (row.op() == QSqlTableModelPrivate::Update && row.rec().isGenerated(index.column()));
Executed by:
  • tst_QSqlTableModel
4-22
347 || row.op() == QSqlTableModelPrivate::Delete
row.op() == QS...rivate::DeleteDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 17 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
executed 22 times by 1 test: return row.op() == QSqlTableModelPrivate::Insert || row.op() == QSqlTableModelPrivate::Delete || (row.op() == QSqlTableModelPrivate::Update && row.rec().isGenerated(index.column()));
Executed by:
  • tst_QSqlTableModel
1-22
348 || (row.op() == QSqlTableModelPrivate::Update
row.op() == QS...rivate::UpdateDescription
TRUEevaluated 17 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEnever evaluated
executed 22 times by 1 test: return row.op() == QSqlTableModelPrivate::Insert || row.op() == QSqlTableModelPrivate::Delete || (row.op() == QSqlTableModelPrivate::Update && row.rec().isGenerated(index.column()));
Executed by:
  • tst_QSqlTableModel
0-22
349 && row.rec().isGenerated(index.column())
row.rec().isGe...ndex.column())Description
TRUEevaluated 17 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEnever evaluated
);
executed 22 times by 1 test: return row.op() == QSqlTableModelPrivate::Insert || row.op() == QSqlTableModelPrivate::Delete || (row.op() == QSqlTableModelPrivate::Update && row.rec().isGenerated(index.column()));
Executed by:
  • tst_QSqlTableModel
0-22
350}-
351bool QSqlTableModel::setData(const QModelIndex &index, const QVariant &value, int role)-
352{-
353 QSqlTableModelPrivate * const d = d_func();-
354 if (d->busyInsertingRows
d->busyInsertingRowsDescription
TRUEnever evaluated
FALSEevaluated 270 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-270
355 return
never executed: return false;
false;
never executed: return false;
0
356-
357 if (role != Qt::EditRole
role != Qt::EditRoleDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QItemModel
FALSEevaluated 268 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
2-268
358 return
executed 2 times by 1 test: return QSqlQueryModel::setData(index, value, role);
Executed by:
  • tst_QItemModel
QSqlQueryModel::setData(index, value, role);
executed 2 times by 1 test: return QSqlQueryModel::setData(index, value, role);
Executed by:
  • tst_QItemModel
2
359-
360 if (!index.isValid()
!index.isValid()Description
TRUEevaluated 3 times by 2 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
FALSEevaluated 265 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| index.column() >= d->rec.count()
index.column()...d->rec.count()Description
TRUEnever evaluated
FALSEevaluated 265 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| index.row() >= rowCount()
index.row() >= rowCount()Description
TRUEnever evaluated
FALSEevaluated 265 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-265
361 return
executed 3 times by 2 tests: return false;
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
false;
executed 3 times by 2 tests: return false;
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
3
362-
363 if (!(flags(index) & Qt::ItemIsEditable)
!(flags(index)...temIsEditable)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 262 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
3-262
364 return
executed 3 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
false;
executed 3 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
3
365-
366 const QVariant oldValue = QSqlTableModel::data(index, role);-
367 if (value == oldValue
value == oldValueDescription
TRUEevaluated 33 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 229 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
33-229
368 && value.isNull() == oldValue.isNull()
value.isNull()...Value.isNull()Description
TRUEevaluated 30 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 3 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
3-30
369 && d->cache.value(index.row()).op() != QSqlTableModelPrivate::Insert
d->cache.value...rivate::InsertDescription
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 7 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
7-23
370 return
executed 23 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
true;
executed 23 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
23
371-
372 QSqlTableModelPrivate::ModifiedRow &row = d->cache[index.row()];-
373-
374 if (row.op() == QSqlTableModelPrivate::None
row.op() == QS...lPrivate::NoneDescription
TRUEevaluated 47 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 192 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
47-192
375 row = QSqlTableModelPrivate::ModifiedRow(QSqlTableModelPrivate::Update,
executed 47 times by 2 tests: row = QSqlTableModelPrivate::ModifiedRow(QSqlTableModelPrivate::Update, QSqlQueryModel::record(index.row()));
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
47
376 QSqlQueryModel::record(index.row()));
executed 47 times by 2 tests: row = QSqlTableModelPrivate::ModifiedRow(QSqlTableModelPrivate::Update, QSqlQueryModel::record(index.row()));
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
47
377-
378 row.setValue(index.column(), value);-
379 dataChanged(index, index);-
380-
381 if (d->strategy == OnFieldChange
d->strategy == OnFieldChangeDescription
TRUEevaluated 15 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 224 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
&& row.op() != QSqlTableModelPrivate::Insert
row.op() != QS...rivate::InsertDescription
TRUEevaluated 8 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 7 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
7-224
382 return
executed 8 times by 2 tests: return submit();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
submit();
executed 8 times by 2 tests: return submit();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
8
383-
384 return
executed 231 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
true;
executed 231 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
231
385}-
386void QSqlTableModel::setQuery(const QSqlQuery &query)-
387{-
388 QSqlQueryModel::setQuery(query);-
389}
executed 315 times by 3 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
315
390bool QSqlTableModel::updateRowInTable(int row, const QSqlRecord &values)-
391{-
392 QSqlTableModelPrivate * const d = d_func();-
393 QSqlRecord rec(values);-
394 beforeUpdate(row, rec);-
395-
396 const QSqlRecord whereValues = primaryValues(row);-
397 const bool prepStatement = d->db.driver()->hasFeature(QSqlDriver::PreparedQueries);-
398 const QString stmt = d->db.driver()->sqlStatement(QSqlDriver::UpdateStatement, d->tableName,-
399 rec, prepStatement);-
400 const QString where = d->db.driver()->sqlStatement(QSqlDriver::WhereStatement, d->tableName,-
401 whereValues, prepStatement);-
402-
403 if (stmt.isEmpty()
stmt.isEmpty()Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| where.
where.isEmpty()Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
isEmpty()
where.isEmpty()Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| row < 0
row < 0Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| row >= rowCount()
row >= rowCount()Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
0-49
404 d->error = QSqlError(QLatin1String("No Fields to update"), QString(),-
405 QSqlError::StatementError);-
406 return
never executed: return false;
false;
never executed: return false;
0
407 }-
408-
409 return
executed 49 times by 2 tests: return d->exec(Sql::concat(stmt, where), prepStatement, rec, whereValues);
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
d->exec(Sql::concat(stmt, where), prepStatement, rec, whereValues);
executed 49 times by 2 tests: return d->exec(Sql::concat(stmt, where), prepStatement, rec, whereValues);
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
49
410}-
411bool QSqlTableModel::insertRowIntoTable(const QSqlRecord &values)-
412{-
413 QSqlTableModelPrivate * const d = d_func();-
414 QSqlRecord rec = values;-
415 beforeInsert(rec);-
416-
417 const bool prepStatement = d->db.driver()->hasFeature(QSqlDriver::PreparedQueries);-
418 const QString stmt = d->db.driver()->sqlStatement(QSqlDriver::InsertStatement, d->tableName,-
419 rec, prepStatement);-
420-
421 if (stmt.isEmpty()
stmt.isEmpty()Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
1-52
422 d->error = QSqlError(QLatin1String("No Fields to update"), QString(),-
423 QSqlError::StatementError);-
424 return
executed 1 time by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
false;
executed 1 time by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
1
425 }-
426-
427 return
executed 52 times by 2 tests: return d->exec(stmt, prepStatement, rec, QSqlRecord() );
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
d->exec(stmt, prepStatement, rec, QSqlRecord() );
executed 52 times by 2 tests: return d->exec(stmt, prepStatement, rec, QSqlRecord() );
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
52
428}-
429bool QSqlTableModel::deleteRowFromTable(int row)-
430{-
431 QSqlTableModelPrivate * const d = d_func();-
432 beforeDelete(row);-
433-
434 const QSqlRecord whereValues = primaryValues(row);-
435 const bool prepStatement = d->db.driver()->hasFeature(QSqlDriver::PreparedQueries);-
436 const QString stmt = d->db.driver()->sqlStatement(QSqlDriver::DeleteStatement,-
437 d->tableName,-
438 QSqlRecord(),-
439 prepStatement);-
440 const QString where = d->db.driver()->sqlStatement(QSqlDriver::WhereStatement,-
441 d->tableName,-
442 whereValues,-
443 prepStatement);-
444-
445 if (stmt.isEmpty()
stmt.isEmpty()Description
TRUEnever evaluated
FALSEevaluated 22 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
|| where.
where.isEmpty()Description
TRUEnever evaluated
FALSEevaluated 22 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
isEmpty()
where.isEmpty()Description
TRUEnever evaluated
FALSEevaluated 22 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
) {
0-22
446 d->error = QSqlError(QLatin1String("Unable to delete row"), QString(),-
447 QSqlError::StatementError);-
448 return
never executed: return false;
false;
never executed: return false;
0
449 }-
450-
451 return
executed 22 times by 1 test: return d->exec(Sql::concat(stmt, where), prepStatement, QSqlRecord() , whereValues);
Executed by:
  • tst_QSqlTableModel
d->exec(Sql::concat(stmt, where), prepStatement, QSqlRecord() , whereValues);
executed 22 times by 1 test: return d->exec(Sql::concat(stmt, where), prepStatement, QSqlRecord() , whereValues);
Executed by:
  • tst_QSqlTableModel
22
452}-
453bool QSqlTableModel::submitAll()-
454{-
455 QSqlTableModelPrivate * const d = d_func();-
456-
457 bool success = true;-
458-
459 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(d->cache.keys())>::type> _container_((d->cache.keys())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (int row = *_container_.i; _container_.control; _container_.control = 0) {-
460-
461 QSqlTableModelPrivate::CacheMap::iterator it = d->cache.find(row);-
462 if (it == d->cache.end()
it == d->cache.end()Description
TRUEnever evaluated
FALSEevaluated 160 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-160
463 continue;
never executed: continue;
0
464-
465 QSqlTableModelPrivate::ModifiedRow &mrow = it.value();-
466 if (mrow.submitted()
mrow.submitted()Description
TRUEevaluated 36 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 124 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
36-124
467 continue;
executed 36 times by 2 tests: continue;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
36
468-
469 switch (mrow.op()) {-
470 case
executed 53 times by 2 tests: case QSqlTableModelPrivate::Insert:
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QSqlTableModelPrivate::Insert:
executed 53 times by 2 tests: case QSqlTableModelPrivate::Insert:
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
53
471 success = insertRowIntoTable(mrow.rec());-
472 break;
executed 53 times by 2 tests: break;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
53
473 case
executed 49 times by 2 tests: case QSqlTableModelPrivate::Update:
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QSqlTableModelPrivate::Update:
executed 49 times by 2 tests: case QSqlTableModelPrivate::Update:
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
49
474 success = updateRowInTable(row, mrow.rec());-
475 break;
executed 49 times by 2 tests: break;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
49
476 case
executed 22 times by 1 test: case QSqlTableModelPrivate::Delete:
Executed by:
  • tst_QSqlTableModel
QSqlTableModelPrivate::Delete:
executed 22 times by 1 test: case QSqlTableModelPrivate::Delete:
Executed by:
  • tst_QSqlTableModel
22
477 success = deleteRowFromTable(row);-
478 break;
executed 22 times by 1 test: break;
Executed by:
  • tst_QSqlTableModel
22
479 case
never executed: case QSqlTableModelPrivate::None:
QSqlTableModelPrivate::None:
never executed: case QSqlTableModelPrivate::None:
0
480 ((!(false)) ? qt_assert_x("QSqlTableModel::submitAll()", "Invalid cache operation",__FILE__,759) : qt_noop());-
481 break;
never executed: break;
0
482 }-
483-
484 if (success
successDescription
TRUEevaluated 117 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 7 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
) {
7-117
485 if (d->strategy != OnManualSubmit
d->strategy != OnManualSubmitDescription
TRUEevaluated 60 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
&& mrow.op() == QSqlTableModelPrivate::Insert
mrow.op() == Q...rivate::InsertDescription
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 37 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
23-60
486 int c = mrow.rec().indexOf(d->autoColumn);-
487 if (c != -1
c != -1Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 17 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
&& !mrow.rec().isGenerated(c)
!mrow.rec().isGenerated(c)Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEnever evaluated
)
0-17
488 mrow.setValue(c, d->editQuery.lastInsertId());
executed 6 times by 1 test: mrow.setValue(c, d->editQuery.lastInsertId());
Executed by:
  • tst_QSqlTableModel
6
489 }
executed 23 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
23
490 mrow.setSubmitted();-
491 if (d->strategy != OnManualSubmit
d->strategy != OnManualSubmitDescription
TRUEevaluated 60 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 57 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
57-60
492 success = selectRow(row);
executed 60 times by 2 tests: success = selectRow(row);
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
60
493 }
executed 117 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
117
494-
495 if (!success
!successDescription
TRUEevaluated 7 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 117 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
7-117
496 break;
executed 7 times by 1 test: break;
Executed by:
  • tst_QSqlTableModel
7
497 }
executed 117 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
117
498-
499 if (success
successDescription
TRUEevaluated 118 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 7 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
) {
7-118
500 if (d->strategy == OnManualSubmit
d->strategy == OnManualSubmitDescription
TRUEevaluated 36 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 82 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
36-82
501 success = select();
executed 36 times by 2 tests: success = select();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
36
502 }
executed 118 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
118
503-
504 return
executed 125 times by 2 tests: return success;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
success;
executed 125 times by 2 tests: return success;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
125
505}-
506bool QSqlTableModel::submit()-
507{-
508 QSqlTableModelPrivate * const d = d_func();-
509 if (d->strategy == OnRowChange
d->strategy == OnRowChangeDescription
TRUEevaluated 32 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 25 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| d->strategy == OnFieldChange
d->strategy == OnFieldChangeDescription
TRUEevaluated 24 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tst_QItemModel
)
1-32
510 return
executed 56 times by 2 tests: return submitAll();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
submitAll();
executed 56 times by 2 tests: return submitAll();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
56
511 return
executed 1 time by 1 test: return true;
Executed by:
  • tst_QItemModel
true;
executed 1 time by 1 test: return true;
Executed by:
  • tst_QItemModel
1
512}-
513void QSqlTableModel::revert()-
514{-
515 QSqlTableModelPrivate * const d = d_func();-
516 if (d->strategy == OnRowChange
d->strategy == OnRowChangeDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 9 times by 2 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlTableModel
|| d->strategy == OnFieldChange
d->strategy == OnFieldChangeDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlTableModel
)
4-9
517 revertAll();
executed 8 times by 1 test: revertAll();
Executed by:
  • tst_QSqlTableModel
8
518}
executed 13 times by 2 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlTableModel
13
519void QSqlTableModel::setEditStrategy(EditStrategy strategy)-
520{-
521 QSqlTableModelPrivate * const d = d_func();-
522 revertAll();-
523 d->strategy = strategy;-
524}
executed 108 times by 3 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
108
525-
526-
527-
528-
529-
530-
531QSqlTableModel::EditStrategy QSqlTableModel::editStrategy() const-
532{-
533 const QSqlTableModelPrivate * const d = d_func();-
534 return
executed 13 times by 2 tests: return d->strategy;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
d->strategy;
executed 13 times by 2 tests: return d->strategy;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
13
535}-
536-
537-
538-
539-
540-
541-
542void QSqlTableModel::revertAll()-
543{-
544 QSqlTableModelPrivate * const d = d_func();-
545-
546 const QList<int> rows(d->cache.keys());-
547 for (int i = rows.size() - 1; i >= 0
i >= 0Description
TRUEevaluated 35 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 134 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
; --i)
35-134
548 revertRow(rows.value(i));
executed 35 times by 2 tests: revertRow(rows.value(i));
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
35
549}
executed 134 times by 3 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
134
550-
551-
552-
553-
554-
555-
556void QSqlTableModel::revertRow(int row)-
557{-
558 if (row < 0
row < 0Description
TRUEnever evaluated
FALSEevaluated 52 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-52
559 return;
never executed: return;
0
560-
561 QSqlTableModelPrivate * const d = d_func();-
562 d->revertCachedRow(row);-
563}
executed 52 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
52
564-
565-
566-
567-
568-
569-
570-
571QSqlIndex QSqlTableModel::primaryKey() const-
572{-
573 const QSqlTableModelPrivate * const d = d_func();-
574 return
executed 1 time by 1 test: return d->primaryIndex;
Executed by:
  • tst_QSqlTableModel
d->primaryIndex;
executed 1 time by 1 test: return d->primaryIndex;
Executed by:
  • tst_QSqlTableModel
1
575}-
576void QSqlTableModel::setPrimaryKey(const QSqlIndex &key)-
577{-
578 QSqlTableModelPrivate * const d = d_func();-
579 d->primaryIndex = key;-
580}
never executed: end of block
0
581-
582-
583-
584-
585QSqlDatabase QSqlTableModel::database() const-
586{-
587 const QSqlTableModelPrivate * const d = d_func();-
588 return
executed 447 times by 1 test: return d->db;
Executed by:
  • tst_QSqlRelationalTableModel
d->db;
executed 447 times by 1 test: return d->db;
Executed by:
  • tst_QSqlRelationalTableModel
447
589}-
590void QSqlTableModel::sort(int column, Qt::SortOrder order)-
591{-
592 setSort(column, order);-
593 select();-
594}
executed 12 times by 1 test: end of block
Executed by:
  • tst_QItemModel
12
595void QSqlTableModel::setSort(int column, Qt::SortOrder order)-
596{-
597 QSqlTableModelPrivate * const d = d_func();-
598 d->sortColumn = column;-
599 d->sortOrder = order;-
600}
executed 72 times by 3 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
72
601-
602-
603-
604-
605-
606-
607-
608QString QSqlTableModel::orderByClause() const-
609{-
610 const QSqlTableModelPrivate * const d = d_func();-
611 QSqlField f = d->rec.field(d->sortColumn);-
612 if (!f.isValid()
!f.isValid()Description
TRUEevaluated 235 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 138 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
138-235
613 return
executed 235 times by 3 tests: return QString();
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QString();
executed 235 times by 3 tests: return QString();
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
235
614-
615-
616-
617 QString field = d->db.driver()->escapeIdentifier(f.name(), QSqlDriver::FieldName);-
618 field.prepend(QLatin1Char('.')).prepend(d->tableName);-
619 field = d->sortOrder == Qt::AscendingOrder
d->sortOrder =...AscendingOrderDescription
TRUEevaluated 133 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 5 times by 1 test
Evaluated by:
  • tst_QSqlRelationalTableModel
? Sql::asc(field) : Sql::desc(field);
5-133
620 return
executed 138 times by 3 tests: return Sql::orderBy(field);
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
Sql::orderBy(field);
executed 138 times by 3 tests: return Sql::orderBy(field);
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
138
621}-
622-
623-
624-
625-
626-
627int QSqlTableModel::fieldIndex(const QString &fieldName) const-
628{-
629 const QSqlTableModelPrivate * const d = d_func();-
630 return
never executed: return d->rec.indexOf(fieldName);
d->rec.indexOf(fieldName);
never executed: return d->rec.indexOf(fieldName);
0
631}-
632QString QSqlTableModel::selectStatement() const-
633{-
634 const QSqlTableModelPrivate * const d = d_func();-
635 if (d->tableName.isEmpty()
d->tableName.isEmpty()Description
TRUEnever evaluated
FALSEevaluated 294 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
0-294
636 d->error = QSqlError(QLatin1String("No table name given"), QString(),-
637 QSqlError::StatementError);-
638 return
never executed: return QString();
QString();
never executed: return QString();
0
639 }-
640 if (d->rec.isEmpty()
d->rec.isEmpty()Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 293 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
1-293
641 d->error = QSqlError(QLatin1String("Unable to find table ") + d->tableName, QString(),-
642 QSqlError::StatementError);-
643 return
executed 1 time by 1 test: return QString();
Executed by:
  • tst_QSqlTableModel
QString();
executed 1 time by 1 test: return QString();
Executed by:
  • tst_QSqlTableModel
1
644 }-
645-
646 const QString stmt = d->db.driver()->sqlStatement(QSqlDriver::SelectStatement,-
647 d->tableName,-
648 d->rec,-
649 false);-
650 if (stmt.isEmpty()
stmt.isEmpty()Description
TRUEnever evaluated
FALSEevaluated 293 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
0-293
651 d->error = QSqlError(QLatin1String("Unable to select fields from table ") + d->tableName,-
652 QString(), QSqlError::StatementError);-
653 return
never executed: return stmt;
stmt;
never executed: return stmt;
0
654 }-
655 return
executed 293 times by 3 tests: return Sql::concat(Sql::concat(stmt, Sql::where(d->filter)), orderByClause());
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
Sql::concat(Sql::concat(stmt, Sql::where(d->filter)), orderByClause());
executed 293 times by 3 tests: return Sql::concat(Sql::concat(stmt, Sql::where(d->filter)), orderByClause());
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
293
656}-
657bool QSqlTableModel::removeColumns(int column, int count, const QModelIndex &parent)-
658{-
659 QSqlTableModelPrivate * const d = d_func();-
660 if (parent.isValid()
parent.isValid()Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| column < 0
column < 0Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| column + count > d->rec.count()
column + count...d->rec.count()Description
TRUEnever evaluated
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-5
661 return
never executed: return false;
false;
never executed: return false;
0
662 for (int i = 0; i < count
i < countDescription
TRUEevaluated 7 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 5 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
; ++i)
5-7
663 d->rec.remove(column);
executed 7 times by 2 tests: d->rec.remove(column);
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
7
664 if (d->query.isActive()
d->query.isActive()Description
TRUEevaluated 5 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEnever evaluated
)
0-5
665 return
executed 5 times by 2 tests: return select();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
select();
executed 5 times by 2 tests: return select();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
5
666 return
never executed: return true;
true;
never executed: return true;
0
667}-
668bool QSqlTableModel::removeRows(int row, int count, const QModelIndex &parent)-
669{-
670 QSqlTableModelPrivate * const d = d_func();-
671 if (parent.isValid()
parent.isValid()Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 41 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
|| row < 0
row < 0Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 37 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
|| count <= 0
count <= 0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 35 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
2-41
672 return
executed 8 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
false;
executed 8 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
8
673 else if (row + count > rowCount()
row + count > rowCount()Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 33 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
2-33
674 return
executed 2 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
false;
executed 2 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
2
675 else if (!count
!countDescription
TRUEnever evaluated
FALSEevaluated 33 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
0-33
676 return
never executed: return true;
true;
never executed: return true;
0
677-
678 if (d->strategy != OnManualSubmit
d->strategy != OnManualSubmitDescription
TRUEevaluated 17 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 16 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
16-17
679 if (count > 1
count > 1Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 16 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
|| (d->cache.value(row).submitted()
d->cache.value...w).submitted()Description
TRUEevaluated 14 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
&& isDirty()
isDirty()Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 11 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
))
1-16
680 return
executed 4 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
false;
executed 4 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
4
681-
682-
683-
684 for (int idx = row + count - 1; idx >= row
idx >= rowDescription
TRUEevaluated 37 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 29 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
; --idx) {
29-37
685 QSqlTableModelPrivate::ModifiedRow& mrow = d->cache[idx];-
686 if (mrow.op() == QSqlTableModelPrivate::Insert
mrow.op() == Q...rivate::InsertDescription
TRUEevaluated 13 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 24 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
) {
13-24
687 revertRow(idx);-
688 }
executed 13 times by 1 test: end of block
Executed by:
  • tst_QSqlTableModel
else {
13
689 if (mrow.op() == QSqlTableModelPrivate::None
mrow.op() == Q...lPrivate::NoneDescription
TRUEevaluated 22 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
2-22
690 mrow = QSqlTableModelPrivate::ModifiedRow(QSqlTableModelPrivate::Delete,
executed 22 times by 1 test: mrow = QSqlTableModelPrivate::ModifiedRow(QSqlTableModelPrivate::Delete, QSqlQueryModel::record(idx));
Executed by:
  • tst_QSqlTableModel
22
691 QSqlQueryModel::record(idx));
executed 22 times by 1 test: mrow = QSqlTableModelPrivate::ModifiedRow(QSqlTableModelPrivate::Delete, QSqlQueryModel::record(idx));
Executed by:
  • tst_QSqlTableModel
22
692 else-
693 mrow.setOp(QSqlTableModelPrivate::Delete);
executed 2 times by 1 test: mrow.setOp(QSqlTableModelPrivate::Delete);
Executed by:
  • tst_QSqlTableModel
2
694 if (d->strategy == OnManualSubmit
d->strategy == OnManualSubmitDescription
TRUEevaluated 13 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 11 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
11-13
695 headerDataChanged(Qt::Vertical, idx, idx);
executed 13 times by 1 test: headerDataChanged(Qt::Vertical, idx, idx);
Executed by:
  • tst_QSqlTableModel
13
696 }
executed 24 times by 1 test: end of block
Executed by:
  • tst_QSqlTableModel
24
697 }-
698-
699 if (d->strategy != OnManualSubmit
d->strategy != OnManualSubmitDescription
TRUEevaluated 13 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 16 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
13-16
700 return
executed 13 times by 1 test: return submit();
Executed by:
  • tst_QSqlTableModel
submit();
executed 13 times by 1 test: return submit();
Executed by:
  • tst_QSqlTableModel
13
701-
702 return
executed 16 times by 1 test: return true;
Executed by:
  • tst_QSqlTableModel
true;
executed 16 times by 1 test: return true;
Executed by:
  • tst_QSqlTableModel
16
703}-
704bool QSqlTableModel::insertRows(int row, int count, const QModelIndex &parent)-
705{-
706 QSqlTableModelPrivate * const d = d_func();-
707 if (row < 0
row < 0Description
TRUEnever evaluated
FALSEevaluated 76 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| count <= 0
count <= 0Description
TRUEnever evaluated
FALSEevaluated 76 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| row > rowCount()
row > rowCount()Description
TRUEnever evaluated
FALSEevaluated 76 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| parent.isValid()
parent.isValid()Description
TRUEnever evaluated
FALSEevaluated 76 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-76
708 return
never executed: return false;
false;
never executed: return false;
0
709-
710 if (d->strategy != OnManualSubmit
d->strategy != OnManualSubmitDescription
TRUEevaluated 34 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 42 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
34-42
711 if (count != 1
count != 1Description
TRUEnever evaluated
FALSEevaluated 34 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| isDirty()
isDirty()Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 31 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-34
712 return
executed 3 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
false;
executed 3 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
3
713-
714 d->busyInsertingRows = true;-
715 beginInsertRows(parent, row, row + count - 1);-
716-
717 if (d->strategy != OnManualSubmit
d->strategy != OnManualSubmitDescription
TRUEevaluated 31 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 42 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
31-42
718 d->cache.empty();
executed 31 times by 2 tests: d->cache.empty();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
31
719-
720 if (!d->cache.isEmpty()
!d->cache.isEmpty()Description
TRUEevaluated 24 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
24-49
721 QMap<int, QSqlTableModelPrivate::ModifiedRow>::Iterator it = d->cache.end();-
722 while (it != d->cache.begin()
it != d->cache.begin()Description
TRUEevaluated 28 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 7 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
&& (--
(--it).key() >= rowDescription
TRUEevaluated 11 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 17 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
it).key() >= row
(--it).key() >= rowDescription
TRUEevaluated 11 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 17 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
7-28
723 int oldKey = it.key();-
724 const QSqlTableModelPrivate::ModifiedRow oldValue = it.value();-
725 d->cache.erase(it);-
726 it = d->cache.insert(oldKey + count, oldValue);-
727 }
executed 11 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
11
728 }
executed 24 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
24
729-
730 for (int i = 0; i < count
i < countDescription
TRUEevaluated 91 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 73 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
; ++i) {
73-91
731 d->cache[row + i] = QSqlTableModelPrivate::ModifiedRow(QSqlTableModelPrivate::Insert,-
732 d->rec);-
733 primeInsert(row + i, d->cache[row + i].recRef());-
734 }
executed 91 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
91
735-
736 endInsertRows();-
737 d->busyInsertingRows = false;-
738 return
executed 73 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
true;
executed 73 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
73
739}-
740bool QSqlTableModel::insertRecord(int row, const QSqlRecord &record)-
741{-
742 if (row < 0
row < 0Description
TRUEevaluated 7 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 22 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
7-22
743 row = rowCount();
executed 7 times by 2 tests: row = rowCount();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
7
744 if (!insertRow(row, QModelIndex())
!insertRow(row, QModelIndex())Description
TRUEnever evaluated
FALSEevaluated 29 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-29
745 return
never executed: return false;
false;
never executed: return false;
0
746 if (!setRecord(row, record)
!setRecord(row, record)Description
TRUEnever evaluated
FALSEevaluated 29 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
0-29
747 revertRow(row);-
748 return
never executed: return false;
false;
never executed: return false;
0
749 }-
750 return
executed 29 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
true;
executed 29 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
29
751}-
752-
753-
754-
755int QSqlTableModel::rowCount(const QModelIndex &parent) const-
756{-
757 const QSqlTableModelPrivate * const d = d_func();-
758-
759 if (parent.isValid()
parent.isValid()Description
TRUEevaluated 1028 times by 1 test
Evaluated by:
  • tst_QItemModel
FALSEevaluated 10706 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
1028-10706
760 return
executed 1028 times by 1 test: return 0;
Executed by:
  • tst_QItemModel
0;
executed 1028 times by 1 test: return 0;
Executed by:
  • tst_QItemModel
1028
761-
762 return
executed 10706 times by 3 tests: return QSqlQueryModel::rowCount() + d->insertCount();
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QSqlQueryModel::rowCount() + d->insertCount();
executed 10706 times by 3 tests: return QSqlQueryModel::rowCount() + d->insertCount();
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
10706
763}-
764QModelIndex QSqlTableModel::indexInQuery(const QModelIndex &item) const-
765{-
766 const QSqlTableModelPrivate * const d = d_func();-
767 if (d->cache.value(item.row()).insert()
d->cache.value...ow()).insert()Description
TRUEnever evaluated
FALSEevaluated 2177 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-2177
768 return
never executed: return QModelIndex();
QModelIndex();
never executed: return QModelIndex();
0
769-
770 const int rowOffset = d->insertCount(item.row());-
771 return
executed 2177 times by 3 tests: return QSqlQueryModel::indexInQuery(createIndex(item.row() - rowOffset, item.column(), item.internalPointer()));
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QSqlQueryModel::indexInQuery(createIndex(item.row() - rowOffset, item.column(), item.internalPointer()));
executed 2177 times by 3 tests: return QSqlQueryModel::indexInQuery(createIndex(item.row() - rowOffset, item.column(), item.internalPointer()));
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
2177
772}-
773-
774-
775-
776-
777-
778-
779QString QSqlTableModel::filter() const-
780{-
781 const QSqlTableModelPrivate * const d = d_func();-
782 return
executed 86 times by 2 tests: return d->filter;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
d->filter;
executed 86 times by 2 tests: return d->filter;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
86
783}-
784void QSqlTableModel::setFilter(const QString &filter)-
785{-
786 QSqlTableModelPrivate * const d = d_func();-
787 d->filter = filter;-
788 if (d->query.isActive()
d->query.isActive()Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
3-4
789 select();
executed 3 times by 1 test: select();
Executed by:
  • tst_QSqlTableModel
3
790}
executed 7 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
7
791-
792-
793-
794void QSqlTableModel::clear()-
795{-
796 QSqlTableModelPrivate * const d = d_func();-
797 beginResetModel();-
798 d->clear();-
799 QSqlQueryModel::clear();-
800 endResetModel();-
801}
executed 190 times by 3 tests: end of block
Executed by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
190
802-
803-
804-
805Qt::ItemFlags QSqlTableModel::flags(const QModelIndex &index) const-
806{-
807 const QSqlTableModelPrivate * const d = d_func();-
808 if (index.internalPointer()
index.internalPointer()Description
TRUEnever evaluated
FALSEevaluated 267 times by 3 tests
Evaluated by:
  • tst_QItemModel
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| index.column() < 0
index.column() < 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QItemModel
FALSEevaluated 266 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
|| index.column() >= d->rec.count()
index.column()...d->rec.count()Description
TRUEnever evaluated
FALSEevaluated 266 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
0-267
809 || index.row() < 0
index.row() < 0Description
TRUEnever evaluated
FALSEevaluated 266 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-266
810 return
executed 1 time by 1 test: return 0;
Executed by:
  • tst_QItemModel
0;
executed 1 time by 1 test: return 0;
Executed by:
  • tst_QItemModel
1
811-
812 bool editable = true;-
813-
814 if (d->rec.field(index.column()).isReadOnly()
d->rec.field(i...).isReadOnly()Description
TRUEnever evaluated
FALSEevaluated 266 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
0-266
815 editable = false;-
816 }
never executed: end of block
0
817 else {-
818 const QSqlTableModelPrivate::ModifiedRow mrow = d->cache.value(index.row());-
819 if (mrow.op() == QSqlTableModelPrivate::Delete
mrow.op() == Q...rivate::DeleteDescription
TRUEnever evaluated
FALSEevaluated 266 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
0-266
820 editable = false;-
821 }
never executed: end of block
0
822 else if (d->strategy == OnFieldChange
d->strategy == OnFieldChangeDescription
TRUEevaluated 17 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 249 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
17-249
823 if (mrow.op() != QSqlTableModelPrivate::Insert
mrow.op() != Q...rivate::InsertDescription
TRUEevaluated 10 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 7 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
7-10
824 if (!isDirty(index)
!isDirty(index)Description
TRUEevaluated 10 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEnever evaluated
&& isDirty()
isDirty()Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 9 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-10
825 editable = false;
executed 1 time by 1 test: editable = false;
Executed by:
  • tst_QSqlTableModel
1
826 }
executed 17 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
17
827 else if (d->strategy == OnRowChange
d->strategy == OnRowChangeDescription
TRUEevaluated 48 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 201 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
48-201
828 if (mrow.submitted()
mrow.submitted()Description
TRUEevaluated 29 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 19 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
&& isDirty()
isDirty()Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
3-29
829 editable = false;
executed 3 times by 1 test: editable = false;
Executed by:
  • tst_QSqlTableModel
3
830 }
executed 48 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
48
831 }
executed 266 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
266
832-
833 if (!editable
!editableDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 262 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
4-262
834 return
executed 4 times by 1 test: return QSqlQueryModel::flags(index);
Executed by:
  • tst_QSqlTableModel
QSqlQueryModel::flags(index);
executed 4 times by 1 test: return QSqlQueryModel::flags(index);
Executed by:
  • tst_QSqlTableModel
4
835 else-
836 return
executed 262 times by 2 tests: return QSqlQueryModel::flags(index) | Qt::ItemIsEditable;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QSqlQueryModel::flags(index) | Qt::ItemIsEditable;
executed 262 times by 2 tests: return QSqlQueryModel::flags(index) | Qt::ItemIsEditable;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
262
837}-
838QSqlRecord QSqlTableModel::record() const-
839{-
840 return
executed 13 times by 2 tests: return QSqlQueryModel::record();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
QSqlQueryModel::record();
executed 13 times by 2 tests: return QSqlQueryModel::record();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
13
841}-
842QSqlRecord QSqlTableModel::record(int row) const-
843{-
844 const QSqlTableModelPrivate * const d = d_func();-
845-
846-
847 QSqlRecord rec = QSqlQueryModel::record(row);-
848-
849-
850 const QSqlTableModelPrivate::ModifiedRow mrow = d->cache.value(row);-
851 if (mrow.op() != QSqlTableModelPrivate::None
mrow.op() != Q...lPrivate::NoneDescription
TRUEevaluated 5 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 160 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
) {
5-160
852 const QSqlRecord crec = mrow.rec();-
853 for (int i = 0, cnt = rec.count(); i < cnt
i < cntDescription
TRUEevaluated 15 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 5 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
; ++i)
5-15
854 rec.setGenerated(i, crec.isGenerated(i));
executed 15 times by 1 test: rec.setGenerated(i, crec.isGenerated(i));
Executed by:
  • tst_QSqlTableModel
15
855 }
executed 5 times by 1 test: end of block
Executed by:
  • tst_QSqlTableModel
5
856-
857 return
executed 165 times by 2 tests: return rec;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
rec;
executed 165 times by 2 tests: return rec;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
165
858}-
859bool QSqlTableModel::setRecord(int row, const QSqlRecord &values)-
860{-
861 QSqlTableModelPrivate * const d = d_func();-
862 ((!(row >= 0)) ? qt_assert_x("QSqlTableModel::setRecord()", "Cannot set a record to a row less than 0",__FILE__,1380) : qt_noop());-
863 if (d->busyInsertingRows
d->busyInsertingRowsDescription
TRUEnever evaluated
FALSEevaluated 50 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-50
864 return
never executed: return false;
false;
never executed: return false;
0
865-
866 if (row >= rowCount()
row >= rowCount()Description
TRUEnever evaluated
FALSEevaluated 50 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-50
867 return
never executed: return false;
false;
never executed: return false;
0
868-
869 if (d->cache.value(row).op() == QSqlTableModelPrivate::Delete
d->cache.value...rivate::DeleteDescription
TRUEnever evaluated
FALSEevaluated 50 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-50
870 return
never executed: return false;
false;
never executed: return false;
0
871-
872 if (d->strategy != OnManualSubmit
d->strategy != OnManualSubmitDescription
TRUEevaluated 24 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
&& d->cache.value(row).submitted()
d->cache.value...w).submitted()Description
TRUEevaluated 10 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 14 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
&& isDirty()
isDirty()Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 7 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
3-26
873 return
executed 3 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
false;
executed 3 times by 1 test: return false;
Executed by:
  • tst_QSqlTableModel
3
874-
875-
876 typedef QMap<int, int> Map;-
877 Map map;-
878 for (int i = 0; i < values.count()
i < values.count()Description
TRUEevaluated 132 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 47 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
; ++i) {
47-132
879 int idx = d->nameToIndex(values.fieldName(i));-
880 if (idx == -1
idx == -1Description
TRUEnever evaluated
FALSEevaluated 132 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
0-132
881 return
never executed: return false;
false;
never executed: return false;
0
882 map[i] = idx;-
883 }
executed 132 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
132
884-
885 QSqlTableModelPrivate::ModifiedRow &mrow = d->cache[row];-
886 if (mrow.op() == QSqlTableModelPrivate::None
mrow.op() == Q...lPrivate::NoneDescription
TRUEevaluated 13 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 34 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
13-34
887 mrow = QSqlTableModelPrivate::ModifiedRow(QSqlTableModelPrivate::Update,
executed 13 times by 2 tests: mrow = QSqlTableModelPrivate::ModifiedRow(QSqlTableModelPrivate::Update, QSqlQueryModel::record(row));
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
13
888 QSqlQueryModel::record(row));
executed 13 times by 2 tests: mrow = QSqlTableModelPrivate::ModifiedRow(QSqlTableModelPrivate::Update, QSqlQueryModel::record(row));
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
13
889-
890 Map::const_iterator i = map.constBegin();-
891 const Map::const_iterator e = map.constEnd();-
892 for ( ; i != e
i != eDescription
TRUEevaluated 132 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 47 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
; ++i) {
47-132
893-
894 EditStrategy strategy = d->strategy;-
895 d->strategy = OnManualSubmit;-
896 QModelIndex cIndex = createIndex(row, i.value());-
897 setData(cIndex, values.value(i.key()));-
898 d->strategy = strategy;-
899-
900 if (!values.isGenerated(i.key())
!values.isGenerated(i.key())Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 129 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
3-129
901 mrow.recRef().setGenerated(i.value(), false);
executed 3 times by 1 test: mrow.recRef().setGenerated(i.value(), false);
Executed by:
  • tst_QSqlTableModel
3
902 }
executed 132 times by 2 tests: end of block
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
132
903-
904 if (d->strategy != OnManualSubmit
d->strategy != OnManualSubmitDescription
TRUEevaluated 21 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
)
21-26
905 return
executed 21 times by 2 tests: return submit();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
submit();
executed 21 times by 2 tests: return submit();
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
21
906-
907 return
executed 26 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
true;
executed 26 times by 2 tests: return true;
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
26
908}-
909QSqlRecord QSqlTableModel::primaryValues(int row) const-
910{-
911 const QSqlTableModelPrivate * const d = d_func();-
912-
913 const QSqlRecord &pIndex = d->primaryIndex.isEmpty()
d->primaryIndex.isEmpty()Description
TRUEevaluated 73 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
FALSEevaluated 60 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
? d->rec : d->primaryIndex;
60-73
914-
915 QSqlTableModelPrivate::ModifiedRow mr = d->cache.value(row);-
916 if (mr.op() != QSqlTableModelPrivate::None
mr.op() != QSq...lPrivate::NoneDescription
TRUEevaluated 131 times by 2 tests
Evaluated by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tst_QSqlTableModel
)
2-131
917 return
executed 131 times by 2 tests: return mr.primaryValues(pIndex);
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
mr.primaryValues(pIndex);
executed 131 times by 2 tests: return mr.primaryValues(pIndex);
Executed by:
  • tst_QSqlRelationalTableModel
  • tst_QSqlTableModel
131
918 else-
919 return
executed 2 times by 1 test: return QSqlQueryModel::record(row).keyValues(pIndex);
Executed by:
  • tst_QSqlTableModel
QSqlQueryModel::record(row).keyValues(pIndex);
executed 2 times by 1 test: return QSqlQueryModel::record(row).keyValues(pIndex);
Executed by:
  • tst_QSqlTableModel
2
920}-
921-
922-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9