summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/ado
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/source/drivers/ado')
-rw-r--r--connectivity/source/drivers/ado/ACallableStatement.cxx237
-rw-r--r--connectivity/source/drivers/ado/ACatalog.cxx127
-rw-r--r--connectivity/source/drivers/ado/AColumn.cxx307
-rw-r--r--connectivity/source/drivers/ado/AColumns.cxx150
-rw-r--r--connectivity/source/drivers/ado/AConnection.cxx633
-rw-r--r--connectivity/source/drivers/ado/ADatabaseMetaData.cxx1086
-rw-r--r--connectivity/source/drivers/ado/ADatabaseMetaDataImpl.cxx610
-rw-r--r--connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx1219
-rw-r--r--connectivity/source/drivers/ado/ADatabaseMetaDataResultSetMetaData.cxx235
-rw-r--r--connectivity/source/drivers/ado/ADriver.cxx306
-rw-r--r--connectivity/source/drivers/ado/AGroup.cxx190
-rw-r--r--connectivity/source/drivers/ado/AGroups.cxx90
-rw-r--r--connectivity/source/drivers/ado/AIndex.cxx159
-rw-r--r--connectivity/source/drivers/ado/AIndexes.cxx92
-rw-r--r--connectivity/source/drivers/ado/AKey.cxx169
-rw-r--r--connectivity/source/drivers/ado/AKeyColumn.cxx71
-rw-r--r--connectivity/source/drivers/ado/AKeyColumns.cxx97
-rw-r--r--connectivity/source/drivers/ado/AKeys.cxx115
-rw-r--r--connectivity/source/drivers/ado/APreparedStatement.cxx566
-rw-r--r--connectivity/source/drivers/ado/AResultSet.cxx1175
-rw-r--r--connectivity/source/drivers/ado/AResultSetMetaData.cxx264
-rw-r--r--connectivity/source/drivers/ado/AStatement.cxx844
-rw-r--r--connectivity/source/drivers/ado/ATable.cxx259
-rw-r--r--connectivity/source/drivers/ado/ATables.cxx117
-rw-r--r--connectivity/source/drivers/ado/AUser.cxx227
-rw-r--r--connectivity/source/drivers/ado/AUsers.cxx89
-rw-r--r--connectivity/source/drivers/ado/AView.cxx125
-rw-r--r--connectivity/source/drivers/ado/AViews.cxx106
-rw-r--r--connectivity/source/drivers/ado/Aolevariant.cxx794
-rw-r--r--connectivity/source/drivers/ado/Aservices.cxx123
-rw-r--r--connectivity/source/drivers/ado/Awrapado.cxx2205
-rwxr-xr-xconnectivity/source/drivers/ado/ado.component35
-rw-r--r--connectivity/source/drivers/ado/ado.xcu269
-rwxr-xr-xconnectivity/source/drivers/ado/ado.xml27
-rwxr-xr-xconnectivity/source/drivers/ado/ado_post_sys_include.h35
-rwxr-xr-xconnectivity/source/drivers/ado/ado_pre_sys_include.h40
-rw-r--r--connectivity/source/drivers/ado/adoimp.cxx339
-rwxr-xr-xconnectivity/source/drivers/ado/exports.dxp2
-rwxr-xr-xconnectivity/source/drivers/ado/makefile.mk124
39 files changed, 0 insertions, 13658 deletions
diff --git a/connectivity/source/drivers/ado/ACallableStatement.cxx b/connectivity/source/drivers/ado/ACallableStatement.cxx
deleted file mode 100644
index feb29ec8d9..0000000000
--- a/connectivity/source/drivers/ado/ACallableStatement.cxx
+++ /dev/null
@@ -1,237 +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 "ado/ACallableStatement.hxx"
-#include <connectivity/dbexception.hxx>
-
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::container;
-using namespace com::sun::star::lang;
-
-IMPLEMENT_SERVICE_INFO(OCallableStatement,"com.sun.star.sdbcx.ACallableStatement","com.sun.star.sdbc.CallableStatement");
-
-#define GET_PARAM() \
- ADOParameter* pParam = NULL; \
- m_pParameters->get_Item(OLEVariant(sal_Int32(columnIndex-1)),&pParam); \
- if(pParam) \
- pParam->get_Value(&m_aValue);
-//**************************************************************
-//************ Class: java.sql.CallableStatement
-//**************************************************************
-OCallableStatement::OCallableStatement( OConnection* _pConnection,const OTypeInfoMap& _TypeInfo,const ::rtl::OUString& sql )
- : OPreparedStatement( _pConnection, _TypeInfo, sql )
-{
- m_Command.put_CommandType(adCmdStoredProc);
-}
-// -------------------------------------------------------------------------
-
-Any SAL_CALL OCallableStatement::queryInterface( const Type & rType ) throw(RuntimeException)
-{
- Any aRet = OPreparedStatement::queryInterface(rType);
- return aRet.hasValue() ? aRet : ::cppu::queryInterface(rType,static_cast< XRow*>(this));
-}
-// -------------------------------------------------------------------------
-
-
-sal_Bool SAL_CALL OCallableStatement::wasNull( ) throw(SQLException, RuntimeException)
-{
- return m_aValue.isNull();
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OCallableStatement::getBoolean( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-sal_Int8 SAL_CALL OCallableStatement::getByte( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-Sequence< sal_Int8 > SAL_CALL OCallableStatement::getBytes( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-::com::sun::star::util::Date SAL_CALL OCallableStatement::getDate( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-double SAL_CALL OCallableStatement::getDouble( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-
-float SAL_CALL OCallableStatement::getFloat( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL OCallableStatement::getInt( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-
-sal_Int64 SAL_CALL OCallableStatement::getLong( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return (sal_Int64)m_aValue.getCurrency().int64;
-}
-// -------------------------------------------------------------------------
-
-Any SAL_CALL OCallableStatement::getObject( sal_Int32 /*columnIndex*/, const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getObject", *this );
- return Any();
-}
-// -------------------------------------------------------------------------
-
-sal_Int16 SAL_CALL OCallableStatement::getShort( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-
-::rtl::OUString SAL_CALL OCallableStatement::getString( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-
- ::com::sun::star::util::Time SAL_CALL OCallableStatement::getTime( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-
- ::com::sun::star::util::DateTime SAL_CALL OCallableStatement::getTimestamp( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- GET_PARAM()
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OCallableStatement::registerOutParameter( sal_Int32 parameterIndex, sal_Int32 sqlType, const ::rtl::OUString& /*typeName*/ ) throw(SQLException, RuntimeException)
-{
- ADOParameter* pParam = NULL;
- m_pParameters->get_Item(OLEVariant(sal_Int32(parameterIndex-1)),&pParam);
- if(pParam)
- {
- pParam->put_Type(ADOS::MapJdbc2ADOType(sqlType,m_pConnection->getEngineType()));
- pParam->put_Direction(adParamOutput);
- }
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OCallableStatement::registerNumericOutParameter( sal_Int32 parameterIndex, sal_Int32 sqlType, sal_Int32 scale ) throw(SQLException, RuntimeException)
-{
- ADOParameter* pParam = NULL;
- m_pParameters->get_Item(OLEVariant(sal_Int32(parameterIndex-1)),&pParam);
- if(pParam)
- {
- pParam->put_Type(ADOS::MapJdbc2ADOType(sqlType,m_pConnection->getEngineType()));
- pParam->put_Direction(adParamOutput);
- pParam->put_NumericScale((sal_Int8)scale);
- }
-}
-// -------------------------------------------------------------------------
-
-
-Reference< ::com::sun::star::io::XInputStream > SAL_CALL OCallableStatement::getBinaryStream( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getBinaryStream", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-Reference< ::com::sun::star::io::XInputStream > SAL_CALL OCallableStatement::getCharacterStream( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getCharacterStream", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-
-Reference< XArray > SAL_CALL OCallableStatement::getArray( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getArray", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-
-Reference< XClob > SAL_CALL OCallableStatement::getClob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getClob", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-Reference< XBlob > SAL_CALL OCallableStatement::getBlob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getBlob", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-
-Reference< XRef > SAL_CALL OCallableStatement::getRef( sal_Int32 /*columnIndex*/) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getRef", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-void SAL_CALL OCallableStatement::acquire() throw()
-{
- OPreparedStatement::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OCallableStatement::release() throw()
-{
- OPreparedStatement::release();
-}
-// -----------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/ACatalog.cxx b/connectivity/source/drivers/ado/ACatalog.cxx
deleted file mode 100644
index 0f3e70c0f1..0000000000
--- a/connectivity/source/drivers/ado/ACatalog.cxx
+++ /dev/null
@@ -1,127 +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 "ado/ACatalog.hxx"
-#include "ado/AConnection.hxx"
-#include "ado/AGroups.hxx"
-#include "ado/AUsers.hxx"
-#include "ado/ATables.hxx"
-#include "ado/AViews.hxx"
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-
-
-// -------------------------------------------------------------------------
-using namespace connectivity;
-using namespace connectivity::ado;
-// -------------------------------------------------------------------------
-OCatalog::OCatalog(_ADOCatalog* _pCatalog,OConnection* _pCon) : connectivity::sdbcx::OCatalog(_pCon)
- ,m_pConnection(_pCon)
- ,m_aCatalog(_pCatalog)
-{
-}
-// -----------------------------------------------------------------------------
-OCatalog::~OCatalog()
-{
- if(m_aCatalog.IsValid())
- m_aCatalog.putref_ActiveConnection(NULL);
- m_aCatalog.clear();
-}
-// -----------------------------------------------------------------------------
-void OCatalog::refreshTables()
-{
- TStringVector aVector;
-
- WpADOTables aTables(m_aCatalog.get_Tables());
- if ( aTables.IsValid() )
- {
- aTables.Refresh();
- sal_Int32 nCount = aTables.GetItemCount();
- aVector.reserve(nCount);
- for(sal_Int32 i=0;i< nCount;++i)
- {
- WpADOTable aElement = aTables.GetItem(i);
- if ( aElement.IsValid() )
- {
- ::rtl::OUString sTypeName = aElement.get_Type();
- if ( !sTypeName.equalsIgnoreAsciiCaseAscii("SYSTEM TABLE") && !sTypeName.equalsIgnoreAsciiCaseAscii("ACCESS TABLE") )
- aVector.push_back(aElement.get_Name());
- }
- }
- }
-
- if(m_pTables)
- m_pTables->reFill(aVector);
- else
- m_pTables = new OTables(this,m_aMutex,aVector,aTables,m_pConnection->getMetaData()->supportsMixedCaseQuotedIdentifiers());
-}
-// -------------------------------------------------------------------------
-void OCatalog::refreshViews()
-{
- TStringVector aVector;
-
- WpADOViews aViews = m_aCatalog.get_Views();
- aViews.fillElementNames(aVector);
-
- if(m_pViews)
- m_pViews->reFill(aVector);
- else
- m_pViews = new OViews(this,m_aMutex,aVector,aViews,m_pConnection->getMetaData()->supportsMixedCaseQuotedIdentifiers());
-}
-// -------------------------------------------------------------------------
-void OCatalog::refreshGroups()
-{
- TStringVector aVector;
-
- WpADOGroups aGroups = m_aCatalog.get_Groups();
- aGroups.fillElementNames(aVector);
-
- if(m_pGroups)
- m_pGroups->reFill(aVector);
- else
- m_pGroups = new OGroups(this,m_aMutex,aVector,aGroups,m_pConnection->getMetaData()->supportsMixedCaseQuotedIdentifiers());
-}
-// -------------------------------------------------------------------------
-void OCatalog::refreshUsers()
-{
- TStringVector aVector;
-
- WpADOUsers aUsers = m_aCatalog.get_Users();
- aUsers.fillElementNames(aVector);
-
- if(m_pUsers)
- m_pUsers->reFill(aVector);
- else
- m_pUsers = new OUsers(this,m_aMutex,aVector,aUsers,m_pConnection->getMetaData()->supportsMixedCaseQuotedIdentifiers());
-}
-// -------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AColumn.cxx b/connectivity/source/drivers/ado/AColumn.cxx
deleted file mode 100644
index 2a6ae71bed..0000000000
--- a/connectivity/source/drivers/ado/AColumn.cxx
+++ /dev/null
@@ -1,307 +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 "ado/AColumn.hxx"
-#include "ado/AConnection.hxx"
-#include "ado/Awrapado.hxx"
-#include <cppuhelper/typeprovider.hxx>
-#include <comphelper/sequence.hxx>
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include <comphelper/extract.hxx>
-#include <comphelper/types.hxx>
-#include "ado/ACatalog.hxx"
-
-#include <o3tl/compat_functional.hxx>
-
-using namespace ::comphelper;
-
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-
-void WpADOColumn::Create()
-{
- HRESULT hr = -1;
-
- _ADOColumn* pColumn = NULL;
- hr = CoCreateInstance(ADOS::CLSID_ADOCOLUMN_25,
- NULL,
- CLSCTX_INPROC_SERVER,
- ADOS::IID_ADOCOLUMN_25,
- (void**)&pColumn );
-
-
- if( !FAILED( hr ) )
- {
- operator=( pColumn );
- pColumn->Release( );
- }
-}
-// -------------------------------------------------------------------------
-OAdoColumn::OAdoColumn(sal_Bool _bCase,OConnection* _pConnection,_ADOColumn* _pColumn)
- : connectivity::sdbcx::OColumn(::rtl::OUString(),::rtl::OUString(),::rtl::OUString(),::rtl::OUString(),0,0,0,0,sal_False,sal_False,sal_False,_bCase)
- ,m_pConnection(_pConnection)
-{
- construct();
- OSL_ENSURE(_pColumn,"Column can not be null!");
- m_aColumn = WpADOColumn(_pColumn);
- // m_aColumn.put_ParentCatalog(_pConnection->getAdoCatalog()->getCatalog());
- fillPropertyValues();
-}
-// -------------------------------------------------------------------------
-OAdoColumn::OAdoColumn(sal_Bool _bCase,OConnection* _pConnection)
- : connectivity::sdbcx::OColumn(_bCase)
- ,m_pConnection(_pConnection)
-{
- m_aColumn.Create();
- m_aColumn.put_ParentCatalog(_pConnection->getAdoCatalog()->getCatalog());
- construct();
- fillPropertyValues();
- m_Type = DataType::OTHER;
-}
-
-//--------------------------------------------------------------------------
-Sequence< sal_Int8 > OAdoColumn::getUnoTunnelImplementationId()
-{
- static ::cppu::OImplementationId * pId = 0;
- if (! pId)
- {
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if (! pId)
- {
- static ::cppu::OImplementationId aId;
- pId = &aId;
- }
- }
- return pId->getImplementationId();
-}
-
-// com::sun::star::lang::XUnoTunnel
-//------------------------------------------------------------------
-sal_Int64 OAdoColumn::getSomething( const Sequence< sal_Int8 > & rId ) throw (RuntimeException)
-{
- return (rId.getLength() == 16 && 0 == rtl_compareMemory(getUnoTunnelImplementationId().getConstArray(), rId.getConstArray(), 16 ) )
- ? reinterpret_cast< sal_Int64 >( this )
- : OColumn_ADO::getSomething(rId);
-}
-// -------------------------------------------------------------------------
-void OAdoColumn::construct()
-{
- sal_Int32 nAttrib = isNew() ? 0 : PropertyAttribute::READONLY;
-
- registerProperty(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISASCENDING), PROPERTY_ID_ISASCENDING, nAttrib,&m_IsAscending, ::getBooleanCppuType());
- registerProperty(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_RELATEDCOLUMN), PROPERTY_ID_RELATEDCOLUMN, nAttrib,&m_ReferencedColumn, ::getCppuType(reinterpret_cast< ::rtl::OUString*>(NULL)));
-}
-// -----------------------------------------------------------------------------
-void OAdoColumn::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const Any& rValue)throw (Exception)
-{
- if(m_aColumn.IsValid())
- {
- const sal_Char* pAdoPropertyName = NULL;
-
- switch(nHandle)
- {
- case PROPERTY_ID_ISASCENDING:
- m_aColumn.put_SortOrder(::cppu::any2bool(rValue) ? adSortAscending : adSortDescending);
- break;
- case PROPERTY_ID_RELATEDCOLUMN:
- {
- ::rtl::OUString aVal;
- rValue >>= aVal;
- m_aColumn.put_RelatedColumn(aVal);
- }
- break;
- case PROPERTY_ID_NAME:
- {
- ::rtl::OUString aVal;
- rValue >>= aVal;
- m_aColumn.put_Name(aVal);
- }
- break;
- case PROPERTY_ID_TYPE:
- {
- sal_Int32 nVal=0;
- rValue >>= nVal;
- m_aColumn.put_Type(ADOS::MapJdbc2ADOType(nVal,m_pConnection->getEngineType()));
- }
- break;
- case PROPERTY_ID_TYPENAME:
- // rValue <<= m_pTable->getCatalog()->getConnection()->getTypeInfo()->find();
- break;
- case PROPERTY_ID_PRECISION:
- {
- sal_Int32 nVal=0;
- rValue >>= nVal;
- m_aColumn.put_Precision(nVal);
- }
- break;
- case PROPERTY_ID_SCALE:
- {
- sal_Int32 nVal=0;
- rValue >>= nVal;
- if ( !m_IsCurrency )
- m_aColumn.put_NumericScale((sal_Int8)nVal);
- }
- break;
- case PROPERTY_ID_ISNULLABLE:
- {
- sal_Int32 nVal=0;
- rValue >>= nVal;
- if ( nVal == ColumnValue::NULLABLE )
- m_aColumn.put_Attributes( adColNullable );
- }
- break;
- case PROPERTY_ID_ISROWVERSION:
- break;
-
- case PROPERTY_ID_ISAUTOINCREMENT:
- OTools::putValue( m_aColumn.get_Properties(), ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Autoincrement" )), getBOOL( rValue ) );
- break;
-
- case PROPERTY_ID_IM001:
- case PROPERTY_ID_DESCRIPTION:
- pAdoPropertyName = "Description";
- break;
-
- case PROPERTY_ID_DEFAULTVALUE:
- pAdoPropertyName = "Default";
- break;
- }
-
- if ( pAdoPropertyName )
- OTools::putValue( m_aColumn.get_Properties(), ::rtl::OUString::createFromAscii( pAdoPropertyName ), getString( rValue ) );
- }
- OColumn_ADO::setFastPropertyValue_NoBroadcast(nHandle,rValue);
-}
-// -----------------------------------------------------------------------------
-void OAdoColumn::fillPropertyValues()
-{
- if(m_aColumn.IsValid())
- {
- m_IsAscending = m_aColumn.get_SortOrder() == adSortAscending;
- m_ReferencedColumn = m_aColumn.get_RelatedColumn();
- m_Name = m_aColumn.get_Name();
- m_Precision = m_aColumn.get_Precision();
- m_Scale = m_aColumn.get_NumericScale();
- m_IsNullable = ((m_aColumn.get_Attributes() & adColNullable) == adColNullable) ? ColumnValue::NULLABLE : ColumnValue::NO_NULLS;
-
- DataTypeEnum eType = m_aColumn.get_Type();
- m_IsCurrency = (eType == adCurrency);
- if ( m_IsCurrency && !m_Scale)
- m_Scale = 4;
- m_Type = ADOS::MapADOType2Jdbc(eType);
-
- sal_Bool bForceTo = sal_True;
- const OTypeInfoMap* pTypeInfoMap = m_pConnection->getTypeInfo();
- const OExtendedTypeInfo* pTypeInfo = OConnection::getTypeInfoFromType(*m_pConnection->getTypeInfo(),eType,::rtl::OUString(),m_Precision,m_Scale,bForceTo);
- if ( pTypeInfo )
- m_TypeName = pTypeInfo->aSimpleType.aTypeName;
- else if ( eType == adVarBinary && ADOS::isJetEngine(m_pConnection->getEngineType()) )
- {
- ::comphelper::TStringMixEqualFunctor aCase(sal_False);
- OTypeInfoMap::const_iterator aFind = ::std::find_if(pTypeInfoMap->begin(),
- pTypeInfoMap->end(),
- ::o3tl::compose1(
- ::std::bind2nd(aCase, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VarBinary"))),
- ::o3tl::compose1(
- ::std::mem_fun(&OExtendedTypeInfo::getDBName),
- ::o3tl::select2nd<OTypeInfoMap::value_type>())
- )
-
- );
-
- if ( aFind != pTypeInfoMap->end() ) // change column type if necessary
- {
- eType = aFind->first;
- pTypeInfo = aFind->second;
- }
-
- if ( !pTypeInfo )
- {
- pTypeInfo = OConnection::getTypeInfoFromType(*m_pConnection->getTypeInfo(),adBinary,::rtl::OUString(),m_Precision,m_Scale,bForceTo);
- eType = adBinary;
- }
-
- if ( pTypeInfo )
- {
- m_TypeName = pTypeInfo->aSimpleType.aTypeName;
- m_Type = ADOS::MapADOType2Jdbc(eType);
- }
- }
-
-
- // fill some specific props
- {
- WpADOProperties aProps( m_aColumn.get_Properties() );
-
- if ( aProps.IsValid() )
- {
- m_IsAutoIncrement = OTools::getValue( aProps, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Autoincrement")) );
-
- m_Description = OTools::getValue( aProps, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Description")) );
-
- m_DefaultValue = OTools::getValue( aProps, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Default")) );
-
-#if OSL_DEBUG_LEVEL > 0
- sal_Int32 nCount = aProps.GetItemCount();
- for (sal_Int32 i = 0; i<nCount; ++i)
- {
- WpADOProperty aProp = aProps.GetItem(i);
- ::rtl::OUString sName = aProp.GetName();
- ::rtl::OUString sVal = aProp.GetValue();
- }
-#endif
- }
- }
- }
-}
-// -----------------------------------------------------------------------------
-WpADOColumn OAdoColumn::getColumnImpl() const
-{
- return m_aColumn;
-}
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoColumn::acquire() throw()
-{
- OColumn_ADO::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoColumn::release() throw()
-{
- OColumn_ADO::release();
-}
-// -----------------------------------------------------------------------------
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AColumns.cxx b/connectivity/source/drivers/ado/AColumns.cxx
deleted file mode 100644
index c3187fd196..0000000000
--- a/connectivity/source/drivers/ado/AColumns.cxx
+++ /dev/null
@@ -1,150 +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 "ado/AColumns.hxx"
-#include "ado/AColumn.hxx"
-#include "ado/AConnection.hxx"
-#include "ado/Awrapado.hxx"
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <com/sun/star/sdbc/DataType.hpp>
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include <comphelper/property.hxx>
-#include <comphelper/types.hxx>
-#include <connectivity/dbexception.hxx>
-#include <algorithm>
-#include "resource/ado_res.hrc"
-
-#include <o3tl/compat_functional.hxx>
-
-using namespace connectivity::ado;
-using namespace connectivity;
-using namespace comphelper;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::container;
-
-sdbcx::ObjectType OColumns::createObject(const ::rtl::OUString& _rName)
-{
- return new OAdoColumn(isCaseSensitive(),m_pConnection,m_aCollection.GetItem(_rName));
-}
-
-// -------------------------------------------------------------------------
-void OColumns::impl_refresh() throw(RuntimeException)
-{
- m_aCollection.Refresh();
-}
-// -------------------------------------------------------------------------
-Reference< XPropertySet > OColumns::createDescriptor()
-{
- return new OAdoColumn(isCaseSensitive(),m_pConnection);
-}
-// -------------------------------------------------------------------------
-// XAppend
-sdbcx::ObjectType OColumns::appendObject( const ::rtl::OUString&, const Reference< XPropertySet >& descriptor )
-{
- OAdoColumn* pColumn = NULL;
- Reference< XPropertySet > xColumn;
- if ( !getImplementation( pColumn, descriptor ) || pColumn == NULL )
- {
- // m_pConnection->throwGenericSQLException( STR_INVALID_COLUMN_DESCRIPTOR_ERROR,static_cast<XTypeProvider*>(this) );
- pColumn = new OAdoColumn(isCaseSensitive(),m_pConnection);
- xColumn = pColumn;
- ::comphelper::copyProperties(descriptor,xColumn);
- }
-
- WpADOColumn aColumn = pColumn->getColumnImpl();
-
-#if OSL_DEBUG_LEVEL > 0
- sal_Int32 nPrecision;
- sal_Int32 nScale;
- sal_Int32 nType;
- nPrecision = aColumn.get_Precision();
- nScale = aColumn.get_NumericScale();
- nType = ADOS::MapADOType2Jdbc(aColumn.get_Type());
-#endif
-
- ::rtl::OUString sTypeName;
- pColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPENAME)) >>= sTypeName;
-
- const OTypeInfoMap* pTypeInfoMap = m_pConnection->getTypeInfo();
- ::comphelper::TStringMixEqualFunctor aCase(sal_False);
- // search for typeinfo where the typename is equal sTypeName
- OTypeInfoMap::const_iterator aFind = ::std::find_if(pTypeInfoMap->begin(),
- pTypeInfoMap->end(),
- ::o3tl::compose1(
- ::std::bind2nd(aCase, sTypeName),
- ::o3tl::compose1(
- ::std::mem_fun(&OExtendedTypeInfo::getDBName),
- ::o3tl::select2nd<OTypeInfoMap::value_type>())
- )
-
- );
-
- if ( aFind != pTypeInfoMap->end() ) // change column type if necessary
- aColumn.put_Type(aFind->first);
-
- if ( SUCCEEDED(((ADOColumns*)m_aCollection)->Append(OLEVariant(aColumn.get_Name()),aColumn.get_Type(),aColumn.get_DefinedSize())) )
- {
- WpADOColumn aAddedColumn = m_aCollection.GetItem(OLEVariant(aColumn.get_Name()));
- if ( aAddedColumn.IsValid() )
- {
- sal_Bool bAutoIncrement = sal_False;
- pColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISAUTOINCREMENT)) >>= bAutoIncrement;
- if ( bAutoIncrement )
- OTools::putValue( aAddedColumn.get_Properties(), ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Autoincrement")), bAutoIncrement );
-
- if ( aFind != pTypeInfoMap->end() && aColumn.get_Type() != aAddedColumn.get_Type() ) // change column type if necessary
- aColumn.put_Type(aFind->first);
- aAddedColumn.put_Precision(aColumn.get_Precision());
- aAddedColumn.put_NumericScale(aColumn.get_NumericScale());
- aAddedColumn.put_Attributes(aColumn.get_Attributes());
- aAddedColumn.put_SortOrder(aColumn.get_SortOrder());
- aAddedColumn.put_RelatedColumn(aColumn.get_RelatedColumn());
- }
- }
- ADOS::ThrowException(*m_pConnection->getConnection(),static_cast<XTypeProvider*>(this));
-
- return new OAdoColumn(isCaseSensitive(),m_pConnection,pColumn->getColumnImpl());
-}
-// -------------------------------------------------------------------------
-// XDrop
-void OColumns::dropObject(sal_Int32 /*_nPos*/,const ::rtl::OUString _sElementName)
-{
- if(!m_aCollection.Delete(_sElementName))
- ADOS::ThrowException(*m_pConnection->getConnection(),static_cast<XTypeProvider*>(this));
-}
-// -----------------------------------------------------------------------------
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AConnection.cxx b/connectivity/source/drivers/ado/AConnection.cxx
deleted file mode 100644
index 82d28617bd..0000000000
--- a/connectivity/source/drivers/ado/AConnection.cxx
+++ /dev/null
@@ -1,633 +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 "ado/AConnection.hxx"
-#include "ado/ADatabaseMetaData.hxx"
-#include "ado/ADriver.hxx"
-#include "ado/AStatement.hxx"
-#include "ado/ACallableStatement.hxx"
-#include "ado/APreparedStatement.hxx"
-#include "ado/ACatalog.hxx"
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include <com/sun/star/sdbc/TransactionIsolation.hpp>
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/lang/DisposedException.hpp>
-#include <cppuhelper/typeprovider.hxx>
-#include "connectivity/dbexception.hxx"
-#include <osl/file.hxx>
-#include "resource/ado_res.hrc"
-
-#include <o3tl/compat_functional.hxx>
-
-using namespace dbtools;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::sdbcx;
-
-//------------------------------------------------------------------------------
-IMPLEMENT_SERVICE_INFO(OConnection,"com.sun.star.sdbcx.AConnection","com.sun.star.sdbc.Connection");
-// --------------------------------------------------------------------------------
-OConnection::OConnection(ODriver* _pDriver) throw(SQLException, RuntimeException)
- : OSubComponent<OConnection, OConnection_BASE>((::cppu::OWeakObject*)_pDriver, this),
- m_bClosed(sal_False),
- m_xCatalog(NULL),
- m_pDriver(_pDriver),
- m_pAdoConnection(NULL),
- m_bAutocommit(sal_True),
- m_nEngineType(0),
- m_pCatalog(NULL)
-{
- osl_incrementInterlockedCount( &m_refCount );
-
- IClassFactory2* pIUnknown = NULL;
- IUnknown *pOuter = NULL;
- HRESULT hr;
- hr = CoGetClassObject( ADOS::CLSID_ADOCONNECTION_21,
- CLSCTX_INPROC_SERVER,
- NULL,
- IID_IClassFactory2,
- (void**)&pIUnknown );
-
- if( !FAILED( hr ) )
- {
- ADOConnection *pCon = NULL;
- hr = pIUnknown->CreateInstanceLic( pOuter,
- NULL,
- ADOS::IID_ADOCONNECTION_21,
- ADOS::GetKeyStr(),
- (void**) &pCon);
-
- if( !FAILED( hr ) )
- {
- OSL_ENSURE( pCon, "OConnection::OConnection: invalid ADO object!" );
-
- m_pAdoConnection = new WpADOConnection( pCon );
- // CreateInstanceLic returned an object which was already acquired
- pCon->Release( );
-
- }
-
- // Class Factory is no longer needed
- pIUnknown->Release();
- }
-
- osl_decrementInterlockedCount( &m_refCount );
-}
-//-----------------------------------------------------------------------------
-OConnection::~OConnection()
-{
-}
-//-----------------------------------------------------------------------------
-void OConnection::construct(const ::rtl::OUString& url,const Sequence< PropertyValue >& info)
-{
- osl_incrementInterlockedCount( &m_refCount );
-
- setConnectionInfo(info);
-
- sal_Int32 nLen = url.indexOf(':');
- nLen = url.indexOf(':',nLen+1);
- ::rtl::OUString aDSN(url.copy(nLen+1)),aUID,aPWD;
- if ( aDSN.compareToAscii("access:",7) == 0 )
- aDSN = aDSN.copy(7);
-
- sal_Int32 nTimeout = 20;
- sal_Bool bSilent = sal_True;
- const PropertyValue *pIter = info.getConstArray();
- const PropertyValue *pEnd = pIter + info.getLength();
- for(;pIter != pEnd;++pIter)
- {
- if(!pIter->Name.compareToAscii("Timeout"))
- pIter->Value >>= nTimeout;
- else if(!pIter->Name.compareToAscii("Silent"))
- pIter->Value >>= bSilent;
- else if(!pIter->Name.compareToAscii("user"))
- pIter->Value >>= aUID;
- else if(!pIter->Name.compareToAscii("password"))
- pIter->Value >>= aPWD;
- }
- try
- {
- if(m_pAdoConnection)
- {
- if(m_pAdoConnection->Open(aDSN,aUID,aPWD,adConnectUnspecified))
- m_pAdoConnection->PutCommandTimeout(nTimeout);
- else
- ADOS::ThrowException(*m_pAdoConnection,*this);
- if(m_pAdoConnection->get_State() != adStateOpen)
- throwGenericSQLException( STR_NO_CONNECTION,*this );
-
- WpADOProperties aProps = m_pAdoConnection->get_Properties();
- if(aProps.IsValid())
- {
- OTools::putValue(aProps,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Jet OLEDB:ODBC Parsing")),sal_True);
- OLEVariant aVar(OTools::getValue(aProps,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Jet OLEDB:Engine Type"))));
- if(!aVar.isNull() && !aVar.isEmpty())
- m_nEngineType = aVar;
- }
- buildTypeInfo();
- //bErg = TRUE;
- }
- else
- ::dbtools::throwFunctionSequenceException(*this);
-
- }
- catch(const Exception& )
- {
- osl_decrementInterlockedCount( &m_refCount );
- throw;
- }
- osl_decrementInterlockedCount( &m_refCount );
-}
-//-----------------------------------------------------------------------------
-void SAL_CALL OConnection::release() throw()
-{
- relase_ChildImpl();
-}
-// --------------------------------------------------------------------------------
-Reference< XStatement > SAL_CALL OConnection::createStatement( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
- OStatement* pStmt = new OStatement(this);
- Reference< XStatement > xStmt = pStmt;
- m_aStatements.push_back(WeakReferenceHelper(*pStmt));
- return pStmt;
-}
-// --------------------------------------------------------------------------------
-Reference< XPreparedStatement > SAL_CALL OConnection::prepareStatement( const ::rtl::OUString& sql ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- OPreparedStatement* pStmt = new OPreparedStatement(this,m_aTypeInfo,sql);
- Reference< XPreparedStatement > xPStmt = pStmt;
- m_aStatements.push_back(WeakReferenceHelper(*pStmt));
- return xPStmt;
-}
-// --------------------------------------------------------------------------------
-Reference< XPreparedStatement > SAL_CALL OConnection::prepareCall( const ::rtl::OUString& sql ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- OCallableStatement* pStmt = new OCallableStatement(this,m_aTypeInfo,sql);
- Reference< XPreparedStatement > xPStmt = pStmt;
- m_aStatements.push_back(WeakReferenceHelper(*pStmt));
- return xPStmt;
-}
-// --------------------------------------------------------------------------------
-::rtl::OUString SAL_CALL OConnection::nativeSQL( const ::rtl::OUString& _sql ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- ::rtl::OUString sql = _sql;
- WpADOProperties aProps = m_pAdoConnection->get_Properties();
- if(aProps.IsValid())
- {
- OTools::putValue(aProps,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Jet OLEDB:ODBC Parsing")),sal_True);
- WpADOCommand aCommand;
- aCommand.Create();
- aCommand.put_ActiveConnection((IDispatch*)*m_pAdoConnection);
- aCommand.put_CommandText(sql);
- sql = aCommand.get_CommandText();
- }
-
- return sql;
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL OConnection::setAutoCommit( sal_Bool autoCommit ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- m_bAutocommit = autoCommit;
- if(!autoCommit)
- m_pAdoConnection->BeginTrans();
- else
- m_pAdoConnection->RollbackTrans();
-}
-// --------------------------------------------------------------------------------
-sal_Bool SAL_CALL OConnection::getAutoCommit( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- return m_bAutocommit;
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL OConnection::commit( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- m_pAdoConnection->CommitTrans();
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL OConnection::rollback( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- m_pAdoConnection->RollbackTrans();
-}
-// --------------------------------------------------------------------------------
-sal_Bool SAL_CALL OConnection::isClosed( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
-
- return OConnection_BASE::rBHelper.bDisposed && !m_pAdoConnection->get_State();
-}
-// --------------------------------------------------------------------------------
-Reference< XDatabaseMetaData > SAL_CALL OConnection::getMetaData( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- Reference< XDatabaseMetaData > xMetaData = m_xMetaData;
- if(!xMetaData.is())
- {
- xMetaData = new ODatabaseMetaData(this);
- m_xMetaData = xMetaData;
- }
-
- return xMetaData;
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL OConnection::setReadOnly( sal_Bool readOnly ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
-
- m_pAdoConnection->put_Mode(readOnly ? adModeRead : adModeReadWrite);
- ADOS::ThrowException(*m_pAdoConnection,*this);
-}
-// --------------------------------------------------------------------------------
-sal_Bool SAL_CALL OConnection::isReadOnly( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- return m_pAdoConnection->get_Mode() == adModeRead;
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL OConnection::setCatalog( const ::rtl::OUString& catalog ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
- m_pAdoConnection->PutDefaultDatabase(catalog);
- ADOS::ThrowException(*m_pAdoConnection,*this);
-}
-// --------------------------------------------------------------------------------
-::rtl::OUString SAL_CALL OConnection::getCatalog( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
- return m_pAdoConnection->GetDefaultDatabase();
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL OConnection::setTransactionIsolation( sal_Int32 level ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- IsolationLevelEnum eIso;
- switch(level)
- {
- case TransactionIsolation::NONE:
- eIso = adXactUnspecified;
- break;
- case TransactionIsolation::READ_UNCOMMITTED:
- eIso = adXactReadUncommitted;
- break;
- case TransactionIsolation::READ_COMMITTED:
- eIso = adXactReadCommitted;
- break;
- case TransactionIsolation::REPEATABLE_READ:
- eIso = adXactRepeatableRead;
- break;
- case TransactionIsolation::SERIALIZABLE:
- eIso = adXactSerializable;
- break;
- default:
- OSL_FAIL("OConnection::setTransactionIsolation invalid level");
- return;
- }
- m_pAdoConnection->put_IsolationLevel(eIso);
- ADOS::ThrowException(*m_pAdoConnection,*this);
-}
-// --------------------------------------------------------------------------------
-sal_Int32 SAL_CALL OConnection::getTransactionIsolation( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- sal_Int32 nRet = 0;
- switch(m_pAdoConnection->get_IsolationLevel())
- {
- case adXactUnspecified:
- nRet = TransactionIsolation::NONE;
- break;
- case adXactReadUncommitted:
- nRet = TransactionIsolation::READ_UNCOMMITTED;
- break;
- case adXactReadCommitted:
- nRet = TransactionIsolation::READ_COMMITTED;
- break;
- case adXactRepeatableRead:
- nRet = TransactionIsolation::REPEATABLE_READ;
- break;
- case adXactSerializable:
- nRet = TransactionIsolation::SERIALIZABLE;
- break;
- default:
- OSL_FAIL("OConnection::setTransactionIsolation invalid level");
- }
- ADOS::ThrowException(*m_pAdoConnection,*this);
- return nRet;
-}
-// --------------------------------------------------------------------------------
-Reference< ::com::sun::star::container::XNameAccess > SAL_CALL OConnection::getTypeMap( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
-
- return NULL;
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL OConnection::setTypeMap( const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XConnection::setTypeMap", *this );
-}
-// --------------------------------------------------------------------------------
-// XCloseable
-void SAL_CALL OConnection::close( ) throw(SQLException, RuntimeException)
-{
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OConnection_BASE::rBHelper.bDisposed);
-
- }
- dispose();
-}
-// --------------------------------------------------------------------------------
-// XWarningsSupplier
-Any SAL_CALL OConnection::getWarnings( ) throw(SQLException, RuntimeException)
-{
- return Any();
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL OConnection::clearWarnings( ) throw(SQLException, RuntimeException)
-{
-}
-//--------------------------------------------------------------------
-void OConnection::buildTypeInfo() throw( SQLException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
-
- ADORecordset *pRecordset = m_pAdoConnection->getTypeInfo();
- if ( pRecordset )
- {
- pRecordset->AddRef();
- VARIANT_BOOL bIsAtBOF;
- pRecordset->get_BOF(&bIsAtBOF);
-
- sal_Bool bOk = sal_True;
- if ( bIsAtBOF == VARIANT_TRUE )
- bOk = SUCCEEDED(pRecordset->MoveNext());
-
- if ( bOk )
- {
- // HACK for access
- static const ::rtl::OUString s_sVarChar(RTL_CONSTASCII_USTRINGPARAM("VarChar"));
- do
- {
- sal_Int32 nPos = 1;
- OExtendedTypeInfo* aInfo = new OExtendedTypeInfo();
- aInfo->aSimpleType.aTypeName = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->eType = (DataTypeEnum)(sal_Int32)ADOS::getField(pRecordset,nPos++).get_Value();
- if ( aInfo->eType == adWChar && aInfo->aSimpleType.aTypeName == s_sVarChar )
- aInfo->eType = adVarWChar;
- aInfo->aSimpleType.nType = (sal_Int16)ADOS::MapADOType2Jdbc(static_cast<DataTypeEnum>(aInfo->eType));
- aInfo->aSimpleType.nPrecision = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.aLiteralPrefix = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.aLiteralSuffix = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.aCreateParams = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.bNullable = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.bCaseSensitive = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.nSearchType = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.bUnsigned = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.bCurrency = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.bAutoIncrement = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.aLocalTypeName = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.nMinimumScale = ADOS::getField(pRecordset,nPos++).get_Value();
- aInfo->aSimpleType.nMaximumScale = ADOS::getField(pRecordset,nPos++).get_Value();
- if ( adCurrency == aInfo->eType && !aInfo->aSimpleType.nMaximumScale)
- {
- aInfo->aSimpleType.nMinimumScale = 4;
- aInfo->aSimpleType.nMaximumScale = 4;
- }
- aInfo->aSimpleType.nNumPrecRadix = ADOS::getField(pRecordset,nPos++).get_Value();
- // Now that we have the type info, save it
- // in the Hashtable if we don't already have an
- // entry for this SQL type.
-
- m_aTypeInfo.insert(OTypeInfoMap::value_type(aInfo->eType,aInfo));
- }
- while ( SUCCEEDED(pRecordset->MoveNext()) );
- }
- pRecordset->Release();
- }
-}
-//------------------------------------------------------------------------------
-void OConnection::disposing()
-{
- ::osl::MutexGuard aGuard(m_aMutex);
-
- OConnection_BASE::disposing();
-
- m_bClosed = sal_True;
- m_xMetaData = ::com::sun::star::uno::WeakReference< ::com::sun::star::sdbc::XDatabaseMetaData>();
- m_xCatalog = ::com::sun::star::uno::WeakReference< ::com::sun::star::sdbcx::XTablesSupplier>();
- m_pDriver = NULL;
-
- m_pAdoConnection->Close();
-
- OTypeInfoMap::iterator aIter = m_aTypeInfo.begin();
- for (; aIter != m_aTypeInfo.end(); ++aIter)
- delete aIter->second;
-
- m_aTypeInfo.clear();
-
- delete m_pAdoConnection;
- m_pAdoConnection = NULL;
-
- dispose_ChildImpl();
-}
-// -----------------------------------------------------------------------------
-sal_Int64 SAL_CALL OConnection::getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rId ) throw (::com::sun::star::uno::RuntimeException)
-{
- return (rId.getLength() == 16 && 0 == rtl_compareMemory(getUnoTunnelImplementationId().getConstArray(), rId.getConstArray(), 16 ) )
- ?
- reinterpret_cast< sal_Int64 >( this )
- :
- OConnection_BASE::getSomething(rId);
-}
-// -----------------------------------------------------------------------------
-Sequence< sal_Int8 > OConnection::getUnoTunnelImplementationId()
-{
- static ::cppu::OImplementationId * pId = 0;
- if (! pId)
- {
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if (! pId)
- {
- static ::cppu::OImplementationId aId;
- pId = &aId;
- }
- }
- return pId->getImplementationId();
-}
-// -----------------------------------------------------------------------------
-const OExtendedTypeInfo* OConnection::getTypeInfoFromType(const OTypeInfoMap& _rTypeInfo,
- DataTypeEnum _nType,
- const ::rtl::OUString& _sTypeName,
- sal_Int32 _nPrecision,
- sal_Int32 _nScale,
- sal_Bool& _brForceToType)
-{
- const OExtendedTypeInfo* pTypeInfo = NULL;
- _brForceToType = sal_False;
- // search for type
- ::std::pair<OTypeInfoMap::const_iterator, OTypeInfoMap::const_iterator> aPair = _rTypeInfo.equal_range(_nType);
- OTypeInfoMap::const_iterator aIter = aPair.first;
- if(aIter != _rTypeInfo.end()) // compare with end is correct here
- {
- for(;aIter != aPair.second;++aIter)
- {
- // search the best matching type
- OExtendedTypeInfo* pInfo = aIter->second;
- #ifdef DBG_UTIL
- ::rtl::OUString sDBTypeName = pInfo->aSimpleType.aTypeName;
- sal_Int32 nDBTypePrecision = pInfo->aSimpleType.nPrecision; (void)nDBTypePrecision;
- sal_Int32 nDBTypeScale = pInfo->aSimpleType.nMaximumScale; (void)nDBTypeScale;
- sal_Int32 nAdoType = pInfo->eType; (void)nAdoType;
- #endif
- if ( ( !_sTypeName.getLength()
- || (pInfo->aSimpleType.aTypeName.equalsIgnoreAsciiCase(_sTypeName))
- )
- && (pInfo->aSimpleType.nPrecision >= _nPrecision)
- && (pInfo->aSimpleType.nMaximumScale >= _nScale)
-
- )
- break;
- }
-
- if (aIter == aPair.second)
- {
- for(aIter = aPair.first; aIter != aPair.second; ++aIter)
- {
- // search the best matching type (now comparing the local names)
- if ( (aIter->second->aSimpleType.aLocalTypeName.equalsIgnoreAsciiCase(_sTypeName))
- && (aIter->second->aSimpleType.nPrecision >= _nPrecision)
- && (aIter->second->aSimpleType.nMaximumScale >= _nScale)
- )
- {
-// we can not assert here because we could be in d&d
-/*
- OSL_FAIL(( ::rtl::OString("getTypeInfoFromType: assuming column type ")
- += ::rtl::OString(aIter->second->aTypeName.getStr(), aIter->second->aTypeName.getLength(), gsl_getSystemTextEncoding())
- += ::rtl::OString("\" (expected type name ")
- += ::rtl::OString(_sTypeName.getStr(), _sTypeName.getLength(), gsl_getSystemTextEncoding())
- += ::rtl::OString(" matches the type's local name).")).getStr());
-*/
- break;
- }
- }
- }
-
- if (aIter == aPair.second)
- { // no match for the names, no match for the local names
- // -> drop the precision and the scale restriction, accept any type with the property
- // type id (nType)
-
- // we can not assert here because we could be in d&d
- pTypeInfo = aPair.first->second;
- _brForceToType = sal_True;
- }
- else
- pTypeInfo = aIter->second;
- }
- else if ( _sTypeName.getLength() )
- {
- ::comphelper::TStringMixEqualFunctor aCase(sal_False);
- // search for typeinfo where the typename is equal _sTypeName
- OTypeInfoMap::const_iterator aFind = ::std::find_if(_rTypeInfo.begin(),
- _rTypeInfo.end(),
- ::o3tl::compose1(
- ::std::bind2nd(aCase, _sTypeName),
- ::o3tl::compose1(
- ::std::mem_fun(&OExtendedTypeInfo::getDBName),
- ::o3tl::select2nd<OTypeInfoMap::value_type>())
- )
- );
- if(aFind != _rTypeInfo.end())
- pTypeInfo = aFind->second;
- }
-
-// we can not assert here because we could be in d&d
-// OSL_ENSURE(pTypeInfo, "getTypeInfoFromType: no type info found for this type!");
- return pTypeInfo;
-}
-// -----------------------------------------------------------------------------
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/ADatabaseMetaData.cxx b/connectivity/source/drivers/ado/ADatabaseMetaData.cxx
deleted file mode 100644
index c714660c97..0000000000
--- a/connectivity/source/drivers/ado/ADatabaseMetaData.cxx
+++ /dev/null
@@ -1,1086 +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 "ado/ADatabaseMetaData.hxx"
-#include "ado/ADatabaseMetaDataResultSet.hxx"
-#include <com/sun/star/sdbc/DataType.hpp>
-#include <com/sun/star/sdbc/ResultSetType.hpp>
-#include <com/sun/star/sdbc/ResultSetConcurrency.hpp>
-#include <com/sun/star/sdbc/TransactionIsolation.hpp>
-#include "ado/AConnection.hxx"
-#include "ado/adoimp.hxx"
-#include "FDatabaseMetaDataResultSet.hxx"
-#include <comphelper/types.hxx>
-#include <connectivity/dbexception.hxx>
-
-using namespace ::comphelper;
-
-using namespace connectivity;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-
-
-ODatabaseMetaData::ODatabaseMetaData(OConnection* _pCon)
- : ::connectivity::ODatabaseMetaDataBase(_pCon,_pCon->getConnectionInfo())
- ,m_pADOConnection(_pCon->getConnection())
- ,m_pConnection(_pCon)
-{
-}
-// -------------------------------------------------------------------------
-sal_Int32 ODatabaseMetaData::getInt32Property(const ::rtl::OUString& _aProperty) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- connectivity::ado::WpADOProperties aProps(m_pADOConnection->get_Properties());
- // ADOS::ThrowException(*m_pADOConnection,*this);
- OSL_ENSURE(aProps.IsValid(),"There are no properties at the connection");
- ADO_PROP(_aProperty);
- sal_Int32 nValue(0);
- if(!aVar.isNull() && !aVar.isEmpty())
- nValue = aVar;
- return nValue;
-}
-
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaData::getBoolProperty(const ::rtl::OUString& _aProperty) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- connectivity::ado::WpADOProperties aProps(m_pADOConnection->get_Properties());
- ADOS::ThrowException(*m_pADOConnection,*this);
- OSL_ENSURE(aProps.IsValid(),"There are no properties at the connection");
- ADO_PROP(_aProperty);
- return (!aVar.isNull() && !aVar.isEmpty() ? aVar.getBool() : sal_False);
-}
-// -------------------------------------------------------------------------
-::rtl::OUString ODatabaseMetaData::getStringProperty(const ::rtl::OUString& _aProperty) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- connectivity::ado::WpADOProperties aProps(m_pADOConnection->get_Properties());
- ADOS::ThrowException(*m_pADOConnection,*this);
- OSL_ENSURE(aProps.IsValid(),"There are no properties at the connection");
-
- ADO_PROP(_aProperty);
- ::rtl::OUString aValue;
- if(!aVar.isNull() && !aVar.isEmpty() && aVar.getType() == VT_BSTR)
- aValue = aVar;
-
- return aValue;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > ODatabaseMetaData::impl_getTypeInfo_throw( )
-{
- ADORecordset *pRecordset = m_pADOConnection->getTypeInfo();
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setTypeInfoMap(ADOS::isJetEngine(m_pConnection->getEngineType()));
- Reference< XResultSet > xRef = pResult;
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getCatalogs( ) throw(SQLException, RuntimeException)
-{
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- ADORecordset *pRecordset = NULL;
- m_pADOConnection->OpenSchema(adSchemaCatalogs,vtEmpty,vtEmpty,&pRecordset);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setCatalogsMap();
- xRef = pResult;
-
- return xRef;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString ODatabaseMetaData::impl_getCatalogSeparator_throw( )
-{
- return getLiteral(DBLITERAL_CATALOG_SEPARATOR);
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getSchemas( ) throw(SQLException, RuntimeException)
-{
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- ADORecordset *pRecordset = NULL;
- m_pADOConnection->OpenSchema(adSchemaSchemata,vtEmpty,vtEmpty,&pRecordset);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setSchemasMap();
- xRef = pResult;
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getColumnPrivileges(
- const Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table,
- const ::rtl::OUString& columnNamePattern ) throw(SQLException, RuntimeException)
-{
- ADORecordset *pRecordset = m_pADOConnection->getColumnPrivileges(catalog,schema,table,columnNamePattern);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setColumnPrivilegesMap();
- xRef = pResult;
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getColumns(
- const Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& tableNamePattern,
- const ::rtl::OUString& columnNamePattern ) throw(SQLException, RuntimeException)
-{
- ADORecordset *pRecordset = m_pADOConnection->getColumns(catalog,schemaPattern,tableNamePattern,columnNamePattern);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setColumnsMap();
- xRef = pResult;
-
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables(
- const Any& catalog, const ::rtl::OUString& schemaPattern,
- const ::rtl::OUString& tableNamePattern, const Sequence< ::rtl::OUString >& types ) throw(SQLException, RuntimeException)
-{
- ADORecordset *pRecordset = m_pADOConnection->getTables(catalog,schemaPattern,tableNamePattern,types);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setTablesMap();
- xRef = pResult;
-
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getProcedureColumns(
- const Any& catalog, const ::rtl::OUString& schemaPattern,
- const ::rtl::OUString& procedureNamePattern, const ::rtl::OUString& columnNamePattern ) throw(SQLException, RuntimeException)
-{
- ADORecordset *pRecordset = m_pADOConnection->getProcedureColumns(catalog,schemaPattern,procedureNamePattern,columnNamePattern);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setProcedureColumnsMap();
- xRef = pResult;
-
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getProcedures(
- const Any& catalog, const ::rtl::OUString& schemaPattern,
- const ::rtl::OUString& procedureNamePattern ) throw(SQLException, RuntimeException)
-{
- // Create elements used in the array
- ADORecordset *pRecordset = m_pADOConnection->getProcedures(catalog,schemaPattern,procedureNamePattern);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setProceduresMap();
- xRef = pResult;
-
- return xRef;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxBinaryLiteralLength( ) throw(SQLException, RuntimeException)
-{
- return getMaxSize(DBLITERAL_BINARY_LITERAL);
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxRowSize( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Maximum Row Size")));
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCatalogNameLength( ) throw(SQLException, RuntimeException)
-{
- return getMaxSize(DBLITERAL_CATALOG_NAME);
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCharLiteralLength( ) throw(SQLException, RuntimeException)
-{
- return getMaxSize(DBLITERAL_CHAR_LITERAL);
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnNameLength( ) throw(SQLException, RuntimeException)
-{
- return getMaxSize(DBLITERAL_COLUMN_NAME);
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInIndex( ) throw(SQLException, RuntimeException)
-{
- return 0;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCursorNameLength( ) throw(SQLException, RuntimeException)
-{
- return getMaxSize(DBLITERAL_CURSOR_NAME);
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxConnections( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Active Sessions")));
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInTable( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Max Columns in Table")));
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxStatementLength( ) throw(SQLException, RuntimeException)
-{
- return getMaxSize(DBLITERAL_TEXT_COMMAND);
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxTableNameLength( ) throw(SQLException, RuntimeException)
-{
- return getMaxSize(DBLITERAL_TABLE_NAME);
-}
-// -------------------------------------------------------------------------
-sal_Int32 ODatabaseMetaData::impl_getMaxTablesInSelect_throw( )
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Maximum Tables in SELECT")));
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getExportedKeys(
- const Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table ) throw(SQLException, RuntimeException)
-{
- ADORecordset *pRecordset = m_pADOConnection->getExportedKeys(catalog,schema,table);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setCrossReferenceMap();
- xRef = pResult;
-
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getImportedKeys(
- const Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table ) throw(SQLException, RuntimeException)
-{
- ADORecordset *pRecordset = m_pADOConnection->getImportedKeys(catalog,schema,table);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setCrossReferenceMap();
- xRef = pResult;
-
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getPrimaryKeys(
- const Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table ) throw(SQLException, RuntimeException)
-{
- ADORecordset *pRecordset = m_pADOConnection->getPrimaryKeys(catalog,schema,table);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setPrimaryKeysMap();
- xRef = pResult;
-
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getIndexInfo(
- const Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table,
- sal_Bool unique, sal_Bool approximate ) throw(SQLException, RuntimeException)
-{
- ADORecordset *pRecordset = m_pADOConnection->getIndexInfo(catalog,schema,table,unique,approximate);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setIndexInfoMap();
- xRef = pResult;
-
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTablePrivileges(
- const Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& tableNamePattern ) throw(SQLException, RuntimeException)
-{
- Reference< XResultSet > xRef;
- if(!ADOS::isJetEngine(m_pConnection->getEngineType()))
- { // the jet provider doesn't support this method
- // Create elements used in the array
-
- ADORecordset *pRecordset = m_pADOConnection->getTablePrivileges(catalog,schemaPattern,tableNamePattern);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setTablePrivilegesMap();
- xRef = pResult;
- }
- else
- {
- ::connectivity::ODatabaseMetaDataResultSet* pResult = new ::connectivity::ODatabaseMetaDataResultSet(::connectivity::ODatabaseMetaDataResultSet::eTablePrivileges);
- xRef = pResult;
- ::connectivity::ODatabaseMetaDataResultSet::ORows aRows;
- ::connectivity::ODatabaseMetaDataResultSet::ORow aRow(8);
- aRows.reserve(8);
-
- aRow[0] = ::connectivity::ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[1] = ::connectivity::ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[2] = new ::connectivity::ORowSetValueDecorator(tableNamePattern);
- aRow[3] = ::connectivity::ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[4] = ::connectivity::ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[5] = new ::connectivity::ORowSetValueDecorator(getUserName());
- aRow[6] = ::connectivity::ODatabaseMetaDataResultSet::getSelectValue();
- aRow[7] = new ::connectivity::ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NO")));
-
- aRows.push_back(aRow);
- aRow[6] = ::connectivity::ODatabaseMetaDataResultSet::getInsertValue();
- aRows.push_back(aRow);
- aRow[6] = ::connectivity::ODatabaseMetaDataResultSet::getDeleteValue();
- aRows.push_back(aRow);
- aRow[6] = ::connectivity::ODatabaseMetaDataResultSet::getUpdateValue();
- aRows.push_back(aRow);
- aRow[6] = ::connectivity::ODatabaseMetaDataResultSet::getCreateValue();
- aRows.push_back(aRow);
- aRow[6] = ::connectivity::ODatabaseMetaDataResultSet::getReadValue();
- aRows.push_back(aRow);
- aRow[6] = ::connectivity::ODatabaseMetaDataResultSet::getAlterValue();
- aRows.push_back(aRow);
- aRow[6] = ::connectivity::ODatabaseMetaDataResultSet::getDropValue();
- aRows.push_back(aRow);
- pResult->setRows(aRows);
- }
-
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::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)
-{
- ADORecordset *pRecordset = m_pADOConnection->getCrossReference(primaryCatalog,primarySchema,primaryTable,foreignCatalog,foreignSchema,foreignTable);
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- Reference< XResultSet > xRef;
-
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(pRecordset);
- pResult->setCrossReferenceMap();
- xRef = pResult;
-
- return xRef;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::doesMaxRowSizeIncludeBlobs( ) throw(SQLException, RuntimeException)
-{
- return getBoolProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Maximum Row Size Includes BLOB")));
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Identifier Case Sensitivity"))) & DBPROPVAL_IC_LOWER) == DBPROPVAL_IC_LOWER ;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Identifier Case Sensitivity"))) & DBPROPVAL_IC_LOWER) == DBPROPVAL_IC_LOWER ;
-}
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaData::impl_storesMixedCaseQuotedIdentifiers_throw( )
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Identifier Case Sensitivity"))) & DBPROPVAL_IC_MIXED) == DBPROPVAL_IC_MIXED ;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::storesMixedCaseIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Identifier Case Sensitivity"))) & DBPROPVAL_IC_MIXED) == DBPROPVAL_IC_MIXED ;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Identifier Case Sensitivity"))) & DBPROPVAL_IC_UPPER) == DBPROPVAL_IC_UPPER ;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Identifier Case Sensitivity"))) & DBPROPVAL_IC_UPPER) == DBPROPVAL_IC_UPPER ;
-}
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaData::impl_supportsAlterTableWithAddColumn_throw( )
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaData::impl_supportsAlterTableWithDropColumn_throw( )
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxIndexLength( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Maximum Index Size")));
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsNonNullableColumns( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NULL Concatenation Behavior"))) == DBPROPVAL_CB_NON_NULL;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getCatalogTerm( ) throw(SQLException, RuntimeException)
-{
- return getStringProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Catalog Term")));
-}
-// -------------------------------------------------------------------------
-::rtl::OUString ODatabaseMetaData::impl_getIdentifierQuoteString_throw( )
-{
- return getLiteral(DBLITERAL_QUOTE_PREFIX);
-
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getExtraNameCharacters( ) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsDifferentTableCorrelationNames( ) throw(SQLException, RuntimeException)
-{
- return isCapable(DBLITERAL_CORRELATION_NAME);
-}
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaData::impl_isCatalogAtStart_throw( )
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Catalog Location"))) == DBPROPVAL_CL_START;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::dataDefinitionIgnoredInTransactions( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Transaction DDL"))) == DBPROPVAL_TC_DDL_IGNORE;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::dataDefinitionCausesTransactionCommit( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Transaction DDL"))) == DBPROPVAL_TC_DDL_COMMIT;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsDataManipulationTransactionsOnly( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Transaction DDL"))) == DBPROPVAL_TC_DML;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsDataDefinitionAndDataManipulationTransactions( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Transaction DDL"))) == DBPROPVAL_TC_ALL;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsPositionedDelete( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsPositionedUpdate( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenStatementsAcrossRollback( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Prepare Abort Behavior"))) == DBPROPVAL_CB_PRESERVE;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenStatementsAcrossCommit( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Prepare Commit Behavior"))) == DBPROPVAL_CB_PRESERVE;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenCursorsAcrossCommit( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Isolation Retention"))) & DBPROPVAL_TR_COMMIT) == DBPROPVAL_TR_COMMIT;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenCursorsAcrossRollback( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Isolation Retention"))) & DBPROPVAL_TR_ABORT) == DBPROPVAL_TR_ABORT;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsTransactionIsolationLevel( sal_Int32 level ) throw(SQLException, RuntimeException)
-{
- sal_Bool bValue(sal_False);
-
- sal_Int32 nTxn = getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Isolation Levels")));
- if(level == TransactionIsolation::NONE)
- bValue = sal_True;
- else if(level == TransactionIsolation::READ_UNCOMMITTED)
- bValue = (nTxn & DBPROPVAL_TI_READUNCOMMITTED) == DBPROPVAL_TI_READUNCOMMITTED;
- else if(level == TransactionIsolation::READ_COMMITTED)
- bValue = (nTxn & DBPROPVAL_TI_READCOMMITTED) == DBPROPVAL_TI_READCOMMITTED;
- else if(level == TransactionIsolation::REPEATABLE_READ)
- bValue = (nTxn & DBPROPVAL_TI_REPEATABLEREAD) == DBPROPVAL_TI_REPEATABLEREAD;
- else if(level == TransactionIsolation::SERIALIZABLE)
- bValue = (nTxn & DBPROPVAL_TI_SERIALIZABLE) == DBPROPVAL_TI_SERIALIZABLE;
-
- return bValue;
-}
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaData::impl_supportsSchemasInDataManipulation_throw( )
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Schema Usage"))) & DBPROPVAL_SU_DML_STATEMENTS) == DBPROPVAL_SU_DML_STATEMENTS;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsANSI92FullSQL( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nProp = getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SQL Support")));
- return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ANSI92_FULL) == DBPROPVAL_SQL_ANSI92_FULL);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsANSI92EntryLevelSQL( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nProp = getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SQL Support")));
- return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ANSI92_ENTRY) == DBPROPVAL_SQL_ANSI92_ENTRY);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsIntegrityEnhancementFacility( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nProp = getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SQL Support")));
- return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ANSI89_IEF) == DBPROPVAL_SQL_ANSI89_IEF);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsSchemasInIndexDefinitions( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Schema Usage"))) & DBPROPVAL_SU_INDEX_DEFINITION) == DBPROPVAL_SU_INDEX_DEFINITION;
-}
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaData::impl_supportsSchemasInTableDefinitions_throw( )
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Schema Usage"))) & DBPROPVAL_SU_TABLE_DEFINITION) == DBPROPVAL_SU_TABLE_DEFINITION;
-}
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaData::impl_supportsCatalogsInTableDefinitions_throw( )
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsCatalogsInIndexDefinitions( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaData::impl_supportsCatalogsInDataManipulation_throw( )
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsOuterJoins( ) throw(SQLException, RuntimeException)
-{
- if ( ADOS::isJetEngine(m_pConnection->getEngineType()) )
- return sal_True;
- return getBoolProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Outer Join Capabilities")));
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTableTypes( ) throw(SQLException, RuntimeException)
-{
- return new ::connectivity::ODatabaseMetaDataResultSet(::connectivity::ODatabaseMetaDataResultSet::eTableTypes);
-}
-// -------------------------------------------------------------------------
-sal_Int32 ODatabaseMetaData::impl_getMaxStatements_throw( )
-{
- return 0;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxProcedureNameLength( ) throw(SQLException, RuntimeException)
-{
- return getMaxSize(DBLITERAL_PROCEDURE_NAME);
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxSchemaNameLength( ) throw(SQLException, RuntimeException)
-{
- return getMaxSize(DBLITERAL_SCHEMA_NAME);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsTransactions( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Transaction DDL"))) == DBPROPVAL_TC_NONE;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::allProceduresAreCallable( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsStoredProcedures( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsSelectForUpdate( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::allTablesAreSelectable( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::isReadOnly( ) throw(SQLException, RuntimeException)
-{
- return getBoolProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Read-Only Data Source")));
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::usesLocalFiles( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::usesLocalFilePerTable( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsTypeConversion( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::nullPlusNonNullIsNull( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NULL Concatenation Behavior"))) == DBPROPVAL_CB_NULL;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsColumnAliasing( ) throw(SQLException, RuntimeException)
-{
- return isCapable(DBLITERAL_COLUMN_ALIAS);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsTableCorrelationNames( ) throw(SQLException, RuntimeException)
-{
- return isCapable(DBLITERAL_CORRELATION_NAME);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsConvert( sal_Int32 /*fromType*/, sal_Int32 /*toType*/ ) throw(SQLException, RuntimeException)
-{
- return getBoolProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Rowset Conversions on Command")));
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsExpressionsInOrderBy( ) throw(SQLException, RuntimeException)
-{
- return getBoolProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ORDER BY Columns in Select List")));
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsGroupBy( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GROUP BY Support"))) != DBPROPVAL_GB_NOT_SUPPORTED;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsGroupByBeyondSelect( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GROUP BY Support"))) != DBPROPVAL_GB_CONTAINS_SELECT;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsGroupByUnrelated( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GROUP BY Support"))) == DBPROPVAL_GB_NO_RELATION;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsMultipleTransactions( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsMultipleResultSets( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsLikeEscapeClause( ) throw(SQLException, RuntimeException)
-{
- return isCapable(DBLITERAL_ESCAPE_PERCENT);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsOrderByUnrelated( ) throw(SQLException, RuntimeException)
-{
- return getBoolProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ORDER BY Columns in Select List")));
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsUnion( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsUnionAll( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsMixedCaseIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Identifier Case Sensitivity"))) & DBPROPVAL_IC_MIXED) == DBPROPVAL_IC_MIXED;
-}
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaData::impl_supportsMixedCaseQuotedIdentifiers_throw( )
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Identifier Case Sensitivity"))) & DBPROPVAL_IC_MIXED) == DBPROPVAL_IC_MIXED;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedAtEnd( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NULL Collation Order"))) & DBPROPVAL_NC_END) == DBPROPVAL_NC_END;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedAtStart( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NULL Collation Order"))) & DBPROPVAL_NC_START) == DBPROPVAL_NC_START;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedHigh( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NULL Collation Order"))) & DBPROPVAL_NC_HIGH) == DBPROPVAL_NC_HIGH;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedLow( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NULL Collation Order"))) & DBPROPVAL_NC_LOW) == DBPROPVAL_NC_LOW;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsSchemasInProcedureCalls( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsSchemasInPrivilegeDefinitions( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Schema Usage"))) & DBPROPVAL_SU_PRIVILEGE_DEFINITION) == DBPROPVAL_SU_PRIVILEGE_DEFINITION;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsCatalogsInProcedureCalls( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsCatalogsInPrivilegeDefinitions( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsCorrelatedSubqueries( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Subquery Support"))) & DBPROPVAL_SQ_CORRELATEDSUBQUERIES) == DBPROPVAL_SQ_CORRELATEDSUBQUERIES;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInComparisons( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Subquery Support"))) & DBPROPVAL_SQ_COMPARISON) == DBPROPVAL_SQ_COMPARISON;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInExists( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Subquery Support"))) & DBPROPVAL_SQ_EXISTS) == DBPROPVAL_SQ_EXISTS;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInIns( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Subquery Support"))) & DBPROPVAL_SQ_IN) == DBPROPVAL_SQ_IN;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInQuantifieds( ) throw(SQLException, RuntimeException)
-{
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Subquery Support"))) & DBPROPVAL_SQ_QUANTIFIED) == DBPROPVAL_SQ_QUANTIFIED;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsANSI92IntermediateSQL( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nProp = getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SQL Support")));
- return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ANSI92_INTERMEDIATE) == DBPROPVAL_SQL_ANSI92_INTERMEDIATE);
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getURL( ) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:ado:"))+ m_pADOConnection->GetConnectionString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getUserName( ) throw(SQLException, RuntimeException)
-{
- return getStringProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("User Name")));
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getDriverName( ) throw(SQLException, RuntimeException)
-{
- return getStringProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Provider Friendly Name")));
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getDriverVersion( ) throw(SQLException, RuntimeException)
-{
- return getStringProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Provider Version")));
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getDatabaseProductVersion( ) throw(SQLException, RuntimeException)
-{
- return getStringProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DBMS Version")));
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getDatabaseProductName( ) throw(SQLException, RuntimeException)
-{
- return getStringProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DBMS Name")));
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getProcedureTerm( ) throw(SQLException, RuntimeException)
-{
- return getStringProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Procedure Term")));
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getSchemaTerm( ) throw(SQLException, RuntimeException)
-{
- return getStringProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Schema Term")));
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getDriverMajorVersion( ) throw(RuntimeException)
-{
- return 1;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getDefaultTransactionIsolation( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nRet = TransactionIsolation::NONE;
- switch(m_pADOConnection->get_IsolationLevel())
- {
- case adXactReadCommitted:
- nRet = TransactionIsolation::READ_COMMITTED;
- break;
- case adXactRepeatableRead:
- nRet = TransactionIsolation::REPEATABLE_READ;
- break;
- case adXactSerializable:
- nRet = TransactionIsolation::SERIALIZABLE;
- break;
- case adXactReadUncommitted:
- nRet = TransactionIsolation::READ_UNCOMMITTED;
- break;
- default:
- ;
- }
- return nRet;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getDriverMinorVersion( ) throw(RuntimeException)
-{
- return 0;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getSQLKeywords( ) throw(SQLException, RuntimeException)
-{
- ADORecordset *pRecordset = NULL;
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
- m_pADOConnection->OpenSchema(adSchemaDBInfoKeywords,vtEmpty,vtEmpty,&pRecordset);
- OSL_ENSURE(pRecordset,"getSQLKeywords: no resultset!");
- ADOS::ThrowException(*m_pADOConnection,*this);
- if ( pRecordset )
- {
- WpADORecordset aRecordset(pRecordset);
-
- aRecordset.MoveFirst();
- OLEVariant aValue;
- ::rtl::OUString aRet, aComma(RTL_CONSTASCII_USTRINGPARAM(","));
- while(!aRecordset.IsAtEOF())
- {
- WpOLEAppendCollection<ADOFields, ADOField, WpADOField> aFields(aRecordset.GetFields());
- WpADOField aField(aFields.GetItem(0));
- aField.get_Value(aValue);
- aRet = aRet + aValue + aComma;
- aRecordset.MoveNext();
- }
- aRecordset.Close();
- if ( aRet.getLength() )
- return aRet.copy(0,aRet.lastIndexOf(','));
- }
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getSearchStringEscape( ) throw(SQLException, RuntimeException)
-{
- return getLiteral(DBLITERAL_ESCAPE_PERCENT);
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getStringFunctions( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue;
- return aValue.copy(0,aValue.lastIndexOf(','));
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getTimeDateFunctions( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue;
- return aValue;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getSystemFunctions( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue;
- return aValue.copy(0,aValue.lastIndexOf(','));
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaData::getNumericFunctions( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue;
- return aValue;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsExtendedSQLGrammar( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nProp = getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SQL Support")));
- return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ODBC_EXTENDED) == DBPROPVAL_SQL_ODBC_EXTENDED);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsCoreSQLGrammar( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nProp = getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SQL Support")));
- return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ODBC_CORE) == DBPROPVAL_SQL_ODBC_CORE);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsMinimumSQLGrammar( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nProp = getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SQL Support")));
- return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ODBC_MINIMUM) == DBPROPVAL_SQL_ODBC_MINIMUM);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsFullOuterJoins( ) throw(SQLException, RuntimeException)
-{
- if ( ADOS::isJetEngine(m_pConnection->getEngineType()) )
- return sal_True;
- return (getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Outer Join Capabilities"))) & 0x00000004L) == 0x00000004L;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsLimitedOuterJoins( ) throw(SQLException, RuntimeException)
-{
- return supportsFullOuterJoins( );
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInGroupBy( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Max Columns in GROUP BY")));
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInOrderBy( ) throw(SQLException, RuntimeException)
-{
- return getInt32Property(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Max Columns in ORDER BY")));
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInSelect( ) throw(SQLException, RuntimeException)
-{
- return 0;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaData::getMaxUserNameLength( ) throw(SQLException, RuntimeException)
-{
- return getMaxSize(DBLITERAL_USER_NAME);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsResultSetType( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsResultSetConcurrency( sal_Int32 /*setType*/, sal_Int32 /*concurrency*/ ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::ownUpdatesAreVisible( sal_Int32 setType ) throw(SQLException, RuntimeException)
-{
- return ResultSetType::FORWARD_ONLY != setType;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::ownDeletesAreVisible( sal_Int32 setType ) throw(SQLException, RuntimeException)
-{
- return ResultSetType::FORWARD_ONLY != setType;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::ownInsertsAreVisible( sal_Int32 setType ) throw(SQLException, RuntimeException)
-{
- return ResultSetType::FORWARD_ONLY != setType;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::othersUpdatesAreVisible( sal_Int32 setType ) throw(SQLException, RuntimeException)
-{
- return ResultSetType::FORWARD_ONLY != setType;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::othersDeletesAreVisible( sal_Int32 setType ) throw(SQLException, RuntimeException)
-{
- return ResultSetType::FORWARD_ONLY != setType;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::othersInsertsAreVisible( sal_Int32 setType ) throw(SQLException, RuntimeException)
-{
- return ResultSetType::FORWARD_ONLY != setType;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::updatesAreDetected( sal_Int32 setType ) throw(SQLException, RuntimeException)
-{
- return ResultSetType::FORWARD_ONLY != setType;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::deletesAreDetected( sal_Int32 setType ) throw(SQLException, RuntimeException)
-{
- return ResultSetType::FORWARD_ONLY != setType;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::insertsAreDetected( sal_Int32 setType ) throw(SQLException, RuntimeException)
-{
- return ResultSetType::FORWARD_ONLY != setType;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsBatchUpdates( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL ODatabaseMetaData::getUDTs( const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, const ::rtl::OUString& /*typeNamePattern*/, const Sequence< sal_Int32 >& /*types*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XDatabaseMetaData::getUDTs", *this );
- return Reference< XResultSet >();
-}
-// -------------------------------------------------------------------------
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/ADatabaseMetaDataImpl.cxx b/connectivity/source/drivers/ado/ADatabaseMetaDataImpl.cxx
deleted file mode 100644
index e6ac9c9030..0000000000
--- a/connectivity/source/drivers/ado/ADatabaseMetaDataImpl.cxx
+++ /dev/null
@@ -1,610 +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 "ado/ADatabaseMetaData.hxx"
-#include "ado/ADatabaseMetaDataResultSetMetaData.hxx"
-#include "ado/Awrapado.hxx"
-#include "ado/AGroup.hxx"
-#include "ado/adoimp.hxx"
-#include "ado/AIndex.hxx"
-#include "ado/AKey.hxx"
-#include "ado/ATable.hxx"
-#include <com/sun/star/sdbc/DataType.hpp>
-#include <com/sun/star/sdbc/ProcedureResult.hpp>
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#ifdef DELETE
-#undef DELETE
-#endif
-#include <com/sun/star/sdbcx/Privilege.hpp>
-#include <com/sun/star/sdbcx/PrivilegeObject.hpp>
-#include <com/sun/star/sdbc/KeyRule.hpp>
-#include <com/sun/star/sdbcx/KeyType.hpp>
-
-using namespace connectivity::ado;
-using namespace ::com::sun::star::sdbc;
-using namespace ::com::sun::star::sdbcx;
-using namespace ::com::sun::star::uno;
-
-// -------------------------------------------------------------------------
-void ODatabaseMetaData::fillLiterals()
-{
- ADORecordset *pRecordset = NULL;
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
- m_pADOConnection->OpenSchema(adSchemaDBInfoLiterals,vtEmpty,vtEmpty,&pRecordset);
-
- ADOS::ThrowException(*m_pADOConnection,*this);
-
- OSL_ENSURE(pRecordset,"fillLiterals: no resultset!");
- if ( pRecordset )
- {
- WpADORecordset aRecordset(pRecordset);
-
- aRecordset.MoveFirst();
- OLEVariant aValue;
- LiteralInfo aInfo;
- while(!aRecordset.IsAtEOF())
- {
- WpOLEAppendCollection<ADOFields, ADOField, WpADOField> aFields(aRecordset.GetFields());
- WpADOField aField(aFields.GetItem(1));
- aInfo.pwszLiteralValue = aField.get_Value();
- aField = aFields.GetItem(5);
- aInfo.fSupported = aField.get_Value();
- aField = aFields.GetItem(6);
- aInfo.cchMaxLen = aField.get_Value().getUInt32();
-
- aField = aFields.GetItem(4);
- sal_uInt32 nId = aField.get_Value().getUInt32();
- m_aLiteralInfo[nId] = aInfo;
-
- aRecordset.MoveNext();
- }
- aRecordset.Close();
- }
-}
-// -------------------------------------------------------------------------
-sal_Int32 ODatabaseMetaData::getMaxSize(sal_uInt32 _nId)
-{
- if(!m_aLiteralInfo.size())
- fillLiterals();
-
- sal_Int32 nSize = 0;
- ::std::map<sal_uInt32,LiteralInfo>::const_iterator aIter = m_aLiteralInfo.find(_nId);
- if(aIter != m_aLiteralInfo.end() && (*aIter).second.fSupported)
- nSize = ((*aIter).second.cchMaxLen == (-1)) ? 0 : (*aIter).second.cchMaxLen;
- return nSize;
-}
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaData::isCapable(sal_uInt32 _nId)
-{
- if(!m_aLiteralInfo.size())
- fillLiterals();
- sal_Bool bSupported = sal_False;
- ::std::map<sal_uInt32,LiteralInfo>::const_iterator aIter = m_aLiteralInfo.find(_nId);
- if(aIter != m_aLiteralInfo.end())
- bSupported = (*aIter).second.fSupported;
- return bSupported;
-}
-
-// -------------------------------------------------------------------------
-::rtl::OUString ODatabaseMetaData::getLiteral(sal_uInt32 _nId)
-{
- if(!m_aLiteralInfo.size())
- fillLiterals();
- ::rtl::OUString sStr;
- ::std::map<sal_uInt32,LiteralInfo>::const_iterator aIter = m_aLiteralInfo.find(_nId);
- if(aIter != m_aLiteralInfo.end() && (*aIter).second.fSupported)
- sStr = (*aIter).second.pwszLiteralValue;
- return sStr;
-}
-// -----------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSetMetaData::setColumnPrivilegesMap()
-{
- m_mColumns[8] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IS_GRANTABLE")),
- ColumnValue::NULLABLE,
- 3,3,0,
- DataType::VARCHAR);
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSetMetaData::setColumnsMap()
-{
- m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TYPE_NAME")),
- ColumnValue::NO_NULLS,
- 0,0,0,
- DataType::VARCHAR);
- m_mColumns[11] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NULLABLE")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
- m_mColumns[12] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("REMARKS")),
- ColumnValue::NULLABLE,
- 0,0,0,
- DataType::VARCHAR);
- m_mColumns[13] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("COLUMN_DEF")),
- ColumnValue::NULLABLE,
- 0,0,0,
- DataType::VARCHAR);
- m_mColumns[14] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SQL_DATA_TYPE")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
- m_mColumns[15] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SQL_DATETIME_SUB")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
- m_mColumns[16] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CHAR_OCTET_LENGTH")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSetMetaData::setTablesMap()
-{
- m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("REMARKS")),
- ColumnValue::NULLABLE,
- 0,0,0,
- DataType::VARCHAR);
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSetMetaData::setProcedureColumnsMap()
-{
- m_mColumns[12] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NULLABLE")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSetMetaData::setPrimaryKeysMap()
-{
- m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("KEY_SEQ")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
- m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PK_NAME")),
- ColumnValue::NULLABLE,
- 0,0,0,
- DataType::VARCHAR);
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSetMetaData::setIndexInfoMap()
-{
- m_mColumns[4] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NON_UNIQUE")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::BIT);
- m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("INDEX_QUALIFIER")),
- ColumnValue::NULLABLE,
- 0,0,0,
- DataType::VARCHAR);
- m_mColumns[10] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ASC_OR_DESC")),
- ColumnValue::NULLABLE,
- 0,0,0,
- DataType::VARCHAR);
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSetMetaData::setTablePrivilegesMap()
-{
- m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PRIVILEGE")),
- ColumnValue::NULLABLE,
- 0,0,0,
- DataType::VARCHAR);
- m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IS_GRANTABLE")),
- ColumnValue::NULLABLE,
- 0,0,0,
- DataType::VARCHAR);
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSetMetaData::setCrossReferenceMap()
-{
- m_mColumns[9] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("KEY_SEQ")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSetMetaData::setTypeInfoMap()
-{
- m_mColumns[3] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PRECISION")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
- m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NULLABLE")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
- m_mColumns[12] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AUTO_INCREMENT")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::BIT);
- m_mColumns[16] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SQL_DATA_TYPE")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
- m_mColumns[17] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SQL_DATETIME_SUB")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
- m_mColumns[18] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NUM_PREC_RADIX")),
- ColumnValue::NO_NULLS,
- 1,1,0,
- DataType::INTEGER);
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSetMetaData::setProceduresMap()
-{
- m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("REMARKS")),
- ColumnValue::NULLABLE,
- 0,0,0,
- DataType::VARCHAR);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isSearchable( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.isSearchable();
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isAutoIncrement( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.isAutoIncrement();
- return sal_False;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnServiceName( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.getColumnServiceName();
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getTableName( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.getTableName();
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getCatalogName( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.getCatalogName();
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnTypeName( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.getColumnTypeName();
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isCaseSensitive( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.isCaseSensitive();
- return sal_True;
-}
-// -------------------------------------------------------------------------
-
-::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getSchemaName( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.getSchemaName();
- return ::rtl::OUString();
-}
-// -----------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-ObjectTypeEnum OAdoGroup::MapObjectType(sal_Int32 _ObjType)
-{
- ObjectTypeEnum eNumType= adPermObjTable;
- switch(_ObjType)
- {
- case PrivilegeObject::TABLE:
- break;
- case PrivilegeObject::VIEW:
- eNumType = adPermObjView;
- break;
- case PrivilegeObject::COLUMN:
- eNumType = adPermObjColumn;
- break;
- }
- return eNumType;
-}
-// -------------------------------------------------------------------------
-sal_Int32 OAdoGroup::MapRight(RightsEnum _eNum)
-{
- sal_Int32 nRight = 0;
- if(_eNum & adRightRead)
- nRight |= Privilege::SELECT;
- if(_eNum & adRightInsert)
- nRight |= Privilege::INSERT;
- if(_eNum & adRightUpdate)
- nRight |= Privilege::UPDATE;
- if(_eNum & adRightDelete)
- nRight |= Privilege::DELETE;
- if(_eNum & adRightReadDesign)
- nRight |= Privilege::READ;
- if(_eNum & adRightCreate)
- nRight |= Privilege::CREATE;
- if(_eNum & adRightWriteDesign)
- nRight |= Privilege::ALTER;
- if(_eNum & adRightReference)
- nRight |= Privilege::REFERENCE;
- if(_eNum & adRightDrop)
- nRight |= Privilege::DROP;
-
- return nRight;
-}
-// -------------------------------------------------------------------------
-RightsEnum OAdoGroup::Map2Right(sal_Int32 _eNum)
-{
- sal_Int32 nRight = adRightNone;
- if(_eNum & Privilege::SELECT)
- nRight |= adRightRead;
-
- if(_eNum & Privilege::INSERT)
- nRight |= adRightInsert;
-
- if(_eNum & Privilege::UPDATE)
- nRight |= adRightUpdate;
-
- if(_eNum & Privilege::DELETE)
- nRight |= adRightDelete;
-
- if(_eNum & Privilege::READ)
- nRight |= adRightReadDesign;
-
- if(_eNum & Privilege::CREATE)
- nRight |= adRightCreate;
-
- if(_eNum & Privilege::ALTER)
- nRight |= adRightWriteDesign;
-
- if(_eNum & Privilege::REFERENCE)
- nRight |= adRightReference;
-
- if(_eNum & Privilege::DROP)
- nRight |= adRightDrop;
-
- return (RightsEnum)nRight;
-}
-// -------------------------------------------------------------------------
-void WpADOIndex::Create()
-{
- HRESULT hr = -1;
-
- _ADOIndex* pIndex = NULL;
- hr = CoCreateInstance(ADOS::CLSID_ADOINDEX_25,
- NULL,
- CLSCTX_INPROC_SERVER,
- ADOS::IID_ADOINDEX_25,
- (void**)&pIndex );
-
-
- if( !FAILED( hr ) )
- {
- operator=( pIndex );
- pIndex->Release();
- }
-}
-// -------------------------------------------------------------------------
-void OAdoIndex::fillPropertyValues()
-{
- if(m_aIndex.IsValid())
- {
- m_Name = m_aIndex.get_Name();
- m_IsUnique = m_aIndex.get_Unique();
- m_IsPrimaryKeyIndex = m_aIndex.get_PrimaryKey();
- m_IsClustered = m_aIndex.get_Clustered();
- }
-}
-// -----------------------------------------------------------------------------
-void WpADOKey::Create()
-{
- HRESULT hr = -1;
- _ADOKey* pKey = NULL;
- hr = CoCreateInstance(ADOS::CLSID_ADOKEY_25,
- NULL,
- CLSCTX_INPROC_SERVER,
- ADOS::IID_ADOKEY_25,
- (void**)&pKey );
-
-
- if( !FAILED( hr ) )
- {
- operator=( pKey );
- pKey->Release();
- }
-}
-// -------------------------------------------------------------------------
-void OAdoKey::fillPropertyValues()
-{
- if(m_aKey.IsValid())
- {
- m_aProps->m_Type = MapKeyRule(m_aKey.get_Type());
- m_Name = m_aKey.get_Name();
- m_aProps->m_ReferencedTable = m_aKey.get_RelatedTable();
- m_aProps->m_UpdateRule = MapRule(m_aKey.get_UpdateRule());
- m_aProps->m_DeleteRule = MapRule(m_aKey.get_DeleteRule());
- }
-}
-// -------------------------------------------------------------------------
-sal_Int32 OAdoKey::MapRule(const RuleEnum& _eNum)
-{
- sal_Int32 eNum = KeyRule::NO_ACTION;
- switch(_eNum)
- {
- case adRICascade:
- eNum = KeyRule::CASCADE;
- break;
- case adRISetNull:
- eNum = KeyRule::SET_NULL;
- break;
- case adRINone:
- eNum = KeyRule::NO_ACTION;
- break;
- case adRISetDefault:
- eNum = KeyRule::SET_DEFAULT;
- break;
- }
- return eNum;
-}
-// -------------------------------------------------------------------------
-RuleEnum OAdoKey::Map2Rule(const sal_Int32& _eNum)
-{
- RuleEnum eNum = adRINone;
- switch(_eNum)
- {
- case KeyRule::CASCADE:
- eNum = adRICascade;
- break;
- case KeyRule::SET_NULL:
- eNum = adRISetNull;
- break;
- case KeyRule::NO_ACTION:
- eNum = adRINone;
- break;
- case KeyRule::SET_DEFAULT:
- eNum = adRISetDefault;
- break;
- }
- return eNum;
-}
-// -------------------------------------------------------------------------
-sal_Int32 OAdoKey::MapKeyRule(const KeyTypeEnum& _eNum)
-{
- sal_Int32 nKeyType = KeyType::PRIMARY;
- switch(_eNum)
- {
- case adKeyPrimary:
- nKeyType = KeyType::PRIMARY;
- break;
- case adKeyForeign:
- nKeyType = KeyType::FOREIGN;
- break;
- case adKeyUnique:
- nKeyType = KeyType::UNIQUE;
- break;
- }
- return nKeyType;
-}
-// -------------------------------------------------------------------------
-KeyTypeEnum OAdoKey::Map2KeyRule(const sal_Int32& _eNum)
-{
- KeyTypeEnum eNum( adKeyPrimary );
- switch(_eNum)
- {
- case KeyType::PRIMARY:
- eNum = adKeyPrimary;
- break;
- case KeyType::FOREIGN:
- eNum = adKeyForeign;
- break;
- case KeyType::UNIQUE:
- eNum = adKeyUnique;
- break;
- default:
- OSL_FAIL( "OAdoKey::Map2KeyRule: invalid key type!" );
- }
- return eNum;
-}
-// -----------------------------------------------------------------------------
-void WpADOTable::Create()
-{
- HRESULT hr = -1;
- _ADOTable* pTable = NULL;
- hr = CoCreateInstance(ADOS::CLSID_ADOTABLE_25,
- NULL,
- CLSCTX_INPROC_SERVER,
- ADOS::IID_ADOTABLE_25,
- (void**)&pTable );
-
-
- if( !FAILED( hr ) )
- {
- operator=( pTable );
- pTable->Release();
- }
-}
-// -------------------------------------------------------------------------
-::rtl::OUString WpADOCatalog::GetObjectOwner(const ::rtl::OUString& _rName, ObjectTypeEnum _eNum)
-{
- OLEVariant _rVar;
- _rVar.setNoArg();
- OLEString aBSTR;
- OLEString sStr1(_rName);
- pInterface->GetObjectOwner(sStr1,_eNum,_rVar,&aBSTR);
- return aBSTR;
-}
-// -----------------------------------------------------------------------------
-void OAdoTable::fillPropertyValues()
-{
- if(m_aTable.IsValid())
- {
- m_Name = m_aTable.get_Name();
- m_Type = m_aTable.get_Type();
- {
- WpADOCatalog aCat(m_aTable.get_ParentCatalog());
- if(aCat.IsValid())
- m_CatalogName = aCat.GetObjectOwner(m_aTable.get_Name(),adPermObjTable);
- }
- {
- WpADOProperties aProps = m_aTable.get_Properties();
- if(aProps.IsValid())
- m_Description = OTools::getValue(aProps,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Description")));
- }
- }
-}
-// -----------------------------------------------------------------------------
-void WpADOUser::Create()
-{
- HRESULT hr = -1;
- _ADOUser* pUser = NULL;
- hr = CoCreateInstance(ADOS::CLSID_ADOUSER_25,
- NULL,
- CLSCTX_INPROC_SERVER,
- ADOS::IID_ADOUSER_25,
- (void**)&pUser );
-
-
- if( !FAILED( hr ) )
- {
- operator=( pUser );
- pUser->Release();
- }
-}
-// -------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx b/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
deleted file mode 100644
index 845575eaf3..0000000000
--- a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
+++ /dev/null
@@ -1,1219 +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 <comphelper/sequence.hxx>
-#include "ado/ADatabaseMetaDataResultSet.hxx"
-#include "ado/ADatabaseMetaDataResultSetMetaData.hxx"
-#include <com/sun/star/sdbc/DataType.hpp>
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include <com/sun/star/sdbc/KeyRule.hpp>
-#include <com/sun/star/sdbc/ProcedureResult.hpp>
-#include <com/sun/star/sdbc/IndexType.hpp>
-#include <comphelper/property.hxx>
-#include <com/sun/star/lang/DisposedException.hpp>
-#include <com/sun/star/sdbc/ResultSetConcurrency.hpp>
-#include <com/sun/star/sdbc/ResultSetType.hpp>
-#include <com/sun/star/sdbc/FetchDirection.hpp>
-#include <cppuhelper/typeprovider.hxx>
-#include <comphelper/seqstream.hxx>
-#include "connectivity/dbexception.hxx"
-
-
-#include <oledb.h>
-
-using namespace dbtools;
-using namespace connectivity::ado;
-using namespace cppu;
-using namespace ::comphelper;
-//------------------------------------------------------------------------------
-using namespace ::com::sun::star::lang;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-
-// -------------------------------------------------------------------------
-ODatabaseMetaDataResultSet::ODatabaseMetaDataResultSet(ADORecordset* _pRecordSet)
- :ODatabaseMetaDataResultSet_BASE(m_aMutex)
- ,OPropertySetHelper(ODatabaseMetaDataResultSet_BASE::rBHelper)
- ,m_aStatement(NULL)
- ,m_xMetaData(NULL)
- ,m_pRecordSet(_pRecordSet)
- ,m_bEOF(sal_False)
-{
- osl_incrementInterlockedCount( &m_refCount );
- m_aColMapping.push_back(-1);
- if(_pRecordSet)
- {
- m_pRecordSet->AddRef();
- VARIANT_BOOL bIsAtBOF;
- m_pRecordSet->get_BOF(&bIsAtBOF);
- m_bOnFirstAfterOpen = bIsAtBOF != VARIANT_TRUE;
- }
- else
- m_bOnFirstAfterOpen = sal_False;
- osl_decrementInterlockedCount( &m_refCount );
- // allocBuffer();
-}
-
-// -------------------------------------------------------------------------
-ODatabaseMetaDataResultSet::~ODatabaseMetaDataResultSet()
-{
- if(m_pRecordSet)
- m_pRecordSet->Release();
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::disposing(void)
-{
- OPropertySetHelper::disposing();
-
- ::osl::MutexGuard aGuard(m_aMutex);
- if(m_pRecordSet)
- m_pRecordSet->Close();
- m_aStatement = NULL;
-m_xMetaData.clear();
-}
-// -------------------------------------------------------------------------
-Any SAL_CALL ODatabaseMetaDataResultSet::queryInterface( const Type & rType ) throw(RuntimeException)
-{
- Any aRet = OPropertySetHelper::queryInterface(rType);
- return aRet.hasValue() ? aRet : ODatabaseMetaDataResultSet_BASE::queryInterface(rType);
-}
-// -------------------------------------------------------------------------
-::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL ODatabaseMetaDataResultSet::getTypes( ) throw(::com::sun::star::uno::RuntimeException)
-{
- ::cppu::OTypeCollection aTypes( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XMultiPropertySet > *)0 ),
- ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XFastPropertySet > *)0 ),
- ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > *)0 ));
-
- return ::comphelper::concatSequences(aTypes.getTypes(),ODatabaseMetaDataResultSet_BASE::getTypes());
-}
-// -----------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::checkRecordSet() throw(SQLException)
-{
- if(!m_pRecordSet)
- throwFunctionSequenceException(*this);
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL ODatabaseMetaDataResultSet::findColumn( const ::rtl::OUString& columnName ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed );
-
-
- Reference< XResultSetMetaData > xMeta = getMetaData();
- sal_Int32 nLen = xMeta->getColumnCount();
- sal_Int32 i = 1;
- for(;i<=nLen;++i)
- if(xMeta->isCaseSensitive(i) ? columnName == xMeta->getColumnName(i) :
- columnName.equalsIgnoreAsciiCase(xMeta->getColumnName(i)))
- break;
- return i;
-}
-#define BLOCK_SIZE 256
-// -------------------------------------------------------------------------
-Reference< ::com::sun::star::io::XInputStream > SAL_CALL ODatabaseMetaDataResultSet::getBinaryStream( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- columnIndex = mapColumn(columnIndex);
- WpADOField aField = ADOS::getField(m_pRecordSet,columnIndex);
- if((aField.GetAttributes() & adFldLong) == adFldLong)
- {
- //Copy the data only upto the Actual Size of Field.
- sal_Int32 nSize = aField.GetActualSize();
- Sequence<sal_Int8> aData(nSize);
- long index = 0;
- while(index < nSize)
- {
- m_aValue = aField.GetChunk(BLOCK_SIZE);
- if(m_aValue.isNull())
- break;
- UCHAR chData;
- for(long index2 = 0;index2 < BLOCK_SIZE;++index2)
- {
- HRESULT hr = ::SafeArrayGetElement(m_aValue.parray,&index2,&chData);
- if(SUCCEEDED(hr))
- {
- //Take BYTE by BYTE and advance Memory Location
- aData.getArray()[index++] = chData;
- }
- else
- break;
- }
- }
- return index ? Reference< ::com::sun::star::io::XInputStream >(new SequenceInputStream(aData)) : Reference< ::com::sun::star::io::XInputStream >();
- }
- // else we ask for a bytesequence
- aField.get_Value(m_aValue);
- if(m_aValue.isNull())
- return NULL;
- return new SequenceInputStream(m_aValue);
-}
-// -------------------------------------------------------------------------
-Reference< ::com::sun::star::io::XInputStream > SAL_CALL ODatabaseMetaDataResultSet::getCharacterStream( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getCharacterStream", *this );
- return NULL;
-}
-
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::getBoolean( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_aValueRange.empty() && columnIndex == 11 && (m_aValueRangeIter = m_aValueRange.find(columnIndex)) != m_aValueRange.end() )
- {
- getValue(2);
- if ( static_cast<sal_Int16>(m_aValue) != adCurrency )
- return sal_False;
- }
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-sal_Int8 SAL_CALL ODatabaseMetaDataResultSet::getByte( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
-
- getValue(columnIndex);
-
- columnIndex = mapColumn(columnIndex);
-
- if(m_aValue.isNull())
- return 0;
- if ( !m_aValueRange.empty() && (m_aValueRangeIter = m_aValueRange.find(columnIndex)) != m_aValueRange.end())
- return (sal_Int8)(*m_aValueRangeIter).second[(sal_Int32)m_aValue];
- else if(m_aStrValueRange.size() && (m_aStrValueRangeIter = m_aStrValueRange.find(columnIndex)) != m_aStrValueRange.end())
- return (sal_Int8)(*m_aStrValueRangeIter).second[m_aValue];
-
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-
-Sequence< sal_Int8 > SAL_CALL ODatabaseMetaDataResultSet::getBytes( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-::com::sun::star::util::Date SAL_CALL ODatabaseMetaDataResultSet::getDate( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-double SAL_CALL ODatabaseMetaDataResultSet::getDouble( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-float SAL_CALL ODatabaseMetaDataResultSet::getFloat( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL ODatabaseMetaDataResultSet::getInt( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
-
-
- getValue(columnIndex);
-
- columnIndex = mapColumn(columnIndex);
- if(m_aValue.isNull())
- return 0;
-
- if(m_aValueRange.size() && (m_aValueRangeIter = m_aValueRange.find(columnIndex)) != m_aValueRange.end())
- return (*m_aValueRangeIter).second[(sal_Int32)m_aValue];
- else if(m_aStrValueRange.size() && (m_aStrValueRangeIter = m_aStrValueRange.find(columnIndex)) != m_aStrValueRange.end())
- return (*m_aStrValueRangeIter).second[m_aValue];
-
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL ODatabaseMetaDataResultSet::getRow( ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XResultSet::getRow", *this );
- return 0;
-}
-// -------------------------------------------------------------------------
-
-sal_Int64 SAL_CALL ODatabaseMetaDataResultSet::getLong( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getLong", *this );
- return sal_Int64(0);
-}
-// -------------------------------------------------------------------------
-
-Reference< XResultSetMetaData > SAL_CALL ODatabaseMetaDataResultSet::getMetaData( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- if(!m_xMetaData.is())
- m_xMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
-
- return m_xMetaData;
-}
-// -------------------------------------------------------------------------
-Reference< XArray > SAL_CALL ODatabaseMetaDataResultSet::getArray( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getRow", *this );
- return NULL;
-}
-
-// -------------------------------------------------------------------------
-
-Reference< XClob > SAL_CALL ODatabaseMetaDataResultSet::getClob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getRow", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-Reference< XBlob > SAL_CALL ODatabaseMetaDataResultSet::getBlob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getRow", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-
-Reference< XRef > SAL_CALL ODatabaseMetaDataResultSet::getRef( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getRow", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-
-Any SAL_CALL ODatabaseMetaDataResultSet::getObject( sal_Int32 columnIndex, const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- columnIndex = mapColumn(columnIndex);
- return Any();
-}
-// -------------------------------------------------------------------------
-
-sal_Int16 SAL_CALL ODatabaseMetaDataResultSet::getShort( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
-
- getValue(columnIndex);
-
- columnIndex = mapColumn(columnIndex);
- if(m_aValue.isNull())
- return 0;
-
- if(m_aValueRange.size() && (m_aValueRangeIter = m_aValueRange.find(columnIndex)) != m_aValueRange.end())
- return (sal_Int16)(*m_aValueRangeIter).second[(sal_Int32)m_aValue];
- else if(m_aStrValueRange.size() && (m_aStrValueRangeIter = m_aStrValueRange.find(columnIndex)) != m_aStrValueRange.end())
- return (sal_Int16)(*m_aStrValueRangeIter).second[m_aValue];
-
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-
-::rtl::OUString SAL_CALL ODatabaseMetaDataResultSet::getString( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
-
- getValue(columnIndex);
-
-
- columnIndex = mapColumn(columnIndex);
- if(m_aValue.isNull())
- return ::rtl::OUString();
- if(m_aIntValueRange.size() && (m_aIntValueRangeIter = m_aIntValueRange.find(columnIndex)) != m_aIntValueRange.end())
- return (*m_aIntValueRangeIter).second[m_aValue];
-
- return m_aValue;
-}
-
-// -------------------------------------------------------------------------
-
-
-::com::sun::star::util::Time SAL_CALL ODatabaseMetaDataResultSet::getTime( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-
-::com::sun::star::util::DateTime SAL_CALL ODatabaseMetaDataResultSet::getTimestamp( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::isAfterLast( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- VARIANT_BOOL bIsAtEOF;
- m_pRecordSet->get_EOF(&bIsAtEOF);
- return bIsAtEOF == VARIANT_TRUE;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::isFirst( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- return m_nRowPos == 1;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::isLast( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- return sal_True;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL ODatabaseMetaDataResultSet::beforeFirst( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- if(first())
- previous();
-}
-// -------------------------------------------------------------------------
-void SAL_CALL ODatabaseMetaDataResultSet::afterLast( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- if(last())
- next();
- m_bEOF = sal_True;
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL ODatabaseMetaDataResultSet::close( ) throw(SQLException, RuntimeException)
-{
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- }
- dispose();
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::first( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
-
- if(!m_pRecordSet)
- return sal_False;
-
- sal_Bool bRet = SUCCEEDED(m_pRecordSet->MoveFirst());
- if ( bRet )
- m_nRowPos = 1;
- return bRet;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::last( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed );
-
-
- return m_pRecordSet && SUCCEEDED(m_pRecordSet->MoveLast()) ? sal_True : sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::absolute( sal_Int32 row ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
-
- if(first())
- {
- OLEVariant aEmpty;
- aEmpty.setNoArg();
- sal_Bool bRet = SUCCEEDED(m_pRecordSet->Move(row,aEmpty));
- if(bRet)
- m_nRowPos = row;
- return bRet;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::relative( sal_Int32 row ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
-
- if(!m_pRecordSet)
- return sal_False;
-
- OLEVariant aEmpty;
- aEmpty.setNoArg();
- sal_Bool bRet = SUCCEEDED(m_pRecordSet->Move(row,aEmpty));
- if(bRet)
- m_nRowPos += row;
- return bRet;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::previous( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
-
- if(!m_pRecordSet)
- return sal_False;
-
- sal_Bool bRet = SUCCEEDED(m_pRecordSet->MovePrevious());
- if(bRet)
- --m_nRowPos;
- return bRet;
-}
-// -------------------------------------------------------------------------
-Reference< XInterface > SAL_CALL ODatabaseMetaDataResultSet::getStatement( ) throw(SQLException, RuntimeException)
-{
- return m_aStatement.get();
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::rowDeleted( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- RecordStatusEnum eRec;
- m_pRecordSet->get_Status((sal_Int32*)&eRec);
- return (eRec & adRecDeleted) == adRecDeleted;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::rowInserted( ) throw(SQLException, RuntimeException)
-{ ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- RecordStatusEnum eRec;
- m_pRecordSet->get_Status((sal_Int32*)&eRec);
- return (eRec & adRecNew) == adRecNew;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::rowUpdated( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- RecordStatusEnum eRec;
- m_pRecordSet->get_Status((sal_Int32*)&eRec);
- return (eRec & adRecModified) == adRecModified;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::isBeforeFirst( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
-
- if(!m_pRecordSet)
- return sal_True;
-
- VARIANT_BOOL bIsAtBOF;
- m_pRecordSet->get_BOF(&bIsAtBOF);
- return bIsAtBOF == VARIANT_TRUE;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::next( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
-
- if(!m_pRecordSet)
- return sal_False;
-
- if(m_bOnFirstAfterOpen)
- {
- m_bOnFirstAfterOpen = sal_False;
- return sal_True;
- }
- else
- return SUCCEEDED(m_pRecordSet->MoveNext());
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSet::wasNull( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- return m_aValue.isNull();
-}
-// -------------------------------------------------------------------------
-void SAL_CALL ODatabaseMetaDataResultSet::refreshRow( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- m_pRecordSet->Resync(adAffectCurrent,adResyncAllValues);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL ODatabaseMetaDataResultSet::cancel( ) throw(RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
-
- m_pRecordSet->Cancel();
-}
-// -------------------------------------------------------------------------
-void SAL_CALL ODatabaseMetaDataResultSet::clearWarnings( ) throw(SQLException, RuntimeException)
-{
-}
-// -------------------------------------------------------------------------
-Any SAL_CALL ODatabaseMetaDataResultSet::getWarnings( ) throw(SQLException, RuntimeException)
-{
- return Any();
-}
-//------------------------------------------------------------------------------
-sal_Int32 ODatabaseMetaDataResultSet::getResultSetConcurrency() const
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- return ResultSetConcurrency::READ_ONLY;
-}
-//------------------------------------------------------------------------------
-sal_Int32 ODatabaseMetaDataResultSet::getResultSetType() const
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- return ResultSetType::FORWARD_ONLY;
-}
-//------------------------------------------------------------------------------
-sal_Int32 ODatabaseMetaDataResultSet::getFetchDirection() const
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- return FetchDirection::FORWARD;
-}
-//------------------------------------------------------------------------------
-sal_Int32 ODatabaseMetaDataResultSet::getFetchSize() const
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- sal_Int32 nValue=-1;
- if(m_pRecordSet)
- m_pRecordSet->get_CacheSize(&nValue);
- return nValue;
-}
-//------------------------------------------------------------------------------
-::rtl::OUString ODatabaseMetaDataResultSet::getCursorName() const
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- return ::rtl::OUString();
-}
-
-//------------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setFetchDirection(sal_Int32 /*_par0*/)
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "ResultSet::FetchDirection", *this );
-}
-//------------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setFetchSize(sal_Int32 _par0)
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- if(m_pRecordSet)
- m_pRecordSet->put_CacheSize(_par0);
-}
-// -------------------------------------------------------------------------
-::cppu::IPropertyArrayHelper* ODatabaseMetaDataResultSet::createArrayHelper( ) const
-{
-
- Sequence< com::sun::star::beans::Property > aProps(5);
- com::sun::star::beans::Property* pProperties = aProps.getArray();
- sal_Int32 nPos = 0;
- DECL_PROP0(CURSORNAME, ::rtl::OUString);
- DECL_PROP0(FETCHDIRECTION, sal_Int32);
- DECL_PROP0(FETCHSIZE, sal_Int32);
- DECL_PROP0(RESULTSETCONCURRENCY,sal_Int32);
- DECL_PROP0(RESULTSETTYPE, sal_Int32);
-
- return new ::cppu::OPropertyArrayHelper(aProps);
-}
-// -------------------------------------------------------------------------
-::cppu::IPropertyArrayHelper & ODatabaseMetaDataResultSet::getInfoHelper()
-{
- return *const_cast<ODatabaseMetaDataResultSet*>(this)->getArrayHelper();
-}
-// -------------------------------------------------------------------------
-sal_Bool ODatabaseMetaDataResultSet::convertFastPropertyValue(
- Any & rConvertedValue,
- Any & rOldValue,
- sal_Int32 nHandle,
- const Any& rValue )
- throw (::com::sun::star::lang::IllegalArgumentException)
-{
- switch(nHandle)
- {
- case PROPERTY_ID_CURSORNAME:
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- case PROPERTY_ID_RESULTSETTYPE:
- throw ::com::sun::star::lang::IllegalArgumentException();
- break;
- case PROPERTY_ID_FETCHDIRECTION:
- return ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getFetchDirection());
- case PROPERTY_ID_FETCHSIZE:
- return ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getFetchSize());
- default:
- ;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setFastPropertyValue_NoBroadcast(
- sal_Int32 nHandle,
- const Any& /*rValue*/
- )
- throw (Exception)
-{
- switch(nHandle)
- {
- case PROPERTY_ID_CURSORNAME:
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- case PROPERTY_ID_RESULTSETTYPE:
- case PROPERTY_ID_FETCHDIRECTION:
- case PROPERTY_ID_FETCHSIZE:
- throw Exception();
- break;
- default:
- OSL_FAIL("setFastPropertyValue_NoBroadcast: Illegal handle value!");
- }
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::getFastPropertyValue(
- Any& rValue,
- sal_Int32 nHandle
- ) const
-{
- switch(nHandle)
- {
- case PROPERTY_ID_CURSORNAME:
- rValue <<= getCursorName();
- break;
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- rValue <<= getResultSetConcurrency();
- break;
- case PROPERTY_ID_RESULTSETTYPE:
- rValue <<= getResultSetType();
- break;
- case PROPERTY_ID_FETCHDIRECTION:
- rValue <<= getFetchDirection();
- break;
- case PROPERTY_ID_FETCHSIZE:
- rValue <<= getFetchSize();
- break;
- }
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setProceduresMap()
-{
-
- for(sal_Int32 i=1;i<4;i++)
- m_aColMapping.push_back(i);
- m_aColMapping.push_back(5);
- m_aColMapping.push_back(7);
- m_aColMapping.push_back(8);
- m_aColMapping.push_back(6);
- m_aColMapping.push_back(4);
-
- TInt2IntMap aMap;
- aMap[DB_PT_UNKNOWN] = ProcedureResult::UNKNOWN;
- aMap[DB_PT_PROCEDURE] = ProcedureResult::NONE;
- aMap[DB_PT_FUNCTION] = ProcedureResult::RETURN;
- m_aValueRange[4] = aMap;
-
- ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
- pMetaData->setProceduresMap();
- m_xMetaData = pMetaData;
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setCatalogsMap()
-{
- m_aColMapping.push_back(1);
-
- m_xMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setSchemasMap()
-{
- m_aColMapping.push_back(2);
-
- m_xMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setColumnPrivilegesMap()
-{
-
- m_aColMapping.push_back(3);
- m_aColMapping.push_back(4);
- m_aColMapping.push_back(5);
- m_aColMapping.push_back(6);
- m_aColMapping.push_back(2);
- m_aColMapping.push_back(9);
- m_aColMapping.push_back(10);
-
- ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
- pMetaData->setColumnPrivilegesMap();
- m_xMetaData = pMetaData;
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setColumnsMap()
-{
-
- for(sal_Int32 i=1;i<5;++i)
- m_aColMapping.push_back(i);
-
- m_aColMapping.push_back(12);
- m_aColMapping.push_back(12); // is used as TYPE_NAME
-
- m_aColMapping.push_back(14);
- m_aColMapping.push_back(6);
- m_aColMapping.push_back(17);
- m_aColMapping.push_back(18);
-
- m_aColMapping.push_back(11);
- m_aColMapping.push_back(29);
- m_aColMapping.push_back(9);
- m_aColMapping.push_back(18);
- m_aColMapping.push_back(18);
-
- m_aColMapping.push_back(15);
- m_aColMapping.push_back(7);
- m_aColMapping.push_back(11);
-
- TInt2IntMap aMap;
- aMap[adEmpty] = ADOS::MapADOType2Jdbc(adEmpty);
- aMap[adTinyInt] = ADOS::MapADOType2Jdbc(adTinyInt);
- aMap[adSmallInt] = ADOS::MapADOType2Jdbc(adSmallInt);
- aMap[adInteger] = ADOS::MapADOType2Jdbc(adInteger);
- aMap[adBigInt] = ADOS::MapADOType2Jdbc(adBigInt);
- aMap[adUnsignedTinyInt] = ADOS::MapADOType2Jdbc(adUnsignedTinyInt);
- aMap[adUnsignedSmallInt]= ADOS::MapADOType2Jdbc(adUnsignedSmallInt);
- aMap[adUnsignedInt] = ADOS::MapADOType2Jdbc(adUnsignedInt);
- aMap[adUnsignedBigInt] = ADOS::MapADOType2Jdbc(adUnsignedBigInt);
- aMap[adSingle] = ADOS::MapADOType2Jdbc(adSingle);
- aMap[adDouble] = ADOS::MapADOType2Jdbc(adDouble);
- aMap[adCurrency] = ADOS::MapADOType2Jdbc(adCurrency);
- aMap[adDecimal] = ADOS::MapADOType2Jdbc(adDecimal);
- aMap[adNumeric] = ADOS::MapADOType2Jdbc(adNumeric);
- aMap[adBoolean] = ADOS::MapADOType2Jdbc(adBoolean);
- aMap[adError] = ADOS::MapADOType2Jdbc(adError);
- aMap[adUserDefined] = ADOS::MapADOType2Jdbc(adUserDefined);
- aMap[adVariant] = ADOS::MapADOType2Jdbc(adVariant);
- aMap[adIDispatch] = ADOS::MapADOType2Jdbc(adIDispatch);
- aMap[adIUnknown] = ADOS::MapADOType2Jdbc(adIUnknown);
- aMap[adGUID] = ADOS::MapADOType2Jdbc(adGUID);
- aMap[adDate] = ADOS::MapADOType2Jdbc(adDate);
- aMap[adDBDate] = ADOS::MapADOType2Jdbc(adDBDate);
- aMap[adDBTime] = ADOS::MapADOType2Jdbc(adDBTime);
- aMap[adDBTimeStamp] = ADOS::MapADOType2Jdbc(adDBTimeStamp);
- aMap[adBSTR] = ADOS::MapADOType2Jdbc(adBSTR);
- aMap[adChar] = ADOS::MapADOType2Jdbc(adChar);
- aMap[adVarChar] = ADOS::MapADOType2Jdbc(adVarChar);
- aMap[adLongVarChar] = ADOS::MapADOType2Jdbc(adLongVarChar);
- aMap[adWChar] = ADOS::MapADOType2Jdbc(adWChar);
- aMap[adVarWChar] = ADOS::MapADOType2Jdbc(adVarWChar);
- aMap[adLongVarWChar] = ADOS::MapADOType2Jdbc(adLongVarWChar);
- aMap[adBinary] = ADOS::MapADOType2Jdbc(adBinary);
- aMap[adVarBinary] = ADOS::MapADOType2Jdbc(adVarBinary);
- aMap[adLongVarBinary] = ADOS::MapADOType2Jdbc(adLongVarBinary);
- aMap[adChapter] = ADOS::MapADOType2Jdbc(adChapter);
- aMap[adFileTime] = ADOS::MapADOType2Jdbc(adFileTime);
- aMap[adPropVariant] = ADOS::MapADOType2Jdbc(adPropVariant);
- aMap[adVarNumeric] = ADOS::MapADOType2Jdbc(adVarNumeric);
-
- m_aValueRange[12] = aMap;
-
- ::std::map< sal_Int32,::rtl::OUString> aMap2;
- aMap2[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("YES"));
- aMap2[1] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NO"));
- m_aIntValueRange[18] = aMap2;
-
- ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
- pMetaData->setColumnsMap();
- m_xMetaData = pMetaData;
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setTablesMap()
-{
-
- for(sal_Int32 i=1;i<5;i++)
- m_aColMapping.push_back(i);
- m_aColMapping.push_back(6);
-
- ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
- pMetaData->setTablesMap();
- m_xMetaData = pMetaData;
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setProcedureColumnsMap()
-{
-
- for(sal_Int32 i=1;i<5;i++)
- m_aColMapping.push_back(i);
- m_aColMapping.push_back(6);
- m_aColMapping.push_back(10);
- m_aColMapping.push_back(16);
- m_aColMapping.push_back(13);
- m_aColMapping.push_back(11);
- m_aColMapping.push_back(12);
-
- m_aColMapping.push_back(9);
- m_aColMapping.push_back(14);
-
- TInt2IntMap aMap;
- aMap[DBTYPE_EMPTY] = DataType::SQLNULL;
- aMap[DBTYPE_NULL] = DataType::SQLNULL;
- aMap[DBTYPE_I2] = DataType::SMALLINT;
- aMap[DBTYPE_I4] = DataType::INTEGER;
- aMap[DBTYPE_R4] = DataType::FLOAT;
- aMap[DBTYPE_R8] = DataType::DOUBLE;
- aMap[DBTYPE_CY] = DataType::BIGINT;
- aMap[DBTYPE_DATE] = DataType::DATE;
- aMap[DBTYPE_BSTR] = DataType::VARCHAR;
- aMap[DBTYPE_IDISPATCH] = DataType::OBJECT;
- aMap[DBTYPE_ERROR] = DataType::OTHER;
- aMap[DBTYPE_BOOL] = DataType::BIT;
- aMap[DBTYPE_VARIANT] = DataType::STRUCT;
- aMap[DBTYPE_IUNKNOWN] = DataType::OTHER;
- aMap[DBTYPE_DECIMAL] = DataType::DECIMAL;
- aMap[DBTYPE_UI1] = DataType::TINYINT;
- aMap[DBTYPE_ARRAY] = DataType::ARRAY;
- aMap[DBTYPE_BYREF] = DataType::REF;
- aMap[DBTYPE_I1] = DataType::CHAR;
- aMap[DBTYPE_UI2] = DataType::SMALLINT;
- aMap[DBTYPE_UI4] = DataType::INTEGER;
-
- // aMap[The] = ;
- // aMap[in] = ;
- aMap[DBTYPE_I8] = DataType::BIGINT;
- aMap[DBTYPE_UI8] = DataType::BIGINT;
- aMap[DBTYPE_GUID] = DataType::OTHER;
- aMap[DBTYPE_VECTOR] = DataType::OTHER;
- aMap[DBTYPE_FILETIME] = DataType::OTHER;
- aMap[DBTYPE_RESERVED] = DataType::OTHER;
-
- // aMap[The] = ;
- aMap[DBTYPE_BYTES] = DataType::VARBINARY;
- aMap[DBTYPE_STR] = DataType::LONGVARCHAR;
- aMap[DBTYPE_WSTR] = DataType::LONGVARCHAR;
- aMap[DBTYPE_NUMERIC] = DataType::NUMERIC;
- aMap[DBTYPE_UDT] = DataType::OTHER;
- aMap[DBTYPE_DBDATE] = DataType::DATE;
- aMap[DBTYPE_DBTIME] = DataType::TIME;
- aMap[DBTYPE_DBTIMESTAMP] = DataType::TIMESTAMP;
- aMap[DBTYPE_HCHAPTER] = DataType::OTHER;
- aMap[DBTYPE_PROPVARIANT] = DataType::OTHER;
- aMap[DBTYPE_VARNUMERIC] = DataType::NUMERIC;
-
- m_aValueRange[10] = aMap;
-
- ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
- pMetaData->setProcedureColumnsMap();
- m_xMetaData = pMetaData;
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setPrimaryKeysMap()
-{
-
- sal_Int32 i=1;
- for(;i<5;i++)
- m_aColMapping.push_back(i);
- m_aColMapping.push_back(7);
- m_aColMapping.push_back(8);
-
- ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
- pMetaData->setProcedureColumnsMap();
- m_xMetaData = pMetaData;
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setIndexInfoMap()
-{
-
- sal_Int32 i=1;
- for(;i<4;i++)
- m_aColMapping.push_back(i);
- m_aColMapping.push_back(8);
- m_aColMapping.push_back(4);
- m_aColMapping.push_back(6);
- m_aColMapping.push_back(10);
- m_aColMapping.push_back(17);
- m_aColMapping.push_back(18);
- m_aColMapping.push_back(21);
- m_aColMapping.push_back(22);
- m_aColMapping.push_back(23);
- m_aColMapping.push_back(24);
-
- TInt2IntMap aMap;
- aMap[DBPROPVAL_IT_HASH] = IndexType::HASHED;
- aMap[DBPROPVAL_IT_CONTENT] = IndexType::OTHER;
- aMap[DBPROPVAL_IT_OTHER] = IndexType::OTHER;
- aMap[DBPROPVAL_IT_BTREE] = IndexType::OTHER;
-
- m_aValueRange[10] = aMap;
-
- TInt2IntMap aMap2;
- aMap[0] = 1;
- aMap[1] = 0;
- m_aValueRange[8] = aMap2;
-
- ::std::map< sal_Int32,::rtl::OUString> aMap3;
- aMap3[0] = ::rtl::OUString();
- aMap3[DB_COLLATION_ASC] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("A"));
- aMap3[DB_COLLATION_DESC] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("D"));
-
- m_aIntValueRange[21] = aMap3;
-
- ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
- pMetaData->setIndexInfoMap();
- m_xMetaData = pMetaData;
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setTablePrivilegesMap()
-{
-
- sal_Int32 i=3;
- for(;i<6;i++)
- m_aColMapping.push_back(i);
- m_aColMapping.push_back(1);
- m_aColMapping.push_back(2);
- m_aColMapping.push_back(6);
- m_aColMapping.push_back(7);
-
- ::std::map< sal_Int32,::rtl::OUString> aMap;
- aMap[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("YES"));
- aMap[1] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NO"));
- m_aIntValueRange[7] = aMap;
-
-
- ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
- pMetaData->setTablePrivilegesMap();
- m_xMetaData = pMetaData;
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setCrossReferenceMap()
-{
-
- sal_Int32 i=1;
- for(;i<5;i++)
- m_aColMapping.push_back(i);
- for(i=7;i<11;i++)
- m_aColMapping.push_back(i);
-
- m_aColMapping.push_back(13);
- m_aColMapping.push_back(14);
- m_aColMapping.push_back(15);
- m_aColMapping.push_back(17);
- m_aColMapping.push_back(16);
- m_aColMapping.push_back(18);
-
- ::std::map< ::rtl::OUString,sal_Int32> aMap;
- aMap[ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CASCADE"))] = KeyRule::CASCADE;
- aMap[ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RESTRICT"))] = KeyRule::RESTRICT;
- aMap[ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SET NULL"))] = KeyRule::SET_NULL;
- aMap[ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SET DEFAULT"))] = KeyRule::SET_DEFAULT;
- aMap[ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NO ACTION"))] = KeyRule::NO_ACTION;
-
- m_aStrValueRange[14] = aMap;
- m_aStrValueRange[15] = aMap;
-
- ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
- pMetaData->setCrossReferenceMap();
- m_xMetaData = pMetaData;
-}
-// -------------------------------------------------------------------------
-void ODatabaseMetaDataResultSet::setTypeInfoMap(sal_Bool _bJetEngine)
-{
- sal_Int32 i=1;
- for(;i<19;i++)
- m_aColMapping.push_back(i);
-
- ::std::map< ::rtl::OUString,sal_Int32> aMap1;
- aMap1[ ::rtl::OUString()] = 10;
-
- m_aStrValueRange[18] = aMap1;
-
- TInt2IntMap aMap;
- aMap[adEmpty] = ADOS::MapADOType2Jdbc(adEmpty);
- aMap[adTinyInt] = ADOS::MapADOType2Jdbc(adTinyInt);
- aMap[adSmallInt] = ADOS::MapADOType2Jdbc(adSmallInt);
- aMap[adInteger] = ADOS::MapADOType2Jdbc(adInteger);
- aMap[adBigInt] = ADOS::MapADOType2Jdbc(adBigInt);
- aMap[adUnsignedTinyInt] = ADOS::MapADOType2Jdbc(adUnsignedTinyInt);
- aMap[adUnsignedSmallInt]= ADOS::MapADOType2Jdbc(adUnsignedSmallInt);
- aMap[adUnsignedInt] = ADOS::MapADOType2Jdbc(adUnsignedInt);
- aMap[adUnsignedBigInt] = ADOS::MapADOType2Jdbc(adUnsignedBigInt);
- aMap[adSingle] = ADOS::MapADOType2Jdbc(adSingle);
- aMap[adDouble] = ADOS::MapADOType2Jdbc(adDouble);
- aMap[adCurrency] = ADOS::MapADOType2Jdbc(adCurrency);
- aMap[adDecimal] = ADOS::MapADOType2Jdbc(adDecimal);
- aMap[adNumeric] = ADOS::MapADOType2Jdbc(adNumeric);
- aMap[adBoolean] = ADOS::MapADOType2Jdbc(adBoolean);
- aMap[adError] = ADOS::MapADOType2Jdbc(adError);
- aMap[adUserDefined] = ADOS::MapADOType2Jdbc(adUserDefined);
- aMap[adVariant] = ADOS::MapADOType2Jdbc(adVariant);
- aMap[adIDispatch] = ADOS::MapADOType2Jdbc(adIDispatch);
- aMap[adIUnknown] = ADOS::MapADOType2Jdbc(adIUnknown);
- aMap[adGUID] = ADOS::MapADOType2Jdbc(adGUID);
- aMap[adDate] = _bJetEngine ? ADOS::MapADOType2Jdbc(adDBTimeStamp) : ADOS::MapADOType2Jdbc(adDate);
- aMap[adDBDate] = ADOS::MapADOType2Jdbc(adDBDate);
- aMap[adDBTime] = ADOS::MapADOType2Jdbc(adDBTime);
- aMap[adDBTimeStamp] = ADOS::MapADOType2Jdbc(adDBTimeStamp);
- aMap[adBSTR] = ADOS::MapADOType2Jdbc(adBSTR);
- aMap[adChar] = ADOS::MapADOType2Jdbc(adChar);
- aMap[adVarChar] = ADOS::MapADOType2Jdbc(adVarChar);
- aMap[adLongVarChar] = ADOS::MapADOType2Jdbc(adLongVarChar);
- aMap[adWChar] = ADOS::MapADOType2Jdbc(adWChar);
- aMap[adVarWChar] = ADOS::MapADOType2Jdbc(adVarWChar);
- aMap[adLongVarWChar] = ADOS::MapADOType2Jdbc(adLongVarWChar);
- aMap[adBinary] = ADOS::MapADOType2Jdbc(adBinary);
- aMap[adVarBinary] = ADOS::MapADOType2Jdbc(adVarBinary);
- aMap[adLongVarBinary] = ADOS::MapADOType2Jdbc(adLongVarBinary);
- aMap[adChapter] = ADOS::MapADOType2Jdbc(adChapter);
- aMap[adFileTime] = ADOS::MapADOType2Jdbc(adFileTime);
- aMap[adPropVariant] = ADOS::MapADOType2Jdbc(adPropVariant);
- aMap[adVarNumeric] = ADOS::MapADOType2Jdbc(adVarNumeric);
-// aMap[adArray] = ADOS::MapADOType2Jdbc(adArray);
-
- m_aValueRange[2] = aMap;
-
- TInt2IntMap aColumnValueMapping;
- aColumnValueMapping[VARIANT_FALSE] = ColumnValue::NO_NULLS;
- aColumnValueMapping[VARIANT_TRUE] = ColumnValue::NULLABLE;
- m_aValueRange[7] = aColumnValueMapping;
-
- // now adjust the column mapping
- // OJ 24.01.2002 96860
- TInt2IntMap aSerachMapping;
- aSerachMapping[DB_UNSEARCHABLE] = ColumnSearch::NONE;
- aSerachMapping[DB_LIKE_ONLY] = ColumnSearch::CHAR;
- aSerachMapping[DB_ALL_EXCEPT_LIKE] = ColumnSearch::BASIC;
- aSerachMapping[DB_SEARCHABLE] = ColumnSearch::FULL;
-
- m_aValueRange[9] = aSerachMapping;
-
- TInt2IntMap aCurrencyMapping;
- m_aValueRange[11] = aCurrencyMapping;
-
- ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
- pMetaData->setTypeInfoMap();
- m_xMetaData = pMetaData;
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL ODatabaseMetaDataResultSet::acquire() throw()
-{
- ODatabaseMetaDataResultSet_BASE::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL ODatabaseMetaDataResultSet::release() throw()
-{
- ODatabaseMetaDataResultSet_BASE::release();
-}
-// -----------------------------------------------------------------------------
-::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL ODatabaseMetaDataResultSet::getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException)
-{
- return ::cppu::OPropertySetHelper::createPropertySetInfo(getInfoHelper());
-}
-// -----------------------------------------------------------------------------
-OLEVariant ODatabaseMetaDataResultSet::getValue(sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
-
- checkRecordSet();
-
- WpADOField aField = ADOS::getField(m_pRecordSet,columnIndex);
- aField.get_Value(m_aValue);
- return m_aValue;
-}
-// -----------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSetMetaData.cxx b/connectivity/source/drivers/ado/ADatabaseMetaDataResultSetMetaData.cxx
deleted file mode 100644
index e39ea65ead..0000000000
--- a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSetMetaData.cxx
+++ /dev/null
@@ -1,235 +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 "ado/ADatabaseMetaDataResultSetMetaData.hxx"
-#include "ado/Awrapado.hxx"
-#include "connectivity/dbexception.hxx"
-
-
-using namespace connectivity;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-
-// -------------------------------------------------------------------------
-ODatabaseMetaDataResultSetMetaData::~ODatabaseMetaDataResultSetMetaData()
-{
- if(m_pRecordSet)
- m_pRecordSet->Release();
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnDisplaySize( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nSize = 0;
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- nSize = (*m_mColumnsIter).second.getColumnDisplaySize();
- else if(m_pRecordSet)
- {
- WpADOField aField = ADOS::getField(m_pRecordSet,m_vMapping[column]);
- if(aField.IsValid())
- nSize = aField.GetActualSize();
- }
- return nSize;
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnType( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nType = 0;
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- nType = (*m_mColumnsIter).second.getColumnType();
- else if(m_pRecordSet)
- {
- WpADOField aField = ADOS::getField(m_pRecordSet,m_vMapping[column]);
- nType = ADOS::MapADOType2Jdbc(aField.GetADOType());
- }
- return nType;
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnCount( ) throw(SQLException, RuntimeException)
-{
- if(!m_pRecordSet)
- return 0;
- if(m_nColCount != -1)
- return m_nColCount;
-
- if(m_vMapping.size())
- return m_mColumns.size();
-
- ADOFields* pFields = NULL;
- m_pRecordSet->get_Fields(&pFields);
- WpOLEAppendCollection<ADOFields, ADOField, WpADOField> aFields(pFields);
- m_nColCount = aFields.GetItemCount();
- return m_nColCount;
-}
-// -------------------------------------------------------------------------
-
-::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnName( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.getColumnName();
- if(!m_pRecordSet)
- return ::rtl::OUString();
- WpADOField aField = ADOS::getField(m_pRecordSet,m_vMapping[column]);
- if(aField.IsValid())
- return aField.GetName();
-
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnLabel( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.getColumnLabel();
- return getColumnName(column);
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isCurrency( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.isCurrency();
- if(!m_pRecordSet)
- return 0;
- WpADOField aField = ADOS::getField(m_pRecordSet,m_vMapping[column]);
- if(aField.IsValid())
- {
- return (aField.GetAttributes() & adFldFixed) == adFldFixed;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isSigned( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.isSigned();
- if(!m_pRecordSet)
- return 0;
- WpADOField aField = ADOS::getField(m_pRecordSet,m_vMapping[column]);
- if(aField.IsValid())
- {
- return (aField.GetAttributes() & adFldNegativeScale) == adFldNegativeScale;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::getPrecision( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.getPrecision();
- if(!m_pRecordSet)
- return 0;
- WpADOField aField = ADOS::getField(m_pRecordSet,m_vMapping[column]);
- if(aField.IsValid())
- return aField.GetPrecision();
- return 0;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::getScale( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.getScale();
-
- if(!m_pRecordSet)
- return 0;
-
- WpADOField aField = ADOS::getField(m_pRecordSet,m_vMapping[column]);
- if(aField.IsValid())
- return aField.GetNumericScale();
- return 0;
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::isNullable( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.isNullable();
-
- if(!m_pRecordSet)
- return 0;
-
- WpADOField aField = ADOS::getField(m_pRecordSet,m_vMapping[column]);
- if(aField.IsValid())
- {
- return (aField.GetAttributes() & adFldIsNullable) == adFldIsNullable;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isReadOnly( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.isReadOnly();
-
- if(!m_pRecordSet)
- return 0;
-
- WpADOField aField = ADOS::getField(m_pRecordSet,m_vMapping[column]);
- if(aField.IsValid())
- {
- // return (aField.GetStatus() & adFieldReadOnly) == adFieldReadOnly;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isDefinitelyWritable( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.isDefinitelyWritable();
-
- if(!m_pRecordSet)
- return 0;
-
- WpADOField aField = ADOS::getField(m_pRecordSet,m_vMapping[column]);
- if(aField.IsValid())
- {
- return (aField.GetAttributes() & adFldUpdatable) == adFldUpdatable;
- }
- return sal_False;
-;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isWritable( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
- return (*m_mColumnsIter).second.isWritable();
- return isDefinitelyWritable(column);
-}
-// -----------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/ADriver.cxx b/connectivity/source/drivers/ado/ADriver.cxx
deleted file mode 100644
index d209629020..0000000000
--- a/connectivity/source/drivers/ado/ADriver.cxx
+++ /dev/null
@@ -1,306 +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.
- *
- ************************************************************************/
-
-#define _WIN32_WINNT 0x0501
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_connectivity.hxx"
-#include "ado/ADriver.hxx"
-#include "ado/AConnection.hxx"
-#include "ado/Awrapadox.hxx"
-#include "ado/ACatalog.hxx"
-#include "ado/Awrapado.hxx"
-#include "ado/adoimp.hxx"
-#include <com/sun/star/lang/DisposedException.hpp>
-#include "connectivity/dbexception.hxx"
-#include "resource/ado_res.hrc"
-#include <objbase.h>
-
-
-#include "resource/sharedresources.hxx"
-
-using namespace connectivity;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::sdbcx;
-using namespace com::sun::star::lang;
-
-// --------------------------------------------------------------------------------
-// --------------------------------------------------------------------------------
-ODriver::ODriver(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xORB)
- : ODriver_BASE(m_aMutex)
- ,m_xORB(_xORB)
-{
- if ( FAILED(CoInitializeEx(NULL, COINIT_APARTMENTTHREADED)) )
- {
- CoUninitialize();
- int h = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
- (void)h;
- ++h;
- }
-}
-// -------------------------------------------------------------------------
-ODriver::~ODriver()
-{
- CoUninitialize();
- CoInitialize(NULL);
-}
-//------------------------------------------------------------------------------
-void ODriver::disposing()
-{
- ::osl::MutexGuard aGuard(m_aMutex);
-
-
- for (OWeakRefArray::iterator i = m_xConnections.begin(); m_xConnections.end() != i; ++i)
- {
- Reference< XComponent > xComp(i->get(), UNO_QUERY);
- if (xComp.is())
- xComp->dispose();
- }
- m_xConnections.clear();
-
- ODriver_BASE::disposing();
-}
-// static ServiceInfo
-//------------------------------------------------------------------------------
-rtl::OUString ODriver::getImplementationName_Static( ) throw(RuntimeException)
-{
- return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.sdbc.ado.ODriver"));
-}
-//------------------------------------------------------------------------------
-Sequence< ::rtl::OUString > ODriver::getSupportedServiceNames_Static( ) throw (RuntimeException)
-{
- Sequence< ::rtl::OUString > aSNS( 2 );
- aSNS[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sdbc.Driver"));
- aSNS[1] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sdbcx.Driver"));
- return aSNS;
-}
-//------------------------------------------------------------------
-::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL connectivity::ado::ODriver_CreateInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory) throw( ::com::sun::star::uno::Exception )
-{
- return *(new ODriver(_rxFactory));
-}
-
-// --------------------------------------------------------------------------------
-::rtl::OUString SAL_CALL ODriver::getImplementationName( ) throw(RuntimeException)
-{
- return getImplementationName_Static();
-}
-
-// --------------------------------------------------------------------------------
-sal_Bool SAL_CALL ODriver::supportsService( const ::rtl::OUString& _rServiceName ) throw(RuntimeException)
-{
- Sequence< ::rtl::OUString > aSupported(getSupportedServiceNames());
- const ::rtl::OUString* pSupported = aSupported.getConstArray();
- const ::rtl::OUString* pEnd = pSupported + aSupported.getLength();
- for (;pSupported != pEnd && !pSupported->equals(_rServiceName); ++pSupported)
- ;
-
- return pSupported != pEnd;
-}
-
-// --------------------------------------------------------------------------------
-Sequence< ::rtl::OUString > SAL_CALL ODriver::getSupportedServiceNames( ) throw(RuntimeException)
-{
- return getSupportedServiceNames_Static();
-}
-
-// --------------------------------------------------------------------------------
-Reference< XConnection > SAL_CALL ODriver::connect( const ::rtl::OUString& url, const Sequence< PropertyValue >& info ) throw(SQLException, RuntimeException)
-{
- if ( ! acceptsURL(url) )
- return NULL;
-
- OConnection* pCon = new OConnection(this);
- pCon->construct(url,info);
- Reference< XConnection > xCon = pCon;
- m_xConnections.push_back(WeakReferenceHelper(*pCon));
-
- return xCon;
-}
-// --------------------------------------------------------------------------------
-sal_Bool SAL_CALL ODriver::acceptsURL( const ::rtl::OUString& url )
- throw(SQLException, RuntimeException)
-{
- return (!url.compareTo(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:ado:")),9));
-}
-// -----------------------------------------------------------------------------
-void ODriver::impl_checkURL_throw(const ::rtl::OUString& _sUrl)
-{
- if ( !acceptsURL(_sUrl) )
- {
- SharedResources aResources;
- const ::rtl::OUString sMessage = aResources.getResourceString(STR_URI_SYNTAX_ERROR);
- ::dbtools::throwGenericSQLException(sMessage ,*this);
- } // if ( !acceptsURL(_sUrl) )
-}
-// --------------------------------------------------------------------------------
-Sequence< DriverPropertyInfo > SAL_CALL ODriver::getPropertyInfo( const ::rtl::OUString& url, const Sequence< PropertyValue >& /*info*/ ) throw(SQLException, RuntimeException)
-{
- impl_checkURL_throw(url);
- if ( acceptsURL(url) )
- {
- ::std::vector< DriverPropertyInfo > aDriverInfo;
-
- Sequence< ::rtl::OUString > aBooleanValues(2);
- aBooleanValues[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "false" ) );
- aBooleanValues[1] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "true" ) );
-
- aDriverInfo.push_back(DriverPropertyInfo(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IgnoreDriverPrivileges"))
- ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Ignore the privileges from the database driver."))
- ,sal_False
- ,::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "false" ) )
- ,aBooleanValues)
- );
- aDriverInfo.push_back(DriverPropertyInfo(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("EscapeDateTime"))
- ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Escape date time format."))
- ,sal_False
- ,::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "true" ) )
- ,aBooleanValues)
- );
- aDriverInfo.push_back(DriverPropertyInfo(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TypeInfoSettings"))
- ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Defines how the type info of the database metadata should be manipulated."))
- ,sal_False
- ,::rtl::OUString( )
- ,Sequence< ::rtl::OUString > ())
- );
- return Sequence< DriverPropertyInfo >(&aDriverInfo[0],aDriverInfo.size());
- }
- return Sequence< DriverPropertyInfo >();
-}
-// --------------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODriver::getMajorVersion( ) throw(RuntimeException)
-{
- return 1;
-}
-// --------------------------------------------------------------------------------
-sal_Int32 SAL_CALL ODriver::getMinorVersion( ) throw(RuntimeException)
-{
- return 0;
-}
-// --------------------------------------------------------------------------------
-// XDataDefinitionSupplier
-Reference< XTablesSupplier > SAL_CALL ODriver::getDataDefinitionByConnection( const Reference< ::com::sun::star::sdbc::XConnection >& connection ) throw(::com::sun::star::sdbc::SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- if (ODriver_BASE::rBHelper.bDisposed)
- throw DisposedException();
-
- OConnection* pConnection = NULL;
- Reference< ::com::sun::star::lang::XUnoTunnel> xTunnel(connection,UNO_QUERY);
- if(xTunnel.is())
- {
- OConnection* pSearchConnection = reinterpret_cast< OConnection* >( xTunnel->getSomething(OConnection::getUnoTunnelImplementationId()) );
-
- for (OWeakRefArray::iterator i = m_xConnections.begin(); m_xConnections.end() != i; ++i)
- {
- if ((OConnection*) Reference< XConnection >::query(i->get().get()).get() == pSearchConnection)
- {
- pConnection = pSearchConnection;
- break;
- }
- }
-
- }
-
- Reference< XTablesSupplier > xTab = NULL;
- if(pConnection)
- {
- WpADOCatalog aCatalog;
- aCatalog.Create();
- if(aCatalog.IsValid())
- {
- aCatalog.putref_ActiveConnection(*pConnection->getConnection());
- OCatalog* pCatalog = new OCatalog(aCatalog,pConnection);
- xTab = pCatalog;
- pConnection->setCatalog(xTab);
- pConnection->setCatalog(pCatalog);
- }
- }
- return xTab;
-}
-// --------------------------------------------------------------------------------
-Reference< XTablesSupplier > SAL_CALL ODriver::getDataDefinitionByURL( const ::rtl::OUString& url, const Sequence< PropertyValue >& info ) throw(::com::sun::star::sdbc::SQLException, RuntimeException)
-{
- impl_checkURL_throw(url);
- return getDataDefinitionByConnection(connect(url,info));
-}
-
-// -----------------------------------------------------------------------------
-void ADOS::ThrowException(ADOConnection* _pAdoCon,const Reference< XInterface >& _xInterface) throw(SQLException, RuntimeException)
-{
- ADOErrors *pErrors = NULL;
- _pAdoCon->get_Errors(&pErrors);
- if(!pErrors)
- return; // no error found
-
- pErrors->AddRef( );
-
- // read all noted errors and issue them
- sal_Int32 nLen;
- pErrors->get_Count(&nLen);
- if (nLen)
- {
- ::rtl::OUString sError;
- ::rtl::OUString aSQLState;
- SQLException aException;
- aException.ErrorCode = 1000;
- for (sal_Int32 i = nLen-1; i>=0; --i)
- {
- ADOError *pError = NULL;
- pErrors->get_Item(OLEVariant(i),&pError);
- WpADOError aErr(pError);
- OSL_ENSURE(pError,"No error in collection found! BAD!");
- if(pError)
- {
- if(i==nLen-1)
- aException = SQLException(aErr.GetDescription(),_xInterface,aErr.GetSQLState(),aErr.GetNumber(),Any());
- else
- {
- SQLException aTemp = SQLException(aErr.GetDescription(),
- _xInterface,aErr.GetSQLState(),aErr.GetNumber(),makeAny(aException));
- aTemp.NextException <<= aException;
- aException = aTemp;
- }
- }
- }
- pErrors->Clear();
- pErrors->Release();
- throw aException;
- }
- pErrors->Release();
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AGroup.cxx b/connectivity/source/drivers/ado/AGroup.cxx
deleted file mode 100644
index d02204b1ec..0000000000
--- a/connectivity/source/drivers/ado/AGroup.cxx
+++ /dev/null
@@ -1,190 +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 "ado/AGroup.hxx"
-#include "ado/AUsers.hxx"
-#include <cppuhelper/typeprovider.hxx>
-#include <comphelper/sequence.hxx>
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include "ado/AConnection.hxx"
-#include "TConnection.hxx"
-
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::sdbcx;
-
-// -------------------------------------------------------------------------
-void WpADOGroup::Create()
-{
- HRESULT hr = -1;
- ADOGroup* pGroup = NULL;
- hr = CoCreateInstance(ADOS::CLSID_ADOGROUP_25,
- NULL,
- CLSCTX_INPROC_SERVER,
- ADOS::IID_ADOGROUP_25,
- (void**)&pGroup );
-
-
- if( !FAILED( hr ) )
- {
- operator=( pGroup );
- pGroup->Release();
- }
-}
-// -------------------------------------------------------------------------
-OAdoGroup::OAdoGroup(OCatalog* _pParent,sal_Bool _bCase, ADOGroup* _pGroup) : OGroup_ADO(_bCase),m_pCatalog(_pParent)
-{
- construct();
- if(_pGroup)
- m_aGroup = WpADOGroup(_pGroup);
- else
- m_aGroup.Create();
-
-}
-// -------------------------------------------------------------------------
-OAdoGroup::OAdoGroup(OCatalog* _pParent,sal_Bool _bCase, const ::rtl::OUString& _Name) : OGroup_ADO(_Name,_bCase),m_pCatalog(_pParent)
-{
- construct();
- m_aGroup.Create();
- m_aGroup.put_Name(_Name);
-}
-// -------------------------------------------------------------------------
-void OAdoGroup::refreshUsers()
-{
- TStringVector aVector;
-
- WpADOUsers aUsers = m_aGroup.get_Users();
- aUsers.fillElementNames(aVector);
-
- if(m_pUsers)
- m_pUsers->reFill(aVector);
- else
- m_pUsers = new OUsers(m_pCatalog,m_aMutex,aVector,aUsers,isCaseSensitive());
-}
-//--------------------------------------------------------------------------
-Sequence< sal_Int8 > OAdoGroup::getUnoTunnelImplementationId()
-{
- static ::cppu::OImplementationId * pId = 0;
- if (! pId)
- {
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if (! pId)
- {
- static ::cppu::OImplementationId aId;
- pId = &aId;
- }
- }
- return pId->getImplementationId();
-}
-
-// com::sun::star::lang::XUnoTunnel
-//------------------------------------------------------------------
-sal_Int64 OAdoGroup::getSomething( const Sequence< sal_Int8 > & rId ) throw (RuntimeException)
-{
- return (rId.getLength() == 16 && 0 == rtl_compareMemory(getUnoTunnelImplementationId().getConstArray(), rId.getConstArray(), 16 ) )
- ? reinterpret_cast< sal_Int64 >( this )
- : OGroup_ADO::getSomething(rId);
-}
-
-// -------------------------------------------------------------------------
-void OAdoGroup::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const Any& rValue)throw (Exception)
-{
- if(m_aGroup.IsValid())
- {
-
- switch(nHandle)
- {
- case PROPERTY_ID_NAME:
- {
- ::rtl::OUString aVal;
- rValue >>= aVal;
- m_aGroup.put_Name(aVal);
- }
- break;
- }
- }
-}
-// -------------------------------------------------------------------------
-void OAdoGroup::getFastPropertyValue(Any& rValue,sal_Int32 nHandle) const
-{
- if(m_aGroup.IsValid())
- {
- switch(nHandle)
- {
- case PROPERTY_ID_NAME:
- rValue <<= m_aGroup.get_Name();
- break;
- }
- }
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL OAdoGroup::getPrivileges( const ::rtl::OUString& objName, sal_Int32 objType ) throw(::com::sun::star::sdbc::SQLException, RuntimeException)
-{
- return MapRight(m_aGroup.GetPermissions(objName,MapObjectType(objType)));
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL OAdoGroup::getGrantablePrivileges( const ::rtl::OUString& objName, sal_Int32 objType ) throw(::com::sun::star::sdbc::SQLException, RuntimeException)
-{
- RightsEnum eNum = m_aGroup.GetPermissions(objName,MapObjectType(objType));
- if(eNum & adRightWithGrant)
- return MapRight(eNum);
- return 0;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OAdoGroup::grantPrivileges( const ::rtl::OUString& objName, sal_Int32 objType, sal_Int32 objPrivileges ) throw(::com::sun::star::sdbc::SQLException, RuntimeException)
-{
- m_aGroup.SetPermissions(objName,MapObjectType(objType),adAccessGrant,Map2Right(objPrivileges));
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OAdoGroup::revokePrivileges( const ::rtl::OUString& objName, sal_Int32 objType, sal_Int32 objPrivileges ) throw(::com::sun::star::sdbc::SQLException, RuntimeException)
-{
- m_aGroup.SetPermissions(objName,MapObjectType(objType),adAccessDeny,Map2Right(objPrivileges));
-}
-
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoGroup::acquire() throw()
-{
- OGroup_ADO::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoGroup::release() throw()
-{
- OGroup_ADO::release();
-}
-// -----------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AGroups.cxx b/connectivity/source/drivers/ado/AGroups.cxx
deleted file mode 100644
index 269a315daa..0000000000
--- a/connectivity/source/drivers/ado/AGroups.cxx
+++ /dev/null
@@ -1,90 +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 "ado/AGroups.hxx"
-#include "ado/AGroup.hxx"
-#include "ado/ATable.hxx"
-#include "ado/AConnection.hxx"
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include "connectivity/sdbcx/IRefreshable.hxx"
-#include "TConnection.hxx"
-#include <comphelper/types.hxx>
-#include <connectivity/dbexception.hxx>
-#include "resource/ado_res.hrc"
-
-using namespace comphelper;
-using namespace connectivity;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::container;
-
-typedef connectivity::sdbcx::OCollection OCollection_TYPE;
-// -------------------------------------------------------------------------
-sdbcx::ObjectType OGroups::createObject(const ::rtl::OUString& _rName)
-{
- return new OAdoGroup(m_pCatalog,isCaseSensitive(),_rName);
-}
-// -------------------------------------------------------------------------
-void OGroups::impl_refresh() throw(RuntimeException)
-{
- m_aCollection.Refresh();
-}
-// -------------------------------------------------------------------------
-Reference< XPropertySet > OGroups::createDescriptor()
-{
- return new OAdoGroup(m_pCatalog,isCaseSensitive());
-}
-// -------------------------------------------------------------------------
-// XAppend
-sdbcx::ObjectType OGroups::appendObject( const ::rtl::OUString& _rForName, const Reference< XPropertySet >& descriptor )
-{
- OAdoGroup* pGroup = NULL;
- if ( !getImplementation(pGroup,descriptor) || pGroup == NULL )
- m_pCatalog->getConnection()->throwGenericSQLException( STR_INVALID_GROUP_DESCRIPTOR_ERROR,static_cast<XTypeProvider*>(this) );
-
- m_aCollection.Append( pGroup->getImpl() );
- return createObject( _rForName );
-}
-// -------------------------------------------------------------------------
-// XDrop
-void OGroups::dropObject(sal_Int32 /*_nPos*/,const ::rtl::OUString _sElementName)
-{
- m_aCollection.Delete(_sElementName);
-}
-// -----------------------------------------------------------------------------
-
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AIndex.cxx b/connectivity/source/drivers/ado/AIndex.cxx
deleted file mode 100644
index 906d03fb23..0000000000
--- a/connectivity/source/drivers/ado/AIndex.cxx
+++ /dev/null
@@ -1,159 +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 "ado/AIndex.hxx"
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <cppuhelper/typeprovider.hxx>
-#include <comphelper/sequence.hxx>
-#include "ado/AColumns.hxx"
-#include <comphelper/extract.hxx>
-#include "TConnection.hxx"
-#include <comphelper/types.hxx>
-
-using namespace ::comphelper;
-
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-
-// -------------------------------------------------------------------------
-OAdoIndex::OAdoIndex(sal_Bool _bCase,OConnection* _pConnection,ADOIndex* _pIndex)
- : OIndex_ADO(::rtl::OUString(),::rtl::OUString(),sal_False,sal_False,sal_False,_bCase)
- ,m_pConnection(_pConnection)
-{
- construct();
- m_aIndex = WpADOIndex(_pIndex);
- fillPropertyValues();
-}
-// -------------------------------------------------------------------------
-OAdoIndex::OAdoIndex(sal_Bool _bCase,OConnection* _pConnection)
- : OIndex_ADO(_bCase)
- ,m_pConnection(_pConnection)
-{
- construct();
- m_aIndex.Create();
-}
-
-// -------------------------------------------------------------------------
-
-void OAdoIndex::refreshColumns()
-{
- TStringVector aVector;
-
- WpADOColumns aColumns;
- if ( m_aIndex.IsValid() )
- {
- aColumns = m_aIndex.get_Columns();
- aColumns.fillElementNames(aVector);
- }
-
- if ( m_pColumns )
- m_pColumns->reFill(aVector);
- else
- m_pColumns = new OColumns(*this,m_aMutex,aVector,aColumns,isCaseSensitive(),m_pConnection);
-}
-
-// -------------------------------------------------------------------------
-Sequence< sal_Int8 > OAdoIndex::getUnoTunnelImplementationId()
-{
- static ::cppu::OImplementationId * pId = 0;
- if (! pId)
- {
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if (! pId)
- {
- static ::cppu::OImplementationId aId;
- pId = &aId;
- }
- }
- return pId->getImplementationId();
-}
-
-// com::sun::star::lang::XUnoTunnel
-//------------------------------------------------------------------
-sal_Int64 OAdoIndex::getSomething( const Sequence< sal_Int8 > & rId ) throw (RuntimeException)
-{
- return (rId.getLength() == 16 && 0 == rtl_compareMemory(getUnoTunnelImplementationId().getConstArray(), rId.getConstArray(), 16 ) )
- ? reinterpret_cast< sal_Int64 >( this )
- : OIndex_ADO::getSomething(rId);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OAdoIndex::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const Any& rValue)throw (Exception)
-{
- if(m_aIndex.IsValid())
- {
- switch(nHandle)
- {
- case PROPERTY_ID_NAME:
- {
- ::rtl::OUString aVal;
- rValue >>= aVal;
- m_aIndex.put_Name(aVal);
- }
- break;
- case PROPERTY_ID_CATALOG:
- {
- ::rtl::OUString aVal;
- rValue >>= aVal;
- m_aIndex.put_Name(aVal);
- }
- break;
- case PROPERTY_ID_ISUNIQUE:
- m_aIndex.put_Unique(getBOOL(rValue));
- break;
- case PROPERTY_ID_ISPRIMARYKEYINDEX:
- m_aIndex.put_PrimaryKey(getBOOL(rValue));
- break;
- case PROPERTY_ID_ISCLUSTERED:
- m_aIndex.put_Clustered(getBOOL(rValue));
- break;
- }
- }
- OIndex_ADO::setFastPropertyValue_NoBroadcast(nHandle,rValue);
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoIndex::acquire() throw()
-{
- OIndex_ADO::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoIndex::release() throw()
-{
- OIndex_ADO::release();
-}
-// -----------------------------------------------------------------------------
-
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AIndexes.cxx b/connectivity/source/drivers/ado/AIndexes.cxx
deleted file mode 100644
index 7b645e6223..0000000000
--- a/connectivity/source/drivers/ado/AIndexes.cxx
+++ /dev/null
@@ -1,92 +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 "ado/AIndexes.hxx"
-#include "ado/AIndex.hxx"
-#include "ado/AConnection.hxx"
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <com/sun/star/sdbc/IndexType.hpp>
-#include "TConnection.hxx"
-#include <comphelper/types.hxx>
-#include <connectivity/dbexception.hxx>
-#include "resource/ado_res.hrc"
-using namespace ::comphelper;
-
-
-using namespace connectivity;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::container;
-
-sdbcx::ObjectType OIndexes::createObject(const ::rtl::OUString& _rName)
-{
- return new OAdoIndex(isCaseSensitive(),m_pConnection,m_aCollection.GetItem(_rName));
-}
-// -------------------------------------------------------------------------
-void OIndexes::impl_refresh() throw(RuntimeException)
-{
- m_aCollection.Refresh();
-}
-// -------------------------------------------------------------------------
-Reference< XPropertySet > OIndexes::createDescriptor()
-{
- return new OAdoIndex(isCaseSensitive(),m_pConnection);
-}
-// -------------------------------------------------------------------------
-// XAppend
-sdbcx::ObjectType OIndexes::appendObject( const ::rtl::OUString& _rForName, const Reference< XPropertySet >& descriptor )
-{
- OAdoIndex* pIndex = NULL;
- if ( !getImplementation(pIndex,descriptor) || pIndex == NULL )
- m_pConnection->throwGenericSQLException( STR_INVALID_INDEX_DESCRIPTOR_ERROR,static_cast<XTypeProvider*>(this) );
-
- ADOIndexes* pIndexes = m_aCollection;
- if ( FAILED( pIndexes->Append( OLEVariant( _rForName ), OLEVariant( pIndex->getImpl() ) ) ) )
- {
- ADOS::ThrowException(*m_pConnection->getConnection(),static_cast<XTypeProvider*>(this));
- m_pConnection->throwGenericSQLException( STR_INVALID_INDEX_DESCRIPTOR_ERROR,static_cast<XTypeProvider*>(this) );
- }
-
- return new OAdoIndex(isCaseSensitive(),m_pConnection,pIndex->getImpl());
-}
-// -------------------------------------------------------------------------
-// XDrop
-void OIndexes::dropObject(sal_Int32 /*_nPos*/,const ::rtl::OUString _sElementName)
-{
- m_aCollection.Delete(_sElementName);
-}
-// -----------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AKey.cxx b/connectivity/source/drivers/ado/AKey.cxx
deleted file mode 100644
index 6407881fd4..0000000000
--- a/connectivity/source/drivers/ado/AKey.cxx
+++ /dev/null
@@ -1,169 +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 "ado/AKey.hxx"
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <cppuhelper/typeprovider.hxx>
-#include <comphelper/sequence.hxx>
-#include "ado/AColumns.hxx"
-#include "ado/AConnection.hxx"
-
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::sdbcx;
-
-// -------------------------------------------------------------------------
-OAdoKey::OAdoKey(sal_Bool _bCase,OConnection* _pConnection, ADOKey* _pKey)
- : OKey_ADO(_bCase)
- ,m_pConnection(_pConnection)
-{
- construct();
- m_aKey = WpADOKey(_pKey);
- fillPropertyValues();
-}
-// -------------------------------------------------------------------------
-OAdoKey::OAdoKey(sal_Bool _bCase,OConnection* _pConnection)
- : OKey_ADO(_bCase)
- ,m_pConnection(_pConnection)
-{
- construct();
- m_aKey.Create();
-}
-// -------------------------------------------------------------------------
-void OAdoKey::refreshColumns()
-{
- TStringVector aVector;
-
- WpADOColumns aColumns;
- if ( m_aKey.IsValid() )
- {
- aColumns = m_aKey.get_Columns();
- aColumns.fillElementNames(aVector);
- }
-
- if(m_pColumns)
- m_pColumns->reFill(aVector);
- else
- m_pColumns = new OColumns(*this,m_aMutex,aVector,aColumns,isCaseSensitive(),m_pConnection);
-}
-// -------------------------------------------------------------------------
-Sequence< sal_Int8 > OAdoKey::getUnoTunnelImplementationId()
-{
- static ::cppu::OImplementationId * pId = 0;
- if (! pId)
- {
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if (! pId)
- {
- static ::cppu::OImplementationId aId;
- pId = &aId;
- }
- }
- return pId->getImplementationId();
-}
-
-// com::sun::star::lang::XUnoTunnel
-//------------------------------------------------------------------
-sal_Int64 OAdoKey::getSomething( const Sequence< sal_Int8 > & rId ) throw (RuntimeException)
-{
- return (rId.getLength() == 16 && 0 == rtl_compareMemory(getUnoTunnelImplementationId().getConstArray(), rId.getConstArray(), 16 ) )
- ? reinterpret_cast< sal_Int64 >( this )
- : OKey_ADO::getSomething(rId);
-}
-// -------------------------------------------------------------------------
-void OAdoKey::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const Any& rValue)throw (Exception)
-{
- if(m_aKey.IsValid())
- {
- switch(nHandle)
- {
- case PROPERTY_ID_NAME:
- {
- ::rtl::OUString aVal;
- rValue >>= aVal;
- m_aKey.put_Name(aVal);
- ADOS::ThrowException(*m_pConnection->getConnection(),*this);
- }
- break;
- case PROPERTY_ID_TYPE:
- {
- sal_Int32 nVal=0;
- rValue >>= nVal;
- m_aKey.put_Type(Map2KeyRule(nVal));
- ADOS::ThrowException(*m_pConnection->getConnection(),*this);
- }
- break;
- case PROPERTY_ID_REFERENCEDTABLE:
- {
- ::rtl::OUString aVal;
- rValue >>= aVal;
- m_aKey.put_RelatedTable(aVal);
- ADOS::ThrowException(*m_pConnection->getConnection(),*this);
- }
- break;
- case PROPERTY_ID_UPDATERULE:
- {
- sal_Int32 nVal=0;
- rValue >>= nVal;
- m_aKey.put_UpdateRule(Map2Rule(nVal));
- ADOS::ThrowException(*m_pConnection->getConnection(),*this);
- }
- break;
- case PROPERTY_ID_DELETERULE:
- {
- sal_Int32 nVal=0;
- rValue >>= nVal;
- m_aKey.put_DeleteRule(Map2Rule(nVal));
- ADOS::ThrowException(*m_pConnection->getConnection(),*this);
- }
- break;
- }
- }
- OKey_ADO::setFastPropertyValue_NoBroadcast(nHandle,rValue);
-}
-// -------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoKey::acquire() throw()
-{
- OKey_ADO::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoKey::release() throw()
-{
- OKey_ADO::release();
-}
-// -----------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AKeyColumn.cxx b/connectivity/source/drivers/ado/AKeyColumn.cxx
deleted file mode 100644
index ff0bb3cafd..0000000000
--- a/connectivity/source/drivers/ado/AKeyColumn.cxx
+++ /dev/null
@@ -1,71 +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/BKeyColumn.hxx"
-
-using namespace connectivity::adabas;
-namespace starbeans = ::com::sun::star::beans;
-// -------------------------------------------------------------------------
-OKeyColumn::OKeyColumn() : OColumn()
-{
- construct();
-}
-// -------------------------------------------------------------------------
-OKeyColumn::OKeyColumn( const ::rtl::OUString& _ReferencedColumn,
- const ::rtl::OUString& _Name,
- const ::rtl::OUString& _TypeName,
- const ::rtl::OUString& _DefaultValue,
- sal_Int32 _IsNullable,
- sal_Int32 _Precision,
- sal_Int32 _Scale,
- sal_Int32 _Type,
- sal_Bool _IsAutoIncrement
- ) : OColumn(_Name,
- _TypeName,
- _DefaultValue,
- _IsNullable,
- _Precision,
- _Scale,
- _Type,
- _IsAutoIncrement)
- , m_ReferencedColumn(_ReferencedColumn)
-{
- construct();
-}
-
-// -------------------------------------------------------------------------
-void OKeyColumn::construct()
-{
- sal_Int32 nAttrib = isNew() ? 0 : starbeans::PropertyAttribute::READONLY;
- registerProperty(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_RELATEDCOLUMN), PROPERTY_ID_RELATEDCOLUMN, nAttrib,&m_ReferencedColumn, ::getCppuType(reinterpret_cast< ::rtl::OUString*>(NULL)));
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AKeyColumns.cxx b/connectivity/source/drivers/ado/AKeyColumns.cxx
deleted file mode 100644
index f7449bf1a3..0000000000
--- a/connectivity/source/drivers/ado/AKeyColumns.cxx
+++ /dev/null
@@ -1,97 +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/BKeyColumns.hxx"
-#include "adabas/BKeyColumn.hxx"
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <com/sun/star/sdbc/DataType.hpp>
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include "adabas/BTable.hxx"
-
-using namespace connectivity::adabas;
-// -------------------------------------------------------------------------
-sdbcx::ObjectType OKeyColumns::createObject(const ::rtl::OUString& _rName)
-{
-
- Reference< starsdbc::XResultSet >
- xResult = m_pTable->getConnection()->getMetaData()->getImportedKeys(Any(),
- m_pTable->getSchema(),m_pTable->getName());
-
- ::rtl::OUString aRefColumnName;
- if(xResult.is())
- {
- Reference< starsdbc::XRow > xRow(xResult,UNO_QUERY);
- while(xResult->next())
- {
- if(xRow->getString(8) == _rName)
- {
- aRefColumnName = xRow->getString(4);
- break;
- }
- }
- }
-
- xResult = m_pTable->getConnection()->getMetaData()->getColumns(Any(),
- m_pTable->getSchema(),m_pTable->getName(),_rName);
-
- sdbcx::ObjectType xRet = NULL;
- if(xResult.is())
- {
- Reference< starsdbc::XRow > xRow(xResult,UNO_QUERY);
- if(xResult->next())
- {
- if(xRow->getString(4) == _rName)
- {
- OKeyColumn* pRet = new OKeyColumn(aRefColumnName,
- _rName,
- xRow->getString(6),
- xRow->getString(13),
- xRow->getInt(11),
- xRow->getInt(7),
- xRow->getInt(9),
- xRow->getInt(5),
- sal_False);
- xRet = pRet;
- }
- }
- }
-
- return xRet;
-}
-// -------------------------------------------------------------------------
-Reference< XPropertySet > OKeyColumns::createDescriptor()
-{
- OKeyColumn* pNew = new OKeyColumn();
- return pNew;
-}
-// -------------------------------------------------------------------------
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AKeys.cxx b/connectivity/source/drivers/ado/AKeys.cxx
deleted file mode 100644
index cfdd4a82d8..0000000000
--- a/connectivity/source/drivers/ado/AKeys.cxx
+++ /dev/null
@@ -1,115 +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 "ado/AKeys.hxx"
-#include "ado/AKey.hxx"
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <com/sun/star/sdbcx/KeyType.hpp>
-#include <com/sun/star/sdbc/KeyRule.hpp>
-#include "ado/AConnection.hxx"
-#include <comphelper/types.hxx>
-#include "ado/Awrapado.hxx"
-#include <comphelper/property.hxx>
-#include <connectivity/dbexception.hxx>
-#include "resource/ado_res.hrc"
-
-using namespace ::comphelper;
-using namespace connectivity;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::sdbcx;
-using namespace com::sun::star::container;
-
-sdbcx::ObjectType OKeys::createObject(const ::rtl::OUString& _rName)
-{
- return new OAdoKey(isCaseSensitive(),m_pConnection,m_aCollection.GetItem(_rName));
-}
-// -------------------------------------------------------------------------
-void OKeys::impl_refresh() throw(RuntimeException)
-{
- m_aCollection.Refresh();
-}
-// -------------------------------------------------------------------------
-Reference< XPropertySet > OKeys::createDescriptor()
-{
- return new OAdoKey(isCaseSensitive(),m_pConnection);
-}
-// -------------------------------------------------------------------------
-// XAppend
-sdbcx::ObjectType OKeys::appendObject( const ::rtl::OUString&, const Reference< XPropertySet >& descriptor )
-{
- OAdoKey* pKey = NULL;
- if ( !getImplementation( pKey, descriptor ) || pKey == NULL)
- m_pConnection->throwGenericSQLException( STR_INVALID_KEY_DESCRIPTOR_ERROR,static_cast<XTypeProvider*>(this) );
-
- // To pass as column parameter to Key's Apppend method
- OLEVariant vOptional;
- vOptional.setNoArg();
-
-#if OSL_DEBUG_LEVEL > 0
- KeyTypeEnum eKey =
-#endif
- OAdoKey::Map2KeyRule(getINT32(descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE))));
-#if OSL_DEBUG_LEVEL > 0
- (void)eKey;
-#endif
-
- WpADOKey aKey = pKey->getImpl();
- ::rtl::OUString sName = aKey.get_Name();
- if(!sName.getLength())
- aKey.put_Name(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PrimaryKey")) );
-
- ADOKeys* pKeys = m_aCollection;
- if ( FAILED(pKeys->Append(OLEVariant((ADOKey*)aKey),
- adKeyPrimary, // must be every time adKeyPrimary
- vOptional)) )
- {
- ADOS::ThrowException(*m_pConnection->getConnection(),static_cast<XTypeProvider*>(this));
- // just make sure that an SQLExceptionis thrown here
- m_pConnection->throwGenericSQLException( STR_INVALID_KEY_DESCRIPTOR_ERROR,static_cast<XTypeProvider*>(this) );
- }
-
- return new OAdoKey(isCaseSensitive(),m_pConnection,pKey->getImpl());
-}
-// -------------------------------------------------------------------------
-// XDrop
-void OKeys::dropObject(sal_Int32 /*_nPos*/,const ::rtl::OUString _sElementName)
-{
- if(!m_aCollection.Delete(OLEVariant(_sElementName)))
- ADOS::ThrowException(*m_pConnection->getConnection(),static_cast<XTypeProvider*>(this));
-}
-// -----------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/APreparedStatement.cxx b/connectivity/source/drivers/ado/APreparedStatement.cxx
deleted file mode 100644
index eabdef9430..0000000000
--- a/connectivity/source/drivers/ado/APreparedStatement.cxx
+++ /dev/null
@@ -1,566 +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 "connectivity/sqlparse.hxx"
-#include "ado/APreparedStatement.hxx"
-#include <com/sun/star/sdbc/DataType.hpp>
-#include "ado/AResultSetMetaData.hxx"
-#include "ado/AResultSet.hxx"
-#include "ado/ADriver.hxx"
-#include <com/sun/star/lang/DisposedException.hpp>
-#include <cppuhelper/typeprovider.hxx>
-#include <comphelper/sequence.hxx>
-#include "connectivity/dbexception.hxx"
-#include "connectivity/dbtools.hxx"
-#include "resource/ado_res.hrc"
-
-#include <limits>
-
-#define CHECK_RETURN(x) \
- if(!x) \
- ADOS::ThrowException(*m_pConnection->getConnection(),*this);
-
-#ifdef max
-# undef max
-#endif
-
-//------------------------------------------------------------------------------
-//------------------------------------------------------------------------------
-using namespace connectivity::ado;
-using namespace connectivity;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::util;
-
-
-IMPLEMENT_SERVICE_INFO(OPreparedStatement,"com.sun.star.sdbcx.APreparedStatement","com.sun.star.sdbc.PreparedStatement");
-
-OPreparedStatement::OPreparedStatement( OConnection* _pConnection,const OTypeInfoMap& _TypeInfo,const ::rtl::OUString& sql)
- : OStatement_Base( _pConnection )
- ,m_aTypeInfo(_TypeInfo)
-{
- osl_incrementInterlockedCount( &m_refCount );
-
- OSQLParser aParser(_pConnection->getDriver()->getORB());
- ::rtl::OUString sErrorMessage;
- ::rtl::OUString sNewSql;
- OSQLParseNode* pNode = aParser.parseTree(sErrorMessage,sql);
- if(pNode)
- { // special handling for parameters
- /* we recusive replace all occurrences of ? in the statement and replace them with name like "æ¬å" */
- sal_Int32 nParameterCount = 0;
- ::rtl::OUString sDefaultName( RTL_CONSTASCII_USTRINGPARAM( "parame" ));
- replaceParameterNodeName(pNode,sDefaultName,nParameterCount);
- pNode->parseNodeToStr( sNewSql, _pConnection );
- delete pNode;
- }
- else
- sNewSql = sql;
- CHECK_RETURN(m_Command.put_CommandText(sNewSql))
- CHECK_RETURN(m_Command.put_Prepared(VARIANT_TRUE))
- m_pParameters = m_Command.get_Parameters();
- m_pParameters->AddRef();
- m_pParameters->Refresh();
-
- osl_decrementInterlockedCount( &m_refCount );
-}
-
-// -------------------------------------------------------------------------
-OPreparedStatement::~OPreparedStatement()
-{
- if (m_pParameters)
- {
- OSL_FAIL( "OPreparedStatement::~OPreparedStatement: not disposed!" );
- m_pParameters->Release();
- m_pParameters = NULL;
- }
-}
-
-// -------------------------------------------------------------------------
-
-Any SAL_CALL OPreparedStatement::queryInterface( const Type & rType ) throw(RuntimeException)
-{
- Any aRet = OStatement_Base::queryInterface(rType);
- return aRet.hasValue() ? aRet : ::cppu::queryInterface( rType,
- static_cast< XPreparedStatement*>(this),
- static_cast< XParameters*>(this),
- static_cast< XPreparedBatchExecution*>(this),
- static_cast< XResultSetMetaDataSupplier*>(this));
-}
-// -------------------------------------------------------------------------
-::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL OPreparedStatement::getTypes( ) throw(::com::sun::star::uno::RuntimeException)
-{
- ::cppu::OTypeCollection aTypes( ::getCppuType( (const ::com::sun::star::uno::Reference< XPreparedStatement > *)0 ),
- ::getCppuType( (const ::com::sun::star::uno::Reference< XParameters > *)0 ),
- ::getCppuType( (const ::com::sun::star::uno::Reference< XResultSetMetaDataSupplier > *)0 ),
- ::getCppuType( (const ::com::sun::star::uno::Reference< XPreparedBatchExecution > *)0 ));
-
- return ::comphelper::concatSequences(aTypes.getTypes(),OStatement_Base::getTypes());
-}
-// -------------------------------------------------------------------------
-
-Reference< XResultSetMetaData > SAL_CALL OPreparedStatement::getMetaData( ) throw(SQLException, RuntimeException)
-{
- if(!m_xMetaData.is() && m_RecordSet.IsValid())
- m_xMetaData = new OResultSetMetaData(m_RecordSet);
- return m_xMetaData;
-}
-// -------------------------------------------------------------------------
-void OPreparedStatement::disposing()
-{
-m_xMetaData.clear();
- if (m_pParameters)
- {
- m_pParameters->Release();
- m_pParameters = NULL;
- }
- OStatement_Base::disposing();
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::close( ) throw(SQLException, RuntimeException)
-{
-
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
- }
- dispose();
-
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OPreparedStatement::execute( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- SQLWarning warning;
-
- // Reset warnings
-
- clearWarnings ();
-
- // Reset the statement handle, warning and saved Resultset
-
- // reset();
-
- // Call SQLExecute
-
- try {
- ADORecordset* pSet=NULL;
- CHECK_RETURN(m_Command.Execute(m_RecordsAffected,m_Parameters,adCmdUnknown,&pSet))
- m_RecordSet = WpADORecordset(pSet);
- }
- catch (SQLWarning& ex)
- {
-
- // Save pointer to warning and save with ResultSet
- // object once it is created.
-
- warning = ex;
- }
- return m_RecordSet.IsValid();
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL OPreparedStatement::executeUpdate( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- ADORecordset* pSet=NULL;
- CHECK_RETURN(m_Command.Execute(m_RecordsAffected,m_Parameters,adCmdUnknown,&pSet))
- if ( VT_ERROR == m_RecordsAffected.getType() )
- {
- ADOS::ThrowException(*m_pConnection->getConnection(),*this);
- // to be sure that we get the error really thrown
- throw SQLException();
- }
- m_RecordSet = WpADORecordset(pSet);
- return static_cast<sal_Int32>(m_RecordsAffected);
-}
-
-// -------------------------------------------------------------------------
-void OPreparedStatement::setParameter(sal_Int32 parameterIndex, const DataTypeEnum& _eType,
- const sal_Int32& _nSize,const OLEVariant& _Val) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- sal_Int32 nCount = 0;
- m_pParameters->get_Count(&nCount);
- if(nCount < (parameterIndex-1))
- {
- ::rtl::OUString sDefaultName( RTL_CONSTASCII_USTRINGPARAM( "parame" ));
- sDefaultName += ::rtl::OUString::valueOf(parameterIndex);
- ADOParameter* pParam = m_Command.CreateParameter(sDefaultName,_eType,adParamInput,_nSize,_Val);
- if(pParam)
- {
- m_pParameters->Append(pParam);
-#if OSL_DEBUG_LEVEL > 0
- ADOParameter* pParam = NULL;
- m_pParameters->get_Item(OLEVariant(sal_Int32(parameterIndex-1)),&pParam);
- WpADOParameter aParam(pParam);
- if(pParam)
- {
- DataTypeEnum eType = aParam.GetADOType();
- (void)eType;
- }
-#endif
- }
- }
- else
- {
- ADOParameter* pParam = NULL;
- m_pParameters->get_Item(OLEVariant(sal_Int32(parameterIndex-1)),&pParam);
- WpADOParameter aParam(pParam);
- if(pParam)
- {
-#if OSL_DEBUG_LEVEL > 0
- ::rtl::OUString sParam = aParam.GetName();
-
-#endif // OSL_DEBUG_LEVEL
-
- DataTypeEnum eType = aParam.GetADOType();
- if ( _eType != eType && _eType != adDBTimeStamp )
- {
- aParam.put_Type(_eType);
- eType = _eType;
- aParam.put_Size(_nSize);
- }
-
- if ( adVarBinary == eType && aParam.GetAttributes() == adParamLong )
- {
- aParam.AppendChunk(_Val);
- }
- else
- CHECK_RETURN(aParam.PutValue(_Val));
- }
- }
- ADOS::ThrowException(*m_pConnection->getConnection(),*this);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OPreparedStatement::setString( sal_Int32 parameterIndex, const ::rtl::OUString& x ) throw(SQLException, RuntimeException)
-{
- setParameter( parameterIndex, adLongVarWChar, ::std::numeric_limits< sal_Int32 >::max(), x );
-}
-// -------------------------------------------------------------------------
-
-Reference< XConnection > SAL_CALL OPreparedStatement::getConnection( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- return (Reference< XConnection >)m_pConnection;
-}
-// -------------------------------------------------------------------------
-
-Reference< XResultSet > SAL_CALL OPreparedStatement::executeQuery( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- // first clear the old things
-m_xMetaData.clear();
- disposeResultSet();
- if(m_RecordSet.IsValid())
- m_RecordSet.Close();
- m_RecordSet.clear();
-
-
- // the create the new onces
- m_RecordSet.Create();
- OLEVariant aCmd;
- aCmd.setIDispatch(m_Command);
- OLEVariant aCon;
- aCon.setNoArg();
- CHECK_RETURN(m_RecordSet.put_CacheSize(m_nFetchSize))
- CHECK_RETURN(m_RecordSet.put_MaxRecords(m_nMaxRows))
- CHECK_RETURN(m_RecordSet.Open(aCmd,aCon,m_eCursorType,m_eLockType,adOpenUnspecified))
- CHECK_RETURN(m_RecordSet.get_CacheSize(m_nFetchSize))
- CHECK_RETURN(m_RecordSet.get_MaxRecords(m_nMaxRows))
- CHECK_RETURN(m_RecordSet.get_CursorType(m_eCursorType))
- CHECK_RETURN(m_RecordSet.get_LockType(m_eLockType))
-
- OResultSet* pSet = new OResultSet(m_RecordSet,this);
- Reference< XResultSet > xRs = pSet;
- pSet->construct();
- pSet->setMetaData(getMetaData());
- m_xResultSet = WeakReference<XResultSet>(xRs);
-
- return xRs;
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setBoolean( sal_Int32 parameterIndex, sal_Bool x ) throw(SQLException, RuntimeException)
-{
- setParameter(parameterIndex,adBoolean,sizeof(x),x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setByte( sal_Int32 parameterIndex, sal_Int8 x ) throw(SQLException, RuntimeException)
-{
- setParameter(parameterIndex,adTinyInt,sizeof(x),x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setDate( sal_Int32 parameterIndex, const Date& x ) throw(SQLException, RuntimeException)
-{
- setParameter(parameterIndex,adDBDate,sizeof(x),x);
-}
-// -------------------------------------------------------------------------
-
-
-void SAL_CALL OPreparedStatement::setTime( sal_Int32 parameterIndex, const Time& x ) throw(SQLException, RuntimeException)
-{
- setParameter(parameterIndex,adDBTime,sizeof(x),x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setTimestamp( sal_Int32 parameterIndex, const DateTime& x ) throw(SQLException, RuntimeException)
-{
- setParameter(parameterIndex,adDBTimeStamp,sizeof(x),x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setDouble( sal_Int32 parameterIndex, double x ) throw(SQLException, RuntimeException)
-{
- setParameter(parameterIndex,adDouble,sizeof(x),x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setFloat( sal_Int32 parameterIndex, float x ) throw(SQLException, RuntimeException)
-{
- setParameter(parameterIndex,adSingle,sizeof(x),x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setInt( sal_Int32 parameterIndex, sal_Int32 x ) throw(SQLException, RuntimeException)
-{
- setParameter(parameterIndex,adInteger,sizeof(x),x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setLong( sal_Int32 parameterIndex, sal_Int64 x ) throw(SQLException, RuntimeException)
-{
- setParameter(parameterIndex,adBigInt,sizeof(x),x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setNull( sal_Int32 parameterIndex, sal_Int32 /*sqlType*/ ) throw(SQLException, RuntimeException)
-{
- OLEVariant aVal;
- aVal.setNull();
- setParameter(parameterIndex,adEmpty,0,aVal);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setClob( sal_Int32 /*parameterIndex*/, const Reference< XClob >& /*x*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::setClob", *this );
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setBlob( sal_Int32 /*parameterIndex*/, const Reference< XBlob >& /*x*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::setBlob", *this );
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setArray( sal_Int32 /*parameterIndex*/, const Reference< XArray >& /*x*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::setArray", *this );
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setRef( sal_Int32 /*parameterIndex*/, const Reference< XRef >& /*x*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::setRef", *this );
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setObjectWithInfo( sal_Int32 parameterIndex, const Any& x, sal_Int32 sqlType, sal_Int32 scale ) throw(SQLException, RuntimeException)
-{
- switch(sqlType)
- {
- case DataType::DECIMAL:
- case DataType::NUMERIC:
- setString(parameterIndex,::comphelper::getString(x));
- break;
- default:
- ::dbtools::setObjectWithInfo(this,parameterIndex,x,sqlType,scale);
- break;
- }
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setObjectNull( sal_Int32 parameterIndex, sal_Int32 sqlType, const ::rtl::OUString& /*typeName*/ ) throw(SQLException, RuntimeException)
-{
- setNull(parameterIndex,sqlType);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setObject( sal_Int32 parameterIndex, const Any& x ) throw(SQLException, RuntimeException)
-{
- if(!::dbtools::implSetObject(this,parameterIndex,x))
- {
- const ::rtl::OUString sError( m_pConnection->getResources().getResourceStringWithSubstitution(
- STR_UNKNOWN_PARA_TYPE,
- "$position$", ::rtl::OUString::valueOf(parameterIndex)
- ) );
- ::dbtools::throwGenericSQLException(sError,*this);
- }
- // setObject (parameterIndex, x, sqlType, 0);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setShort( sal_Int32 parameterIndex, sal_Int16 x ) throw(SQLException, RuntimeException)
-{
- setParameter(parameterIndex,adSmallInt,sizeof(x),x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setBytes( sal_Int32 parameterIndex, const Sequence< sal_Int8 >& x ) throw(SQLException, RuntimeException)
-{
- setParameter(parameterIndex,adVarBinary,sizeof(sal_Int8)*x.getLength(),x);
-}
-
-// -------------------------------------------------------------------------
-
-
-void SAL_CALL OPreparedStatement::setCharacterStream( sal_Int32 /*parameterIndex*/, const Reference< ::com::sun::star::io::XInputStream >& /*x*/, sal_Int32 /*length*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XParameters::setCharacterStream", *this );
-}
-
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setBinaryStream( sal_Int32 parameterIndex, const Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(SQLException, RuntimeException)
-{
- if(x.is())
- {
- Sequence< sal_Int8 > aData;
- x->readBytes(aData,length);
- setBytes(parameterIndex,aData);
- }
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::clearParameters( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- if(m_pParameters)
- {
- sal_Int32 nCount = 0;
- m_pParameters->get_Count(&nCount);
- OLEVariant aVal;
- aVal.setEmpty();
- for(sal_Int32 i=0;i<nCount;++i)
- {
- ADOParameter* pParam = NULL;
- m_pParameters->get_Item(OLEVariant(i),&pParam);
- WpADOParameter aParam(pParam);
- if(pParam)
- {
- ::rtl::OUString sParam = aParam.GetName();
- CHECK_RETURN(aParam.PutValue(aVal));
- }
- }
- // m_pParameters->Delete(OLEVariant(i));
-
- }
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OPreparedStatement::clearBatch( ) throw(SQLException, RuntimeException)
-{
- // clearParameters( );
- // m_aBatchList.erase();
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::addBatch( ) throw(SQLException, RuntimeException)
-{
-}
-// -------------------------------------------------------------------------
-
-Sequence< sal_Int32 > SAL_CALL OPreparedStatement::executeBatch( ) throw(SQLException, RuntimeException)
-{
- return Sequence< sal_Int32 > ();
-}
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-void SAL_CALL OPreparedStatement::acquire() throw()
-{
- OStatement_Base::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OPreparedStatement::release() throw()
-{
- OStatement_Base::release();
-}
-// -----------------------------------------------------------------------------
-void OPreparedStatement::replaceParameterNodeName(OSQLParseNode* _pNode,
- const ::rtl::OUString& _sDefaultName,
- sal_Int32& _rParameterCount)
-{
- sal_Int32 nCount = _pNode->count();
- for(sal_Int32 i=0;i < nCount;++i)
- {
- OSQLParseNode* pChildNode = _pNode->getChild(i);
- if(SQL_ISRULE(pChildNode,parameter) && pChildNode->count() == 1)
- {
- OSQLParseNode* pNewNode = new OSQLParseNode(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":")) ,SQL_NODE_PUNCTUATION,0);
- delete pChildNode->replace(pChildNode->getChild(0),pNewNode);
- ::rtl::OUString sParameterName = _sDefaultName;
- sParameterName += ::rtl::OUString::valueOf(++_rParameterCount);
- pChildNode->append(new OSQLParseNode( sParameterName,SQL_NODE_NAME,0));
- }
- else
- replaceParameterNodeName(pChildNode,_sDefaultName,_rParameterCount);
-
- }
-}
-// -----------------------------------------------------------------------------
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AResultSet.cxx b/connectivity/source/drivers/ado/AResultSet.cxx
deleted file mode 100644
index 676c38e9b8..0000000000
--- a/connectivity/source/drivers/ado/AResultSet.cxx
+++ /dev/null
@@ -1,1175 +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 "ado/AResultSet.hxx"
-#include "ado/AResultSetMetaData.hxx"
-#include <com/sun/star/sdbc/DataType.hpp>
-#include <com/sun/star/sdbc/KeyRule.hpp>
-#include <com/sun/star/sdbc/IndexType.hpp>
-#include <comphelper/property.hxx>
-#include <com/sun/star/lang/DisposedException.hpp>
-#include <com/sun/star/sdbc/ResultSetConcurrency.hpp>
-#include <com/sun/star/sdbc/ResultSetType.hpp>
-#include <com/sun/star/sdbc/FetchDirection.hpp>
-#include <cppuhelper/typeprovider.hxx>
-#include <comphelper/sequence.hxx>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <comphelper/seqstream.hxx>
-#include "connectivity/dbexception.hxx"
-#include "connectivity/dbtools.hxx"
-#include <comphelper/types.hxx>
-
-using namespace ::comphelper;
-
-
-#include <oledb.h>
-
-#define CHECK_RETURN(x) \
- if(!SUCCEEDED(x)) \
- ADOS::ThrowException(*m_pStmt->m_pConnection->getConnection(),*this);
-
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-
-//------------------------------------------------------------------------------
-// IMPLEMENT_SERVICE_INFO(OResultSet,"com.sun.star.sdbcx.AResultSet","com.sun.star.sdbc.ResultSet");
-::rtl::OUString SAL_CALL OResultSet::getImplementationName( ) throw (::com::sun::star::uno::RuntimeException) \
-{
- return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sdbcx.ado.ResultSet"));
-}
-// -------------------------------------------------------------------------
-::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL OResultSet::getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException)
-{
- ::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(2);
- aSupported[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sdbc.ResultSet"));
- aSupported[1] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sdbcx.ResultSet"));
- return aSupported;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::supportsService( const ::rtl::OUString& _rServiceName ) throw(::com::sun::star::uno::RuntimeException)
-{
- Sequence< ::rtl::OUString > aSupported(getSupportedServiceNames());
- const ::rtl::OUString* pSupported = aSupported.getConstArray();
- const ::rtl::OUString* pEnd = pSupported + aSupported.getLength();
- for (;pSupported != pEnd && !pSupported->equals(_rServiceName); ++pSupported)
- ;
-
- return pSupported != pEnd;
-}
-// -------------------------------------------------------------------------
-OResultSet::OResultSet(ADORecordset* _pRecordSet,OStatement_Base* pStmt) : OResultSet_BASE(m_aMutex)
- ,OPropertySetHelper(OResultSet_BASE::rBHelper)
- ,m_xStatement(*pStmt)
- ,m_pStmt(pStmt)
- ,m_nRowPos(0)
- ,m_xMetaData(NULL)
- ,m_pRecordSet(_pRecordSet)
- ,m_bEOF(sal_False)
-{
-}
-// -------------------------------------------------------------------------
-OResultSet::OResultSet(ADORecordset* _pRecordSet) : OResultSet_BASE(m_aMutex)
- ,OPropertySetHelper(OResultSet_BASE::rBHelper)
- ,m_xStatement(NULL)
- ,m_xMetaData(NULL)
- ,m_pRecordSet(_pRecordSet)
- ,m_bEOF(sal_False)
-{
-}
-// -----------------------------------------------------------------------------
-void OResultSet::construct()
-{
- osl_incrementInterlockedCount( &m_refCount );
- if (!m_pRecordSet)
- {
- OSL_FAIL( "OResultSet::construct: no RecordSet!" );
- Reference< XInterface > xInt( *this );
- osl_decrementInterlockedCount( &m_refCount );
- ::dbtools::throwFunctionSequenceException( xInt );
- }
- m_pRecordSet->AddRef();
- VARIANT_BOOL bIsAtBOF;
- CHECK_RETURN(m_pRecordSet->get_BOF(&bIsAtBOF))
- m_bOnFirstAfterOpen = bIsAtBOF != VARIANT_TRUE;
- osl_decrementInterlockedCount( &m_refCount );
-}
-// -------------------------------------------------------------------------
-OResultSet::~OResultSet()
-{
- if(m_pRecordSet)
- m_pRecordSet->Release();
-}
-// -------------------------------------------------------------------------
-void OResultSet::disposing(void)
-{
- OPropertySetHelper::disposing();
-
- ::osl::MutexGuard aGuard(m_aMutex);
- if(m_pRecordSet)
- m_pRecordSet->Close();
-m_xStatement.clear();
-m_xMetaData.clear();
-}
-// -------------------------------------------------------------------------
-Any SAL_CALL OResultSet::queryInterface( const Type & rType ) throw(RuntimeException)
-{
- Any aRet = OPropertySetHelper::queryInterface(rType);
- return aRet.hasValue() ? aRet : OResultSet_BASE::queryInterface(rType);
-}
-// -------------------------------------------------------------------------
-::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL OResultSet::getTypes( ) throw(::com::sun::star::uno::RuntimeException)
-{
- ::cppu::OTypeCollection aTypes( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XMultiPropertySet > *)0 ),
- ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XFastPropertySet > *)0 ),
- ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > *)0 ));
-
- return ::comphelper::concatSequences(aTypes.getTypes(),OResultSet_BASE::getTypes());
-}
-
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL OResultSet::findColumn( const ::rtl::OUString& columnName ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- Reference< XResultSetMetaData > xMeta = getMetaData();
- sal_Int32 nLen = xMeta->getColumnCount();
- sal_Int32 i = 1;
- for(;i<=nLen;++i)
- if(xMeta->isCaseSensitive(i) ? columnName == xMeta->getColumnName(i) :
- columnName.equalsIgnoreAsciiCase(xMeta->getColumnName(i)))
- break;
- return i;
-}
-#define BLOCK_SIZE 256
-// -------------------------------------------------------------------------
-Reference< ::com::sun::star::io::XInputStream > SAL_CALL OResultSet::getBinaryStream( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
- WpADOField aField = ADOS::getField(m_pRecordSet,columnIndex);
-
- if((aField.GetAttributes() & adFldLong) == adFldLong)
- {
- //Copy the data only upto the Actual Size of Field.
- sal_Int32 nSize = aField.GetActualSize();
- Sequence<sal_Int8> aData(nSize);
- long index = 0;
- while(index < nSize)
- {
- m_aValue = aField.GetChunk(BLOCK_SIZE);
- if(m_aValue.isNull())
- break;
- UCHAR chData;
- for(long index2 = 0;index2 < BLOCK_SIZE;++index2)
- {
- HRESULT hr = ::SafeArrayGetElement(m_aValue.parray,&index2,&chData);
- if(SUCCEEDED(hr))
- {
- //Take BYTE by BYTE and advance Memory Location
- aData.getArray()[index++] = chData;
- }
- else
- break;
- }
- }
-
- return new ::comphelper::SequenceInputStream(aData);
- }
- // else we ask for a bytesequence
- aField.get_Value(m_aValue);
-
- return m_aValue.isNull() ? NULL : new ::comphelper::SequenceInputStream(m_aValue);
-}
-// -------------------------------------------------------------------------
-Reference< ::com::sun::star::io::XInputStream > SAL_CALL OResultSet::getCharacterStream( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getCharacterStream", *this );
- return NULL;
-}
-// -----------------------------------------------------------------------------
-OLEVariant OResultSet::getValue(sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
- WpADOField aField = ADOS::getField(m_pRecordSet,columnIndex);
- aField.get_Value(m_aValue);
- return m_aValue;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::getBoolean( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-sal_Int8 SAL_CALL OResultSet::getByte( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-Sequence< sal_Int8 > SAL_CALL OResultSet::getBytes( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-::com::sun::star::util::Date SAL_CALL OResultSet::getDate( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-double SAL_CALL OResultSet::getDouble( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-float SAL_CALL OResultSet::getFloat( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL OResultSet::getInt( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL OResultSet::getRow( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- PositionEnum_Param aPos;
- m_pRecordSet->get_AbsolutePosition(&aPos);
- return (aPos > 0) ? aPos : m_nRowPos;
- // return the rowcount from driver if the driver doesn't support this return our count
-}
-// -------------------------------------------------------------------------
-
-sal_Int64 SAL_CALL OResultSet::getLong( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getLong", *this );
- return sal_Int64(0);
-}
-// -------------------------------------------------------------------------
-
-Reference< XResultSetMetaData > SAL_CALL OResultSet::getMetaData( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- if(!m_xMetaData.is())
- m_xMetaData = new OResultSetMetaData(m_pRecordSet);
- return m_xMetaData;
-}
-// -------------------------------------------------------------------------
-Reference< XArray > SAL_CALL OResultSet::getArray( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getArray", *this );
- return NULL;
-}
-
-// -------------------------------------------------------------------------
-
-Reference< XClob > SAL_CALL OResultSet::getClob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getClob", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-Reference< XBlob > SAL_CALL OResultSet::getBlob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getBlob", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-
-Reference< XRef > SAL_CALL OResultSet::getRef( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "XRow::getRef", *this );
- return NULL;
-}
-// -------------------------------------------------------------------------
-
-Any SAL_CALL OResultSet::getObject( sal_Int32 columnIndex, const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex).makeAny();
-}
-// -------------------------------------------------------------------------
-
-sal_Int16 SAL_CALL OResultSet::getShort( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-::rtl::OUString SAL_CALL OResultSet::getString( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-
-// -------------------------------------------------------------------------
-
-
-::com::sun::star::util::Time SAL_CALL OResultSet::getTime( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-
-::com::sun::star::util::DateTime SAL_CALL OResultSet::getTimestamp( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSet::isAfterLast( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- VARIANT_BOOL bIsAtEOF;
- CHECK_RETURN(m_pRecordSet->get_EOF(&bIsAtEOF))
- return bIsAtEOF == VARIANT_TRUE;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::isFirst( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- return m_nRowPos == 1;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::isLast( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- return sal_True;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::beforeFirst( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- if(first())
- m_bOnFirstAfterOpen = !previous();
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::afterLast( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- if(last())
- next();
- m_bEOF = sal_True;
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::close( ) throw(SQLException, RuntimeException)
-{
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
- }
- dispose();
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSet::first( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- if(SUCCEEDED(m_pRecordSet->MoveFirst()))
- {
- m_nRowPos = 1;
- m_bOnFirstAfterOpen = sal_False;
- return sal_True;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSet::last( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- sal_Bool bRet = SUCCEEDED(m_pRecordSet->MoveLast());
- if(bRet)
- {
- m_pRecordSet->get_RecordCount(&m_nRowPos);
- m_bOnFirstAfterOpen = sal_False;
- }
- return bRet;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::absolute( sal_Int32 row ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- if(!row) // absolute with zero not allowed
- ::dbtools::throwFunctionSequenceException(*this);
-
- sal_Bool bCheck = sal_True;
- if(row < 0)
- {
- bCheck = SUCCEEDED(m_pRecordSet->MoveLast());
- if ( bCheck )
- {
- while(++row < 0 && bCheck)
- bCheck = SUCCEEDED(m_pRecordSet->MovePrevious());
- }
- }
- else
- {
- first();
- OLEVariant aEmpty;
- aEmpty.setNoArg();
- bCheck = SUCCEEDED(m_pRecordSet->Move(row-1,aEmpty)); // move to row -1 because we stand already on the first
- if(bCheck)
- m_nRowPos = row;
- }
- if(bCheck)
- m_bOnFirstAfterOpen = sal_False;
- return bCheck;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::relative( sal_Int32 row ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- OLEVariant aEmpty;
- aEmpty.setNoArg();
- sal_Int32 nNewPos = row;
- if ( m_bOnFirstAfterOpen && nNewPos > 0 )
- --nNewPos;
- sal_Bool bRet = SUCCEEDED(m_pRecordSet->Move(row,aEmpty));
- if(bRet)
- {
- m_nRowPos += row;
- m_bOnFirstAfterOpen = sal_False;
- }
- return bRet;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::previous( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
- sal_Bool bRet = SUCCEEDED(m_pRecordSet->MovePrevious());
- if(bRet)
- {
- --m_nRowPos;
- m_bOnFirstAfterOpen = sal_False;
- }
- return bRet;
-}
-// -------------------------------------------------------------------------
-Reference< XInterface > SAL_CALL OResultSet::getStatement( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
- return m_xStatement;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSet::rowDeleted( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- RecordStatusEnum eRec;
- m_pRecordSet->get_Status((sal_Int32*)&eRec);
- sal_Bool bRet = (eRec & adRecDeleted) == adRecDeleted;
- if(bRet)
- --m_nRowPos;
- return bRet;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::rowInserted( ) throw(SQLException, RuntimeException)
-{ ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- RecordStatusEnum eRec;
- m_pRecordSet->get_Status((sal_Int32*)&eRec);
- sal_Bool bRet = (eRec & adRecNew) == adRecNew;
- if(bRet)
- ++m_nRowPos;
- return bRet;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::rowUpdated( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- RecordStatusEnum eRec;
- m_pRecordSet->get_Status((sal_Int32*)&eRec);
- return (eRec & adRecModified) == adRecModified;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSet::isBeforeFirst( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- OSL_ENSURE(!m_nRowPos,"OResultSet::isBeforeFirst: Error in setting m_nRowPos!");
- VARIANT_BOOL bIsAtBOF = VARIANT_TRUE;
- if(!m_bOnFirstAfterOpen)
- {
- OSL_ENSURE(!m_nRowPos,"OResultSet::isBeforeFirst: Error in setting m_nRowPos!");
- m_pRecordSet->get_BOF(&bIsAtBOF);
- }
- return bIsAtBOF == VARIANT_TRUE;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSet::next( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- sal_Bool bRet = sal_True;
- if(m_bOnFirstAfterOpen)
- {
- m_bOnFirstAfterOpen = sal_False;
- ++m_nRowPos;
- }
- else
- {
- bRet = SUCCEEDED(m_pRecordSet->MoveNext());
-
- if(bRet)
- {
- VARIANT_BOOL bIsAtEOF;
- CHECK_RETURN(m_pRecordSet->get_EOF(&bIsAtEOF))
- bRet = bIsAtEOF != VARIANT_TRUE;
- ++m_nRowPos;
- }
- else
- ADOS::ThrowException(*m_pStmt->m_pConnection->getConnection(),*this);
- }
-
- return bRet;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSet::wasNull( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- return m_aValue.isNull();
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::cancel( ) throw(RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- m_pRecordSet->Cancel();
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::clearWarnings( ) throw(SQLException, RuntimeException)
-{
-}
-// -------------------------------------------------------------------------
-Any SAL_CALL OResultSet::getWarnings( ) throw(SQLException, RuntimeException)
-{
- return Any();
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::insertRow( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- OLEVariant aEmpty;
- aEmpty.setNoArg();
- m_pRecordSet->AddNew(aEmpty,aEmpty);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::updateRow( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- OLEVariant aEmpty;
- aEmpty.setNoArg();
- m_pRecordSet->Update(aEmpty,aEmpty);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::deleteRow( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- m_pRecordSet->Delete(adAffectCurrent);
- m_pRecordSet->UpdateBatch(adAffectCurrent);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::cancelRowUpdates( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- m_pRecordSet->CancelUpdate();
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::moveToInsertRow( ) throw(SQLException, RuntimeException)
-{
- // ::osl::MutexGuard aGuard( m_aMutex );
- //checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
- // if ( getResultSetConcurrency() == ResultSetConcurrency::READ_ONLY )
- // throw SQLException();
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::moveToCurrentRow( ) throw(SQLException, RuntimeException)
-{
-}
-// -----------------------------------------------------------------------------
-void OResultSet::updateValue(sal_Int32 columnIndex,const OLEVariant& x)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
- WpADOField aField = ADOS::getField(m_pRecordSet,columnIndex);
- aField.PutValue(x);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::updateNull( sal_Int32 columnIndex ) throw(SQLException, RuntimeException)
-{
- OLEVariant x;
- x.setNull();
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::updateBoolean( sal_Int32 columnIndex, sal_Bool x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::updateByte( sal_Int32 columnIndex, sal_Int8 x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::updateShort( sal_Int32 columnIndex, sal_Int16 x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::updateInt( sal_Int32 columnIndex, sal_Int32 x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::updateLong( sal_Int32 columnIndex, sal_Int64 x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -----------------------------------------------------------------------
-void SAL_CALL OResultSet::updateFloat( sal_Int32 columnIndex, float x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::updateDouble( sal_Int32 columnIndex, double x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::updateString( sal_Int32 columnIndex, const ::rtl::OUString& x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::updateBytes( sal_Int32 columnIndex, const Sequence< sal_Int8 >& x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::updateDate( sal_Int32 columnIndex, const ::com::sun::star::util::Date& x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::updateTime( sal_Int32 columnIndex, const ::com::sun::star::util::Time& x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::updateTimestamp( sal_Int32 columnIndex, const ::com::sun::star::util::DateTime& x ) throw(SQLException, RuntimeException)
-{
- updateValue(columnIndex,x);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::updateBinaryStream( sal_Int32 columnIndex, const Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(SQLException, RuntimeException)
-{
- if(!x.is())
- ::dbtools::throwFunctionSequenceException(*this);
-
- Sequence<sal_Int8> aSeq;
- x->readBytes(aSeq,length);
- updateBytes(columnIndex,aSeq);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::updateCharacterStream( sal_Int32 columnIndex, const Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(SQLException, RuntimeException)
-{
- if(!x.is())
- ::dbtools::throwFunctionSequenceException(*this);
-
- Sequence<sal_Int8> aSeq;
- x->readBytes(aSeq,length);
- updateBytes(columnIndex,aSeq);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::refreshRow( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- m_pRecordSet->Resync(adAffectCurrent,adResyncAllValues);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OResultSet::updateObject( sal_Int32 columnIndex, const Any& x ) throw(SQLException, RuntimeException)
-{
- if (!::dbtools::implUpdateObject(this, columnIndex, x))
- throw SQLException();
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OResultSet::updateNumericObject( sal_Int32 columnIndex, const Any& x, sal_Int32 /*scale*/ ) throw(SQLException, RuntimeException)
-{
- if (!::dbtools::implUpdateObject(this, columnIndex, x))
- throw SQLException();
-}
-//------------------------------------------------------------------------------
-// XRowLocate
-Any SAL_CALL OResultSet::getBookmark( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
- if(m_nRowPos < (sal_Int32)m_aBookmarks.size()) // this bookmark was already fetched
- return makeAny(sal_Int32(m_nRowPos-1));
-
- OLEVariant aVar;
- m_pRecordSet->get_Bookmark(&aVar);
- m_aBookmarks.push_back(aVar);
- return makeAny((sal_Int32)(m_aBookmarks.size()-1));
-
-}
-//------------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::moveToBookmark( const Any& bookmark ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- sal_Int32 nPos;
- bookmark >>= nPos;
- OSL_ENSURE(nPos >= 0 && nPos < (sal_Int32)m_aBookmarks.size(),"Invalid Index for vector");
- if(nPos < 0 || nPos >= (sal_Int32)m_aBookmarks.size())
- ::dbtools::throwFunctionSequenceException(*this);
-
- return SUCCEEDED(m_pRecordSet->Move(0,m_aBookmarks[nPos]));
-}
-//------------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::moveRelativeToBookmark( const Any& bookmark, sal_Int32 rows ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- sal_Int32 nPos;
- bookmark >>= nPos;
- nPos += rows;
- OSL_ENSURE(nPos >= 0 && nPos < (sal_Int32)m_aBookmarks.size(),"Invalid Index for vector");
- if(nPos < 0 || nPos >= (sal_Int32)m_aBookmarks.size())
- ::dbtools::throwFunctionSequenceException(*this);
- return SUCCEEDED(m_pRecordSet->Move(rows,m_aBookmarks[nPos]));
-}
-//------------------------------------------------------------------------------
-sal_Int32 SAL_CALL OResultSet::compareBookmarks( const Any& first, const Any& second ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
- sal_Int32 nPos1;
- first >>= nPos1;
- sal_Int32 nPos2;
- second >>= nPos2;
- if(nPos1 == nPos2) // they should be equal
- return sal_True;
-
- OSL_ENSURE((nPos1 >= 0 && nPos1 < (sal_Int32)m_aBookmarks.size()) || (nPos1 >= 0 && nPos2 < (sal_Int32)m_aBookmarks.size()),"Invalid Index for vector");
-
- CompareEnum eNum;
- m_pRecordSet->CompareBookmarks(m_aBookmarks[nPos1],m_aBookmarks[nPos2],&eNum);
- return ((sal_Int32)eNum) +1;
-}
-//------------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSet::hasOrderedBookmarks( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- ADOProperties* pProps = NULL;
- m_pRecordSet->get_Properties(&pProps);
- WpADOProperties aProps;
- aProps.setWithOutAddRef(pProps);
- ADOS::ThrowException(*((OConnection*)m_pStmt->getConnection().get())->getConnection(),*this);
- OSL_ENSURE(aProps.IsValid(),"There are no properties at the connection");
-
- WpADOProperty aProp(aProps.GetItem(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Bookmarks Ordered"))));
- OLEVariant aVar;
- if(aProp.IsValid())
- aVar = aProp.GetValue();
- else
- ADOS::ThrowException(*((OConnection*)m_pStmt->getConnection().get())->getConnection(),*this);
-
- sal_Bool bValue(sal_False);
- if(!aVar.isNull() && !aVar.isEmpty())
- bValue = aVar;
- return bValue;
-}
-//------------------------------------------------------------------------------
-sal_Int32 SAL_CALL OResultSet::hashBookmark( const Any& bookmark ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- sal_Int32 nPos;
- bookmark >>= nPos;
- return nPos;
-}
-//------------------------------------------------------------------------------
-// XDeleteRows
-Sequence< sal_Int32 > SAL_CALL OResultSet::deleteRows( const Sequence< Any >& rows ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
-
-
- OLEVariant aVar;
- sal_Int32 nPos;
-
- // Create SafeArray Bounds and initialize the array
- SAFEARRAYBOUND rgsabound[1];
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = rows.getLength();
- SAFEARRAY *psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- const Any* pBegin = rows.getConstArray();
- const Any* pEnd = pBegin + rows.getLength();
- for(sal_Int32 i=0;pBegin != pEnd ;++pBegin,++i)
- {
- *pBegin >>= nPos;
- SafeArrayPutElement(psa,&i,&m_aBookmarks[nPos]);
- }
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- m_pRecordSet->put_Filter(vsa);
- m_pRecordSet->Delete(adAffectGroup);
- m_pRecordSet->UpdateBatch(adAffectGroup);
-
- Sequence< sal_Int32 > aSeq(rows.getLength());
- if(first())
- {
- sal_Int32* pSeq = aSeq.getArray();
- sal_Int32 i=0;
- do
- {
- OSL_ENSURE(i<aSeq.getLength(),"Index greater than length of sequence");
- m_pRecordSet->get_Status(&pSeq[i]);
- if(pSeq[i++] == adRecDeleted)
- --m_nRowPos;
- }
- while(next());
- }
- return aSeq;
-}
-//------------------------------------------------------------------------------
-sal_Int32 OResultSet::getResultSetConcurrency() const
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- sal_Int32 nValue=ResultSetConcurrency::READ_ONLY;
- LockTypeEnum eRet;
- if(!SUCCEEDED(m_pRecordSet->get_LockType(&eRet)))
- {
- switch(eRet)
- {
- case adLockReadOnly:
- nValue = ResultSetConcurrency::READ_ONLY;
- break;
- default:
- nValue = ResultSetConcurrency::UPDATABLE;
- break;
- }
- }
- return nValue;
-}
-//------------------------------------------------------------------------------
-sal_Int32 OResultSet::getResultSetType() const
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- sal_Int32 nValue=0;
- CursorTypeEnum eRet;
- if(!SUCCEEDED(m_pRecordSet->get_CursorType(&eRet)))
- {
- switch(eRet)
- {
- case adOpenUnspecified:
- case adOpenForwardOnly:
- nValue = ResultSetType::FORWARD_ONLY;
- break;
- case adOpenStatic:
- case adOpenKeyset:
- nValue = ResultSetType::SCROLL_INSENSITIVE;
- break;
- case adOpenDynamic:
- nValue = ResultSetType::SCROLL_SENSITIVE;
- break;
- }
- }
- return nValue;
-}
-//------------------------------------------------------------------------------
-sal_Int32 OResultSet::getFetchDirection() const
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- return FetchDirection::FORWARD;
-}
-//------------------------------------------------------------------------------
-sal_Int32 OResultSet::getFetchSize() const
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- sal_Int32 nValue=-1;
- m_pRecordSet->get_CacheSize(&nValue);
- return nValue;
-}
-//------------------------------------------------------------------------------
-::rtl::OUString OResultSet::getCursorName() const
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- return ::rtl::OUString();
-}
-
-//------------------------------------------------------------------------------
-void OResultSet::setFetchDirection(sal_Int32 /*_par0*/)
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- ::dbtools::throwFeatureNotImplementedException( "ResultSet::FetchDirection", *this );
-}
-//------------------------------------------------------------------------------
-void OResultSet::setFetchSize(sal_Int32 _par0)
- throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- m_pRecordSet->put_CacheSize(_par0);
-}
-// -------------------------------------------------------------------------
-::cppu::IPropertyArrayHelper* OResultSet::createArrayHelper( ) const
-{
- Sequence< com::sun::star::beans::Property > aProps(5);
- com::sun::star::beans::Property* pProperties = aProps.getArray();
- sal_Int32 nPos = 0;
-
- // DECL_PROP1IMPL(CURSORNAME, ::rtl::OUString) PropertyAttribute::READONLY);
- DECL_PROP0(FETCHDIRECTION, sal_Int32);
- DECL_PROP0(FETCHSIZE, sal_Int32);
- DECL_BOOL_PROP1IMPL(ISBOOKMARKABLE) PropertyAttribute::READONLY);
- DECL_PROP1IMPL(RESULTSETCONCURRENCY,sal_Int32) PropertyAttribute::READONLY);
- DECL_PROP1IMPL(RESULTSETTYPE, sal_Int32) PropertyAttribute::READONLY);
-
- return new ::cppu::OPropertyArrayHelper(aProps);
-}
-// -------------------------------------------------------------------------
-::cppu::IPropertyArrayHelper & OResultSet::getInfoHelper()
-{
- return *const_cast<OResultSet*>(this)->getArrayHelper();
-}
-// -------------------------------------------------------------------------
-sal_Bool OResultSet::convertFastPropertyValue(
- Any & rConvertedValue,
- Any & rOldValue,
- sal_Int32 nHandle,
- const Any& rValue )
- throw (::com::sun::star::lang::IllegalArgumentException)
-{
- switch(nHandle)
- {
- case PROPERTY_ID_ISBOOKMARKABLE:
- case PROPERTY_ID_CURSORNAME:
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- case PROPERTY_ID_RESULTSETTYPE:
- throw ::com::sun::star::lang::IllegalArgumentException();
- break;
- case PROPERTY_ID_FETCHDIRECTION:
- return ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getFetchDirection());
- case PROPERTY_ID_FETCHSIZE:
- return ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getFetchSize());
- default:
- ;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-void OResultSet::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const Any& rValue)throw (Exception)
-{
- switch(nHandle)
- {
- case PROPERTY_ID_ISBOOKMARKABLE:
- case PROPERTY_ID_CURSORNAME:
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- case PROPERTY_ID_RESULTSETTYPE:
- throw Exception();
- break;
- case PROPERTY_ID_FETCHDIRECTION:
- setFetchDirection(getINT32(rValue));
- break;
- case PROPERTY_ID_FETCHSIZE:
- setFetchSize(getINT32(rValue));
- break;
- default:
- ;
- }
-}
-// -------------------------------------------------------------------------
-void OResultSet::getFastPropertyValue(Any& rValue,sal_Int32 nHandle) const
-{
- switch(nHandle)
- {
- case PROPERTY_ID_ISBOOKMARKABLE:
- {
- VARIANT_BOOL bBool;
- m_pRecordSet->Supports(adBookmark,&bBool);
- sal_Bool bRet = bBool == VARIANT_TRUE;
- rValue.setValue(&bRet, ::getCppuBooleanType() );
- }
- break;
- case PROPERTY_ID_CURSORNAME:
- rValue <<= getCursorName();
- break;
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- rValue <<= getResultSetConcurrency();
- break;
- case PROPERTY_ID_RESULTSETTYPE:
- rValue <<= getResultSetType();
- break;
- case PROPERTY_ID_FETCHDIRECTION:
- rValue <<= getFetchDirection();
- break;
- case PROPERTY_ID_FETCHSIZE:
- rValue <<= getFetchSize();
- break;
- }
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OResultSet::acquire() throw()
-{
- OResultSet_BASE::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OResultSet::release() throw()
-{
- OResultSet_BASE::release();
-}
-// -----------------------------------------------------------------------------
-::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL OResultSet::getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException)
-{
- return ::cppu::OPropertySetHelper::createPropertySetInfo(getInfoHelper());
-}
-// -----------------------------------------------------------------------------
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AResultSetMetaData.cxx b/connectivity/source/drivers/ado/AResultSetMetaData.cxx
deleted file mode 100644
index 66def0a9cb..0000000000
--- a/connectivity/source/drivers/ado/AResultSetMetaData.cxx
+++ /dev/null
@@ -1,264 +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 "ado/AResultSetMetaData.hxx"
-#include <com/sun/star/sdbc/DataType.hpp>
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include "ado/Awrapado.hxx"
-#include "connectivity/dbexception.hxx"
-
-using namespace connectivity;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-
-OResultSetMetaData::OResultSetMetaData( ADORecordset* _pRecordSet)
- : m_pRecordSet(_pRecordSet),
- m_nColCount(-1)
-{
- if ( m_pRecordSet )
- m_pRecordSet->AddRef();
-}
-// -------------------------------------------------------------------------
-OResultSetMetaData::~OResultSetMetaData()
-{
- if ( m_pRecordSet )
- m_pRecordSet->Release();
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL OResultSetMetaData::getColumnDisplaySize( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if(aField.IsValid() && aField.GetActualSize() != -1)
- return aField.GetActualSize();
- return 0;
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL OResultSetMetaData::getColumnType( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- return ADOS::MapADOType2Jdbc(aField.GetADOType());
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL OResultSetMetaData::getColumnCount( ) throw(SQLException, RuntimeException)
-{
- if(m_nColCount != -1 )
- return m_nColCount;
-
- if ( !m_pRecordSet )
- return 0;
-
- ADOFields* pFields = NULL;
- m_pRecordSet->get_Fields(&pFields);
- WpOLEAppendCollection<ADOFields, ADOField, WpADOField> aFields(pFields);
- m_nColCount = aFields.GetItemCount();
- return m_nColCount;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSetMetaData::isCaseSensitive( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- sal_Bool bRet = sal_False;
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if ( aField.IsValid() )
- {
- WpADOProperties aProps( aField.get_Properties() );
- if ( aProps.IsValid() )
- bRet = OTools::getValue( aProps, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ISCASESENSITIVE")) );
- }
- return bRet;
-}
-// -------------------------------------------------------------------------
-
-::rtl::OUString SAL_CALL OResultSetMetaData::getSchemaName( sal_Int32 /*column*/ ) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-
-::rtl::OUString SAL_CALL OResultSetMetaData::getColumnName( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if(aField.IsValid())
- return aField.GetName();
-
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL OResultSetMetaData::getTableName( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString sTableName;
-
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if ( aField.IsValid() )
- {
- WpADOProperties aProps( aField.get_Properties() );
- if ( aProps.IsValid() )
- sTableName = OTools::getValue( aProps, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BASETABLENAME")) );
- }
- return sTableName;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL OResultSetMetaData::getCatalogName( sal_Int32 /*column*/ ) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL OResultSetMetaData::getColumnTypeName( sal_Int32 /*column*/ ) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL OResultSetMetaData::getColumnLabel( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- return getColumnName(column);
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL OResultSetMetaData::getColumnServiceName( sal_Int32 /*column*/ ) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSetMetaData::isCurrency( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if(aField.IsValid())
- {
- return ((aField.GetAttributes() & adFldFixed) == adFldFixed) && (aField.GetADOType() == adCurrency);
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSetMetaData::isAutoIncrement( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- sal_Bool bRet = sal_False;
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if ( aField.IsValid() )
- {
- WpADOProperties aProps( aField.get_Properties() );
- if ( aProps.IsValid() )
- {
- bRet = OTools::getValue( aProps, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ISAUTOINCREMENT")) );
-#if OSL_DEBUG_LEVEL > 0
- sal_Int32 nCount = aProps.GetItemCount();
- for (sal_Int32 i = 0; i<nCount; ++i)
- {
- WpADOProperty aProp = aProps.GetItem(i);
- ::rtl::OUString sName = aProp.GetName();
- ::rtl::OUString sVal = aProp.GetValue();
- }
-#endif
- }
- }
- return bRet;
-}
-// -------------------------------------------------------------------------
-
-
-sal_Bool SAL_CALL OResultSetMetaData::isSigned( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if(aField.IsValid())
- {
- DataTypeEnum eType = aField.GetADOType();
- return !(eType == adUnsignedBigInt || eType == adUnsignedInt || eType == adUnsignedSmallInt || eType == adUnsignedTinyInt);
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL OResultSetMetaData::getPrecision( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if(aField.IsValid())
- return aField.GetPrecision();
- return 0;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL OResultSetMetaData::getScale( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if(aField.IsValid())
- return aField.GetNumericScale();
- return 0;
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL OResultSetMetaData::isNullable( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if(aField.IsValid())
- {
- return (aField.GetAttributes() & adFldIsNullable) == adFldIsNullable;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSetMetaData::isSearchable( sal_Int32 /*column*/ ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSetMetaData::isReadOnly( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if(aField.IsValid())
- {
- // return (aField.GetStatus() & adFieldReadOnly) == adFieldReadOnly;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OResultSetMetaData::isDefinitelyWritable( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- WpADOField aField = ADOS::getField(m_pRecordSet,column);
- if(aField.IsValid())
- {
- return (aField.GetAttributes() & adFldUpdatable) == adFldUpdatable;
- }
- return sal_False;
-;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL OResultSetMetaData::isWritable( sal_Int32 column ) throw(SQLException, RuntimeException)
-{
- return isDefinitelyWritable(column);
-}
-// -------------------------------------------------------------------------
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AStatement.cxx b/connectivity/source/drivers/ado/AStatement.cxx
deleted file mode 100644
index fb7daaedcf..0000000000
--- a/connectivity/source/drivers/ado/AStatement.cxx
+++ /dev/null
@@ -1,844 +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 "ado/AStatement.hxx"
-#include "ado/AConnection.hxx"
-#include "ado/AResultSet.hxx"
-#include <comphelper/property.hxx>
-#include <comphelper/uno3.hxx>
-#include <osl/thread.h>
-#include <cppuhelper/typeprovider.hxx>
-#include <comphelper/sequence.hxx>
-#include <com/sun/star/sdbc/ResultSetConcurrency.hpp>
-#include <com/sun/star/sdbc/ResultSetType.hpp>
-#include <com/sun/star/sdbc/FetchDirection.hpp>
-#include "connectivity/dbexception.hxx"
-#include <comphelper/types.hxx>
-
-#undef max
-
-#include <algorithm>
-
-using namespace ::comphelper;
-
-#define CHECK_RETURN(x) \
- if(!x) \
- ADOS::ThrowException(*m_pConnection->getConnection(),*this);
-
-
-
-using namespace connectivity::ado;
-
-//------------------------------------------------------------------------------
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace ::std;
-//------------------------------------------------------------------------------
-OStatement_Base::OStatement_Base(OConnection* _pConnection ) : OStatement_BASE(m_aMutex)
- ,OPropertySetHelper(OStatement_BASE::rBHelper)
- ,OSubComponent<OStatement_Base, OStatement_BASE>((::cppu::OWeakObject*)_pConnection, this)
- ,m_pConnection(_pConnection)
- ,m_nFetchSize(1)
- ,m_nMaxRows(0)
- ,m_eLockType(adLockReadOnly)
- ,m_eCursorType(adOpenForwardOnly)
-{
- osl_incrementInterlockedCount( &m_refCount );
-
- m_Command.Create();
- if(m_Command.IsValid())
- m_Command.putref_ActiveConnection(m_pConnection->getConnection());
- else
- ADOS::ThrowException(*m_pConnection->getConnection(),*this);
-
- m_RecordsAffected.setNoArg();
- m_Parameters.setNoArg();
-
- m_pConnection->acquire();
-
- osl_decrementInterlockedCount( &m_refCount );
-}
-//------------------------------------------------------------------------------
-void OStatement_Base::disposeResultSet()
-{
- // free the cursor if alive
- Reference< XComponent > xComp(m_xResultSet.get(), UNO_QUERY);
- if (xComp.is())
- xComp->dispose();
- m_xResultSet = Reference< XResultSet>();
-}
-
-//------------------------------------------------------------------------------
-void OStatement_Base::disposing()
-{
- ::osl::MutexGuard aGuard(m_aMutex);
-
-
- disposeResultSet();
-
- if ( m_Command.IsValid() )
- m_Command.putref_ActiveConnection( NULL );
- m_Command.clear();
-
- if ( m_RecordSet.IsValid() )
- m_RecordSet.PutRefDataSource( NULL );
- m_RecordSet.clear();
-
- if (m_pConnection)
- m_pConnection->release();
-
- dispose_ChildImpl();
- OStatement_BASE::disposing();
-}
-//-----------------------------------------------------------------------------
-void SAL_CALL OStatement_Base::release() throw()
-{
- relase_ChildImpl();
-}
-//-----------------------------------------------------------------------------
-Any SAL_CALL OStatement_Base::queryInterface( const Type & rType ) throw(RuntimeException)
-{
- Any aRet = OStatement_BASE::queryInterface(rType);
- return aRet.hasValue() ? aRet : OPropertySetHelper::queryInterface(rType);
-}
-// -------------------------------------------------------------------------
-::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL OStatement_Base::getTypes( ) throw(::com::sun::star::uno::RuntimeException)
-{
- ::cppu::OTypeCollection aTypes( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XMultiPropertySet > *)0 ),
- ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XFastPropertySet > *)0 ),
- ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > *)0 ));
-
- return ::comphelper::concatSequences(aTypes.getTypes(),OStatement_BASE::getTypes());
-}
-
-// -------------------------------------------------------------------------
-
-void SAL_CALL OStatement_Base::cancel( ) throw(RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- CHECK_RETURN(m_Command.Cancel())
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OStatement_Base::close( ) throw(SQLException, RuntimeException)
-{
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
- }
- dispose();
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OStatement::clearBatch( ) throw(SQLException, RuntimeException)
-{
-
-}
-// -------------------------------------------------------------------------
-
-void OStatement_Base::reset() throw (SQLException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- clearWarnings ();
-
- if (m_xResultSet.get().is())
- clearMyResultSet();
-}
-//--------------------------------------------------------------------
-// clearMyResultSet
-// If a ResultSet was created for this Statement, close it
-//--------------------------------------------------------------------
-
-void OStatement_Base::clearMyResultSet () throw (SQLException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
- try
- {
- Reference<XCloseable> xCloseable;
- if ( ::comphelper::query_interface( m_xResultSet.get(), xCloseable ) )
- xCloseable->close();
- }
- catch( const DisposedException& ) { }
-
- m_xResultSet = Reference< XResultSet >();
-}
-//--------------------------------------------------------------------
-sal_Int32 OStatement_Base::getRowCount () throw( SQLException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- return m_RecordsAffected;
-}
-//--------------------------------------------------------------------
-// getPrecision
-// Given a SQL type, return the maximum precision for the column.
-// Returns -1 if not known
-//--------------------------------------------------------------------
-
-sal_Int32 OStatement_Base::getPrecision ( sal_Int32 sqlType)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- sal_Int32 prec = -1;
- OTypeInfo aInfo;
- aInfo.nType = (sal_Int16)sqlType;
- if (!m_aTypeInfo.empty())
- {
- ::std::vector<OTypeInfo>::const_iterator aIter = ::std::find(m_aTypeInfo.begin(),m_aTypeInfo.end(),aInfo);
- for(;aIter != m_aTypeInfo.end();++aIter)
- {
- prec = ::std::max(prec,(*aIter).nPrecision);
- }
- }
-
- return prec;
-}
-//--------------------------------------------------------------------
-// setWarning
-// Sets the warning
-//--------------------------------------------------------------------
-
-void OStatement_Base::setWarning (const SQLWarning &ex) throw( SQLException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- m_aLastWarning = ex;
-}
-// -------------------------------------------------------------------------
-void OStatement_Base::assignRecordSet( ADORecordset* _pRS )
-{
- WpADORecordset aOldRS( m_RecordSet );
- m_RecordSet = WpADORecordset( _pRS );
-
- if ( aOldRS.IsValid() )
- aOldRS.PutRefDataSource( NULL );
-
- if ( m_RecordSet.IsValid() )
- m_RecordSet.PutRefDataSource( (IDispatch*)m_Command );
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL OStatement_Base::execute( const ::rtl::OUString& sql ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- // Reset the statement handle and warning
-
- reset();
-
- try
- {
- ADORecordset* pSet = NULL;
- CHECK_RETURN(m_Command.put_CommandText(sql))
- CHECK_RETURN(m_Command.Execute(m_RecordsAffected,m_Parameters,adCmdText,&pSet))
-
- assignRecordSet( pSet );
- }
- catch (SQLWarning& ex)
- {
-
- // Save pointer to warning and save with ResultSet
- // object once it is created.
-
- m_aLastWarning = ex;
- }
-
- return m_RecordSet.IsValid();
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL OStatement_Base::executeQuery( const ::rtl::OUString& sql ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- reset();
-
- m_xResultSet = WeakReference<XResultSet>(NULL);
-
- WpADORecordset aSet;
- aSet.Create();
- CHECK_RETURN(m_Command.put_CommandText(sql))
- OLEVariant aCmd;
- aCmd.setIDispatch(m_Command);
- OLEVariant aCon;
- aCon.setNoArg();
- CHECK_RETURN(aSet.put_CacheSize(m_nFetchSize))
- CHECK_RETURN(aSet.put_MaxRecords(m_nMaxRows))
- CHECK_RETURN(aSet.Open(aCmd,aCon,m_eCursorType,m_eLockType,adOpenUnspecified))
-
-
- CHECK_RETURN(aSet.get_CacheSize(m_nFetchSize))
- CHECK_RETURN(aSet.get_MaxRecords(m_nMaxRows))
- CHECK_RETURN(aSet.get_CursorType(m_eCursorType))
- CHECK_RETURN(aSet.get_LockType(m_eLockType))
-
- OResultSet* pSet = new OResultSet(aSet,this);
- Reference< XResultSet > xRs = pSet;
- pSet->construct();
-
- m_xResultSet = WeakReference<XResultSet>(xRs);
-
- return xRs;
-}
-// -------------------------------------------------------------------------
-
-Reference< XConnection > SAL_CALL OStatement_Base::getConnection( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- return (Reference< XConnection >)m_pConnection;
-}
-// -------------------------------------------------------------------------
-
-Any SAL_CALL OStatement::queryInterface( const Type & rType ) throw(RuntimeException)
-{
- Any aRet = ::cppu::queryInterface(rType,static_cast< XBatchExecution*> (this));
- return aRet.hasValue() ? aRet : OStatement_Base::queryInterface(rType);
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OStatement::addBatch( const ::rtl::OUString& sql ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- m_aBatchList.push_back(sql);
-}
-// -------------------------------------------------------------------------
-Sequence< sal_Int32 > SAL_CALL OStatement::executeBatch( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- reset();
-
- ::rtl::OUString aBatchSql;
- sal_Int32 nLen = 0;
- for(::std::list< ::rtl::OUString>::const_iterator i=m_aBatchList.begin();i != m_aBatchList.end();++i,++nLen)
- aBatchSql = aBatchSql + *i + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(";"));
-
-
- if ( m_RecordSet.IsValid() )
- m_RecordSet.PutRefDataSource( NULL );
- m_RecordSet.clear();
- m_RecordSet.Create();
-
- CHECK_RETURN(m_Command.put_CommandText(aBatchSql))
- if ( m_RecordSet.IsValid() )
- m_RecordSet.PutRefDataSource((IDispatch*)m_Command);
-
- CHECK_RETURN(m_RecordSet.UpdateBatch(adAffectAll))
-
- ADORecordset* pSet=NULL;
- Sequence< sal_Int32 > aRet(nLen);
- sal_Int32* pArray = aRet.getArray();
- for(sal_Int32 j=0;j<nLen;++j)
- {
- pSet = NULL;
- OLEVariant aRecordsAffected;
- if(m_RecordSet.NextRecordset(aRecordsAffected,&pSet) && pSet)
- {
- assignRecordSet( pSet );
-
- ADO_LONGPTR nValue;
- if(m_RecordSet.get_RecordCount(nValue))
- pArray[j] = nValue;
- }
- }
- return aRet;
-}
-// -------------------------------------------------------------------------
-
-
-sal_Int32 SAL_CALL OStatement_Base::executeUpdate( const ::rtl::OUString& sql ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- reset();
-
- try {
- ADORecordset* pSet = NULL;
- CHECK_RETURN(m_Command.put_CommandText(sql))
- CHECK_RETURN(m_Command.Execute(m_RecordsAffected,m_Parameters,adCmdText|adExecuteNoRecords,&pSet))
- }
- catch (SQLWarning& ex) {
-
- // Save pointer to warning and save with ResultSet
- // object once it is created.
-
- m_aLastWarning = ex;
- }
- if(!m_RecordsAffected.isEmpty() && !m_RecordsAffected.isNull() && m_RecordsAffected.getType() != VT_ERROR)
- return m_RecordsAffected;
-
- return 0;
-}
-// -------------------------------------------------------------------------
-
-Reference< XResultSet > SAL_CALL OStatement_Base::getResultSet( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- return m_xResultSet;
-}
-// -------------------------------------------------------------------------
-
-sal_Int32 SAL_CALL OStatement_Base::getUpdateCount( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- ADO_LONGPTR nRet;
- if(m_RecordSet.IsValid() && m_RecordSet.get_RecordCount(nRet))
- return nRet;
- return -1;
-}
-// -------------------------------------------------------------------------
-
-sal_Bool SAL_CALL OStatement_Base::getMoreResults( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- SQLWarning warning;
-
- // clear previous warnings
-
- clearWarnings ();
-
- // Call SQLMoreResults
-
- try
- {
- ADORecordset* pSet=NULL;
- OLEVariant aRecordsAffected;
- if(m_RecordSet.IsValid() && m_RecordSet.NextRecordset(aRecordsAffected,&pSet) && pSet)
- assignRecordSet( pSet );
- }
- catch (SQLWarning &ex)
- {
-
- // Save pointer to warning and save with ResultSet
- // object once it is created.
-
- warning = ex;
- }
- return m_RecordSet.IsValid();
-}
-// -------------------------------------------------------------------------
-
-// -------------------------------------------------------------------------
-Any SAL_CALL OStatement_Base::getWarnings( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- return makeAny(m_aLastWarning);
-}
-// -------------------------------------------------------------------------
-
-// -------------------------------------------------------------------------
-void SAL_CALL OStatement_Base::clearWarnings( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- m_aLastWarning = SQLWarning();
-}
-// -------------------------------------------------------------------------
-//------------------------------------------------------------------------------
-sal_Int32 OStatement_Base::getQueryTimeOut() const throw(SQLException, RuntimeException)
-{
- return m_Command.get_CommandTimeout();
-}
-//------------------------------------------------------------------------------
-sal_Int32 OStatement_Base::getMaxRows() const throw(SQLException, RuntimeException)
-{
- ADO_LONGPTR nRet=-1;
- if(!(m_RecordSet.IsValid() && m_RecordSet.get_MaxRecords(nRet)))
- ::dbtools::throwFunctionSequenceException(NULL);
- return nRet;
-}
-//------------------------------------------------------------------------------
-sal_Int32 OStatement_Base::getResultSetConcurrency() const throw(SQLException, RuntimeException)
-{
- return m_eLockType;
- sal_Int32 nValue=0;
- switch(m_eLockType)
- {
- case adLockReadOnly:
- nValue = ResultSetConcurrency::READ_ONLY;
- break;
- default:
- nValue = ResultSetConcurrency::UPDATABLE;
- break;
- }
-
- return nValue;
-}
-//------------------------------------------------------------------------------
-sal_Int32 OStatement_Base::getResultSetType() const throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue=0;
- switch(m_eCursorType)
- {
- case adOpenUnspecified:
- case adOpenForwardOnly:
- nValue = ResultSetType::FORWARD_ONLY;
- break;
- case adOpenStatic:
- case adOpenKeyset:
- nValue = ResultSetType::SCROLL_INSENSITIVE;
- break;
- case adOpenDynamic:
- nValue = ResultSetType::SCROLL_SENSITIVE;
- break;
- }
- return nValue;
-}
-//------------------------------------------------------------------------------
-sal_Int32 OStatement_Base::getFetchDirection() const throw(SQLException, RuntimeException)
-{
- return FetchDirection::FORWARD;
-}
-//------------------------------------------------------------------------------
-sal_Int32 OStatement_Base::getFetchSize() const throw(SQLException, RuntimeException)
-{
- return m_nFetchSize;
-}
-//------------------------------------------------------------------------------
-sal_Int32 OStatement_Base::getMaxFieldSize() const throw(SQLException, RuntimeException)
-{
- return 0;
-}
-//------------------------------------------------------------------------------
-::rtl::OUString OStatement_Base::getCursorName() const throw(SQLException, RuntimeException)
-{
- return m_Command.GetName();
-}
-//------------------------------------------------------------------------------
-void OStatement_Base::setQueryTimeOut(sal_Int32 seconds) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- m_Command.put_CommandTimeout(seconds);
-}
-//------------------------------------------------------------------------------
-void OStatement_Base::setMaxRows(sal_Int32 _par0) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
- m_nMaxRows = _par0;
-}
-//------------------------------------------------------------------------------
-void OStatement_Base::setResultSetConcurrency(sal_Int32 _par0) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
- switch(_par0)
- {
- case ResultSetConcurrency::READ_ONLY:
- m_eLockType = adLockReadOnly;
- break;
- default:
- m_eLockType = adLockOptimistic;
- break;
- }
-}
-//------------------------------------------------------------------------------
-void OStatement_Base::setResultSetType(sal_Int32 _par0) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- switch(_par0)
- {
- case ResultSetType::FORWARD_ONLY:
- m_eCursorType = adOpenForwardOnly;
- break;
- case ResultSetType::SCROLL_INSENSITIVE:
- m_eCursorType = adOpenKeyset;
- break;
- case ResultSetType::SCROLL_SENSITIVE:
- m_eCursorType = adOpenDynamic;
- break;
- }
-}
-//------------------------------------------------------------------------------
-void OStatement_Base::setFetchDirection(sal_Int32 /*_par0*/) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
- ::dbtools::throwFeatureNotImplementedException( "Statement::FetchDirection", *this );
-}
-//------------------------------------------------------------------------------
-void OStatement_Base::setFetchSize(sal_Int32 _par0) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
-
- m_nFetchSize = _par0;
- // m_RecordSet.put_CacheSize(_par0);
-}
-//------------------------------------------------------------------------------
-void OStatement_Base::setMaxFieldSize(sal_Int32 /*_par0*/) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
- ::dbtools::throwFeatureNotImplementedException( "Statement::MaxFieldSize", *this );
-}
-//------------------------------------------------------------------------------
-void OStatement_Base::setCursorName(const ::rtl::OUString &_par0) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-
- m_Command.put_Name(_par0);
-}
-
-// -------------------------------------------------------------------------
-::cppu::IPropertyArrayHelper* OStatement_Base::createArrayHelper( ) const
-{
- Sequence< com::sun::star::beans::Property > aProps(10);
- com::sun::star::beans::Property* pProperties = aProps.getArray();
- sal_Int32 nPos = 0;
- DECL_PROP0(CURSORNAME, ::rtl::OUString);
- DECL_BOOL_PROP0(ESCAPEPROCESSING);
- DECL_PROP0(FETCHDIRECTION,sal_Int32);
- DECL_PROP0(FETCHSIZE, sal_Int32);
- DECL_PROP0(MAXFIELDSIZE,sal_Int32);
- DECL_PROP0(MAXROWS, sal_Int32);
- DECL_PROP0(QUERYTIMEOUT,sal_Int32);
- DECL_PROP0(RESULTSETCONCURRENCY,sal_Int32);
- DECL_PROP0(RESULTSETTYPE,sal_Int32);
- DECL_BOOL_PROP0(USEBOOKMARKS);
-
-
- return new ::cppu::OPropertyArrayHelper(aProps);
-}
-
-// -------------------------------------------------------------------------
-::cppu::IPropertyArrayHelper & OStatement_Base::getInfoHelper()
-{
- return *const_cast<OStatement_Base*>(this)->getArrayHelper();
-}
-// -------------------------------------------------------------------------
-sal_Bool OStatement_Base::convertFastPropertyValue(
- Any & rConvertedValue,
- Any & rOldValue,
- sal_Int32 nHandle,
- const Any& rValue )
- throw (::com::sun::star::lang::IllegalArgumentException)
-{
- sal_Bool bModified = sal_False;
-
- sal_Bool bValidAdoRS = m_RecordSet.IsValid();
- // some of the properties below, when set, are remembered in a member, and applied in the next execute
- // For these properties, the record set does not need to be valid to allow setting them.
- // For all others (where the values are forwarded to the ADO RS directly), the recordset must be valid.
-
- try
- {
- switch(nHandle)
- {
- case PROPERTY_ID_MAXROWS:
- bModified = ::comphelper::tryPropertyValue( rConvertedValue, rOldValue, rValue, bValidAdoRS ? getMaxRows() : m_nMaxRows );
- break;
-
- case PROPERTY_ID_RESULTSETTYPE:
- bModified = ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getResultSetType());
- break;
- case PROPERTY_ID_FETCHSIZE:
- bModified = ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getFetchSize());
- break;
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- bModified = ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getResultSetConcurrency());
- break;
- case PROPERTY_ID_QUERYTIMEOUT:
- bModified = ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getQueryTimeOut());
- break;
- case PROPERTY_ID_MAXFIELDSIZE:
- bModified = ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getMaxFieldSize());
- break;
- case PROPERTY_ID_CURSORNAME:
- bModified = ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getCursorName());
- break;
- case PROPERTY_ID_FETCHDIRECTION:
- bModified = ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, getFetchDirection());
- break;
- }
- }
- catch( const Exception& e )
- {
- bModified = sal_True; // will ensure that the property is set
- OSL_FAIL( "OStatement_Base::convertFastPropertyValue: caught something strange!" );
- (void)e;
- }
- return bModified;
-}
-// -------------------------------------------------------------------------
-void OStatement_Base::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const Any& rValue) throw (Exception)
-{
- switch(nHandle)
- {
- case PROPERTY_ID_QUERYTIMEOUT:
- setQueryTimeOut(comphelper::getINT32(rValue));
- break;
- case PROPERTY_ID_MAXFIELDSIZE:
- setMaxFieldSize(comphelper::getINT32(rValue));
- break;
- case PROPERTY_ID_MAXROWS:
- setMaxRows(comphelper::getINT32(rValue));
- break;
- case PROPERTY_ID_CURSORNAME:
- setCursorName(comphelper::getString(rValue));
- break;
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- setResultSetConcurrency(comphelper::getINT32(rValue));
- break;
- case PROPERTY_ID_RESULTSETTYPE:
- setResultSetType(comphelper::getINT32(rValue));
- break;
- case PROPERTY_ID_FETCHDIRECTION:
- setFetchDirection(comphelper::getINT32(rValue));
- break;
- case PROPERTY_ID_FETCHSIZE:
- setFetchSize(comphelper::getINT32(rValue));
- break;
- case PROPERTY_ID_ESCAPEPROCESSING:
- // return ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, m_bAsLink);
- case PROPERTY_ID_USEBOOKMARKS:
- // return ::comphelper::tryPropertyValue(rConvertedValue, rOldValue, rValue, m_bAsLink);
- default:
- ;
- }
-}
-// -------------------------------------------------------------------------
-void OStatement_Base::getFastPropertyValue(Any& rValue,sal_Int32 nHandle) const
-{
- switch(nHandle)
- {
- case PROPERTY_ID_QUERYTIMEOUT:
- rValue <<= getQueryTimeOut();
- break;
- case PROPERTY_ID_MAXFIELDSIZE:
- rValue <<= getMaxFieldSize();
- break;
- case PROPERTY_ID_MAXROWS:
- rValue <<= getMaxRows();
- break;
- case PROPERTY_ID_CURSORNAME:
- rValue <<= getCursorName();
- break;
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- rValue <<= getResultSetConcurrency();
- break;
- case PROPERTY_ID_RESULTSETTYPE:
- rValue <<= getResultSetType();
- break;
- case PROPERTY_ID_FETCHDIRECTION:
- rValue <<= getFetchDirection();
- break;
- case PROPERTY_ID_FETCHSIZE:
- rValue <<= getFetchSize();
- break;
- case PROPERTY_ID_ESCAPEPROCESSING:
- rValue <<= sal_True;
- break;
- case PROPERTY_ID_USEBOOKMARKS:
- default:
- ;
- }
-}
-// -------------------------------------------------------------------------
-OStatement::~OStatement()
-{
-}
-IMPLEMENT_SERVICE_INFO(OStatement,"com.sun.star.sdbcx.AStatement","com.sun.star.sdbc.Statement");
-// -----------------------------------------------------------------------------
-void SAL_CALL OStatement_Base::acquire() throw()
-{
- OStatement_BASE::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OStatement::acquire() throw()
-{
- OStatement_Base::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OStatement::release() throw()
-{
- OStatement_Base::release();
-}
-// -----------------------------------------------------------------------------
-::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL OStatement_Base::getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException)
-{
- return ::cppu::OPropertySetHelper::createPropertySetInfo(getInfoHelper());
-}
-// -----------------------------------------------------------------------------
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/ATable.cxx b/connectivity/source/drivers/ado/ATable.cxx
deleted file mode 100644
index a4fadaa02b..0000000000
--- a/connectivity/source/drivers/ado/ATable.cxx
+++ /dev/null
@@ -1,259 +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 "ado/ATable.hxx"
-#include "ado/AIndexes.hxx"
-#include "ado/AColumns.hxx"
-#include "ado/AColumn.hxx"
-#include "ado/AKeys.hxx"
-#include "ado/AConnection.hxx"
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <com/sun/star/sdbcx/KeyType.hpp>
-#include <com/sun/star/sdbc/KeyRule.hpp>
-#include <cppuhelper/typeprovider.hxx>
-#include <com/sun/star/lang/DisposedException.hpp>
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include "ado/Awrapado.hxx"
-#include <comphelper/sequence.hxx>
-#include "TConnection.hxx"
-#include <comphelper/types.hxx>
-
-using namespace ::comphelper;
-
-using namespace connectivity;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::container;
-using namespace com::sun::star::lang;
-
-// -------------------------------------------------------------------------
-OAdoTable::OAdoTable(sdbcx::OCollection* _pTables,sal_Bool _bCase,OCatalog* _pCatalog,_ADOTable* _pTable)
- : OTable_TYPEDEF(_pTables,_bCase,::rtl::OUString(),::rtl::OUString())
- ,m_pCatalog(_pCatalog)
-{
- construct();
- m_aTable = WpADOTable(_pTable);
- // m_aTable.putref_ParentCatalog(_pCatalog->getCatalog());
- fillPropertyValues();
-
-}
-// -----------------------------------------------------------------------------
-OAdoTable::OAdoTable(sdbcx::OCollection* _pTables,sal_Bool _bCase,OCatalog* _pCatalog)
- : OTable_TYPEDEF(_pTables,_bCase)
- ,m_pCatalog(_pCatalog)
-{
- construct();
- m_aTable.Create();
- m_aTable.putref_ParentCatalog(_pCatalog->getCatalog());
-
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoTable::disposing(void)
-{
- OTable_TYPEDEF::disposing();
- m_aTable.clear();
-}
-// -------------------------------------------------------------------------
-void OAdoTable::refreshColumns()
-{
- TStringVector aVector;
-
- WpADOColumns aColumns;
- if ( m_aTable.IsValid() )
- {
- aColumns = m_aTable.get_Columns();
- aColumns.fillElementNames(aVector);
- }
-
- if(m_pColumns)
- m_pColumns->reFill(aVector);
- else
- m_pColumns = new OColumns(*this,m_aMutex,aVector,aColumns,isCaseSensitive(),m_pCatalog->getConnection());
-}
-// -------------------------------------------------------------------------
-void OAdoTable::refreshKeys()
-{
- TStringVector aVector;
-
- WpADOKeys aKeys;
- if(m_aTable.IsValid())
- {
- aKeys = m_aTable.get_Keys();
- aKeys.fillElementNames(aVector);
- }
-
- if(m_pKeys)
- m_pKeys->reFill(aVector);
- else
- m_pKeys = new OKeys(*this,m_aMutex,aVector,aKeys,isCaseSensitive(),m_pCatalog->getConnection());
-}
-// -------------------------------------------------------------------------
-void OAdoTable::refreshIndexes()
-{
- TStringVector aVector;
-
- WpADOIndexes aIndexes;
- if(m_aTable.IsValid())
- {
- aIndexes = m_aTable.get_Indexes();
- aIndexes.fillElementNames(aVector);
- }
-
- if(m_pIndexes)
- m_pIndexes->reFill(aVector);
- else
- m_pIndexes = new OIndexes(*this,m_aMutex,aVector,aIndexes,isCaseSensitive(),m_pCatalog->getConnection());
-}
-//--------------------------------------------------------------------------
-Sequence< sal_Int8 > OAdoTable::getUnoTunnelImplementationId()
-{
- static ::cppu::OImplementationId * pId = 0;
- if (! pId)
- {
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if (! pId)
- {
- static ::cppu::OImplementationId aId;
- pId = &aId;
- }
- }
- return pId->getImplementationId();
-}
-
-// com::sun::star::lang::XUnoTunnel
-//------------------------------------------------------------------
-sal_Int64 OAdoTable::getSomething( const Sequence< sal_Int8 > & rId ) throw (RuntimeException)
-{
- return (rId.getLength() == 16 && 0 == rtl_compareMemory(getUnoTunnelImplementationId().getConstArray(), rId.getConstArray(), 16 ) )
- ? reinterpret_cast< sal_Int64 >( this )
- : OTable_TYPEDEF::getSomething(rId);
-}
-// -------------------------------------------------------------------------
-// XRename
-void SAL_CALL OAdoTable::rename( const ::rtl::OUString& newName ) throw(SQLException, ElementExistException, RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_aMutex);
- checkDisposed(OTableDescriptor_BASE_TYPEDEF::rBHelper.bDisposed);
-
- m_aTable.put_Name(newName);
- ADOS::ThrowException(*(m_pCatalog->getConnection()->getConnection()),*this);
-
- OTable_TYPEDEF::rename(newName);
-}
-// -----------------------------------------------------------------------------
-Reference< XDatabaseMetaData> OAdoTable::getMetaData() const
-{
- return m_pCatalog->getConnection()->getMetaData();
-}
-// -------------------------------------------------------------------------
-// XAlterTable
-void SAL_CALL OAdoTable::alterColumnByName( const ::rtl::OUString& colName, const Reference< XPropertySet >& descriptor ) throw(SQLException, NoSuchElementException, RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_aMutex);
- checkDisposed(OTableDescriptor_BASE_TYPEDEF::rBHelper.bDisposed);
-
- sal_Bool bError = sal_True;
- OAdoColumn* pColumn = NULL;
- if(::comphelper::getImplementation(pColumn,descriptor) && pColumn != NULL)
- {
- WpADOColumns aColumns = m_aTable.get_Columns();
- bError = !aColumns.Delete(colName);
- bError = bError || !aColumns.Append(pColumn->getColumnImpl());
- }
- if(bError)
- ADOS::ThrowException(*(m_pCatalog->getConnection()->getConnection()),*this);
-
- m_pColumns->refresh();
- refreshColumns();
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OAdoTable::alterColumnByIndex( sal_Int32 index, const Reference< XPropertySet >& descriptor ) throw(SQLException, ::com::sun::star::lang::IndexOutOfBoundsException, RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_aMutex);
- checkDisposed(OTableDescriptor_BASE_TYPEDEF::rBHelper.bDisposed);
-
- Reference< XPropertySet > xOld;
- m_pColumns->getByIndex(index) >>= xOld;
- if(xOld.is())
- alterColumnByName(getString(xOld->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME))),descriptor);
-}
-// -------------------------------------------------------------------------
-void OAdoTable::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const Any& rValue)throw (Exception)
-{
- if(m_aTable.IsValid())
- {
- switch(nHandle)
- {
- case PROPERTY_ID_NAME:
- m_aTable.put_Name(getString(rValue));
- break;
-
- case PROPERTY_ID_TYPE:
- OTools::putValue( m_aTable.get_Properties(),
- OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE),
- getString(rValue));
- break;
-
- case PROPERTY_ID_DESCRIPTION:
- OTools::putValue( m_aTable.get_Properties(),
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Description")),
- getString(rValue));
- break;
-
- case PROPERTY_ID_SCHEMANAME:
- break;
-
- default:
- throw Exception();
- }
- }
- OTable_TYPEDEF::setFastPropertyValue_NoBroadcast(nHandle,rValue);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OAdoTable::acquire() throw()
-{
- OTable_TYPEDEF::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoTable::release() throw()
-{
- OTable_TYPEDEF::release();
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString SAL_CALL OAdoTable::getName() throw(::com::sun::star::uno::RuntimeException)
-{
- return m_aTable.get_Name();
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/ATables.cxx b/connectivity/source/drivers/ado/ATables.cxx
deleted file mode 100644
index c9872c4bc7..0000000000
--- a/connectivity/source/drivers/ado/ATables.cxx
+++ /dev/null
@@ -1,117 +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 "ado/ATables.hxx"
-#include "ado/ATable.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 "ado/ACatalog.hxx"
-#include "ado/AConnection.hxx"
-#include "ado/Awrapado.hxx"
-#include "TConnection.hxx"
-#include <comphelper/types.hxx>
-#include <cppuhelper/interfacecontainer.h>
-#include <connectivity/dbexception.hxx>
-#include "resource/ado_res.hrc"
-
-using namespace ::cppu;
-using namespace connectivity;
-using namespace comphelper;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::container;
-using namespace com::sun::star::lang;
-
-typedef connectivity::sdbcx::OCollection OCollection_TYPE;
-
-sdbcx::ObjectType OTables::createObject(const ::rtl::OUString& _rName)
-{
- OSL_ENSURE(m_aCollection.IsValid(),"Collection isn't valid");
- return new OAdoTable(this,isCaseSensitive(),m_pCatalog,m_aCollection.GetItem(_rName));
-}
-// -------------------------------------------------------------------------
-void OTables::impl_refresh( ) throw(RuntimeException)
-{
- OSL_ENSURE(m_aCollection.IsValid(),"Collection isn't valid");
- m_aCollection.Refresh();
- m_pCatalog->refreshTables();
-}
-// -------------------------------------------------------------------------
-Reference< XPropertySet > OTables::createDescriptor()
-{
- return new OAdoTable(this,isCaseSensitive(),m_pCatalog);
-}
-// -------------------------------------------------------------------------
-// XAppend
-sdbcx::ObjectType OTables::appendObject( const ::rtl::OUString&, const Reference< XPropertySet >& descriptor )
-{
- OAdoTable* pTable = NULL;
- if ( !getImplementation( pTable, descriptor ) || pTable == NULL )
- m_pCatalog->getConnection()->throwGenericSQLException( STR_INVALID_TABLE_DESCRIPTOR_ERROR,static_cast<XTypeProvider*>(this) );
-
- OSL_ENSURE(m_aCollection.IsValid(),"Collection isn't valid");
- if(!m_aCollection.Append(pTable->getImpl()))
- ADOS::ThrowException(*m_pCatalog->getConnection()->getConnection(),static_cast<XTypeProvider*>(this));
- m_aCollection.Refresh();
-
- return new OAdoTable(this,isCaseSensitive(),m_pCatalog,pTable->getImpl());
-}
-// -------------------------------------------------------------------------
-// XDrop
-void OTables::dropObject(sal_Int32 /*_nPos*/,const ::rtl::OUString _sElementName)
-{
- OSL_ENSURE(m_aCollection.IsValid(),"Collection isn't valid");
- if ( !m_aCollection.Delete(_sElementName) )
- ADOS::ThrowException(*m_pCatalog->getConnection()->getConnection(),static_cast<XTypeProvider*>(this));
-}
-// -----------------------------------------------------------------------------
-void OTables::appendNew(const ::rtl::OUString& _rsNewTable)
-{
- OSL_ENSURE(m_aCollection.IsValid(),"Collection isn't valid");
- m_aCollection.Refresh();
-
- insertElement(_rsNewTable,NULL);
-
- // notify our container listeners
- ContainerEvent aEvent(static_cast<XContainer*>(this), makeAny(_rsNewTable), Any(), Any());
- OInterfaceIteratorHelper aListenerLoop(m_aContainerListeners);
- while (aListenerLoop.hasMoreElements())
- static_cast<XContainerListener*>(aListenerLoop.next())->elementInserted(aEvent);
-}
-// -----------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AUser.cxx b/connectivity/source/drivers/ado/AUser.cxx
deleted file mode 100644
index 350f0362ab..0000000000
--- a/connectivity/source/drivers/ado/AUser.cxx
+++ /dev/null
@@ -1,227 +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 "ado/AUser.hxx"
-#include "ado/ACatalog.hxx"
-#include "ado/AGroups.hxx"
-#include <cppuhelper/typeprovider.hxx>
-#include <comphelper/sequence.hxx>
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include "ado/AConnection.hxx"
-#include "ado/Awrapado.hxx"
-
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-
-// -------------------------------------------------------------------------
-OAdoUser::OAdoUser(OCatalog* _pParent,sal_Bool _bCase, ADOUser* _pUser)
- : OUser_TYPEDEF(_bCase)
- ,m_pCatalog(_pParent)
-{
- construct();
-
- if(_pUser)
- m_aUser = WpADOUser(_pUser);
- else
- m_aUser.Create();
-}
-// -------------------------------------------------------------------------
-OAdoUser::OAdoUser(OCatalog* _pParent,sal_Bool _bCase, const ::rtl::OUString& _Name)
- : OUser_TYPEDEF(_Name,_bCase)
- , m_pCatalog(_pParent)
-{
- construct();
- m_aUser.Create();
- m_aUser.put_Name(_Name);
-}
-// -------------------------------------------------------------------------
-void OAdoUser::refreshGroups()
-{
- TStringVector aVector;
- WpADOGroups aGroups(m_aUser.get_Groups());
- aGroups.fillElementNames(aVector);
- if(m_pGroups)
- m_pGroups->reFill(aVector);
- else
- m_pGroups = new OGroups(m_pCatalog,m_aMutex,aVector,aGroups,isCaseSensitive());
-}
-//--------------------------------------------------------------------------
-Sequence< sal_Int8 > OAdoUser::getUnoTunnelImplementationId()
-{
- static ::cppu::OImplementationId * pId = 0;
- if (! pId)
- {
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if (! pId)
- {
- static ::cppu::OImplementationId aId;
- pId = &aId;
- }
- }
- return pId->getImplementationId();
-}
-
-// com::sun::star::lang::XUnoTunnel
-//------------------------------------------------------------------
-sal_Int64 OAdoUser::getSomething( const Sequence< sal_Int8 > & rId ) throw (RuntimeException)
-{
- return (rId.getLength() == 16 && 0 == rtl_compareMemory(getUnoTunnelImplementationId().getConstArray(), rId.getConstArray(), 16 ) )
- ? reinterpret_cast< sal_Int64 >( this )
- : OUser_TYPEDEF::getSomething(rId);
-}
-
-// -------------------------------------------------------------------------
-void OAdoUser::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const Any& rValue)throw (Exception)
-{
- if(m_aUser.IsValid())
- {
-
- switch(nHandle)
- {
- case PROPERTY_ID_NAME:
- {
- ::rtl::OUString aVal;
- rValue >>= aVal;
- m_aUser.put_Name(aVal);
- }
- break;
- }
- }
-}
-// -------------------------------------------------------------------------
-void OAdoUser::getFastPropertyValue(Any& rValue,sal_Int32 nHandle) const
-{
- if(m_aUser.IsValid())
- {
- switch(nHandle)
- {
- case PROPERTY_ID_NAME:
- rValue <<= m_aUser.get_Name();
- break;
- }
- }
-}
-// -------------------------------------------------------------------------
-OUserExtend::OUserExtend(OCatalog* _pParent,sal_Bool _bCase, ADOUser* _pUser)
- : OAdoUser(_pParent,_bCase,_pUser)
-{
-}
-// -------------------------------------------------------------------------
-OUserExtend::OUserExtend(OCatalog* _pParent,sal_Bool _bCase, const ::rtl::OUString& _Name)
- : OAdoUser(_pParent,_bCase,_Name)
-{
-}
-
-// -------------------------------------------------------------------------
-void OUserExtend::construct()
-{
- OUser_TYPEDEF::construct();
- registerProperty(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PASSWORD), PROPERTY_ID_PASSWORD,0,&m_Password,::getCppuType(reinterpret_cast< ::rtl::OUString*>(NULL)));
-}
-// -----------------------------------------------------------------------------
-cppu::IPropertyArrayHelper* OUserExtend::createArrayHelper() const
-{
- Sequence< com::sun::star::beans::Property > aProps;
- describeProperties(aProps);
- return new cppu::OPropertyArrayHelper(aProps);
-}
-// -------------------------------------------------------------------------
-cppu::IPropertyArrayHelper & OUserExtend::getInfoHelper()
-{
- return *OUserExtend_PROP::getArrayHelper();
-}
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoUser::acquire() throw()
-{
- OUser_TYPEDEF::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoUser::release() throw()
-{
- OUser_TYPEDEF::release();
-}
-// -----------------------------------------------------------------------------
-sal_Int32 SAL_CALL OAdoUser::getPrivileges( const ::rtl::OUString& objName, sal_Int32 objType ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_aMutex);
- checkDisposed(OUser_BASE_TYPEDEF::rBHelper.bDisposed);
-
- return ADOS::mapAdoRights2Sdbc(m_aUser.GetPermissions(objName, ADOS::mapObjectType2Ado(objType)));
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL OAdoUser::getGrantablePrivileges( const ::rtl::OUString& objName, sal_Int32 objType ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_aMutex);
- checkDisposed(OUser_BASE_TYPEDEF::rBHelper.bDisposed);
-
- sal_Int32 nRights = 0;
- RightsEnum eRights = m_aUser.GetPermissions(objName, ADOS::mapObjectType2Ado(objType));
- if((eRights & adRightWithGrant) == adRightWithGrant)
- nRights = ADOS::mapAdoRights2Sdbc(eRights);
- ADOS::ThrowException(*m_pCatalog->getConnection()->getConnection(),*this);
- return nRights;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OAdoUser::grantPrivileges( const ::rtl::OUString& objName, sal_Int32 objType, sal_Int32 objPrivileges ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_aMutex);
- checkDisposed(OUser_BASE_TYPEDEF::rBHelper.bDisposed);
- m_aUser.SetPermissions(objName,ADOS::mapObjectType2Ado(objType),adAccessGrant,RightsEnum(ADOS::mapRights2Ado(objPrivileges)));
- ADOS::ThrowException(*m_pCatalog->getConnection()->getConnection(),*this);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OAdoUser::revokePrivileges( const ::rtl::OUString& objName, sal_Int32 objType, sal_Int32 objPrivileges ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_aMutex);
- checkDisposed(OUser_BASE_TYPEDEF::rBHelper.bDisposed);
- m_aUser.SetPermissions(objName,ADOS::mapObjectType2Ado(objType),adAccessRevoke,RightsEnum(ADOS::mapRights2Ado(objPrivileges)));
- ADOS::ThrowException(*m_pCatalog->getConnection()->getConnection(),*this);
-}
-// -----------------------------------------------------------------------------
-// XUser
-void SAL_CALL OAdoUser::changePassword( const ::rtl::OUString& objPassword, const ::rtl::OUString& newPassword ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_aMutex);
- checkDisposed(OUser_BASE_TYPEDEF::rBHelper.bDisposed);
- m_aUser.ChangePassword(objPassword,newPassword);
- ADOS::ThrowException(*m_pCatalog->getConnection()->getConnection(),*this);
-}
-// -----------------------------------------------------------------------------
-
-
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AUsers.cxx b/connectivity/source/drivers/ado/AUsers.cxx
deleted file mode 100644
index e1abe6f2c9..0000000000
--- a/connectivity/source/drivers/ado/AUsers.cxx
+++ /dev/null
@@ -1,89 +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 "ado/AUsers.hxx"
-#include "ado/AUser.hxx"
-#include "ado/ATable.hxx"
-#include "ado/AConnection.hxx"
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include "connectivity/sdbcx/IRefreshable.hxx"
-#include <comphelper/types.hxx>
-#include <connectivity/dbexception.hxx>
-#include "resource/ado_res.hrc"
-
-using namespace comphelper;
-using namespace connectivity;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::container;
-
-typedef connectivity::sdbcx::OCollection OCollection_TYPE;
-
-sdbcx::ObjectType OUsers::createObject(const ::rtl::OUString& _rName)
-{
- return new OAdoUser(m_pCatalog,isCaseSensitive(),_rName);
-}
-// -------------------------------------------------------------------------
-void OUsers::impl_refresh() throw(RuntimeException)
-{
- m_aCollection.Refresh();
-}
-// -------------------------------------------------------------------------
-Reference< XPropertySet > OUsers::createDescriptor()
-{
- return new OUserExtend(m_pCatalog,isCaseSensitive());
-}
-// -------------------------------------------------------------------------
-// XAppend
-sdbcx::ObjectType OUsers::appendObject( const ::rtl::OUString& _rForName, const Reference< XPropertySet >& descriptor )
-{
- OUserExtend* pUser = NULL;
- if ( !getImplementation( pUser, descriptor ) || pUser == NULL )
- m_pCatalog->getConnection()->throwGenericSQLException( STR_INVALID_USER_DESCRIPTOR_ERROR,static_cast<XTypeProvider*>(this) );
-
- ADOUsers* pUsers = (ADOUsers*)m_aCollection;
- pUsers->Append(OLEVariant(pUser->getImpl()),OLEString(pUser->getPassword()));
-
- return createObject( _rForName );
-}
-// -------------------------------------------------------------------------
-// XDrop
-void OUsers::dropObject(sal_Int32 /*_nPos*/,const ::rtl::OUString _sElementName)
-{
- m_aCollection.Delete(_sElementName);
-}
-// -------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AView.cxx b/connectivity/source/drivers/ado/AView.cxx
deleted file mode 100644
index a5bc0d5491..0000000000
--- a/connectivity/source/drivers/ado/AView.cxx
+++ /dev/null
@@ -1,125 +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 "ado/AView.hxx"
-#include <com/sun/star/lang/DisposedException.hpp>
-#include "ado/adoimp.hxx"
-#include <cppuhelper/typeprovider.hxx>
-#include "ado/Awrapado.hxx"
-#include <comphelper/sequence.hxx>
-#include <comphelper/types.hxx>
-#include "TConnection.hxx"
-
-// -------------------------------------------------------------------------
-using namespace comphelper;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-
-// IMPLEMENT_SERVICE_INFO(OAdoView,"com.sun.star.sdbcx.AView","com.sun.star.sdbcx.View");
-// -------------------------------------------------------------------------
-OAdoView::OAdoView(sal_Bool _bCase,ADOView* _pView) : OView_ADO(_bCase,NULL)
-,m_aView(_pView)
-{
-}
-//--------------------------------------------------------------------------
-Sequence< sal_Int8 > OAdoView::getUnoTunnelImplementationId()
-{
- static ::cppu::OImplementationId * pId = 0;
- if (! pId)
- {
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
- if (! pId)
- {
- static ::cppu::OImplementationId aId;
- pId = &aId;
- }
- }
- return pId->getImplementationId();
-}
-
-// com::sun::star::lang::XUnoTunnel
-//------------------------------------------------------------------
-sal_Int64 OAdoView::getSomething( const Sequence< sal_Int8 > & rId ) throw (RuntimeException)
-{
- return (rId.getLength() == 16 && 0 == rtl_compareMemory(getUnoTunnelImplementationId().getConstArray(), rId.getConstArray(), 16 ) )
- ? reinterpret_cast< sal_Int64 >( this )
- : OView_ADO::getSomething(rId);
-}
-
-// -------------------------------------------------------------------------
-void OAdoView::getFastPropertyValue(Any& rValue,sal_Int32 nHandle) const
-{
- if(m_aView.IsValid())
- {
- switch(nHandle)
- {
- case PROPERTY_ID_NAME:
- rValue <<= m_aView.get_Name();
- break;
- case PROPERTY_ID_CATALOGNAME:
- break;
- case PROPERTY_ID_SCHEMANAME:
- // rValue <<= m_aView.get_Type();
- break;
- case PROPERTY_ID_COMMAND:
- {
- OLEVariant aVar;
- m_aView.get_Command(aVar);
- if(!aVar.isNull() && !aVar.isEmpty())
- {
- ADOCommand* pCom = (ADOCommand*)aVar.getIDispatch();
- OLEString aBSTR;
- pCom->get_CommandText(&aBSTR);
- rValue <<= (::rtl::OUString) aBSTR;
- }
- }
- break;
- }
- }
- else
- OView_ADO::getFastPropertyValue(rValue,nHandle);
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoView::acquire() throw()
-{
- OView_ADO::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL OAdoView::release() throw()
-{
- OView_ADO::release();
-}
-// -----------------------------------------------------------------------------
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/AViews.cxx b/connectivity/source/drivers/ado/AViews.cxx
deleted file mode 100644
index bf99464dfa..0000000000
--- a/connectivity/source/drivers/ado/AViews.cxx
+++ /dev/null
@@ -1,106 +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 "ado/AViews.hxx"
-#include "ado/AView.hxx"
-#include "ado/ATables.hxx"
-#include "ado/ACatalog.hxx"
-#include "ado/AConnection.hxx"
-#include "ado/Awrapado.hxx"
-#include "TConnection.hxx"
-#include <comphelper/types.hxx>
-#include <connectivity/dbexception.hxx>
-#include "resource/ado_res.hrc"
-
-using namespace ::comphelper;
-
-using namespace connectivity;
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::container;
-
-sdbcx::ObjectType OViews::createObject(const ::rtl::OUString& _rName)
-{
- OAdoView* pView = new OAdoView(isCaseSensitive(),m_aCollection.GetItem(_rName));
- pView->setNew(sal_False);
- return pView;
-}
-// -------------------------------------------------------------------------
-void OViews::impl_refresh( ) throw(RuntimeException)
-{
- m_aCollection.Refresh();
-}
-// -------------------------------------------------------------------------
-Reference< XPropertySet > OViews::createDescriptor()
-{
- return new OAdoView(isCaseSensitive());
-}
-
-// -------------------------------------------------------------------------
-// XAppend
-sdbcx::ObjectType OViews::appendObject( const ::rtl::OUString& _rForName, const Reference< XPropertySet >& descriptor )
-{
- OAdoView* pView = NULL;
- if ( !getImplementation( pView, descriptor ) || pView == NULL )
- m_pCatalog->getConnection()->throwGenericSQLException( STR_INVALID_VIEW_DESCRIPTOR_ERROR,static_cast<XTypeProvider*>(this) );
-
- WpADOCommand aCommand;
- aCommand.Create();
- if ( !aCommand.IsValid() )
- m_pCatalog->getConnection()->throwGenericSQLException( STR_VIEW_NO_COMMAND_ERROR,static_cast<XTypeProvider*>(this) );
-
- ::rtl::OUString sName( _rForName );
- aCommand.put_Name(sName);
- aCommand.put_CommandText(getString(descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_COMMAND))));
- ADOViews* pViews = (ADOViews*)m_aCollection;
- if(FAILED(pViews->Append(OLEString(sName),aCommand)))
- ADOS::ThrowException(*m_pCatalog->getConnection()->getConnection(),static_cast<XTypeProvider*>(this));
-
- OTables* pTables = static_cast<OTables*>(static_cast<OCatalog&>(m_rParent).getPrivateTables());
- if ( pTables )
- pTables->appendNew(sName);
-
- return createObject( _rForName );
-}
-// -------------------------------------------------------------------------
-// XDrop
-void OViews::dropObject(sal_Int32 /*_nPos*/,const ::rtl::OUString _sElementName)
-{
- if(!m_aCollection.Delete(_sElementName))
- ADOS::ThrowException(*m_pCatalog->getConnection()->getConnection(),static_cast<XTypeProvider*>(this));
-}
-// -------------------------------------------------------------------------
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/Aolevariant.cxx b/connectivity/source/drivers/ado/Aolevariant.cxx
deleted file mode 100644
index c22e7e2c90..0000000000
--- a/connectivity/source/drivers/ado/Aolevariant.cxx
+++ /dev/null
@@ -1,794 +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 "ado/Aolevariant.hxx"
-#include "connectivity/dbconversion.hxx"
-#include <com/sun/star/sdbc/SQLException.hpp>
-#include <com/sun/star/util/Time.hpp>
-#include <com/sun/star/util/Date.hpp>
-#include <com/sun/star/util/DateTime.hpp>
-#include "diagnose_ex.h"
-#include "resource/sharedresources.hxx"
-#include "resource/ado_res.hrc"
-#include "com/sun/star/bridge/oleautomation/Date.hpp"
-#include "com/sun/star/bridge/oleautomation/Currency.hpp"
-#include "com/sun/star/bridge/oleautomation/SCode.hpp"
-#include "com/sun/star/bridge/oleautomation/Decimal.hpp"
-
-using namespace com::sun::star::beans;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::bridge::oleautomation;
-using namespace connectivity::ado;
-using ::rtl::OUString;
-
-OLEString::OLEString()
- :m_sStr(NULL)
-{
-}
-OLEString::OLEString(const BSTR& _sBStr)
- :m_sStr(_sBStr)
-{
-}
-OLEString::OLEString(const ::rtl::OUString& _sBStr)
-{
- m_sStr = ::SysAllocString(reinterpret_cast<LPCOLESTR>(_sBStr.getStr()));
-}
-OLEString::~OLEString()
-{
- if(m_sStr)
- ::SysFreeString(m_sStr);
-}
-OLEString& OLEString::operator=(const ::rtl::OUString& _rSrc)
-{
- if(m_sStr)
- ::SysFreeString(m_sStr);
- m_sStr = ::SysAllocString(reinterpret_cast<LPCOLESTR>(_rSrc.getStr()));
- return *this;
-}
-OLEString& OLEString::operator=(const OLEString& _rSrc)
-{
- if(this != &_rSrc)
- {
- if(m_sStr)
- ::SysFreeString(m_sStr);
- m_sStr = ::SysAllocString(_rSrc.m_sStr);
- }
- return *this;
-}
-OLEString& OLEString::operator=(const BSTR& _rSrc)
-{
- if(m_sStr)
- ::SysFreeString(m_sStr);
- m_sStr = _rSrc;
- return *this;
-}
-OLEString::operator ::rtl::OUString() const
-{
- return (m_sStr != NULL) ? ::rtl::OUString(reinterpret_cast<const sal_Unicode*>(LPCOLESTR(m_sStr)),::SysStringLen(m_sStr)) : ::rtl::OUString();
-}
-OLEString::operator BSTR() const
-{
- return m_sStr;
-}
-BSTR* OLEString::operator &()
-{
- return &m_sStr;
-}
-sal_Int32 OLEString::length() const
-{
- return (m_sStr != NULL) ? ::SysStringLen(m_sStr) : 0;
-}
-
-OLEVariant::OLEVariant()
-{
- VariantInit(this);
-}
-OLEVariant::OLEVariant(const VARIANT& varSrc)
-{
- ::VariantInit(this);
- HRESULT eRet = ::VariantCopy(this, const_cast<VARIANT*>(&varSrc));
- OSL_ENSURE(eRet == S_OK,"Error while copying an ado variant!");
- OSL_UNUSED(eRet);
-}
-OLEVariant::OLEVariant(const OLEVariant& varSrc)
-{
- ::VariantInit(this);
- HRESULT eRet = ::VariantCopy(this, const_cast<VARIANT*>(static_cast<const VARIANT*>(&varSrc)));
- OSL_ENSURE(eRet == S_OK,"Error while copying an ado variant!");
- OSL_UNUSED(eRet);
-}
-
-OLEVariant::OLEVariant(sal_Bool x) { VariantInit(this); vt = VT_BOOL; boolVal = (x ? VARIANT_TRUE : VARIANT_FALSE);}
-OLEVariant::OLEVariant(sal_Int8 n) { VariantInit(this); vt = VT_I1; bVal = n;}
-OLEVariant::OLEVariant(sal_Int16 n) { VariantInit(this); vt = VT_I2; intVal = n;}
-OLEVariant::OLEVariant(sal_Int32 n) { VariantInit(this); vt = VT_I4; lVal = n;}
-OLEVariant::OLEVariant(sal_Int64 x) { VariantInit(this); vt = VT_I4; lVal = (LONG)x;}
-
-OLEVariant::OLEVariant(const rtl::OUString& us)
-{
- ::VariantInit(this);
- vt = VT_BSTR;
- bstrVal = SysAllocString(reinterpret_cast<LPCOLESTR>(us.getStr()));
-}
-OLEVariant::~OLEVariant()
-{
- HRESULT eRet = ::VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
-} // clears all the memory that was allocated before
-
-OLEVariant::OLEVariant(const ::com::sun::star::util::Date& x )
-{
- VariantInit(this);
- vt = VT_DATE;
- dblVal = ::dbtools::DBTypeConversion::toDouble(x,::com::sun::star::util::Date(30,12,1899));
-}
-OLEVariant::OLEVariant(const ::com::sun::star::util::Time& x )
-{
- VariantInit(this);
- vt = VT_DATE;
- dblVal = ::dbtools::DBTypeConversion::toDouble(x);
-}
-OLEVariant::OLEVariant(const ::com::sun::star::util::DateTime& x )
-{
- VariantInit(this);
- vt = VT_DATE;
- dblVal = ::dbtools::DBTypeConversion::toDouble(x,::com::sun::star::util::Date(30,12,1899));
-}
-OLEVariant::OLEVariant(const float &x)
-{
- VariantInit(this);
- vt = VT_R4;
- fltVal = x;
-}
-OLEVariant::OLEVariant(const double &x)
-{
- VariantInit(this);
- vt = VT_R8;
- dblVal = x;
-}
-
-
-OLEVariant::OLEVariant(IDispatch* pDispInterface)
-{
- VariantInit(this);
- setIDispatch( pDispInterface );
-}
-
-OLEVariant::OLEVariant(const ::com::sun::star::uno::Sequence< sal_Int8 >& x)
-{
- VariantInit(this);
-
- vt = VT_ARRAY|VT_UI1;
-
- SAFEARRAYBOUND rgsabound[1];
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = x.getLength();
- // parray = SafeArrayCreate(VT_UI1,1,rgsabound);
- parray = SafeArrayCreateVector(VT_UI1, 0, x.getLength());
- const sal_Int8* pBegin = x.getConstArray();
- const sal_Int8* pEnd = pBegin + x.getLength();
-
- for(sal_Int32 i=0;pBegin != pEnd;++i,++pBegin)
- {
- sal_Int32 nData = *pBegin;
- HRESULT rs = SafeArrayPutElement(parray,&i,&nData);
- OSL_ENSURE(S_OK == rs,"Error while copy byte data");
- OSL_UNUSED(rs);
- }
-}
-//
-OLEVariant& OLEVariant::operator=(const OLEVariant& varSrc)
-{
- HRESULT eRet = ::VariantCopy(this, const_cast<VARIANT*>(static_cast<const VARIANT*>(&varSrc)));
- OSL_ENSURE(eRet == S_OK,"Error while copying an ado variant!");
- OSL_UNUSED(eRet);
- return *this;
-}
-// Assign a const VARIANT& (::VariantCopy handles everything)
-//
-OLEVariant& OLEVariant::operator=(const tagVARIANT& varSrc)
-{
- HRESULT eRet = ::VariantCopy(this, const_cast<VARIANT*>(&varSrc));
- OSL_ENSURE(eRet == S_OK,"Error while copying an ado variant!");
- OSL_UNUSED(eRet);
-
- return *this;
-}
-
-// Assign a const VARIANT* (::VariantCopy handles everything)
-//
-OLEVariant& OLEVariant::operator=(const VARIANT* pSrc)
-{
- HRESULT eRet = ::VariantCopy(this, const_cast<VARIANT*>(pSrc));
- OSL_ENSURE(eRet == S_OK,"Error while copying an ado variant!");
- OSL_UNUSED(eRet);
-
- return *this;
-}
-
-void OLEVariant::setByte(sal_uInt8 n)
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_UI1;
- bVal = n;
-}
-void OLEVariant::setInt16(sal_Int16 n)
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_I2;
- iVal = n;
-}
-void OLEVariant::setInt32(sal_Int32 n)
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_I4;
- lVal = n;
-}
-void OLEVariant::setFloat(float f)
-{ HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_R4;
- fltVal = f;
-}
-void OLEVariant::setDouble(double d)
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_R8;
- dblVal = d;
-}
-void OLEVariant::setDate(DATE d)
-{ HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_DATE;
- date = d;
-}
-void OLEVariant::setChar(unsigned char a)
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_UI1;
- bVal = a;
-}
-void OLEVariant::setCurrency(double aCur)
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_CY;
- set(aCur*10000);
-}
-void OLEVariant::setBool(sal_Bool b)
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_BOOL;
- boolVal = b ? VARIANT_TRUE : VARIANT_FALSE;
-}
-void OLEVariant::setString(const rtl::OUString& us)
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_BSTR;
- bstrVal = ::SysAllocString(reinterpret_cast<LPCOLESTR>(us.getStr()));
-}
-void OLEVariant::setNoArg()
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_ERROR;
- scode = DISP_E_PARAMNOTFOUND;
-}
-
-void OLEVariant::setNull()
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_NULL;
-}
-void OLEVariant::setEmpty()
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_EMPTY;
-}
-
-void OLEVariant::setUI1SAFEARRAYPtr(SAFEARRAY* pSafeAr)
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = VT_ARRAY|VT_UI1; parray = pSafeAr;
-}
-
-void OLEVariant::setArray(SAFEARRAY* pSafeArray, VARTYPE vtType)
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
- vt = (VARTYPE)(VT_ARRAY|vtType);
- parray = pSafeArray;
-}
-
-void OLEVariant::setIDispatch(IDispatch* pDispInterface)
-{
- HRESULT eRet = VariantClear(this);
- OSL_ENSURE(eRet == S_OK,"Error while clearing an ado variant!");
- OSL_UNUSED(eRet);
-
- vt = VT_DISPATCH;
- pdispVal = pDispInterface;
-
- if ( pDispInterface )
- pDispInterface->AddRef();
-}
-
-
-sal_Bool OLEVariant::isNull() const { return (vt == VT_NULL); }
-sal_Bool OLEVariant::isEmpty() const { return (vt == VT_EMPTY); }
-
-VARTYPE OLEVariant::getType() const { return vt; }
-
-OLEVariant::operator ::com::sun::star::util::Date() const
-{
- return isNull() ? ::com::sun::star::util::Date(30,12,1899) : ::dbtools::DBTypeConversion::toDate(getDate(),::com::sun::star::util::Date(30,12,1899));
-}
-OLEVariant::operator ::com::sun::star::util::Time() const
-{
- return isNull() ? ::com::sun::star::util::Time() : ::dbtools::DBTypeConversion::toTime(getDate());
-}
-OLEVariant::operator ::com::sun::star::util::DateTime()const
-{
- return isNull() ? ::com::sun::star::util::DateTime() : ::dbtools::DBTypeConversion::toDateTime(getDate(),::com::sun::star::util::Date(30,12,1899));
-}
-
-VARIANT_BOOL OLEVariant::VariantBool(sal_Bool bEinBoolean)
-{
- return (bEinBoolean ? VARIANT_TRUE : VARIANT_FALSE);
-}
-
-void OLEVariant::CHS()
-{
- cyVal.Lo ^= (sal_uInt32)-1;
- cyVal.Hi ^= -1;
- cyVal.Lo++;
- if( !cyVal.Lo )
- cyVal.Hi++;
-}
-
-void OLEVariant::set(double n)
-{
- if( n >= 0 )
- {
- cyVal.Hi = (sal_Int32)(n / (double)4294967296.0);
- cyVal.Lo = (sal_uInt32)(n - ((double)cyVal.Hi * (double)4294967296.0));
- }
- else {
- cyVal.Hi = (sal_Int32)(-n / (double)4294967296.0);
- cyVal.Lo = (sal_uInt32)(-n - ((double)cyVal.Hi * (double)4294967296.0));
- CHS();
- }
-}
-
-OLEVariant::operator rtl::OUString() const
-{
- if (V_VT(this) == VT_BSTR)
- return reinterpret_cast<const sal_Unicode*>(LPCOLESTR(V_BSTR(this)));
-
- if(isNull())
- return ::rtl::OUString();
-
- OLEVariant varDest;
-
- varDest.ChangeType(VT_BSTR, this);
-
- return reinterpret_cast<const sal_Unicode*>(LPCOLESTR(V_BSTR(&varDest)));
-}
-
-// -----------------------------------------------------------------------------
-void OLEVariant::ChangeType(VARTYPE vartype, const OLEVariant* pSrc)
-{
- //
- // If pDest is NULL, convert type in place
- //
- if (pSrc == NULL)
- pSrc = this;
-
- if ( ( this != pSrc )
- || ( vartype != V_VT( this ) )
- )
- {
- if ( FAILED( ::VariantChangeType( static_cast< VARIANT* >( this ),
- const_cast< VARIANT* >( static_cast< const VARIANT* >( pSrc ) ),
- 0,
- vartype ) ) )
- {
- ::connectivity::SharedResources aResources;
- const ::rtl::OUString sError( aResources.getResourceString(STR_TYPE_NOT_CONVERT));
- throw ::com::sun::star::sdbc::SQLException(
- sError,
- NULL,
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "S1000" )),
- 1000,
- ::com::sun::star::uno::Any()
- );
- }
- }
-}
-
-// -----------------------------------------------------------------------------
-OLEVariant::operator ::com::sun::star::uno::Sequence< sal_Int8 >() const
-{
- ::com::sun::star::uno::Sequence< sal_Int8 > aRet;
- if(V_VT(this) == VT_BSTR)
- {
- OLEString sStr(V_BSTR(this));
- aRet = ::com::sun::star::uno::Sequence<sal_Int8>(reinterpret_cast<const sal_Int8*>((const wchar_t*)sStr),sizeof(sal_Unicode)*sStr.length());
- }
- else if(!isNull())
- {
- SAFEARRAY* pArray = getUI1SAFEARRAYPtr();
-
- if(pArray)
- {
- HRESULT hresult1,hresult2;
- long lBound,uBound;
- // Verify that the SafeArray is the proper shape.
- hresult1 = ::SafeArrayGetLBound(pArray, 1, &lBound);
- hresult2 = ::SafeArrayGetUBound(pArray, 1, &uBound);
- if ( SUCCEEDED(hresult1) && SUCCEEDED(hresult2) )
- {
- long nCount = uBound-lBound+1;
- aRet.realloc(nCount);
- sal_Int8* pData = aRet.getArray();
- for(long i=0; SUCCEEDED(hresult1) && lBound <= uBound ;++i,++lBound)
- {
- sal_Int32 nData = 0;
- hresult1 = ::SafeArrayGetElement(pArray,&lBound,&nData);
- if ( SUCCEEDED(hresult1) )
- {
- *pData = static_cast<sal_Int8>(nData);
- ++pData;
- }
- }
- }
- }
- }
-
- return aRet;
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString OLEVariant::getString() const
-{
- if(isNull())
- return ::rtl::OUString();
- else
- return *this;
-}
-// -----------------------------------------------------------------------------
-sal_Bool OLEVariant::getBool() const
-{
- if (V_VT(this) == VT_BOOL)
- return V_BOOL(this) == VARIANT_TRUE ? sal_True : sal_False;
- if(isNull())
- return sal_False;
-
- OLEVariant varDest;
-
- varDest.ChangeType(VT_BOOL, this);
-
- return V_BOOL(&varDest) == VARIANT_TRUE ? sal_True : sal_False;
-}
-// -----------------------------------------------------------------------------
-IUnknown* OLEVariant::getIUnknown() const
-{
- if (V_VT(this) == VT_UNKNOWN)
- {
- return V_UNKNOWN(this);
- }
- if(isNull())
- return NULL;
-
- OLEVariant varDest;
-
- varDest.ChangeType(VT_UNKNOWN, this);
-
- V_UNKNOWN(&varDest)->AddRef();
- return V_UNKNOWN(&varDest);
-}
-// -----------------------------------------------------------------------------
-IDispatch* OLEVariant::getIDispatch() const
-{
- if (V_VT(this) == VT_DISPATCH)
- {
- return V_DISPATCH(this);
- }
-
- if(isNull())
- return NULL;
-
- OLEVariant varDest;
-
- varDest.ChangeType(VT_DISPATCH, this);
-
- V_DISPATCH(&varDest)->AddRef();
- return V_DISPATCH(&varDest);
-}
-// -----------------------------------------------------------------------------
-sal_uInt8 OLEVariant::getByte() const
-{
- if (V_VT(this) == VT_UI1)
- return V_UI1(this);
-
- if(isNull())
- return sal_Int8(0);
- OLEVariant varDest;
-
- varDest.ChangeType(VT_UI1, this);
-
- return V_UI1(&varDest);
-}
-// -----------------------------------------------------------------------------
-sal_Int16 OLEVariant::getInt16() const
-{
- if (V_VT(this) == VT_I2)
- return V_I2(this);
-
- if(isNull())
- return sal_Int16(0);
- OLEVariant varDest;
-
- varDest.ChangeType(VT_I2, this);
-
- return V_I2(&varDest);
-}
-// -----------------------------------------------------------------------------
-sal_Int8 OLEVariant::getInt8() const
-{
- if (V_VT(this) == VT_I1)
- return V_I1(this);
-
- if(isNull())
- return sal_Int8(0);
-
- OLEVariant varDest;
-
- varDest.ChangeType(VT_I1, this);
-
- return V_I1(&varDest);
-}
-// -----------------------------------------------------------------------------
-sal_Int32 OLEVariant::getInt32() const
-{
- if (V_VT(this) == VT_I4)
- return V_I4(this);
-
- if(isNull())
- return sal_Int32(0);
-
- OLEVariant varDest;
-
- varDest.ChangeType(VT_I4, this);
-
- return V_I4(&varDest);
-}
-// -----------------------------------------------------------------------------
-sal_uInt32 OLEVariant::getUInt32() const
-{
- if (V_VT(this) == VT_UI4)
- return V_UI4(this);
-
- if(isNull())
- return sal_uInt32(0);
-
- OLEVariant varDest;
-
- varDest.ChangeType(VT_UI4, this);
-
- return V_UI4(&varDest);
-}
-// -----------------------------------------------------------------------------
-float OLEVariant::getFloat() const
-{
- if (V_VT(this) == VT_R4)
- return V_R4(this);
-
- if(isNull())
- return float(0);
- OLEVariant varDest;
-
- varDest.ChangeType(VT_R4, this);
-
- return V_R4(&varDest);
-}
-// -----------------------------------------------------------------------------
-double OLEVariant::getDouble() const
-{
- if (V_VT(this) == VT_R8)
- return V_R8(this);
-
- if(isNull())
- return double(0);
- OLEVariant varDest;
-
- varDest.ChangeType(VT_R8, this);
-
- return V_R8(&varDest);
-}
-// -----------------------------------------------------------------------------
-double OLEVariant::getDate() const
-{
- if (V_VT(this) == VT_DATE)
- return V_DATE(this);
-
- if(isNull())
- return double(0);
- OLEVariant varDest;
-
- varDest.ChangeType(VT_DATE, this);
-
- return V_DATE(&varDest);
-}
-// -----------------------------------------------------------------------------
-CY OLEVariant::getCurrency() const
-{
- if (V_VT(this) == VT_CY)
- return V_CY(this);
-
- if(isNull())
- {
- CY aVar;
- aVar.int64 = sal_Int64(0);
- return aVar;
- }
- OLEVariant varDest;
-
- varDest.ChangeType(VT_CY, this);
-
- return V_CY(&varDest);
-}
-// -----------------------------------------------------------------------------
-SAFEARRAY* OLEVariant::getUI1SAFEARRAYPtr() const
-{
- if (V_VT(this) == (VT_ARRAY|VT_UI1))
- return V_ARRAY(this);
-
- if(isNull())
- return (0);
- OLEVariant varDest;
-
- varDest.ChangeType((VT_ARRAY|VT_UI1), this);
-
- return V_ARRAY(&varDest);
-}
-// -----------------------------------------------------------------------------
-::com::sun::star::uno::Any OLEVariant::makeAny() const
-{
- ::com::sun::star::uno::Any aValue;
- switch (V_VT(this))
- {
- case VT_EMPTY:
- case VT_NULL:
- aValue.setValue(NULL, Type());
- break;
- case VT_I2:
- aValue.setValue( & iVal, getCppuType( (sal_Int16*)0));
- break;
- case VT_I4:
- aValue.setValue( & lVal, getCppuType( (sal_Int32*)0));
- break;
- case VT_R4:
- aValue.setValue( & fltVal, getCppuType( (float*)0));
- break;
- case VT_R8:
- aValue.setValue(& dblVal, getCppuType( (double*)0));
- break;
- case VT_CY:
- {
- Currency cy(cyVal.int64);
- aValue <<= cy;
- break;
- }
- case VT_DATE:
- {
- aValue <<= (::com::sun::star::util::Date)*this;
- break;
- }
- case VT_BSTR:
- {
- OUString b(reinterpret_cast<const sal_Unicode*>(bstrVal));
- aValue.setValue( &b, getCppuType( &b));
- break;
- }
- case VT_BOOL:
- {
- sal_Bool b= boolVal == VARIANT_TRUE;
- aValue.setValue( &b, getCppuType( &b));
- break;
- }
- case VT_I1:
- aValue.setValue( & cVal, getCppuType((sal_Int8*)0));
- break;
- case VT_UI1: // there is no unsigned char in UNO
- aValue.setValue( & bVal, getCppuType( (sal_Int8*)0));
- break;
- case VT_UI2:
- aValue.setValue( & uiVal, getCppuType( (sal_uInt16*)0));
- break;
- case VT_UI4:
- aValue.setValue( & ulVal, getCppuType( (sal_uInt32*)0));
- break;
- case VT_INT:
- aValue.setValue( & intVal, getCppuType( (sal_Int32*)0));
- break;
- case VT_UINT:
- aValue.setValue( & uintVal, getCppuType( (sal_uInt32*)0));
- break;
- case VT_VOID:
- aValue.setValue( NULL, Type());
- break;
- case VT_DECIMAL:
- {
- Decimal dec;
- dec.Scale = decVal.scale;
- dec.Sign = decVal.sign;
- dec.LowValue = decVal.Lo32;
- dec.MiddleValue = decVal.Mid32;
- dec.HighValue = decVal.Hi32;
- aValue <<= dec;
- break;
- }
-
- default:
- break;
- }
- return aValue;
-}
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/Aservices.cxx b/connectivity/source/drivers/ado/Aservices.cxx
deleted file mode 100644
index 210cf52792..0000000000
--- a/connectivity/source/drivers/ado/Aservices.cxx
+++ /dev/null
@@ -1,123 +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 "ado/ADriver.hxx"
-#include <cppuhelper/factory.hxx>
-
-using namespace connectivity::ado;
-using ::rtl::OUString;
-using ::com::sun::star::uno::Reference;
-using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::lang::XSingleServiceFactory;
-using ::com::sun::star::lang::XMultiServiceFactory;
-
-typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
- (
- const Reference< XMultiServiceFactory > & rServiceManager,
- const OUString & rComponentName,
- ::cppu::ComponentInstantiation pCreateFunction,
- const Sequence< OUString > & rServiceNames ,
- rtl_ModuleCount* _pT
- );
-
-//---------------------------------------------------------------------------------------
-struct ProviderRequest
-{
- Reference< XSingleServiceFactory > xRet;
- Reference< XMultiServiceFactory > const xServiceManager;
- OUString const sImplementationName;
-
- ProviderRequest(
- void* pServiceManager,
- sal_Char const* pImplementationName
- )
- : xServiceManager(reinterpret_cast<XMultiServiceFactory*>(pServiceManager))
- , sImplementationName(OUString(RTL_CONSTASCII_USTRINGPARAM(pImplementationName)))
- {
- }
-
- inline
- sal_Bool CREATE_PROVIDER(
- const OUString& Implname,
- const Sequence< OUString > & Services,
- ::cppu::ComponentInstantiation Factory,
- createFactoryFunc creator
- )
- {
- if (!xRet.is() && (Implname == sImplementationName))
- try
- {
- xRet = creator( xServiceManager, sImplementationName,Factory, Services,0);
- }
- catch(...)
- {
- }
- return xRet.is();
- }
-
- void* getProvider() const { return xRet.get(); }
-};
-
-//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char **ppEnvTypeName,
- uno_Environment ** /*ppEnv*/)
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ":affine";
-}
-
-//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
- const sal_Char* pImplementationName,
- void* pServiceManager,
- void* /*pRegistryKey*/)
-{
- void* pRet = 0;
- if (pServiceManager)
- {
- ProviderRequest aReq(pServiceManager,pImplementationName);
-
- aReq.CREATE_PROVIDER(
- ODriver::getImplementationName_Static(),
- ODriver::getSupportedServiceNames_Static(),
- ODriver_CreateInstance, ::cppu::createSingleFactory)
- ;
-
- if(aReq.xRet.is())
- aReq.xRet->acquire();
-
- pRet = aReq.getProvider();
- }
-
- return pRet;
-};
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/Awrapado.cxx b/connectivity/source/drivers/ado/Awrapado.cxx
deleted file mode 100644
index 47886990a6..0000000000
--- a/connectivity/source/drivers/ado/Awrapado.cxx
+++ /dev/null
@@ -1,2205 +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 <sal/macros.h>
-#include "ado/Awrapado.hxx"
-#include "ado/Awrapadox.hxx"
-#include <comphelper/types.hxx>
-#include <rtl/ustrbuf.hxx>
-#include "diagnose_ex.h"
-
-namespace connectivity
-{
- namespace ado
- {
- sal_Int32 nAdoObjectCounter = 0;
- }
-}
-
-using namespace connectivity::ado;
-
-void WpADOCatalog::Create()
-{
- HRESULT hr = -1;
- _ADOCatalog* pCommand;
- hr = CoCreateInstance(ADOS::CLSID_ADOCATALOG_25,
- NULL,
- CLSCTX_INPROC_SERVER,
- ADOS::IID_ADOCATALOG_25,
- (void**)&pCommand );
-
-
- if( !FAILED( hr ) )
- setWithOutAddRef(pCommand);
-}
-
-
-WpADOProperties WpADOConnection::get_Properties() const
-{
- ADOProperties* pProps=NULL;
- pInterface->get_Properties(&pProps);
- WpADOProperties aProps;
- aProps.setWithOutAddRef(pProps);
- return aProps;
-}
-
-rtl::OUString WpADOConnection::GetConnectionString() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_ConnectionString(&aBSTR);
- return aBSTR;
-}
-
-sal_Bool WpADOConnection::PutConnectionString(const ::rtl::OUString &aCon) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString bstr(aCon);
- sal_Bool bErg = SUCCEEDED(pInterface->put_ConnectionString(bstr));
-
- return bErg;
-}
-
-sal_Int32 WpADOConnection::GetCommandTimeout() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nRet=0;
- pInterface->get_CommandTimeout(&nRet);
- return nRet;
-}
-
-void WpADOConnection::PutCommandTimeout(sal_Int32 nRet)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_CommandTimeout(nRet);
-}
-
-sal_Int32 WpADOConnection::GetConnectionTimeout() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nRet=0;
- pInterface->get_ConnectionTimeout(&nRet);
- return nRet;
-}
-
-void WpADOConnection::PutConnectionTimeout(sal_Int32 nRet)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_ConnectionTimeout(nRet);
-}
-
-sal_Bool WpADOConnection::Close( )
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->Close()));
-}
-
-sal_Bool WpADOConnection::Execute(const ::rtl::OUString& _CommandText,OLEVariant& RecordsAffected,long Options, WpADORecordset** ppiRset)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString sStr1(_CommandText);
- sal_Bool bErg = SUCCEEDED(pInterface->Execute(sStr1,&RecordsAffected,Options,(_ADORecordset**)ppiRset));
- return bErg;
-}
-
-sal_Bool WpADOConnection::BeginTrans()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nIso=0;
- return SUCCEEDED(pInterface->BeginTrans(&nIso));
-}
-
-sal_Bool WpADOConnection::CommitTrans( )
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->CommitTrans());
-}
-
-sal_Bool WpADOConnection::RollbackTrans( )
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->RollbackTrans());
-}
-
-sal_Bool WpADOConnection::Open(const ::rtl::OUString& ConnectionString, const ::rtl::OUString& UserID,const ::rtl::OUString& Password,long Options)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString sStr1(ConnectionString);
- OLEString sStr2(UserID);
- OLEString sStr3(Password);
- sal_Bool bErg = SUCCEEDED(pInterface->Open(sStr1,sStr2,sStr3,Options));
- return bErg;
-}
-
-sal_Bool WpADOConnection::GetErrors(ADOErrors** pErrors)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->get_Errors(pErrors));
-}
-
-::rtl::OUString WpADOConnection::GetDefaultDatabase() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR; pInterface->get_DefaultDatabase(&aBSTR);
- return aBSTR;
-}
-
-sal_Bool WpADOConnection::PutDefaultDatabase(const ::rtl::OUString& _bstr)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString bstr(_bstr);
- sal_Bool bErg = SUCCEEDED(pInterface->put_DefaultDatabase(bstr));
-
- return bErg;
-}
-
-IsolationLevelEnum WpADOConnection::get_IsolationLevel() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- IsolationLevelEnum eNum=adXactUnspecified;
- pInterface->get_IsolationLevel(&eNum);
- return eNum;
-}
-
-sal_Bool WpADOConnection::put_IsolationLevel(const IsolationLevelEnum& eNum)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_IsolationLevel(eNum));
-}
-
-sal_Int32 WpADOConnection::get_Attributes() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nRet=0;
- pInterface->get_Attributes(&nRet);
- return nRet;
-}
-
-sal_Bool WpADOConnection::put_Attributes(sal_Int32 nRet)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_Attributes(nRet));
-}
-
-CursorLocationEnum WpADOConnection::get_CursorLocation() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- CursorLocationEnum eNum=adUseNone;
- pInterface->get_CursorLocation(&eNum);
- return eNum;
-}
-
-sal_Bool WpADOConnection::put_CursorLocation(const CursorLocationEnum &eNum)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_CursorLocation(eNum));
-}
-
-ConnectModeEnum WpADOConnection::get_Mode() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ConnectModeEnum eNum=adModeUnknown;
- pInterface->get_Mode(&eNum);
- return eNum;
-}
-
-sal_Bool WpADOConnection::put_Mode(const ConnectModeEnum &eNum)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_Mode(eNum));
-}
-
-::rtl::OUString WpADOConnection::get_Provider() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR; pInterface->get_Provider(&aBSTR);
- return aBSTR;
-}
-
-sal_Bool WpADOConnection::put_Provider(const ::rtl::OUString& _bstr)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString bstr(_bstr);
- return SUCCEEDED(pInterface->put_Provider(bstr));
-}
-
-sal_Int32 WpADOConnection::get_State() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nRet=0;
- pInterface->get_State(&nRet);
- return nRet;
-}
-
-sal_Bool WpADOConnection::OpenSchema(SchemaEnum eNum,OLEVariant& Restrictions,OLEVariant& SchemaID,ADORecordset**pprset)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->OpenSchema(eNum,Restrictions,SchemaID,pprset));
-}
-
-::rtl::OUString WpADOConnection::get_Version() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Version(&aBSTR);
- return aBSTR;
-}
-
-sal_Bool WpADOCommand::putref_ActiveConnection( WpADOConnection *pCon)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- if(pCon)
- return SUCCEEDED(pInterface->putref_ActiveConnection(pCon->pInterface));
- else
- return SUCCEEDED(pInterface->putref_ActiveConnection(NULL));
-}
-
-void WpADOCommand::put_ActiveConnection(/* [in] */ const OLEVariant& vConn)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_ActiveConnection(vConn);
-}
-
-void WpADOCommand::Create()
-{
- IClassFactory2* pInterface2 = NULL;
- IUnknown *pOuter = NULL;
- HRESULT hr;
- hr = CoGetClassObject( ADOS::CLSID_ADOCOMMAND_21,
- CLSCTX_INPROC_SERVER,
- NULL,
- IID_IClassFactory2,
- (void**)&pInterface2 );
-
- if( !FAILED( hr ) )
- {
- ADOCommand* pCommand=NULL;
-
- hr = pInterface2->CreateInstanceLic( pOuter,
- NULL,
- ADOS::IID_ADOCOMMAND_21,
- ADOS::GetKeyStr(),
- (void**) &pCommand);
-
- if( !FAILED( hr ) )
- {
- operator=(pCommand);
- pCommand->Release();
- }
-
- pInterface2->Release();
- }
-}
-
-sal_Int32 WpADOCommand::get_State() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nRet=0;
- pInterface->get_State(&nRet);
- return nRet;
-}
-
-::rtl::OUString WpADOCommand::get_CommandText() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_CommandText(&aBSTR);
- return aBSTR;
-}
-
-sal_Bool WpADOCommand::put_CommandText(const ::rtl::OUString &aCon)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString bstr(aCon);
- sal_Bool bErg = SUCCEEDED(pInterface->put_CommandText(bstr));
-
- return bErg;
-}
-
-sal_Int32 WpADOCommand::get_CommandTimeout() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nRet=0;
- pInterface->get_CommandTimeout(&nRet);
- return nRet;
-}
-
-void WpADOCommand::put_CommandTimeout(sal_Int32 nRet)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_CommandTimeout(nRet);
-}
-
-sal_Bool WpADOCommand::get_Prepared() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- VARIANT_BOOL bPrepared = VARIANT_FALSE;
- pInterface->get_Prepared(&bPrepared);
- return bPrepared == VARIANT_TRUE;
-}
-
-sal_Bool WpADOCommand::put_Prepared(VARIANT_BOOL bPrepared) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_Prepared(bPrepared));
-}
-
-sal_Bool WpADOCommand::Execute(OLEVariant& RecordsAffected,OLEVariant& Parameters,long Options, ADORecordset** ppiRset)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->Execute(&RecordsAffected,&Parameters,Options,ppiRset));
-}
-
-ADOParameter* WpADOCommand::CreateParameter(const ::rtl::OUString &_bstr,DataTypeEnum Type,ParameterDirectionEnum Direction,long nSize,const OLEVariant &Value)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOParameter* pPara = NULL;
- OLEString bstr(_bstr);
- sal_Bool bErg = SUCCEEDED(pInterface->CreateParameter(bstr,Type,Direction,nSize,Value,&pPara));
-
- return bErg ? pPara : NULL;
-}
-
-ADOParameters* WpADOCommand::get_Parameters() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOParameters* pPara=NULL;
- pInterface->get_Parameters(&pPara);
- return pPara;
-}
-
-sal_Bool WpADOCommand::put_CommandType( /* [in] */ CommandTypeEnum lCmdType)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_CommandType(lCmdType));
-}
-
-CommandTypeEnum WpADOCommand::get_CommandType( ) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- CommandTypeEnum eNum=adCmdUnspecified;
- pInterface->get_CommandType(&eNum);
- return eNum;
-}
-
-// returns the name of the field
-::rtl::OUString WpADOCommand::GetName() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Name(&aBSTR);
- return aBSTR;
-}
-
-sal_Bool WpADOCommand::put_Name(const ::rtl::OUString& _Name)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString bstr(_Name);
- sal_Bool bErg = SUCCEEDED(pInterface->put_Name(bstr));
-
- return bErg;
-}
-sal_Bool WpADOCommand::Cancel()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->Cancel());
-}
-
-::rtl::OUString WpADOError::GetDescription() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Description(&aBSTR);
- return aBSTR;
-}
-
- ::rtl::OUString WpADOError::GetSource() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Source(&aBSTR);
- return aBSTR;
-}
-
- sal_Int32 WpADOError::GetNumber() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nErrNr=0;
- pInterface->get_Number(&nErrNr);
- return nErrNr;
-}
-
- ::rtl::OUString WpADOError::GetSQLState() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_SQLState(&aBSTR);
- return aBSTR;
-}
-
- sal_Int32 WpADOError::GetNativeError() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nErrNr=0;
- pInterface->get_NativeError(&nErrNr);
- return nErrNr;
-}
-WpADOProperties WpADOField::get_Properties()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOProperties* pProps = NULL;
- pInterface->get_Properties(&pProps);
- WpADOProperties aProps;
-
- aProps.setWithOutAddRef(pProps);
- return aProps;
-}
-
- sal_Int32 WpADOField::GetActualSize() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADO_LONGPTR nActualSize=0;
- pInterface->get_ActualSize(&nActualSize);
- return nActualSize;
-}
-
- sal_Int32 WpADOField::GetAttributes() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 eADOSFieldAttributes=0;
- pInterface->get_Attributes(&eADOSFieldAttributes);
- return eADOSFieldAttributes;
-}
-
-sal_Int32 WpADOField::GetStatus() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 eADOSFieldAttributes=0;
- // pInterface->get_Status(&eADOSFieldAttributes);
- return eADOSFieldAttributes;
-}
-
-sal_Int32 WpADOField::GetDefinedSize() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADO_LONGPTR nDefinedSize=0;
- pInterface->get_DefinedSize(&nDefinedSize);
- return nDefinedSize;
-}
-
-// returns the name of the field
-::rtl::OUString WpADOField::GetName() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Name(&aBSTR);
- return aBSTR;
-}
-
- DataTypeEnum WpADOField::GetADOType() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- DataTypeEnum eType=adEmpty;
- pInterface->get_Type(&eType);
- return eType;
-}
-
- void WpADOField::get_Value(OLEVariant& aValVar) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- aValVar.setEmpty();
- sal_Bool bOk = SUCCEEDED(pInterface->get_Value(&aValVar));
- (void)bOk;
-}
-
- OLEVariant WpADOField::get_Value() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEVariant aValVar;
- pInterface->get_Value(&aValVar);
- return aValVar;
-}
-
- sal_Bool WpADOField::PutValue(const OLEVariant& aVariant)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->put_Value(aVariant)));
-}
-
-sal_Int32 WpADOField::GetPrecision() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_uInt8 eType=0;
- pInterface->get_Precision(&eType);
- return eType;
-}
-
- sal_Int32 WpADOField::GetNumericScale() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_uInt8 eType=0;
- pInterface->get_NumericScale(&eType);
- return eType;
-}
-
- sal_Bool WpADOField::AppendChunk(const OLEVariant& _Variant)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->AppendChunk(_Variant)));
-}
-
-OLEVariant WpADOField::GetChunk(long Length) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEVariant aValVar;
- pInterface->GetChunk(Length,&aValVar);
- return aValVar;
-}
-
-void WpADOField::GetChunk(long Length,OLEVariant &aValVar) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->GetChunk(Length,&aValVar);
-}
-
-OLEVariant WpADOField::GetOriginalValue() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEVariant aValVar;
- pInterface->get_OriginalValue(&aValVar);
- return aValVar;
-}
-
-void WpADOField::GetOriginalValue(OLEVariant &aValVar) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->get_OriginalValue(&aValVar);
-}
-
-OLEVariant WpADOField::GetUnderlyingValue() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEVariant aValVar;
- pInterface->get_UnderlyingValue(&aValVar);
- return aValVar;
-}
-
- void WpADOField::GetUnderlyingValue(OLEVariant &aValVar) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->get_UnderlyingValue(&aValVar);
-}
-
- sal_Bool WpADOField::PutPrecision(sal_Int8 _prec)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->put_Precision(_prec)));
-}
-
- sal_Bool WpADOField::PutNumericScale(sal_Int8 _prec)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->put_NumericScale(_prec)));
-}
-
- void WpADOField::PutADOType(DataTypeEnum eType)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_Type(eType);
-}
-
- sal_Bool WpADOField::PutDefinedSize(sal_Int32 _nDefSize)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->put_DefinedSize(_nDefSize)));
-}
-
- sal_Bool WpADOField::PutAttributes(sal_Int32 _nDefSize)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->put_Attributes(_nDefSize)));
-}
-
-OLEVariant WpADOProperty::GetValue() const
-{
- OLEVariant aValVar;
- if(pInterface)
- pInterface->get_Value(&aValVar);
- return aValVar;
-}
-
-void WpADOProperty::GetValue(OLEVariant &aValVar) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- if(pInterface)
- pInterface->get_Value(&aValVar);
-}
-
-sal_Bool WpADOProperty::PutValue(const OLEVariant &aValVar)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->put_Value(aValVar)));
-}
-
- ::rtl::OUString WpADOProperty::GetName() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Name(&aBSTR);
- return aBSTR;
-}
-
- DataTypeEnum WpADOProperty::GetADOType() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- DataTypeEnum eType=adEmpty;
- pInterface->get_Type(&eType);
- return eType;
-}
-
- sal_Int32 WpADOProperty::GetAttributes() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 eADOSFieldAttributes=0;
- pInterface->get_Attributes(&eADOSFieldAttributes);
- return eADOSFieldAttributes;
-}
-
- sal_Bool WpADOProperty::PutAttributes(sal_Int32 _nDefSize)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->put_Attributes(_nDefSize)));
-}
- void WpADORecordset::Create()
-{
- IClassFactory2* pInterface2 = NULL;
- IUnknown *pOuter = NULL;
- HRESULT hr;
- hr = CoGetClassObject( ADOS::CLSID_ADORECORDSET_21,
- CLSCTX_INPROC_SERVER,
- NULL,
- IID_IClassFactory2,
- (void**)&pInterface2 );
-
- if( !FAILED( hr ) )
- {
- ADORecordset *pRec = NULL;
- hr = pInterface2->CreateInstanceLic( pOuter,
- NULL,
- ADOS::IID_ADORECORDSET_21,
- ADOS::GetKeyStr(),
- (void**) &pRec);
-
- if( !FAILED( hr ) )
- {
- operator=(pRec);
- pRec->Release();
- }
-
- pInterface2->Release();
- }
-}
-
- sal_Bool WpADORecordset::Open(
- /* [optional][in] */ VARIANT Source,
- /* [optional][in] */ VARIANT ActiveConnection,
- /* [defaultvalue][in] */ CursorTypeEnum CursorType,
- /* [defaultvalue][in] */ LockTypeEnum LockType,
- /* [defaultvalue][in] */ sal_Int32 Options)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->Open(Source,ActiveConnection,CursorType,LockType,Options)));
-}
-
-
-LockTypeEnum WpADORecordset::GetLockType()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- LockTypeEnum eType=adLockUnspecified;
- pInterface->get_LockType(&eType);
- return eType;
-}
-
-void WpADORecordset::Close()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->Close();
-}
-
- sal_Bool WpADORecordset::Cancel() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->Cancel()));
-}
-
- sal_Int32 WpADORecordset::get_State( )
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nState = 0;
- pInterface->get_State(&nState);
- return nState;
-}
-
- sal_Bool WpADORecordset::Supports( /* [in] */ CursorOptionEnum CursorOptions)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- VARIANT_BOOL bSupports=VARIANT_FALSE;
- pInterface->Supports(CursorOptions,&bSupports);
- return bSupports == VARIANT_TRUE;
-}
-
-PositionEnum_Param WpADORecordset::get_AbsolutePosition()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- PositionEnum_Param aTemp=adPosUnknown;
- pInterface->get_AbsolutePosition(&aTemp);
- return aTemp;
-}
-
- void WpADORecordset::GetDataSource(IUnknown** _pInterface) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->get_DataSource(_pInterface);
-}
-
- void WpADORecordset::PutRefDataSource(IUnknown* _pInterface)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->putref_DataSource(_pInterface);
-}
-
- void WpADORecordset::GetBookmark(VARIANT& var)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->get_Bookmark(&var);
-}
-
- OLEVariant WpADORecordset::GetBookmark()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEVariant var;
- pInterface->get_Bookmark(&var);
- return var;
-}
-
-CompareEnum WpADORecordset::CompareBookmarks(const OLEVariant& left,const OLEVariant& right)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- CompareEnum eNum=adCompareNotComparable;
- pInterface->CompareBookmarks(left,right,&eNum);
- return eNum;
-}
-
- sal_Bool WpADORecordset::SetBookmark(const OLEVariant &pSafeAr)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_Bookmark(pSafeAr));
-}
-
-
-WpADOFields WpADORecordset::GetFields() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOFields* pFields=NULL;
- pInterface->get_Fields(&pFields);
- WpADOFields aFields;
- aFields.setWithOutAddRef(pFields);
- return aFields;
-}
-
-
- sal_Bool WpADORecordset::Move(sal_Int32 nRows, VARIANT aBmk) {return pInterface && SUCCEEDED(pInterface->Move(nRows, aBmk));}
- sal_Bool WpADORecordset::MoveNext() {return pInterface && SUCCEEDED(pInterface->MoveNext());}
- sal_Bool WpADORecordset::MovePrevious() {return pInterface && SUCCEEDED(pInterface->MovePrevious());}
- sal_Bool WpADORecordset::MoveFirst() {return pInterface && SUCCEEDED(pInterface->MoveFirst());}
- sal_Bool WpADORecordset::MoveLast() {return pInterface && SUCCEEDED(pInterface->MoveLast());}
-
- sal_Bool WpADORecordset::IsAtBOF() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- VARIANT_BOOL bIsAtBOF=VARIANT_FALSE;
- pInterface->get_BOF(&bIsAtBOF);
- return bIsAtBOF == VARIANT_TRUE;
-}
-
- sal_Bool WpADORecordset::IsAtEOF() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- VARIANT_BOOL bIsAtEOF=VARIANT_FALSE;
- pInterface->get_EOF(&bIsAtEOF);
- return bIsAtEOF == VARIANT_TRUE;
-}
-
- sal_Bool WpADORecordset::Delete(AffectEnum eNum)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->Delete(eNum));
-}
-
- sal_Bool WpADORecordset::AddNew(const OLEVariant &FieldList,const OLEVariant &Values)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->AddNew(FieldList,Values));
-}
-
- sal_Bool WpADORecordset::Update(const OLEVariant &FieldList,const OLEVariant &Values)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->Update(FieldList,Values));
-}
-
- sal_Bool WpADORecordset::CancelUpdate()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->CancelUpdate());
-}
-
-WpADOProperties WpADORecordset::get_Properties() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOProperties* pProps=NULL;
- pInterface->get_Properties(&pProps);
- WpADOProperties aProps;
- aProps.setWithOutAddRef(pProps);
- return aProps;
-}
-
- sal_Bool WpADORecordset::NextRecordset(OLEVariant& RecordsAffected,ADORecordset** ppiRset)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->NextRecordset(&RecordsAffected,ppiRset));
-}
-
- sal_Bool WpADORecordset::get_RecordCount(ADO_LONGPTR &_nRet) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->get_RecordCount(&_nRet));
-}
-
- sal_Bool WpADORecordset::get_MaxRecords(ADO_LONGPTR &_nRet) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->get_MaxRecords(&_nRet));
-}
-
- sal_Bool WpADORecordset::put_MaxRecords(ADO_LONGPTR _nRet)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_MaxRecords(_nRet));
-}
-
- sal_Bool WpADORecordset::get_CursorType(CursorTypeEnum &_nRet) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->get_CursorType(&_nRet));
-}
-
- sal_Bool WpADORecordset::put_CursorType(CursorTypeEnum _nRet)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_CursorType(_nRet));
-}
-
- sal_Bool WpADORecordset::get_LockType(LockTypeEnum &_nRet) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->get_LockType(&_nRet));
-}
-
- sal_Bool WpADORecordset::put_LockType(LockTypeEnum _nRet)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_LockType(_nRet));
-}
-
- sal_Bool WpADORecordset::get_CacheSize(sal_Int32 &_nRet) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->get_CacheSize(&_nRet));
-}
-
- sal_Bool WpADORecordset::put_CacheSize(sal_Int32 _nRet)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_CacheSize(_nRet));
-}
-
- sal_Bool WpADORecordset::UpdateBatch(AffectEnum AffectRecords)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->UpdateBatch(AffectRecords));
-}
-
- ::rtl::OUString WpADOParameter::GetName() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Name(&aBSTR);
- return aBSTR;
-}
-
- DataTypeEnum WpADOParameter::GetADOType() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- DataTypeEnum eType=adEmpty;
- pInterface->get_Type(&eType);
- return eType;
-}
-
-void WpADOParameter::put_Type(const DataTypeEnum& _eType)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_Type(_eType);
-}
-
- sal_Int32 WpADOParameter::GetAttributes() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 eADOSFieldAttributes=0;
- pInterface->get_Attributes(&eADOSFieldAttributes);
- return eADOSFieldAttributes;
-}
-
- sal_Int32 WpADOParameter::GetPrecision() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_uInt8 eType=0;
- pInterface->get_Precision(&eType);
- return eType;
-}
-
- sal_Int32 WpADOParameter::GetNumericScale() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_uInt8 eType=0;
- pInterface->get_NumericScale(&eType);
- return eType;
-}
-
- ParameterDirectionEnum WpADOParameter::get_Direction() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ParameterDirectionEnum alParmDirection=adParamUnknown;
- pInterface->get_Direction(&alParmDirection);
- return alParmDirection;
-}
-
- void WpADOParameter::GetValue(OLEVariant& aValVar) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->get_Value(&aValVar);
-}
-
- OLEVariant WpADOParameter::GetValue() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEVariant aValVar;
- pInterface->get_Value(&aValVar);
- return aValVar;
-}
-
-sal_Bool WpADOParameter::PutValue(const OLEVariant& aVariant)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->put_Value(aVariant)));
-}
-sal_Bool WpADOParameter::AppendChunk(const OLEVariant& aVariant)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->AppendChunk(aVariant)));
-}
-sal_Bool WpADOParameter::put_Size(const sal_Int32& _nSize)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return (SUCCEEDED(pInterface->put_Size(_nSize)));
-}
-
- ::rtl::OUString WpADOColumn::get_Name() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Name(&aBSTR);
- return aBSTR;
-}
-
-::rtl::OUString WpADOColumn::get_RelatedColumn() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_RelatedColumn(&aBSTR);
- return aBSTR;
-}
-
-void WpADOColumn::put_Name(const ::rtl::OUString& _rName)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString bstr(_rName);
- sal_Bool bErg = SUCCEEDED(pInterface->put_Name(bstr));
- (void)bErg;
-}
-void WpADOColumn::put_RelatedColumn(const ::rtl::OUString& _rName)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString bstr(_rName);
- sal_Bool bErg = SUCCEEDED(pInterface->put_RelatedColumn(bstr));
- (void)bErg;
-}
-
-DataTypeEnum WpADOColumn::get_Type() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- DataTypeEnum eNum = adVarChar;
- pInterface->get_Type(&eNum);
- return eNum;
-}
-
-void WpADOColumn::put_Type(const DataTypeEnum& _eNum)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_Type(_eNum);
-}
-
-sal_Int32 WpADOColumn::get_Precision() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nPrec=0;
- pInterface->get_Precision(&nPrec);
- return nPrec;
-}
-
-void WpADOColumn::put_Precision(sal_Int32 _nPre)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_Precision(_nPre);
-}
-
-sal_Int32 WpADOColumn::get_DefinedSize() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Int32 nPrec=0;
- pInterface->get_DefinedSize(&nPrec);
- return nPrec;
-}
-sal_uInt8 WpADOColumn::get_NumericScale() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_uInt8 nPrec=0;
- pInterface->get_NumericScale(&nPrec);
- return nPrec;
-}
-
-void WpADOColumn::put_NumericScale(sal_Int8 _nScale)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_NumericScale(_nScale);
-}
-
-SortOrderEnum WpADOColumn::get_SortOrder() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- SortOrderEnum nPrec=adSortAscending;
- pInterface->get_SortOrder(&nPrec);
- return nPrec;
-}
-
-void WpADOColumn::put_SortOrder(SortOrderEnum _nScale)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_SortOrder(_nScale);
-}
-
-ColumnAttributesEnum WpADOColumn::get_Attributes() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ColumnAttributesEnum eNum=adColNullable;
- pInterface->get_Attributes(&eNum);
- return eNum;
-}
-
-sal_Bool WpADOColumn::put_Attributes(const ColumnAttributesEnum& _eNum)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- return SUCCEEDED(pInterface->put_Attributes(_eNum));
-}
-
-WpADOProperties WpADOColumn::get_Properties() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOProperties* pProps = NULL;
- pInterface->get_Properties(&pProps);
- WpADOProperties aProps;
-
- aProps.setWithOutAddRef(pProps);
- return aProps;
-}
-
-::rtl::OUString WpADOKey::get_Name() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Name(&aBSTR);
- return aBSTR;
-}
-
-void WpADOKey::put_Name(const ::rtl::OUString& _rName)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString bstr(_rName);
- sal_Bool bErg = SUCCEEDED(pInterface->put_Name(bstr));
- (void)bErg;
-}
-
-KeyTypeEnum WpADOKey::get_Type() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- KeyTypeEnum eNum=adKeyPrimary;
- pInterface->get_Type(&eNum);
- return eNum;
-}
-
-void WpADOKey::put_Type(const KeyTypeEnum& _eNum)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_Type(_eNum);
-}
-
-::rtl::OUString WpADOKey::get_RelatedTable() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_RelatedTable(&aBSTR);
- return aBSTR;
-}
-
-void WpADOKey::put_RelatedTable(const ::rtl::OUString& _rName)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString bstr(_rName);
- sal_Bool bErg = SUCCEEDED(pInterface->put_RelatedTable(bstr));
- (void)bErg;
-}
-
-RuleEnum WpADOKey::get_DeleteRule() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- RuleEnum eNum = adRINone;
- pInterface->get_DeleteRule(&eNum);
- return eNum;
-}
-
-void WpADOKey::put_DeleteRule(const RuleEnum& _eNum)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_DeleteRule(_eNum);
-}
-
-RuleEnum WpADOKey::get_UpdateRule() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- RuleEnum eNum = adRINone;
- pInterface->get_UpdateRule(&eNum);
- return eNum;
-}
-
-void WpADOKey::put_UpdateRule(const RuleEnum& _eNum)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_UpdateRule(_eNum);
-}
-
-WpADOColumns WpADOKey::get_Columns() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOColumns* pCols = NULL;
- pInterface->get_Columns(&pCols);
- WpADOColumns aCols;
- aCols.setWithOutAddRef(pCols);
- return aCols;
-}
-
-::rtl::OUString WpADOIndex::get_Name() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Name(&aBSTR);
- return aBSTR;
-}
-
-void WpADOIndex::put_Name(const ::rtl::OUString& _rName)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString bstr(_rName);
- sal_Bool bErg = SUCCEEDED(pInterface->put_Name(bstr));
- (void)bErg;
-}
-
-sal_Bool WpADOIndex::get_Clustered() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- VARIANT_BOOL eNum = VARIANT_FALSE;
- pInterface->get_Clustered(&eNum);
- return eNum == VARIANT_TRUE;
-}
-
-void WpADOIndex::put_Clustered(sal_Bool _b)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_Clustered(_b ? VARIANT_TRUE : VARIANT_FALSE);
-}
-
-sal_Bool WpADOIndex::get_Unique() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- VARIANT_BOOL eNum = VARIANT_FALSE;
- pInterface->get_Unique(&eNum);
- return eNum == VARIANT_TRUE;
-}
-
-void WpADOIndex::put_Unique(sal_Bool _b)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_Unique(_b ? VARIANT_TRUE : VARIANT_FALSE);
-}
-
-sal_Bool WpADOIndex::get_PrimaryKey() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- VARIANT_BOOL eNum = VARIANT_FALSE;
- pInterface->get_PrimaryKey(&eNum);
- return eNum == VARIANT_TRUE;
-}
-
-void WpADOIndex::put_PrimaryKey(sal_Bool _b)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->put_PrimaryKey(_b ? VARIANT_TRUE : VARIANT_FALSE);
-}
-
-WpADOColumns WpADOIndex::get_Columns() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOColumns* pCols = NULL;
- pInterface->get_Columns(&pCols);
- WpADOColumns aCols;
- aCols.setWithOutAddRef(pCols);
- return aCols;
-}
-
-void WpADOCatalog::putref_ActiveConnection(IDispatch* pCon)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->putref_ActiveConnection(pCon);
-}
-
-WpADOTables WpADOCatalog::get_Tables()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOTables* pRet = NULL;
- pInterface->get_Tables(&pRet);
- WpADOTables aRet;
- aRet.setWithOutAddRef(pRet);
- return aRet;
-}
-
-WpADOViews WpADOCatalog::get_Views()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOViews* pRet = NULL;
- pInterface->get_Views(&pRet);
- WpADOViews aRet;
- aRet.setWithOutAddRef(pRet);
- return aRet;
-}
-
-WpADOGroups WpADOCatalog::get_Groups()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOGroups* pRet = NULL;
- pInterface->get_Groups(&pRet);
- WpADOGroups aRet;
- aRet.setWithOutAddRef(pRet);
- return aRet;
-}
-
-WpADOUsers WpADOCatalog::get_Users()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOUsers* pRet = NULL;
- pInterface->get_Users(&pRet);
- WpADOUsers aRet;
- aRet.setWithOutAddRef(pRet);
- return aRet;
-}
-
-ADOProcedures* WpADOCatalog::get_Procedures()
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOProcedures* pRet = NULL;
- pInterface->get_Procedures(&pRet);
- return pRet;
-}
-
-::rtl::OUString WpADOTable::get_Name() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Name(&aBSTR);
- return aBSTR;
-}
-
-void WpADOTable::put_Name(const ::rtl::OUString& _rName)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString bstr(_rName);
- sal_Bool bErg = SUCCEEDED(pInterface->put_Name(bstr));
- (void)bErg;
-}
-
-::rtl::OUString WpADOTable::get_Type() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Type(&aBSTR);
- return aBSTR;
-}
-
-WpADOColumns WpADOTable::get_Columns() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOColumns* pCols = NULL;
- pInterface->get_Columns(&pCols);
- WpADOColumns aCols;
- aCols.setWithOutAddRef(pCols);
- return aCols;
-}
-
-WpADOIndexes WpADOTable::get_Indexes() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOIndexes* pCols = NULL;
- pInterface->get_Indexes(&pCols);
- WpADOIndexes aRet;
- aRet.setWithOutAddRef(pCols);
- return aRet;
-}
-
-WpADOKeys WpADOTable::get_Keys() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOKeys* pCols = NULL;
- pInterface->get_Keys(&pCols);
- WpADOKeys aRet;
- aRet.setWithOutAddRef(pCols);
- return aRet;
-}
-
-WpADOCatalog WpADOTable::get_ParentCatalog() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOCatalog* pCat = NULL;
- pInterface->get_ParentCatalog(&pCat);
- WpADOCatalog aRet;
- aRet.setWithOutAddRef(pCat);
- return aRet;
-}
-
-WpADOProperties WpADOTable::get_Properties() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- ADOProperties* pProps = NULL;
- pInterface->get_Properties(&pProps);
- WpADOProperties aProps;
- aProps.setWithOutAddRef(pProps);
- return aProps;
-}
-
-::rtl::OUString WpADOView::get_Name() const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- OLEString aBSTR;
- pInterface->get_Name(&aBSTR);
- return aBSTR;
-}
-
-void WpADOView::get_Command(OLEVariant& _rVar) const
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- pInterface->get_Command(&_rVar);
-}
-
-void WpADOView::put_Command(OLEVariant& _rVar)
-{
- pInterface->put_Command(_rVar);
-}
-
-::rtl::OUString WpADOGroup::get_Name() const
-{
- OLEString aBSTR;
- pInterface->get_Name(&aBSTR);
- return aBSTR;
-}
-
-void WpADOGroup::put_Name(const ::rtl::OUString& _rName)
-{
- OLEString bstr(_rName);
- sal_Bool bErg = SUCCEEDED(pInterface->put_Name(bstr));
- (void)bErg;
-}
-
-RightsEnum WpADOGroup::GetPermissions(
- /* [in] */ const OLEVariant& Name,
- /* [in] */ ObjectTypeEnum ObjectType)
-{
- RightsEnum Rights=adRightNone;
- OLEVariant ObjectTypeId;
- ObjectTypeId.setNoArg();
- pInterface->GetPermissions(Name,ObjectType,ObjectTypeId,&Rights);
- return Rights;
-}
-
-sal_Bool WpADOGroup::SetPermissions(
- /* [in] */ const OLEVariant& Name,
- /* [in] */ ObjectTypeEnum ObjectType,
- /* [in] */ ActionEnum Action,
- /* [in] */ RightsEnum Rights)
-{
- OLEVariant ObjectTypeId;
- ObjectTypeId.setNoArg();
- return SUCCEEDED(pInterface->SetPermissions(Name,ObjectType,Action,Rights,adInheritNone,ObjectTypeId));
-}
-
-WpADOUsers WpADOGroup::get_Users( )
-{
- ADOUsers* pRet = NULL;
- pInterface->get_Users( &pRet);
- WpADOUsers aRet;
- aRet.setWithOutAddRef(pRet);
- return aRet;
-}
-
-::rtl::OUString WpADOUser::get_Name() const
-{
- OLEString aBSTR;
- pInterface->get_Name(&aBSTR);
- return aBSTR;
-}
-
-void WpADOUser::put_Name(const ::rtl::OUString& _rName)
-{
- OLEString bstr(_rName);
- sal_Bool bErg = SUCCEEDED(pInterface->put_Name(bstr));
- (void)bErg;
-}
-
-sal_Bool WpADOUser::ChangePassword(const ::rtl::OUString& _rPwd,const ::rtl::OUString& _rNewPwd)
-{
- OLEString sStr1(_rPwd);
- OLEString sStr2(_rNewPwd);
- sal_Bool bErg = SUCCEEDED(pInterface->ChangePassword(sStr1,sStr2));
- return bErg;
-}
-
-WpADOGroups WpADOUser::get_Groups()
-{
- ADOGroups* pRet = NULL;
- pInterface->get_Groups(&pRet);
- WpADOGroups aRet;
- aRet.setWithOutAddRef(pRet);
- return aRet;
-}
-
-RightsEnum WpADOUser::GetPermissions(
- /* [in] */ const OLEVariant& Name,
- /* [in] */ ObjectTypeEnum ObjectType)
-{
- RightsEnum Rights=adRightNone;
- OLEVariant ObjectTypeId;
- ObjectTypeId.setNoArg();
- pInterface->GetPermissions(Name,ObjectType,ObjectTypeId,&Rights);
- return Rights;
-}
-
-sal_Bool WpADOUser::SetPermissions(
- /* [in] */ const OLEVariant& Name,
- /* [in] */ ObjectTypeEnum ObjectType,
- /* [in] */ ActionEnum Action,
- /* [in] */ RightsEnum Rights)
-{
- OLEVariant ObjectTypeId;
- ObjectTypeId.setNoArg();
- return SUCCEEDED(pInterface->SetPermissions(Name,ObjectType,Action,Rights,adInheritNone,ObjectTypeId));
-}
-
-WpBase::WpBase() : pIUnknown(NULL)
-{
-}
-WpBase::WpBase(IDispatch* pInt)
- :pIUnknown(pInt)
-{
- if (pIUnknown)
- {
- ULONG nCount = pIUnknown->AddRef();
- (void)nCount;
- // OSL_ENSURE(nCount == 1,"Count is greater than 1");
- }
-}
-
-//inline
-WpBase& WpBase::operator=(const WpBase& rhs)
-{
- if (rhs.pIUnknown != pIUnknown)
- {
- if (pIUnknown)
- pIUnknown->Release();
- pIUnknown = rhs.pIUnknown;
- if (pIUnknown)
- pIUnknown->AddRef();
- }
- return *this;
-};
-
-WpBase& WpBase::operator=(IDispatch* rhs)
-{
- if (pIUnknown != rhs)
- {
- if (pIUnknown)
- pIUnknown->Release();
- pIUnknown = rhs;
- if (pIUnknown)
- pIUnknown->AddRef();
- }
- return *this;
-}
-
-WpBase::WpBase(const WpBase& aWrapper)
-{
- operator=(aWrapper);
-}
-
-WpBase::~WpBase()
-{
- if (pIUnknown)
- {
- pIUnknown->Release();
- pIUnknown = NULL;
- }
-}
-
-void WpBase::clear()
-{
- if (pIUnknown)
- {
- pIUnknown->Release();
- pIUnknown = NULL;
- }
-}
-
-
-sal_Bool WpBase::IsValid() const
-{
- return pIUnknown != NULL;
-}
-WpBase::operator IDispatch*()
-{
- return pIUnknown;
-}
-
-ADORecordset* WpADOConnection::getExportedKeys( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table )
-{
- // Create elements used in the array
- HRESULT hr = S_OK;
- SAFEARRAYBOUND rgsabound[1];
- SAFEARRAY *psa = NULL;
- OLEVariant varCriteria[6];
-
- // Create SafeArray Bounds and initialize the array
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = SAL_N_ELEMENTS( varCriteria );
- psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- sal_Int32 nPos=0;
- if(catalog.hasValue())
- varCriteria[nPos].setString(::comphelper::getString(catalog));
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- if(schema.getLength() && schema.toChar() != '%')
- varCriteria[nPos].setString(schema);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
-
- varCriteria[nPos].setString(table);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- ADORecordset *pRecordset = NULL;
- OpenSchema(adSchemaForeignKeys,vsa,vtEmpty,&pRecordset);
- return pRecordset;
-}
-// -----------------------------------------------------------------------------
-ADORecordset* WpADOConnection::getImportedKeys( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table )
-{
- // Create elements used in the array
- HRESULT hr = S_OK;
- SAFEARRAYBOUND rgsabound[1];
- SAFEARRAY *psa = NULL;
- OLEVariant varCriteria[6];
-
- // Create SafeArray Bounds and initialize the array
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = SAL_N_ELEMENTS( varCriteria );
- psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- sal_Int32 nPos=0;
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- if(catalog.hasValue())
- varCriteria[nPos].setString(::comphelper::getString(catalog));
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- if(schema.getLength() && schema.toChar() != '%')
- varCriteria[nPos].setString(schema);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
-
- varCriteria[nPos].setString(table);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- ADORecordset *pRecordset = NULL;
- OpenSchema(adSchemaForeignKeys,vsa,vtEmpty,&pRecordset);
-
- return pRecordset;
-
-}
-// -----------------------------------------------------------------------------
-ADORecordset* WpADOConnection::getPrimaryKeys( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table )
-{
- // Create elements used in the array
- HRESULT hr = S_OK;
- SAFEARRAYBOUND rgsabound[1];
- SAFEARRAY *psa = NULL;
- OLEVariant varCriteria[3];
-
- // Create SafeArray Bounds and initialize the array
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = SAL_N_ELEMENTS( varCriteria );
- psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- sal_Int32 nPos=0;
- if(catalog.hasValue())
- varCriteria[nPos].setString(::comphelper::getString(catalog));
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- if(schema.getLength() && schema.toChar() != '%')
- varCriteria[nPos].setString(schema);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
-
- varCriteria[nPos].setString(table);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
-
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- ADORecordset *pRecordset = NULL;
- OpenSchema(adSchemaPrimaryKeys,vsa,vtEmpty,&pRecordset);
-
- return pRecordset;
-}
-// -----------------------------------------------------------------------------
-ADORecordset* WpADOConnection::getIndexInfo(
- const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table,
- sal_Bool /*unique*/, sal_Bool /*approximate*/ )
-{
- // Create elements used in the array
- HRESULT hr = S_OK;
- SAFEARRAYBOUND rgsabound[1];
- SAFEARRAY *psa = NULL;
- OLEVariant varCriteria[5];
-
- // Create SafeArray Bounds and initialize the array
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = SAL_N_ELEMENTS( varCriteria );
- psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- sal_Int32 nPos=0;
- if(catalog.hasValue())
- varCriteria[nPos].setString(::comphelper::getString(catalog));
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- if(schema.getLength() && schema.toChar() != '%')
- varCriteria[nPos].setString(schema);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// INDEX_NAME
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TYPE
-
- varCriteria[nPos].setString(table);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- ADORecordset *pRecordset = NULL;
- OpenSchema(adSchemaIndexes,vsa,vtEmpty,&pRecordset);
-
- return pRecordset;
-}
-// -----------------------------------------------------------------------------
-ADORecordset* WpADOConnection::getTablePrivileges( const ::com::sun::star::uno::Any& catalog,
- const ::rtl::OUString& schemaPattern,
- const ::rtl::OUString& tableNamePattern )
-{
- HRESULT hr = S_OK;
- SAFEARRAYBOUND rgsabound[1];
- SAFEARRAY *psa = NULL;
- OLEVariant varCriteria[5];
-
- // Create SafeArray Bounds and initialize the array
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = SAL_N_ELEMENTS( varCriteria );
- psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- sal_Int32 nPos=0;
- if(catalog.hasValue())
- varCriteria[nPos].setString(::comphelper::getString(catalog));
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- if(schemaPattern.getLength() && schemaPattern.toChar() != '%')
- varCriteria[nPos].setString(schemaPattern);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
-
- if(tableNamePattern.toChar() != '%')
- varCriteria[nPos].setString(tableNamePattern);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// GRANTOR
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// GRANTEE
-
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- ADORecordset *pRecordset = NULL;
- OpenSchema(adSchemaTablePrivileges,vsa,vtEmpty,&pRecordset);
-
- return pRecordset;
-}
-// -----------------------------------------------------------------------------
-ADORecordset* WpADOConnection::getCrossReference( const ::com::sun::star::uno::Any& primaryCatalog,
- const ::rtl::OUString& primarySchema,
- const ::rtl::OUString& primaryTable,
- const ::com::sun::star::uno::Any& foreignCatalog,
- const ::rtl::OUString& foreignSchema,
- const ::rtl::OUString& foreignTable)
-{
- // Create elements used in the array
- HRESULT hr = S_OK;
- SAFEARRAYBOUND rgsabound[1];
- SAFEARRAY *psa = NULL;
- OLEVariant varCriteria[6];
-
- // Create SafeArray Bounds and initialize the array
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = SAL_N_ELEMENTS( varCriteria );
- psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- sal_Int32 nPos=0;
- if(primaryCatalog.hasValue())
- varCriteria[nPos].setString(::comphelper::getString(primaryCatalog));
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- if(primarySchema.getLength() && primarySchema.toChar() != '%')
- varCriteria[nPos].setString(primarySchema);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
-
- varCriteria[nPos].setString(primaryTable);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- if(foreignCatalog.hasValue())
- varCriteria[nPos].setString(::comphelper::getString(foreignCatalog));
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- if(foreignSchema.getLength() && foreignSchema.toChar() != '%')
- varCriteria[nPos].setString(foreignSchema);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
-
- varCriteria[nPos].setString(foreignTable);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- ADORecordset *pRecordset = NULL;
- OpenSchema(adSchemaForeignKeys,vsa,vtEmpty,&pRecordset);
-
- return pRecordset;
-}
-// -----------------------------------------------------------------------------
-ADORecordset* WpADOConnection::getProcedures( const ::com::sun::star::uno::Any& catalog,
- const ::rtl::OUString& schemaPattern,
- const ::rtl::OUString& procedureNamePattern )
-{
- HRESULT hr = S_OK;
- SAFEARRAYBOUND rgsabound[1];
- SAFEARRAY *psa = NULL;
- OLEVariant varCriteria[3];
-
- // Create SafeArray Bounds and initialize the array
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = SAL_N_ELEMENTS( varCriteria );
- psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- sal_Int32 nPos=0;
- if(catalog.hasValue())
- varCriteria[nPos].setString(::comphelper::getString(catalog));
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- if(schemaPattern.getLength() && schemaPattern.toChar() != '%')
- varCriteria[nPos].setString(schemaPattern);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
-
- if(procedureNamePattern.toChar() != '%')
- varCriteria[nPos].setString(procedureNamePattern);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- ADORecordset *pRecordset = NULL;
- OpenSchema(adSchemaProcedures,vsa,vtEmpty,&pRecordset);
-
- return pRecordset;
-}
-// -----------------------------------------------------------------------------
-ADORecordset* WpADOConnection::getProcedureColumns( const ::com::sun::star::uno::Any& catalog,
- const ::rtl::OUString& schemaPattern,
- const ::rtl::OUString& procedureNamePattern,
- const ::rtl::OUString& columnNamePattern )
-{
- // Create elements used in the array
- HRESULT hr = S_OK;
- SAFEARRAYBOUND rgsabound[1];
- SAFEARRAY *psa = NULL;
- OLEVariant varCriteria[4];
-
- // Create SafeArray Bounds and initialize the array
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = SAL_N_ELEMENTS( varCriteria );
- psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- sal_Int32 nPos=0;
- if(catalog.hasValue())
- varCriteria[nPos].setString(::comphelper::getString(catalog));
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- if(schemaPattern.getLength() && schemaPattern.toChar() != '%')
- varCriteria[nPos].setString(schemaPattern);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
-
- if(procedureNamePattern.toChar() != '%')
- varCriteria[nPos].setString(procedureNamePattern);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- if(columnNamePattern.toChar() != '%')
- varCriteria[nPos].setString(columnNamePattern);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// COLUMN_NAME
-
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- ADORecordset *pRecordset = NULL;
- OpenSchema(adSchemaProcedureParameters,vsa,vtEmpty,&pRecordset);
-
- return pRecordset;
-}
-// -----------------------------------------------------------------------------
-ADORecordset* WpADOConnection::getTables( const ::com::sun::star::uno::Any& catalog,
- const ::rtl::OUString& schemaPattern,
- const ::rtl::OUString& tableNamePattern,
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& types )
-{
- // Create elements used in the array
- HRESULT hr = S_OK;
- OLEVariant varCriteria[4];
-
- sal_Int32 nPos=0;
- ::rtl::OUString sCatalog;
- if ( catalog.hasValue() && (catalog >>= sCatalog) )
- varCriteria[nPos].setString(sCatalog);
-
- ++nPos;
- if(schemaPattern.getLength() && schemaPattern.toChar() != '%')
- varCriteria[nPos].setString(schemaPattern);
-
- ++nPos;
- if(tableNamePattern.toChar() != '%')
- varCriteria[nPos].setString(tableNamePattern);
-
- ++nPos;
- ::rtl::OUStringBuffer aTypes;
- ::rtl::OUString aComma( RTL_CONSTASCII_USTRINGPARAM( "," ));
- const ::rtl::OUString* pIter = types.getConstArray();
- const ::rtl::OUString* pEnd = pIter + types.getLength();
- for( ; pIter != pEnd ; ++pIter)
- {
- if ( aTypes.getLength() )
- aTypes.append(aComma);
- aTypes.append(*pIter);
- }
-
- ::rtl::OUString sTypeNames = aTypes.makeStringAndClear();
- if ( sTypeNames.getLength() )
- varCriteria[nPos].setString(sTypeNames);
-
- // Create SafeArray Bounds and initialize the array
- const sal_Int32 nCrit = SAL_N_ELEMENTS( varCriteria );
- SAFEARRAYBOUND rgsabound[1];
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = nCrit;
- SAFEARRAY *psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- // Set the values for each element of the array
- for( long i = 0 ; i < nCrit && SUCCEEDED( hr );i++)
- {
- hr = SafeArrayPutElement(psa, &i,&varCriteria[i]);
- }
-
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- ADORecordset *pRecordset = NULL;
- OpenSchema(adSchemaTables,vsa,vtEmpty,&pRecordset);
-
- return pRecordset;
-}
-// -----------------------------------------------------------------------------
-ADORecordset* WpADOConnection::getColumns( const ::com::sun::star::uno::Any& catalog,
- const ::rtl::OUString& schemaPattern,
- const ::rtl::OUString& tableNamePattern,
- const ::rtl::OUString& columnNamePattern )
-{
- // Create elements used in the array
- HRESULT hr = S_OK;
- SAFEARRAYBOUND rgsabound[1];
- SAFEARRAY *psa = NULL;
- OLEVariant varCriteria[4];
-
- // Create SafeArray Bounds and initialize the array
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = SAL_N_ELEMENTS( varCriteria );
- psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- sal_Int32 nPos=0;
- if(catalog.hasValue())
- varCriteria[nPos].setString(::comphelper::getString(catalog));
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- if(schemaPattern.getLength() && schemaPattern.toChar() != '%')
- varCriteria[nPos].setString(schemaPattern);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
-
- if(tableNamePattern.toChar() != '%')
- varCriteria[nPos].setString(tableNamePattern);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- varCriteria[nPos].setString(columnNamePattern);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// COLUMN_NAME
-
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- ADORecordset *pRecordset = NULL;
- OpenSchema(adSchemaColumns,vsa,vtEmpty,&pRecordset);
-
- return pRecordset;
-}
-// -----------------------------------------------------------------------------
-ADORecordset* WpADOConnection::getColumnPrivileges( const ::com::sun::star::uno::Any& catalog,
- const ::rtl::OUString& schema,
- const ::rtl::OUString& table,
- const ::rtl::OUString& columnNamePattern )
-{
- // Create elements used in the array
- HRESULT hr = S_OK;
- SAFEARRAYBOUND rgsabound[1];
- SAFEARRAY *psa = NULL;
- OLEVariant varCriteria[4];
-
- // Create SafeArray Bounds and initialize the array
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = SAL_N_ELEMENTS( varCriteria );
- psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- sal_Int32 nPos=0;
- if(catalog.hasValue())
- varCriteria[nPos].setString(::comphelper::getString(catalog));
-
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_CATALOG
- if(schema.getLength() && schema.toChar() != '%')
- varCriteria[nPos].setString(schema);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_SCHEMA
-
- varCriteria[nPos].setString(table);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// TABLE_NAME
-
- varCriteria[nPos].setString(columnNamePattern);
- hr = SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;// COLUMN_NAME
-
- OLEVariant vtEmpty;
- vtEmpty.setNoArg();
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- ADORecordset *pRecordset = NULL;
- OpenSchema(adSchemaColumnPrivileges,vsa,vtEmpty,&pRecordset);
-
- return pRecordset;
-}
-// -----------------------------------------------------------------------------
-ADORecordset* WpADOConnection::getTypeInfo(DataTypeEnum /*_eType*/)
-{
- // Create elements used in the array
- OLEVariant varCriteria[2];
- const int nCrit = SAL_N_ELEMENTS( varCriteria );
- // Create SafeArray Bounds and initialize the array
- SAFEARRAYBOUND rgsabound[1];
- rgsabound[0].lLbound = 0;
- rgsabound[0].cElements = nCrit;
- SAFEARRAY *psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
-
- sal_Int32 nPos = 0;
- SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;
- SafeArrayPutElement(psa,&nPos,&varCriteria[nPos]);nPos++;
-
- // Initialize and fill the SafeArray
- OLEVariant vsa;
- vsa.setArray(psa,VT_VARIANT);
-
- OLEVariant aEmpty;
- aEmpty.setNoArg();
-
- ADORecordset *pRec=NULL;
- OpenSchema(adSchemaProviderTypes,vsa,aEmpty,&pRec);
-
- return pRec;
-}
-// -----------------------------------------------------------------------------
-void WpADOColumn::put_ParentCatalog(/* [in] */ _ADOCatalog __RPC_FAR *ppvObject)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Bool bRet = SUCCEEDED(pInterface->put_ParentCatalog(ppvObject));
- OSL_ENSURE(bRet,"Could not set ParentCatalog!");
- OSL_UNUSED(bRet);
-}
-// -----------------------------------------------------------------------------
-void WpADOTable::putref_ParentCatalog(/* [in] */ _ADOCatalog __RPC_FAR *ppvObject)
-{
- OSL_ENSURE(pInterface,"Interface is null!");
- sal_Bool bRet = SUCCEEDED(pInterface->putref_ParentCatalog(ppvObject));
- OSL_ENSURE(bRet,"Could not set ParentCatalog!");
- OSL_UNUSED(bRet);
-}
-// -----------------------------------------------------------------------------
-void WpBase::setIDispatch(IDispatch* _pIUnknown)
-{
- pIUnknown = _pIUnknown;
-}
-// -----------------------------------------------------------------------------
-void OTools::putValue(const WpADOProperties& _rProps,const OLEVariant &_aPosition,const OLEVariant &_aValVar)
-{
- OSL_ENSURE(_rProps.IsValid(),"Properties are not valid!");
- WpADOProperty aProp(_rProps.GetItem(_aPosition));
- if ( aProp.IsValid() )
- {
- sal_Bool bRet = aProp.PutValue(_aValVar);
- OSL_ENSURE(bRet,"Could not put value!");
- OSL_UNUSED(bRet);
- }
-}
-// -----------------------------------------------------------------------------
-OLEVariant OTools::getValue(const WpADOProperties& _rProps,const OLEVariant &_aPosition)
-{
- WpADOProperty aProp(_rProps.GetItem(_aPosition));
- return aProp.GetValue();
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/ado.component b/connectivity/source/drivers/ado/ado.component
deleted file mode 100755
index 1962a6b710..0000000000
--- a/connectivity/source/drivers/ado/ado.component
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--**********************************************************************
-*
-* 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.
-*
-**********************************************************************-->
-
-<component loader="com.sun.star.loader.SharedLibrary"
- xmlns="http://openoffice.org/2010/uno-components">
- <implementation name="com.sun.star.comp.sdbc.ado.ODriver">
- <service name="com.sun.star.sdbc.Driver"/>
- <service name="com.sun.star.sdbcx.Driver"/>
- </implementation>
-</component>
diff --git a/connectivity/source/drivers/ado/ado.xcu b/connectivity/source/drivers/ado/ado.xcu
deleted file mode 100644
index 3ef8b4c506..0000000000
--- a/connectivity/source/drivers/ado/ado.xcu
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--***********************************************************************
- *
- * 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.
- *
- ************************************************************************ -->
-<oor:component-data oor:name="Drivers" oor:package="org.openoffice.Office.DataAccess" xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <node oor:name="Installed">
- <node oor:name="sdbc:ado:*" oor:op="replace">
- <prop oor:name="Driver">
- <value>com.sun.star.comp.sdbc.ado.ODriver</value>
- </prop>
- <prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
- <value xml:lang="en-US">ADO</value>
- </prop>
- <node oor:name="Properties">
- <node oor:name="CharSet" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:string">
- <value></value>
- </prop>
- </node>
- </node>
- <node oor:name="Features">
- <node oor:name="GeneratedValues" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="UseSQL92NamingConstraints" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="AppendTableAliasInSelect" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="UseKeywordAsBeforeAlias" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="UseBracketedOuterJoinSyntax" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="IgnoreDriverPrivileges" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="DisplayVersionColumns" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="UseCatalogInSelect" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="UseSchemaInSelect" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="UseIndexDirectionKeyword" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="UseDOSLineEnds" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="BooleanComparisonMode" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="FormsCheckRequiredFields" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="EscapeDateTime" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="PrimaryKeySupport" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="RespectDriverResultSetType" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- </node>
- <node oor:name="MetaData">
- <node oor:name="SupportsTableCreation" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="SupportsBrowsing" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="Authentication" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:string">
- <value>UserPassword</value>
- </prop>
- </node>
- <node oor:name="SupportsColumnDescription" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- </node>
- </node>
- <node oor:name="sdbc:ado:access:PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=*" oor:op="replace">
- <prop oor:name="Driver">
- <value>com.sun.star.comp.sdbc.ado.ODriver</value>
- </prop>
- <prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
- <value xml:lang="en-US">Microsoft Access</value>
- </prop>
- <node oor:name="Properties">
- <node oor:name="CharSet" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:string">
- <value></value>
- </prop>
- </node>
- <node oor:name="BooleanComparisonMode" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:int">
- <value>3</value>
- </prop>
- </node>
- <node oor:name="ColumnAliasInOrderBy" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>false</value>
- </prop>
- </node>
- <node oor:name="TypeInfoSettings" oor:op="replace">
- <prop oor:name="Value" oor:type="oor:string-list">
- <value oor:separator=",">Column(2) = 16,Column(3) = 1</value>
- </prop>
- </node>
- </node>
- <node oor:name="Features">
- <node oor:name="UseSQL92NamingConstraints" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="AppendTableAliasInSelect" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="UseBracketedOuterJoinSyntax" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="UseDOSLineEnds" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="BooleanComparisonMode" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="FormsCheckRequiredFields" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="EscapeDateTime" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- </node>
- <node oor:name="MetaData">
- <node oor:name="ColumnAliasInOrderBy" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>false</value>
- </prop>
- </node>
- <node oor:name="SupportsTableCreation" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="SupportsBrowsing" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="FileSystemBased" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- <node oor:name="MediaType" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:string">
- <value>application/msaccess</value>
- </prop>
- </node>
- <node oor:name="Extension" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:string">
- <value>mdb</value>
- </prop>
- </node>
- <node oor:name="SupportsColumnDescription" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:boolean">
- <value>true</value>
- </prop>
- </node>
- </node>
- </node>
- <node oor:name="sdbc:ado:access:Provider=Microsoft.ACE.OLEDB.12.0;DATA SOURCE=*" oor:op="replace">
- <prop oor:name="ParentURLPattern">
- <value>sdbc:ado:access:PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=*</value>
- </prop>
- <prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
- <value xml:lang="en-US">Microsoft Access 2007</value>
- </prop>
- <node oor:name="MetaData">
- <node oor:name="Extension" oor:op="replace">
- <prop oor:name="Value" oor:type="xs:string">
- <value></value>
- </prop>
- </node>
- </node>
- </node>
- </node>
-</oor:component-data>
diff --git a/connectivity/source/drivers/ado/ado.xml b/connectivity/source/drivers/ado/ado.xml
deleted file mode 100755
index 2be460df8f..0000000000
--- a/connectivity/source/drivers/ado/ado.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//W3C//DTD HTML 3.2//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name> ado </module-name>
- <component-description>
- <author>Ocke Janssen</author>
- <name>com.sun.star.comp.sdbc.ado.ODriver</name>
- <description>
- This is the implementation of the ado-sdbc bridge.
- </description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service> com.sun.star.sdbc.Driver</supported-service>
- </component-description>
- <project-build-dependency>cppuhelper</project-build-dependency>
- <project-build-dependency>cppu</project-build-dependency>
- <project-build-dependency>sal</project-build-dependency>
- <runtime-module-dependency>cppuhelper</runtime-module-dependency>
- <runtime-module-dependency>cppu</runtime-module-dependency>
- <runtime-module-dependency>sal</runtime-module-dependency>
- <runtime-module-dependency>osl</runtime-module-dependency>
- <runtime-module-dependency>dbtools</runtime-module-dependency>
- <runtime-module-dependency>comphelper</runtime-module-dependency>
-</module-description>
-
-
diff --git a/connectivity/source/drivers/ado/ado_post_sys_include.h b/connectivity/source/drivers/ado/ado_post_sys_include.h
deleted file mode 100755
index 459fa29489..0000000000
--- a/connectivity/source/drivers/ado/ado_post_sys_include.h
+++ /dev/null
@@ -1,35 +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.
- *
- ************************************************************************/
-
-#undef ADO_REDUCED_WARN_LEVEL
-
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/ado_pre_sys_include.h b/connectivity/source/drivers/ado/ado_pre_sys_include.h
deleted file mode 100755
index b1ac0e3e51..0000000000
--- a/connectivity/source/drivers/ado/ado_pre_sys_include.h
+++ /dev/null
@@ -1,40 +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.
- *
- ************************************************************************/
-
-#ifdef ADO_REDUCED_WARN_LEVEL
- #error "ado_pre_sys_include.h included twice!"
-#endif
-
-#ifdef _MSC_VER
-#pragma warning(push,1)
-#pragma warning(disable:4917)
-#endif
-
-#define ADO_REDUCED_WARN_LEVEL
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/adoimp.cxx b/connectivity/source/drivers/ado/adoimp.cxx
deleted file mode 100644
index b1075a2f0f..0000000000
--- a/connectivity/source/drivers/ado/adoimp.cxx
+++ /dev/null
@@ -1,339 +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 <com/sun/star/sdbcx/Privilege.hpp>
-#include <com/sun/star/sdbcx/PrivilegeObject.hpp>
-#include "connectivity/dbexception.hxx"
-#include "ado/Awrapado.hxx"
-#include "ado/adoimp.hxx"
-#include <osl/diagnose.h>
-#include <com/sun/star/sdbc/DataType.hpp>
-
-
-using namespace connectivity::ado;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::sdbcx;
-
-
-#define MYADOID(l) {l, 0,0x10,0x80,0,0,0xAA,0,0x6D,0x2E,0xA4};
-
-const CLSID ADOS::CLSID_ADOCONNECTION_21 = MYADOID(0x00000514);
-const IID ADOS::IID_ADOCONNECTION_21 = MYADOID(0x00000550);
-
-const CLSID ADOS::CLSID_ADOCOMMAND_21 = MYADOID(0x00000507);
-const IID ADOS::IID_ADOCOMMAND_21 = MYADOID(0x0000054E);
-
-const CLSID ADOS::CLSID_ADORECORDSET_21 = MYADOID(0x00000535);
-const IID ADOS::IID_ADORECORDSET_21 = MYADOID(0x0000054F);
-
-const CLSID ADOS::CLSID_ADOCATALOG_25 = MYADOID(0x00000602);
-const IID ADOS::IID_ADOCATALOG_25 = MYADOID(0x00000603);
-
-const CLSID ADOS::CLSID_ADOINDEX_25 = MYADOID(0x0000061E);
-const IID ADOS::IID_ADOINDEX_25 = MYADOID(0x0000061F);
-
-const CLSID ADOS::CLSID_ADOTABLE_25 = MYADOID(0x00000609);
-const IID ADOS::IID_ADOTABLE_25 = MYADOID(0x00000610);
-
-const CLSID ADOS::CLSID_ADOKEY_25 = MYADOID(0x00000621);
-const IID ADOS::IID_ADOKEY_25 = MYADOID(0x00000622);
-
-const CLSID ADOS::CLSID_ADOCOLUMN_25 = MYADOID(0x0000061B);
-const IID ADOS::IID_ADOCOLUMN_25 = MYADOID(0x0000061C);
-
-const CLSID ADOS::CLSID_ADOGROUP_25 = MYADOID(0x00000615);
-const IID ADOS::IID_ADOGROUP_25 = MYADOID(0x00000616);
-
-const CLSID ADOS::CLSID_ADOUSER_25 = MYADOID(0x00000618);
-const IID ADOS::IID_ADOUSER_25 = MYADOID(0x00000619);
-
-const CLSID ADOS::CLSID_ADOVIEW_25 = MYADOID(0x00000612);
-const IID ADOS::IID_ADOVIEW_25 = MYADOID(0x00000613);
-
-OLEString& ADOS::GetKeyStr()
-{
- static OLEString sKeyStr(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("gxwaezucfyqpwjgqbcmtsncuhwsnyhiohwxz")));
- return sKeyStr;
-}
-
-// -------------------------------------------------------------------------
-sal_Int32 ADOS::MapADOType2Jdbc(DataTypeEnum eType)
-{
- sal_Int32 nType = DataType::VARCHAR;;
- switch (eType)
- {
- case adUnsignedSmallInt:
- case adSmallInt: nType = DataType::SMALLINT; break;
- case adUnsignedInt:
- case adInteger: nType = DataType::INTEGER; break;
- case adUnsignedBigInt:
- case adBigInt: nType = DataType::BIGINT; break;
- case adSingle: nType = DataType::FLOAT; break;
- case adDouble: nType = DataType::DOUBLE; break;
- case adCurrency: nType = DataType::DOUBLE; break;
- case adVarNumeric:
- case adNumeric: nType = DataType::NUMERIC; break;
- case adDecimal: nType = DataType::DECIMAL; break;
- case adDBDate: nType = DataType::DATE; break;
- case adDBTime: nType = DataType::TIME; break;
- case adDate:
- case adDBTimeStamp: nType = DataType::TIMESTAMP; break;
- case adBoolean: nType = DataType::BOOLEAN; break;
-// case adArray: nType = DataType::ARRAY; break;
- case adBinary: nType = DataType::BINARY; break;
- case adGUID: nType = DataType::OBJECT; break;
- case adBSTR:
- case adVarWChar:
- case adWChar:
- case adVarChar: nType = DataType::VARCHAR; break;
- case adLongVarWChar:
- case adLongVarChar: nType = DataType::LONGVARCHAR; break;
- case adVarBinary: nType = DataType::VARBINARY; break;
- case adLongVarBinary: nType = DataType::LONGVARBINARY;break;
- case adChar: nType = DataType::CHAR; break;
- case adUnsignedTinyInt:
- case adTinyInt: nType = DataType::TINYINT; break;
- case adEmpty: nType = DataType::SQLNULL; break;
- case adUserDefined:
- case adPropVariant:
- case adFileTime:
- case adChapter:
- case adIDispatch:
- case adIUnknown:
- case adError:
- case adVariant:
- nType = DataType::OTHER; break;
- default:
- OSL_FAIL("MapADOType2Jdbc: Unknown Type!");
- ;
- }
- return nType;
-}
-// -------------------------------------------------------------------------
-DataTypeEnum ADOS::MapJdbc2ADOType(sal_Int32 _nType,sal_Int32 _nJetEngine)
-{
- switch (_nType)
- {
- case DataType::SMALLINT: return adSmallInt; break;
- case DataType::INTEGER: return adInteger; break;
- case DataType::BIGINT: return adBigInt; break;
- case DataType::FLOAT: return adSingle; break;
- case DataType::DOUBLE: return adDouble; break;
- case DataType::NUMERIC: return adNumeric; break;
- case DataType::DECIMAL: return adDecimal; break;
- case DataType::DATE: return isJetEngine(_nJetEngine) ? adDate : adDBDate; break;
- case DataType::TIME: return adDBTime; break;
- case DataType::TIMESTAMP: return isJetEngine(_nJetEngine) ? adDate : adDBTimeStamp; break;
- case DataType::BOOLEAN:
- case DataType::BIT: return adBoolean; break;
- case DataType::BINARY: return adBinary; break;
- case DataType::VARCHAR: return adVarWChar; break;
- case DataType::CLOB:
- case DataType::LONGVARCHAR: return adLongVarWChar; break;
- case DataType::VARBINARY: return adVarBinary; break;
- case DataType::BLOB:
- case DataType::LONGVARBINARY: return adLongVarBinary; break;
- case DataType::CHAR: return adWChar; break;
- case DataType::TINYINT: return isJetEngine(_nJetEngine) ? adUnsignedTinyInt : adTinyInt;break;
- case DataType::OBJECT: return adGUID; break;
- default:
- OSL_FAIL("MapJdbc2ADOType: Unknown Type!");
- ;
- }
- return adEmpty;
-}
-// -----------------------------------------------------------------------------
-const int JET_ENGINETYPE_UNKNOWN = 0;
-const int JET_ENGINETYPE_JET10 = 1;
-const int JET_ENGINETYPE_JET11 = 2;
-const int JET_ENGINETYPE_JET20 = 3;
-const int JET_ENGINETYPE_JET3X = 4;
-const int JET_ENGINETYPE_JET4X = 5;
-const int JET_ENGINETYPE_DBASE3 = 10;
-const int JET_ENGINETYPE_DBASE4 = 11;
-const int JET_ENGINETYPE_DBASE5 = 12;
-const int JET_ENGINETYPE_EXCEL30 = 20;
-const int JET_ENGINETYPE_EXCEL40 = 21;
-const int JET_ENGINETYPE_EXCEL50 = 22;
-const int JET_ENGINETYPE_EXCEL80 = 23;
-const int JET_ENGINETYPE_EXCEL90 = 24;
-const int JET_ENGINETYPE_EXCHANGE4 = 30;
-const int JET_ENGINETYPE_LOTUSWK1 = 40;
-const int JET_ENGINETYPE_LOTUSWK3 = 41;
-const int JET_ENGINETYPE_LOTUSWK4 = 42;
-const int JET_ENGINETYPE_PARADOX3X = 50;
-const int JET_ENGINETYPE_PARADOX4X = 51;
-const int JET_ENGINETYPE_PARADOX5X = 52;
-const int JET_ENGINETYPE_PARADOX7X = 53;
-const int JET_ENGINETYPE_TEXT1X = 60;
-const int JET_ENGINETYPE_HTML1X = 70;
-
-sal_Bool ADOS::isJetEngine(sal_Int32 _nEngineType)
-{
- sal_Bool bRet = sal_False;
- switch(_nEngineType)
- {
- case JET_ENGINETYPE_UNKNOWN:
- case JET_ENGINETYPE_JET10:
- case JET_ENGINETYPE_JET11:
- case JET_ENGINETYPE_JET20:
- case JET_ENGINETYPE_JET3X:
- case JET_ENGINETYPE_JET4X:
- case JET_ENGINETYPE_DBASE3:
- case JET_ENGINETYPE_DBASE4:
- case JET_ENGINETYPE_DBASE5:
- case JET_ENGINETYPE_EXCEL30:
- case JET_ENGINETYPE_EXCEL40:
- case JET_ENGINETYPE_EXCEL50:
- case JET_ENGINETYPE_EXCEL80:
- case JET_ENGINETYPE_EXCEL90:
- case JET_ENGINETYPE_EXCHANGE4:
- case JET_ENGINETYPE_LOTUSWK1:
- case JET_ENGINETYPE_LOTUSWK3:
- case JET_ENGINETYPE_LOTUSWK4:
- case JET_ENGINETYPE_PARADOX3X:
- case JET_ENGINETYPE_PARADOX4X:
- case JET_ENGINETYPE_PARADOX5X:
- case JET_ENGINETYPE_PARADOX7X:
- case JET_ENGINETYPE_TEXT1X:
- case JET_ENGINETYPE_HTML1X:
- bRet = sal_True;
- break;
- }
- return bRet;
-}
-// -----------------------------------------------------------------------------
-ObjectTypeEnum ADOS::mapObjectType2Ado(sal_Int32 objType)
-{
- ObjectTypeEnum eType = adPermObjTable;
- switch(objType)
- {
- case PrivilegeObject::TABLE:
- eType = adPermObjTable;
- break;
- case PrivilegeObject::VIEW:
- eType = adPermObjView;
- break;
- case PrivilegeObject::COLUMN:
- eType = adPermObjColumn;
- break;
- }
- return eType;
-}
-// -----------------------------------------------------------------------------
-sal_Int32 ADOS::mapAdoType2Object(ObjectTypeEnum objType)
-{
- sal_Int32 nType = PrivilegeObject::TABLE;
- switch(objType)
- {
- case adPermObjTable:
- nType = PrivilegeObject::TABLE;
- break;
- case adPermObjView:
- nType = PrivilegeObject::VIEW;
- break;
- case adPermObjColumn:
- nType = PrivilegeObject::COLUMN;
- break;
- default:
- OSL_FAIL( "ADOS::mapAdoType2Object: privilege type cannot be translated!" );
- break;
- }
- return nType;
-}
-#ifdef DELETE
-#undef DELETE
-#endif
-// -----------------------------------------------------------------------------
-sal_Int32 ADOS::mapAdoRights2Sdbc(RightsEnum eRights)
-{
- sal_Int32 nRights = 0;
- if((eRights & adRightInsert) == adRightInsert)
- nRights |= Privilege::INSERT;
- if((eRights & adRightDelete) == adRightDelete)
- nRights |= ::com::sun::star::sdbcx::Privilege::DELETE;
- if((eRights & adRightUpdate) == adRightUpdate)
- nRights |= Privilege::UPDATE;
- if((eRights & adRightWriteDesign) == adRightWriteDesign)
- nRights |= Privilege::ALTER;
- if((eRights & adRightRead) == adRightRead)
- nRights |= Privilege::SELECT;
- if((eRights & adRightReference) == adRightReference)
- nRights |= Privilege::REFERENCE;
- if((eRights & adRightDrop) == adRightDrop)
- nRights |= Privilege::DROP;
-
- return nRights;
-}
-// -----------------------------------------------------------------------------
-sal_Int32 ADOS::mapRights2Ado(sal_Int32 nRights)
-{
- sal_Int32 eRights = adRightNone;
-
- if((nRights & Privilege::INSERT) == Privilege::INSERT)
- eRights |= adRightInsert;
- if((nRights & Privilege::DELETE) == Privilege::DELETE)
- eRights |= adRightDelete;
- if((nRights & Privilege::UPDATE) == Privilege::UPDATE)
- eRights |= adRightUpdate;
- if((nRights & Privilege::ALTER) == Privilege::ALTER)
- eRights |= adRightWriteDesign;
- if((nRights & Privilege::SELECT) == Privilege::SELECT)
- eRights |= adRightRead;
- if((nRights & Privilege::REFERENCE) == Privilege::REFERENCE)
- eRights |= adRightReference;
- if((nRights & Privilege::DROP) == Privilege::DROP)
- eRights |= adRightDrop;
-
- return eRights;
-}
-// -----------------------------------------------------------------------------
-WpADOField ADOS::getField(ADORecordset* _pRecordSet,sal_Int32 _nColumnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- if ( !_pRecordSet )
- return WpADOField();
-
- ADOFields* pFields = NULL;
- _pRecordSet->get_Fields(&pFields);
- WpOLEAppendCollection<ADOFields, ADOField, WpADOField> aFields(pFields);
- if(_nColumnIndex <= 0 || _nColumnIndex > aFields.GetItemCount())
- ::dbtools::throwInvalidIndexException(NULL);
- WpADOField aField(aFields.GetItem(_nColumnIndex-1));
- if(!aField.IsValid())
- ::dbtools::throwInvalidIndexException(NULL);
- return aField;
-}
-// -----------------------------------------------------------------------------
-
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/ado/exports.dxp b/connectivity/source/drivers/ado/exports.dxp
deleted file mode 100755
index f0e1c69934..0000000000
--- a/connectivity/source/drivers/ado/exports.dxp
+++ /dev/null
@@ -1,2 +0,0 @@
-component_getImplementationEnvironment
-component_getFactory
diff --git a/connectivity/source/drivers/ado/makefile.mk b/connectivity/source/drivers/ado/makefile.mk
deleted file mode 100755
index 20cd74f996..0000000000
--- a/connectivity/source/drivers/ado/makefile.mk
+++ /dev/null
@@ -1,124 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-PRJINC=..$/..
-PRJNAME=connectivity
-TARGET=ado
-VISIBILITY_HIDDEN=TRUE
-
-# --- Settings ----------------------------------
-
-.IF "$(DBGUTIL_OJ)"!=""
-ENVCFLAGS+=/FR$(SLO)$/
-.ENDIF
-
-.INCLUDE : $(PRJ)$/version.mk
-.INCLUDE : $(PRJ)$/makefile.pmk
-
-.IF "$(GUI)"=="WNT"
-# --- Files -------------------------------------
-
-.IF "$(COM)" == "GCC"
-CFLAGS+=-fpermissive
-.ENDIF
-
-EXCEPTIONSFILES= \
- $(SLO)$/ADatabaseMetaDataImpl.obj \
- $(SLO)$/Aolevariant.obj \
- $(SLO)$/ADatabaseMetaData.obj \
- $(SLO)$/AColumn.obj \
- $(SLO)$/AColumns.obj \
- $(SLO)$/AIndex.obj \
- $(SLO)$/AIndexes.obj \
- $(SLO)$/AKey.obj \
- $(SLO)$/AKeys.obj \
- $(SLO)$/AUser.obj \
- $(SLO)$/AUsers.obj \
- $(SLO)$/AGroup.obj \
- $(SLO)$/AGroups.obj \
- $(SLO)$/ACatalog.obj \
- $(SLO)$/AView.obj \
- $(SLO)$/AViews.obj \
- $(SLO)$/ATable.obj \
- $(SLO)$/ATables.obj \
- $(SLO)$/ACallableStatement.obj \
- $(SLO)$/ADatabaseMetaDataResultSetMetaData.obj \
- $(SLO)$/ADatabaseMetaDataResultSet.obj \
- $(SLO)$/AResultSet.obj \
- $(SLO)$/AConnection.obj \
- $(SLO)$/AStatement.obj \
- $(SLO)$/APreparedStatement.obj \
- $(SLO)$/AResultSetMetaData.obj \
- $(SLO)$/ADriver.obj \
- $(SLO)$/Aservices.obj \
- $(SLO)$/Awrapado.obj \
- $(SLO)$/adoimp.obj
-
-SLOFILES=\
- $(EXCEPTIONSFILES)
-# --- Library -----------------------------------
-
-SHL1TARGET= $(ADO_TARGET)$(DLLPOSTFIX)
-SHL1OBJS=$(SLOFILES)
-SHL1STDLIBS=\
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB) \
- $(SALHELPERLIB) \
- $(OLE32LIB) \
- $(OLEAUT32LIB) \
- $(UUIDLIB) \
- $(DBTOOLSLIB) \
- $(COMPHELPERLIB)
-
-.IF "$(COMPHELPERLIB)" == ""
-SHL1STDLIBS+= icomphelp2.lib
-.ENDIF
-
-SHL1IMPLIB= i$(SHL1TARGET)
-
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME= $(SHL1TARGET)
-DEF1EXPORTFILE= exports.dxp
-
-.ELSE
-dummy:
- @echo "Nothing to build for GUI $(GUI)"
-.ENDIF # "$(GUI)"=="WNT"
-# --- Targets ----------------------------------
-.INCLUDE : $(PRJ)$/target.pmk
-
-
-ALLTAR : $(MISC)/ado.component
-
-$(MISC)/ado.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- ado.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt ado.component