summaryrefslogtreecommitdiff
path: root/connectivity/source/commontools/TDatabaseMetaDataBase.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/source/commontools/TDatabaseMetaDataBase.cxx')
-rw-r--r--connectivity/source/commontools/TDatabaseMetaDataBase.cxx337
1 files changed, 0 insertions, 337 deletions
diff --git a/connectivity/source/commontools/TDatabaseMetaDataBase.cxx b/connectivity/source/commontools/TDatabaseMetaDataBase.cxx
deleted file mode 100644
index 407cdc8fb0..0000000000
--- a/connectivity/source/commontools/TDatabaseMetaDataBase.cxx
+++ /dev/null
@@ -1,337 +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 "TDatabaseMetaDataBase.hxx"
-#include "RowFunctionParser.hxx"
-
-#include <comphelper/sequenceashashmap.hxx>
-#include <comphelper/evtlistenerhlp.hxx>
-#include <com/sun/star/lang/XComponent.hpp>
-#include "resource/sharedresources.hxx"
-#include "resource/common_res.hrc"
-#include <connectivity/dbexception.hxx>
-#include <sal/macros.h>
-
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace comphelper;
-using namespace connectivity;
-
-
-ODatabaseMetaDataBase::ODatabaseMetaDataBase(const Reference< XConnection >& _rxConnection,const Sequence< PropertyValue >& _rInfo)
- : m_aConnectionInfo(_rInfo)
- ,m_isCatalogAtStart(false,sal_False)
- ,m_sCatalogSeparator(false,::rtl::OUString())
- ,m_sIdentifierQuoteString(false,::rtl::OUString())
- ,m_supportsCatalogsInTableDefinitions(false,sal_False)
- ,m_supportsSchemasInTableDefinitions(false,sal_False)
- ,m_supportsCatalogsInDataManipulation(false,sal_False)
- ,m_supportsSchemasInDataManipulation(false,sal_False)
- ,m_supportsMixedCaseQuotedIdentifiers(false,sal_False)
- ,m_supportsAlterTableWithAddColumn(false,sal_False)
- ,m_supportsAlterTableWithDropColumn(false,sal_False)
- ,m_MaxStatements(false,0)
- ,m_MaxTablesInSelect(false,0)
- ,m_storesMixedCaseQuotedIdentifiers(false,sal_False)
- , m_xConnection(_rxConnection)
-{
- osl_incrementInterlockedCount( &m_refCount );
- {
- m_xListenerHelper = new OEventListenerHelper(this);
- Reference<XComponent> xCom(m_xConnection,UNO_QUERY);
- if(xCom.is())
- xCom->addEventListener(m_xListenerHelper);
- }
- osl_decrementInterlockedCount( &m_refCount );
-}
-// -------------------------------------------------------------------------
-ODatabaseMetaDataBase::~ODatabaseMetaDataBase()
-{
-}
-
-// -----------------------------------------------------------------------------
-Sequence< PropertyValue > SAL_CALL ODatabaseMetaDataBase::getConnectionInfo( ) throw (RuntimeException)
-{
- return m_aConnectionInfo;
-}
-
-// -----------------------------------------------------------------------------
-void SAL_CALL ODatabaseMetaDataBase::disposing( const EventObject& /*Source*/ ) throw(RuntimeException)
-{
- // cut off all references to the connection
-m_xConnection.clear();
-m_xListenerHelper.clear();
-}
-// -----------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getTypeInfo( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- if ( m_aTypeInfoRows.empty() )
- {
- Reference< XResultSet > xRet = impl_getTypeInfo_throw();
- Reference< XRow > xRow(xRet,UNO_QUERY);
- ::comphelper::SequenceAsHashMap aMap(m_aConnectionInfo);
- Sequence< Any > aTypeInfoSettings;
- aTypeInfoSettings = aMap.getUnpackedValueOrDefault(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TypeInfoSettings")),aTypeInfoSettings);
-
- if ( xRow.is() )
- {
- static sal_Int32 pTypes[] = {
- DataType::VARCHAR
- ,DataType::INTEGER
- ,DataType::INTEGER
- ,DataType::VARCHAR
- ,DataType::VARCHAR
- ,DataType::VARCHAR
- ,DataType::INTEGER
- ,DataType::BOOLEAN
- ,DataType::INTEGER
- ,DataType::BOOLEAN
- ,DataType::BOOLEAN
- ,DataType::BOOLEAN
- ,DataType::VARCHAR
- ,DataType::INTEGER
- ,DataType::INTEGER
- ,DataType::INTEGER
- ,DataType::INTEGER
- ,DataType::INTEGER
- };
- ::std::vector<ExpressionNodeSharedPtr> aConditions;
- if ( aTypeInfoSettings.getLength() > 1 && ((aTypeInfoSettings.getLength() % 2) == 0) )
- {
- const Any* pIter = aTypeInfoSettings.getConstArray();
- const Any* pEnd = pIter + aTypeInfoSettings.getLength();
- try
- {
- for(;pIter != pEnd;++pIter)
- aConditions.push_back(FunctionParser::parseFunction(::comphelper::getString(*pIter)));
- }
- catch(ParseError&)
- {
- ::connectivity::SharedResources aResources;
- const ::rtl::OUString sError( aResources.getResourceString(STR_FORMULA_WRONG));
- ::dbtools::throwGenericSQLException(sError,*this);
- }
- }
-
- ::connectivity::ODatabaseMetaDataResultSet::ORows aTypeInfoRows;
- while( xRet->next() )
- {
- ::connectivity::ODatabaseMetaDataResultSet::ORow aRow;
- aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue());
- sal_Int32* pType = pTypes;
- for (sal_Int32 i = 1; i <= sal_Int32(SAL_N_ELEMENTS(pTypes)); ++i,++pType)
- {
- ORowSetValue aValue;
- aValue.fill(i,*pType,xRow);
- aRow.push_back(new ORowSetValueDecorator(aValue));
- }
-
- ::std::vector<ExpressionNodeSharedPtr>::iterator aIter = aConditions.begin();
- ::std::vector<ExpressionNodeSharedPtr>::iterator aEnd = aConditions.end();
- for (; aIter != aEnd; ++aIter)
- {
- if ( (*aIter)->evaluate(aRow)->getValue().getBool() )
- {
- ++aIter;
- (*aIter)->fill(aRow);
- }
- else
- ++aIter;
- }
- aTypeInfoRows.push_back(aRow);
- }
- m_aTypeInfoRows = aTypeInfoRows;
- }
- }
- ::connectivity::ODatabaseMetaDataResultSet* pResult = new ::connectivity::ODatabaseMetaDataResultSet(::connectivity::ODatabaseMetaDataResultSet::eTypeInfo);
- Reference< XResultSet > xRet = pResult;
- pResult->setRows(m_aTypeInfoRows);
- return xRet;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getExportedKeys(
- const Any& /*catalog*/, const ::rtl::OUString& /*schema*/, const ::rtl::OUString& /*table*/ ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eExportedKeys );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getImportedKeys(
- const Any& /*catalog*/, const ::rtl::OUString& /*schema*/, const ::rtl::OUString& /*table*/ ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eImportedKeys );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getPrimaryKeys(
- const Any& /*catalog*/, const ::rtl::OUString& /*schema*/, const ::rtl::OUString& /*table*/ ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::ePrimaryKeys );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getIndexInfo(
- const Any& /*catalog*/, const ::rtl::OUString& /*schema*/, const ::rtl::OUString& /*table*/,
- sal_Bool /*unique*/, sal_Bool /*approximate*/ ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eIndexInfo );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getBestRowIdentifier(
- const Any& /*catalog*/, const ::rtl::OUString& /*schema*/, const ::rtl::OUString& /*table*/, sal_Int32 /*scope*/,
- sal_Bool /*nullable*/ ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eBestRowIdentifier );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getCrossReference(
- const Any& /*primaryCatalog*/, const ::rtl::OUString& /*primarySchema*/,
- const ::rtl::OUString& /*primaryTable*/, const Any& /*foreignCatalog*/,
- const ::rtl::OUString& /*foreignSchema*/, const ::rtl::OUString& /*foreignTable*/ ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eCrossReference );
-}
-// -------------------------------------------------------------------------
-Reference< XConnection > SAL_CALL ODatabaseMetaDataBase::getConnection( ) throw(SQLException, RuntimeException)
-{
- return m_xConnection;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getProcedureColumns(
- const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/,
- const ::rtl::OUString& /*procedureNamePattern*/, const ::rtl::OUString& /*columnNamePattern*/ ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eProcedureColumns );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getProcedures(
- const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/,
- const ::rtl::OUString& /*procedureNamePattern*/ ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eProcedures );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getVersionColumns(
- const Any& /*catalog*/, const ::rtl::OUString& /*schema*/, const ::rtl::OUString& /*table*/ ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eVersionColumns );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getSchemas( ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eSchemas );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getColumnPrivileges(
- const Any& /*catalog*/, const ::rtl::OUString& /*schema*/, const ::rtl::OUString& /*table*/,
- const ::rtl::OUString& /*columnNamePattern*/ ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eColumnPrivileges );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getTablePrivileges(
- const Any& /*catalog*/, const ::rtl::OUString& /*schema*/, const ::rtl::OUString& /*table*/) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eTablePrivileges );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getCatalogs( ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eCatalogs );
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaDataBase::getIdentifierQuoteString( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_sIdentifierQuoteString,::std::mem_fun_t< ::rtl::OUString ,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_getIdentifierQuoteString_throw));
-}
-// -----------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataBase::isCatalogAtStart( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_isCatalogAtStart,::std::mem_fun_t< sal_Bool,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_isCatalogAtStart_throw));
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaDataBase::getCatalogSeparator( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_sCatalogSeparator,::std::mem_fun_t< ::rtl::OUString,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_getCatalogSeparator_throw));
-}
-// -----------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataBase::supportsCatalogsInTableDefinitions( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_supportsCatalogsInTableDefinitions,::std::mem_fun_t< sal_Bool,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_supportsCatalogsInTableDefinitions_throw));
-}
-// -----------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataBase::supportsSchemasInTableDefinitions( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_supportsSchemasInTableDefinitions,::std::mem_fun_t< sal_Bool,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_supportsSchemasInTableDefinitions_throw));
-}
-// -----------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataBase::supportsCatalogsInDataManipulation( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_supportsCatalogsInDataManipulation,::std::mem_fun_t< sal_Bool,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_supportsCatalogsInDataManipulation_throw));
-}
-// -----------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataBase::supportsSchemasInDataManipulation( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_supportsSchemasInDataManipulation,::std::mem_fun_t< sal_Bool,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_supportsSchemasInDataManipulation_throw));
-}
-// -----------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataBase::supportsMixedCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_supportsMixedCaseQuotedIdentifiers,::std::mem_fun_t< sal_Bool,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_supportsMixedCaseQuotedIdentifiers_throw));
-}
-// -----------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataBase::supportsAlterTableWithAddColumn( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_supportsAlterTableWithAddColumn,::std::mem_fun_t< sal_Bool,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_supportsAlterTableWithAddColumn_throw));
-}
-// -----------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataBase::supportsAlterTableWithDropColumn( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_supportsAlterTableWithDropColumn,::std::mem_fun_t< sal_Bool,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_supportsAlterTableWithDropColumn_throw));
-}
-// -----------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaDataBase::getMaxStatements( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_MaxStatements,::std::mem_fun_t< sal_Int32,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_getMaxStatements_throw));
-}
-// -----------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaDataBase::getMaxTablesInSelect( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_MaxTablesInSelect,::std::mem_fun_t< sal_Int32,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_getMaxTablesInSelect_throw));
-}
-// -----------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataBase::storesMixedCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return callImplMethod(m_storesMixedCaseQuotedIdentifiers,::std::mem_fun_t< sal_Bool,ODatabaseMetaDataBase>(&ODatabaseMetaDataBase::impl_storesMixedCaseQuotedIdentifiers_throw));
-}
-// -----------------------------------------------------------------------------
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */