diff options
Diffstat (limited to 'src/sql/kernel/qsqlquery.cpp')
-rw-r--r-- | src/sql/kernel/qsqlquery.cpp | 62 |
1 files changed, 25 insertions, 37 deletions
diff --git a/src/sql/kernel/qsqlquery.cpp b/src/sql/kernel/qsqlquery.cpp index 8395e56c4b..63f782fe22 100644 --- a/src/sql/kernel/qsqlquery.cpp +++ b/src/sql/kernel/qsqlquery.cpp @@ -7,6 +7,7 @@ #include "qatomic.h" #include "qdebug.h" +#include "qloggingcategory.h" #include "qsqlrecord.h" #include "qsqlresult.h" #include "qsqldriver.h" @@ -19,6 +20,8 @@ QT_BEGIN_NAMESPACE +Q_STATIC_LOGGING_CATEGORY(lcSqlQuery, "qt.sql.qsqlquery") + class QSqlQueryPrivate { public: @@ -327,26 +330,18 @@ bool QSqlQuery::isNull(int field) const /*! \overload -*/ -bool QSqlQuery::isNull(const QString &name) const -{ - return isNull(QStringView(name)); -} - -/*! - \overload Returns \c true if there is no field with this \a name; otherwise returns isNull(int index) for the corresponding field index. This overload is less efficient than \l{QSqlQuery::}{isNull()} */ -bool QSqlQuery::isNull(QStringView name) const +bool QSqlQuery::isNull(QAnyStringView name) const { qsizetype index = d->sqlResult->record().indexOf(name); if (index > -1) return isNull(index); - qWarning("QSqlQuery::isNull: unknown field name '%s'", qPrintable(name.toString())); + qCWarning(lcSqlQuery, "QSqlQuery::isNull: unknown field name '%ls'", qUtf16Printable(name.toString())); return true; } @@ -382,7 +377,7 @@ bool QSqlQuery::exec(const QString& query) t.start(); #endif if (!driver()) { - qWarning("QSqlQuery::exec: called before driver has been set up"); + qCWarning(lcSqlQuery, "QSqlQuery::exec: called before driver has been set up"); return false; } if (d->ref.loadRelaxed() != 1) { @@ -399,19 +394,20 @@ bool QSqlQuery::exec(const QString& query) } d->sqlResult->setQuery(query.trimmed()); if (!driver()->isOpen() || driver()->isOpenError()) { - qWarning("QSqlQuery::exec: database not open"); + qCWarning(lcSqlQuery, "QSqlQuery::exec: database not open"); return false; } if (query.isEmpty()) { - qWarning("QSqlQuery::exec: empty query"); + qCWarning(lcSqlQuery, "QSqlQuery::exec: empty query"); return false; } bool retval = d->sqlResult->reset(query); #ifdef QT_DEBUG_SQL - qDebug().nospace() << "Executed query (" << t.elapsed() << "ms, " << d->sqlResult->size() - << " results, " << d->sqlResult->numRowsAffected() - << " affected): " << d->sqlResult->lastQuery(); + qCDebug(lcSqlQuery()).nospace() << "Executed query (" << t.elapsed() << "ms, " + << d->sqlResult->size() + << " results, " << d->sqlResult->numRowsAffected() + << " affected): " << d->sqlResult->lastQuery(); #endif return retval; } @@ -439,32 +435,24 @@ QVariant QSqlQuery::value(int index) const { if (isActive() && isValid() && (index > -1)) return d->sqlResult->data(index); - qWarning("QSqlQuery::value: not positioned on a valid record"); + qCWarning(lcSqlQuery, "QSqlQuery::value: not positioned on a valid record"); return QVariant(); } /*! \overload -*/ -QVariant QSqlQuery::value(const QString &name) const -{ - return value(QStringView(name)); -} - -/*! - \overload Returns the value of the field called \a name in the current record. If field \a name does not exist an invalid variant is returned. This overload is less efficient than \l{QSqlQuery::}{value()} */ -QVariant QSqlQuery::value(QStringView name) const +QVariant QSqlQuery::value(QAnyStringView name) const { qsizetype index = d->sqlResult->record().indexOf(name); if (index > -1) return value(index); - qWarning("QSqlQuery::value: unknown field name '%s'", qPrintable(name.toString())); + qCWarning(lcSqlQuery, "QSqlQuery::value: unknown field name '%ls'", qUtf16Printable(name.toString())); return QVariant(); } @@ -610,7 +598,7 @@ bool QSqlQuery::seek(int index, bool relative) } // let drivers optimize if (isForwardOnly() && actualIdx < at()) { - qWarning("QSqlQuery::seek: cannot seek backwards in a forward only query"); + qCWarning(lcSqlQuery, "QSqlQuery::seek: cannot seek backwards in a forward only query"); return false; } if (actualIdx == (at() + 1) && at() != QSql::BeforeFirstRow) { @@ -716,7 +704,7 @@ bool QSqlQuery::previous() if (!isSelect() || !isActive()) return false; if (isForwardOnly()) { - qWarning("QSqlQuery::seek: cannot seek backwards in a forward only query"); + qCWarning(lcSqlQuery, "QSqlQuery::seek: cannot seek backwards in a forward only query"); return false; } @@ -749,7 +737,7 @@ bool QSqlQuery::first() if (!isSelect() || !isActive()) return false; if (isForwardOnly() && at() > QSql::BeforeFirstRow) { - qWarning("QSqlQuery::seek: cannot seek backwards in a forward only query"); + qCWarning(lcSqlQuery, "QSqlQuery::seek: cannot seek backwards in a forward only query"); return false; } return d->sqlResult->fetchFirst(); @@ -996,19 +984,19 @@ bool QSqlQuery::prepare(const QString& query) d->sqlResult->setNumericalPrecisionPolicy(d->sqlResult->numericalPrecisionPolicy()); } if (!driver()) { - qWarning("QSqlQuery::prepare: no driver"); + qCWarning(lcSqlQuery, "QSqlQuery::prepare: no driver"); return false; } if (!driver()->isOpen() || driver()->isOpenError()) { - qWarning("QSqlQuery::prepare: database not open"); + qCWarning(lcSqlQuery, "QSqlQuery::prepare: database not open"); return false; } if (query.isEmpty()) { - qWarning("QSqlQuery::prepare: empty query"); + qCWarning(lcSqlQuery, "QSqlQuery::prepare: empty query"); return false; } #ifdef QT_DEBUG_SQL - qDebug("\n QSqlQuery::prepare: %s", query.toLocal8Bit().constData()); + qCDebug(lcSqlQuery, "\n QSqlQuery::prepare: %ls", qUtf16Printable(query)); #endif return d->sqlResult->savePrepare(query); } @@ -1035,9 +1023,9 @@ bool QSqlQuery::exec() bool retval = d->sqlResult->exec(); #ifdef QT_DEBUG_SQL - qDebug().nospace() << "Executed prepared query (" << t.elapsed() << "ms, " - << d->sqlResult->size() << " results, " << d->sqlResult->numRowsAffected() - << " affected): " << d->sqlResult->lastQuery(); + qCDebug(lcSqlQuery).nospace() << "Executed prepared query (" << t.elapsed() << "ms, " + << d->sqlResult->size() << " results, " << d->sqlResult->numRowsAffected() + << " affected): " << d->sqlResult->lastQuery(); #endif return retval; } |