summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/ado
diff options
context:
space:
mode:
authorOcke Janssen <oj@openoffice.org>2001-05-17 08:15:34 +0000
committerOcke Janssen <oj@openoffice.org>2001-05-17 08:15:34 +0000
commit9472185a918f24355f0fe4e00c0527914a309fc0 (patch)
tree6393cdcdd5a0799f321218e599ffa38be2d5bcd3 /connectivity/source/drivers/ado
parent248a47cc35787ea3aa916b4fc6e4e21a6f324f96 (diff)
#86528# size changes
Diffstat (limited to 'connectivity/source/drivers/ado')
-rw-r--r--connectivity/source/drivers/ado/AConnection.cxx11
-rw-r--r--connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx77
-rw-r--r--connectivity/source/drivers/ado/ADriver.cxx12
-rw-r--r--connectivity/source/drivers/ado/AResultSet.cxx31
-rw-r--r--connectivity/source/drivers/ado/AStatement.cxx10
-rw-r--r--connectivity/source/drivers/ado/Aolevariant.cxx527
-rw-r--r--connectivity/source/drivers/ado/makefile.mk5
7 files changed, 607 insertions, 66 deletions
diff --git a/connectivity/source/drivers/ado/AConnection.cxx b/connectivity/source/drivers/ado/AConnection.cxx
index 9f7493c6423c..5832269f041b 100644
--- a/connectivity/source/drivers/ado/AConnection.cxx
+++ b/connectivity/source/drivers/ado/AConnection.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: AConnection.cxx,v $
*
- * $Revision: 1.12 $
+ * $Revision: 1.13 $
*
- * last change: $Author: oj $ $Date: 2001-05-17 07:26:59 $
+ * last change: $Author: oj $ $Date: 2001-05-17 09:13:23 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -99,6 +99,9 @@
#ifndef _CPPUHELPER_TYPEPROVIDER_HXX_
#include <cppuhelper/typeprovider.hxx>
#endif
+#ifndef _DBHELPER_DBEXCEPTION_HXX_
+#include "connectivity/dbexception.hxx"
+#endif
using namespace dbtools;
using namespace connectivity::ado;
@@ -194,7 +197,7 @@ void OConnection::construct(const ::rtl::OUString& url,const Sequence< PropertyV
else
ADOS::ThrowException(*m_pAdoConnection,*this);
if(m_pAdoConnection->get_State() != adStateOpen)
- throw SQLException();
+ ::dbtools::throwFunctionSequenceException(*this);
ADOProperties* pProps=m_pAdoConnection->get_Properties();
if(pProps)
@@ -214,7 +217,7 @@ void OConnection::construct(const ::rtl::OUString& url,const Sequence< PropertyV
//bErg = TRUE;
}
else
- throw SQLException();
+ ::dbtools::throwFunctionSequenceException(*this);
osl_decrementInterlockedCount( &m_refCount );
}
diff --git a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx b/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
index 6e0b89270ea0..5682feae54da 100644
--- a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: ADatabaseMetaDataResultSet.cxx,v $
*
- * $Revision: 1.11 $
+ * $Revision: 1.12 $
*
- * last change: $Author: oj $ $Date: 2001-05-17 07:30:42 $
+ * last change: $Author: oj $ $Date: 2001-05-17 09:13:23 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -108,7 +108,7 @@
#include <oledb.h>
-
+using namespace dbtools;
using namespace connectivity::ado;
using namespace cppu;
using namespace ::comphelper;
@@ -188,7 +188,12 @@ sal_Int32 SAL_CALL ODatabaseMetaDataResultSet::findColumn( const ::rtl::OUString
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)))
+ if(xMeta->isCaseSensitive(i) ? columnName == xMeta->getColumnName(i) :
+#if SUPD > 630
+ columnName.equalsIgnoreAsciiCase(xMeta->getColumnName(i)))
+#else
+ columnName.equalsIgnoreCase(xMeta->getColumnName(i)))
+#endif
break;
return i;
}
@@ -200,7 +205,7 @@ Reference< ::com::sun::star::io::XInputStream > SAL_CALL ODatabaseMetaDataResult
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -243,7 +248,7 @@ Reference< ::com::sun::star::io::XInputStream > SAL_CALL ODatabaseMetaDataResult
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
return NULL;
@@ -256,7 +261,7 @@ sal_Bool SAL_CALL ODatabaseMetaDataResultSet::getBoolean( sal_Int32 columnIndex
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -273,7 +278,7 @@ sal_Int8 SAL_CALL ODatabaseMetaDataResultSet::getByte( sal_Int32 columnIndex ) t
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -295,7 +300,7 @@ Sequence< sal_Int8 > SAL_CALL ODatabaseMetaDataResultSet::getBytes( sal_Int32 co
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -312,7 +317,7 @@ Sequence< sal_Int8 > SAL_CALL ODatabaseMetaDataResultSet::getBytes( sal_Int32 co
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -329,7 +334,7 @@ double SAL_CALL ODatabaseMetaDataResultSet::getDouble( sal_Int32 columnIndex ) t
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -346,7 +351,7 @@ float SAL_CALL ODatabaseMetaDataResultSet::getFloat( sal_Int32 columnIndex ) thr
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -363,7 +368,7 @@ sal_Int32 SAL_CALL ODatabaseMetaDataResultSet::getInt( sal_Int32 columnIndex ) t
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -386,7 +391,7 @@ sal_Int32 SAL_CALL ODatabaseMetaDataResultSet::getRow( ) throw(SQLException, Ru
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
return 0;
}
@@ -398,7 +403,7 @@ sal_Int64 SAL_CALL ODatabaseMetaDataResultSet::getLong( sal_Int32 columnIndex )
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -412,7 +417,7 @@ Reference< XResultSetMetaData > SAL_CALL ODatabaseMetaDataResultSet::getMetaData
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
if(!m_xMetaData.is())
m_xMetaData = new ODatabaseMetaDataResultSetMetaData(m_pRecordSet,this);
@@ -426,7 +431,7 @@ Reference< XArray > SAL_CALL ODatabaseMetaDataResultSet::getArray( sal_Int32 col
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
return NULL;
@@ -440,7 +445,7 @@ Reference< XClob > SAL_CALL ODatabaseMetaDataResultSet::getClob( sal_Int32 colum
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
return NULL;
@@ -452,7 +457,7 @@ Reference< XBlob > SAL_CALL ODatabaseMetaDataResultSet::getBlob( sal_Int32 colum
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
return NULL;
@@ -465,7 +470,7 @@ Reference< XRef > SAL_CALL ODatabaseMetaDataResultSet::getRef( sal_Int32 columnI
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
return NULL;
@@ -478,7 +483,7 @@ Any SAL_CALL ODatabaseMetaDataResultSet::getObject( sal_Int32 columnIndex, const
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
return Any();
@@ -491,7 +496,7 @@ sal_Int16 SAL_CALL ODatabaseMetaDataResultSet::getShort( sal_Int32 columnIndex )
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -514,7 +519,7 @@ sal_Int16 SAL_CALL ODatabaseMetaDataResultSet::getShort( sal_Int32 columnIndex )
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -536,7 +541,7 @@ sal_Int16 SAL_CALL ODatabaseMetaDataResultSet::getShort( sal_Int32 columnIndex )
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -554,7 +559,7 @@ sal_Int16 SAL_CALL ODatabaseMetaDataResultSet::getShort( sal_Int32 columnIndex )
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
columnIndex = mapColumn(columnIndex);
ADO_GETFIELD(columnIndex);
@@ -571,7 +576,7 @@ sal_Bool SAL_CALL ODatabaseMetaDataResultSet::isAfterLast( ) throw(SQLException
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
VARIANT_BOOL bIsAtEOF;
m_pRecordSet->get_EOF(&bIsAtEOF);
@@ -584,7 +589,7 @@ sal_Bool SAL_CALL ODatabaseMetaDataResultSet::isFirst( ) throw(SQLException, Ru
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
return m_nRowPos == 1;
}
@@ -595,7 +600,7 @@ sal_Bool SAL_CALL ODatabaseMetaDataResultSet::isLast( ) throw(SQLException, Run
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
return sal_True;
}
@@ -606,7 +611,7 @@ void SAL_CALL ODatabaseMetaDataResultSet::beforeFirst( ) throw(SQLException, Ru
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
if(first())
previous();
@@ -618,7 +623,7 @@ void SAL_CALL ODatabaseMetaDataResultSet::afterLast( ) throw(SQLException, Runt
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
if(last())
next();
@@ -724,7 +729,7 @@ sal_Bool SAL_CALL ODatabaseMetaDataResultSet::rowDeleted( ) throw(SQLException,
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
RecordStatusEnum eRec;
m_pRecordSet->get_Status((sal_Int32*)&eRec);
@@ -736,7 +741,7 @@ sal_Bool SAL_CALL ODatabaseMetaDataResultSet::rowInserted( ) throw(SQLException
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
RecordStatusEnum eRec;
m_pRecordSet->get_Status((sal_Int32*)&eRec);
@@ -749,7 +754,7 @@ sal_Bool SAL_CALL ODatabaseMetaDataResultSet::rowUpdated( ) throw(SQLException,
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
RecordStatusEnum eRec;
m_pRecordSet->get_Status((sal_Int32*)&eRec);
@@ -797,7 +802,7 @@ sal_Bool SAL_CALL ODatabaseMetaDataResultSet::wasNull( ) throw(SQLException, Ru
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
return m_aValue.isNull();
}
@@ -808,7 +813,7 @@ void SAL_CALL ODatabaseMetaDataResultSet::refreshRow( ) throw(SQLException, Run
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
m_pRecordSet->Resync(adAffectCurrent,adResyncAllValues);
}
@@ -820,7 +825,7 @@ void SAL_CALL ODatabaseMetaDataResultSet::cancel( ) throw(RuntimeException)
checkDisposed(ODatabaseMetaDataResultSet_BASE::rBHelper.bDisposed);
if(!m_pRecordSet)
- throw SQLException();
+ throwFunctionSequenceException(*this);
m_pRecordSet->Cancel();
}
diff --git a/connectivity/source/drivers/ado/ADriver.cxx b/connectivity/source/drivers/ado/ADriver.cxx
index 6502f8447b22..88942374e731 100644
--- a/connectivity/source/drivers/ado/ADriver.cxx
+++ b/connectivity/source/drivers/ado/ADriver.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: ADriver.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: oj $ $Date: 2001-04-27 10:08:08 $
+ * last change: $Author: oj $ $Date: 2001-05-17 09:13:23 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -148,11 +148,11 @@ sal_Bool SAL_CALL ODriver::supportsService( const ::rtl::OUString& _rServiceName
{
Sequence< ::rtl::OUString > aSupported(getSupportedServiceNames());
const ::rtl::OUString* pSupported = aSupported.getConstArray();
- for (sal_Int32 i=0; i<aSupported.getLength(); ++i, ++pSupported)
- if (pSupported->equals(_rServiceName))
- return sal_True;
+ const ::rtl::OUString* pEnd = pSupported + aSupported.getLength();
+ for (;pSupported != pEnd && !pSupported->equals(_rServiceName); ++pSupported)
+ ;
- return sal_False;
+ return pSupported != pEnd;
}
// --------------------------------------------------------------------------------
diff --git a/connectivity/source/drivers/ado/AResultSet.cxx b/connectivity/source/drivers/ado/AResultSet.cxx
index ef4501c261ef..40665d39c37c 100644
--- a/connectivity/source/drivers/ado/AResultSet.cxx
+++ b/connectivity/source/drivers/ado/AResultSet.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: AResultSet.cxx,v $
*
- * $Revision: 1.9 $
+ * $Revision: 1.10 $
*
- * last change: $Author: oj $ $Date: 2001-05-17 07:30:42 $
+ * last change: $Author: oj $ $Date: 2001-05-17 09:13:23 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -136,13 +136,13 @@ using namespace com::sun::star::sdbc;
// -------------------------------------------------------------------------
sal_Bool SAL_CALL OResultSet::supportsService( const ::rtl::OUString& _rServiceName ) throw(::com::sun::star::uno::RuntimeException)
{
- ::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(getSupportedServiceNames());
+ Sequence< ::rtl::OUString > aSupported(getSupportedServiceNames());
const ::rtl::OUString* pSupported = aSupported.getConstArray();
- for (sal_Int32 i=0; i<aSupported.getLength(); ++i, ++pSupported)
- if (pSupported->equals(_rServiceName))
- return sal_True;
+ const ::rtl::OUString* pEnd = pSupported + aSupported.getLength();
+ for (;pSupported != pEnd && !pSupported->equals(_rServiceName); ++pSupported)
+ ;
- return sal_False;
+ return pSupported != pEnd;
}
// -------------------------------------------------------------------------
OResultSet::OResultSet(ADORecordset* _pRecordSet,OStatement_Base* pStmt) : OResultSet_BASE(m_aMutex)
@@ -157,7 +157,7 @@ OResultSet::OResultSet(ADORecordset* _pRecordSet,OStatement_Base* pStmt) : ORes
osl_incrementInterlockedCount( &m_refCount );
OSL_ENSURE(_pRecordSet,"No RecordSet !");
if(!_pRecordSet)
- throw SQLException();
+ ::dbtools::throwFunctionSequenceException(*this);
m_pRecordSet->AddRef();
VARIANT_BOOL bIsAtBOF;
CHECK_RETURN(m_pRecordSet->get_BOF(&bIsAtBOF))
@@ -175,7 +175,7 @@ OResultSet::OResultSet(ADORecordset* _pRecordSet) : OResultSet_BASE(m_aMutex)
osl_incrementInterlockedCount( &m_refCount );
OSL_ENSURE(_pRecordSet,"No RecordSet !");
if(!_pRecordSet)
- throw SQLException();
+ ::dbtools::throwFunctionSequenceException(*this);
m_pRecordSet->AddRef();
VARIANT_BOOL bIsAtBOF;
CHECK_RETURN(m_pRecordSet->get_BOF(&bIsAtBOF))
@@ -231,7 +231,12 @@ sal_Int32 SAL_CALL OResultSet::findColumn( const ::rtl::OUString& columnName ) t
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)))
+ if(xMeta->isCaseSensitive(i) ? columnName == xMeta->getColumnName(i) :
+#if SUPD > 630
+ columnName.equalsIgnoreAsciiCase(xMeta->getColumnName(i)))
+#else
+ columnName.equalsIgnoreCase(xMeta->getColumnName(i)))
+#endif
break;
return i;
}
@@ -608,7 +613,7 @@ sal_Bool SAL_CALL OResultSet::absolute( sal_Int32 row ) throw(SQLException, Runt
if(!row) // absolute with zero not allowed
- throw SQLException();
+ ::dbtools::throwFunctionSequenceException(*this);
sal_Bool bCheck = sal_True;
if(row < 0)
@@ -1035,7 +1040,7 @@ sal_Bool SAL_CALL OResultSet::moveToBookmark( const Any& bookmark ) throw(SQLExc
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())
- throw SQLException();
+ ::dbtools::throwFunctionSequenceException(*this);
return SUCCEEDED(m_pRecordSet->Move(0,m_aBookmarks[nPos]));
}
@@ -1051,7 +1056,7 @@ sal_Bool SAL_CALL OResultSet::moveRelativeToBookmark( const Any& bookmark, sal_I
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())
- throw SQLException();
+ ::dbtools::throwFunctionSequenceException(*this);
return SUCCEEDED(m_pRecordSet->Move(rows,m_aBookmarks[nPos]));
}
//------------------------------------------------------------------------------
diff --git a/connectivity/source/drivers/ado/AStatement.cxx b/connectivity/source/drivers/ado/AStatement.cxx
index 2a4a812bf7d7..ac9b93bcc540 100644
--- a/connectivity/source/drivers/ado/AStatement.cxx
+++ b/connectivity/source/drivers/ado/AStatement.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: AStatement.cxx,v $
*
- * $Revision: 1.10 $
+ * $Revision: 1.11 $
*
- * last change: $Author: oj $ $Date: 2001-05-17 07:26:59 $
+ * last change: $Author: oj $ $Date: 2001-05-17 09:13:23 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -91,8 +91,8 @@
#ifndef _COM_SUN_STAR_SDBC_FETCHDIRECTION_HPP_
#include <com/sun/star/sdbc/FetchDirection.hpp>
#endif
-#ifndef _COM_SUN_STAR_LANG_DISPOSEDEXCEPTION_HPP_
-#include <com/sun/star/lang/DisposedException.hpp>
+#ifndef _DBHELPER_DBEXCEPTION_HXX_
+#include "connectivity/dbexception.hxx"
#endif
#define CHECK_RETURN(x) \
@@ -548,7 +548,7 @@ sal_Int32 OStatement_Base::getMaxRows() const throw(SQLException, RuntimeExcepti
{
sal_Int32 nRet=-1;
if(!m_RecordSet.IsValid() && m_RecordSet.get_MaxRecords(nRet))
- throw SQLException();
+ ::dbtools::throwFunctionSequenceException(NULL);
return nRet;
}
//------------------------------------------------------------------------------
diff --git a/connectivity/source/drivers/ado/Aolevariant.cxx b/connectivity/source/drivers/ado/Aolevariant.cxx
new file mode 100644
index 000000000000..86f935b75e98
--- /dev/null
+++ b/connectivity/source/drivers/ado/Aolevariant.cxx
@@ -0,0 +1,527 @@
+/*************************************************************************
+ *
+ * $RCSfile: Aolevariant.cxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: oj $ $Date: 2001-05-17 09:15:34 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the License); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an AS IS basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef _CONNECTIVITY_ADO_AOLEVARIANT_HXX_
+#include "ado/Aolevariant.hxx"
+#endif
+
+
+using namespace connectivity::ado;
+OLEString::OLEString()
+ :m_sStr(NULL)
+{
+}
+OLEString::OLEString(const BSTR& _sBStr)
+ :m_sStr(_sBStr)
+{
+}
+OLEString::OLEString(const ::rtl::OUString& _sBStr)
+{
+ m_sStr = ::SysAllocString(_sBStr);
+}
+OLEString::~OLEString()
+{
+ if(m_sStr)
+ ::SysFreeString(m_sStr);
+}
+OLEString& OLEString::operator=(const ::rtl::OUString& _rSrc)
+{
+ if(m_sStr)
+ ::SysFreeString(m_sStr);
+ m_sStr = ::SysAllocString(_rSrc);
+ 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(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);
+ ::VariantCopy(this, const_cast<VARIANT*>(&varSrc));
+}
+OLEVariant::OLEVariant(const OLEVariant& varSrc)
+{
+ ::VariantInit(this);
+ ::VariantCopy(this, const_cast<VARIANT*>(static_cast<const VARIANT*>(&varSrc)));
+}
+
+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 = x;}
+
+OLEVariant::OLEVariant(const rtl::OUString& us)
+{
+ ::VariantInit(this);
+ vt = VT_BSTR;
+ bstrVal = SysAllocString(us);
+}
+OLEVariant::~OLEVariant()
+{
+ ::VariantClear(this);
+} // clears all the memory that was allocated before
+
+OLEVariant::OLEVariant(const ::com::sun::star::util::Date& x )
+{
+ VariantInit(this);
+ vt = VT_R8;
+ dblVal = ::dbtools::DBTypeConversion::toDouble(x);
+}
+OLEVariant::OLEVariant(const ::com::sun::star::util::Time& x )
+{
+ VariantInit(this);
+ vt = VT_R8;
+ dblVal = ::dbtools::DBTypeConversion::toDouble(x);
+}
+OLEVariant::OLEVariant(const ::com::sun::star::util::DateTime& x )
+{
+ VariantInit(this);
+ vt = VT_R8;
+ dblVal = ::dbtools::DBTypeConversion::toDouble(x);
+}
+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);
+ vt = VT_DISPATCH;
+ pdispVal = pDispInterface;
+}
+
+OLEVariant::OLEVariant(const ::com::sun::star::uno::Sequence< sal_Int8 >& x)
+{
+ VariantInit(this);
+ vt = VT_ARRAY|VT_UI1;
+ 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)
+ SafeArrayPutElement(parray,&i,&pBegin);
+}
+
+OLEVariant& OLEVariant::operator=(const OLEVariant& varSrc)
+{
+ VariantCopy(this, const_cast<VARIANT*>(static_cast<const VARIANT*>(&varSrc)));
+ return *this;
+}
+// Assign a const VARIANT& (::VariantCopy handles everything)
+//
+OLEVariant& OLEVariant::operator=(const tagVARIANT& varSrc)
+{
+ ::VariantCopy(this, const_cast<VARIANT*>(&varSrc));
+
+ return *this;
+}
+
+// Assign a const VARIANT* (::VariantCopy handles everything)
+//
+OLEVariant& OLEVariant::operator=(const VARIANT* pSrc)
+{
+ ::VariantCopy(this, const_cast<VARIANT*>(pSrc));
+
+ return *this;
+}
+
+void OLEVariant::setByte(sal_uInt8 n) { VariantClear(this); vt = VT_UI1; bVal = n;}
+void OLEVariant::setInt16(sal_Int16 n) { VariantClear(this); vt = VT_I2; iVal = n;}
+void OLEVariant::setInt32(sal_Int32 n) { VariantClear(this); vt = VT_I4; lVal = n;}
+void OLEVariant::setFloat(float f) { VariantClear(this); vt = VT_R4; fltVal = f;}
+void OLEVariant::setDouble(double d) { VariantClear(this); vt = VT_R8; dblVal = d;}
+void OLEVariant::setDate(DATE d) { VariantClear(this); vt = VT_DATE; date = d;}
+void OLEVariant::setChar(unsigned char a) { VariantClear(this); vt = VT_UI1; bVal = a;}
+void OLEVariant::setCurrency(double aCur) { VariantClear(this); vt = VT_CY; set(aCur*10000);}
+void OLEVariant::setBool(sal_Bool b) { VariantClear(this); vt = VT_BOOL; boolVal = b ? VARIANT_TRUE : VARIANT_FALSE;}
+void OLEVariant::setString(const rtl::OUString& us){ VariantClear(this); vt = VT_BSTR; bstrVal = ::SysAllocString(us);}
+void OLEVariant::setNoArg() { VariantClear(this); vt = VT_ERROR; scode = DISP_E_PARAMNOTFOUND;}
+
+void OLEVariant::setIDispatch(IDispatch* pDispInterface)
+ { VariantClear(this); vt = VT_DISPATCH; pdispVal = pDispInterface;}
+
+void OLEVariant::setNull() { VariantClear(this); vt = VT_NULL;}
+void OLEVariant::setEmpty() { VariantClear(this); vt = VT_EMPTY;}
+
+void OLEVariant::setUI1SAFEARRAYPtr(SAFEARRAY* pSafeAr)
+ { VariantClear(this); vt = VT_ARRAY|VT_UI1; parray = pSafeAr; }
+
+void OLEVariant::setArray(SAFEARRAY* pSafeArray, VARTYPE vtType)
+ { VariantClear(this); vt = VT_ARRAY|vtType; parray = pSafeArray; }
+
+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 connectivity::DateConversion::toDate(date,::com::sun::star::util::Date(30,12,1899));
+}
+OLEVariant::operator ::com::sun::star::util::Time() const
+{
+ return connectivity::DateConversion::toTime(date);
+}
+OLEVariant::operator ::com::sun::star::util::DateTime()const
+{
+ return connectivity::DateConversion::toDateTime(date,::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 V_BSTR(this);
+
+
+ OLEVariant varDest;
+
+ varDest.ChangeType(VT_BSTR, this);
+
+ return V_BSTR(&varDest);
+}
+// -----------------------------------------------------------------------------
+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
+ {
+ 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 nIndex = 0;
+ long nCount = uBound-lBound+1;
+ aRet.realloc(nCount);
+ for(long i=0;i<nCount;++i)
+ {
+ ::SafeArrayGetElement(pArray,&nIndex,(void*)aRet.getArray()[i]);
+ }
+ }
+ }
+ }
+
+ return aRet;
+}
+// -----------------------------------------------------------------------------
+::rtl::OUString OLEVariant::getString() const
+{
+ return (rtl::OUString)*this;
+}
+// -----------------------------------------------------------------------------
+sal_Bool OLEVariant::getBool() const
+{
+ if (V_VT(this) == VT_BOOL)
+ return V_BOOL(this) == VARIANT_TRUE ? sal_True : 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)
+ {
+ V_UNKNOWN(this)->AddRef();
+ return V_UNKNOWN(this);
+ }
+
+ 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)
+ {
+ V_DISPATCH(this)->AddRef();
+ return V_DISPATCH(this);
+ }
+
+ 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);
+
+ 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);
+
+ 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);
+
+ 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);
+
+ 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);
+
+ 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);
+
+ 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);
+
+ 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);
+
+ 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);
+
+ 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);
+
+ OLEVariant varDest;
+
+ varDest.ChangeType((VT_ARRAY|VT_UI1), this);
+
+ return V_ARRAY(&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)))
+ throw ::com::sun::star::sdbc::SQLException(::rtl::OUString::createFromAscii("Could convert type!"),NULL,::rtl::OUString(),1000,::com::sun::star::uno::Any());
+ }
+}
+
diff --git a/connectivity/source/drivers/ado/makefile.mk b/connectivity/source/drivers/ado/makefile.mk
index 2fd2f0a41efd..145653fa4817 100644
--- a/connectivity/source/drivers/ado/makefile.mk
+++ b/connectivity/source/drivers/ado/makefile.mk
@@ -2,9 +2,9 @@
#
# $RCSfile: makefile.mk,v $
#
-# $Revision: 1.6 $
+# $Revision: 1.7 $
#
-# last change: $Author: oj $ $Date: 2001-05-14 11:40:04 $
+# last change: $Author: oj $ $Date: 2001-05-17 09:13:23 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
@@ -80,6 +80,7 @@ ENVCFLAGS+=/FR$(SLO)$/
# --- Files -------------------------------------
SLOFILES=\
+ $(SLO)$/Aolevariant.obj \
$(SLO)$/Awrapado.obj \
$(SLO)$/ADatabaseMetaData.obj \
$(SLO)$/AColumn.obj \