Tag: cws_src680_dba30
User: fs      
Date: 05/10/13 07:49:03

Modified:
 /dba/dbaccess/source/core/api/
  RowSet.cxx

Log:
 RESYNC: (1.135-1.137); FILE MERGED

File Changes:

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

File [changed]: RowSet.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/RowSet.cxx?r1=1.133.12.3&r2=1.133.12.4
Delta lines:  +7 -4
-------------------
--- RowSet.cxx  30 Sep 2005 06:00:14 -0000      1.133.12.3
+++ RowSet.cxx  13 Oct 2005 14:49:01 -0000      1.133.12.4
@@ -1074,7 +1074,7 @@
        ::connectivity::checkDisposed(ORowSet_BASE1::rBHelper.bDisposed);
        // not allowed when standing on insert row
        ::osl::ResettableMutexGuard aGuard( *m_pMutex );
-       if(!m_pCache || m_nResultSetConcurrency == 
ResultSetConcurrency::READ_ONLY || m_bNew)
+       if ( !m_pCache || m_nResultSetConcurrency == 
ResultSetConcurrency::READ_ONLY || m_bNew || ((m_pCache->m_nPrivileges & 
Privilege::UPDATE ) != Privilege::UPDATE) )
                throwFunctionSequenceException(*this);
 
        if(m_bModified)
@@ -1118,7 +1118,7 @@
        // after the last row
        // stands on the insert row
        // the concurrency is read only
-       if(!m_pCache || m_bBeforeFirst || m_bAfterLast || m_bNew || 
m_nResultSetConcurrency == ResultSetConcurrency::READ_ONLY)
+       if(!m_pCache || m_bBeforeFirst || m_bAfterLast || m_bNew || 
m_nResultSetConcurrency == ResultSetConcurrency::READ_ONLY || 
((m_pCache->m_nPrivileges & Privilege::DELETE ) != Privilege::DELETE))
                throwFunctionSequenceException(*this);
 
        // this call position the cache indirect
@@ -1138,7 +1138,7 @@
                notifyClonesRowDeleted(m_aBookmark);
 
                m_aBookmark             = Any();
-               m_aCurrentRow   = ORowSetCacheIterator();
+               m_aCurrentRow   = m_pCache->getEnd();
                m_aCurrentRow.setBookmark(Any());
 
                ORowSetNotifier aNotifier( this );
@@ -1276,6 +1276,9 @@
 
        ::osl::ResettableMutexGuard aGuard( *m_pMutex );
        checkPositioningAllowed();
+       if ((m_pCache->m_nPrivileges & Privilege::INSERT ) != Privilege::INSERT)
+               throwFunctionSequenceException(*this);
+
 
        if(notifyAllListenersCursorBeforeMove(aGuard))
        {
@@ -2752,7 +2755,7 @@
        if(compareBookmarks(_rBookmark,m_aBookmark) == 0)
        {
                m_aBookmark             = Any();
-               m_aCurrentRow   = ORowSetCacheIterator();
+               m_aCurrentRow   = m_pCache->getEnd();
                m_aCurrentRow.setBookmark(Any());
        }
 }




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

Reply via email to