summaryrefslogtreecommitdiffstats
path: root/src/sql/kernel
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2013-02-10 20:45:12 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-02-11 21:23:48 +0100
commit00d8de8589fc799015af1aa9a84e268fba4d6a74 (patch)
tree137632daf6bed2a3cf2cecaaa4a704a6c2ddc300 /src/sql/kernel
parent46f1c12b9ee60824545069a5fa5564696332b6fb (diff)
move QSqlResultPrivate to private header
Change-Id: Ice5464989530d521f65703daa080cb2094afef3c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Diffstat (limited to 'src/sql/kernel')
-rw-r--r--src/sql/kernel/kernel.pri1
-rw-r--r--src/sql/kernel/qsqlresult.cpp69
-rw-r--r--src/sql/kernel/qsqlresult_p.h138
3 files changed, 140 insertions, 68 deletions
diff --git a/src/sql/kernel/kernel.pri b/src/sql/kernel/kernel.pri
index c6fe404737..fe7f1270f9 100644
--- a/src/sql/kernel/kernel.pri
+++ b/src/sql/kernel/kernel.pri
@@ -8,6 +8,7 @@ HEADERS += kernel/qsql.h \
kernel/qsqldriverplugin.h \
kernel/qsqlerror.h \
kernel/qsqlresult.h \
+ kernel/qsqlresult_p.h \
kernel/qsqlcachedresult_p.h \
kernel/qsqlindex.h
diff --git a/src/sql/kernel/qsqlresult.cpp b/src/sql/kernel/qsqlresult.cpp
index 2509d5a8b3..b3e7ad5b38 100644
--- a/src/sql/kernel/qsqlresult.cpp
+++ b/src/sql/kernel/qsqlresult.cpp
@@ -50,78 +50,11 @@
#include "qvector.h"
#include "qsqldriver.h"
#include "qpointer.h"
+#include "qsqlresult_p.h"
#include <QDebug>
QT_BEGIN_NAMESPACE
-struct QHolder {
- QHolder(const QString& hldr = QString(), int index = -1): holderName(hldr), holderPos(index) {}
- bool operator==(const QHolder& h) const { return h.holderPos == holderPos && h.holderName == holderName; }
- bool operator!=(const QHolder& h) const { return h.holderPos != holderPos || h.holderName != holderName; }
- QString holderName;
- int holderPos;
-};
-
-class QSqlResultPrivate
-{
-public:
- QSqlResultPrivate(QSqlResult* d)
- : q(d), idx(QSql::BeforeFirstRow), active(false),
- isSel(false), forwardOnly(false), precisionPolicy(QSql::LowPrecisionDouble), bindCount(0), binds(QSqlResult::PositionalBinding)
- {}
-
- void clearValues()
- {
- values.clear();
- bindCount = 0;
- }
-
- void resetBindCount()
- {
- bindCount = 0;
- }
-
- void clearIndex()
- {
- indexes.clear();
- holders.clear();
- types.clear();
- }
-
- void clear()
- {
- clearValues();
- clearIndex();;
- }
-
- QString positionalToNamedBinding();
- QString namedToPositionalBinding();
- QString holderAt(int index) const;
-
-public:
- QSqlResult* q;
- QPointer<QSqlDriver> sqldriver;
- int idx;
- QString sql;
- bool active;
- bool isSel;
- QSqlError error;
- bool forwardOnly;
- QSql::NumericalPrecisionPolicy precisionPolicy;
-
- int bindCount;
- QSqlResult::BindingSyntax binds;
-
- QString executedQuery;
- QHash<int, QSql::ParamType> types;
- QVector<QVariant> values;
- typedef QHash<QString, QList<int> > IndexMap;
- IndexMap indexes;
-
- typedef QVector<QHolder> QHolderVector;
- QHolderVector holders;
-};
-
static QString qFieldSerial(int);
QString QSqlResultPrivate::holderAt(int index) const
diff --git a/src/sql/kernel/qsqlresult_p.h b/src/sql/kernel/qsqlresult_p.h
new file mode 100644
index 0000000000..65f9be7a05
--- /dev/null
+++ b/src/sql/kernel/qsqlresult_p.h
@@ -0,0 +1,138 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSql module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSQLRESULT_P_H
+#define QSQLRESULT_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of qsql*model.h . This header file may change from version to version
+// without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qpointer.h>
+#include <QtSql/qsqldriver.h>
+#include "qsqlerror.h"
+#include "qsqlresult.h"
+
+QT_BEGIN_NAMESPACE
+
+struct QHolder {
+ QHolder(const QString &hldr = QString(), int index = -1): holderName(hldr), holderPos(index) { }
+ bool operator==(const QHolder &h) const { return h.holderPos == holderPos && h.holderName == holderName; }
+ bool operator!=(const QHolder &h) const { return h.holderPos != holderPos || h.holderName != holderName; }
+ QString holderName;
+ int holderPos;
+};
+
+class Q_SQL_EXPORT QSqlResultPrivate
+{
+public:
+ QSqlResultPrivate(QSqlResult *d)
+ : q(d),
+ idx(QSql::BeforeFirstRow),
+ active(false),
+ isSel(false),
+ forwardOnly(false),
+ precisionPolicy(QSql::LowPrecisionDouble),
+ bindCount(0),
+ binds(QSqlResult::PositionalBinding)
+ { }
+
+ void clearValues()
+ {
+ values.clear();
+ bindCount = 0;
+ }
+
+ void resetBindCount()
+ {
+ bindCount = 0;
+ }
+
+ void clearIndex()
+ {
+ indexes.clear();
+ holders.clear();
+ types.clear();
+ }
+
+ void clear()
+ {
+ clearValues();
+ clearIndex();;
+ }
+
+ QString positionalToNamedBinding();
+ QString namedToPositionalBinding();
+ QString holderAt(int index) const;
+
+ QSqlResult *q;
+ QPointer<QSqlDriver> sqldriver;
+ int idx;
+ QString sql;
+ bool active;
+ bool isSel;
+ QSqlError error;
+ bool forwardOnly;
+ QSql::NumericalPrecisionPolicy precisionPolicy;
+
+ int bindCount;
+ QSqlResult::BindingSyntax binds;
+
+ QString executedQuery;
+ QHash<int, QSql::ParamType> types;
+ QVector<QVariant> values;
+ typedef QHash<QString, QList<int> > IndexMap;
+ IndexMap indexes;
+
+ typedef QVector<QHolder> QHolderVector;
+ QHolderVector holders;
+};
+
+QT_END_NAMESPACE
+
+#endif // QSQLRESULT_P_H