diff options
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.cpp')
| -rw-r--r-- | SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.cpp | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.cpp index 07d1976..faf8c8e 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.cpp @@ -10,40 +10,22 @@ StatementTokenBuilder& StatementTokenBuilder::withKeyword(const QString& value) StatementTokenBuilder& StatementTokenBuilder::withOther(const QString& value) { - return with(Token::OTHER, value); + return withOther(value, true); } -StatementTokenBuilder& StatementTokenBuilder::withOther(const QString& value, Dialect dialect) +StatementTokenBuilder& StatementTokenBuilder::withOther(const QString& value, bool wrapIfNeeded) { - return withOther(wrapObjIfNeeded(value, dialect)); + return with(Token::OTHER, wrapIfNeeded ? wrapObjIfNeeded(value) : value); } -StatementTokenBuilder&StatementTokenBuilder::withStringPossiblyOther(const QString& value, Dialect dialect) +StatementTokenBuilder&StatementTokenBuilder::withStringPossiblyOther(const QString& value) { if (value.contains("\"")) - return withOther(wrapObjIfNeeded(value, dialect)); + return withOther(wrapObjIfNeeded(value)); else return withOther(wrapObjName(value, NameWrapper::DOUBLE_QUOTE)); } -StatementTokenBuilder& StatementTokenBuilder::withOtherList(const QList<QString>& value, Dialect dialect, const QString& separator) -{ - bool first = true; - for (const QString& str : value) - { - if (!first) - { - if (!separator.isEmpty()) - withOperator(separator); - - withSpace(); - } - withOther(str, dialect); - first = false; - } - return *this; -} - StatementTokenBuilder& StatementTokenBuilder::withOtherList(const QList<QString>& value, const QString& separator) { bool first = true; @@ -157,6 +139,12 @@ StatementTokenBuilder& StatementTokenBuilder::withLiteralValue(const QVariant& v if (value.isNull()) return *this; + if (value.userType() == QVariant::String) + { + withString(value.toString()); + return *this; + } + bool ok; if (value.userType() == QVariant::Double) { |
