Tag: cws_src680_qiq
User: fs      
Date: 06/06/16 07:16:07

Modified:
 /dba/dbaccess/source/core/api/
  KeySet.cxx, KeySet.hxx, RowSetCache.cxx

Log:
 during #i51143#: replaced TTypeDefaultValuePair/TPositionTypePair with struct 
with named members - this is much more readable than ::std::pair< ..., 
::std::pair< ..., ... > >

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.60.2.1&r2=1.60.2.2
Delta lines:  +42 -42
---------------------
--- KeySet.cxx  24 May 2006 06:40:19 -0000      1.60.2.1
+++ KeySet.cxx  16 Jun 2006 14:16:03 -0000      1.60.2.2
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: KeySet.cxx,v $
  *
- *  $Revision: 1.60.2.1 $
+ *  $Revision: 1.60.2.2 $
  *
- *  last change: $Author: fs $ $Date: 2006/05/24 06:40:19 $
+ *  last change: $Author: fs $ $Date: 2006/06/16 14:16:03 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -188,8 +188,8 @@
 
        Reference<XDatabaseMetaData> xMeta = m_xConnection->getMetaData();
        bool bCase = (xMeta.is() && xMeta->storesMixedCaseQuotedIdentifiers()) 
? true : false;
-       m_pKeyColumnNames = new OColumnNamePos(bCase);
-       m_pColumnNames = new OColumnNamePos(bCase);
+       m_pKeyColumnNames = new SelectColumnsMetaData(bCase);
+       m_pColumnNames = new SelectColumnsMetaData(bCase);
 
        Reference<XNameAccess> xKeyColumns      = getKeyColumns();
        Reference<XColumnsSupplier> xSup(m_xComposer,UNO_QUERY);
@@ -198,7 +198,7 @@
        
::dbaccess::getColumnPositions(xSup->getColumns(),xKeyColumns,m_sUpdateTableName,(*m_pKeyColumnNames));
        
::dbaccess::getColumnPositions(xSup->getColumns(),xSourceColumns,m_sUpdateTableName,(*m_pColumnNames));
 
-       OColumnNamePos::const_iterator aPosIter = (*m_pKeyColumnNames).begin();
+       SelectColumnsMetaData::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
        for(;aPosIter != (*m_pKeyColumnNames).end();++aPosIter)
        {
                if(xSourceColumns->hasByName(aPosIter->first))
@@ -235,7 +235,7 @@
        
::dbtools::qualifiedNameComponents(xMetaData,m_sUpdateTableName,sCatalog,sSchema,sTable,::dbtools::eInDataManipulation);
        sComposedName = ::dbtools::composeTableName( xMetaData, sCatalog, 
sSchema, sTable, sal_True, ::dbtools::eInDataManipulation );
        // create the where clause
-       OColumnNamePos::const_iterator aIter;
+       SelectColumnsMetaData::const_iterator aIter;
        for(aIter = (*m_pKeyColumnNames).begin();aIter != 
(*m_pKeyColumnNames).end();)
        {
                aFilter += sComposedName;
@@ -324,7 +324,7 @@
 
        ::rtl::OUString aCondition = ::rtl::OUString::createFromAscii("( ");
 
-       OColumnNamePos::const_iterator aIter = (*m_pKeyColumnNames).begin();
+       SelectColumnsMetaData::const_iterator aIter = 
(*m_pKeyColumnNames).begin();
        for(;aIter != (*m_pKeyColumnNames).end();++aIter)
        {
                aCondition += ::dbtools::quoteName( aQuote,aIter->first);
@@ -418,14 +418,14 @@
 
        sal_Int32 i = 1;
        // here we build the condition part for the update statement
-       OColumnNamePos::const_iterator aIter = m_pColumnNames->begin();
+       SelectColumnsMetaData::const_iterator aIter = m_pColumnNames->begin();
        for(;aIter != m_pColumnNames->end();++aIter,++i)
        {
                sal_Bool bSigned = m_xSetMetaData->isSigned(i);
                if(xKeyColumns.is() && xKeyColumns->hasByName(aIter->first))
                {
                        sKeyCondition += ::dbtools::quoteName( 
aQuote,aIter->first);
-                       if((*_rOrginalRow)[aIter->second.first].isNull())
+                       if((*_rOrginalRow)[aIter->second.nPosition].isNull())
                                sKeyCondition += 
::rtl::OUString::createFromAscii(" IS NULL");
                        else
                                sKeyCondition += 
::rtl::OUString::createFromAscii(" = ?");
@@ -439,19 +439,19 @@
                                if((*aIndexIter)->hasByName(aIter->first))
                                {
                                        sIndexCondition += 
::dbtools::quoteName( aQuote,aIter->first);
-                                       
if((*_rOrginalRow)[aIter->second.first].isNull())
+                                       
if((*_rOrginalRow)[aIter->second.nPosition].isNull())
                                                sIndexCondition += 
::rtl::OUString::createFromAscii(" IS NULL");
                                        else
                                        {
                                                sIndexCondition += 
::rtl::OUString::createFromAscii(" = ?");
-                                               
aIndexColumnPositions.push_back(aIter->second.first);
+                                               
aIndexColumnPositions.push_back(aIter->second.nPosition);
                                        }
                                        sIndexCondition += aAnd;
                                        break;
                                }
                        }
                }
-               if((*_rInsertRow)[aIter->second.first].isModified())
+               if((*_rInsertRow)[aIter->second.nPosition].isModified())
                {
                        sSetValues += ::dbtools::quoteName( 
aQuote,aIter->first);
                        sSetValues += aPara;
@@ -502,11 +502,11 @@
        for(;aIter != m_pColumnNames->end();++aIter,++j)
        {
 
-               sal_Int32 nPos = aIter->second.first;
+               sal_Int32 nPos = aIter->second.nPosition;
                if((*_rInsertRow)[nPos].isModified())
                {
                        
(*_rInsertRow)[nPos].setSigned((*_rOrginalRow)[nPos].isSigned());
-                       
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aIter->second.second.first);
+                       
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aIter->second.nType);
                }
        }
        // and then the values of the where condition
@@ -514,7 +514,7 @@
        j = 0;
        for(;aIter != (*m_pKeyColumnNames).end();++aIter,++i,++j)
        {
-               
setParameter(i,xParameter,(*_rOrginalRow)[aIter->second.first],aIter->second.second.first);
+               
setParameter(i,xParameter,(*_rOrginalRow)[aIter->second.nPosition],aIter->second.nType);
        }
 
        // now we have to set the index values
@@ -552,12 +552,12 @@
        ::rtl::OUString aQuote = getIdentifierQuoteString();
     static ::rtl::OUString aComma(RTL_CONSTASCII_USTRINGPARAM(","));
 
-       OColumnNamePos::const_iterator aIter = m_pColumnNames->begin();
+       SelectColumnsMetaData::const_iterator aIter = m_pColumnNames->begin();
        sal_Int32 j = 1;
     sal_Bool bModified = sal_False;
        for(;aIter != m_pColumnNames->end();++aIter,++j)
        {
-               if((*_rInsertRow)[aIter->second.first].isModified())
+               if((*_rInsertRow)[aIter->second.nPosition].isModified())
                {
                        aSql += ::dbtools::quoteName( aQuote,aIter->first);
                        aSql += aComma;
@@ -576,11 +576,11 @@
        Reference< XPreparedStatement > 
xPrep(m_xConnection->prepareStatement(aSql));
        Reference< XParameters > xParameter(xPrep,UNO_QUERY);
 
-       OColumnNamePos::const_iterator aPosIter = m_pColumnNames->begin();
+       SelectColumnsMetaData::const_iterator aPosIter = 
m_pColumnNames->begin();
        sal_uInt16 k = 0;
        for(sal_Int32 i = 1;aPosIter != m_pColumnNames->end();++aPosIter)
        {
-               sal_Int32 nPos = aPosIter->second.first;
+               sal_Int32 nPos = aPosIter->second.nPosition;
                if((*_rInsertRow)[nPos].isModified())
                {
                        if((*_rInsertRow)[nPos].isNull())
@@ -588,7 +588,7 @@
                        else
                        {
                                
(*_rInsertRow)[nPos].setSigned(m_aSignedFlags[nPos-1]);
-                               
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aPosIter->second.second.first);
+                               
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aPosIter->second.nType);
                        }
                }
        }
@@ -598,11 +598,11 @@
        if ( m_bInserted )
        {
         // first insert the default values into the insertrow
-        OColumnNamePos::const_iterator aIter = m_pColumnNames->begin();
+        SelectColumnsMetaData::const_iterator aIter = m_pColumnNames->begin();
            for(;aIter != m_pColumnNames->end();++aIter)
            {
-            if ( !(*_rInsertRow)[aIter->second.first].isModified() )
-                           (*_rInsertRow)[aIter->second.first] = 
aIter->second.second.second;
+            if ( !(*_rInsertRow)[aIter->second.nPosition].isModified() )
+                           (*_rInsertRow)[aIter->second.nPosition] = 
aIter->second.sDefaultValue;
         }
                try
                {
@@ -623,9 +623,9 @@
 #if OSL_DEBUG_LEVEL > 1
                                                ::rtl::OUString sColumnName( 
xMd->getColumnName(i) );
 #endif
-                                               OColumnNamePos::iterator aFind 
= m_pKeyColumnNames->find(*aAutoIter);
+                                               SelectColumnsMetaData::iterator 
aFind = m_pKeyColumnNames->find(*aAutoIter);
                                                if ( aFind != 
m_pKeyColumnNames->end() )
-                            
(*_rInsertRow)[aFind->second.first].fill(i,aFind->second.second.first,xRow);
+                            
(*_rInsertRow)[aFind->second.nPosition].fill(i,aFind->second.nType,xRow);
                                        }
                                        bAutoValuesFetched = sal_True;
                                }
@@ -676,9 +676,9 @@
                                        for (sal_Int32 i=1;aAutoIter != 
aAutoEnd; ++aAutoIter,++i)
                                        {
                                                // we will only fetch values 
which are keycolumns
-                                               OColumnNamePos::iterator aFind 
= m_pKeyColumnNames->find(*aAutoIter);
+                                               SelectColumnsMetaData::iterator 
aFind = m_pKeyColumnNames->find(*aAutoIter);
                                                if(aFind != 
m_pKeyColumnNames->end())
-                            
(*_rInsertRow)[aFind->second.first].fill(i,aFind->second.second.first,xRow);
+                            
(*_rInsertRow)[aFind->second.nPosition].fill(i,aFind->second.nType,xRow);
                                        }
                                }
                                ::comphelper::disposeComponent(xStatement);
@@ -706,12 +706,12 @@
 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();
+       SelectColumnsMetaData::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
+    SelectColumnsMetaData::const_iterator aPosEnd = (*m_pKeyColumnNames).end();
        for(;aPosIter != aPosEnd;++aPosIter,++aIter)
     {
-               *aIter = (*_rInsertRow)[aPosIter->second.first];
-        aIter->setTypeKind(aPosIter->second.second.first);
+               *aIter = (*_rInsertRow)[aPosIter->second.nPosition];
+        aIter->setTypeKind(aPosIter->second.nType);
     }
 }
 // -------------------------------------------------------------------------
@@ -742,7 +742,7 @@
 
        ::rtl::OUString aColumnName,sIndexCondition;
        ::std::vector<sal_Int32> aIndexColumnPositions;
-       OColumnNamePos::const_iterator aIter = m_pColumnNames->begin();
+       SelectColumnsMetaData::const_iterator aIter = m_pColumnNames->begin();
 
        sal_Int32 i = 1;
        for(i = 1;aIter != m_pColumnNames->end();++aIter,++i)
@@ -750,7 +750,7 @@
                if(xKeyColumns.is() && xKeyColumns->hasByName(aIter->first))
                {
                        aSql += ::dbtools::quoteName( aQuote,aIter->first);
-                       if((*_rDeleteRow)[aIter->second.first].isNull())
+                       if((*_rDeleteRow)[aIter->second.nPosition].isNull())
                        {
                                OSL_ENSURE(0,"can a primary key be null");
                                aSql += ::rtl::OUString::createFromAscii(" IS 
NULL");
@@ -767,12 +767,12 @@
                                if((*aIndexIter)->hasByName(aIter->first))
                                {
                                        sIndexCondition += 
::dbtools::quoteName( aQuote,aIter->first);
-                                       
if((*_rDeleteRow)[aIter->second.first].isNull())
+                                       
if((*_rDeleteRow)[aIter->second.nPosition].isNull())
                                                sIndexCondition += 
::rtl::OUString::createFromAscii(" IS NULL");
                                        else
                                        {
                                                sIndexCondition += 
::rtl::OUString::createFromAscii(" = ?");
-                                               
aIndexColumnPositions.push_back(aIter->second.first);
+                                               
aIndexColumnPositions.push_back(aIter->second.nPosition);
                                        }
                                        sIndexCondition += aAnd;
 
@@ -792,7 +792,7 @@
        i = 1;
        for(;aIter != (*m_pKeyColumnNames).end();++aIter,++i)
        {
-               
setParameter(i,xParameter,(*_rDeleteRow)[aIter->second.first],aIter->second.second.first);
+               
setParameter(i,xParameter,(*_rDeleteRow)[aIter->second.nPosition],aIter->second.nType);
        }
 
        // now we have to set the index values
@@ -1028,7 +1028,7 @@
        xParameter->clearParameters();
        sal_Int32 nPos=1;
        connectivity::ORowVector< ORowSetValue >::const_iterator aIter = 
m_aKeyIter->second.first->begin();
-       OColumnNamePos::const_iterator aPosIter = (*m_pKeyColumnNames).begin();
+       SelectColumnsMetaData::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
        for(;aPosIter != (*m_pKeyColumnNames).end();++aPosIter,++aIter,++nPos)
                setParameter(nPos,xParameter,*aIter);
 
@@ -1048,11 +1048,11 @@
        {
                ORowSetRow aKeyRow = new connectivity::ORowVector< ORowSetValue 
>((*m_pKeyColumnNames).size());
                connectivity::ORowVector< ORowSetValue >::iterator aIter = 
aKeyRow->begin();
-               OColumnNamePos::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
+               SelectColumnsMetaData::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
                for(;aPosIter != (*m_pKeyColumnNames).end();++aPosIter,++aIter)
                {
-                       const TPositionTypePair& rPair = aPosIter->second;
-            aIter->fill(rPair.first,rPair.second.first,m_xDriverRow);
+                       const SelectColumnDescription& rColDesc = 
aPosIter->second;
+            aIter->fill(rColDesc.nPosition,rColDesc.nType,m_xDriverRow);
                }
                m_aKeyIter = 
m_aKeyMap.insert(OKeySetMatrix::value_type(m_aKeyMap.rbegin()->first+1,OKeySetValue(aKeyRow,0))).first;
        }
@@ -1243,7 +1243,7 @@
        void getColumnPositions(const Reference<XNameAccess>& _rxQueryColumns,
                                                        const 
Reference<XNameAccess>& _rxColumns,
                                                        const ::rtl::OUString& 
_rsUpdateTableName,
-                                                       OColumnNamePos& 
_rColumnNames)
+                                                       SelectColumnsMetaData& 
_rColumnNames)
        {
                // get the real name of the columns
                Sequence< ::rtl::OUString> 
aSelNames(_rxQueryColumns->getElementNames());
@@ -1276,7 +1276,7 @@
                     if ( 
xColumnProp->getPropertySetInfo()->hasPropertyByName(PROPERTY_DEFAULTVALUE) )
                         xColumnProp->getPropertyValue(PROPERTY_DEFAULTVALUE) 
>>= sColumnDefault;
 
-                    _rColumnNames[sRealName] = 
TPositionTypePair(nPos,TTypeDefaultValuePair(nType,sColumnDefault));
+                    _rColumnNames[sRealName] = SelectColumnDescription( nPos, 
nType, sColumnDefault );
                                        break;
                                }
                        }

File [changed]: KeySet.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/KeySet.hxx?r1=1.24&r2=1.24.2.1
Delta lines:  +27 -9
--------------------
--- KeySet.hxx  4 May 2006 08:36:03 -0000       1.24
+++ KeySet.hxx  16 Jun 2006 14:16:04 -0000      1.24.2.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: KeySet.hxx,v $
  *
- *  $Revision: 1.24 $
+ *  $Revision: 1.24.2.1 $
  *
- *  last change: $Author: rt $ $Date: 2006/05/04 08:36:03 $
+ *  last change: $Author: fs $ $Date: 2006/06/16 14:16:04 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -57,15 +57,33 @@
 
 namespace dbaccess
 {
-    typedef ::std::pair<sal_Int32,::rtl::OUString>             
TTypeDefaultValuePair;
-       typedef ::std::pair<sal_Int32,TTypeDefaultValuePair>    
TPositionTypePair;
-       DECLARE_STL_MAP(::rtl::OUString, 
TPositionTypePair,::comphelper::UStringMixLess,OColumnNamePos);
+    struct SelectColumnDescription
+    {
+        sal_Int32       nPosition;
+        sal_Int32       nType;
+        ::rtl::OUString sDefaultValue;
+
+        SelectColumnDescription()
+            :nPosition( 0 )
+            ,nType( 0 )
+            ,sDefaultValue()
+        {
+        }
+
+        SelectColumnDescription( sal_Int32 _nPosition, sal_Int32 _nType, const 
::rtl::OUString& _rDefaultValue )
+            :nPosition( _nPosition )
+            ,nType( _nType )
+            ,sDefaultValue( _rDefaultValue )
+        {
+        }
+    };
+    typedef ::std::map< ::rtl::OUString, SelectColumnDescription, 
::comphelper::UStringMixLess >    SelectColumnsMetaData;
 
        // the elements of _rxQueryColumns must have the properties 
PROPERTY_REALNAME and PROPERTY_TABLENAME
        void getColumnPositions(const ::com::sun::star::uno::Reference< 
::com::sun::star::container::XNameAccess >& _rxQueryColumns,
                                                        const 
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& 
_rxColumns,
                                                        const ::rtl::OUString& 
_rsUpdateTableName,
-                                                       OColumnNamePos& 
_rColumnNames /* out */);
+                                                       SelectColumnsMetaData& 
_rColumnNames /* out */);
 
        typedef ::std::pair<ORowSetRow,sal_Int32> OKeySetValue;
        typedef ::std::map<sal_Int32,OKeySetValue > OKeySetMatrix;
@@ -77,8 +95,8 @@
                
                ::std::vector< ::rtl::OUString >                                
                m_aAutoColumns;  // contains all columns which are 
autoincrement ones
 
-               OColumnNamePos*                                                 
                                m_pKeyColumnNames;      // contains all key 
column names
-               OColumnNamePos*                                                 
                                m_pColumnNames;         // contains all column 
names
+               SelectColumnsMetaData*                                          
                                        m_pKeyColumnNames;      // contains all 
key column names
+               SelectColumnsMetaData*                                          
                                        m_pColumnNames;         // contains all 
column names
                connectivity::OSQLTable                                         
                        m_xTable; // reference to our table
                ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XPreparedStatement>   m_xStatement;
                ::com::sun::star::uno::Reference< 
::com::sun::star::sdbc::XResultSet>                   m_xSet;

File [changed]: RowSetCache.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/RowSetCache.cxx?r1=1.84&r2=1.84.50.1
Delta lines:  +5 -5
-------------------
--- RowSetCache.cxx     6 Feb 2006 16:54:31 -0000       1.84
+++ RowSetCache.cxx     16 Jun 2006 14:16:04 -0000      1.84.50.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: RowSetCache.cxx,v $
  *
- *  $Revision: 1.84 $
+ *  $Revision: 1.84.50.1 $
  *
- *  last change: $Author: rt $ $Date: 2006/02/06 16:54:31 $
+ *  last change: $Author: fs $ $Date: 2006/06/16 14:16:04 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -226,7 +226,7 @@
                                                        {
                                                                
Reference<XNameAccess> xSelColumns = xColSup->getColumns();
                                                                
Reference<XDatabaseMetaData> xMeta = xConnection->getMetaData();
-                                                               OColumnNamePos 
aColumnNames(xMeta.is() && xMeta->storesMixedCaseQuotedIdentifiers() ? true : 
false);
+                                                               
SelectColumnsMetaData aColumnNames(xMeta.is() && 
xMeta->storesMixedCaseQuotedIdentifiers() ? true : false);
                                                                
::dbaccess::getColumnPositions(xSelColumns,xColumns,aUpdateTableName,aColumnNames);
                                                                bAllKeysFound = 
!aColumnNames.empty() && sal_Int32(aColumnNames.size()) == 
xColumns->getElementNames().getLength();
                                                        }
@@ -293,7 +293,7 @@
                else
                {
                        Reference<XDatabaseMetaData> xMeta = 
xConnection->getMetaData();
-                       OColumnNamePos aColumnNames(xMeta.is() && 
xMeta->storesMixedCaseQuotedIdentifiers() ? true : false);
+                       SelectColumnsMetaData aColumnNames(xMeta.is() && 
xMeta->storesMixedCaseQuotedIdentifiers() ? true : false);
                        Reference<XColumnsSupplier> 
xColSup(_xAnalyzer,UNO_QUERY);
                        Reference<XNameAccess> xSelColumns      = 
xColSup->getColumns();
                        Reference<XNameAccess> xColumns         = 
m_aUpdateTable->getColumns();




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

Reply via email to