diff options
author | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2011-08-23 15:02:56 +0200 |
---|---|---|
committer | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2011-08-23 15:02:56 +0200 |
commit | fdc4da32a09265b19470ab09db998ea28936106e (patch) | |
tree | 960b32cda2755f988d0d34e568f1019ad2bce0d2 /dbaccess/source/core/api/RowSetCache.cxx | |
parent | aa20084bd041208841d5ad3ca50b1e963eb5986e (diff) |
recreated tag libreoffice-3.3.0.4 which had these commits:
commit e082905e4ce8c9018a2a38035e212eb45e9f70b1 (tag: refs/tags/libreoffice-3.3.0.4, refs/remotes/origin/libreoffice-3-3-0)
Author: Petr Mladek <pmladek@suse.cz>
Date: Tue Jan 18 19:01:14 2011 +0100
Version 3.3.0.4, tag libreoffice-3.3.0.4 (3.3-rc4)
commit 35131d5a73dd02924bf4b404c55d0dbeb324db1f
Author: Lionel Elie Mamane <lionel@mamane.lu>
Date: Sat Jan 15 05:39:40 2011 +0100
i#116187: report left/right page margin setting ignored on Unix 64 bit
(cherry picked from commit 51a9333217687ff16df40ea3bd8983faaf5e425a)
Signed-off-by: Michael Meeks <michael.meeks@novell.com>
reportdesign/source/ui/report/ReportController.cxx | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit ae3903b548d8d05807cc7f3a029495388de5e302
Author: Kohei Yoshida <kyoshida@novell.com>
Date: Fri Jan 14 11:24:43 2011 -0500
Remove the Registration... menu item which we don't want. (fdo#33112)
dbaccess/uiconfig/dbtdata/menubar/menubar.xml | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
commit c71822d4eb36b43cdb08c25d207cae5e3c1660cd
Author: Noel Power <noel.power@novell.com>
Date: Wed Jan 12 11:09:51 2011 +0000
fix for fdo#32742#
reportdesign/source/ui/inspection/metadata.cxx | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 66d25b635de422a4a811710cb3289266d9a11a84
Author: Petr Mladek <pmladek@suse.cz>
Date: Tue Jan 11 22:59:35 2011 +0100
Branch libreoffice-3-3-0
This is 'libreoffice-3-3-0' - the stable branch for the 3.3.0 release.
Only very safe changes, reviewed by three people are allowed.
If you want to commit more complicated fix for the next 3.3.x release,
please use the 'libreoffice-3-3' branch.
If you want to build something cool, unstable, and risky, use master.
Notes
Notes:
split repo tag: base_libreoffice-3.3.0.4
Diffstat (limited to 'dbaccess/source/core/api/RowSetCache.cxx')
-rw-r--r-- | dbaccess/source/core/api/RowSetCache.cxx | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/dbaccess/source/core/api/RowSetCache.cxx b/dbaccess/source/core/api/RowSetCache.cxx index 3710a0e0c108..6ff4fdaa584c 100644 --- a/dbaccess/source/core/api/RowSetCache.cxx +++ b/dbaccess/source/core/api/RowSetCache.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -86,8 +86,8 @@ ORowSetCache::ORowSetCache(const Reference< XResultSet >& _xRs, const Reference< XSingleSelectQueryAnalyzer >& _xAnalyzer, const ::comphelper::ComponentContext& _rContext, const ::rtl::OUString& _rUpdateTableName, - sal_Bool& _bModified, - sal_Bool& _bNew, + sal_Bool& _bModified, + sal_Bool& _bNew, const ORowSetValueVector& _aParameterValueForCache, const ::rtl::OUString& i_sRowSetFilter) :m_xSet(_xRs) @@ -170,7 +170,7 @@ ORowSetCache::ORowSetCache(const Reference< XResultSet >& _xRs, OSL_ENSURE(xTabSup.is(),"ORowSet::execute composer isn't a tablesupplier!"); Reference<XNameAccess> xTables = xTabSup->getTables(); Sequence< ::rtl::OUString> aTableNames = xTables->getElementNames(); - if ( aTableNames.getLength() > 1 && !_rUpdateTableName.getLength() && bNeedKeySet ) + if ( aTableNames.getLength() > 1 && !_rUpdateTableName.getLength() && bNeedKeySet ) {// here we have a join or union and nobody told us which table to update, so we update them all m_nPrivileges = Privilege::SELECT|Privilege::DELETE|Privilege::INSERT|Privilege::UPDATE; OptimisticSet* pCursor = new OptimisticSet(m_aContext,xConnection,_xAnalyzer,_aParameterValueForCache); @@ -279,8 +279,8 @@ ORowSetCache::ORowSetCache(const Reference< XResultSet >& _xRs, Reference<XDatabaseMetaData> xMeta = xConnection->getMetaData(); SelectColumnsMetaData aColumnNames(xMeta.is() && xMeta->supportsMixedCaseQuotedIdentifiers() ? true : false); Reference<XColumnsSupplier> xColSup(_xAnalyzer,UNO_QUERY); - Reference<XNameAccess> xSelColumns = xColSup->getColumns(); - Reference<XNameAccess> xColumns = m_aUpdateTable->getColumns(); + Reference<XNameAccess> xSelColumns = xColSup->getColumns(); + Reference<XNameAccess> xColumns = m_aUpdateTable->getColumns(); ::dbaccess::getColumnPositions(xSelColumns,xColumns->getElementNames(),aUpdateTableName,aColumnNames); // check privileges @@ -288,8 +288,8 @@ ORowSetCache::ORowSetCache(const Reference< XResultSet >& _xRs, sal_Bool bNoInsert = sal_False; Sequence< ::rtl::OUString> aNames(xColumns->getElementNames()); - const ::rtl::OUString* pIter = aNames.getConstArray(); - const ::rtl::OUString* pEnd = pIter + aNames.getLength(); + const ::rtl::OUString* pIter = aNames.getConstArray(); + const ::rtl::OUString* pEnd = pIter + aNames.getLength(); for(;pIter != pEnd;++pIter) { Reference<XPropertySet> xColumn(xColumns->getByName(*pIter),UNO_QUERY); @@ -362,9 +362,9 @@ ORowSetCache::~ORowSetCache() m_pInsertMatrix->clear(); delete m_pInsertMatrix; } - m_xSet = WeakReference< XResultSet>(); - m_xMetaData = NULL; - m_aUpdateTable = NULL; + m_xSet = WeakReference< XResultSet>(); + m_xMetaData = NULL; + m_aUpdateTable = NULL; DBG_DTOR(ORowSetCache,NULL); } @@ -383,7 +383,7 @@ void ORowSetCache::setMaxRowSize(sal_Int32 _nSize) m_aMatrixEnd = m_pMatrix->end(); m_pInsertMatrix = new ORowSetMatrix(1); // a little bit overkill but ??? :-) - m_aInsertRow = m_pInsertMatrix->end(); + m_aInsertRow = m_pInsertMatrix->end(); } else { @@ -416,7 +416,7 @@ void ORowSetCache::setMaxRowSize(sal_Int32 _nSize) // now adjust their positions because a resize invalid all iterators ::std::vector<sal_Int32>::const_iterator aIter = aPositions.begin(); ::std::map<sal_Int32,sal_Bool>::const_iterator aPosChangeIter = aCacheIterToChange.begin(); - for( aCacheIter = m_aCacheIterators.begin(); + for( aCacheIter = m_aCacheIterators.begin(); aPosChangeIter != aCacheIterToChange.end(); ++aPosChangeIter,++aCacheIter) { @@ -480,7 +480,7 @@ sal_Bool ORowSetCache::moveToBookmark( const Any& bookmark ) if ( m_pCacheSet->moveToBookmark(bookmark) ) { m_bBeforeFirst = sal_False; - m_nPosition = m_pCacheSet->getRow(); + m_nPosition = m_pCacheSet->getRow(); checkPositionFlags(); @@ -512,7 +512,7 @@ sal_Bool ORowSetCache::moveRelativeToBookmark( const Any& bookmark, sal_Int32 ro { m_nPosition = m_pCacheSet->getRow() + rows; absolute(m_nPosition); - // for(sal_Int32 i=0;i<rows && m_aMatrixIter != m_pMatrix->end();++i,++m_aMatrixIter) ; + // for(sal_Int32 i=0;i<rows && m_aMatrixIter != m_pMatrix->end();++i,++m_aMatrixIter) ; bRet = m_aMatrixIter != m_pMatrix->end() && (*m_aMatrixIter).is(); } @@ -592,7 +592,7 @@ void ORowSetCache::updateCharacterStream( sal_Int32 columnIndex, const Reference void ORowSetCache::updateObject( sal_Int32 columnIndex, const Any& x ,ORowSetValueVector::Vector& io_aRow - ,::std::vector<sal_Int32>& o_ChangedColumns + ,::std::vector<sal_Int32>& o_ChangedColumns ) { checkUpdateConditions(columnIndex); @@ -649,7 +649,7 @@ sal_Bool ORowSetCache::next( ) sal_Bool ORowSetCache::isBeforeFirst( ) { - // return !m_nPosition; + // return !m_nPosition; return m_bBeforeFirst; } @@ -668,7 +668,7 @@ sal_Bool ORowSetCache::isFirst( ) sal_Bool ORowSetCache::isLast( ) { - // return m_bRowCountFinal ? (m_nPosition==m_nRowCount) : m_pCacheSet->isLast(); + // return m_bRowCountFinal ? (m_nPosition==m_nRowCount) : m_pCacheSet->isLast(); return m_nPosition == m_nRowCount; } @@ -679,9 +679,9 @@ sal_Bool ORowSetCache::beforeFirst( ) if(!m_bBeforeFirst) { - m_bAfterLast = sal_False; - m_nPosition = 0; - m_bBeforeFirst = sal_True; + m_bAfterLast = sal_False; + m_nPosition = 0; + m_bBeforeFirst = sal_True; m_pCacheSet->beforeFirst(); moveWindow(); m_aMatrixIter = m_pMatrix->end(); @@ -729,7 +729,7 @@ sal_Bool ORowSetCache::fillMatrix(sal_Int32& _nNewStartPos,sal_Int32 _nNewEndPos m_pCacheSet->fillValueRow(*aIter,i); } else - { // there are no more rows found so we can fetch some before start + { // there are no more rows found so we can fetch some before start if(!m_bRowCountFinal) { @@ -764,7 +764,7 @@ sal_Bool ORowSetCache::fillMatrix(sal_Int32& _nNewStartPos,sal_Int32 _nNewEndPos } bCheck = m_pCacheSet->next(); } - // m_nStartPos = _nNewStartPos; + // m_nStartPos = _nNewStartPos; // we have to read one row forward to enshure that we know when we are on last row // but only when we don't know it already if(!m_bRowCountFinal) @@ -788,17 +788,17 @@ sal_Bool ORowSetCache::moveWindow() sal_Bool bRet = sal_True; sal_Int32 nDiff = (sal_Int32)(m_nFetchSize*0.5 -0.5); - sal_Int32 nNewStartPos = (m_nPosition - nDiff); - // sal_Int32 nNewEndPos = (m_nPosition+m_nFetchSize*0.5); - sal_Int32 nNewEndPos = nNewStartPos + m_nFetchSize; + sal_Int32 nNewStartPos = (m_nPosition - nDiff); + // sal_Int32 nNewEndPos = (m_nPosition+m_nFetchSize*0.5); + sal_Int32 nNewEndPos = nNewStartPos + m_nFetchSize; if ( m_nPosition <= m_nStartPos ) - { // the window is behind the new start pos + { // the window is behind the new start pos if(!m_nStartPos) return sal_False; // the new position should be the nPos - nFetchSize/2 if ( nNewEndPos > m_nStartPos ) - { // but the two regions are overlapping + { // but the two regions are overlapping // fill the rows behind the new end ORowSetMatrix::iterator aEnd; // the iterator we need for rotate @@ -808,7 +808,7 @@ sal_Bool ORowSetCache::moveWindow() if ( nNewStartPos < 1 ) { bCheck = m_pCacheSet->first(); - // aEnd = m_pMatrix->begin() + (sal_Int32)(m_nFetchSize*0.5); + // aEnd = m_pMatrix->begin() + (sal_Int32)(m_nFetchSize*0.5); OSL_ENSURE((nNewEndPos - m_nStartPos - nNewStartPos) < (sal_Int32)m_pMatrix->size(),"Position is behind end()!"); aEnd = m_pMatrix->begin() + (nNewEndPos - m_nStartPos - nNewStartPos); aIter = aEnd; @@ -830,7 +830,7 @@ sal_Bool ORowSetCache::moveWindow() ::std::rotate(m_pMatrix->begin(),aEnd,m_pMatrix->end()); // now correct the iterator in our iterator vector - // rotateCacheIterator(aEnd-m_pMatrix->begin()); //can't be used because they decrement and here we need to increment + // rotateCacheIterator(aEnd-m_pMatrix->begin()); //can't be used because they decrement and here we need to increment ptrdiff_t nNewDist = aEnd - m_pMatrix->begin(); ptrdiff_t nOffSet = m_pMatrix->end() - aEnd; ORowSetCacheMap::iterator aCacheIter = m_aCacheIterators.begin(); @@ -899,10 +899,10 @@ sal_Bool ORowSetCache::moveWindow() } } else if(m_nPosition > m_nStartPos) - { // the new start pos is above the startpos of the window + { // the new start pos is above the startpos of the window if(m_nPosition <= (m_nStartPos+m_nFetchSize)) - { // position in window + { // position in window OSL_ENSURE((m_nPosition - m_nStartPos -1) < (sal_Int32)m_pMatrix->size(),"Position is behind end()!"); m_aMatrixIter = calcPosition(); if(!m_aMatrixIter->is()) @@ -933,7 +933,7 @@ sal_Bool ORowSetCache::moveWindow() } } else if(nNewStartPos < (m_nStartPos+m_nFetchSize)) - { // position behind window but the region is overlapping + { // position behind window but the region is overlapping // the rows from begin() to (begin + nNewStartPos - m_nStartPos) can be refilled with the new rows // the rows behind this can be reused ORowSetMatrix::iterator aIter = m_pMatrix->begin(); @@ -944,9 +944,9 @@ sal_Bool ORowSetCache::moveWindow() sal_Bool bCheck = m_pCacheSet->absolute(nPos); bCheck = fill(aIter,aEnd,nPos,bCheck); // refill the region wew don't need anymore -// // we know that this is the current maximal rowcount here -// if ( !m_bRowCountFinal && bCheck ) -// m_nRowCount = std::max(nPos,m_nRowCount); +// // we know that this is the current maximal rowcount here +// if ( !m_bRowCountFinal && bCheck ) +// m_nRowCount = std::max(nPos,m_nRowCount); // we have to read one row forward to enshure that we know when we are on last row // but only when we don't know it already sal_Bool bOk = sal_True; @@ -954,7 +954,7 @@ sal_Bool ORowSetCache::moveWindow() bOk = m_pCacheSet->next(); // bind end to front if(bCheck) - { // rotate the end to the front + { // rotate the end to the front ::std::rotate(m_pMatrix->begin(),aIter,m_pMatrix->end()); // now correct the iterator in our iterator vector rotateCacheIterator( (sal_Int16)( aIter - m_pMatrix->begin() ) ); @@ -963,30 +963,30 @@ sal_Bool ORowSetCache::moveWindow() if(!bOk) { m_pCacheSet->previous(); // because we stand after the last row - m_nRowCount = nPos; // here we have the row count + m_nRowCount = nPos; // here we have the row count m_bRowCountFinal = sal_True; } else if(!m_bRowCountFinal) m_nRowCount = std::max(++nPos,m_nRowCount); } else - { // the end was reached before end() so we can set the start before nNewStartPos + { // the end was reached before end() so we can set the start before nNewStartPos m_nStartPos += (aIter - m_pMatrix->begin()); - // m_nStartPos = (aIter - m_pMatrix->begin()); + // m_nStartPos = (aIter - m_pMatrix->begin()); ::std::rotate(m_pMatrix->begin(),aIter,m_pMatrix->end()); // now correct the iterator in our iterator vector rotateCacheIterator( (sal_Int16)( aIter - m_pMatrix->begin() ) ); if ( !m_bRowCountFinal ) { - m_pCacheSet->previous(); // because we stand after the last row - m_nRowCount = std::max(m_nRowCount,--nPos); // here we have the row count + m_pCacheSet->previous(); // because we stand after the last row + m_nRowCount = std::max(m_nRowCount,--nPos); // here we have the row count OSL_ENSURE(nPos == m_pCacheSet->getRow(),"nPos isn't valid!"); m_bRowCountFinal = sal_True; } // TODO check - // m_nStartPos = (nNewStartPos+m_nRowCount) - m_nFetchSize ; + // m_nStartPos = (nNewStartPos+m_nRowCount) - m_nFetchSize ; if(m_nStartPos < 0) m_nStartPos = 0; } @@ -995,8 +995,8 @@ sal_Bool ORowSetCache::moveWindow() { aIter = m_pMatrix->begin(); - nPos = m_nStartPos; - bCheck = m_pCacheSet->absolute(m_nStartPos); + nPos = m_nStartPos; + bCheck = m_pCacheSet->absolute(m_nStartPos); for(; !aIter->is() && bCheck;++aIter) { OSL_ENSURE(aIter != m_pMatrix->end(),"Invalid iterator"); @@ -1029,10 +1029,10 @@ sal_Bool ORowSetCache::first( ) sal_Bool bRet = m_pCacheSet->first(); if(bRet) { - m_bBeforeFirst = m_bAfterLast = sal_False; - m_nPosition = 1; + m_bBeforeFirst = m_bAfterLast = sal_False; + m_nPosition = 1; moveWindow(); - m_aMatrixIter = m_pMatrix->begin(); + m_aMatrixIter = m_pMatrix->begin(); } else { @@ -1105,8 +1105,8 @@ sal_Bool ORowSetCache::absolute( sal_Int32 row ) } else { - m_bBeforeFirst = sal_False; - m_bAfterLast = m_nPosition > m_nRowCount; + m_bBeforeFirst = sal_False; + m_bAfterLast = m_nPosition > m_nRowCount; moveWindow(); OSL_ENSURE(((m_nPosition - m_nStartPos) - 1) < (sal_Int32)m_pMatrix->size(),"Position is behind end()!"); m_aMatrixIter = calcPosition(); @@ -1119,7 +1119,7 @@ sal_Bool ORowSetCache::absolute( sal_Int32 row ) { m_nPosition = row; // the position flags - m_bBeforeFirst = sal_False; + m_bBeforeFirst = sal_False; checkPositionFlags(); if(!m_bAfterLast) @@ -1260,13 +1260,13 @@ void ORowSetCache::resetInsertRow(sal_Bool _bClearInsertRow) { if ( _bClearInsertRow ) clearInsertRow(); - m_bNew = sal_False; + m_bNew = sal_False; m_bModified = sal_False; } void ORowSetCache::cancelRowModification() { - // clear the insertrow references -> implies that the current row of the rowset changes as well + // clear the insertrow references -> implies that the current row of the rowset changes as well ORowSetCacheMap::iterator aCacheIter = m_aCacheIterators.begin(); ORowSetCacheMap::iterator aCacheEnd = m_aCacheIterators.end(); for(;aCacheIter != aCacheEnd;++aCacheIter) @@ -1290,7 +1290,7 @@ void ORowSetCache::updateRow( ORowSetMatrix::iterator& _rUpdateRow,::std::vector m_pCacheSet->updateRow(*_rUpdateRow,*m_aMatrixIter,m_aUpdateTable); // refetch the whole row (*m_aMatrixIter) = NULL; - + if ( moveToBookmark(aBookmark) ) { // update the cached values @@ -1313,7 +1313,7 @@ bool ORowSetCache::deleteRow( ) if(isAfterLast() || isBeforeFirst()) throw SQLException(DBACORE_RESSTRING(RID_STR_NO_DELETEROW),NULL,SQLSTATE_GENERAL,1000,Any() ); - // m_pCacheSet->absolute(m_nPosition); + // m_pCacheSet->absolute(m_nPosition); m_pCacheSet->deleteRow(*m_aMatrixIter,m_aUpdateTable); if ( !m_pCacheSet->rowDeleted() ) return false; @@ -1321,13 +1321,13 @@ bool ORowSetCache::deleteRow( ) --m_nRowCount; OSL_ENSURE(((m_nPosition - m_nStartPos) - 1) < (sal_Int32)m_pMatrix->size(),"Position is behind end()!"); ORowSetMatrix::iterator aPos = calcPosition(); - (*aPos) = NULL; + (*aPos) = NULL; ORowSetMatrix::iterator aEnd = m_pMatrix->end(); for(++aPos;aPos != aEnd && aPos->is();++aPos) { *(aPos-1) = *aPos; - (*aPos) = NULL; + (*aPos) = NULL; } m_aMatrixIter = m_pMatrix->end(); @@ -1355,8 +1355,8 @@ void ORowSetCache::cancelRowUpdates( ) void ORowSetCache::moveToInsertRow( ) { - m_bNew = sal_True; - m_bUpdated = m_bAfterLast = sal_False; + m_bNew = sal_True; + m_bUpdated = m_bAfterLast = sal_False; m_aInsertRow = m_pInsertMatrix->begin(); if(!m_aInsertRow->is()) @@ -1445,7 +1445,7 @@ void ORowSetCache::checkPositionFlags() { if(m_bRowCountFinal) { - m_bAfterLast = m_nPosition > m_nRowCount; + m_bAfterLast = m_nPosition > m_nRowCount; if(m_bAfterLast) m_nPosition = 0;//m_nRowCount; } @@ -1460,13 +1460,13 @@ void ORowSetCache::checkUpdateConditions(sal_Int32 columnIndex) sal_Bool ORowSetCache::checkInnerJoin(const ::connectivity::OSQLParseNode *pNode,const Reference< XConnection>& _xConnection,const ::rtl::OUString& _sUpdateTableName) { sal_Bool bOk = sal_False; - if (pNode->count() == 3 && // Ausdruck is geklammert + if (pNode->count() == 3 && // Ausdruck is geklammert SQL_ISPUNCTUATION(pNode->getChild(0),"(") && SQL_ISPUNCTUATION(pNode->getChild(2),")")) { bOk = checkInnerJoin(pNode->getChild(1),_xConnection,_sUpdateTableName); } - else if ((SQL_ISRULE(pNode,search_condition) || SQL_ISRULE(pNode,boolean_term)) && // AND/OR-Verknuepfung: + else if ((SQL_ISRULE(pNode,search_condition) || SQL_ISRULE(pNode,boolean_term)) && // AND/OR-Verknuepfung: pNode->count() == 3) { // nur AND Verknpfung zulassen @@ -1515,15 +1515,15 @@ sal_Bool ORowSetCache::checkJoin(const Reference< XConnection>& _xConnection, OSQLParseNode* pJoin = pTableRefCommalist->getByRule(::connectivity::OSQLParseNode::qualified_join); if(pJoin) { // we are only intereseted in qualified joins like RIGHT or LEFT - OSQLParseNode* pJoinType = pJoin->getChild(1); - OSQLParseNode* pOuterType = NULL; + OSQLParseNode* pJoinType = pJoin->getChild(1); + OSQLParseNode* pOuterType = NULL; if(SQL_ISRULE(pJoinType,join_type) && pJoinType->count() == 2) pOuterType = pJoinType->getChild(0); else if(SQL_ISRULE(pJoinType,outer_join_type)) pOuterType = pJoinType; - sal_Bool bCheck = sal_False; - sal_Bool bLeftSide = sal_False; + sal_Bool bCheck = sal_False; + sal_Bool bLeftSide = sal_False; if(pOuterType) { // found outer join bLeftSide = SQL_ISTOKEN(pOuterType->getChild(0),LEFT); @@ -1572,7 +1572,7 @@ void ORowSetCache::clearInsertRow() } } -ORowSetMatrix::iterator ORowSetCache::calcPosition() const +ORowSetMatrix::iterator ORowSetCache::calcPosition() const { sal_Int32 nValue = (m_nPosition - m_nStartPos) - 1; CHECK_MATRIX_POS(nValue); @@ -1666,7 +1666,7 @@ void ORowSetCache::impl_updateRowFromCache_throw(ORowSetValueVector::Vector& io_ break; } } - + if ( aIter == m_pMatrix->end() ) { m_pCacheSet->fillMissingValues(io_aRow); |