summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/querydesign
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/ui/querydesign')
-rw-r--r--dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx5
-rw-r--r--dbaccess/source/ui/querydesign/JoinController.cxx3
-rw-r--r--dbaccess/source/ui/querydesign/JoinExchange.cxx3
-rw-r--r--dbaccess/source/ui/querydesign/JoinTableView.cxx41
-rw-r--r--dbaccess/source/ui/querydesign/QueryDesignView.cxx230
-rw-r--r--dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx3
-rw-r--r--dbaccess/source/ui/querydesign/QueryTableView.cxx36
-rw-r--r--dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx16
-rw-r--r--dbaccess/source/ui/querydesign/TableConnection.cxx12
-rw-r--r--dbaccess/source/ui/querydesign/TableConnectionData.cxx8
-rw-r--r--dbaccess/source/ui/querydesign/TableWindowAccess.cxx8
-rw-r--r--dbaccess/source/ui/querydesign/querycontroller.cxx5
12 files changed, 216 insertions, 154 deletions
diff --git a/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx b/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx
index ecabea880895..bfe3213f2291 100644
--- a/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx
+++ b/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx
@@ -129,9 +129,10 @@ namespace dbaui
nIndex = m_pLine->GetParent()->GetTabWinMap()->size();
const ::std::vector<OTableConnection*>* pVec = m_pLine->GetParent()->getTableConnections();
::std::vector<OTableConnection*>::const_iterator aIter = pVec->begin();
- for (; aIter != pVec->end() && (*aIter) != m_pLine; ++nIndex,++aIter)
+ ::std::vector<OTableConnection*>::const_iterator aEnd = pVec->end();
+ for (; aIter != aEnd && (*aIter) != m_pLine; ++nIndex,++aIter)
;
- nIndex = ( aIter != pVec->end() ) ? nIndex : -1;
+ nIndex = ( aIter != aEnd ) ? nIndex : -1;
}
return nIndex;
}
diff --git a/dbaccess/source/ui/querydesign/JoinController.cxx b/dbaccess/source/ui/querydesign/JoinController.cxx
index d3f81d34d1d7..95531ed3bbaa 100644
--- a/dbaccess/source/ui/querydesign/JoinController.cxx
+++ b/dbaccess/source/ui/querydesign/JoinController.cxx
@@ -419,7 +419,8 @@ void OJoinController::SaveTabWinsPosSize( OJoinTableView::OTableWindowMap* pTabW
"OJoinController::SaveTabWinsPosSize : inkonsistenter Zustand : sollte genausviel TabWinDatas haben wie TabWins !");
OJoinTableView::OTableWindowMap::iterator aIter = pTabWinList->begin();
- for(;aIter != pTabWinList->end();++aIter)
+ OJoinTableView::OTableWindowMap::iterator aEnd = pTabWinList->end();
+ for(;aIter != aEnd;++aIter)
SaveTabWinPosSize(aIter->second, nOffsetX, nOffsetY);
}
// -----------------------------------------------------------------------------
diff --git a/dbaccess/source/ui/querydesign/JoinExchange.cxx b/dbaccess/source/ui/querydesign/JoinExchange.cxx
index 21edc112be38..4f80fdefab9c 100644
--- a/dbaccess/source/ui/querydesign/JoinExchange.cxx
+++ b/dbaccess/source/ui/querydesign/JoinExchange.cxx
@@ -92,8 +92,9 @@ namespace dbaui
//------------------------------------------------------------------------
sal_Bool OJoinExchObj::isFormatAvailable( const DataFlavorExVector& _rFormats ,SotFormatStringId _nSlotID)
{
+ DataFlavorExVector::const_iterator aCheckEnd = _rFormats.end();
for ( DataFlavorExVector::const_iterator aCheck = _rFormats.begin();
- aCheck != _rFormats.end();
+ aCheck != aCheckEnd;
++aCheck
)
{
diff --git a/dbaccess/source/ui/querydesign/JoinTableView.cxx b/dbaccess/source/ui/querydesign/JoinTableView.cxx
index 150e39f9545d..16f4990cb5b5 100644
--- a/dbaccess/source/ui/querydesign/JoinTableView.cxx
+++ b/dbaccess/source/ui/querydesign/JoinTableView.cxx
@@ -102,6 +102,7 @@
#endif
#include <cppuhelper/exc_hlp.hxx>
#include <tools/diagnose_ex.h>
+#include <boost/bind.hpp>
#include <algorithm>
#include <functional>
@@ -291,7 +292,8 @@ void OJoinTableView::Resize()
return;
OTableWindowMapIterator aIter = m_aTableMap.begin();
- for(;aIter != m_aTableMap.end();++aIter)
+ OTableWindowMapIterator aEnd = m_aTableMap.end();
+ for(;aIter != aEnd;++aIter)
{
OTableWindow* pCurrent = aIter->second;
Point aPos(pCurrent->GetData()->GetPosition() - GetScrollOffset());
@@ -631,7 +633,8 @@ void OJoinTableView::SetDefaultTabWinPosSize( OTableWindow* pTabWin )
// Belegte Bereiche dieser Zeile pruefen
OTableWindow* pOtherTabWin;// = GetTabWinMap()->First();
OTableWindowMapIterator aIter = m_aTableMap.begin();
- for(;aIter != m_aTableMap.end();++aIter)
+ OTableWindowMapIterator aEnd = m_aTableMap.end();
+ for(;aIter != aEnd;++aIter)
{
pOtherTabWin = aIter->second;
Rectangle aOtherTabWinRect( pOtherTabWin->GetPosPixel(), pOtherTabWin->GetSizePixel() );
@@ -814,7 +817,8 @@ BOOL OJoinTableView::ScrollPane( long nDelta, BOOL bHoriz, BOOL bPaintScrollBars
Point aPos;
OTableWindowMapIterator aIter = m_aTableMap.begin();
- for(;aIter != m_aTableMap.end();++aIter)
+ OTableWindowMapIterator aEnd = m_aTableMap.end();
+ for(;aIter != aEnd;++aIter)
{
pTabWin = aIter->second;
aPos = pTabWin->GetPosPixel();
@@ -954,7 +958,8 @@ void OJoinTableView::MouseButtonUp( const MouseEvent& rEvt )
DeselectConn(GetSelectedConn());
::std::vector<OTableConnection*>::iterator aIter = m_vTableConnection.begin();
- for(;aIter != m_vTableConnection.end();++aIter)
+ ::std::vector<OTableConnection*>::iterator aEnd = m_vTableConnection.end();
+ for(;aIter != aEnd;++aIter)
{
if( (*aIter)->CheckHit(rEvt.GetPosPixel()) )
{
@@ -1085,9 +1090,7 @@ void OJoinTableView::DrawConnections( const Rectangle& rRect )
DBG_CHKTHIS(OJoinTableView,NULL);
//////////////////////////////////////////////////////////////////////
// Die Joins zeichnen
- ::std::vector<OTableConnection*>::iterator aIter = m_vTableConnection.begin();
- for(;aIter != m_vTableConnection.end();++aIter)
- (*aIter)->Draw( rRect );
+ ::std::for_each(m_vTableConnection.begin(),m_vTableConnection.end(),boost::bind( &OTableConnection::Draw, _1, boost::cref( rRect )));
// zum Schluss noch mal die selektierte ueber alle anderen drueber
if (GetSelectedConn())
GetSelectedConn()->Draw( rRect );
@@ -1124,7 +1127,8 @@ void OJoinTableView::ClearAll()
// und das selbe mit den Connections
::std::vector<OTableConnection*>::iterator aIter = m_vTableConnection.begin();
- for(;aIter != m_vTableConnection.end();++aIter)
+ ::std::vector<OTableConnection*>::iterator aEnd = m_vTableConnection.end();
+ for(;aIter != aEnd;++aIter)
RemoveConnection( *aIter ,sal_True);
m_vTableConnection.clear();
@@ -1325,7 +1329,8 @@ void OJoinTableView::Command(const CommandEvent& rEvt)
const Point& aMousePos = rEvt.GetMousePosPixel();
::std::vector<OTableConnection*>::iterator aIter = m_vTableConnection.begin();
- for(;aIter != m_vTableConnection.end();++aIter)
+ ::std::vector<OTableConnection*>::iterator aEnd = m_vTableConnection.end();
+ for(;aIter != aEnd;++aIter)
{
if( (*aIter)->CheckHit(aMousePos) )
{
@@ -1355,7 +1360,8 @@ OTableConnection* OJoinTableView::GetTabConn(const OTableWindow* pLhs,const OTab
BOOL bFoundStart = _rpFirstAfter ? FALSE : TRUE;
::std::vector<OTableConnection*>::const_iterator aIter = m_vTableConnection.begin();
- for(;aIter != m_vTableConnection.end();++aIter)
+ ::std::vector<OTableConnection*>::const_iterator aEnd = m_vTableConnection.end();
+ for(;aIter != aEnd;++aIter)
{
OTableConnection* pData = *aIter;
@@ -1437,7 +1443,8 @@ long OJoinTableView::PreNotify(NotifyEvent& rNEvt)
BOOL bForward = !pKeyEvent->GetKeyCode().IsShift();
// is there an active tab win ?
OTableWindowMapIterator aIter = m_aTableMap.begin();
- for(;aIter != m_aTableMap.end();++aIter)
+ OTableWindowMapIterator aEnd = m_aTableMap.end();
+ for(;aIter != aEnd;++aIter)
if (aIter->second && aIter->second->HasChildPathFocus())
break;
@@ -1569,7 +1576,8 @@ long OJoinTableView::PreNotify(NotifyEvent& rNEvt)
if (pSearchFor)
{
OTableWindowMapIterator aIter = m_aTableMap.begin();
- for(;aIter != m_aTableMap.end();++aIter)
+ OTableWindowMapIterator aEnd = m_aTableMap.end();
+ for(;aIter != aEnd;++aIter)
{
if (aIter->second == pSearchFor)
{
@@ -1622,7 +1630,8 @@ void OJoinTableView::StateChanged( StateChangedType nType )
SetZoomedPointFont( aFont );
OTableWindowMapIterator aIter = m_aTableMap.begin();
- for(;aIter != m_aTableMap.end();++aIter)
+ OTableWindowMapIterator aEnd = m_aTableMap.end();
+ for(;aIter != aEnd;++aIter)
{
aIter->second->SetZoom(GetZoom());
Size aSize(CalcZoom(aIter->second->GetSizePixel().Width()),CalcZoom(aIter->second->GetSizePixel().Height()));
@@ -1643,7 +1652,8 @@ void OJoinTableView::HideTabWins()
// working on a copy because the real list will be cleared in inner calls
OTableWindowMap aCopy(*pTabWins);
OTableWindowMap::iterator aIter = aCopy.begin();
- for(;aIter != aCopy.end();++aIter)
+ OTableWindowMap::iterator aEnd = aCopy.end();
+ for(;aIter != aEnd;++aIter)
RemoveTabWin(aIter->second);
}
@@ -1690,7 +1700,8 @@ void OJoinTableView::clearLayoutInformation()
m_aTableMap.clear();
::std::vector<OTableConnection*>::const_iterator aIter2 = m_vTableConnection.begin();
- for(;aIter2 != m_vTableConnection.end();++aIter2)
+ ::std::vector<OTableConnection*>::const_iterator aEnd2 = m_vTableConnection.end();
+ for(;aIter2 != aEnd2;++aIter2)
delete *aIter2;
m_vTableConnection.clear();
diff --git a/dbaccess/source/ui/querydesign/QueryDesignView.cxx b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
index 30e3bd5cc5b8..d02fb11fe54c 100644
--- a/dbaccess/source/ui/querydesign/QueryDesignView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
@@ -464,34 +464,36 @@ namespace
OConnectionLineDataVec* pLineDataList,
OQueryTableConnectionData* pData)
{
- ::rtl::OUString aCondition;
- if ( !_xConnection.is() )
- return aCondition;
-
- OConnectionLineDataVec::iterator aIter = pLineDataList->begin();
- try
+ ::rtl::OUStringBuffer aCondition;
+ if ( _xConnection.is() )
{
- Reference< XDatabaseMetaData > xMetaData = _xConnection->getMetaData();
- ::rtl::OUString aQuote = xMetaData->getIdentifierQuoteString();
+ OConnectionLineDataVec::iterator aIter = pLineDataList->begin();
+ OConnectionLineDataVec::iterator aEnd = pLineDataList->end();
+ try
+ {
+ const Reference< XDatabaseMetaData > xMetaData = _xConnection->getMetaData();
+ const ::rtl::OUString aQuote = xMetaData->getIdentifierQuoteString();
+ const ::rtl::OUString sEqual(RTL_CONSTASCII_USTRINGPARAM(" = "));
- for(;aIter != pLineDataList->end();++aIter)
+ for(;aIter != aEnd;++aIter)
+ {
+ OConnectionLineDataRef pLineData = *aIter;
+ if(aCondition.getLength())
+ aCondition.append(C_AND);
+ aCondition.append(quoteTableAlias(sal_True,pData->GetAliasName(JTCS_FROM),aQuote));
+ aCondition.append(::dbtools::quoteName(aQuote, pLineData->GetFieldName(JTCS_FROM) ));
+ aCondition.append(sEqual);
+ aCondition.append(quoteTableAlias(sal_True,pData->GetAliasName(JTCS_TO),aQuote));
+ aCondition.append(::dbtools::quoteName(aQuote, pLineData->GetFieldName(JTCS_TO) ));
+ }
+ }
+ catch(SQLException&)
{
- OConnectionLineDataRef pLineData = *aIter;
- if(aCondition.getLength())
- aCondition += C_AND;
- aCondition += quoteTableAlias(sal_True,pData->GetAliasName(JTCS_FROM),aQuote);
- aCondition += ::dbtools::quoteName(aQuote, pLineData->GetFieldName(JTCS_FROM) );
- aCondition += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" = "));
- aCondition += quoteTableAlias(sal_True,pData->GetAliasName(JTCS_TO),aQuote);
- aCondition += ::dbtools::quoteName(aQuote, pLineData->GetFieldName(JTCS_TO) );
+ OSL_ASSERT(!"Failure while building Join criteria!");
}
}
- catch(SQLException&)
- {
- OSL_ASSERT(!"Failure while building Join criteria!");
- }
- return aCondition;
+ return aCondition.makeStringAndClear();
}
//------------------------------------------------------------------------------
/** JoinCycle looks for a join cycle and append it to the string
@@ -657,7 +659,8 @@ namespace
// first search for the "to" window
const ::std::vector<OTableConnection*>* pConnections = pEntryConn->GetParent()->getTableConnections();
::std::vector<OTableConnection*>::const_iterator aIter = pConnections->begin();
- for(;aIter != pConnections->end();++aIter)
+ ::std::vector<OTableConnection*>::const_iterator aEnd = pConnections->end();
+ for(;aIter != aEnd;++aIter)
{
OQueryTableConnection* pNext = static_cast<OQueryTableConnection*>(*aIter);
if(!pNext->IsVisited() && (pNext->GetSourceWin() == pEntryTabTo || pNext->GetDestWin() == pEntryTabTo))
@@ -671,11 +674,11 @@ namespace
}
// when nothing found found look for the "from" window
- if(aIter == pConnections->end())
+ if(aIter == aEnd)
{
OQueryTableWindow* pEntryTabFrom = static_cast<OQueryTableWindow*>(pEntryConn->GetSourceWin());
aIter = pConnections->begin();
- for(;aIter != pConnections->end();++aIter)
+ for(;aIter != aEnd;++aIter)
{
OQueryTableConnection* pNext = static_cast<OQueryTableConnection*>(*aIter);
if(!pNext->IsVisited() && (pNext->GetSourceWin() == pEntryTabFrom || pNext->GetDestWin() == pEntryTabFrom))
@@ -746,12 +749,17 @@ namespace
OTableFields& _rFieldList,
sal_Bool bAlias)
{
- ::rtl::OUString aTmpStr,aFieldListStr;
+ Reference< XConnection> xConnection = static_cast<OQueryController&>(_pView->getController()).getConnection();
+ if ( !xConnection.is() )
+ return ::rtl::OUString();
+
+ ::rtl::OUStringBuffer aTmpStr,aFieldListStr;
sal_Bool bAsterix = sal_False;
int nVis = 0;
OTableFields::iterator aIter = _rFieldList.begin();
- for(;aIter != _rFieldList.end();++aIter)
+ OTableFields::iterator aEnd = _rFieldList.end();
+ for(;aIter != aEnd;++aIter)
{
OTableFieldDescRef pEntryField = *aIter;
if ( pEntryField->IsVisible() )
@@ -764,31 +772,28 @@ namespace
if(nVis == 1)
bAsterix = sal_False;
- Reference< XConnection> xConnection = static_cast<OQueryController&>(_pView->getController()).getConnection();
- if(!xConnection.is())
- return aFieldListStr;
-
try
{
- Reference< XDatabaseMetaData > xMetaData = xConnection->getMetaData();
- ::rtl::OUString aQuote = xMetaData->getIdentifierQuoteString();
+ const Reference< XDatabaseMetaData > xMetaData = xConnection->getMetaData();
+ const ::rtl::OUString aQuote = xMetaData->getIdentifierQuoteString();
OJoinTableView::OTableWindowMap* pTabList = _pView->getTableView()->GetTabWinMap();
const static ::rtl::OUString sFieldSeparator(RTL_CONSTASCII_USTRINGPARAM(", "));
+ const static ::rtl::OUString s_sAs(RTL_CONSTASCII_USTRINGPARAM(" AS "));
aIter = _rFieldList.begin();
- for(;aIter != _rFieldList.end();++aIter)
+ for(;aIter != aEnd;++aIter)
{
OTableFieldDescRef pEntryField = *aIter;
::rtl::OUString rFieldName = pEntryField->GetField();
if ( rFieldName.getLength() && pEntryField->IsVisible() )
{
aTmpStr = ::rtl::OUString();
- ::rtl::OUString rAlias = pEntryField->GetAlias();
- ::rtl::OUString rFieldAlias = pEntryField->GetFieldAlias();
+ const ::rtl::OUString rAlias = pEntryField->GetAlias();
+ const ::rtl::OUString rFieldAlias = pEntryField->GetFieldAlias();
- aTmpStr += quoteTableAlias((bAlias || bAsterix),rAlias,aQuote);
+ aTmpStr.append(quoteTableAlias((bAlias || bAsterix),rAlias,aQuote));
// if we have a none numeric field, the table alias could be in the name
// otherwise we are not allowed to do this (e.g. 0.1 * PRICE )
@@ -798,8 +803,9 @@ namespace
String sTemp = rFieldName;
OTableFieldDescRef aInfo = new OTableFieldDesc();
OJoinTableView::OTableWindowMap::iterator tableIter = pTabList->begin();
+ OJoinTableView::OTableWindowMap::iterator tableEnd = pTabList->end();
sal_Bool bFound = sal_False;
- for(;!bFound && tableIter != pTabList->end() ;++tableIter)
+ for(;!bFound && tableIter != tableEnd ;++tableIter)
{
OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(tableIter->second);
@@ -810,21 +816,21 @@ namespace
if ( ( rFieldName.toChar() != '*' ) && ( rFieldName.indexOf( aQuote ) == -1 ) )
{
OSL_ENSURE(pEntryField->GetTable().getLength(),"No table field name!");
- aTmpStr += ::dbtools::quoteName(aQuote, rFieldName);
+ aTmpStr.append(::dbtools::quoteName(aQuote, rFieldName));
}
else
- aTmpStr += rFieldName;
+ aTmpStr.append(rFieldName);
}
else
- aTmpStr += rFieldName;
+ aTmpStr.append(rFieldName);
if ( pEntryField->isAggreateFunction() )
{
DBG_ASSERT(pEntryField->GetFunction().getLength(),"Functionname darf hier nicht leer sein! ;-(");
- ::rtl::OUString aTmpStr2( pEntryField->GetFunction());
- aTmpStr2 += ::rtl::OUString('(');
- aTmpStr2 += aTmpStr;
- aTmpStr2 += ::rtl::OUString(')');
+ ::rtl::OUStringBuffer aTmpStr2( pEntryField->GetFunction());
+ aTmpStr2.appendAscii("(");
+ aTmpStr2.append(aTmpStr.makeStringAndClear());
+ aTmpStr2.appendAscii(")");
aTmpStr = aTmpStr2;
}
@@ -833,26 +839,26 @@ namespace
pEntryField->isNumericOrAggreateFunction() ||
pEntryField->isOtherFunction()))
{
- aTmpStr += ::rtl::OUString::createFromAscii(" AS ");
- aTmpStr += ::dbtools::quoteName(aQuote, rFieldAlias);
+ aTmpStr.append(s_sAs);
+ aTmpStr.append(::dbtools::quoteName(aQuote, rFieldAlias));
}
- aFieldListStr += aTmpStr;
- aFieldListStr += sFieldSeparator;
+ aFieldListStr.append(aTmpStr.makeStringAndClear());
+ aFieldListStr.append(sFieldSeparator);
}
}
if(aFieldListStr.getLength())
- aFieldListStr = aFieldListStr.replaceAt(aFieldListStr.getLength()-2,2, ::rtl::OUString() );
+ aFieldListStr.setLength(aFieldListStr.getLength()-2);
}
catch(SQLException&)
{
OSL_ASSERT(!"Failure while building select list!");
}
- return aFieldListStr;
+ return aFieldListStr.makeStringAndClear();
}
//------------------------------------------------------------------------------
sal_Bool GenerateCriterias( OQueryDesignView* _pView,
- ::rtl::OUString& rRetStr,
- ::rtl::OUString& rHavingStr,
+ ::rtl::OUStringBuffer& rRetStr,
+ ::rtl::OUStringBuffer& rHavingStr,
OTableFields& _rFieldList,
sal_Bool bMulti )
{
@@ -863,7 +869,8 @@ namespace
// Zeilenweise werden die Ausdr"ucke mit AND verknuepft
sal_uInt16 nMaxCriteria = 0;
OTableFields::iterator aIter = _rFieldList.begin();
- for(;aIter != _rFieldList.end();++aIter)
+ OTableFields::iterator aEnd = _rFieldList.end();
+ for(;aIter != aEnd;++aIter)
{
nMaxCriteria = ::std::max<sal_uInt16>(nMaxCriteria,(sal_uInt16)(*aIter)->GetCriteria().size());
}
@@ -872,15 +879,15 @@ namespace
return FALSE;
try
{
- Reference< XDatabaseMetaData > xMetaData = xConnection->getMetaData();
- ::rtl::OUString aQuote = xMetaData->getIdentifierQuoteString();
+ const Reference< XDatabaseMetaData > xMetaData = xConnection->getMetaData();
+ const ::rtl::OUString aQuote = xMetaData->getIdentifierQuoteString();
const IParseContext& rContext = static_cast<OQueryController&>(_pView->getController()).getParser().getContext();
for (sal_uInt16 i=0 ; i < nMaxCriteria ; i++)
{
aHavingStr = aWhereStr = ::rtl::OUString();
- for(aIter = _rFieldList.begin();aIter != _rFieldList.end();++aIter)
+ for(aIter = _rFieldList.begin();aIter != aEnd;++aIter)
{
OTableFieldDescRef pEntryField = *aIter;
aFieldName = pEntryField->GetField();
@@ -996,26 +1003,26 @@ namespace
{
aWhereStr += ::rtl::OUString(')'); // Klammern zu fuer 'AND' Zweig
if (rRetStr.getLength()) // schon Feldbedingungen ?
- rRetStr += C_OR;
+ rRetStr.append(C_OR);
else // Klammern auf fuer 'OR' Zweig
- rRetStr += ::rtl::OUString('(');
- rRetStr += aWhereStr;
+ rRetStr.append(sal_Unicode('('));
+ rRetStr.append(aWhereStr);
}
if (aHavingStr.getLength())
{
aHavingStr += ::rtl::OUString(')'); // Klammern zu fuer 'AND' Zweig
if (rHavingStr.getLength()) // schon Feldbedingungen ?
- rHavingStr += C_OR;
+ rHavingStr.append(C_OR);
else // Klammern auf fuer 'OR' Zweig
- rHavingStr += ::rtl::OUString('(');
- rHavingStr += aHavingStr;
+ rHavingStr.append(sal_Unicode('('));
+ rHavingStr.append(aHavingStr);
}
}
if (rRetStr.getLength())
- rRetStr += ::rtl::OUString(')'); // Klammern zu fuer 'OR' Zweig
+ rRetStr.append(sal_Unicode(')')); // Klammern zu fuer 'OR' Zweig
if (rHavingStr.getLength())
- rHavingStr += ::rtl::OUString(')'); // Klammern zu fuer 'OR' Zweig
+ rHavingStr.append(sal_Unicode(')')); // Klammern zu fuer 'OR' Zweig
}
catch(SQLException&)
{
@@ -1046,8 +1053,8 @@ namespace
// * darf keine Filter enthalten : habe ich die entsprechende Warnung schon angezeigt ?
sal_Bool bCritsOnAsterikWarning = sal_False; // ** TMFS **
OTableFields::iterator aIter = _rFieldList.begin();
-
- for(;aIter != _rFieldList.end();++aIter)
+ OTableFields::iterator aEnd = _rFieldList.end();
+ for(;aIter != aEnd;++aIter)
{
OTableFieldDescRef pEntryField = *aIter;
EOrderDir eOrder = pEntryField->GetOrderDir();
@@ -1132,7 +1139,8 @@ namespace
const ::std::vector<OTableConnection*>* _pConnList)
{
::std::vector<OTableConnection*>::const_iterator aIter = _pConnList->begin();
- for(;aIter != _pConnList->end();++aIter)
+ ::std::vector<OTableConnection*>::const_iterator aEnd = _pConnList->end();
+ for(;aIter != aEnd;++aIter)
{
const OQueryTableConnection* pEntryConn = static_cast<const OQueryTableConnection*>(*aIter);
OQueryTableConnectionData* pEntryConnData = static_cast<OQueryTableConnectionData*>(pEntryConn->GetData().get());
@@ -1175,12 +1183,13 @@ namespace
if(!pConnList->empty())
{
::std::vector<OTableConnection*>::const_iterator aIter = pConnList->begin();
- for(;aIter != pConnList->end();++aIter)
+ ::std::vector<OTableConnection*>::const_iterator aEnd = pConnList->end();
+ for(;aIter != aEnd;++aIter)
static_cast<OQueryTableConnection*>(*aIter)->SetVisited(sal_False);
aIter = pConnList->begin();
- sal_Bool bUseEscape = ::dbtools::getBooleanDataSourceSetting( _xConnection, PROPERTY_OUTERJOINESCAPE );
- for(;aIter != pConnList->end();++aIter)
+ const sal_Bool bUseEscape = ::dbtools::getBooleanDataSourceSetting( _xConnection, PROPERTY_OUTERJOINESCAPE );
+ for(;aIter != aEnd;++aIter)
{
OQueryTableConnection* pEntryConn = static_cast<OQueryTableConnection*>(*aIter);
if(!pEntryConn->IsVisited())
@@ -1228,7 +1237,7 @@ namespace
// and now all inner joins
aIter = pConnList->begin();
- for(;aIter != pConnList->end();++aIter)
+ for(;aIter != aEnd;++aIter)
{
OQueryTableConnection* pEntryConn = static_cast<OQueryTableConnection*>(*aIter);
if(!pEntryConn->IsVisited())
@@ -1247,7 +1256,8 @@ namespace
}
// all tables that haven't a connection to anyone
OQueryTableView::OTableWindowMap::const_iterator aTabIter = pTabList->begin();
- for(;aTabIter != pTabList->end();++aTabIter)
+ OQueryTableView::OTableWindowMap::const_iterator aTabEnd = pTabList->end();
+ for(;aTabIter != aTabEnd;++aTabIter)
{
const OQueryTableWindow* pEntryTab = static_cast<const OQueryTableWindow*>(aTabIter->second);
if(!pEntryTab->ExistsAConn())
@@ -1278,7 +1288,8 @@ namespace
const ::rtl::OUString aQuote = xMetaData->getIdentifierQuoteString();
OTableFields::iterator aIter = _rFieldList.begin();
- for(;aIter != _rFieldList.end();++aIter)
+ OTableFields::iterator aEnd = _rFieldList.end();
+ for(;aIter != aEnd;++aIter)
{
OTableFieldDescRef pEntryField = *aIter;
if ( pEntryField->IsGroupBy() )
@@ -1644,7 +1655,8 @@ namespace
{
OJoinTableView::OTableWindowMap* pTabList = _pView->getTableView()->GetTabWinMap();
OJoinTableView::OTableWindowMap::iterator aIter = pTabList->begin();
- for(;aIter != pTabList->end();++aIter)
+ OJoinTableView::OTableWindowMap::iterator aTabEnd = pTabList->end();
+ for(;aIter != aTabEnd;++aIter)
{
OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(aIter->second);
if (pTabWin->ExistsField( ::rtl::OUString::createFromAscii("*"), aDragLeft ))
@@ -1718,13 +1730,14 @@ namespace
{
OConnectionLineDataVec* pLineDataList = pConn->GetData()->GetConnLineDataList();
OConnectionLineDataVec::iterator aIter = pLineDataList->begin();
- for(;aIter != pLineDataList->end();++aIter)
+ OConnectionLineDataVec::iterator aEnd = pLineDataList->end();
+ for(;aIter != aEnd;++aIter)
{
if((*aIter)->GetSourceFieldName() == aDragLeft->GetField() ||
(*aIter)->GetDestFieldName() == aDragLeft->GetField() )
break;
}
- if(aIter != pLineDataList->end())
+ if(aIter != aEnd)
return eOk;
}
}
@@ -1853,7 +1866,8 @@ namespace
OQueryTableWindow* lcl_findColumnInTables( const ::rtl::OUString& _rColumName, const OJoinTableView::OTableWindowMap& _rTabList, OTableFieldDescRef& _rInfo )
{
OJoinTableView::OTableWindowMap::const_iterator aIter = _rTabList.begin();
- for ( ; aIter != _rTabList.end(); ++aIter )
+ OJoinTableView::OTableWindowMap::const_iterator aEnd = _rTabList.end();
+ for ( ; aIter != aEnd; ++aIter )
{
OQueryTableWindow* pTabWin = static_cast< OQueryTableWindow* >( aIter->second );
if ( pTabWin && pTabWin->ExistsField( _rColumName, _rInfo ) )
@@ -2019,7 +2033,8 @@ namespace
// now we have to insert the fields which aren't in the statement
OQueryController& rController = static_cast<OQueryController&>(_pView->getController());
OTableFields& rUnUsedFields = rController.getUnUsedFields();
- for(OTableFields::iterator aIter = rUnUsedFields.begin();aIter != rUnUsedFields.end();++aIter)
+ OTableFields::iterator aEnd = rUnUsedFields.end();
+ for(OTableFields::iterator aIter = rUnUsedFields.begin();aIter != aEnd;++aIter)
if(_pSelectionBrw->InsertField(*aIter,BROWSER_INVALIDID,sal_False,sal_False).isValid())
(*aIter) = NULL;
OTableFields().swap( rUnUsedFields );
@@ -2088,7 +2103,8 @@ namespace
OQueryTableView* pTableView = static_cast<OQueryTableView*>(_pView->getTableView());
pTableView->clearLayoutInformation();
OSQLTables::const_iterator aIter = aMap.begin();
- for(;aIter != aMap.end();++aIter)
+ OSQLTables::const_iterator aEnd = aMap.end();
+ for(;aIter != aEnd;++aIter)
{
OSQLTable xTable = aIter->second;
Reference< XPropertySet > xTableProps( xTable, UNO_QUERY_THROW );
@@ -2132,7 +2148,8 @@ namespace
// now delete the data for which we haven't any tablewindow
OJoinTableView::OTableWindowMap aTableMap(*pTableView->GetTabWinMap());
OJoinTableView::OTableWindowMap::iterator aIterTableMap = aTableMap.begin();
- for(;aIterTableMap != aTableMap.end();++aIterTableMap)
+ OJoinTableView::OTableWindowMap::iterator aIterTableEnd = aTableMap.end();
+ for(;aIterTableMap != aIterTableEnd;++aIterTableMap)
{
if(aMap.find(aIterTableMap->second->GetComposedName()) == aMap.end() &&
aMap.find(aIterTableMap->first) == aMap.end())
@@ -2191,7 +2208,8 @@ namespace
sal_Bool bFirstField = sal_True;
::rtl::OUString sAsterix(RTL_CONSTASCII_USTRINGPARAM("*"));
OJoinTableView::OTableWindowMap::iterator aIter = _pTabList->begin();
- for(;aIter != _pTabList->end() && eOk == eErrorCode ;++aIter)
+ OJoinTableView::OTableWindowMap::iterator aEnd = _pTabList->end();
+ for(;aIter != aEnd && eOk == eErrorCode ;++aIter)
{
OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(aIter->second);
OTableFieldDescRef aInfo = new OTableFieldDesc();
@@ -2319,7 +2337,8 @@ namespace
if ( pParamRef && pParamRef->getTokenValue().toChar() == '*' )
{
OJoinTableView::OTableWindowMap::iterator aIter = pTabList->begin();
- for(;aIter != pTabList->end();++aIter)
+ OJoinTableView::OTableWindowMap::iterator aEnd = pTabList->end();
+ for(;aIter != aEnd;++aIter)
{
OQueryTableWindow* pTabWin = static_cast<OQueryTableWindow*>(aIter->second);
if (pTabWin->ExistsField( ::rtl::OUString::createFromAscii("*"), aInfo ))
@@ -2448,7 +2467,8 @@ namespace
OTableFields& aList = rController.getTableFieldDesc();
OTableFields::iterator aIter = aList.begin();
- for(;aIter != aList.end();++aIter)
+ OTableFields::iterator aEnd = aList.end();
+ for(;aIter != aEnd;++aIter)
{
OTableFieldDescRef pEntry = *aIter;
if(pEntry.isValid() && pEntry->GetFieldAlias() == aColumnName)
@@ -2869,7 +2889,8 @@ void OQueryDesignView::fillValidFields(const ::rtl::OUString& sAliasName, ComboB
::rtl::OUString strCurrentPrefix;
::std::vector< ::rtl::OUString> aFields;
OJoinTableView::OTableWindowMap::iterator aIter = pTabWins->begin();
- for(;aIter != pTabWins->end();++aIter)
+ OJoinTableView::OTableWindowMap::iterator aEnd = pTabWins->end();
+ for(;aIter != aEnd;++aIter)
{
OQueryTableWindow* pCurrentWin = static_cast<OQueryTableWindow*>(aIter->second);
if (bAllTables || (pCurrentWin->GetAliasName() == sAliasName))
@@ -2880,7 +2901,8 @@ void OQueryDesignView::fillValidFields(const ::rtl::OUString& sAliasName, ComboB
pCurrentWin->EnumValidFields(aFields);
::std::vector< ::rtl::OUString>::iterator aStrIter = aFields.begin();
- for(;aStrIter != aFields.end();++aStrIter)
+ ::std::vector< ::rtl::OUString>::iterator aStrEnd = aFields.end();
+ for(;aStrIter != aStrEnd;++aStrIter)
{
if (bAllTables || aStrIter->toChar() == '*')
pFieldList->InsertEntry(::rtl::OUString(strCurrentPrefix) += *aStrIter);
@@ -2942,7 +2964,8 @@ sal_Bool OQueryDesignView::checkStatement()
sal_uInt32 nFieldcount = 0;
OTableFields& rFieldList = rController.getTableFieldDesc();
OTableFields::iterator aIter = rFieldList.begin();
- for(;aIter != rFieldList.end();++aIter)
+ OTableFields::iterator aEnd = rFieldList.end();
+ for(;aIter != aEnd;++aIter)
{
OTableFieldDescRef pEntryField = *aIter;
if ( pEntryField->GetField().getLength() && pEntryField->IsVisible() )
@@ -2979,7 +3002,7 @@ sal_Bool OQueryDesignView::checkStatement()
// wenn es Felder gibt, koennen die nur durch Einfuegen aus einer schon existenten Tabelle entstanden sein; wenn andererseits
// eine Tabelle geloescht wird, verschwinden auch die zugehoerigen Felder -> ergo KANN es das nicht geben, dass Felder
// existieren, aber keine Tabellen (und aFieldListStr hat schon eine Laenge, das stelle ich oben sicher)
- ::rtl::OUString aHavingStr,aCriteriaListStr;
+ ::rtl::OUStringBuffer aHavingStr,aCriteriaListStr;
// ----------------- Kriterien aufbauen ----------------------
if (!GenerateCriterias(this,aCriteriaListStr,aHavingStr,rFieldList, nTabcount > 1))
return ::rtl::OUString();
@@ -2994,22 +3017,22 @@ sal_Bool OQueryDesignView::checkStatement()
if(aCriteriaListStr.getLength())
{
aTmp += C_AND;
- aTmp += aCriteriaListStr;
+ aTmp += aCriteriaListStr.makeStringAndClear();
}
aCriteriaListStr = aTmp;
}
// ----------------- Statement aufbauen ----------------------
- ::rtl::OUString aSqlCmd(::rtl::OUString::createFromAscii("SELECT "));
+ ::rtl::OUStringBuffer aSqlCmd(::rtl::OUString::createFromAscii("SELECT "));
if(static_cast<OQueryController&>(getController()).isDistinct())
- aSqlCmd += ::rtl::OUString::createFromAscii(" DISTINCT ");
- aSqlCmd += aFieldListStr;
- aSqlCmd += ::rtl::OUString::createFromAscii(" FROM ");
- aSqlCmd += aTableListStr;
+ aSqlCmd.append(::rtl::OUString::createFromAscii(" DISTINCT "));
+ aSqlCmd.append(aFieldListStr);
+ aSqlCmd.append(::rtl::OUString::createFromAscii(" FROM "));
+ aSqlCmd.append(aTableListStr);
if (aCriteriaListStr.getLength())
{
- aSqlCmd += ::rtl::OUString::createFromAscii(" WHERE ");
- aSqlCmd += aCriteriaListStr;
+ aSqlCmd.append(::rtl::OUString::createFromAscii(" WHERE "));
+ aSqlCmd.append(aCriteriaListStr.makeStringAndClear());
}
// ----------------- GroupBy aufbauen und Anh"angen ------------
Reference<XDatabaseMetaData> xMeta;
@@ -3019,18 +3042,18 @@ sal_Bool OQueryDesignView::checkStatement()
if ( xMeta.is() )
bUseAlias = bUseAlias || !xMeta->supportsGroupByUnrelated();
- aSqlCmd += GenerateGroupBy(this,rFieldList,bUseAlias);
+ aSqlCmd.append(GenerateGroupBy(this,rFieldList,bUseAlias));
// ----------------- having Anh"angen ------------
if(aHavingStr.getLength())
{
- aSqlCmd += ::rtl::OUString::createFromAscii(" HAVING ");
- aSqlCmd += aHavingStr;
+ aSqlCmd.append(::rtl::OUString::createFromAscii(" HAVING "));
+ aSqlCmd.append(aHavingStr.makeStringAndClear());
}
// ----------------- Sortierung aufbauen und Anh"angen ------------
::rtl::OUString sOrder;
SqlParseError eErrorCode = eOk;
if ( (eErrorCode = GenerateOrder(this,rFieldList,nTabcount > 1,sOrder)) == eOk)
- aSqlCmd += sOrder;
+ aSqlCmd.append(sOrder);
else
{
if ( !m_rController.hasError() )
@@ -3039,11 +3062,12 @@ sal_Bool OQueryDesignView::checkStatement()
m_rController.displayError();
}
+ ::rtl::OUString sSQL = aSqlCmd.makeStringAndClear();
if ( xConnection.is() )
{
::connectivity::OSQLParser& rParser( rController.getParser() );
::rtl::OUString sErrorMessage;
- ::std::auto_ptr<OSQLParseNode> pParseNode( rParser.parseTree( sErrorMessage, aSqlCmd, sal_True ) );
+ ::std::auto_ptr<OSQLParseNode> pParseNode( rParser.parseTree( sErrorMessage, sSQL, sal_True ) );
if ( pParseNode.get() )
{
OSQLParseNode* pNode = pParseNode->getChild(3)->getChild(1);
@@ -3055,12 +3079,12 @@ sal_Bool OQueryDesignView::checkStatement()
OSQLParseNode::compress(pCondition);
::rtl::OUString sTemp;
pParseNode->parseNodeToStr(sTemp,xConnection);
- aSqlCmd = sTemp;
+ sSQL = sTemp;
}
}
}
}
- return aSqlCmd;
+ return sSQL;
}
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
diff --git a/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx b/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx
index edcd46f09ae4..0bab915045cb 100644
--- a/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx
+++ b/dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx
@@ -96,7 +96,8 @@ OQueryTabWinUndoAct::~OQueryTabWinUndoAct()
// und natuerlich auch die entsprechenden Connections
::std::vector<OTableConnection*>::iterator aIter = m_vTableConnection.begin();
- for(;aIter != m_vTableConnection.end();++aIter)
+ ::std::vector<OTableConnection*>::iterator aEnd = m_vTableConnection.end();
+ for(;aIter != aEnd;++aIter)
{
m_pOwner->DeselectConn(*aIter);
delete (*aIter);
diff --git a/dbaccess/source/ui/querydesign/QueryTableView.cxx b/dbaccess/source/ui/querydesign/QueryTableView.cxx
index 2d2623e4b246..a936178c0fab 100644
--- a/dbaccess/source/ui/querydesign/QueryTableView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryTableView.cxx
@@ -434,14 +434,15 @@ void OQueryTableView::NotifyTabConnection(const OQueryTableConnection& rNewConn,
// erst mal schauen, ob ich diese Connection schon habe
OQueryTableConnection* pTabConn = NULL;
const ::std::vector<OTableConnection*>* pConnections = getTableConnections();
+ ::std::vector<OTableConnection*>::const_iterator aEnd = pConnections->end();
::std::vector<OTableConnection*>::const_iterator aIter = ::std::find( pConnections->begin(),
- pConnections->end(),
+ aEnd,
static_cast<const OTableConnection*>(&rNewConn)
);
- if(aIter == pConnections->end())
+ if(aIter == aEnd )
{
aIter = pConnections->begin();
- for(;aIter != pConnections->end();++aIter)
+ for(;aIter != aEnd;++aIter)
{
if(*static_cast<OQueryTableConnection*>(*aIter) == rNewConn)
{
@@ -549,14 +550,15 @@ void OQueryTableView::AddTabWin(const ::rtl::OUString& _rComposedName, const ::r
TTableWindowData::value_type pNewTabWinData;
TTableWindowData* pWindowData = getDesignView()->getController().getTableWindowData();
TTableWindowData::iterator aWinIter = pWindowData->begin();
- for(;aWinIter != pWindowData->end();++aWinIter)
+ TTableWindowData::iterator aWinEnd = pWindowData->end();
+ for(;aWinIter != aWinEnd;++aWinIter)
{
pNewTabWinData = *aWinIter;
if (pNewTabWinData && pNewTabWinData->GetWinName() == strAlias && pNewTabWinData->GetComposedName() == _rComposedName && pNewTabWinData->GetTableName() == _rTableName)
break;
}
if ( !bAppend )
- bAppend = ( aWinIter == pWindowData->end() );
+ bAppend = ( aWinIter == aWinEnd );
if ( bAppend )
pNewTabWinData = createTableWindowData(_rComposedName, _rTableName, strAlias);
// die TabWinData brauche ich nicht in die entsprechende Liste der DocShell eintragen, das macht ShowTabWin
@@ -626,9 +628,10 @@ void OQueryTableView::AddTabWin(const ::rtl::OUString& _rComposedName, const ::r
OSL_ENSURE(aReferencedTable.getLength(),"Foreign key without referencedTableName");
OTableWindowMap::const_iterator aIter = pTabWins->find(aReferencedTable);
- if(aIter == pTabWins->end())
+ OTableWindowMap::const_iterator aEnd = pTabWins->end();
+ if(aIter == aEnd)
{
- for(aIter = pTabWins->begin();aIter != pTabWins->end();++aIter)
+ for(aIter = pTabWins->begin();aIter != aEnd;++aIter)
{
OQueryTableWindow* pTabWinTmp = static_cast<OQueryTableWindow*>(aIter->second);
OSL_ENSURE( pTabWinTmp,"TableWindow is null!" );
@@ -636,7 +639,7 @@ void OQueryTableView::AddTabWin(const ::rtl::OUString& _rComposedName, const ::r
break;
}
}
- if ( aIter != pTabWins->end() && pNewTabWin != aIter->second )
+ if ( aIter != aEnd && pNewTabWin != aIter->second )
addConnections( this, *pNewTabWin, *static_cast<OQueryTableWindow*>(aIter->second), xFKeyColumns );
}
break;
@@ -645,7 +648,8 @@ void OQueryTableView::AddTabWin(const ::rtl::OUString& _rComposedName, const ::r
{
// we have a primary key so look in our list if there exsits a key which this is refered to
OTableWindowMap::const_iterator aIter = pTabWins->begin();
- for(;aIter != pTabWins->end();++aIter)
+ OTableWindowMap::const_iterator aEnd = pTabWins->end();
+ for(;aIter != aEnd;++aIter)
{
OQueryTableWindow* pTabWinTmp = static_cast<OQueryTableWindow*>(aIter->second);
if ( pTabWinTmp == pNewTabWin )
@@ -827,7 +831,8 @@ sal_Bool OQueryTableView::FindTableFromField(const String& rFieldName, OTableFie
DBG_CHKTHIS(OQueryTableView,NULL);
rCnt = 0;
OTableWindowMap::const_iterator aIter = GetTabWinMap()->begin();
- for(;aIter != GetTabWinMap()->end();++aIter)
+ OTableWindowMap::const_iterator aEnd = GetTabWinMap()->end();
+ for(;aIter != aEnd;++aIter)
{
if(static_cast<OQueryTableWindow*>(aIter->second)->ExistsField(rFieldName, rInfo))
++rCnt;
@@ -919,7 +924,8 @@ void OQueryTableView::HideTabWin( OQueryTableWindow* pTabWin, OQueryTabWinUndoAc
// (ich muss ueber das Parent gehen, da nur das die Position der Scrollbars kennt)
// dann aus der Liste der TabWins raus und verstecken
OTableWindowMap::iterator aIter = pTabWins->begin();
- for ( ;aIter != pTabWins->end(); ++aIter )
+ OTableWindowMap::iterator aEnd = pTabWins->end();
+ for ( ;aIter != aEnd ; ++aIter )
if ( aIter->second == pTabWin )
{
pTabWins->erase( aIter );
@@ -943,7 +949,7 @@ void OQueryTableView::HideTabWin( OQueryTableWindow* pTabWin, OQueryTabWinUndoAc
sal_Int16 nCnt = 0;
const ::std::vector<OTableConnection*>* pTabConList = getTableConnections();
::std::vector<OTableConnection*>::const_iterator aIter2 = pTabConList->begin();
- for(;aIter2 != pTabConList->end();)
+ for(;aIter2 != pTabConList->end();)// the end may change
{
OQueryTableConnection* pTmpEntry = static_cast<OQueryTableConnection*>(*aIter2);
OSL_ENSURE(pTmpEntry,"OQueryTableConnection is null!");
@@ -1016,8 +1022,9 @@ sal_Bool OQueryTableView::ShowTabWin( OQueryTableWindow* pTabWin, OQueryTabWinUn
// die Connections
::std::vector<OTableConnection*>* pTableCon = pUndoAction->GetTabConnList();
::std::vector<OTableConnection*>::iterator aIter = pTableCon->begin();
+ ::std::vector<OTableConnection*>::iterator aEnd = pTableCon->end();
- for(;aIter != pTableCon->end();++aIter)
+ for(;aIter != aEnd;++aIter)
addConnection(*aIter); // add all connections from the undo action
// each connection should invalidated inside addConnection so we don't need this here any longer
@@ -1069,7 +1076,8 @@ sal_Bool OQueryTableView::ExistsAVisitedConn(const OQueryTableWindow* pFrom) con
if (pList)
{
::std::vector<OTableConnection*>::const_iterator aIter = pList->begin();
- for(;aIter != pList->end();++aIter)
+ ::std::vector<OTableConnection*>::const_iterator aEnd = pList->end();
+ for(;aIter != aEnd;++aIter)
{
OQueryTableConnection* pTemp = static_cast<OQueryTableConnection*>(*aIter);
if (pTemp->IsVisited() &&
diff --git a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
index 440be631a3ae..fa1b1e82fbd8 100644
--- a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
+++ b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
@@ -573,7 +573,9 @@ void OSelectionBrowseBox::InitController(CellControllerRef& /*rController*/, lon
if (pTabWinList)
{
OJoinTableView::OTableWindowMap::iterator aIter = pTabWinList->begin();
- for(;aIter != pTabWinList->end();++aIter)
+ OJoinTableView::OTableWindowMap::iterator aEnd = pTabWinList->end();
+
+ for(;aIter != aEnd;++aIter)
m_pTableCell->InsertEntry(static_cast<OQueryTableWindow*>(aIter->second)->GetAliasName());
m_pTableCell->InsertEntry(String(ModuleRes(STR_QUERY_NOTABLE)), 0);
@@ -1790,7 +1792,8 @@ void OSelectionBrowseBox::AddGroupBy( const OTableFieldDescRef& rInfo , sal_uInt
OTableFields& rFields = getFields();
OTableFields::iterator aIter = rFields.begin();
- for(;aIter != rFields.end();++aIter)
+ OTableFields::iterator aEnd = rFields.end();
+ for(;aIter != aEnd;++aIter)
{
pEntry = *aIter;
OSL_ENSURE(pEntry.isValid(),"OTableFieldDescRef was null!");
@@ -1845,8 +1848,10 @@ void OSelectionBrowseBox::AddCondition( const OTableFieldDescRef& rInfo, const S
Reference<XDatabaseMetaData> xMeta = xConnection->getMetaData();
::comphelper::UStringMixEqual bCase(xMeta.is() && xMeta->supportsMixedCaseQuotedIdentifiers());
- OTableFields::iterator aIter = getFields().begin();
- for(;aIter != getFields().end();++aIter)
+ OTableFields& rFields = getFields();
+ OTableFields::iterator aIter = rFields.begin();
+ OTableFields::iterator aEnd = rFields.end();
+ for(;aIter != aEnd;++aIter)
{
pEntry = *aIter;
const ::rtl::OUString aField = pEntry->GetField();
@@ -1926,7 +1931,8 @@ void OSelectionBrowseBox::AddOrder( const OTableFieldDescRef& rInfo, const EOrde
sal_Bool bAppend = sal_False;
OTableFields& rFields = getFields();
OTableFields::iterator aIter = rFields.begin();
- for(;aIter != rFields.end();++aIter)
+ OTableFields::iterator aEnd = rFields.end();
+ for(;aIter != aEnd;++aIter)
{
pEntry = *aIter;
::rtl::OUString aField = pEntry->GetField();
diff --git a/dbaccess/source/ui/querydesign/TableConnection.cxx b/dbaccess/source/ui/querydesign/TableConnection.cxx
index 11e9da016f0d..38b2507da98a 100644
--- a/dbaccess/source/ui/querydesign/TableConnection.cxx
+++ b/dbaccess/source/ui/querydesign/TableConnection.cxx
@@ -89,8 +89,9 @@ namespace dbaui
// Linienliste mit Defaults initialisieren
OConnectionLineDataVec* pLineData = GetData()->GetConnLineDataList();
OConnectionLineDataVec::const_iterator aIter = pLineData->begin();
+ OConnectionLineDataVec::const_iterator aEnd = pLineData->end();
m_vConnLine.reserve(pLineData->size());
- for(;aIter != pLineData->end();++aIter)
+ for(;aIter != aEnd;++aIter)
m_vConnLine.push_back( new OConnectionLine(this, *aIter) );
}
@@ -102,7 +103,8 @@ namespace dbaui
// -----------------------------------------------------------------------------
void OTableConnection::clearLineData()
{
- for(::std::vector<OConnectionLine*>::iterator aLineIter = m_vConnLine.begin();aLineIter != m_vConnLine.end();++aLineIter)
+ ::std::vector<OConnectionLine*>::iterator aLineEnd = m_vConnLine.end();
+ for(::std::vector<OConnectionLine*>::iterator aLineIter = m_vConnLine.begin();aLineIter != aLineEnd;++aLineIter)
delete *aLineIter;
m_vConnLine.clear();
}
@@ -130,8 +132,9 @@ namespace dbaui
{
const ::std::vector<OConnectionLine*>* pLine = rConn.GetConnLineList();
::std::vector<OConnectionLine*>::const_iterator aIter = pLine->begin();
+ ::std::vector<OConnectionLine*>::const_iterator aEnd = pLine->end();
m_vConnLine.reserve(pLine->size());
- for(;aIter != pLine->end();++aIter)
+ for(;aIter != aEnd;++aIter)
m_vConnLine.push_back( CreateConnLine( **aIter ));
}
@@ -223,7 +226,8 @@ namespace dbaui
// Aus allen Linien das umgebende Rechteck bestimmen
Rectangle aBoundingRect( Point(0,0), Point(0,0) );
Rectangle aTempRect;
- for(::std::vector<OConnectionLine*>::const_iterator aIter = m_vConnLine.begin();aIter != m_vConnLine.end();++aIter)
+ ::std::vector<OConnectionLine*>::const_iterator aEnd = m_vConnLine.end();
+ for(::std::vector<OConnectionLine*>::const_iterator aIter = m_vConnLine.begin();aIter != aEnd;++aIter)
{
aTempRect = (*aIter)->GetBoundingRect();
diff --git a/dbaccess/source/ui/querydesign/TableConnectionData.cxx b/dbaccess/source/ui/querydesign/TableConnectionData.cxx
index 3ef73f61dbdb..c1d55cfb4793 100644
--- a/dbaccess/source/ui/querydesign/TableConnectionData.cxx
+++ b/dbaccess/source/ui/querydesign/TableConnectionData.cxx
@@ -111,7 +111,8 @@ OTableConnectionData& OTableConnectionData::operator=( const OTableConnectionDat
OConnectionLineDataVec* pLineData = const_cast<OTableConnectionData*>(&rConnData)->GetConnLineDataList();
OConnectionLineDataVec::const_iterator aIter = pLineData->begin();
- for(;aIter != pLineData->end();++aIter)
+ OConnectionLineDataVec::const_iterator aEnd = pLineData->end();
+ for(;aIter != aEnd;++aIter)
m_vConnLineData.push_back(new OConnectionLineData(**aIter));
return *this;
@@ -140,12 +141,13 @@ BOOL OTableConnectionData::SetConnLine( USHORT nIndex, const String& rSourceFiel
BOOL OTableConnectionData::AppendConnLine( const ::rtl::OUString& rSourceFieldName, const ::rtl::OUString& rDestFieldName )
{
OConnectionLineDataVec::iterator aIter = m_vConnLineData.begin();
- for(;aIter != m_vConnLineData.end();++aIter)
+ OConnectionLineDataVec::iterator aEnd = m_vConnLineData.end();
+ for(;aIter != aEnd;++aIter)
{
if((*aIter)->GetDestFieldName() == rDestFieldName && (*aIter)->GetSourceFieldName() == rSourceFieldName)
break;
}
- if(aIter == m_vConnLineData.end())
+ if(aIter == aEnd)
{
OConnectionLineDataRef pNew = new OConnectionLineData(rSourceFieldName, rDestFieldName);
if (!pNew.isValid())
diff --git a/dbaccess/source/ui/querydesign/TableWindowAccess.cxx b/dbaccess/source/ui/querydesign/TableWindowAccess.cxx
index 9db1be38959f..fe419a957e7e 100644
--- a/dbaccess/source/ui/querydesign/TableWindowAccess.cxx
+++ b/dbaccess/source/ui/querydesign/TableWindowAccess.cxx
@@ -187,9 +187,10 @@ namespace dbaui
// search the postion of our table window in the table window map
OJoinTableView::OTableWindowMap* pMap = m_pTable->getTableView()->GetTabWinMap();
OJoinTableView::OTableWindowMap::iterator aIter = pMap->begin();
- for (nIndex = 0; aIter != pMap->end() && aIter->second != m_pTable; ++nIndex,++aIter)
+ OJoinTableView::OTableWindowMap::iterator aEnd = pMap->end();
+ for (nIndex = 0; aIter != aEnd && aIter->second != m_pTable; ++nIndex,++aIter)
;
- nIndex = aIter != pMap->end() ? nIndex : -1;
+ nIndex = aIter != aEnd ? nIndex : -1;
}
return nIndex;
}
@@ -278,9 +279,10 @@ namespace dbaui
const ::std::vector<OTableConnection*>* pConnectionList = pView->getTableConnections();
::std::vector<OTableConnection*>::const_iterator aIter = pView->getTableConnections(m_pTable);
+ ::std::vector<OTableConnection*>::const_iterator aEnd = pConnectionList->end();
::std::vector< Reference<XInterface> > aRelations;
aRelations.reserve(5); // just guessing
- for (; aIter != pConnectionList->end() ; ++aIter )
+ for (; aIter != aEnd ; ++aIter )
aRelations.push_back(getParentChild(aIter - pConnectionList->begin()));
Reference<XInterface> *pRelations = aRelations.empty() ? 0 : &aRelations[0];
diff --git a/dbaccess/source/ui/querydesign/querycontroller.cxx b/dbaccess/source/ui/querydesign/querycontroller.cxx
index 5b6be38be4a9..d29fa9b3ab5a 100644
--- a/dbaccess/source/ui/querydesign/querycontroller.cxx
+++ b/dbaccess/source/ui/querydesign/querycontroller.cxx
@@ -1098,8 +1098,9 @@ void OQueryController::reconnect(sal_Bool _bUI)
void OQueryController::saveViewSettings(Sequence<PropertyValue>& _rViewProps)
{
OTableFields::const_iterator aFieldIter = m_vTableFieldDesc.begin();
+ OTableFields::const_iterator aFieldEnd = m_vTableFieldDesc.end();
sal_Int32 nCount = 0;
- for(;aFieldIter != m_vTableFieldDesc.end();++aFieldIter)
+ for(;aFieldIter != aFieldEnd;++aFieldIter)
{
if(!(*aFieldIter)->IsEmpty())
++nCount;
@@ -1118,7 +1119,7 @@ void OQueryController::saveViewSettings(Sequence<PropertyValue>& _rViewProps)
PropertyValue *pFieldsIter = aFields.getArray();
// the fielddata
aFieldIter = m_vTableFieldDesc.begin();
- for(sal_Int32 i = 1;aFieldIter != m_vTableFieldDesc.end();++aFieldIter,++i)
+ for(sal_Int32 i = 1;aFieldIter !=aFieldEnd;++aFieldIter,++i)
{
if ( !(*aFieldIter)->IsEmpty() )
{