User: rt      
Date: 2008-01-30 08:28:39+0000
Modified:
   dba/dbaccess/source/core/api/KeySet.cxx

Log:
 INTEGRATION: CWS dba24d (1.67.136); FILE MERGED
 2007/12/01 13:38:58 fs 1.67.136.2: RESYNC: (1.67-1.68); FILE MERGED
 2007/11/06 09:19:38 oj 1.67.136.1: #i51965# use scale for update

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.68&r2=1.69
Delta lines:  +14 -12
---------------------
--- KeySet.cxx  2007-11-21 15:31:36+0000        1.68
+++ KeySet.cxx  2008-01-30 08:28:36+0000        1.69
@@ -408,9 +408,10 @@
                if(m_aKeyIter != m_aKeyMap.end())
                {
                        connectivity::ORowVector< ORowSetValue >::iterator 
aKeyIter = m_aKeyIter->second.first->begin();
-                       for(sal_uInt16 j = 0;aKeyIter != 
m_aKeyIter->second.first->end();++aKeyIter,++j)
+            SelectColumnsMetaData::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
+                       for(sal_uInt16 j = 0;aKeyIter != 
m_aKeyIter->second.first->end();++aKeyIter,++j,++aPosIter)
                        {
-                               setParameter(i++,xParameter,*aKeyIter);
+                               
setParameter(i++,xParameter,*aKeyIter,aPosIter->second.nType,aPosIter->second.nScale);
                        }
                }
        }
@@ -550,12 +551,11 @@
        sal_uInt16 j = 0;
        for(;aIter != m_pColumnNames->end();++aIter,++j)
        {
-
                sal_Int32 nPos = aIter->second.nPosition;
                if((*_rInsertRow)[nPos].isModified())
                {
                        
(*_rInsertRow)[nPos].setSigned((*_rOrginalRow)[nPos].isSigned());
-                       
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aIter->second.nType);
+                       
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aIter->second.nType,aIter->second.nScale);
                }
        }
        // and then the values of the where condition
@@ -563,7 +563,7 @@
        j = 0;
        for(;aIter != (*m_pKeyColumnNames).end();++aIter,++i,++j)
        {
-               
setParameter(i,xParameter,(*_rOrginalRow)[aIter->second.nPosition],aIter->second.nType);
+               
setParameter(i,xParameter,(*_rOrginalRow)[aIter->second.nPosition],aIter->second.nType,aIter->second.nScale);
        }
 
        // now we have to set the index values
@@ -571,7 +571,7 @@
        j = 0;
        for(;aIdxColIter != aIndexColumnPositions.end();++aIdxColIter,++i,++j)
        {
-               
setParameter(i,xParameter,(*_rOrginalRow)[*aIdxColIter],(*_rOrginalRow)[*aIdxColIter].getTypeKind());
+               
setParameter(i,xParameter,(*_rOrginalRow)[*aIdxColIter],(*_rOrginalRow)[*aIdxColIter].getTypeKind(),aIter->second.nScale);
        }
 
        m_bUpdated = xPrep->executeUpdate() > 0;
@@ -635,7 +635,7 @@
                        else
                        {
                                
(*_rInsertRow)[nPos].setSigned(m_aSignedFlags[nPos-1]);
-                               
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aPosIter->second.nType);
+                               
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aPosIter->second.nType,aPosIter->second.nScale);
                        }
                }
        }
@@ -838,14 +838,14 @@
        i = 1;
        for(;aIter != (*m_pKeyColumnNames).end();++aIter,++i)
        {
-               
setParameter(i,xParameter,(*_rDeleteRow)[aIter->second.nPosition],aIter->second.nType);
+               
setParameter(i,xParameter,(*_rDeleteRow)[aIter->second.nPosition],aIter->second.nType,aIter->second.nScale);
        }
 
        // now we have to set the index values
        ::std::vector<sal_Int32>::iterator aIdxColIter = 
aIndexColumnPositions.begin();
        for(;aIdxColIter != aIndexColumnPositions.end();++aIdxColIter,++i)
        {
-               
setParameter(i,xParameter,(*_rDeleteRow)[*aIdxColIter],(*_rDeleteRow)[*aIdxColIter].getTypeKind());
+               
setParameter(i,xParameter,(*_rDeleteRow)[*aIdxColIter],(*_rDeleteRow)[*aIdxColIter].getTypeKind(),aIter->second.nScale);
        }
 
        m_bDeleted = xPrep->executeUpdate() > 0;
@@ -1076,10 +1076,10 @@
        connectivity::ORowVector< ORowSetValue >::const_iterator aIter = 
m_aKeyIter->second.first->begin();
        SelectColumnsMetaData::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
        for(;aPosIter != (*m_pKeyColumnNames).end();++aPosIter,++aIter,++nPos)
-               setParameter(nPos,xParameter,*aIter);
+               
setParameter(nPos,xParameter,*aIter,aPosIter->second.nType,aPosIter->second.nScale);
        aPosIter = (*m_pForeignColumnNames).begin();
        for(;aPosIter != 
(*m_pForeignColumnNames).end();++aPosIter,++aIter,++nPos)
-               setParameter(nPos,xParameter,*aIter);
+               
setParameter(nPos,xParameter,*aIter,aPosIter->second.nType,aPosIter->second.nScale);
 
        m_xSet = m_xStatement->executeQuery();
        OSL_ENSURE(m_xSet.is(),"No resultset form statement!");
@@ -1331,11 +1331,13 @@
                                {
                                        sal_Int32 nType = 0;
                                        
xColumnProp->getPropertyValue(PROPERTY_TYPE)    >>= nType;
+                    sal_Int32 nScale = 0;
+                    xColumnProp->getPropertyValue(PROPERTY_SCALE)      >>= 
nScale;
                     ::rtl::OUString sColumnDefault;
                     if ( 
xColumnProp->getPropertySetInfo()->hasPropertyByName(PROPERTY_DEFAULTVALUE) )
                         xColumnProp->getPropertyValue(PROPERTY_DEFAULTVALUE) 
>>= sColumnDefault;
 
-                    _rColumnNames[sRealName] = SelectColumnDescription( nPos, 
nType, sColumnDefault );
+                    _rColumnNames[sRealName] = SelectColumnDescription( nPos, 
nType,nScale, sColumnDefault );
                                        break;
                                }
                        }




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

Reply via email to