summaryrefslogtreecommitdiffstats
path: root/src/sql/drivers/db2
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@digia.com>2013-04-09 07:31:53 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-09 10:21:26 +0200
commit97c6fd22d2dcaf65fc41c2db22f83b5270968062 (patch)
treec9af8dc358af74bcba6895060cf521a085e95f03 /src/sql/drivers/db2
parentf73a7ca46cb15d77608a4995921b4d501c21bdee (diff)
Use Q_DECLARE_PRIVATE for Oracle and DB2 plugins
This completes the change started with 0bdc86d9ef7be8e27598d245c6ca8026f08aff12 by providing the implementation for the Oracle and DB2 sqldrivers Change-Id: Ia14415c6d7dea51f1369a81236f79aff892b3af7 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Diffstat (limited to 'src/sql/drivers/db2')
-rw-r--r--src/sql/drivers/db2/qsql_db2.cpp17
-rw-r--r--src/sql/drivers/db2/qsql_db2_p.h2
2 files changed, 14 insertions, 5 deletions
diff --git a/src/sql/drivers/db2/qsql_db2.cpp b/src/sql/drivers/db2/qsql_db2.cpp
index 25da004db8..e58710e0f5 100644
--- a/src/sql/drivers/db2/qsql_db2.cpp
+++ b/src/sql/drivers/db2/qsql_db2.cpp
@@ -1132,15 +1132,14 @@ void QDB2Result::detachFromResultSet()
/************************************/
QDB2Driver::QDB2Driver(QObject* parent)
- : QSqlDriver(parent)
+ : QSqlDriver(*new QDB2DriverPrivate, parent)
{
- d = new QDB2DriverPrivate;
}
QDB2Driver::QDB2Driver(Qt::HANDLE env, Qt::HANDLE con, QObject* parent)
- : QSqlDriver(parent)
+ : QSqlDriver(*new QDB2DriverPrivate, parent)
{
- d = new QDB2DriverPrivate;
+ Q_D(QDB2Driver);
d->hEnv = (SQLHANDLE)env;
d->hDbc = (SQLHANDLE)con;
if (env && con) {
@@ -1157,6 +1156,7 @@ QDB2Driver::~QDB2Driver()
bool QDB2Driver::open(const QString& db, const QString& user, const QString& password, const QString& host, int port,
const QString& connOpts)
{
+ Q_D(QDB2Driver);
if (isOpen())
close();
SQLRETURN r;
@@ -1259,6 +1259,7 @@ bool QDB2Driver::open(const QString& db, const QString& user, const QString& pas
void QDB2Driver::close()
{
+ Q_D(QDB2Driver);
SQLRETURN r;
if (d->hDbc) {
// Open statements/descriptors handles are automatically cleaned up by SQLDisconnect
@@ -1285,11 +1286,13 @@ void QDB2Driver::close()
QSqlResult *QDB2Driver::createResult() const
{
+ Q_D(const QDB2Driver);
return new QDB2Result(this, d);
}
QSqlRecord QDB2Driver::record(const QString& tableName) const
{
+ Q_D(const QDB2Driver);
QSqlRecord fil;
if (!isOpen())
return fil;
@@ -1363,6 +1366,7 @@ QSqlRecord QDB2Driver::record(const QString& tableName) const
QStringList QDB2Driver::tables(QSql::TableType type) const
{
+ Q_D(const QDB2Driver);
QStringList tl;
if (!isOpen())
return tl;
@@ -1434,6 +1438,7 @@ QStringList QDB2Driver::tables(QSql::TableType type) const
QSqlIndex QDB2Driver::primaryIndex(const QString& tablename) const
{
+ Q_D(const QDB2Driver);
QSqlIndex index(tablename);
if (!isOpen())
return index;
@@ -1535,6 +1540,7 @@ bool QDB2Driver::beginTransaction()
bool QDB2Driver::commitTransaction()
{
+ Q_D(QDB2Driver);
if (!isOpen()) {
qWarning("QDB2Driver::commitTransaction: Database not open");
return false;
@@ -1552,6 +1558,7 @@ bool QDB2Driver::commitTransaction()
bool QDB2Driver::rollbackTransaction()
{
+ Q_D(QDB2Driver);
if (!isOpen()) {
qWarning("QDB2Driver::rollbackTransaction: Database not open");
return false;
@@ -1569,6 +1576,7 @@ bool QDB2Driver::rollbackTransaction()
bool QDB2Driver::setAutoCommit(bool autoCommit)
{
+ Q_D(QDB2Driver);
SQLUINTEGER ac = autoCommit ? SQL_AUTOCOMMIT_ON : SQL_AUTOCOMMIT_OFF;
SQLRETURN r = SQLSetConnectAttr(d->hDbc,
SQL_ATTR_AUTOCOMMIT,
@@ -1627,6 +1635,7 @@ QString QDB2Driver::formatValue(const QSqlField &field, bool trimStrings) const
QVariant QDB2Driver::handle() const
{
+ Q_D(const QDB2Driver);
return QVariant(qRegisterMetaType<SQLHANDLE>("SQLHANDLE"), &d->hDbc);
}
diff --git a/src/sql/drivers/db2/qsql_db2_p.h b/src/sql/drivers/db2/qsql_db2_p.h
index 68563448ed..89b07c9c83 100644
--- a/src/sql/drivers/db2/qsql_db2_p.h
+++ b/src/sql/drivers/db2/qsql_db2_p.h
@@ -101,6 +101,7 @@ private:
class Q_EXPORT_SQLDRIVER_DB2 QDB2Driver : public QSqlDriver
{
+ Q_DECLARE_PRIVATE(QDB2Driver)
Q_OBJECT
public:
explicit QDB2Driver(QObject* parent = 0);
@@ -127,7 +128,6 @@ public:
private:
bool setAutoCommit(bool autoCommit);
- QDB2DriverPrivate* d;
};
QT_END_NAMESPACE