summaryrefslogtreecommitdiffstats
path: root/src/plugins/sqldrivers/oci
diff options
context:
space:
mode:
authorSona Kurazyan <sona.kurazyan@qt.io>2022-04-14 13:21:36 +0200
committerSona Kurazyan <sona.kurazyan@qt.io>2022-04-19 19:40:04 +0200
commit128785d0fa0dc05dbe5ef2d5c8c3ba09b7c48546 (patch)
tree324c5356f4412528ea8a03a786fe1aaa183ad88c /src/plugins/sqldrivers/oci
parent917b4d3802f3c2102021610cbf977403a3d4c21a (diff)
Sql: use _L1 for for creating Latin-1 string literals
Task-number: QTBUG-98434 Change-Id: Ie12ca82fd912617eabe4f602c08914f12878cb32 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/plugins/sqldrivers/oci')
-rw-r--r--src/plugins/sqldrivers/oci/main.cpp4
-rw-r--r--src/plugins/sqldrivers/oci/qsql_oci.cpp113
2 files changed, 59 insertions, 58 deletions
diff --git a/src/plugins/sqldrivers/oci/main.cpp b/src/plugins/sqldrivers/oci/main.cpp
index db273bfb04..9b80bd940d 100644
--- a/src/plugins/sqldrivers/oci/main.cpp
+++ b/src/plugins/sqldrivers/oci/main.cpp
@@ -43,6 +43,8 @@
QT_BEGIN_NAMESPACE
+using namespace Qt::StringLiterals;
+
class QOCIDriverPlugin : public QSqlDriverPlugin
{
Q_OBJECT
@@ -61,7 +63,7 @@ QOCIDriverPlugin::QOCIDriverPlugin()
QSqlDriver* QOCIDriverPlugin::create(const QString &name)
{
- if (name == QLatin1String("QOCI")) {
+ if (name == "QOCI"_L1) {
QOCIDriver* driver = new QOCIDriver();
return driver;
}
diff --git a/src/plugins/sqldrivers/oci/qsql_oci.cpp b/src/plugins/sqldrivers/oci/qsql_oci.cpp
index 01fdc4adc5..8638a070cc 100644
--- a/src/plugins/sqldrivers/oci/qsql_oci.cpp
+++ b/src/plugins/sqldrivers/oci/qsql_oci.cpp
@@ -92,6 +92,8 @@ Q_DECLARE_METATYPE(OCIStmt*)
QT_BEGIN_NAMESPACE
+using namespace Qt::StringLiterals;
+
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
enum { QOCIEncoding = 2002 }; // AL16UTF16LE
#else
@@ -654,15 +656,15 @@ QSqlError qMakeError(const QString& errString, QSqlError::ErrorType type, OCIErr
QMetaType qDecodeOCIType(const QString& ocitype, QSql::NumericalPrecisionPolicy precisionPolicy)
{
int type = QMetaType::UnknownType;
- if (ocitype == QLatin1String("VARCHAR2") || ocitype == QLatin1String("VARCHAR")
- || ocitype.startsWith(QLatin1String("INTERVAL"))
- || ocitype == QLatin1String("CHAR") || ocitype == QLatin1String("NVARCHAR2")
- || ocitype == QLatin1String("NCHAR"))
+ if (ocitype == "VARCHAR2"_L1 || ocitype == "VARCHAR"_L1
+ || ocitype.startsWith("INTERVAL"_L1)
+ || ocitype == "CHAR"_L1 || ocitype == "NVARCHAR2"_L1
+ || ocitype == "NCHAR"_L1)
type = QMetaType::QString;
- else if (ocitype == QLatin1String("NUMBER")
- || ocitype == QLatin1String("FLOAT")
- || ocitype == QLatin1String("BINARY_FLOAT")
- || ocitype == QLatin1String("BINARY_DOUBLE")) {
+ else if (ocitype == "NUMBER"_L1
+ || ocitype == "FLOAT"_L1
+ || ocitype == "BINARY_FLOAT"_L1
+ || ocitype == "BINARY_DOUBLE"_L1) {
switch(precisionPolicy) {
case QSql::LowPrecisionInt32:
type = QMetaType::Int;
@@ -679,16 +681,15 @@ QMetaType qDecodeOCIType(const QString& ocitype, QSql::NumericalPrecisionPolicy
break;
}
}
- else if (ocitype == QLatin1String("LONG") || ocitype == QLatin1String("NCLOB")
- || ocitype == QLatin1String("CLOB"))
+ else if (ocitype == "LONG"_L1 || ocitype == "NCLOB"_L1 || ocitype == "CLOB"_L1)
type = QMetaType::QByteArray;
- else if (ocitype == QLatin1String("RAW") || ocitype == QLatin1String("LONG RAW")
- || ocitype == QLatin1String("ROWID") || ocitype == QLatin1String("BLOB")
- || ocitype == QLatin1String("CFILE") || ocitype == QLatin1String("BFILE"))
+ else if (ocitype == "RAW"_L1 || ocitype == "LONG RAW"_L1
+ || ocitype == "ROWID"_L1 || ocitype == "BLOB"_L1
+ || ocitype == "CFILE"_L1 || ocitype == "BFILE"_L1)
type = QMetaType::QByteArray;
- else if (ocitype == QLatin1String("DATE") || ocitype.startsWith(QLatin1String("TIME")))
+ else if (ocitype == "DATE"_L1 || ocitype.startsWith("TIME"_L1))
type = QMetaType::QDateTime;
- else if (ocitype == QLatin1String("UNDEFINED"))
+ else if (ocitype == "UNDEFINED"_L1)
type = QMetaType::UnknownType;
if (type == QMetaType::UnknownType)
qWarning("qDecodeOCIType: unknown type: %s", ocitype.toLocal8Bit().constData());
@@ -2237,11 +2238,11 @@ static void qParseOpts(const QString &options, QOCIDriverPrivate *d)
const QString opt = tmp.left(idx);
const QString val = tmp.mid(idx + 1).simplified();
bool ok;
- if (opt == QLatin1String("OCI_ATTR_PREFETCH_ROWS")) {
+ if (opt == "OCI_ATTR_PREFETCH_ROWS"_L1) {
d->prefetchRows = val.toInt(&ok);
if (!ok)
d->prefetchRows = -1;
- } else if (opt == QLatin1String("OCI_ATTR_PREFETCH_MEMORY")) {
+ } else if (opt == "OCI_ATTR_PREFETCH_MEMORY"_L1) {
d->prefetchMem = val.toInt(&ok);
if (!ok)
d->prefetchMem = -1;
@@ -2349,7 +2350,7 @@ bool QOCIDriver::open(const QString & db,
QString versionStr;
versionStr = QString(reinterpret_cast<const QChar *>(vertxt));
#if QT_CONFIG(regularexpression)
- auto match = QRegularExpression(QLatin1String("([0-9]+)\\.[0-9\\.]+[0-9]")).match(versionStr);
+ auto match = QRegularExpression("([0-9]+)\\.[0-9\\.]+[0-9]"_L1).match(versionStr);
if (match.hasMatch())
d->serverVersion = match.captured(1).toInt();
#endif
@@ -2478,7 +2479,7 @@ static QString make_where_clause(const QString &user, Expression e)
for (const auto &sysUser : sysUsers) {
const QLatin1String l1(sysUser);
if (l1 != user)
- result += QLatin1String("owner ") + bang[e] + QLatin1String("= '") + l1 + QLatin1String("' ") + join + u' ';
+ result += "owner "_L1 + bang[e] + "= '"_L1 + l1 + "' "_L1 + join + u' ';
}
result.chop(join.size() + 2); // remove final " <join> "
@@ -2503,7 +2504,7 @@ QStringList QOCIDriver::tables(QSql::TableType type) const
QSqlQuery t(createResult());
t.setForwardOnly(true);
if (type & QSql::Tables) {
- const QLatin1String tableQuery("select owner, table_name from all_tables where ");
+ const auto tableQuery = "select owner, table_name from all_tables where "_L1;
const QString where = make_where_clause(user, AndExpression);
t.exec(tableQuery + where);
while (t.next()) {
@@ -2514,7 +2515,7 @@ QStringList QOCIDriver::tables(QSql::TableType type) const
}
// list all table synonyms as well
- const QLatin1String synonymQuery("select owner, synonym_name from all_synonyms where ");
+ const auto synonymQuery = "select owner, synonym_name from all_synonyms where "_L1;
t.exec(synonymQuery + where);
while (t.next()) {
if (t.value(0).toString() != d->user)
@@ -2524,7 +2525,7 @@ QStringList QOCIDriver::tables(QSql::TableType type) const
}
}
if (type & QSql::Views) {
- const QLatin1String query("select owner, view_name from all_views where ");
+ const auto query = "select owner, view_name from all_views where "_L1;
const QString where = make_where_clause(user, AndExpression);
t.exec(query + where);
while (t.next()) {
@@ -2535,11 +2536,11 @@ QStringList QOCIDriver::tables(QSql::TableType type) const
}
}
if (type & QSql::SystemTables) {
- t.exec(QLatin1String("select table_name from dictionary"));
+ t.exec("select table_name from dictionary"_L1);
while (t.next()) {
tl.append(t.value(0).toString());
}
- const QLatin1String tableQuery("select owner, table_name from all_tables where ");
+ const auto tableQuery = "select owner, table_name from all_tables where "_L1;
const QString where = make_where_clause(user, OrExpression);
t.exec(tableQuery + where);
while (t.next()) {
@@ -2550,7 +2551,7 @@ QStringList QOCIDriver::tables(QSql::TableType type) const
}
// list all table synonyms as well
- const QLatin1String synonymQuery("select owner, synonym_name from all_synonyms where ");
+ const auto synonymQuery = "select owner, synonym_name from all_synonyms where "_L1;
t.exec(synonymQuery + where);
while (t.next()) {
if (t.value(0).toString() != d->user)
@@ -2584,14 +2585,14 @@ QSqlRecord QOCIDriver::record(const QString& tablename) const
QSqlQuery t(createResult());
// using two separate queries for this is A LOT faster than using
// eg. a sub-query on the sys.synonyms table
- QString stmt(QLatin1String("select column_name, data_type, data_length, "
+ QString stmt("select column_name, data_type, data_length, "
"data_precision, data_scale, nullable, data_default%1"
"from all_tab_columns a "
- "where a.table_name=%2"));
+ "where a.table_name=%2"_L1);
if (d->serverVersion >= 9)
- stmt = stmt.arg(QLatin1String(", char_length "));
+ stmt = stmt.arg(", char_length "_L1);
else
- stmt = stmt.arg(QLatin1String(" "));
+ stmt = stmt.arg(" "_L1);
bool buildRecordInfo = false;
QString table, owner, tmpStmt;
qSplitTableAndOwner(tablename, &table, &owner);
@@ -2611,14 +2612,12 @@ QSqlRecord QOCIDriver::record(const QString& tablename) const
else
owner = owner.toUpper();
- tmpStmt += QLatin1String(" and a.owner='") + owner + u'\'';
+ tmpStmt += " and a.owner='"_L1 + owner + u'\'';
t.setForwardOnly(true);
t.exec(tmpStmt);
if (!t.next()) { // try and see if the tablename is a synonym
- stmt = stmt + QLatin1String(" join all_synonyms b "
- "on a.owner=b.table_owner and a.table_name=b.table_name "
- "where b.owner='") + owner +
- QLatin1String("' and b.synonym_name='") + table + u'\'';
+ stmt = stmt + " join all_synonyms b on a.owner=b.table_owner and a.table_name=b.table_name "
+ "where b.owner='"_L1 + owner + "' and b.synonym_name='"_L1 + table + u'\'';
t.setForwardOnly(true);
t.exec(stmt);
if (t.next())
@@ -2626,13 +2625,13 @@ QSqlRecord QOCIDriver::record(const QString& tablename) const
} else {
buildRecordInfo = true;
}
- QStringList keywords = QStringList() << QLatin1String("NUMBER") << QLatin1String("FLOAT") << QLatin1String("BINARY_FLOAT")
- << QLatin1String("BINARY_DOUBLE");
+ QStringList keywords = QStringList() << "NUMBER"_L1 << "FLOAT"_L1 << "BINARY_FLOAT"_L1
+ << "BINARY_DOUBLE"_L1;
if (buildRecordInfo) {
do {
QMetaType ty = qDecodeOCIType(t.value(1).toString(), t.numericalPrecisionPolicy());
QSqlField f(t.value(0).toString(), ty);
- f.setRequired(t.value(5).toString() == QLatin1String("N"));
+ f.setRequired(t.value(5).toString() == "N"_L1);
f.setPrecision(t.value(4).toInt());
if (d->serverVersion >= 9 && (ty.id() == QMetaType::QString) && !t.isNull(3) && !keywords.contains(t.value(1).toString())) {
// Oracle9: data_length == size in bytes, char_length == amount of characters
@@ -2654,11 +2653,11 @@ QSqlIndex QOCIDriver::primaryIndex(const QString& tablename) const
if (!isOpen())
return idx;
QSqlQuery t(createResult());
- QString stmt(QLatin1String("select b.column_name, b.index_name, a.table_name, a.owner "
+ QString stmt("select b.column_name, b.index_name, a.table_name, a.owner "
"from all_constraints a, all_ind_columns b "
"where a.constraint_type='P' "
"and b.index_name = a.index_name "
- "and b.index_owner = a.owner"));
+ "and b.index_owner = a.owner"_L1);
bool buildIndex = false;
QString table, owner, tmpStmt;
@@ -2669,7 +2668,7 @@ QSqlIndex QOCIDriver::primaryIndex(const QString& tablename) const
else
table = table.toUpper();
- tmpStmt = stmt + QLatin1String(" and a.table_name='") + table + u'\'';
+ tmpStmt = stmt + " and a.table_name='"_L1 + table + u'\'';
if (owner.isEmpty()) {
owner = d->user;
}
@@ -2679,13 +2678,13 @@ QSqlIndex QOCIDriver::primaryIndex(const QString& tablename) const
else
owner = owner.toUpper();
- tmpStmt += QLatin1String(" and a.owner='") + owner + u'\'';
+ tmpStmt += " and a.owner='"_L1 + owner + u'\'';
t.setForwardOnly(true);
t.exec(tmpStmt);
if (!t.next()) {
- stmt += QLatin1String(" and a.table_name=(select tname from sys.synonyms "
- "where sname='") + table + QLatin1String("' and creator=a.owner)");
+ stmt += " and a.table_name=(select tname from sys.synonyms where sname='"_L1
+ + table + "' and creator=a.owner)"_L1;
t.setForwardOnly(true);
t.exec(stmt);
if (t.next()) {
@@ -2700,9 +2699,9 @@ QSqlIndex QOCIDriver::primaryIndex(const QString& tablename) const
tt.setForwardOnly(true);
idx.setName(t.value(1).toString());
do {
- tt.exec(QLatin1String("select data_type from all_tab_columns where table_name='") +
- t.value(2).toString() + QLatin1String("' and column_name='") +
- t.value(0).toString() + QLatin1String("' and owner='") +
+ tt.exec("select data_type from all_tab_columns where table_name='"_L1 +
+ t.value(2).toString() + "' and column_name='"_L1 +
+ t.value(0).toString() + "' and owner='"_L1 +
owner + u'\'');
if (!tt.next()) {
return QSqlIndex();
@@ -2722,16 +2721,16 @@ QString QOCIDriver::formatValue(const QSqlField &field, bool trimStrings) const
QDateTime datetime = field.value().toDateTime();
QString datestring;
if (datetime.isValid()) {
- datestring = QLatin1String("TO_DATE('") + QString::number(datetime.date().year())
+ datestring = "TO_DATE('"_L1 + QString::number(datetime.date().year())
+ u'-'
+ QString::number(datetime.date().month()) + u'-'
+ QString::number(datetime.date().day()) + u' '
+ QString::number(datetime.time().hour()) + u':'
+ QString::number(datetime.time().minute()) + u':'
+ QString::number(datetime.time().second())
- + QLatin1String("','YYYY-MM-DD HH24:MI:SS')");
+ + "','YYYY-MM-DD HH24:MI:SS')"_L1;
} else {
- datestring = QLatin1String("NULL");
+ datestring = "NULL"_L1;
}
return datestring;
}
@@ -2739,13 +2738,13 @@ QString QOCIDriver::formatValue(const QSqlField &field, bool trimStrings) const
QDateTime datetime = field.value().toDateTime();
QString datestring;
if (datetime.isValid()) {
- datestring = QLatin1String("TO_DATE('")
+ datestring = "TO_DATE('"_L1
+ QString::number(datetime.time().hour()) + u':'
+ QString::number(datetime.time().minute()) + u':'
+ QString::number(datetime.time().second())
- + QLatin1String("','HH24:MI:SS')");
+ + "','HH24:MI:SS')"_L1;
} else {
- datestring = QLatin1String("NULL");
+ datestring = "NULL"_L1;
}
return datestring;
}
@@ -2753,12 +2752,12 @@ QString QOCIDriver::formatValue(const QSqlField &field, bool trimStrings) const
QDate date = field.value().toDate();
QString datestring;
if (date.isValid()) {
- datestring = QLatin1String("TO_DATE('") + QString::number(date.year()) +
+ datestring = "TO_DATE('"_L1 + QString::number(date.year()) +
u'-' +
QString::number(date.month()) + u'-' +
- QString::number(date.day()) + QLatin1String("','YYYY-MM-DD')");
+ QString::number(date.day()) + "','YYYY-MM-DD')"_L1;
} else {
- datestring = QLatin1String("NULL");
+ datestring = "NULL"_L1;
}
return datestring;
}
@@ -2778,9 +2777,9 @@ QString QOCIDriver::escapeIdentifier(const QString &identifier, IdentifierType t
{
QString res = identifier;
if (!identifier.isEmpty() && !isIdentifierEscaped(identifier, type)) {
- res.replace(u'"', QLatin1String("\"\""));
+ res.replace(u'"', "\"\""_L1);
res.prepend(u'"').append(u'"');
- res.replace(u'.', QLatin1String("\".\""));
+ res.replace(u'.', "\".\""_L1);
}
return res;
}