diff options
Diffstat (limited to 'src/sql/drivers')
-rw-r--r-- | src/sql/drivers/db2/qsql_db2.cpp | 6 | ||||
-rw-r--r-- | src/sql/drivers/ibase/qsql_ibase.cpp | 6 | ||||
-rw-r--r-- | src/sql/drivers/mysql/qsql_mysql.cpp | 8 | ||||
-rw-r--r-- | src/sql/drivers/oci/qsql_oci.cpp | 11 | ||||
-rw-r--r-- | src/sql/drivers/oci/qsql_oci_p.h | 2 | ||||
-rw-r--r-- | src/sql/drivers/odbc/qsql_odbc.cpp | 11 | ||||
-rw-r--r-- | src/sql/drivers/psql/qsql_psql.cpp | 10 | ||||
-rw-r--r-- | src/sql/drivers/sqlite/qsql_sqlite.cpp | 6 | ||||
-rw-r--r-- | src/sql/drivers/sqlite2/qsql_sqlite2.cpp | 7 | ||||
-rw-r--r-- | src/sql/drivers/tds/qsql_tds.cpp | 6 |
10 files changed, 36 insertions, 37 deletions
diff --git a/src/sql/drivers/db2/qsql_db2.cpp b/src/sql/drivers/db2/qsql_db2.cpp index 50a9af23bc..25da004db8 100644 --- a/src/sql/drivers/db2/qsql_db2.cpp +++ b/src/sql/drivers/db2/qsql_db2.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include "qsql_db2_p.h" +#include <QtSql/private/qsqldriver_p.h> #include <qcoreapplication.h> #include <qdatetime.h> #include <qsqlfield.h> @@ -70,10 +71,10 @@ QT_BEGIN_NAMESPACE static const int COLNAMESIZE = 255; static const SQLSMALLINT qParamType[4] = { SQL_PARAM_INPUT, SQL_PARAM_INPUT, SQL_PARAM_OUTPUT, SQL_PARAM_INPUT_OUTPUT }; -class QDB2DriverPrivate +class QDB2DriverPrivate : public QSqlDriverPrivate { public: - QDB2DriverPrivate(): hEnv(0), hDbc(0) {} + QDB2DriverPrivate() : QSqlDriverPrivate(), hEnv(0), hDbc(0) { dbmsType = DB2; } SQLHANDLE hEnv; SQLHANDLE hDbc; QString user; @@ -1151,7 +1152,6 @@ QDB2Driver::QDB2Driver(Qt::HANDLE env, Qt::HANDLE con, QObject* parent) QDB2Driver::~QDB2Driver() { close(); - delete d; } bool QDB2Driver::open(const QString& db, const QString& user, const QString& password, const QString& host, int port, diff --git a/src/sql/drivers/ibase/qsql_ibase.cpp b/src/sql/drivers/ibase/qsql_ibase.cpp index abf6a74c3e..2137514679 100644 --- a/src/sql/drivers/ibase/qsql_ibase.cpp +++ b/src/sql/drivers/ibase/qsql_ibase.cpp @@ -48,6 +48,7 @@ #include <qsqlindex.h> #include <qsqlquery.h> #include <QtSql/private/qsqlcachedresult_p.h> +#include <QtSql/private/qsqldriver_p.h> #include <qlist.h> #include <qvector.h> #include <qtextcodec.h> @@ -309,10 +310,10 @@ struct QIBaseEventBuffer { QIBaseSubscriptionState subscriptionState; }; -class QIBaseDriverPrivate +class QIBaseDriverPrivate : public QSqlDriverPrivate { public: - QIBaseDriverPrivate(QIBaseDriver *d) : q(d), ibase(0), trans(0), tc(0) {} + QIBaseDriverPrivate(QIBaseDriver *d) : QSqlDriverPrivate(), q(d), ibase(0), trans(0), tc(0) { dbmsType = Interbase; } bool isError(const char *msg, QSqlError::ErrorType typ = QSqlError::UnknownError) { @@ -1411,7 +1412,6 @@ QIBaseDriver::QIBaseDriver(isc_db_handle connection, QObject *parent) QIBaseDriver::~QIBaseDriver() { - delete d; } bool QIBaseDriver::hasFeature(DriverFeature f) const diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp index a529d8c32d..871b13182f 100644 --- a/src/sql/drivers/mysql/qsql_mysql.cpp +++ b/src/sql/drivers/mysql/qsql_mysql.cpp @@ -41,6 +41,7 @@ #include "qsql_mysql_p.h" +#include <QtSql/private/qsqldriver_p.h> #include <qcoreapplication.h> #include <qvariant.h> #include <qdatetime.h> @@ -76,16 +77,16 @@ Q_DECLARE_METATYPE(MYSQL_STMT*) QT_BEGIN_NAMESPACE -class QMYSQLDriverPrivate +class QMYSQLDriverPrivate : public QSqlDriverPrivate { public: - QMYSQLDriverPrivate() : mysql(0), + QMYSQLDriverPrivate() : QSqlDriverPrivate(), mysql(0), #ifndef QT_NO_TEXTCODEC tc(QTextCodec::codecForLocale()), #else tc(0), #endif - preparedQuerysEnabled(false) {} + preparedQuerysEnabled(false) { dbmsType = MySqlServer; } MYSQL *mysql; QTextCodec *tc; @@ -1155,7 +1156,6 @@ QMYSQLDriver::~QMYSQLDriver() qMySqlConnectionCount--; if (qMySqlConnectionCount == 0 && !qMySqlInitHandledByUser) qLibraryEnd(); - delete d; } bool QMYSQLDriver::hasFeature(DriverFeature f) const diff --git a/src/sql/drivers/oci/qsql_oci.cpp b/src/sql/drivers/oci/qsql_oci.cpp index b0950110e0..6eb6703ebf 100644 --- a/src/sql/drivers/oci/qsql_oci.cpp +++ b/src/sql/drivers/oci/qsql_oci.cpp @@ -52,6 +52,7 @@ #include <qsqlindex.h> #include <qsqlquery.h> #include <QtSql/private/qsqlcachedresult_p.h> +#include <QtSql/private/qsqldriver_p.h> #include <qstringlist.h> #include <qvarlengtharray.h> #include <qvector.h> @@ -492,8 +493,9 @@ void QOCIResultPrivate::outValues(QVector<QVariant> &values, IndicatorArray &ind } -struct QOCIDriverPrivate +class QOCIDriverPrivate : public QSqlDriverPrivate { +public: QOCIDriverPrivate(); OCIEnv *env; @@ -511,9 +513,10 @@ struct QOCIDriverPrivate }; QOCIDriverPrivate::QOCIDriverPrivate() - : env(0), svc(0), srvhp(0), authp(0), err(0), transaction(false), serverVersion(-1), - prefetchRows(-1), prefetchMem(QOCI_PREFETCH_MEM) + : QSqlDriverPrivate(), env(0), svc(0), srvhp(0), authp(0), err(0), transaction(false), + serverVersion(-1), prefetchRows(-1), prefetchMem(QOCI_PREFETCH_MEM) { + dbmsType = Oracle; } void QOCIDriverPrivate::allocErrorHandle() @@ -2137,8 +2140,6 @@ QOCIDriver::~QOCIDriver() r = OCIHandleFree(d->env, OCI_HTYPE_ENV); if (r != OCI_SUCCESS) qWarning("Unable to free Environment handle: %d", r); - - delete d; } bool QOCIDriver::hasFeature(DriverFeature f) const diff --git a/src/sql/drivers/oci/qsql_oci_p.h b/src/sql/drivers/oci/qsql_oci_p.h index fecc828434..0b874e6be3 100644 --- a/src/sql/drivers/oci/qsql_oci_p.h +++ b/src/sql/drivers/oci/qsql_oci_p.h @@ -69,7 +69,7 @@ QT_BEGIN_NAMESPACE class QOCIDriver; class QOCICols; -struct QOCIDriverPrivate; +class QOCIDriverPrivate; class Q_EXPORT_SQLDRIVER_OCI QOCIDriver : public QSqlDriver { diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp index 55c97644b8..f92cda8c25 100644 --- a/src/sql/drivers/odbc/qsql_odbc.cpp +++ b/src/sql/drivers/odbc/qsql_odbc.cpp @@ -57,6 +57,7 @@ #include <qmath.h> #include <QDebug> #include <QSqlQuery> +#include <QtSql/private/qsqldriver_p.h> QT_BEGIN_NAMESPACE @@ -111,15 +112,13 @@ inline static QVarLengthArray<SQLTCHAR> toSQLTCHAR(const QString &input) return result; } -class QODBCDriverPrivate +class QODBCDriverPrivate : public QSqlDriverPrivate { public: enum DefaultCase{Lower, Mixed, Upper, Sensitive}; - enum DBMSType {UnknownDB, MSSqlServer, MySqlServer, PostgreSQL, Oracle, Sybase}; QODBCDriverPrivate() - : hEnv(0), hDbc(0), unicode(false), useSchema(false), disconnectCount(0), datetime_precision(19), - dbmsType(UnknownDB), isFreeTDSDriver(false), hasSQLFetchScroll(true), - hasMultiResultSets(false), isQuoteInitialized(false), quote(QLatin1Char('"')) + : QSqlDriverPrivate(), hEnv(0), hDbc(0), unicode(false), useSchema(false), disconnectCount(0), datetime_precision(19), + isFreeTDSDriver(false), hasSQLFetchScroll(true), hasMultiResultSets(false), isQuoteInitialized(false), quote(QLatin1Char('"')) { } @@ -130,7 +129,6 @@ public: bool useSchema; int disconnectCount; int datetime_precision; - DBMSType dbmsType; bool isFreeTDSDriver; bool hasSQLFetchScroll; bool hasMultiResultSets; @@ -1794,7 +1792,6 @@ void QODBCDriver::init() QODBCDriver::~QODBCDriver() { cleanup(); - delete d; } bool QODBCDriver::hasFeature(DriverFeature f) const diff --git a/src/sql/drivers/psql/qsql_psql.cpp b/src/sql/drivers/psql/qsql_psql.cpp index 13c985d1df..aed0a11218 100644 --- a/src/sql/drivers/psql/qsql_psql.cpp +++ b/src/sql/drivers/psql/qsql_psql.cpp @@ -54,6 +54,7 @@ #include <qstringlist.h> #include <qmutex.h> #include <QtSql/private/qsqlresult_p.h> +#include <QtSql/private/qsqldriver_p.h> #include <libpq-fe.h> #include <pg_config.h> @@ -121,18 +122,18 @@ inline void qPQfreemem(void *buffer) PQfreemem(buffer); } -class QPSQLDriverPrivate +class QPSQLDriverPrivate : public QSqlDriverPrivate { public: - QPSQLDriverPrivate(QPSQLDriver *qq) - : q(qq), + QPSQLDriverPrivate(QPSQLDriver *qq) : QSqlDriverPrivate(), + q(qq), connection(0), isUtf8(false), pro(QPSQLDriver::Version6), sn(0), pendingNotifyCheck(false), hasBackslashEscape(false) - { } + { dbmsType = PostgreSQL; } QPSQLDriver *q; PGconn *connection; @@ -793,7 +794,6 @@ QPSQLDriver::~QPSQLDriver() { if (d->connection) PQfinish(d->connection); - delete d; } QVariant QPSQLDriver::handle() const diff --git a/src/sql/drivers/sqlite/qsql_sqlite.cpp b/src/sql/drivers/sqlite/qsql_sqlite.cpp index 854705b3f6..c78f0b6882 100644 --- a/src/sql/drivers/sqlite/qsql_sqlite.cpp +++ b/src/sql/drivers/sqlite/qsql_sqlite.cpp @@ -48,6 +48,7 @@ #include <qsqlindex.h> #include <qsqlquery.h> #include <QtSql/private/qsqlcachedresult_p.h> +#include <QtSql/private/qsqldriver_p.h> #include <qstringlist.h> #include <qvector.h> #include <qdebug.h> @@ -134,10 +135,10 @@ private: QSQLiteResultPrivate* d; }; -class QSQLiteDriverPrivate +class QSQLiteDriverPrivate : public QSqlDriverPrivate { public: - inline QSQLiteDriverPrivate() : access(0) {} + inline QSQLiteDriverPrivate() : QSqlDriverPrivate(), access(0) { dbmsType = SQLite; } sqlite3 *access; QList <QSQLiteResult *> results; }; @@ -546,7 +547,6 @@ QSQLiteDriver::QSQLiteDriver(sqlite3 *connection, QObject *parent) QSQLiteDriver::~QSQLiteDriver() { - delete d; } bool QSQLiteDriver::hasFeature(DriverFeature f) const diff --git a/src/sql/drivers/sqlite2/qsql_sqlite2.cpp b/src/sql/drivers/sqlite2/qsql_sqlite2.cpp index 1a16b85470..39ad122822 100644 --- a/src/sql/drivers/sqlite2/qsql_sqlite2.cpp +++ b/src/sql/drivers/sqlite2/qsql_sqlite2.cpp @@ -51,6 +51,7 @@ #include <qsqlindex.h> #include <qsqlquery.h> #include <QtSql/private/qsqlcachedresult_p.h> +#include <QtSql/private/qsqldriver_p.h> #include <qstringlist.h> #include <qvector.h> @@ -82,7 +83,7 @@ static QVariant::Type nameToType(const QString& typeName) return QVariant::String; } -class QSQLite2DriverPrivate +class QSQLite2DriverPrivate : public QSqlDriverPrivate { public: QSQLite2DriverPrivate(); @@ -90,9 +91,10 @@ public: bool utf8; }; -QSQLite2DriverPrivate::QSQLite2DriverPrivate() : access(0) +QSQLite2DriverPrivate::QSQLite2DriverPrivate() : QSqlDriverPrivate(), access(0) { utf8 = (qstrcmp(sqlite_encoding, "UTF-8") == 0); + dbmsType = SQLite; } class QSQLite2ResultPrivate; @@ -392,7 +394,6 @@ QSQLite2Driver::QSQLite2Driver(sqlite *connection, QObject *parent) QSQLite2Driver::~QSQLite2Driver() { - delete d; } bool QSQLite2Driver::hasFeature(DriverFeature f) const diff --git a/src/sql/drivers/tds/qsql_tds.cpp b/src/sql/drivers/tds/qsql_tds.cpp index 996a1bdd1a..fe59fa8822 100644 --- a/src/sql/drivers/tds/qsql_tds.cpp +++ b/src/sql/drivers/tds/qsql_tds.cpp @@ -59,6 +59,7 @@ #include <qsqlindex.h> #include <qsqlquery.h> #include <QtSql/private/qsqlcachedresult_p.h> +#include <QtSql/private/qsqldriver_p.h> #include <qstringlist.h> #include <qvector.h> @@ -136,10 +137,10 @@ QSqlError qMakeError(const QString& err, QSqlError::ErrorType type, int errNo = return QSqlError(QLatin1String("QTDS: ") + err, QString(), type, errNo); } -class QTDSDriverPrivate +class QTDSDriverPrivate : public QSqlDriverPrivate { public: - QTDSDriverPrivate(): login(0), initialized(false) {} + QTDSDriverPrivate() : QSqlDriverPrivate(), login(0), initialized(false) { dbmsType = Sybase; } LOGINREC* login; // login information QString hostName; QString db; @@ -579,7 +580,6 @@ QTDSDriver::~QTDSDriver() dbmsghandle(0); // dbexit also calls dbclose if necessary dbexit(); - delete d; } bool QTDSDriver::hasFeature(DriverFeature f) const |