dbaccess/source/core/api/KeySet.cxx        |   32 ++++++++++++++---------------
 dbaccess/source/core/api/KeySet.hxx        |    7 +++++-
 dbaccess/source/core/api/OptimisticSet.cxx |    2 -
 3 files changed, 23 insertions(+), 18 deletions(-)

New commits:
commit 76c6436faa5e87132cc13be42ac4510baf1c9f8a
Author:     Noel Grandin <[email protected]>
AuthorDate: Thu Sep 12 19:38:11 2024 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Fri Sep 13 08:18:58 2024 +0200

    convert OKeySetValue to a struct
    
    for better readability
    
    Change-Id: I9750668a31740bb1de0b6f024912d5cc73f7e766
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173279
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>

diff --git a/dbaccess/source/core/api/KeySet.cxx 
b/dbaccess/source/core/api/KeySet.cxx
index 9366c990c87e..511338e30d9b 100644
--- a/dbaccess/source/core/api/KeySet.cxx
+++ b/dbaccess/source/core/api/KeySet.cxx
@@ -245,7 +245,7 @@ void OKeySet::setOneKeyColumnParameter( sal_Int32 &nPos, 
const Reference< XParam
 
 OUStringBuffer OKeySet::createKeyFilter()
 {
-    connectivity::ORowVector< ORowSetValue >::Vector::const_iterator aIter = 
m_aKeyIter->second.first->begin();
+    connectivity::ORowVector< ORowSetValue >::Vector::const_iterator aIter = 
m_aKeyIter->second.m_aRowSetRow->begin();
 
     static const char aAnd[] = " AND ";
     const OUString aQuote    = getIdentifierQuoteString();
@@ -311,7 +311,7 @@ void OKeySet::construct(const Reference< XResultSet>& 
_xDriverSet, const OUStrin
 
     // the first row is empty because it's now easier for us to distinguish 
when we are beforefirst or first
     // without extra variable to be set
-    OKeySetValue keySetValue(nullptr,std::pair<sal_Int32,Reference<XRow> 
>(0,Reference<XRow>()));
+    OKeySetValue keySetValue{nullptr,0,Reference<XRow>()};
     m_aKeyMap.emplace(0, keySetValue);
     m_aKeyIter = m_aKeyMap.begin();
 }
@@ -321,7 +321,7 @@ void OKeySet::reset(const Reference< XResultSet>& 
_xDriverSet)
     OCacheSet::construct(_xDriverSet, m_sRowSetFilter);
     m_bRowCountFinal = false;
     m_aKeyMap.clear();
-    OKeySetValue keySetValue(nullptr,std::pair<sal_Int32,Reference<XRow> 
>(0,Reference<XRow>()));
+    OKeySetValue keySetValue{nullptr,0,Reference<XRow>()};
     m_aKeyMap.emplace(0,keySetValue);
     m_aKeyIter = m_aKeyMap.begin();
 }
@@ -331,8 +331,8 @@ void OKeySet::ensureStatement( )
     // do we already have a statement for the current combination of NULLness
     // of key & foreign columns?
     std::vector<bool> FilterColumnsNULL;
-    FilterColumnsNULL.reserve(m_aKeyIter->second.first->size());
-    for (auto const& elem : *m_aKeyIter->second.first)
+    FilterColumnsNULL.reserve(m_aKeyIter->second.m_aRowSetRow->size());
+    for (auto const& elem : *m_aKeyIter->second.m_aRowSetRow)
         FilterColumnsNULL.push_back(elem.isNull());
     vStatements_t::const_iterator 
pNewStatement(m_vStatements.find(FilterColumnsNULL));
     if(pNewStatement == m_vStatements.end())
@@ -575,9 +575,9 @@ void OKeySet::executeUpdate(const ORowSetRow& _rInsertRow 
,const ORowSetRow& _rO
         const sal_Int32 nBookmark = 
::comphelper::getINT32((*_rInsertRow)[0].getAny());
         m_aKeyIter = m_aKeyMap.find(nBookmark);
         assert(m_aKeyIter != m_aKeyMap.end());
-        m_aKeyIter->second.second.first = 2;
-        m_aKeyIter->second.second.second.clear();
-        copyRowValue(_rInsertRow,m_aKeyIter->second.first,nBookmark);
+        m_aKeyIter->second.m_nUpdateInsert = 2;
+        m_aKeyIter->second.m_xRow.clear();
+        copyRowValue(_rInsertRow, m_aKeyIter->second.m_aRowSetRow, nBookmark);
         tryRefetch(_rInsertRow,bRefetch);
     }
 }
@@ -752,7 +752,7 @@ void OKeySet::executeInsert( const ORowSetRow& 
_rInsertRow,const OUString& i_sSQ
         ORowSetRow aKeyRow = new connectivity::ORowVector< ORowSetValue 
>(m_pKeyColumnNames->size());
         copyRowValue(_rInsertRow,aKeyRow,aKeyIter->first + 1);
 
-        m_aKeyIter = m_aKeyMap.emplace( aKeyIter->first + 1, 
OKeySetValue(aKeyRow,std::pair<sal_Int32,Reference<XRow> 
>(1,Reference<XRow>())) ).first;
+        m_aKeyIter = m_aKeyMap.emplace( aKeyIter->first + 1, 
OKeySetValue{aKeyRow,1,Reference<XRow>()} ).first;
         // now we set the bookmark for this row
         (*_rInsertRow)[0] = Any(static_cast<sal_Int32>(m_aKeyIter->first));
         tryRefetch(_rInsertRow,bRefetch);
@@ -774,7 +774,7 @@ void OKeySet::tryRefetch(const ORowSetRow& _rInsertRow,bool 
bRefetch)
     }
     if ( !bRefetch )
     {
-        m_aKeyIter->second.second.second = new 
OPrivateRow(std::vector(*_rInsertRow));
+        m_aKeyIter->second.m_xRow = new OPrivateRow(std::vector(*_rInsertRow));
     }
 }
 
