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]
