Tag: cws_src680_dba202f
User: fs      
Date: 06/01/20 06:51:53

Modified:
 /dba/dbaccess/source/core/api/
  CRowSetColumn.cxx, CRowSetColumn.hxx, CRowSetDataColumn.cxx,
  CRowSetDataColumn.hxx, RowSet.cxx, RowSetBase.cxx, RowSetBase.hxx,
  RowSetCache.cxx, RowSetCache.hxx, RowSetCacheIterator.cxx,
  RowSetCacheIterator.hxx
 /dba/dbaccess/source/core/dataaccess/
  datasource.cxx

Log:
 copying the changes from stlusagefix01 herein, to be able to use this CWS in a 
non-product version

File Changes:

Directory: /dba/dbaccess/source/core/api/
=========================================

File [changed]: CRowSetColumn.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/CRowSetColumn.cxx?r1=1.13&r2=1.13.14.1
Delta lines:  +4 -4
-------------------
--- CRowSetColumn.cxx   19 Dec 2005 17:13:03 -0000      1.13
+++ CRowSetColumn.cxx   20 Jan 2006 14:51:38 -0000      1.13.14.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: CRowSetColumn.cxx,v $
  *
- *  $Revision: 1.13 $
+ *  $Revision: 1.13.14.1 $
  *
- *  last change: $Author: obo $ $Date: 2005/12/19 17:13:03 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:38 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -149,7 +149,7 @@
                        OColumnSettings::getFastPropertyValue( rValue, nHandle 
);
                        break;
                case PROPERTY_ID_VALUE:
-                       if(!m_aColumnValue.isNull() && m_aColumnValue != m_rEnd 
&& (*m_aColumnValue).isValid())
+                       if ( !m_aColumnValue.isNull() && 
(*m_aColumnValue).isValid() )
                                rValue = (*(*m_aColumnValue))[m_nPos].makeAny();
                        break;
                default:

File [changed]: CRowSetColumn.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/CRowSetColumn.hxx?r1=1.8&r2=1.8.14.1
Delta lines:  +5 -6
-------------------
--- CRowSetColumn.hxx   19 Dec 2005 17:13:18 -0000      1.8
+++ CRowSetColumn.hxx   20 Jan 2006 14:51:39 -0000      1.8.14.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: CRowSetColumn.hxx,v $
  *
- *  $Revision: 1.8 $
+ *  $Revision: 1.8.14.1 $
  *
- *  last change: $Author: obo $ $Date: 2005/12/19 17:13:18 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:39 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -63,9 +63,8 @@
                                                sal_Int32 _nPos,
                         const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XDatabaseMetaData >& _rxDBMeta,
                                                const ::rtl::OUString& 
_rDescription,
-                                               ORowSetCacheIterator& 
_rColumnValue,
-                                               ORowSetMatrix::iterator& _rEnd)
-                 : 
ORowSetDataColumn(_xMetaData,_xRow,NULL,_nPos,_rxDBMeta,_rDescription,_rColumnValue,_rEnd)
+                                               ORowSetCacheIterator& 
_rColumnValue)
+                 : 
ORowSetDataColumn(_xMetaData,_xRow,NULL,_nPos,_rxDBMeta,_rDescription,_rColumnValue)
                {
                }
 

File [changed]: CRowSetDataColumn.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/CRowSetDataColumn.cxx?r1=1.30&r2=1.30.14.1
Delta lines:  +7 -9
-------------------
--- CRowSetDataColumn.cxx       19 Dec 2005 17:13:32 -0000      1.30
+++ CRowSetDataColumn.cxx       20 Jan 2006 14:51:41 -0000      1.30.14.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: CRowSetDataColumn.cxx,v $
  *
- *  $Revision: 1.30 $
+ *  $Revision: 1.30.14.1 $
  *
- *  last change: $Author: obo $ $Date: 2005/12/19 17:13:32 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:41 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -76,12 +76,10 @@
                                                                          
sal_Int32 _nPos,
                                       const Reference< XDatabaseMetaData >& 
_rxDBMeta,
                                                                          const 
::rtl::OUString& _rDescription,
-                                                                         const 
ORowSetCacheIterator& _rColumnValue,
-                                                                         
ORowSetMatrix::iterator& _rEnd)
+                                                                         const 
ORowSetCacheIterator& _rColumnValue)
        : ODataColumn(_xMetaData,_xRow,_xRowUpdate,_nPos,_rxDBMeta)
        ,m_aDescription(_rDescription)
        ,m_aColumnValue(_rColumnValue)
-       ,m_rEnd(_rEnd)
 {
        DBG_CTOR(ORowSetDataColumn,NULL);
 }
@@ -155,7 +153,7 @@
                        OColumnSettings::getFastPropertyValue( rValue, nHandle 
);
                        break;
                case PROPERTY_ID_VALUE:
-                       if(!m_aColumnValue.isNull() && m_aColumnValue != m_rEnd 
&& m_aColumnValue->isValid())
+                       if ( !m_aColumnValue.isNull() && 
m_aColumnValue->isValid() )
                        {
                                ORowSetRow aRow = *m_aColumnValue;
                                OSL_ENSURE((sal_Int32)aRow->size() > 
m_nPos,"Pos is greater than size of vector");
@@ -237,7 +235,7 @@
 // -------------------------------------------------------------------------
 void ORowSetDataColumn::fireValueChange(const ORowSetValue& _rOldValue)
 {
-       if(!m_aColumnValue.isNull() && m_aColumnValue != m_rEnd && 
m_aColumnValue->isValid() && (!((*(*m_aColumnValue))[m_nPos] == _rOldValue)))
+       if ( !m_aColumnValue.isNull() && m_aColumnValue->isValid() && 
(!((*(*m_aColumnValue))[m_nPos] == _rOldValue)) )
        {
                sal_Int32 nHandle = PROPERTY_ID_VALUE;
                m_aOldValue = _rOldValue.makeAny();
@@ -245,7 +243,7 @@
 
                fire(&nHandle, &aNew, &m_aOldValue, 1, sal_False );
        }
-    else if ( !m_aColumnValue.isNull() && m_aColumnValue == m_rEnd && 
!_rOldValue.isNull() )
+    else if ( !m_aColumnValue.isNull() && !_rOldValue.isNull() )
     {
         sal_Int32 nHandle = PROPERTY_ID_VALUE;
                m_aOldValue = _rOldValue.makeAny();

File [changed]: CRowSetDataColumn.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/CRowSetDataColumn.hxx?r1=1.14&r2=1.14.14.1
Delta lines:  +5 -6
-------------------
--- CRowSetDataColumn.hxx       19 Dec 2005 17:13:47 -0000      1.14
+++ CRowSetDataColumn.hxx       20 Jan 2006 14:51:42 -0000      1.14.14.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: CRowSetDataColumn.hxx,v $
  *
- *  $Revision: 1.14 $
+ *  $Revision: 1.14.14.1 $
  *
- *  last change: $Author: obo $ $Date: 2005/12/19 17:13:47 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:42 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -62,10 +62,10 @@
        {
        protected:
                ORowSetCacheIterator            m_aColumnValue;
-               ORowSetMatrix::iterator&        m_rEnd;                         
// end of the matrix to when we reach the end
                ::com::sun::star::uno::Any      m_aOldValue;
 
                ::rtl::OUString                         m_aDescription;         
// description
+               ORowSetBase*                            m_pRowSet;
 
                virtual ~ORowSetDataColumn();
        public:
@@ -75,8 +75,7 @@
                                                  sal_Int32 _nPos,
                           const ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XDatabaseMetaData >& _rxDBMeta,
                                                  const ::rtl::OUString& 
_rDescription,
-                                                 const ORowSetCacheIterator& 
_rColumnValue,
-                                                 ORowSetMatrix::iterator& 
_rEnd);
+                                                 const ORowSetCacheIterator& 
_rColumnValue);
 
                
                // com::sun::star::lang::XTypeProvider

File [changed]: RowSet.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/RowSet.cxx?r1=1.139&r2=1.139.12.1
Delta lines:  +14 -18
---------------------
--- RowSet.cxx  21 Dec 2005 13:33:51 -0000      1.139
+++ RowSet.cxx  20 Jan 2006 14:51:43 -0000      1.139.12.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: RowSet.cxx,v $
  *
- *  $Revision: 1.139 $
+ *  $Revision: 1.139.12.1 $
  *
- *  last change: $Author: obo $ $Date: 2005/12/21 13:33:51 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:43 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -1032,13 +1032,13 @@
                        ::osl::MutexGuard aCacheGuard( *m_pMutex);
                        sal_Bool bInserted = m_pCache->insertRow();
 
+                       // make sure that our row is set to the new inserted 
row before clearing the inser flags in the cache
+                       m_pCache->resetInsertRow(bInserted);
+
                        // notification order
                        // - column values
                        setCurrentRow(sal_False,aOldValues,aGuard); // we don't 
move here
 
-                       // make sure that our row is set to the new inserted 
row before clearing the inser flags in the cache
-                       m_pCache->resetInsertRow(bInserted);
-
                        // - rowChanged
                        notifyAllListenersRowChanged(aGuard,aEvt);
 
@@ -1175,12 +1175,12 @@
 
        positionCache();
 
-       m_pCache->cancelRowUpdates();
-
        ORowSetRow aOldValues;
        if ( !m_aCurrentRow.isNull() )
                aOldValues = new ORowSetValueVector( m_aCurrentRow->getBody() );
 
+       m_pCache->cancelRowUpdates();
+
        m_aBookmark             = m_pCache->getBookmark();
        m_aCurrentRow   = m_pCache->m_aMatrixIter;
        m_aCurrentRow.setBookmark(m_aBookmark);
@@ -1359,7 +1359,6 @@
        if ( m_pCache && ( m_pCache->m_bInserted || m_bModified) )
                return  (*(*m_pCache->m_aInsertRow))[m_nLastColumnIndex = 
columnIndex];
 
-       OSL_ENSURE(m_aCurrentRow != m_pCache->m_aInsertRow,"Current row stand 
on the insert row but all flags are wrong!");
        return getValue(columnIndex);
 }
 // -------------------------------------------------------------------------
@@ -1692,7 +1691,7 @@
                                                m_pCache->m_nPrivileges = 
Privilege::SELECT;
                                        }
                                        m_pCache->setMaxRowSize(m_nFetchSize);
-                                       m_aCurrentRow   = 
m_pCache->createIterator();
+                                       m_aCurrentRow   = 
m_pCache->createIterator(this);
                                        m_aOldRow = m_pCache->registerOldRow();
                                        // now we can clear the parameter row
                                        m_aParameterRow.clear();
@@ -1749,8 +1748,7 @@
                                                                                
                                                                                
                i+1,
                                                                                
         m_xActiveConnection->getMetaData(),
                                                                                
                                                                                
                aDescription,
-                                                                               
                                                                                
                m_aCurrentRow,
-                                                                               
                                                                                
                m_pCache->getEnd());
+                                                                               
                                                                                
                m_aCurrentRow);
                                                                        
aColumnMap.insert(StringMap::value_type(sName,0));
                                                                        
aColumns->push_back(pColumn);
                                                                        
pColumn->setName(sName);
@@ -1835,8 +1833,7 @@
                                                                                
                                                                                
        i,
                                                                                
     m_xActiveConnection->getMetaData(),
                                                                                
                                                                                
        aDescription,
-                                                                               
                                                                                
        m_aCurrentRow,