@@ -1102,7 +1102,7 @@ bool OKeySet::doTryRefetch_throw()
     }
 
     // now set the primary key column values
-    connectivity::ORowVector< ORowSetValue >::Vector::const_iterator aIter = 
m_aKeyIter->second.first->begin();
+    connectivity::ORowVector< ORowSetValue >::Vector::const_iterator aIter = 
m_aKeyIter->second.m_aRowSetRow->begin();
     for (auto const& keyColumnName : *m_pKeyColumnNames)
         
setOneKeyColumnParameter(nPos,xParameter,*aIter++,keyColumnName.second.nType,keyColumnName.second.nScale);
     for (auto const& foreignColumnName : *m_pForeignColumnNames)
@@ -1120,9 +1120,9 @@ void OKeySet::refreshRow()
     if(isBeforeFirst() || isAfterLast())
         return;
 
-    if ( m_aKeyIter->second.second.second.is() )
+    if ( m_aKeyIter->second.m_xRow.is() )
     {
-        m_xRow = m_aKeyIter->second.second.second;
+        m_xRow = m_aKeyIter->second.m_xRow;
         return;
     }
 
@@ -1197,7 +1197,7 @@ bool OKeySet::fetchRow()
             aIter->fill(rColDesc.nPosition, rColDesc.nType, m_xRow);
             ++aIter;
         }
-        m_aKeyIter = m_aKeyMap.emplace( 
m_aKeyMap.rbegin()->first+1,OKeySetValue(aKeyRow,std::pair<sal_Int32,Reference<XRow>
 >(0,Reference<XRow>())) ).first;
+        m_aKeyIter = m_aKeyMap.emplace( 
m_aKeyMap.rbegin()->first+1,OKeySetValue{aKeyRow,0,Reference<XRow>()} ).first;
     }
     else
         m_bRowCountFinal = true;
@@ -1354,12 +1354,12 @@ Reference< XArray > SAL_CALL OKeySet::getArray( 
sal_Int32 columnIndex )
 
 bool OKeySet::rowUpdated(  )
 {
-    return m_aKeyIter != m_aKeyMap.begin() && m_aKeyIter != m_aKeyMap.end() && 
m_aKeyIter->second.second.first == 2;
+    return m_aKeyIter != m_aKeyMap.begin() && m_aKeyIter != m_aKeyMap.end() && 
m_aKeyIter->second.m_nUpdateInsert == 2;
 }
 
 bool OKeySet::rowInserted(  )
 {
-    return m_aKeyIter != m_aKeyMap.begin() && m_aKeyIter != m_aKeyMap.end() && 
m_aKeyIter->second.second.first == 1;
+    return m_aKeyIter != m_aKeyMap.begin() && m_aKeyIter != m_aKeyMap.end() && 
m_aKeyIter->second.m_nUpdateInsert == 1;
 }
 
 bool OKeySet::rowDeleted(  )
diff --git a/dbaccess/source/core/api/KeySet.hxx 
b/dbaccess/source/core/api/KeySet.hxx
index bd30f3960eb3..c5b78811a814 100644
--- a/dbaccess/source/core/api/KeySet.hxx
+++ b/dbaccess/source/core/api/KeySet.hxx
@@ -68,7 +68,12 @@ namespace dbaccess
                             SelectColumnsMetaData& o_rColumnNames /* out */,
                             bool i_bAppendTableName = false);
 
-    typedef std::pair<ORowSetRow,std::pair<sal_Int32,css::uno::Reference< 
css::sdbc::XRow> > > OKeySetValue;
+    struct OKeySetValue
+    {
+        ORowSetRow m_aRowSetRow;
+        sal_Int32 m_nUpdateInsert;
+        css::uno::Reference< css::sdbc::XRow> m_xRow;
+    };
     typedef std::map<sal_Int32,OKeySetValue > OKeySetMatrix;
     typedef std::map<sal_Int32, rtl::Reference<ORowSetValueVector> > 
OUpdatedParameter;
     // is used when the source supports keys
diff --git a/dbaccess/source/core/api/OptimisticSet.cxx 
b/dbaccess/source/core/api/OptimisticSet.cxx
index bce7454aea8a..e77560d41386 100644
--- a/dbaccess/source/core/api/OptimisticSet.cxx
+++ b/dbaccess/source/core/api/OptimisticSet.cxx
@@ -105,7 +105,7 @@ void OptimisticSet::construct(const Reference< XResultSet>& 
_xDriverSet,const OU
 
     // the first row is empty because it's now easier for us to distinguish 
when we are beforefirst or first
     // without extra variable to be set
-    OKeySetValue keySetValue(nullptr,std::pair<sal_Int32,Reference<XRow> 
>(0,Reference<XRow>()));
+    OKeySetValue keySetValue{nullptr,0,Reference<XRow>()};
     m_aKeyMap.emplace(0,keySetValue);
     m_aKeyIter = m_aKeyMap.begin();
 

Reply via email to