Improve QDebug formatting of QtSql classes.
Fix quoting/spaces, introduce QDebugStateSaver, add missing fields of QSqlField. Task-number: QTBUG-39388 Change-Id: Id397f9e79f4d4d2bb5c903cd96bf2c27f8e1b7c3 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>bb10
parent
88057e3407
commit
d6d3841e71
|
|
@ -1503,15 +1503,18 @@ QSql::NumericalPrecisionPolicy QSqlDatabase::numericalPrecisionPolicy() const
|
|||
#ifndef QT_NO_DEBUG_STREAM
|
||||
QDebug operator<<(QDebug dbg, const QSqlDatabase &d)
|
||||
{
|
||||
QDebugStateSaver saver(dbg);
|
||||
dbg.nospace();
|
||||
dbg.noquote();
|
||||
if (!d.isValid()) {
|
||||
dbg.nospace() << "QSqlDatabase(invalid)";
|
||||
return dbg.space();
|
||||
dbg << "QSqlDatabase(invalid)";
|
||||
return dbg;
|
||||
}
|
||||
|
||||
dbg.nospace() << "QSqlDatabase(driver=\"" << d.driverName() << "\", database=\""
|
||||
<< d.databaseName() << "\", host=\"" << d.hostName() << "\", port=" << d.port()
|
||||
<< ", user=\"" << d.userName() << "\", open=" << d.isOpen() << ")";
|
||||
return dbg.space();
|
||||
dbg << "QSqlDatabase(driver=\"" << d.driverName() << "\", database=\""
|
||||
<< d.databaseName() << "\", host=\"" << d.hostName() << "\", port=" << d.port()
|
||||
<< ", user=\"" << d.userName() << "\", open=" << d.isOpen() << ')';
|
||||
return dbg;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -39,9 +39,11 @@ QT_BEGIN_NAMESPACE
|
|||
#ifndef QT_NO_DEBUG_STREAM
|
||||
QDebug operator<<(QDebug dbg, const QSqlError &s)
|
||||
{
|
||||
dbg.nospace() << "QSqlError(" << s.nativeErrorCode() << ", " << s.driverText() <<
|
||||
", " << s.databaseText() << ')';
|
||||
return dbg.space();
|
||||
QDebugStateSaver saver(dbg);
|
||||
dbg.nospace();
|
||||
dbg << "QSqlError(" << s.nativeErrorCode() << ", " << s.driverText()
|
||||
<< ", " << s.databaseText() << ')';
|
||||
return dbg;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -509,21 +509,24 @@ bool QSqlField::isValid() const
|
|||
#ifndef QT_NO_DEBUG_STREAM
|
||||
QDebug operator<<(QDebug dbg, const QSqlField &f)
|
||||
{
|
||||
dbg.nospace() << "QSqlField(" << f.name() << ", " << QMetaType::typeName(f.type());
|
||||
QDebugStateSaver saver(dbg);
|
||||
dbg.nospace();
|
||||
dbg << "QSqlField(" << f.name() << ", " << QMetaType::typeName(f.type());
|
||||
if (f.length() >= 0)
|
||||
dbg.nospace() << ", length: " << f.length();
|
||||
dbg << ", length: " << f.length();
|
||||
if (f.precision() >= 0)
|
||||
dbg.nospace() << ", precision: " << f.precision();
|
||||
dbg << ", precision: " << f.precision();
|
||||
if (f.requiredStatus() != QSqlField::Unknown)
|
||||
dbg.nospace() << ", required: "
|
||||
<< (f.requiredStatus() == QSqlField::Required ? "yes" : "no");
|
||||
dbg.nospace() << ", generated: " << (f.isGenerated() ? "yes" : "no");
|
||||
dbg << ", required: "
|
||||
<< (f.requiredStatus() == QSqlField::Required ? "yes" : "no");
|
||||
dbg << ", generated: " << (f.isGenerated() ? "yes" : "no");
|
||||
if (f.typeID() >= 0)
|
||||
dbg.nospace() << ", typeID: " << f.typeID();
|
||||
dbg << ", typeID: " << f.typeID();
|
||||
if (!f.defaultValue().isNull())
|
||||
dbg.nospace() << ", auto-value: \"" << f.defaultValue() << '\"';
|
||||
dbg.nospace() << ')';
|
||||
return dbg.space();
|
||||
dbg << ", defaultValue: \"" << f.defaultValue() << '\"';
|
||||
dbg << ", autoValue: " << f.isAutoValue()
|
||||
<< ", readOnly: " << f.isReadOnly() << ')';
|
||||
return dbg;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -509,9 +509,16 @@ void QSqlRecord::detach()
|
|||
#ifndef QT_NO_DEBUG_STREAM
|
||||
QDebug operator<<(QDebug dbg, const QSqlRecord &r)
|
||||
{
|
||||
dbg << "QSqlRecord(" << r.count() << ')';
|
||||
for (int i = 0; i < r.count(); ++i)
|
||||
dbg << '\n' << QString::fromLatin1("%1:").arg(i, 2) << r.field(i) << r.value(i).toString();
|
||||
QDebugStateSaver saver(dbg);
|
||||
dbg.nospace();
|
||||
const int count = r.count();
|
||||
dbg << "QSqlRecord(" << count << ')';
|
||||
for (int i = 0; i < count; ++i) {
|
||||
dbg.nospace();
|
||||
dbg << '\n' << qSetFieldWidth(2) << right << i << left << qSetFieldWidth(0) << ':';
|
||||
dbg.space();
|
||||
dbg << r.field(i) << r.value(i).toString();
|
||||
}
|
||||
return dbg;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue