diff options
Diffstat (limited to 'connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx')
-rw-r--r-- | connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx index 5cbb37f5bd6d..93690d194fdf 100644 --- a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx +++ b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx @@ -62,17 +62,20 @@ class OPreparedResultSet final : public OBase_Mutex, OConnection& m_rConnection; css::uno::WeakReferenceHelper m_aStatement; css::uno::Reference<css::sdbc::XResultSetMetaData> m_xMetaData; - MYSQL_RES* m_pResult; - MYSQL_STMT* m_pStmt; + + // non-owning pointers + MYSQL_RES* m_pResult = nullptr; + MYSQL_STMT* m_pStmt = nullptr; + MYSQL_FIELD* m_aFields = nullptr; + rtl_TextEncoding m_encoding; sal_Int32 m_nCurrentField = 0; sal_Int32 m_nFieldCount; // Use c style arrays, because we have to work with pointers // on these. - MYSQL_BIND* m_aData = nullptr; - MYSQL_FIELD* m_aFields = nullptr; - BindMetaData* m_aMetaData = nullptr; + std::unique_ptr<MYSQL_BIND[]> m_aData; + std::unique_ptr<BindMetaData[]> m_aMetaData; bool m_bWasNull = false; @@ -90,7 +93,7 @@ class OPreparedResultSet final : public OBase_Mutex, void SAL_CALL getFastPropertyValue(Any& rValue, sal_Int32 nHandle) const SAL_OVERRIDE; // you can't delete objects of this type - virtual ~OPreparedResultSet() override; + virtual ~OPreparedResultSet() override = default; public: virtual rtl::OUString SAL_CALL getImplementationName() SAL_OVERRIDE; |