summaryrefslogtreecommitdiff
path: root/connectivity/source
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/source')
-rw-r--r--connectivity/source/cpool/ZPooledConnection.cxx2
-rw-r--r--connectivity/source/cpool/ZPooledConnection.hxx5
-rw-r--r--connectivity/source/drivers/evoab2/NPreparedStatement.hxx2
-rw-r--r--connectivity/source/drivers/file/FPreparedStatement.cxx7
-rw-r--r--connectivity/source/drivers/firebird/PreparedStatement.hxx4
-rw-r--r--connectivity/source/drivers/firebird/ResultSet.hxx3
-rw-r--r--connectivity/source/drivers/firebird/StatementCommonBase.cxx6
-rw-r--r--connectivity/source/drivers/firebird/StatementCommonBase.hxx3
-rw-r--r--connectivity/source/drivers/jdbc/ResultSet.cxx4
-rw-r--r--connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx2
-rw-r--r--connectivity/source/drivers/mysqlc/mysqlc_preparedstatement.hxx4
-rw-r--r--connectivity/source/drivers/mysqlc/mysqlc_resultset.hxx3
-rw-r--r--connectivity/source/drivers/mysqlc/mysqlc_statement.cxx3
-rw-r--r--connectivity/source/drivers/mysqlc/mysqlc_statement.hxx3
-rw-r--r--connectivity/source/drivers/odbc/OPreparedStatement.cxx7
-rw-r--r--connectivity/source/drivers/postgresql/pq_connection.cxx1
-rw-r--r--connectivity/source/drivers/postgresql/pq_connection.hxx4
-rw-r--r--connectivity/source/drivers/postgresql/pq_xkey.hxx3
-rw-r--r--connectivity/source/drivers/postgresql/pq_xtable.hxx2
-rw-r--r--connectivity/source/inc/FDatabaseMetaDataResultSet.hxx4
-rw-r--r--connectivity/source/inc/TDatabaseMetaDataBase.hxx5
-rw-r--r--connectivity/source/inc/file/FPreparedStatement.hxx5
-rw-r--r--connectivity/source/inc/file/FResultSet.hxx7
-rw-r--r--connectivity/source/inc/java/sql/ResultSet.hxx2
-rw-r--r--connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx4
-rw-r--r--connectivity/source/inc/odbc/OPreparedStatement.hxx5
-rw-r--r--connectivity/source/inc/odbc/OResultSet.hxx6
27 files changed, 69 insertions, 37 deletions
diff --git a/connectivity/source/cpool/ZPooledConnection.cxx b/connectivity/source/cpool/ZPooledConnection.cxx
index 42e8d6c02db7..6cabc1ce2e29 100644
--- a/connectivity/source/cpool/ZPooledConnection.cxx
+++ b/connectivity/source/cpool/ZPooledConnection.cxx
@@ -65,7 +65,7 @@ Reference< XConnection > OPooledConnection::getConnection()
if (m_xComponent.is())
m_xComponent->addEventListener(this);
}
- return Reference< XConnection >(m_xComponent,UNO_QUERY);
+ return m_xComponent;
}
diff --git a/connectivity/source/cpool/ZPooledConnection.hxx b/connectivity/source/cpool/ZPooledConnection.hxx
index 79450ea081d3..0f5506f4f3b1 100644
--- a/connectivity/source/cpool/ZPooledConnection.hxx
+++ b/connectivity/source/cpool/ZPooledConnection.hxx
@@ -22,10 +22,11 @@
#include <com/sun/star/sdbc/XPooledConnection.hpp>
#include <com/sun/star/lang/XEventListener.hpp>
#include <com/sun/star/reflection/XProxyFactory.hpp>
-
+#include <rtl/ref.hxx>
namespace connectivity
{
+ class OConnectionWeakWrapper;
// OPooledConnection -
// allows to pool a real connection
@@ -37,7 +38,7 @@ namespace connectivity
,public OPooledConnection_Base
{
css::uno::Reference< css::sdbc::XConnection > m_xRealConnection; // the connection from driver
- css::uno::Reference< css::lang::XComponent > m_xComponent; // the connection which wraps the real connection
+ rtl::Reference< OConnectionWeakWrapper > m_xComponent; // the connection which wraps the real connection
css::uno::Reference< css::reflection::XProxyFactory > m_xProxyFactory;
public:
// OComponentHelper
diff --git a/connectivity/source/drivers/evoab2/NPreparedStatement.hxx b/connectivity/source/drivers/evoab2/NPreparedStatement.hxx
index cd42d42d505b..076216e0cf42 100644
--- a/connectivity/source/drivers/evoab2/NPreparedStatement.hxx
+++ b/connectivity/source/drivers/evoab2/NPreparedStatement.hxx
@@ -47,7 +47,7 @@ namespace connectivity::evoab
// the EBookQuery we're working with
QueryData m_aQueryData;
// our meta data
- css::uno::Reference< css::sdbc::XResultSetMetaData > m_xMetaData;
+ rtl::Reference<OEvoabResultSetMetaData> m_xMetaData;
virtual ~OEvoabPreparedStatement() override;
diff --git a/connectivity/source/drivers/file/FPreparedStatement.cxx b/connectivity/source/drivers/file/FPreparedStatement.cxx
index 33ca5a3b47d7..5139eba871cd 100644
--- a/connectivity/source/drivers/file/FPreparedStatement.cxx
+++ b/connectivity/source/drivers/file/FPreparedStatement.cxx
@@ -128,6 +128,11 @@ css::uno::Sequence< css::uno::Type > SAL_CALL OPreparedStatement::getTypes( )
Reference< XResultSetMetaData > SAL_CALL OPreparedStatement::getMetaData( )
{
+ return getMetaDataImpl();
+}
+
+const rtl::Reference< OResultSetMetaData > & OPreparedStatement::getMetaDataImpl( )
+{
::osl::MutexGuard aGuard( m_aMutex );
checkDisposed(OStatement_BASE::rBHelper.bDisposed);
@@ -377,7 +382,7 @@ void OPreparedStatement::initResultSet(OResultSet *pResultSet)
m_pConnection->throwGenericSQLException(STR_INVALID_PARA_COUNT,*this);
pResultSet->OpenImpl();
- pResultSet->setMetaData(getMetaData());
+ pResultSet->setMetaData(getMetaDataImpl());
}
void SAL_CALL OPreparedStatement::acquire() noexcept
diff --git a/connectivity/source/drivers/firebird/PreparedStatement.hxx b/connectivity/source/drivers/firebird/PreparedStatement.hxx
index 42e540664dda..96f687c38123 100644
--- a/connectivity/source/drivers/firebird/PreparedStatement.hxx
+++ b/connectivity/source/drivers/firebird/PreparedStatement.hxx
@@ -33,7 +33,7 @@
namespace connectivity::firebird
{
-
+ class OResultSetMetaData;
class OBoundParam;
typedef ::cppu::ImplHelper5< css::sdbc::XPreparedStatement,
css::sdbc::XParameters,
@@ -46,7 +46,7 @@ namespace connectivity::firebird
{
protected:
OUString m_sSqlStatement;
- css::uno::Reference< css::sdbc::XResultSetMetaData > m_xMetaData;
+ rtl::Reference<OResultSetMetaData> m_xMetaData;
XSQLDA* m_pOutSqlda;
XSQLDA* m_pInSqlda;
diff --git a/connectivity/source/drivers/firebird/ResultSet.hxx b/connectivity/source/drivers/firebird/ResultSet.hxx
index c80f5b8453d4..046be37c567a 100644
--- a/connectivity/source/drivers/firebird/ResultSet.hxx
+++ b/connectivity/source/drivers/firebird/ResultSet.hxx
@@ -39,6 +39,7 @@
namespace connectivity::firebird
{
+ class OResultSetMetaData;
/*
** OResultSet
*/
@@ -73,7 +74,7 @@ namespace connectivity::firebird
::osl::Mutex& m_rMutex;
const css::uno::Reference< css::uno::XInterface >& m_xStatement;
- css::uno::Reference< css::sdbc::XResultSetMetaData> m_xMetaData;
+ rtl::Reference<OResultSetMetaData> m_xMetaData;
XSQLDA* m_pSqlda;
isc_stmt_handle m_statementHandle;
diff --git a/connectivity/source/drivers/firebird/StatementCommonBase.cxx b/connectivity/source/drivers/firebird/StatementCommonBase.cxx
index 096c0ce436bd..12ce9a8fd7ba 100644
--- a/connectivity/source/drivers/firebird/StatementCommonBase.cxx
+++ b/connectivity/source/drivers/firebird/StatementCommonBase.cxx
@@ -19,6 +19,7 @@
#include "StatementCommonBase.hxx"
#include "Util.hxx"
+#include "ResultSet.hxx"
#include <sal/log.hxx>
#include <comphelper/sequence.hxx>
@@ -62,9 +63,8 @@ OStatementCommonBase::~OStatementCommonBase()
void OStatementCommonBase::disposeResultSet()
{
- uno::Reference< XComponent > xComp(m_xResultSet, UNO_QUERY);
- if (xComp.is())
- xComp->dispose();
+ if (m_xResultSet.is())
+ m_xResultSet->dispose();
m_xResultSet.clear();
}
diff --git a/connectivity/source/drivers/firebird/StatementCommonBase.hxx b/connectivity/source/drivers/firebird/StatementCommonBase.hxx
index fa9cd790272e..92eac1ec521d 100644
--- a/connectivity/source/drivers/firebird/StatementCommonBase.hxx
+++ b/connectivity/source/drivers/firebird/StatementCommonBase.hxx
@@ -38,6 +38,7 @@
namespace connectivity::firebird
{
+ class OResultSet;
typedef ::cppu::WeakComponentImplHelper< css::sdbc::XWarningsSupplier,
css::util::XCancellable,
@@ -52,7 +53,7 @@ namespace connectivity::firebird
protected:
::osl::Mutex m_aMutex;
- css::uno::Reference< css::sdbc::XResultSet> m_xResultSet; // The last ResultSet created
+ rtl::Reference<OResultSet> m_xResultSet; // The last ResultSet created
// for this Statement
::rtl::Reference<Connection> m_pConnection;
diff --git a/connectivity/source/drivers/jdbc/ResultSet.cxx b/connectivity/source/drivers/jdbc/ResultSet.cxx
index 0473ed598d2e..e88fb9600138 100644
--- a/connectivity/source/drivers/jdbc/ResultSet.cxx
+++ b/connectivity/source/drivers/jdbc/ResultSet.cxx
@@ -74,7 +74,7 @@ java_sql_ResultSet::java_sql_ResultSet( JNIEnv * pEnv, jobject myObj, const java
SDBThreadAttach::addRef();
osl_atomic_increment(&m_refCount);
if ( pStmt )
- m_xStatement = *pStmt;
+ m_xStatement = pStmt;
osl_atomic_decrement(&m_refCount);
}
@@ -452,7 +452,7 @@ sal_Bool SAL_CALL java_sql_ResultSet::previous( )
Reference< XInterface > SAL_CALL java_sql_ResultSet::getStatement( )
{
- return m_xStatement;
+ return cppu::getXWeak(m_xStatement.get());
}
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx
index 40912c5534a7..4374fc7ad091 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.hxx
@@ -57,7 +57,7 @@ class OPreparedResultSet final : public cppu::BaseMutex,
{
OConnection& m_rConnection;
css::uno::WeakReferenceHelper m_aStatement;
- css::uno::Reference<css::sdbc::XResultSetMetaData> m_xMetaData;
+ rtl::Reference<OResultSetMetaData> m_xMetaData;
// non-owning pointers
MYSQL_RES* m_pResult;
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_preparedstatement.hxx b/connectivity/source/drivers/mysqlc/mysqlc_preparedstatement.hxx
index e1743d91dbc4..d61f616372b0 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_preparedstatement.hxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_preparedstatement.hxx
@@ -41,6 +41,8 @@ using my_bool = bool;
using my_bool = char;
#endif
+class OResultSetMetaData;
+
struct BindMetaData
{
my_bool is_null = false;
@@ -55,7 +57,7 @@ typedef ::cppu::ImplHelper4<css::sdbc::XPreparedStatement, css::sdbc::XParameter
class OPreparedStatement final : public OCommonStatement, public OPreparedStatement_BASE
{
unsigned int m_paramCount = 0; // number of placeholders
- Reference<XResultSetMetaData> m_xMetaData;
+ rtl::Reference<OResultSetMetaData> m_xMetaData;
MYSQL_STMT* m_pStmt;
std::vector<MYSQL_BIND> m_binds;
std::vector<BindMetaData> m_bindMetas;
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_resultset.hxx b/connectivity/source/drivers/mysqlc/mysqlc_resultset.hxx
index 3e43853d364e..bb2dc18fc9e2 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_resultset.hxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_resultset.hxx
@@ -41,6 +41,7 @@
namespace connectivity::mysqlc
{
using ::com::sun::star::uno::Any;
+class OResultSetMetaData;
/*
** OResultSet
@@ -62,7 +63,7 @@ class OResultSet final : public cppu::BaseMutex,
std::vector<OUString> m_aFields;
MYSQL* m_pMysql = nullptr;
css::uno::WeakReferenceHelper m_aStatement;
- css::uno::Reference<css::sdbc::XResultSetMetaData> m_xMetaData;
+ rtl::Reference<OResultSetMetaData> m_xMetaData;
MYSQL_RES* m_pResult;
rtl_TextEncoding m_encoding;
bool m_bWasNull = false; // did the last getXXX result null?
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_statement.cxx b/connectivity/source/drivers/mysqlc/mysqlc_statement.cxx
index 49a16cd5c6c5..2d8deaebdec1 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_statement.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_statement.cxx
@@ -51,8 +51,7 @@ void OCommonStatement::closeResultSet()
{
if (m_xResultSet.is())
{
- css::uno::Reference<css::sdbc::XCloseable> xClose(m_xResultSet, UNO_QUERY_THROW);
- xClose->close();
+ m_xResultSet->close();
m_xResultSet.clear();
}
}
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_statement.hxx b/connectivity/source/drivers/mysqlc/mysqlc_statement.hxx
index c710b0b46a6d..7e260fe8b144 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_statement.hxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_statement.hxx
@@ -39,6 +39,7 @@ namespace connectivity::mysqlc
using ::com::sun::star::sdbc::SQLWarning;
using ::com::sun::star::uno::Any;
using ::com::sun::star::uno::Type;
+class OResultSet;
typedef ::cppu::WeakComponentImplHelper3<css::sdbc::XWarningsSupplier, css::util::XCancellable,
css::sdbc::XCloseable>
@@ -59,7 +60,7 @@ private:
protected:
rtl::Reference<OConnection> m_xConnection; // The owning Connection object
- css::uno::Reference<css::sdbc::XResultSet> m_xResultSet;
+ rtl::Reference<OResultSet> m_xResultSet;
// number of rows affected by an UPDATE, DELETE or INSERT statement.
sal_Int32 m_nAffectedRows = 0;
diff --git a/connectivity/source/drivers/odbc/OPreparedStatement.cxx b/connectivity/source/drivers/odbc/OPreparedStatement.cxx
index 8e20c4d83e03..b382b34e9eb5 100644
--- a/connectivity/source/drivers/odbc/OPreparedStatement.cxx
+++ b/connectivity/source/drivers/odbc/OPreparedStatement.cxx
@@ -83,6 +83,11 @@ css::uno::Sequence< css::uno::Type > SAL_CALL OPreparedStatement::getTypes( )
Reference< XResultSetMetaData > SAL_CALL OPreparedStatement::getMetaData( )
{
+ return getMetaDataImpl();
+}
+
+const rtl::Reference< OResultSetMetaData > & OPreparedStatement::getMetaDataImpl()
+{
::osl::MutexGuard aGuard( m_aMutex );
checkDisposed(OStatement_BASE::rBHelper.bDisposed);
@@ -907,7 +912,7 @@ void OPreparedStatement::checkParameterIndex(sal_Int32 _parameterIndex)
rtl::Reference<OResultSet> OPreparedStatement::createResultSet()
{
rtl::Reference<OResultSet> pReturn = new OResultSet(m_aStatementHandle,this);
- pReturn->setMetaData(getMetaData());
+ pReturn->setMetaData(getMetaDataImpl());
return pReturn;
}
diff --git a/connectivity/source/drivers/postgresql/pq_connection.cxx b/connectivity/source/drivers/postgresql/pq_connection.cxx
index 50c1b54fd698..17f4128c8297 100644
--- a/connectivity/source/drivers/postgresql/pq_connection.cxx
+++ b/connectivity/source/drivers/postgresql/pq_connection.cxx
@@ -148,7 +148,6 @@ void Connection::close()
vectorDispose.push_back( Reference< XComponent > ( m_settings.users, UNO_QUERY ) );
vectorDispose.push_back( Reference< XComponent > ( m_settings.tables , UNO_QUERY ) );
- vectorDispose.push_back( Reference< XComponent > ( m_meta, UNO_QUERY ) );
m_meta.clear();
m_settings.tables.clear();
m_settings.users.clear();
diff --git a/connectivity/source/drivers/postgresql/pq_connection.hxx b/connectivity/source/drivers/postgresql/pq_connection.hxx
index 2bba070a7273..2b86ce5882fd 100644
--- a/connectivity/source/drivers/postgresql/pq_connection.hxx
+++ b/connectivity/source/drivers/postgresql/pq_connection.hxx
@@ -66,6 +66,8 @@
namespace pq_sdbc_driver
{
struct ConnectionSettings;
+class DatabaseMetaData;
+
struct ConnectionSettings
{
ConnectionSettings() :
@@ -123,7 +125,7 @@ class Connection : public ConnectionBase
css::uno::Reference< css::container::XNameAccess > m_typeMap;
ConnectionSettings m_settings;
::rtl::Reference< comphelper::RefCountedMutex > m_xMutex;
- css::uno::Reference< css::sdbc::XDatabaseMetaData > m_meta;
+ rtl::Reference< DatabaseMetaData > m_meta;
WeakHashMap m_myStatements;
private:
diff --git a/connectivity/source/drivers/postgresql/pq_xkey.hxx b/connectivity/source/drivers/postgresql/pq_xkey.hxx
index 68f05fd27d4e..d162fde24270 100644
--- a/connectivity/source/drivers/postgresql/pq_xkey.hxx
+++ b/connectivity/source/drivers/postgresql/pq_xkey.hxx
@@ -48,6 +48,7 @@
namespace pq_sdbc_driver
{
+class KeyColumnDescriptors;
class Key : public ReflectionBase,
public css::sdbcx::XColumnsSupplier
@@ -87,7 +88,7 @@ public: // XDataDescriptorFactory
class KeyDescriptor : public ReflectionBase, public css::sdbcx::XColumnsSupplier
{
- css::uno::Reference< css::container::XNameAccess > m_keyColumns;
+ rtl::Reference<KeyColumnDescriptors> m_keyColumns;
public:
KeyDescriptor( const ::rtl::Reference< comphelper::RefCountedMutex > & refMutex,
diff --git a/connectivity/source/drivers/postgresql/pq_xtable.hxx b/connectivity/source/drivers/postgresql/pq_xtable.hxx
index 7c8ca73f566b..d1239fff696e 100644
--- a/connectivity/source/drivers/postgresql/pq_xtable.hxx
+++ b/connectivity/source/drivers/postgresql/pq_xtable.hxx
@@ -117,7 +117,7 @@ class TableDescriptor
public css::sdbcx::XIndexesSupplier,
public css::sdbcx::XKeysSupplier
{
- css::uno::Reference< css::container::XNameAccess > m_columns;
+ rtl::Reference<ColumnDescriptors> m_columns;
css::uno::Reference< css::container::XIndexAccess > m_keys;
css::uno::Reference< css::container::XNameAccess > m_indexes;
diff --git a/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx b/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx
index f0a3fef76d00..28c504ee416b 100644
--- a/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx
+++ b/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx
@@ -40,6 +40,8 @@
namespace connectivity
{
+ class ODatabaseMetaDataResultSetMetaData;
+
typedef ::comphelper::WeakComponentImplHelper< css::sdbc::XResultSet,
css::sdbc::XRow,
css::sdbc::XResultSetMetaDataSupplier,
@@ -106,7 +108,7 @@ namespace connectivity
private:
ORowSetValue m_aEmptyValue;
css::uno::WeakReferenceHelper m_aStatement;
- css::uno::Reference< css::sdbc::XResultSetMetaData> m_xMetaData;
+ rtl::Reference< ODatabaseMetaDataResultSetMetaData> m_xMetaData;
sal_Int32 m_nColPos;
sal_Int32 m_nFetchSize;
diff --git a/connectivity/source/inc/TDatabaseMetaDataBase.hxx b/connectivity/source/inc/TDatabaseMetaDataBase.hxx
index 4d8c7715ca2d..de5d25ac3233 100644
--- a/connectivity/source/inc/TDatabaseMetaDataBase.hxx
+++ b/connectivity/source/inc/TDatabaseMetaDataBase.hxx
@@ -27,8 +27,11 @@
#include <functional>
#include <connectivity/dbtoolsdllapi.hxx>
+namespace comphelper { class OEventListenerHelper; }
+
namespace connectivity
{
+
class OOO_DLLPUBLIC_DBTOOLS ODatabaseMetaDataBase :
public cppu::BaseMutex,
public ::cppu::WeakImplHelper< css::sdbc::XDatabaseMetaData2,
@@ -65,7 +68,7 @@ namespace connectivity
}
protected:
css::uno::Reference< css::sdbc::XConnection > m_xConnection;
- css::uno::Reference< css::lang::XEventListener> m_xListenerHelper; // forward the calls from the connection to me
+ rtl::Reference< comphelper::OEventListenerHelper> m_xListenerHelper; // forward the calls from the connection to me
virtual ~ODatabaseMetaDataBase() override;
diff --git a/connectivity/source/inc/file/FPreparedStatement.hxx b/connectivity/source/inc/file/FPreparedStatement.hxx
index f83d74a6d065..7adbf40d2b7f 100644
--- a/connectivity/source/inc/file/FPreparedStatement.hxx
+++ b/connectivity/source/inc/file/FPreparedStatement.hxx
@@ -29,6 +29,7 @@
namespace connectivity::file
{
+ class OResultSetMetaData;
class OOO_DLLPUBLIC_FILE SAL_NO_VTABLE OPreparedStatement : public OStatement_BASE2,
public css::sdbc::XPreparedStatement,
@@ -42,7 +43,7 @@ namespace connectivity::file
// Data attributes
OValueRefRow m_aParameterRow;
- css::uno::Reference< css::sdbc::XResultSetMetaData> m_xMetaData;
+ rtl::Reference<OResultSetMetaData> m_xMetaData;
::rtl::Reference<connectivity::OSQLColumns> m_xParamColumns; // the parameter columns
@@ -113,6 +114,8 @@ namespace connectivity::file
virtual void SAL_CALL close( ) override;
// XResultSetMetaDataSupplier
virtual css::uno::Reference< css::sdbc::XResultSetMetaData > SAL_CALL getMetaData( ) override;
+
+ const rtl::Reference<OResultSetMetaData> & getMetaDataImpl();
};
}
diff --git a/connectivity/source/inc/file/FResultSet.hxx b/connectivity/source/inc/file/FResultSet.hxx
index 0870593e6388..b4c1786fd2d5 100644
--- a/connectivity/source/inc/file/FResultSet.hxx
+++ b/connectivity/source/inc/file/FResultSet.hxx
@@ -41,9 +41,12 @@
#include <TSkipDeletedSet.hxx>
#include <com/sun/star/lang/XEventListener.hpp>
#include <o3tl/safeint.hxx>
+#include "FResultSetMetaData.hxx"
namespace connectivity::file
{
+ class OResultSetMetaData;
+
typedef ::cppu::WeakComponentImplHelper< css::sdbc::XResultSet,
css::sdbc::XRow,
css::sdbc::XResultSetMetaDataSupplier,
@@ -96,7 +99,7 @@ namespace connectivity::file
sal_Int32 m_nResultSetConcurrency;
css::uno::Reference< css::uno::XInterface> m_xStatement;
- css::uno::Reference< css::sdbc::XResultSetMetaData> m_xMetaData;
+ rtl::Reference< OResultSetMetaData> m_xMetaData;
css::uno::Reference< css::container::XNameAccess> m_xColNames; // table columns
css::uno::Reference< css::container::XIndexAccess> m_xColsIdx; // table columns
@@ -267,7 +270,7 @@ namespace connectivity::file
void setOrderByColumns(std::vector<sal_Int32>&& _aColumnOrderBy) { m_aOrderbyColumnNumber = std::move(_aColumnOrderBy); }
void setOrderByAscending(std::vector<TAscendingOrder>&& _aOrderbyAsc) { m_aOrderbyAscending = std::move(_aOrderbyAsc); }
- void setMetaData(const css::uno::Reference< css::sdbc::XResultSetMetaData>& _xMetaData) { m_xMetaData = _xMetaData;}
+ void setMetaData(const rtl::Reference< OResultSetMetaData>& _xMetaData) { m_xMetaData = _xMetaData;}
static void setBoundedColumns(const OValueRefRow& _rRow,
const OValueRefRow& _rSelectRow,
diff --git a/connectivity/source/inc/java/sql/ResultSet.hxx b/connectivity/source/inc/java/sql/ResultSet.hxx
index 183c6fa3a362..2b4190ba956e 100644
--- a/connectivity/source/inc/java/sql/ResultSet.hxx
+++ b/connectivity/source/inc/java/sql/ResultSet.hxx
@@ -59,7 +59,7 @@ namespace connectivity
public ::cppu::OPropertySetHelper,
public ::comphelper::OPropertyArrayUsageHelper<java_sql_ResultSet>
{
- css::uno::Reference< css::uno::XInterface> m_xStatement;
+ rtl::Reference<java_sql_Statement_Base> m_xStatement;
java::sql::ConnectionLog m_aLogger;
java_sql_Connection* m_pConnection;
diff --git a/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx b/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx
index b0dc5cec35db..4b151b2517ed 100644
--- a/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx
+++ b/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx
@@ -42,6 +42,7 @@
namespace connectivity::odbc
{
+ class OResultSetMetaData;
/*
** java_sql_ResultSet
*/
@@ -68,8 +69,7 @@ namespace connectivity::odbc
SQLHANDLE m_aStatementHandle; // ... until freed
css::uno::WeakReferenceHelper m_aStatement;
- css::uno::Reference< css::sdbc::XResultSetMetaData>
- m_xMetaData;
+ rtl::Reference<OResultSetMetaData> m_xMetaData;
std::unique_ptr<SQLUSMALLINT[]> m_pRowStatusArray;
rtl::Reference<OConnection> m_pConnection;
rtl_TextEncoding m_nTextEncoding;
diff --git a/connectivity/source/inc/odbc/OPreparedStatement.hxx b/connectivity/source/inc/odbc/OPreparedStatement.hxx
index aa5e895bfc79..348c355453e6 100644
--- a/connectivity/source/inc/odbc/OPreparedStatement.hxx
+++ b/connectivity/source/inc/odbc/OPreparedStatement.hxx
@@ -30,7 +30,7 @@
namespace connectivity::odbc
{
-
+ class OResultSetMetaData;
class OBoundParam;
typedef ::cppu::ImplHelper5< css::sdbc::XPreparedStatement,
css::sdbc::XParameters,
@@ -51,7 +51,7 @@ namespace connectivity::odbc
std::unique_ptr<OBoundParam[]> boundParams;
// Array of bound parameter objects. Each parameter marker will have a
// corresponding object to hold bind information, and resulting data.
- css::uno::Reference< css::sdbc::XResultSetMetaData > m_xMetaData;
+ rtl::Reference<OResultSetMetaData> m_xMetaData;
bool m_bPrepared;
void FreeParams();
@@ -137,6 +137,7 @@ namespace connectivity::odbc
virtual void SAL_CALL close( ) override;
// XResultSetMetaDataSupplier
virtual css::uno::Reference< css::sdbc::XResultSetMetaData > SAL_CALL getMetaData( ) override;
+ const rtl::Reference< OResultSetMetaData > & getMetaDataImpl();
public:
using OStatement_Base::executeQuery;
diff --git a/connectivity/source/inc/odbc/OResultSet.hxx b/connectivity/source/inc/odbc/OResultSet.hxx
index 5c8328082904..c7638a18d8b9 100644
--- a/connectivity/source/inc/odbc/OResultSet.hxx
+++ b/connectivity/source/inc/odbc/OResultSet.hxx
@@ -40,9 +40,11 @@
#include <connectivity/FValue.hxx>
#include <TSkipDeletedSet.hxx>
#include <memory>
+#include "OResultSetMetaData.hxx"
namespace connectivity::odbc
{
+ class OResultSetMetaData;
/*
** java_sql_ResultSet
@@ -132,7 +134,7 @@ namespace connectivity::odbc
OStatement_Base* m_pStatement;
std::unique_ptr<OSkipDeletedSet> m_pSkipDeletedSet;
css::uno::Reference< css::uno::XInterface> m_xStatement;
- css::uno::Reference< css::sdbc::XResultSetMetaData> m_xMetaData;
+ rtl::Reference< OResultSetMetaData> m_xMetaData;
std::unique_ptr<SQLUSMALLINT[]> m_pRowStatusArray;
rtl_TextEncoding m_nTextEncoding;
sal_Int32 m_nRowPos;
@@ -235,7 +237,7 @@ namespace connectivity::odbc
return css::uno::Reference< css::uno::XInterface >(*static_cast<OResultSet_BASE*>(this));
}
- void setMetaData(const css::uno::Reference< css::sdbc::XResultSetMetaData>& _xMetaData) { m_xMetaData = _xMetaData;}
+ void setMetaData(const rtl::Reference<OResultSetMetaData>& _xMetaData) { m_xMetaData = _xMetaData;}
// ::cppu::OComponentHelper
virtual void SAL_CALL disposing() override;