summaryrefslogtreecommitdiff
path: root/dbaccess
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2017-12-26 21:19:43 +0100
committerJulien Nabet <serval2412@yahoo.fr>2017-12-27 11:34:51 +0100
commit965c93c3776f619eb76d3474febe2ae5fc1ab51a (patch)
tree93ee6191afdb791c3435cfb6a4f1d45b862cfdbb /dbaccess
parent5d64ef270b22544a2dcbcaed191050b616d1f956 (diff)
Use for-range loops in dbaccess/OptimisticSet
Change-Id: Iccd0848e772867ece243444dc697e264907b28d4 Reviewed-on: https://gerrit.libreoffice.org/47072 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Diffstat (limited to 'dbaccess')
-rw-r--r--dbaccess/source/core/api/OptimisticSet.cxx172
1 files changed, 74 insertions, 98 deletions
diff --git a/dbaccess/source/core/api/OptimisticSet.cxx b/dbaccess/source/core/api/OptimisticSet.cxx
index 461bd6334385..5c2a45017f44 100644
--- a/dbaccess/source/core/api/OptimisticSet.cxx
+++ b/dbaccess/source/core/api/OptimisticSet.cxx
@@ -179,29 +179,27 @@ void OptimisticSet::updateRow(const ORowSetRow& _rInsertRow ,const ORowSetRow& _
TSQLStatements aSql;
// here we build the condition part for the update statement
- SelectColumnsMetaData::const_iterator aIter = m_pColumnNames->begin();
- SelectColumnsMetaData::const_iterator aEnd = m_pColumnNames->end();
- for(;aIter != aEnd;++aIter)
+ for (auto const& columnName : *m_pColumnNames)
{
- if ( aResultSetChanged.find( aIter->second.sTableName ) == aResultSetChanged.end() )
- aResultSetChanged[aIter->second.sTableName] = false;
- const OUString sQuotedColumnName = ::dbtools::quoteName( aQuote,aIter->second.sRealName);
- if ( m_pKeyColumnNames->find(aIter->first) != m_pKeyColumnNames->end() )
+ if ( aResultSetChanged.find( columnName.second.sTableName ) == aResultSetChanged.end() )
+ aResultSetChanged[columnName.second.sTableName] = false;
+ const OUString sQuotedColumnName = ::dbtools::quoteName( aQuote,columnName.second.sRealName);
+ if ( m_pKeyColumnNames->find(columnName.first) != m_pKeyColumnNames->end() )
{
- aResultSetChanged[aIter->second.sTableName] = m_aJoinedKeyColumns.find(aIter->second.nPosition) != m_aJoinedKeyColumns.end();
- lcl_fillKeyCondition(aIter->second.sTableName,sQuotedColumnName,(_rOriginalRow->get())[aIter->second.nPosition],aKeyConditions);
+ aResultSetChanged[columnName.second.sTableName] = m_aJoinedKeyColumns.find(columnName.second.nPosition) != m_aJoinedKeyColumns.end();
+ lcl_fillKeyCondition(columnName.second.sTableName,sQuotedColumnName,(_rOriginalRow->get())[columnName.second.nPosition],aKeyConditions);
}
- if((_rInsertRow->get())[aIter->second.nPosition].isModified())
+ if((_rInsertRow->get())[columnName.second.nPosition].isModified())
{
- if ( m_aJoinedKeyColumns.find(aIter->second.nPosition) != m_aJoinedKeyColumns.end() )
+ if ( m_aJoinedKeyColumns.find(columnName.second.nPosition) != m_aJoinedKeyColumns.end() )
throw SQLException();
- std::map<sal_Int32,sal_Int32>::const_iterator aJoinIter = m_aJoinedColumns.find(aIter->second.nPosition);
+ std::map<sal_Int32,sal_Int32>::const_iterator aJoinIter = m_aJoinedColumns.find(columnName.second.nPosition);
if ( aJoinIter != m_aJoinedColumns.end() )
{
- (_rInsertRow->get())[aJoinIter->second] = (_rInsertRow->get())[aIter->second.nPosition];
+ (_rInsertRow->get())[aJoinIter->second] = (_rInsertRow->get())[columnName.second.nPosition];
}
- OUStringBuffer& rPart = aSql[aIter->second.sTableName];
+ OUStringBuffer& rPart = aSql[columnName.second.sTableName];
if ( !rPart.isEmpty() )
rPart.append(", ");
rPart.append(sQuotedColumnName + " = ?");
@@ -216,22 +214,20 @@ void OptimisticSet::updateRow(const ORowSetRow& _rInsertRow ,const ORowSetRow& _
Reference<XDatabaseMetaData> xMetaData = m_xConnection->getMetaData();
- TSQLStatements::iterator aSqlIter = aSql.begin();
- TSQLStatements::iterator aSqlEnd = aSql.end();
- for(;aSqlIter != aSqlEnd ; ++aSqlIter)
+ for (auto const& elem : aSql)
{
- if ( !aSqlIter->second.isEmpty() )
+ if ( !elem.second.isEmpty() )
{
- m_bResultSetChanged = m_bResultSetChanged || aResultSetChanged[aSqlIter->first];
+ m_bResultSetChanged = m_bResultSetChanged || aResultSetChanged[elem.first];
OUString sCatalog,sSchema,sTable;
- ::dbtools::qualifiedNameComponents(xMetaData,aSqlIter->first,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
+ ::dbtools::qualifiedNameComponents(xMetaData,elem.first,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
OUStringBuffer sSql("UPDATE " + ::dbtools::composeTableNameForSelect( m_xConnection, sCatalog, sSchema, sTable ) +
- " SET " + aSqlIter->second.toString());
- OUStringBuffer& rCondition = aKeyConditions[aSqlIter->first];
+ " SET " + elem.second.toString());
+ OUStringBuffer& rCondition = aKeyConditions[elem.first];
if ( !rCondition.isEmpty() )
sSql.append(" WHERE " + rCondition.toString() );
- executeUpdate(_rInsertRow ,_rOriginalRow,sSql.makeStringAndClear(),aSqlIter->first);
+ executeUpdate(_rInsertRow ,_rOriginalRow,sSql.makeStringAndClear(),elem.first);
}
}
}
@@ -245,31 +241,29 @@ void OptimisticSet::insertRow( const ORowSetRow& _rInsertRow,const connectivity:
OUString aQuote = getIdentifierQuoteString();
// here we build the condition part for the update statement
- SelectColumnsMetaData::const_iterator aIter = m_pColumnNames->begin();
- SelectColumnsMetaData::const_iterator aEnd = m_pColumnNames->end();
- for(;aIter != aEnd;++aIter)
+ for (auto const& columnName : *m_pColumnNames)
{
- if ( aResultSetChanged.find( aIter->second.sTableName ) == aResultSetChanged.end() )
- aResultSetChanged[aIter->second.sTableName] = false;
+ if ( aResultSetChanged.find( columnName.second.sTableName ) == aResultSetChanged.end() )
+ aResultSetChanged[columnName.second.sTableName] = false;
- const OUString sQuotedColumnName = ::dbtools::quoteName( aQuote,aIter->second.sRealName);
- if ( (_rInsertRow->get())[aIter->second.nPosition].isModified() )
+ const OUString sQuotedColumnName = ::dbtools::quoteName( aQuote,columnName.second.sRealName);
+ if ( (_rInsertRow->get())[columnName.second.nPosition].isModified() )
{
- if ( m_aJoinedKeyColumns.find(aIter->second.nPosition) != m_aJoinedKeyColumns.end() )
+ if ( m_aJoinedKeyColumns.find(columnName.second.nPosition) != m_aJoinedKeyColumns.end() )
{
- lcl_fillKeyCondition(aIter->second.sTableName,sQuotedColumnName,(_rInsertRow->get())[aIter->second.nPosition],aKeyConditions);
- aResultSetChanged[aIter->second.sTableName] = true;
+ lcl_fillKeyCondition(columnName.second.sTableName,sQuotedColumnName,(_rInsertRow->get())[columnName.second.nPosition],aKeyConditions);
+ aResultSetChanged[columnName.second.sTableName] = true;
}
- std::map<sal_Int32,sal_Int32>::const_iterator aJoinIter = m_aJoinedColumns.find(aIter->second.nPosition);
+ std::map<sal_Int32,sal_Int32>::const_iterator aJoinIter = m_aJoinedColumns.find(columnName.second.nPosition);
if ( aJoinIter != m_aJoinedColumns.end() )
{
- (_rInsertRow->get())[aJoinIter->second] = (_rInsertRow->get())[aIter->second.nPosition];
+ (_rInsertRow->get())[aJoinIter->second] = (_rInsertRow->get())[columnName.second.nPosition];
}
- OUStringBuffer& rPart = aSql[aIter->second.sTableName];
+ OUStringBuffer& rPart = aSql[columnName.second.sTableName];
if ( !rPart.isEmpty() )
rPart.append(", ");
rPart.append(sQuotedColumnName);
- OUStringBuffer& rParam = aParameter[aIter->second.sTableName];
+ OUStringBuffer& rParam = aParameter[columnName.second.sTableName];
if ( !rParam.isEmpty() )
rParam.append(", ");
rParam.append("?");
@@ -279,23 +273,21 @@ void OptimisticSet::insertRow( const ORowSetRow& _rInsertRow,const connectivity:
::dbtools::throwSQLException( DBA_RES( RID_STR_NO_VALUE_CHANGED ), StandardSQLState::GENERAL_ERROR, m_xConnection );
Reference<XDatabaseMetaData> xMetaData = m_xConnection->getMetaData();
- TSQLStatements::iterator aSqlIter = aSql.begin();
- TSQLStatements::iterator aSqlEnd = aSql.end();
- for(;aSqlIter != aSqlEnd ; ++aSqlIter)
+ for (auto const& elem : aSql)
{
- if ( !aSqlIter->second.isEmpty() )
+ if ( !elem.second.isEmpty() )
{
- m_bResultSetChanged = m_bResultSetChanged || aResultSetChanged[aSqlIter->first];
+ m_bResultSetChanged = m_bResultSetChanged || aResultSetChanged[elem.first];
OUString sCatalog,sSchema,sTable;
- ::dbtools::qualifiedNameComponents(xMetaData,aSqlIter->first,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
+ ::dbtools::qualifiedNameComponents(xMetaData,elem.first,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
OUString sComposedTableName = ::dbtools::composeTableNameForSelect( m_xConnection, sCatalog, sSchema, sTable );
- OUString sSql("INSERT INTO " + sComposedTableName + " ( " + aSqlIter->second.toString() +
- ") VALUES ( " + aParameter[aSqlIter->first].toString() + " )");
+ OUString sSql("INSERT INTO " + sComposedTableName + " ( " + elem.second.toString() +
+ ") VALUES ( " + aParameter[elem.first].toString() + " )");
- OUStringBuffer& rCondition = aKeyConditions[aSqlIter->first];
+ OUStringBuffer& rCondition = aKeyConditions[elem.first];
if ( !rCondition.isEmpty() )
{
- OUString sQuery("SELECT " + aSqlIter->second.toString() + " FROM " + sComposedTableName +
+ OUString sQuery("SELECT " + elem.second.toString() + " FROM " + sComposedTableName +
" WHERE " + rCondition.toString());
try
@@ -303,14 +295,12 @@ void OptimisticSet::insertRow( const ORowSetRow& _rInsertRow,const connectivity:
Reference< XPreparedStatement > xPrep(m_xConnection->prepareStatement(sQuery));
Reference< XParameters > xParameter(xPrep,UNO_QUERY);
// and then the values of the where condition
- SelectColumnsMetaData::iterator aKeyCol = m_pKeyColumnNames->begin();
- SelectColumnsMetaData::iterator aKeysEnd = m_pKeyColumnNames->end();
sal_Int32 i = 1;
- for(;aKeyCol != aKeysEnd;++aKeyCol)
+ for (auto const& keyColumnName : *m_pKeyColumnNames)
{
- if ( aKeyCol->second.sTableName == aSqlIter->first )
+ if ( keyColumnName.second.sTableName == elem.first )
{
- setParameter(i++,xParameter,(_rInsertRow->get())[aKeyCol->second.nPosition],aKeyCol->second.nType,aKeyCol->second.nScale);
+ setParameter(i++,xParameter,(_rInsertRow->get())[keyColumnName.second.nPosition],keyColumnName.second.nType,keyColumnName.second.nScale);
}
}
Reference<XResultSet> xRes = xPrep->executeQuery();
@@ -326,7 +316,7 @@ void OptimisticSet::insertRow( const ORowSetRow& _rInsertRow,const connectivity:
}
}
- executeInsert(_rInsertRow,sSql,aSqlIter->first);
+ executeInsert(_rInsertRow,sSql,elem.first);
}
}
}
@@ -337,30 +327,26 @@ void OptimisticSet::deleteRow(const ORowSetRow& _rDeleteRow,const connectivity::
TSQLStatements aKeyConditions;
// here we build the condition part for the update statement
- SelectColumnsMetaData::const_iterator aIter = m_pColumnNames->begin();
- SelectColumnsMetaData::const_iterator aEnd = m_pColumnNames->end();
- for(;aIter != aEnd;++aIter)
+ for (auto const& columnName : *m_pColumnNames)
{
- if ( m_aJoinedKeyColumns.find(aIter->second.nPosition) == m_aJoinedKeyColumns.end() && m_pKeyColumnNames->find(aIter->first) != m_pKeyColumnNames->end() )
+ if ( m_aJoinedKeyColumns.find(columnName.second.nPosition) == m_aJoinedKeyColumns.end() && m_pKeyColumnNames->find(columnName.first) != m_pKeyColumnNames->end() )
{
// only delete rows which aren't the key in the join
- const OUString sQuotedColumnName = ::dbtools::quoteName( aQuote,aIter->second.sRealName);
- lcl_fillKeyCondition(aIter->second.sTableName,sQuotedColumnName,(_rDeleteRow->get())[aIter->second.nPosition],aKeyConditions);
+ const OUString sQuotedColumnName = ::dbtools::quoteName( aQuote,columnName.second.sRealName);
+ lcl_fillKeyCondition(columnName.second.sTableName,sQuotedColumnName,(_rDeleteRow->get())[columnName.second.nPosition],aKeyConditions);
}
}
Reference<XDatabaseMetaData> xMetaData = m_xConnection->getMetaData();
- TSQLStatements::iterator aSqlIter = aKeyConditions.begin();
- TSQLStatements::iterator aSqlEnd = aKeyConditions.end();
- for(;aSqlIter != aSqlEnd ; ++aSqlIter)
+ for (auto & keyCondition : aKeyConditions)
{
- OUStringBuffer& rCondition = aSqlIter->second;
+ OUStringBuffer& rCondition = keyCondition.second;
if ( !rCondition.isEmpty() )
{
OUString sCatalog,sSchema,sTable;
- ::dbtools::qualifiedNameComponents(xMetaData,aSqlIter->first,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
+ ::dbtools::qualifiedNameComponents(xMetaData,keyCondition.first,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
OUString sSql("DELETE FROM " + ::dbtools::composeTableNameForSelect( m_xConnection, sCatalog, sSchema, sTable ) +
" WHERE " + rCondition.toString() );
- executeDelete(_rDeleteRow, sSql, aSqlIter->first);
+ executeDelete(_rDeleteRow, sSql, keyCondition.first);
}
}
}
@@ -371,13 +357,11 @@ void OptimisticSet::executeDelete(const ORowSetRow& _rDeleteRow,const OUString&
Reference< XPreparedStatement > xPrep(m_xConnection->prepareStatement(i_sSQL));
Reference< XParameters > xParameter(xPrep,UNO_QUERY);
- SelectColumnsMetaData::const_iterator aIter = m_pKeyColumnNames->begin();
- SelectColumnsMetaData::const_iterator aEnd = m_pKeyColumnNames->end();
sal_Int32 i = 1;
- for(;aIter != aEnd;++aIter)
+ for (auto const& keyColumnName : *m_pKeyColumnNames)
{
- if ( aIter->second.sTableName == i_sTableName )
- setParameter(i++,xParameter,(_rDeleteRow->get())[aIter->second.nPosition],aIter->second.nType,aIter->second.nScale);
+ if ( keyColumnName.second.sTableName == i_sTableName )
+ setParameter(i++,xParameter,(_rDeleteRow->get())[keyColumnName.second.nPosition],keyColumnName.second.nType,keyColumnName.second.nScale);
}
m_bDeleted = xPrep->executeUpdate() > 0;
@@ -393,13 +377,12 @@ void OptimisticSet::executeDelete(const ORowSetRow& _rDeleteRow,const OUString&
void OptimisticSet::fillJoinedColumns_throw(const std::vector< TNodePair >& i_aJoinColumns)
{
- std::vector< TNodePair >::const_iterator aIter = i_aJoinColumns.begin();
- for(;aIter != i_aJoinColumns.end();++aIter)
+ for (auto const& joinColumn : i_aJoinColumns)
{
OUString sColumnName,sTableName;
- m_aSqlIterator.getColumnRange(aIter->first,sColumnName,sTableName);
+ m_aSqlIterator.getColumnRange(joinColumn.first,sColumnName,sTableName);
OUString sLeft(sTableName + "." + sColumnName);
- m_aSqlIterator.getColumnRange(aIter->second,sColumnName,sTableName);
+ m_aSqlIterator.getColumnRange(joinColumn.second,sColumnName,sTableName);
OUString sRight(sTableName + "." + sColumnName);
fillJoinedColumns_throw(sLeft, sRight);
}
@@ -553,34 +536,30 @@ void OptimisticSet::fillMissingValues(ORowSetValueVector::Vector& io_aRow) const
TSQLStatements aKeyConditions;
OUString aQuote = getIdentifierQuoteString();
// here we build the condition part for the update statement
- SelectColumnsMetaData::const_iterator aColIter = m_pColumnNames->begin();
- SelectColumnsMetaData::const_iterator aColEnd = m_pColumnNames->end();
- for(;aColIter != aColEnd;++aColIter)
+ for (auto const& columnName : *m_pColumnNames)
{
- const OUString sQuotedColumnName = ::dbtools::quoteName( aQuote,aColIter->second.sRealName);
- if ( m_aJoinedKeyColumns.find(aColIter->second.nPosition) != m_aJoinedKeyColumns.end() )
+ const OUString sQuotedColumnName = ::dbtools::quoteName( aQuote,columnName.second.sRealName);
+ if ( m_aJoinedKeyColumns.find(columnName.second.nPosition) != m_aJoinedKeyColumns.end() )
{
- lcl_fillKeyCondition(aColIter->second.sTableName,sQuotedColumnName,io_aRow[aColIter->second.nPosition],aKeyConditions);
+ lcl_fillKeyCondition(columnName.second.sTableName,sQuotedColumnName,io_aRow[columnName.second.nPosition],aKeyConditions);
}
- OUStringBuffer& rPart = aSql[aColIter->second.sTableName];
+ OUStringBuffer& rPart = aSql[columnName.second.sTableName];
if ( !rPart.isEmpty() )
rPart.append(", ");
rPart.append(sQuotedColumnName);
}
Reference<XDatabaseMetaData> xMetaData = m_xConnection->getMetaData();
- TSQLStatements::iterator aSqlIter = aSql.begin();
- TSQLStatements::iterator aSqlEnd = aSql.end();
- for(;aSqlIter != aSqlEnd ; ++aSqlIter)
+ for (auto const& elem : aSql)
{
- if ( !aSqlIter->second.isEmpty() )
+ if ( !elem.second.isEmpty() )
{
- OUStringBuffer& rCondition = aKeyConditions[aSqlIter->first];
+ OUStringBuffer& rCondition = aKeyConditions[elem.first];
if ( !rCondition.isEmpty() )
{
OUString sCatalog,sSchema,sTable;
- ::dbtools::qualifiedNameComponents(xMetaData,aSqlIter->first,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
+ ::dbtools::qualifiedNameComponents(xMetaData,elem.first,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
OUString sComposedTableName = ::dbtools::composeTableNameForSelect( m_xConnection, sCatalog, sSchema, sTable );
- OUString sQuery("SELECT " + aSqlIter->second.toString() + " FROM " + sComposedTableName + " WHERE " +
+ OUString sQuery("SELECT " + elem.second.toString() + " FROM " + sComposedTableName + " WHERE " +
rCondition.makeStringAndClear());
try
@@ -588,14 +567,12 @@ void OptimisticSet::fillMissingValues(ORowSetValueVector::Vector& io_aRow) const
Reference< XPreparedStatement > xPrep(m_xConnection->prepareStatement(sQuery));
Reference< XParameters > xParameter(xPrep,UNO_QUERY);
// and then the values of the where condition
- SelectColumnsMetaData::iterator aKeyIter = m_pKeyColumnNames->begin();
- SelectColumnsMetaData::iterator aKeyEnd = m_pKeyColumnNames->end();
sal_Int32 i = 1;
- for(;aKeyIter != aKeyEnd;++aKeyIter)
+ for (auto const& keyColumn : *m_pKeyColumnNames)
{
- if ( aKeyIter->second.sTableName == aSqlIter->first )
+ if ( keyColumn.second.sTableName == elem.first )
{
- setParameter(i++,xParameter,io_aRow[aKeyIter->second.nPosition],aKeyIter->second.nType,aKeyIter->second.nScale);
+ setParameter(i++,xParameter,io_aRow[keyColumn.second.nPosition],keyColumn.second.nType,keyColumn.second.nScale);
}
}
Reference<XResultSet> xRes = xPrep->executeQuery();
@@ -603,13 +580,12 @@ void OptimisticSet::fillMissingValues(ORowSetValueVector::Vector& io_aRow) const
if ( xRow.is() && xRes->next() )
{
i = 1;
- aColIter = m_pColumnNames->begin();
- for(;aColIter != aColEnd;++aColIter)
+ for (auto const& columnName : *m_pColumnNames)
{
- if ( aColIter->second.sTableName == aSqlIter->first )
+ if ( columnName.second.sTableName == elem.first )
{
- io_aRow[aColIter->second.nPosition].fill(i++, aColIter->second.nType, xRow);
- io_aRow[aColIter->second.nPosition].setModified(true);
+ io_aRow[columnName.second.nPosition].fill(i++, columnName.second.nType, xRow);
+ io_aRow[columnName.second.nPosition].setModified(true);
}
}
}