Tag: cws_src680_dba30 User: fs Date: 06/05/08 04:17:14 Modified: /dba/dbaccess/source/core/api/ KeySet.cxx
Log: RESYNC: (1.59-1.60); FILE MERGED File Changes: Directory: /dba/dbaccess/source/core/api/ ========================================= File [changed]: KeySet.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/KeySet.cxx?r1=1.59.16.2&r2=1.59.16.3 Delta lines: +19 -12 --------------------- --- KeySet.cxx 2 Jan 2006 09:17:06 -0000 1.59.16.2 +++ KeySet.cxx 8 May 2006 11:17:11 -0000 1.59.16.3 @@ -574,10 +574,8 @@ m_aKeyIter = m_aKeyMap.find(::comphelper::getINT32((*_rInsertRow)[0].getAny())); OSL_ENSURE(m_aKeyIter != m_aKeyMap.end(),"New inserted row not found!"); m_aKeyIter->second.second = 2; - connectivity::ORowVector< ORowSetValue >::iterator aIter = m_aKeyIter->second.first->begin(); - OColumnNamePos::const_iterator aPosIter = (*m_pKeyColumnNames).begin(); - for(;aPosIter != (*m_pKeyColumnNames).end();++aPosIter,++aIter) - *aIter = (*_rInsertRow)[aPosIter->second.first]; + + copyRowValue(_rInsertRow,m_aKeyIter->second.first); } } // ------------------------------------------------------------------------- @@ -735,11 +733,8 @@ if ( m_bInserted ) { ORowSetRow aKeyRow = new connectivity::ORowVector< ORowSetValue >((*m_pKeyColumnNames).size()); - connectivity::ORowVector< ORowSetValue >::iterator aIter = aKeyRow->begin(); - OColumnNamePos::const_iterator aPosIter = (*m_pKeyColumnNames).begin(); - for(;aPosIter != (*m_pKeyColumnNames).end();++aPosIter,++aIter) - *aIter = (*_rInsertRow)[aPosIter->second.first]; + copyRowValue(_rInsertRow,aKeyRow); OKeySetMatrix::iterator aKeyIter = m_aKeyMap.end(); --aKeyIter; @@ -747,6 +742,18 @@ // now we set the bookmark for this row (*_rInsertRow)[0] = makeAny((sal_Int32)m_aKeyIter->first); } +} +// ----------------------------------------------------------------------------- +void OKeySet::copyRowValue(const ORowSetRow& _rInsertRow,ORowSetRow& _rKeyRow) +{ + connectivity::ORowVector< ORowSetValue >::iterator aIter = _rKeyRow->begin(); + OColumnNamePos::const_iterator aPosIter = (*m_pKeyColumnNames).begin(); + OColumnNamePos::const_iterator aPosEnd = (*m_pKeyColumnNames).end(); + for(;aPosIter != aPosEnd;++aPosIter,++aIter) + { + *aIter = (*_rInsertRow)[aPosIter->second.first]; + aIter->setTypeKind(aPosIter->second.second.first); + } } // ------------------------------------------------------------------------- void SAL_CALL OKeySet::deleteRow(const ORowSetRow& _rDeleteRow,const connectivity::OSQLTable& _xTable ) throw(SQLException, RuntimeException) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