-                                                                               
                                                                                
        m_pCache->getEnd());
+                                                                               
                                                                                
        m_aCurrentRow);
                                                                
aColumns->push_back(pColumn);
                                                                
if(!sName.getLength())
                                                                {
@@ -2500,7 +2497,7 @@
 // 
-----------------------------------------------------------------------------
 void ORowSet::checkUpdateConditions(sal_Int32 columnIndex)
 {
-       if(!m_pCache || columnIndex <= 0 || m_aCurrentRow.isNull() || 
m_aCurrentRow == m_pCache->getEnd() || m_nResultSetConcurrency == 
ResultSetConcurrency::READ_ONLY)
+       if ( !m_pCache || columnIndex <= 0 || m_aCurrentRow.isNull() || 
m_nResultSetConcurrency == ResultSetConcurrency::READ_ONLY )
                throwFunctionSequenceException(*this);
 }
 // 
-----------------------------------------------------------------------------
@@ -2545,7 +2542,7 @@
        m_bAfterLast                    = rParent.m_bAfterLast;
        m_pCache                                = rParent.m_pCache;
        m_aBookmark                             = rParent.m_aBookmark;
-       m_aCurrentRow                   = m_pCache->createIterator();
+       m_aCurrentRow                   = m_pCache->createIterator(this);
        m_xNumberFormatTypes    = rParent.m_xNumberFormatTypes;
 
        m_aOldRow = m_pCache->registerOldRow();
@@ -2575,8 +2572,7 @@
                                                                                
                                        i,
                                                             
rParent.m_xActiveConnection->getMetaData(),
                                                                                
                                        aDescription,
-                                                                               
                                        m_aCurrentRow,
-                                                                               
                                        m_pCache->getEnd());
+                                                                               
                                        m_aCurrentRow);
                aColumns->push_back(pColumn);
                pColumn->setName(*pBegin);
                aNames.push_back(*pBegin);

File [changed]: RowSetBase.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/RowSetBase.cxx?r1=1.80&r2=1.80.8.1
Delta lines:  +15 -7
--------------------
--- RowSetBase.cxx      3 Jan 2006 16:13:39 -0000       1.80
+++ RowSetBase.cxx      20 Jan 2006 14:51:44 -0000      1.80.8.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: RowSetBase.cxx,v $
  *
- *  $Revision: 1.80 $
+ *  $Revision: 1.80.8.1 $
  *
- *  last change: $Author: kz $ $Date: 2006/01/03 16:13:39 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:44 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -458,6 +458,7 @@
                ORowSetRow aOldValues = getOldRow(bWasNew);
 
                bRet = m_pCache->moveToBookmark(bookmark);
+               m_pCache->clearModified();
                if(bRet)
                {
                        // notification order
@@ -500,6 +501,7 @@
                ORowSetRow aOldValues = getOldRow(bWasNew);
 
                bRet = m_pCache->moveRelativeToBookmark(bookmark,rows);
+               m_pCache->clearModified();
                if(bRet)
                {
                        // notification order
@@ -607,6 +609,7 @@
                        positionCache();
         sal_Bool bAfterLast = m_pCache->isAfterLast();
                bRet = m_pCache->next();
+               m_pCache->clearModified();
         
 
                if ( bRet || bAfterLast != m_pCache->isAfterLast() )
@@ -723,6 +726,7 @@
                {
             ORowSetRow aOldValues = getOldRow(bWasNew);
                        m_pCache->beforeFirst();            
+                       m_pCache->clearModified();
 
                        // notification order
                        // - column values
@@ -764,6 +768,7 @@
                        ORowSetRow aOldValues = getOldRow(bWasNew);
 
                        m_pCache->afterLast();
+                       m_pCache->clearModified();
 
                        // notification order
                        // - column values
@@ -803,6 +808,7 @@
                sal_Bool bMoved = ( bWasNew || !_aCheckFunctor(this) );
 
                bRet = _aMovementFunctor(m_pCache);
+               m_pCache->clearModified();
 
                if ( bRet )
                {
@@ -897,6 +903,7 @@
                ORowSetRow aOldValues = getOldRow(bWasNew);
 
                bRet = m_pCache->absolute(row);
+               m_pCache->clearModified();
 
                if(bRet)
                {
@@ -949,6 +956,7 @@
                if ( m_aBookmark.hasValue() ) // #104474# OJ
                        positionCache();
                bRet = m_pCache->relative(rows);
+               m_pCache->clearModified();
 
                if(bRet)
                {
@@ -996,6 +1004,7 @@
                if ( m_aBookmark.hasValue() ) // #104474# OJ
                        positionCache();
                bRet = m_pCache->previous();
+               m_pCache->clearModified();
 
                // if m_bBeforeFirst is false and bRet is false than we stood 
on the first row
                if(!m_bBeforeFirst || bRet)
@@ -1023,6 +1032,7 @@
        DBG_TRACE1("DBACCESS ORowSetBase::setCurrentRow() Clone = %i",m_bClone);
        m_bBeforeFirst  = m_pCache->isBeforeFirst();
        m_bAfterLast    = m_pCache->isAfterLast();
+       //m_pCache->resetInsertRow(sal_True);
 
        if(!(m_bBeforeFirst || m_bAfterLast))
        {
@@ -1156,8 +1166,6 @@
        sal_Bool bNull = m_aCurrentRow.isNull();
        ORowSetMatrix::iterator atest = m_aCurrentRow;
 #endif
-       //      OSL_ENSURE(!m_aCurrentRow.isNull() && m_aCurrentRow != 
m_pCache->getEnd(),"Position of matrix iterator isn't valid!");
-       OSL_ENSURE(m_aCurrentRow->isValid(),"Currentrow isn't valid");
        sal_Int32 i=0;
        try
        {
@@ -1248,7 +1256,7 @@
        OSL_ENSURE( m_pRowSet, "ORowSetNotifier::ORowSetNotifier: invalid row 
set. This wil crash." );
 
        // remember the "inserted" and "modified" state for later firing
-       m_bWasNew               = m_pRowSet->isNew( 
ORowSetBase::GrantNotifierAccess() );;
+       m_bWasNew               = m_pRowSet->isNew( 
ORowSetBase::GrantNotifierAccess() );
        m_bWasModified  = m_pRowSet->isModified( 
ORowSetBase::GrantNotifierAccess() );
 
        // if the row set is on the insert row, then we need to cancel this

File [changed]: RowSetBase.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/RowSetBase.hxx?r1=1.32&r2=1.32.70.1
Delta lines:  +4 -3
-------------------
--- RowSetBase.hxx      8 Sep 2005 10:01:22 -0000       1.32
+++ RowSetBase.hxx      20 Jan 2006 14:51:45 -0000      1.32.70.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: RowSetBase.hxx,v $
  *
- *  $Revision: 1.32 $
+ *  $Revision: 1.32.70.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 10:01:22 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:45 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -337,6 +337,7 @@
                inline  sal_Bool        isModification( const 
GrantNotifierAccess& ) { return isModification(); }
                inline  sal_Bool        isModified( const GrantNotifierAccess& 
) { return isModified(); }
                inline  sal_Bool        isNew( const GrantNotifierAccess& ) { 
return isNew(); }
+               inline  sal_Bool        isInsertRow() { return isNew() || 
isModified(); }
                inline  void            fireProperty( sal_Int32 _nProperty, 
sal_Bool _bNew, sal_Bool _bOld, const GrantNotifierAccess& )
                {
                        fireProperty( _nProperty, _bNew, _bOld );

File [changed]: RowSetCache.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/RowSetCache.cxx?r1=1.80&r2=1.80.8.1
Delta lines:  +40 -205
----------------------
--- RowSetCache.cxx     3 Jan 2006 16:13:57 -0000       1.80
+++ RowSetCache.cxx     20 Jan 2006 14:51:46 -0000      1.80.8.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: RowSetCache.cxx,v $
  *
- *  $Revision: 1.80 $
+ *  $Revision: 1.80.8.1 $
  *
- *  last change: $Author: kz $ $Date: 2006/01/03 16:13:57 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:46 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -90,6 +90,9 @@
 #ifndef DBACCESS_CORE_API_CROWSETCOLUMN_HXX
 #include "CRowSetColumn.hxx"
 #endif
+#ifndef DBACCESS_CORE_API_ROWSETBASE_HXX
+#include "RowSetBase.hxx"
+#endif
 #ifndef _DBHELPER_DBEXCEPTION_HXX_
 #include <connectivity/dbexception.hxx>
 #endif
@@ -412,9 +415,8 @@
                for(;aCacheIter != m_aCacheIterators.end();++aCacheIter)
                {
                        aCacheIterToChange[aCacheIter->first] = sal_False;
-                       if ( aCacheIter->second.aIterator == m_pMatrix->end() )
-                               continue;
-                       if(aCacheIter->second.aIterator != m_aInsertRow && 
!m_bInserted && !m_bModified)
+                       if ( !aCacheIter->second.pRowSet->isInsertRow() 
+                               && aCacheIter->second.aIterator != 
m_pMatrix->end() && !m_bInserted && !m_bModified )
                        {
                                sal_Int16 nDist = (aCacheIter->second.aIterator 
- m_pMatrix->begin());
                                aPositions.push_back(nDist);
@@ -453,151 +455,6 @@
        return m_xMetaData;
 }
 // -------------------------------------------------------------------------
-// XRow
-sal_Bool ORowSetCache::wasNull(  )
-{
-       if(m_bAfterLast)
-               throwFunctionSequenceException(m_xSet.get());
-
-       OSL_ENSURE(m_aMatrixIter != m_pMatrix->end(),"Iterator is equal end()");
-
-       return (*(*m_aMatrixIter))[m_nLastColumnIndex].isNull();
-}
-// 
-----------------------------------------------------------------------------
-ORowSetValue ORowSetCache::getValue(sal_Int32 columnIndex)
-{
-       if(m_bAfterLast)
-               throwFunctionSequenceException(m_xSet.get());
-
-       OSL_ENSURE(m_aMatrixIter != m_pMatrix->end(),"Iterator is equal end()");
-
-       m_nLastColumnIndex = columnIndex;
-       return (*(*m_aMatrixIter))[m_nLastColumnIndex];
-}
-// -------------------------------------------------------------------------
-::rtl::OUString ORowSetCache::getString( sal_Int32 columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-sal_Bool ORowSetCache::getBoolean( sal_Int32 columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-sal_Int8 ORowSetCache::getByte( sal_Int32 columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-sal_Int16 ORowSetCache::getShort( sal_Int32 columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-sal_Int32 ORowSetCache::getInt( sal_Int32 columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-sal_Int64 ORowSetCache::getLong( sal_Int32 columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-float ORowSetCache::getFloat( sal_Int32 columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-double ORowSetCache::getDouble( sal_Int32 columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-Sequence< sal_Int8 > ORowSetCache::getBytes( sal_Int32 columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-::com::sun::star::util::Date ORowSetCache::getDate( sal_Int32 columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-::com::sun::star::util::Time ORowSetCache::getTime( sal_Int32 columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-::com::sun::star::util::DateTime ORowSetCache::getTimestamp( sal_Int32 
columnIndex )
-{
-       return getValue(columnIndex);
-}
-// -------------------------------------------------------------------------
-Reference< ::com::sun::star::io::XInputStream > ORowSetCache::getBinaryStream( 
sal_Int32 columnIndex )
-{
-       if(m_bAfterLast)
-               throwFunctionSequenceException(m_xSet.get());
-
-       OSL_ENSURE(m_aMatrixIter != m_pMatrix->end(),"Iterator is equal end()");
-
-       m_nLastColumnIndex = columnIndex;
-       return new 
::comphelper::SequenceInputStream((*(*m_aMatrixIter))[m_nLastColumnIndex].getSequence());
-}
-// -------------------------------------------------------------------------
-Reference< ::com::sun::star::io::XInputStream > 
ORowSetCache::getCharacterStream( sal_Int32 columnIndex )
-{
-       if(m_bAfterLast)
-               throwFunctionSequenceException(m_xSet.get());
-
-       OSL_ENSURE(m_aMatrixIter != m_pMatrix->end(),"Iterator is equal end()");
-
-       m_nLastColumnIndex = columnIndex;
-       return new 
::comphelper::SequenceInputStream((*(*m_aMatrixIter))[m_nLastColumnIndex].getSequence());
-}
-// -------------------------------------------------------------------------
-Any ORowSetCache::getObject( sal_Int32 columnIndex, const Reference< 
::com::sun::star::container::XNameAccess >& typeMap )
-{
-       if(m_bAfterLast)
-               throwFunctionSequenceException(m_xSet.get());
-
-       return Any();
-}
-// -------------------------------------------------------------------------
-Reference< XRef > ORowSetCache::getRef( sal_Int32 columnIndex )
-{
-       if(m_bAfterLast)
-               throwFunctionSequenceException(m_xSet.get());
-
-       return Reference< XRef >();
-}
-// -------------------------------------------------------------------------
-Reference< XBlob > ORowSetCache::getBlob( sal_Int32 columnIndex )
-{
-       if(m_bAfterLast)
-               throwFunctionSequenceException(m_xSet.get());
-
-       return Reference< XBlob >();
-}
-// -------------------------------------------------------------------------
-Reference< XClob > ORowSetCache::getClob( sal_Int32 columnIndex )
-{
-       if(m_bAfterLast)
-               throwFunctionSequenceException(m_xSet.get());
-
-       return Reference< XClob >();
-}
-// -------------------------------------------------------------------------
-Reference< XArray > ORowSetCache::getArray( sal_Int32 columnIndex )
-{
-       if(m_bAfterLast)
-               throwFunctionSequenceException(m_xSet.get());
-
-       return Reference< XArray >();
-}
-// -------------------------------------------------------------------------
-
 // ::com::sun::star::sdbcx::XRowLocate
 Any ORowSetCache::getBookmark(  )
 {
@@ -687,10 +544,6 @@
 }
 // -------------------------------------------------------------------------
 // XRowUpdate
-void ORowSetCache::updateNull( sal_Int32 columnIndex )
-{
-       updateValue(columnIndex,ORowSetValue());
-}
 // 
-----------------------------------------------------------------------------
 void ORowSetCache::updateValue(sal_Int32 columnIndex,const ORowSetValue& x)
 {
@@ -934,15 +787,15 @@
                                bCheck = m_pCacheSet->first();
                                //      aEnd = m_pMatrix->begin() + 
(sal_Int32)(m_nFetchSize*0.5);
                                OSL_ENSURE((nNewEndPos - m_nStartPos - 
nNewStartPos) < (sal_Int32)m_pMatrix->size(),"Position is behind end()!");
-                               aEnd = m_pMatrix->begin() + nNewEndPos - 
m_nStartPos - nNewStartPos;
+                               aEnd = m_pMatrix->begin() + (nNewEndPos - 
m_nStartPos - nNewStartPos);
                                aIter = aEnd;
                                m_nStartPos = 0;
                        }
                        else
                        {
                                OSL_ENSURE((nNewEndPos - m_nStartPos -1) < 
(sal_Int32)m_pMatrix->size(),"Position is behind end()!");
-                               aEnd = m_pMatrix->begin() + (nNewEndPos - 
m_nStartPos)-1;
-                               aIter = m_pMatrix->begin() + (nNewEndPos - 
m_nStartPos)-1;
+                               aEnd = m_pMatrix->begin() + ((nNewEndPos - 
m_nStartPos)-1);
+                               aIter = m_pMatrix->begin() + ((nNewEndPos - 
m_nStartPos)-1);
                                bCheck = m_pCacheSet->absolute(nNewStartPos);
                                m_nStartPos = nNewStartPos -1;
                        }
@@ -960,9 +813,8 @@
                                ORowSetCacheMap::iterator aCacheIter = 
m_aCacheIterators.begin();
                                for(;aCacheIter != 
m_aCacheIterators.end();++aCacheIter)
                                {
-                                       if (    aCacheIter->second.aIterator != 
m_pMatrix->end()
-                                               &&      
aCacheIter->second.aIterator != m_aInsertRow
-                                               && !m_bInserted && !m_bModified 
)
+                                       if ( 
!aCacheIter->second.pRowSet->isInsertRow() 
+                                               && aCacheIter->second.aIterator 
!= m_pMatrix->end() && !m_bInserted && !m_bModified )
                                        {
                                                sal_Int16 nDist = 
(aCacheIter->second.aIterator - m_pMatrix->begin());
                                                if ( nDist >= nNewDist )
@@ -1053,7 +905,7 @@
                        // the rows behind this can be reused
                        ORowSetMatrix::iterator aIter = m_pMatrix->begin();
                        OSL_ENSURE((nNewStartPos - m_nStartPos - 1) < 
(sal_Int32)m_pMatrix->size(),"Position is behind end()!");
-                       ORowSetMatrix::iterator aEnd  = m_pMatrix->begin() + 
nNewStartPos - m_nStartPos - 1;
+                       ORowSetMatrix::iterator aEnd  = m_pMatrix->begin() + 
(nNewStartPos - m_nStartPos - 1);
 
                        sal_Int32 nPos = m_nStartPos + m_nFetchSize + 1;
                        sal_Bool bCheck = m_pCacheSet->absolute(nPos);
@@ -1349,12 +1201,6 @@
        return m_bDeleted;
 }
 // -------------------------------------------------------------------------
-Reference< XInterface > ORowSetCache::getStatement(  )
-{
-       return m_pCacheSet->getStatement();
-}
-// -------------------------------------------------------------------------
-
 // XResultSetUpdate
 sal_Bool ORowSetCache::insertRow(  )
 {
@@ -1392,38 +1238,16 @@
 // -------------------------------------------------------------------------
 void ORowSetCache::cancelRowModification()
 {
-       resetInsertRow(sal_False);
-
        // clear the insertrow references       -> implies that the current row 
of the rowset changes as well
        ORowSetCacheMap::iterator aCacheIter = m_aCacheIterators.begin();
-       for(;aCacheIter != m_aCacheIterators.end();++aCacheIter)
-       {
-               if ( aCacheIter->second.aIterator != m_pMatrix->end() )
+       ORowSetCacheMap::iterator aCacheEnd = m_aCacheIterators.end();
+       for(;aCacheIter != aCacheEnd;++aCacheIter)
                {
-                       ORowSetMatrix::iterator aOldIter = 
aCacheIter->second.aIterator;
-                       if(aOldIter == m_aInsertRow)
+               if ( aCacheIter->second.pRowSet->isInsertRow() && 
aCacheIter->second.aIterator == m_aInsertRow )
                                aCacheIter->second.aIterator = m_pMatrix->end();
-               }
-       }
-}
-// -------------------------------------------------------------------------
-/*
-void ORowSetCache::updateRow(  )
-{
-       ::osl::MutexGuard aGuard( m_aRowCountMutex );
-
-       if(isAfterLast() || isBeforeFirst())
-               throw 
SQLException(DBACORE_RESSTRING(RID_STR_NO_UPDATEROW),NULL,SQLSTATE_GENERAL,1000,Any()
 );
-
-       m_pCacheSet->updateRow(*m_aInsertRow,*m_aMatrixIter,m_aUpdateTable);
-
-       clearInsertRow();
-
-       // we don't need to repositioning here refresh will do it for us
-       m_bModified = sal_False;
-       refreshRow(  );
+       } // for(;aCacheIter != aCacheEnd;++aCacheIter)
+       resetInsertRow(sal_False);
 }
-*/
 // -------------------------------------------------------------------------
 void ORowSetCache::updateRow( ORowSetMatrix::iterator& _rUpdateRow )
 {
@@ -1468,7 +1292,7 @@
                //      (*m_pMatrix)[(m_nPosition - m_nStartPos)] = NULL; // 
set the deleted row to NULL
 
 
-               for(++aPos;aPos->isValid() && aPos != m_pMatrix->end();++aPos)
+               for(++aPos;aPos != m_pMatrix->end() && aPos->isValid();++aPos)
                {
                        *(aPos-1) = *aPos;
                        (*aPos)   = NULL;
@@ -1478,6 +1302,11 @@
                --m_nPosition;
        }
 }
+// 
-----------------------------------------------------------------------------
+void ORowSetCache::clearModified(  )
+{
+       m_bModified = sal_False;
+}
 // -------------------------------------------------------------------------
 void ORowSetCache::cancelRowUpdates(  )
 {
@@ -1562,11 +1391,12 @@
 }
 
 // -------------------------------------------------------------------------
-ORowSetCacheIterator ORowSetCache::createIterator()
+ORowSetCacheIterator ORowSetCache::createIterator(ORowSetBase* _pRowSet)
 {
        ORowSetCacheIterator_Helper aHelper;
        aHelper.aIterator = m_pMatrix->end();
-       return 
ORowSetCacheIterator(m_aCacheIterators.insert(m_aCacheIterators.begin(),ORowSetCacheMap::value_type(m_aCacheIterators.size()+1,aHelper)),this);
+       aHelper.pRowSet = _pRowSet;
+       return 
ORowSetCacheIterator(m_aCacheIterators.insert(m_aCacheIterators.begin(),ORowSetCacheMap::value_type(m_aCacheIterators.size()+1,aHelper)),this,_pRowSet);
 }
 // 
-----------------------------------------------------------------------------
 void ORowSetCache::rotateCacheIterator(sal_Int16 _nDist)
@@ -1577,7 +1407,8 @@
                ORowSetCacheMap::iterator aCacheIter = 
m_aCacheIterators.begin();
                for(;aCacheIter != m_aCacheIterators.end();++aCacheIter)
                {
-                       if ( aCacheIter->second.aIterator != m_pMatrix->end() 
&& aCacheIter->second.aIterator != m_aInsertRow && !m_bInserted && !m_bModified)
+                       if ( !aCacheIter->second.pRowSet->isInsertRow() 
+                               && aCacheIter->second.aIterator != 
m_pMatrix->end() && !m_bInserted && !m_bModified )
                        {
                                sal_Int16 nDist = (aCacheIter->second.aIterator 
- m_pMatrix->begin());
                                if(nDist < _nDist)
@@ -1685,12 +1516,16 @@
 void ORowSetCache::clearInsertRow()
 {
        // we don't unbound the bookmark column
+       if ( m_aInsertRow != m_pInsertMatrix->end() && m_aInsertRow->isValid() )
+       {
        ORowSetValueVector::iterator aIter = (*m_aInsertRow)->begin()+1;
-       for(;aIter != (*m_aInsertRow)->end();++aIter)
+               ORowSetValueVector::iterator aEnd = (*m_aInsertRow)->end();
+               for(;aIter != aEnd;++aIter)
        {
                aIter->setBound(sal_False);
                aIter->setModified(sal_False);
                aIter->setNull();
+               } // for(;aIter != (*m_aInsertRow)->end();++aIter)
        }
 }
 // 
-----------------------------------------------------------------------------

File [changed]: RowSetCache.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/RowSetCache.hxx?r1=1.25&r2=1.25.72.1
Delta lines:  +5 -29
--------------------
--- RowSetCache.hxx     8 Sep 2005 10:01:59 -0000       1.25
+++ RowSetCache.hxx     20 Jan 2006 14:51:46 -0000      1.25.72.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: RowSetCache.hxx,v $
  *
- *  $Revision: 1.25 $
+ *  $Revision: 1.25.72.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 10:01:59 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:46 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -173,7 +173,6 @@
 
                void rotateCacheIterator(sal_Int16 _nDist);
                void updateValue(sal_Int32 columnIndex,const 
connectivity::ORowSetValue& x);
-               connectivity::ORowSetValue getValue(sal_Int32 columnIndex);
                // checks and set the flags isAfterLast isLast and position 
when afterlast is true
                void checkPositionFlags();
                void checkUpdateConditions(sal_Int32 columnIndex);
@@ -203,39 +202,18 @@
 
                // called from the rowset when a updateXXX was called for the 
first time
                void setUpdateIterator(const ORowSetMatrix::iterator& 
_rOriginalRow);
-               ORowSetCacheIterator createIterator();
+               ORowSetCacheIterator createIterator(ORowSetBase* _pRowSet);
                // sets the size of the matrix
                void setMaxRowSize(sal_Int32 _nSize);
 
                TORowSetOldRowHelperRef registerOldRow();
                void deregisterOldRow(const TORowSetOldRowHelperRef& _rRow);
 
+               void clearModified();
                
        // ::com::sun::star::sdbc::XResultSetMetaDataSupplier
                ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XResultSetMetaData > getMetaData(  );
 
-       // ::com::sun::star::sdbc::XRow
-               sal_Bool wasNull(  );
-               ::rtl::OUString getString( sal_Int32 columnIndex );
-               sal_Bool getBoolean( sal_Int32 columnIndex );
-               sal_Int8 getByte( sal_Int32 columnIndex );
-               sal_Int16 getShort( sal_Int32 columnIndex );
-               sal_Int32 getInt( sal_Int32 columnIndex );
-               sal_Int64 getLong( sal_Int32 columnIndex );
-               float getFloat( sal_Int32 columnIndex );
-               double getDouble( sal_Int32 columnIndex );
-               ::com::sun::star::uno::Sequence< sal_Int8 > getBytes( sal_Int32 
columnIndex );
-               ::com::sun::star::util::Date getDate( sal_Int32 columnIndex );
-               ::com::sun::star::util::Time getTime( sal_Int32 columnIndex );
-               ::com::sun::star::util::DateTime getTimestamp( sal_Int32 
columnIndex );
-               ::com::sun::star::uno::Reference< 
::com::sun::star::io::XInputStream > getBinaryStream( sal_Int32 columnIndex );
-               ::com::sun::star::uno::Reference< 
::com::sun::star::io::XInputStream > getCharacterStream( sal_Int32 columnIndex 
);
-               ::com::sun::star::uno::Any getObject( sal_Int32 columnIndex, 
const ::com::sun::star::uno::Reference< 
::com::sun::star::container::XNameAccess >& typeMap );
-               ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef 
> getRef( sal_Int32 columnIndex );
-               ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob 
> getBlob( sal_Int32 columnIndex );
-               ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob 
> getClob( sal_Int32 columnIndex );
-               ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XArray > getArray( sal_Int32 columnIndex );
-
        // ::com::sun::star::sdbcx::XRowLocate
                ::com::sun::star::uno::Any getBookmark(  );
                sal_Bool moveToBookmark( const ::com::sun::star::uno::Any& 
bookmark );
@@ -245,7 +223,6 @@
                sal_Int32 hashBookmark( const ::com::sun::star::uno::Any& 
bookmark );
 
        // ::com::sun::star::sdbc::XRowUpdate
-               void updateNull( sal_Int32 columnIndex );
                void updateBinaryStream( sal_Int32 columnIndex, const 
::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, 
sal_Int32 length );
                void updateCharacterStream( sal_Int32 columnIndex, const 
::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, 
sal_Int32 length );
                void updateObject( sal_Int32 columnIndex, const 
::com::sun::star::uno::Any& x );
@@ -269,7 +246,6 @@
                sal_Bool rowUpdated(  );
                sal_Bool rowInserted(  );
                sal_Bool rowDeleted(  );
-               ::com::sun::star::uno::Reference< 
::com::sun::star::uno::XInterface > getStatement(  );
 
        // ::com::sun::star::sdbc::XResultSetUpdate
                sal_Bool insertRow();

File [changed]: RowSetCacheIterator.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/RowSetCacheIterator.cxx?r1=1.10&r2=1.10.4.1
Delta lines:  +23 -5
--------------------
--- RowSetCacheIterator.cxx     12 Jan 2006 17:20:39 -0000      1.10
+++ RowSetCacheIterator.cxx     20 Jan 2006 14:51:47 -0000      1.10.4.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: RowSetCacheIterator.cxx,v $
  *
- *  $Revision: 1.10 $
+ *  $Revision: 1.10.4.1 $
  *
- *  last change: $Author: rt $ $Date: 2006/01/12 17:20:39 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:47 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -38,11 +38,16 @@
 #ifndef DBACCESS_CORE_API_ROWSETCACHE_HXX
 #include "RowSetCache.hxx"
 #endif
+#ifndef DBACCESS_CORE_API_ROWSETBASE_HXX
+#include "RowSetBase.hxx"
+#endif
+
 
 using namespace dbaccess;
 ORowSetCacheIterator::ORowSetCacheIterator(const ORowSetCacheIterator& _rRH)
 : m_pCache(_rRH.m_pCache)
 , m_aIter(_rRH.m_aIter)
+,m_pRowSet(_rRH.m_pRowSet)
 {
 }
 // 
-----------------------------------------------------------------------------
@@ -58,6 +63,7 @@
 
        m_pCache = _rRH.m_pCache;
        m_aIter  = _rRH.m_aIter;
+       m_pRowSet = _rRH.m_pRowSet;
 
        return *this;
 }
@@ -75,7 +81,7 @@
 // 
-----------------------------------------------------------------------------
 const ORowSetRow& ORowSetCacheIterator::operator *() const
 {
-       if ( m_aIter->second.aIterator == m_pCache->m_pMatrix->end() )
+       if ( !m_pRowSet->isInsertRow() && m_aIter->second.aIterator == 
m_pCache->m_pMatrix->end() )
        {
                OSL_ENSURE(m_aIter->second.aBookmark.hasValue(),"bookmark has 
no value!");
                m_pCache->moveToBookmark(m_aIter->second.aBookmark);
@@ -91,7 +97,7 @@
 // 
-----------------------------------------------------------------------------
 const ORowSetMatrix::iterator& ORowSetCacheIterator::operator ->() const
 {
-       if ( m_aIter->second.aIterator == m_pCache->m_pMatrix->end() )
+       if ( !m_pRowSet->isInsertRow() && m_aIter->second.aIterator == 
m_pCache->m_pMatrix->end() )
        {
                OSL_ENSURE(m_aIter->second.aBookmark.hasValue(),"bookmark has 
no value!");
                m_pCache->moveToBookmark(m_aIter->second.aBookmark);
@@ -122,5 +128,17 @@
 // 
-----------------------------------------------------------------------------
 sal_Bool ORowSetCacheIterator::isNull() const
 {
-       return !m_pCache || m_aIter == m_pCache->m_aCacheIterators.end() || 
m_aIter->second.aIterator == m_pCache->m_pMatrix->end();
+       sal_Bool bRet = !m_pCache || !m_pRowSet || m_aIter == 
m_pCache->m_aCacheIterators.end();
+       if ( !bRet )
+       {
+               ORowSetCacheIterator_Helper aHelper = m_aIter->second;
+               bRet = ( m_pRowSet->isInsertRow()
+                       ? 
+                       m_aIter->second.aIterator == 
m_pCache->m_pInsertMatrix->end()
+                       :
+                       m_aIter->second.aIterator == m_pCache->m_pMatrix->end()
+               );
+       }
+       return  bRet;
+               
 }

File [changed]: RowSetCacheIterator.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/RowSetCacheIterator.hxx?r1=1.7&r2=1.7.72.1
Delta lines:  +9 -5
-------------------
--- RowSetCacheIterator.hxx     8 Sep 2005 10:02:41 -0000       1.7
+++ RowSetCacheIterator.hxx     20 Jan 2006 14:51:48 -0000      1.7.72.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: RowSetCacheIterator.hxx,v $
  *
- *  $Revision: 1.7 $
+ *  $Revision: 1.7.72.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 10:02:41 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:48 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -44,10 +44,12 @@
 
 namespace dbaccess
 {
+       class ORowSetBase;
        typedef struct
        {
                ORowSetMatrix::iterator         aIterator;
                ::com::sun::star::uno::Any      aBookmark;
+               ORowSetBase*                            pRowSet;
        } ORowSetCacheIterator_Helper;
        
        
DECLARE_STL_STDKEY_MAP(sal_Int32,ORowSetCacheIterator_Helper,ORowSetCacheMap);
@@ -58,14 +60,16 @@
                friend class ORowSetCache;
                ORowSetCacheMap::iterator       m_aIter;
                ORowSetCache*                           m_pCache;
+               ORowSetBase*                            m_pRowSet;
        protected:
-               ORowSetCacheIterator(const ORowSetCacheMap::iterator& 
_rIter,ORowSetCache* _pCache) 
+               ORowSetCacheIterator(const ORowSetCacheMap::iterator& 
_rIter,ORowSetCache* _pCache,ORowSetBase* _pRowSet) 
                        : m_aIter(_rIter)
                        ,m_pCache(_pCache)
+                       ,m_pRowSet(_pRowSet)
                {
                }
        public:
-               ORowSetCacheIterator() :m_pCache(NULL),m_aIter(){}
+               ORowSetCacheIterator() 
:m_pCache(NULL),m_aIter(),m_pRowSet(NULL){}
                ORowSetCacheIterator(const ORowSetCacheIterator& _rRH);
                ORowSetCacheIterator& operator =(const ORowSetCacheIterator&);
 

Directory: /dba/dbaccess/source/core/dataaccess/
================================================

File [changed]: datasource.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/dataaccess/datasource.cxx?r1=1.65&r2=1.65.14.1
Delta lines:  +5 -5
-------------------
--- datasource.cxx      21 Dec 2005 13:35:18 -0000      1.65
+++ datasource.cxx      20 Jan 2006 14:51:50 -0000      1.65.14.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: datasource.cxx,v $
  *
- *  $Revision: 1.65 $
+ *  $Revision: 1.65.14.1 $
  *
- *  last change: $Author: obo $ $Date: 2005/12/21 13:35:18 $
+ *  last change: $Author: fs $ $Date: 2006/01/20 14:51:50 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -584,7 +584,7 @@
                                                aRet.push_back( 
*pDataSourceSetting );
                                        }
                                }
-                               
+                               if ( !aRet.empty() )
                                return Sequence< PropertyValue 
>(&(*aRet.begin()),aRet.size()); 
                        }
                        return Sequence< PropertyValue >();




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to