diff options
Diffstat (limited to 'connectivity/source/drivers/adabas/BViews.cxx')
-rw-r--r-- | connectivity/source/drivers/adabas/BViews.cxx | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/connectivity/source/drivers/adabas/BViews.cxx b/connectivity/source/drivers/adabas/BViews.cxx deleted file mode 100644 index 4914c08f2902..000000000000 --- a/connectivity/source/drivers/adabas/BViews.cxx +++ /dev/null @@ -1,197 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" -#include "adabas/BViews.hxx" -#include "adabas/BTables.hxx" -#include <com/sun/star/sdbc/XRow.hpp> -#include <com/sun/star/sdbc/XResultSet.hpp> -#include <com/sun/star/sdbc/ColumnValue.hpp> -#include <com/sun/star/sdbc/KeyRule.hpp> -#include <com/sun/star/sdbcx/KeyType.hpp> -#include <com/sun/star/sdbcx/CheckOption.hpp> -#include "adabas/BCatalog.hxx" -#include "adabas/BConnection.hxx" -#include <comphelper/extract.hxx> -#include "connectivity/dbtools.hxx" -#include "connectivity/dbexception.hxx" -#include <cppuhelper/interfacecontainer.h> -#include "connectivity/sdbcx/VView.hxx" -#include <comphelper/types.hxx> - -using namespace ::comphelper; - -using namespace ::cppu; -using namespace connectivity; -using namespace connectivity::adabas; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::sdbcx; -using namespace ::com::sun::star::sdbc; -using namespace ::com::sun::star::container; -using namespace ::com::sun::star::lang; -using namespace dbtools; -typedef connectivity::sdbcx::OCollection OCollection_TYPE; - -sdbcx::ObjectType OViews::createObject(const ::rtl::OUString& _rName) -{ - ::rtl::OUString aName,aSchema; - sal_Int32 nLen = _rName.indexOf('.'); - aSchema = _rName.copy(0,nLen); - aName = _rName.copy(nLen+1); - - ::rtl::OUString sStmt( RTL_CONSTASCII_USTRINGPARAM( "SELECT DISTINCT * FROM DOMAIN.SHOW_VIEW WHERE " )); - if(aSchema.getLength()) - { - sStmt += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OWNER = '")); - sStmt += aSchema; - sStmt += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("' AND ")); - } - sStmt += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VIEWNAME = '")); - sStmt += aName; - sStmt += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("'")); - Reference<XConnection> xConnection = static_cast<OAdabasCatalog&>(m_rParent).getConnection(); - Reference< XStatement > xStmt = xConnection->createStatement( ); - Reference< XResultSet > xResult = xStmt->executeQuery(sStmt); - - sdbcx::ObjectType xRet = NULL; - if(xResult.is()) - { - Reference< XRow > xRow(xResult,UNO_QUERY); - if(xResult->next()) // there can be only one table with this name - { - connectivity::sdbcx::OView* pRet = new connectivity::sdbcx::OView(sal_True, - aName, - xConnection->getMetaData(), - CheckOption::NONE, - xRow->getString(3), - aSchema); - xRet = pRet; - } - ::comphelper::disposeComponent(xResult); - } - ::comphelper::disposeComponent(xStmt); - - return xRet; -} -// ------------------------------------------------------------------------- -void OViews::impl_refresh( ) throw(RuntimeException) -{ - static_cast<OAdabasCatalog&>(m_rParent).refreshTables(); -} -// ------------------------------------------------------------------------- -void OViews::disposing(void) -{ -m_xMetaData.clear(); - OCollection::disposing(); -} -// ------------------------------------------------------------------------- -Reference< XPropertySet > OViews::createDescriptor() -{ - Reference<XConnection> xConnection = static_cast<OAdabasCatalog&>(m_rParent).getConnection(); - return new connectivity::sdbcx::OView(sal_True,xConnection->getMetaData()); -} -// ------------------------------------------------------------------------- -// XAppend -sdbcx::ObjectType OViews::appendObject( const ::rtl::OUString& _rForName, const Reference< XPropertySet >& descriptor ) -{ - createView(descriptor); - return createObject( _rForName ); -} -// ------------------------------------------------------------------------- -// XDrop -void OViews::dropObject(sal_Int32 _nPos,const ::rtl::OUString _sElementName) -{ - if(m_bInDrop) - return; - - Reference< XInterface > xObject( getObject( _nPos ) ); - sal_Bool bIsNew = connectivity::sdbcx::ODescriptor::isNew( xObject ); - if (!bIsNew) - { - OAdabasConnection* pConnection = static_cast<OAdabasCatalog&>(m_rParent).getConnection(); - Reference< XStatement > xStmt = pConnection->createStatement( ); - - ::rtl::OUString aName,aSchema; - sal_Int32 nLen = _sElementName.indexOf('.'); - aSchema = _sElementName.copy(0,nLen); - aName = _sElementName.copy(nLen+1); - ::rtl::OUString aSql( RTL_CONSTASCII_USTRINGPARAM( "DROP VIEW" )); - const ::rtl::OUString& sDot = OAdabasCatalog::getDot(); - - aSql = aSql + m_xMetaData->getIdentifierQuoteString( ) + aSchema + m_xMetaData->getIdentifierQuoteString( ); - aSql = aSql + sDot; - aSql = aSql + m_xMetaData->getIdentifierQuoteString( ) + aName + m_xMetaData->getIdentifierQuoteString( ); - xStmt->execute(aSql); - ::comphelper::disposeComponent(xStmt); - } -} -// ----------------------------------------------------------------------------- -void OViews::dropByNameImpl(const ::rtl::OUString& elementName) -{ - m_bInDrop = sal_True; - OCollection_TYPE::dropByName(elementName); - m_bInDrop = sal_False; -} -// ----------------------------------------------------------------------------- -void OViews::createView( const Reference< XPropertySet >& descriptor ) -{ - ::rtl::OUString aSql( RTL_CONSTASCII_USTRINGPARAM( "CREATE VIEW " )); - ::rtl::OUString aQuote = static_cast<OAdabasCatalog&>(m_rParent).getConnection()->getMetaData()->getIdentifierQuoteString( ); - const ::rtl::OUString& sDot = OAdabasCatalog::getDot(); - ::rtl::OUString sSchema,sCommand; - - descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCHEMANAME)) >>= sSchema; - if(sSchema.getLength()) - aSql += ::dbtools::quoteName(aQuote, sSchema) + sDot; - else - descriptor->setPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCHEMANAME),makeAny(sSchema = static_cast<OAdabasCatalog&>(m_rParent).getConnection()->getMetaData()->getUserName())); - - aSql += ::dbtools::quoteName(aQuote, getString(descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)))) - + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" AS ")); - descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_COMMAND)) >>= sCommand; - aSql += sCommand; - - OAdabasConnection* pConnection = static_cast<OAdabasCatalog&>(m_rParent).getConnection(); - Reference< XStatement > xStmt = pConnection->createStatement( ); - xStmt->execute(aSql); - ::comphelper::disposeComponent(xStmt); - - // insert the new view also in the tables collection - OTables* pTables = static_cast<OTables*>(static_cast<OAdabasCatalog&>(m_rParent).getPrivateTables()); - if(pTables) - { - ::rtl::OUString sName = sSchema; - sName += sDot; - sName += getString(descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME))); - pTables->appendNew(sName); - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |