diff options
Diffstat (limited to 'connectivity/source/drivers/mysqlc/mysqlc_views.cxx')
-rw-r--r-- | connectivity/source/drivers/mysqlc/mysqlc_views.cxx | 72 |
1 files changed, 23 insertions, 49 deletions
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_views.cxx b/connectivity/source/drivers/mysqlc/mysqlc_views.cxx index 5db17db83c85..1c79c9225d44 100644 --- a/connectivity/source/drivers/mysqlc/mysqlc_views.cxx +++ b/connectivity/source/drivers/mysqlc/mysqlc_views.cxx @@ -25,29 +25,16 @@ #include <comphelper/types.hxx> #include <TConnection.hxx> -using namespace ::comphelper; - -using namespace ::cppu; -using namespace connectivity; -using namespace connectivity::mysqlc; -using namespace css::uno; -using namespace css::beans; -using namespace css::sdbcx; -using namespace css::sdbc; -using namespace css::container; -using namespace css::lang; -typedef connectivity::sdbcx::OCollection OCollection_TYPE; - -Views::Views(const Reference<XConnection>& _rxConnection, ::cppu::OWeakObject& _rParent, - ::osl::Mutex& _rMutex, const ::std::vector<OUString>& _rVector) +connectivity::mysqlc::Views::Views(const css::uno::Reference<css::sdbc::XConnection>& _rxConnection, + ::cppu::OWeakObject& _rParent, ::osl::Mutex& _rMutex, + const ::std::vector<OUString>& _rVector) : sdbcx::OCollection(_rParent, true, _rMutex, _rVector) , m_xConnection(_rxConnection) , m_xMetaData(_rxConnection->getMetaData()) - , m_bInDrop(false) { } -sdbcx::ObjectType Views::createObject(const OUString& _rName) +connectivity::sdbcx::ObjectType connectivity::mysqlc::Views::createObject(const OUString& _rName) { OUString sCatalog, sSchema, sTable; ::dbtools::qualifiedNameComponents(m_xMetaData, _rName, sCatalog, sSchema, sTable, @@ -55,60 +42,48 @@ sdbcx::ObjectType Views::createObject(const OUString& _rName) return new View(m_xConnection, isCaseSensitive(), sSchema, sTable); } -void Views::impl_refresh() { static_cast<Catalog&>(m_rParent).refreshViews(); } - -void Views::disposing() +void connectivity::mysqlc::Views::impl_refresh() { - m_xMetaData.clear(); - OCollection::disposing(); + static_cast<Catalog&>(m_rParent).refreshViews(); } -Reference<XPropertySet> Views::createDescriptor() +css::uno::Reference<css::beans::XPropertySet> connectivity::mysqlc::Views::createDescriptor() { return new connectivity::sdbcx::OView(true, m_xMetaData); } // XAppend -sdbcx::ObjectType Views::appendObject(const OUString& _rForName, - const Reference<XPropertySet>& descriptor) +connectivity::sdbcx::ObjectType connectivity::mysqlc::Views::appendObject( + const OUString& _rForName, const css::uno::Reference<css::beans::XPropertySet>& descriptor) { createView(descriptor); return createObject(_rForName); } // XDrop -void Views::dropObject(sal_Int32 _nPos, const OUString& /*_sElementName*/) +void connectivity::mysqlc::Views::dropObject(sal_Int32 _nPos, const OUString& /*_sElementName*/) { - if (m_bInDrop) - return; - - Reference<XInterface> xObject(getObject(_nPos)); + css::uno::Reference<XInterface> xObject(getObject(_nPos)); bool bIsNew = connectivity::sdbcx::ODescriptor::isNew(xObject); if (!bIsNew) { OUString aSql("DROP VIEW"); - Reference<XPropertySet> xProp(xObject, UNO_QUERY); + css::uno::Reference<css::beans::XPropertySet> xProp(xObject, css::uno::UNO_QUERY); aSql += ::dbtools::composeTableName(m_xMetaData, xProp, ::dbtools::EComposeRule::InTableDefinitions, true); - Reference<XConnection> xConnection = m_xMetaData->getConnection(); - Reference<XStatement> xStmt = xConnection->createStatement(); + css::uno::Reference<css::sdbc::XConnection> xConnection = m_xMetaData->getConnection(); + css::uno::Reference<css::sdbc::XStatement> xStmt = xConnection->createStatement(); xStmt->execute(aSql); ::comphelper::disposeComponent(xStmt); } } -void Views::dropByNameImpl(const OUString& elementName) -{ - m_bInDrop = true; - OCollection_TYPE::dropByName(elementName); - m_bInDrop = false; -} - -void Views::createView(const Reference<XPropertySet>& descriptor) +void connectivity::mysqlc::Views::createView( + const css::uno::Reference<css::beans::XPropertySet>& descriptor) { - Reference<XConnection> xConnection = m_xMetaData->getConnection(); + css::uno::Reference<css::sdbc::XConnection> xConnection = m_xMetaData->getConnection(); OUString sCommand; descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_COMMAND)) @@ -119,21 +94,20 @@ void Views::createView(const Reference<XPropertySet>& descriptor) ::dbtools::EComposeRule::InTableDefinitions, true) + " AS " + sCommand; - Reference<XStatement> xStmt = xConnection->createStatement(); + css::uno::Reference<css::sdbc::XStatement> xStmt = xConnection->createStatement(); if (xStmt.is()) { xStmt->execute(aSql); ::comphelper::disposeComponent(xStmt); } - /* TODO find a way to refresh view to make the new one appear right away - // insert the new view also in the tables collection - Tables* pTables = static_cast<Tables*>(static_cast<Catalog&>(m_rParent).getPrivateTables()); - if ( pTables) + connectivity::mysqlc::Tables* pTables = static_cast<connectivity::mysqlc::Tables*>( + static_cast<connectivity::mysqlc::Catalog&>(m_rParent).getPrivateTables()); + if (pTables) { - OUString sName = ::dbtools::composeTableName( m_xMetaData, descriptor, ::dbtools::EComposeRule::InDataManipulation, false ); + OUString sName = ::dbtools::composeTableName( + m_xMetaData, descriptor, ::dbtools::EComposeRule::InDataManipulation, false); pTables->appendNew(sName); } -*/ } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |