summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx')
-rw-r--r--connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx15
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;