diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-12-24 00:56:59 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-12-24 00:56:59 +0100 |
commit | f0fbff4c905fd3e21d7aefedd45d98cc9dd54018 (patch) | |
tree | c61f47f858a9ac6183676bd7aee378a6a2b84a19 /src/sql | |
parent | d776937df91e46536f404c6868d64016b6038d7b (diff) | |
parent | 0e1ce36ae67de940b2d499ec7f23e520dce0f112 (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I2defae1904154283446b069d151c3ef57302ec7b
Diffstat (limited to 'src/sql')
-rw-r--r-- | src/sql/kernel/qsqldriver.h | 1 | ||||
-rw-r--r-- | src/sql/kernel/qsqlresult.cpp | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/sql/kernel/qsqldriver.h b/src/sql/kernel/qsqldriver.h index 017ffd4e4a..f93a03063b 100644 --- a/src/sql/kernel/qsqldriver.h +++ b/src/sql/kernel/qsqldriver.h @@ -62,6 +62,7 @@ class QVariant; class Q_SQL_EXPORT QSqlDriver : public QObject { friend class QSqlDatabase; + friend class QSqlResultPrivate; Q_OBJECT Q_DECLARE_PRIVATE(QSqlDriver) diff --git a/src/sql/kernel/qsqlresult.cpp b/src/sql/kernel/qsqlresult.cpp index 953e2ca66e..31b05ab9e9 100644 --- a/src/sql/kernel/qsqlresult.cpp +++ b/src/sql/kernel/qsqlresult.cpp @@ -51,6 +51,7 @@ #include "qsqldriver.h" #include "qpointer.h" #include "qsqlresult_p.h" +#include "private/qsqldriver_p.h" #include <QDebug> QT_BEGIN_NAMESPACE @@ -89,6 +90,7 @@ QString QSqlResultPrivate::positionalToNamedBinding(const QString &query) const result.reserve(n * 5 / 4); QChar closingQuote; int count = 0; + bool ignoreBraces = (sqldriver->d_func()->dbmsType == QSqlDriverPrivate::PostgreSQL); for (int i = 0; i < n; ++i) { QChar ch = query.at(i); @@ -110,7 +112,7 @@ QString QSqlResultPrivate::positionalToNamedBinding(const QString &query) const } else { if (ch == QLatin1Char('\'') || ch == QLatin1Char('"') || ch == QLatin1Char('`')) closingQuote = ch; - else if (ch == QLatin1Char('[')) + else if (!ignoreBraces && ch == QLatin1Char('[')) closingQuote = QLatin1Char(']'); result += ch; } @@ -129,6 +131,7 @@ QString QSqlResultPrivate::namedToPositionalBinding(const QString &query) QChar closingQuote; int count = 0; int i = 0; + bool ignoreBraces = (sqldriver->d_func()->dbmsType == QSqlDriverPrivate::PostgreSQL); while (i < n) { QChar ch = query.at(i); @@ -160,7 +163,7 @@ QString QSqlResultPrivate::namedToPositionalBinding(const QString &query) } else { if (ch == QLatin1Char('\'') || ch == QLatin1Char('"') || ch == QLatin1Char('`')) closingQuote = ch; - else if (ch == QLatin1Char('[')) + else if (!ignoreBraces && ch == QLatin1Char('[')) closingQuote = QLatin1Char(']'); result += ch; ++i; |