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]

Reply via email to