summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-10-21 13:33:50 +0200
committerMichael Stahl <mstahl@redhat.com>2014-10-21 15:08:57 +0200
commita2e4d4329bc3913a198c25c428faedef02f36681 (patch)
treebe9945ed63233bdf6faac2ff6a98c6f522b059ed /connectivity
parent137131b1e0c81bb948e563f831cfe9e6ebfb1b3f (diff)
connectivity: firebird: use Reference for Connection where appropriate
ODatabaseMetaData and OResultSetMetaData apparently have life-times independent of their creating object, so they need to own the Connection too. Change-Id: Idee28a96e318ca4b3d804084d609737a7fc75862
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/firebird/DatabaseMetaData.cxx5
-rw-r--r--connectivity/source/drivers/firebird/DatabaseMetaData.hxx4
-rw-r--r--connectivity/source/drivers/firebird/ResultSetMetaData.hxx2
3 files changed, 5 insertions, 6 deletions
diff --git a/connectivity/source/drivers/firebird/DatabaseMetaData.cxx b/connectivity/source/drivers/firebird/DatabaseMetaData.cxx
index 52a96ef6ba0c..c1a970f68d05 100644
--- a/connectivity/source/drivers/firebird/DatabaseMetaData.cxx
+++ b/connectivity/source/drivers/firebird/DatabaseMetaData.cxx
@@ -46,7 +46,8 @@ using namespace com::sun::star::sdbc;
ODatabaseMetaData::ODatabaseMetaData(Connection* _pCon)
: m_pConnection(_pCon)
{
- OSL_ENSURE(m_pConnection,"ODatabaseMetaData::ODatabaseMetaData: No connection set!");
+ SAL_WARN_IF(!m_pConnection.is(), "connectivity.firebird",
+ "ODatabaseMetaData::ODatabaseMetaData: No connection set!");
}
ODatabaseMetaData::~ODatabaseMetaData()
@@ -832,7 +833,7 @@ sal_Bool SAL_CALL ODatabaseMetaData::supportsBatchUpdates()
uno::Reference< XConnection > SAL_CALL ODatabaseMetaData::getConnection()
throw(SQLException, RuntimeException, std::exception)
{
- return uno::Reference< XConnection >(m_pConnection);
+ return uno::Reference<XConnection>(m_pConnection.get());
}
// here follow all methods which return a resultset
diff --git a/connectivity/source/drivers/firebird/DatabaseMetaData.hxx b/connectivity/source/drivers/firebird/DatabaseMetaData.hxx
index 882bfaf57aa1..abb4c1d75eaf 100644
--- a/connectivity/source/drivers/firebird/DatabaseMetaData.hxx
+++ b/connectivity/source/drivers/firebird/DatabaseMetaData.hxx
@@ -37,11 +37,9 @@ namespace connectivity
class ODatabaseMetaData : public ODatabaseMetaData_BASE
{
- Connection* m_pConnection;
+ ::rtl::Reference<Connection> m_pConnection;
public:
- inline Connection* getOwnConnection() const { return m_pConnection; }
-
ODatabaseMetaData(Connection* _pCon);
virtual ~ODatabaseMetaData();
diff --git a/connectivity/source/drivers/firebird/ResultSetMetaData.hxx b/connectivity/source/drivers/firebird/ResultSetMetaData.hxx
index 494979eba333..d8ad5697d0aa 100644
--- a/connectivity/source/drivers/firebird/ResultSetMetaData.hxx
+++ b/connectivity/source/drivers/firebird/ResultSetMetaData.hxx
@@ -38,7 +38,7 @@ namespace connectivity
class OResultSetMetaData : public OResultSetMetaData_BASE
{
protected:
- Connection* m_pConnection;
+ ::rtl::Reference<Connection> m_pConnection;
XSQLDA* m_pSqlda;
virtual ~OResultSetMetaData();