From 917b4d3802f3c2102021610cbf977403a3d4c21a Mon Sep 17 00:00:00 2001 From: Sona Kurazyan Date: Thu, 14 Apr 2022 13:14:29 +0200 Subject: Sql: stop using QLatin1Char constructor for creating char literals Required for porting away from QLatin1Char/QLatin1String in scope of QTBUG-98434. As a drive-by, fix qsizetype -> int narrowing conversion warnings for the touched lines. Change-Id: I03477e645a94948cac3e3e2abca52aa4e3e2efff Reviewed-by: Volker Hilsheimer --- src/sql/kernel/qsqldatabase.cpp | 2 +- src/sql/kernel/qsqldriver.cpp | 31 ++++++++++++++----------------- src/sql/kernel/qsqlerror.cpp | 2 +- src/sql/kernel/qsqlindex.cpp | 5 ++--- src/sql/kernel/qsqlrecord.cpp | 4 ++-- src/sql/kernel/qsqlresult.cpp | 28 ++++++++++++++-------------- 6 files changed, 34 insertions(+), 38 deletions(-) (limited to 'src/sql/kernel') diff --git a/src/sql/kernel/qsqldatabase.cpp b/src/sql/kernel/qsqldatabase.cpp index ee0254411c..1d69e8553f 100644 --- a/src/sql/kernel/qsqldatabase.cpp +++ b/src/sql/kernel/qsqldatabase.cpp @@ -699,7 +699,7 @@ void QSqlDatabasePrivate::init(const QString &type) if (!driver) { qWarning("QSqlDatabase: %s driver not loaded", type.toLatin1().data()); qWarning("QSqlDatabase: available drivers: %s", - QSqlDatabase::drivers().join(QLatin1Char(' ')).toLatin1().data()); + QSqlDatabase::drivers().join(u' ').toLatin1().data()); if (QCoreApplication::instance() == nullptr) qWarning("QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins"); driver = shared_null()->driver; diff --git a/src/sql/kernel/qsqldriver.cpp b/src/sql/kernel/qsqldriver.cpp index 369330a951..1c9979623f 100644 --- a/src/sql/kernel/qsqldriver.cpp +++ b/src/sql/kernel/qsqldriver.cpp @@ -423,8 +423,8 @@ bool QSqlDriver::isIdentifierEscaped(const QString &identifier, IdentifierType t { Q_UNUSED(type); return identifier.size() > 2 - && identifier.startsWith(QLatin1Char('"')) //left delimited - && identifier.endsWith(QLatin1Char('"')); //right delimited + && identifier.startsWith(u'"') //left delimited + && identifier.endsWith(u'"'); //right delimited } /*! @@ -497,7 +497,7 @@ QString QSqlDriver::sqlStatement(StatementType type, const QString &tableName, case WhereStatement: { const QString tableNamePrefix = tableNameString.isEmpty() - ? QString() : tableNameString + QLatin1Char('.'); + ? QString() : tableNameString + u'.'; for (int i = 0; i < rec.count(); ++i) { if (!rec.isGenerated(i)) continue; @@ -518,9 +518,9 @@ QString QSqlDriver::sqlStatement(StatementType type, const QString &tableName, for (i = 0; i < rec.count(); ++i) { if (!rec.isGenerated(i)) continue; - s.append(prepareIdentifier(rec.fieldName(i), QSqlDriver::FieldName, this)).append(QLatin1Char('=')); + s.append(prepareIdentifier(rec.fieldName(i), QSqlDriver::FieldName, this)).append(u'='); if (preparedStatement) - s.append(QLatin1Char('?')); + s.append(u'?'); else s.append(formatValue(rec.field(i))); s.append(QLatin1String(", ")); @@ -541,7 +541,7 @@ QString QSqlDriver::sqlStatement(StatementType type, const QString &tableName, continue; s.append(prepareIdentifier(rec.fieldName(i), QSqlDriver::FieldName, this)).append(QLatin1String(", ")); if (preparedStatement) - vals.append(QLatin1Char('?')); + vals.append(u'?'); else vals.append(formatValue(rec.field(i))); vals.append(QLatin1String(", ")); @@ -550,8 +550,8 @@ QString QSqlDriver::sqlStatement(StatementType type, const QString &tableName, s.clear(); } else { vals.chop(2); // remove trailing comma - s[s.length() - 2] = QLatin1Char(')'); - s.append(QLatin1String("VALUES (")).append(vals).append(QLatin1Char(')')); + s[s.length() - 2] = u')'; + s.append(QLatin1String("VALUES (")).append(vals).append(u')'); } break; } } @@ -610,22 +610,19 @@ QString QSqlDriver::formatValue(const QSqlField &field, bool trimStrings) const #if QT_CONFIG(datestring) case QMetaType::QDate: if (field.value().toDate().isValid()) - r = QLatin1Char('\'') + field.value().toDate().toString(Qt::ISODate) - + QLatin1Char('\''); + r = u'\'' + field.value().toDate().toString(Qt::ISODate) + u'\''; else r = nullTxt; break; case QMetaType::QTime: if (field.value().toTime().isValid()) - r = QLatin1Char('\'') + field.value().toTime().toString(Qt::ISODate) - + QLatin1Char('\''); + r = u'\'' + field.value().toTime().toString(Qt::ISODate) + u'\''; else r = nullTxt; break; case QMetaType::QDateTime: if (field.value().toDateTime().isValid()) - r = QLatin1Char('\'') + - field.value().toDateTime().toString(Qt::ISODate) + QLatin1Char('\''); + r = u'\'' + field.value().toDateTime().toString(Qt::ISODate) + u'\''; else r = nullTxt; break; @@ -641,8 +638,8 @@ QString QSqlDriver::formatValue(const QSqlField &field, bool trimStrings) const result.truncate(end); } /* escape the "'" character */ - result.replace(QLatin1Char('\''), QLatin1String("''")); - r = QLatin1Char('\'') + result + QLatin1Char('\''); + result.replace(u'\'', QLatin1String("''")); + r = u'\'' + result + u'\''; break; } case QMetaType::Bool: @@ -658,7 +655,7 @@ QString QSqlDriver::formatValue(const QSqlField &field, bool trimStrings) const res += QLatin1Char(hexchars[s >> 4]); res += QLatin1Char(hexchars[s & 0x0f]); } - r = QLatin1Char('\'') + res + QLatin1Char('\''); + r = u'\'' + res + u'\''; break; } } diff --git a/src/sql/kernel/qsqlerror.cpp b/src/sql/kernel/qsqlerror.cpp index 5e69778a2a..2fb0599287 100644 --- a/src/sql/kernel/qsqlerror.cpp +++ b/src/sql/kernel/qsqlerror.cpp @@ -244,7 +244,7 @@ QString QSqlError::text() const { QString result = d->databaseError; if (!d->databaseError.isEmpty() && !d->driverError.isEmpty() && !d->databaseError.endsWith(QLatin1String("\n"))) - result += QLatin1Char(' '); + result += u' '; result += d->driverError; return result; } diff --git a/src/sql/kernel/qsqlindex.cpp b/src/sql/kernel/qsqlindex.cpp index 5781f24b5c..068a6892ac 100644 --- a/src/sql/kernel/qsqlindex.cpp +++ b/src/sql/kernel/qsqlindex.cpp @@ -173,11 +173,10 @@ QString QSqlIndex::createField(int i, const QString& prefix, bool verbose) const { QString f; if (!prefix.isEmpty()) - f += prefix + QLatin1Char('.'); + f += prefix + u'.'; f += field(i).name(); if (verbose) - f += QLatin1Char(' ') + QString((isDescending(i) - ? QLatin1String("DESC") : QLatin1String("ASC"))); + f += u' ' + QString((isDescending(i) ? QLatin1String("DESC") : QLatin1String("ASC"))); return f; } diff --git a/src/sql/kernel/qsqlrecord.cpp b/src/sql/kernel/qsqlrecord.cpp index 5f4a4a8ab1..4868e50ef9 100644 --- a/src/sql/kernel/qsqlrecord.cpp +++ b/src/sql/kernel/qsqlrecord.cpp @@ -76,7 +76,7 @@ QString QSqlRecordPrivate::createField(int index, const QString &prefix) const { QString f; if (!prefix.isEmpty()) - f = prefix + QLatin1Char('.'); + f = prefix + u'.'; f += fields.at(index).name(); return f; } @@ -234,7 +234,7 @@ int QSqlRecord::indexOf(const QString& name) const { QStringView tableName; QStringView fieldName(name); - const int idx = name.indexOf(QLatin1Char('.')); + const qsizetype idx = name.indexOf(u'.'); if (idx != -1) { tableName = fieldName.left(idx); fieldName = fieldName.mid(idx + 1); diff --git a/src/sql/kernel/qsqlresult.cpp b/src/sql/kernel/qsqlresult.cpp index cdf1479e64..860622fb24 100644 --- a/src/sql/kernel/qsqlresult.cpp +++ b/src/sql/kernel/qsqlresult.cpp @@ -86,7 +86,7 @@ QString QSqlResultPrivate::positionalToNamedBinding(const QString &query) const QChar ch = query.at(i); if (!closingQuote.isNull()) { if (ch == closingQuote) { - if (closingQuote == QLatin1Char(']') + if (closingQuote == u']' && i + 1 < n && query.at(i + 1) == closingQuote) { // consume the extra character. don't close. ++i; @@ -97,13 +97,13 @@ QString QSqlResultPrivate::positionalToNamedBinding(const QString &query) const } result += ch; } else { - if (ch == QLatin1Char('?')) { + if (ch == u'?') { result += fieldSerial(count++); } else { - if (ch == QLatin1Char('\'') || ch == QLatin1Char('"') || ch == QLatin1Char('`')) + if (ch == u'\'' || ch == u'"' || ch == u'`') closingQuote = ch; - else if (!ignoreBraces && ch == QLatin1Char('[')) - closingQuote = QLatin1Char(']'); + else if (!ignoreBraces && ch == u'[') + closingQuote = u']'; result += ch; } } @@ -134,7 +134,7 @@ QString QSqlResultPrivate::namedToPositionalBinding(const QString &query) QChar ch = query.at(i); if (!closingQuote.isNull()) { if (ch == closingQuote) { - if (closingQuote == QLatin1Char(']') + if (closingQuote == u']' && i + 1 < n && query.at(i + 1) == closingQuote) { // consume the extra character. don't close. ++i; @@ -146,8 +146,8 @@ QString QSqlResultPrivate::namedToPositionalBinding(const QString &query) result += ch; ++i; } else { - if (ch == QLatin1Char(':') - && (i == 0 || query.at(i - 1) != QLatin1Char(':')) + if (ch == u':' + && (i == 0 || query.at(i - 1) != u':') && (i + 1 < n && qIsAlnum(query.at(i + 1)))) { int pos = i + 2; while (pos < n && qIsAlnum(query.at(pos))) @@ -155,13 +155,13 @@ QString QSqlResultPrivate::namedToPositionalBinding(const QString &query) QString holder(query.mid(i, pos - i)); indexes[holder].append(count++); holders.append(QHolder(holder, i)); - result += QLatin1Char('?'); + result += u'?'; i = pos; } else { - if (ch == QLatin1Char('\'') || ch == QLatin1Char('"') || ch == QLatin1Char('`')) + if (ch == u'\'' || ch == u'"' || ch == u'`') closingQuote = ch; - else if (!ignoreBraces && ch == QLatin1Char('[')) - closingQuote = QLatin1Char(']'); + else if (!ignoreBraces && ch == u'[') + closingQuote = u']'; result += ch; ++i; } @@ -677,10 +677,10 @@ bool QSqlResult::exec() } } else { QString val; - int i = 0; + qsizetype i = 0; int idx = 0; for (idx = 0; idx < d->values.count(); ++idx) { - i = query.indexOf(QLatin1Char('?'), i); + i = query.indexOf(u'?', i); if (i == -1) continue; QVariant var = d->values.value(idx); -- cgit v1.2.3