Kaydet (Commit) 5c35e6ca authored tarafından Caolán McNamara's avatar Caolán McNamara

so m_pEvaluationKeySet is always NULL

Change-Id: I79e92b63aa2efc9c3da595c8e857666a2d727900
üst 1bd2f9c4
...@@ -77,7 +77,6 @@ IMPLEMENT_SERVICE_INFO(OResultSet,"com.sun.star.sdbcx.drivers.file.ResultSet","c ...@@ -77,7 +77,6 @@ IMPLEMENT_SERVICE_INFO(OResultSet,"com.sun.star.sdbcx.drivers.file.ResultSet","c
OResultSet::OResultSet(OStatement_Base* pStmt,OSQLParseTreeIterator& _aSQLIterator) : OResultSet_BASE(m_aMutex) OResultSet::OResultSet(OStatement_Base* pStmt,OSQLParseTreeIterator& _aSQLIterator) : OResultSet_BASE(m_aMutex)
,::comphelper::OPropertyContainer(OResultSet_BASE::rBHelper) ,::comphelper::OPropertyContainer(OResultSet_BASE::rBHelper)
,m_aAssignValues(NULL) ,m_aAssignValues(NULL)
,m_pEvaluationKeySet(NULL)
,m_aSkipDeletedSet(this) ,m_aSkipDeletedSet(this)
,m_pFileSet(NULL) ,m_pFileSet(NULL)
,m_pSortIndex(NULL) ,m_pSortIndex(NULL)
...@@ -498,38 +497,6 @@ sal_Bool SAL_CALL OResultSet::isBeforeFirst( ) throw(SQLException, RuntimeExcep ...@@ -498,38 +497,6 @@ sal_Bool SAL_CALL OResultSet::isBeforeFirst( ) throw(SQLException, RuntimeExcep
return m_nRowPos == -1; return m_nRowPos == -1;
} }
// sal_Bool OResultSet::evaluate()
// {
// OSL_ENSURE(m_pSQLAnalyzer,"OResultSet::evaluate: Analyzer isn't set!");
// sal_Bool bRet = sal_True;
// while(!m_pSQLAnalyzer->evaluateRestriction())
// {
// if(m_pEvaluationKeySet)
// {
// if(m_aEvaluateIter == m_pEvaluationKeySet->end())
// return sal_False;
// bRet = m_pTable->seekRow(IResultSetHelper::BOOKMARK,(*m_aEvaluateIter),m_nRowPos);
// ++m_aEvaluateIter;
// }
// else
// bRet = m_pTable->seekRow(IResultSetHelper::NEXT,1,m_nRowPos);
// if(bRet)
// {
// if(m_pEvaluationKeySet)
// {
// bRet = m_pTable->fetchRow(m_aEvaluateRow,*(m_pTable->getTableColumns()),sal_True,sal_True);
// evaluate();
// }
// else
// bRet = m_pTable->fetchRow(m_aRow,*m_xColumns,sal_False,sal_True);
// }
// }
// return bRet;
// }
sal_Bool SAL_CALL OResultSet::next( ) throw(SQLException, RuntimeException, std::exception) sal_Bool SAL_CALL OResultSet::next( ) throw(SQLException, RuntimeException, std::exception)
{ {
::osl::MutexGuard aGuard( m_aMutex ); ::osl::MutexGuard aGuard( m_aMutex );
...@@ -850,17 +817,7 @@ again: ...@@ -850,17 +817,7 @@ again:
) )
{ // Evaluate the next record { // Evaluate the next record
// delete current row in Keyset // delete current row in Keyset
if (m_pEvaluationKeySet) if (m_pFileSet.is())
{
++m_aEvaluateIter;
if (m_pEvaluationKeySet->end() != m_aEvaluateIter)
nOffset = (*m_aEvaluateIter);
else
{
return false;
}
}
else if (m_pFileSet.is())
{ {
OSL_ENSURE(eCursorPosition == IResultSetHelper::NEXT, "Falsche CursorPosition!"); OSL_ENSURE(eCursorPosition == IResultSetHelper::NEXT, "Falsche CursorPosition!");
eCursorPosition = IResultSetHelper::NEXT; eCursorPosition = IResultSetHelper::NEXT;
...@@ -1026,22 +983,6 @@ bool OResultSet::Move(IResultSetHelper::Movement eCursorPosition, sal_Int32 nOff ...@@ -1026,22 +983,6 @@ bool OResultSet::Move(IResultSetHelper::Movement eCursorPosition, sal_Int32 nOff
// Determine the number of further Fetches // Determine the number of further Fetches
while (bOK && m_nRowPos >= (sal_Int32)m_pFileSet->get().size()) while (bOK && m_nRowPos >= (sal_Int32)m_pFileSet->get().size())
{ {
if (m_pEvaluationKeySet)
{
if (m_nRowPos >= (sal_Int32)m_pEvaluationKeySet->size())
return false;
else if (m_nRowPos == 0)
{
m_aEvaluateIter = m_pEvaluationKeySet->begin();
bOK = ExecuteRow(IResultSetHelper::BOOKMARK,*m_aEvaluateIter,true, bRetrieveData);
}
else
{
++m_aEvaluateIter;
bOK = ExecuteRow(IResultSetHelper::BOOKMARK,*m_aEvaluateIter,true, bRetrieveData);
}
}
else
bOK = ExecuteRow(IResultSetHelper::NEXT,1,true, false);//bRetrieveData); bOK = ExecuteRow(IResultSetHelper::NEXT,1,true, false);//bRetrieveData);
} }
...@@ -1061,7 +1002,6 @@ bool OResultSet::Move(IResultSetHelper::Movement eCursorPosition, sal_Int32 nOff ...@@ -1061,7 +1002,6 @@ bool OResultSet::Move(IResultSetHelper::Movement eCursorPosition, sal_Int32 nOff
else if (!m_pFileSet->isFrozen()) // no valid record found else if (!m_pFileSet->isFrozen()) // no valid record found
{ {
m_pFileSet->setFrozen(); m_pFileSet->setFrozen();
m_pEvaluationKeySet = NULL;
goto Error; goto Error;
} }
} }
...@@ -1224,18 +1164,6 @@ void OResultSet::sortRows() ...@@ -1224,18 +1164,6 @@ void OResultSet::sortRows()
m_pSortIndex = new OSortIndex(eKeyType,m_aOrderbyAscending); m_pSortIndex = new OSortIndex(eKeyType,m_aOrderbyAscending);
if (m_pEvaluationKeySet)
{
m_aEvaluateIter = m_pEvaluationKeySet->begin();
while (m_aEvaluateIter != m_pEvaluationKeySet->end())
{
ExecuteRow(IResultSetHelper::BOOKMARK,(*m_aEvaluateIter),true);
++m_aEvaluateIter;
}
}
else
{
while ( ExecuteRow( IResultSetHelper::NEXT, 1, false, true ) ) while ( ExecuteRow( IResultSetHelper::NEXT, 1, false, true ) )
{ {
m_aSelectRow->get()[0]->setValue( m_aRow->get()[0]->getValue() ); m_aSelectRow->get()[0]->setValue( m_aRow->get()[0]->getValue() );
...@@ -1244,10 +1172,8 @@ void OResultSet::sortRows() ...@@ -1244,10 +1172,8 @@ void OResultSet::sortRows()
const sal_Int32 nBookmark = (*m_aRow->get().begin())->getValue(); const sal_Int32 nBookmark = (*m_aRow->get().begin())->getValue();
ExecuteRow( IResultSetHelper::BOOKMARK, nBookmark, true, false ); ExecuteRow( IResultSetHelper::BOOKMARK, nBookmark, true, false );
} }
}
// create sorted Keyset // create sorted Keyset
m_pEvaluationKeySet = NULL;
m_pFileSet = NULL; m_pFileSet = NULL;
m_pFileSet = m_pSortIndex->CreateKeySet(); m_pFileSet = m_pSortIndex->CreateKeySet();
DELETEZ(m_pSortIndex); DELETEZ(m_pSortIndex);
...@@ -1315,33 +1241,18 @@ bool OResultSet::OpenImpl() ...@@ -1315,33 +1241,18 @@ bool OResultSet::OpenImpl()
// do all actions (or just count) // do all actions (or just count)
{ {
bool bOK = true; bool bOK = true;
if (m_pEvaluationKeySet)
{
m_aEvaluateIter = m_pEvaluationKeySet->begin();
bOK = m_aEvaluateIter == m_pEvaluationKeySet->end();
}
while (bOK) while (bOK)
{ {
if (m_pEvaluationKeySet)
ExecuteRow(IResultSetHelper::BOOKMARK,(*m_aEvaluateIter),true);
else
bOK = ExecuteRow(IResultSetHelper::NEXT,1,true); bOK = ExecuteRow(IResultSetHelper::NEXT,1,true);
if (bOK) if (bOK)
{ {
m_nRowCountResult++; m_nRowCountResult++;
if(m_pEvaluationKeySet)
{
++m_aEvaluateIter;
bOK = m_aEvaluateIter == m_pEvaluationKeySet->end();
}
} }
} }
// save result of COUNT(*) in m_nRowCountResult. // save result of COUNT(*) in m_nRowCountResult.
// nRowCount (number of Rows in the result) = 1 for this request! // nRowCount (number of Rows in the result) = 1 for this request!
m_pEvaluationKeySet = NULL;
} }
} }
else else
...@@ -1466,33 +1377,18 @@ bool OResultSet::OpenImpl() ...@@ -1466,33 +1377,18 @@ bool OResultSet::OpenImpl()
{ {
bool bOK = true; bool bOK = true;
if (m_pEvaluationKeySet)
{
m_aEvaluateIter = m_pEvaluationKeySet->begin();
bOK = m_aEvaluateIter == m_pEvaluationKeySet->end();
}
while (bOK) while (bOK)
{ {
if (m_pEvaluationKeySet)
ExecuteRow(IResultSetHelper::BOOKMARK,(*m_aEvaluateIter),true);
else
bOK = ExecuteRow(IResultSetHelper::NEXT,1,true); bOK = ExecuteRow(IResultSetHelper::NEXT,1,true);
if (bOK) if (bOK)
{ {
m_nRowCountResult++; m_nRowCountResult++;
if(m_pEvaluationKeySet)
{
++m_aEvaluateIter;
bOK = m_aEvaluateIter == m_pEvaluationKeySet->end();
}
} }
} }
// save result of COUNT(*) in nRowCountResult. // save result of COUNT(*) in nRowCountResult.
// nRowCount (number of rows in the result-set) = 1 for this request! // nRowCount (number of rows in the result-set) = 1 for this request!
m_pEvaluationKeySet = NULL;
} }
break; break;
case SQL_STATEMENT_INSERT: case SQL_STATEMENT_INSERT:
......
...@@ -494,7 +494,6 @@ void OStatement_Base::initializeResultSet(OResultSet* _pResult) ...@@ -494,7 +494,6 @@ void OStatement_Base::initializeResultSet(OResultSet* _pResult)
m_pSQLAnalyzer->bindSelectRow(m_aRow); m_pSQLAnalyzer->bindSelectRow(m_aRow);
m_pSQLAnalyzer->bindEvaluationRow(m_aEvaluateRow); // Set values in the code of the Compiler m_pSQLAnalyzer->bindEvaluationRow(m_aEvaluateRow); // Set values in the code of the Compiler
_pResult->setEvaluationKeySet(NULL);
} }
void OStatement_Base::GetAssignValues() void OStatement_Base::GetAssignValues()
......
...@@ -82,7 +82,6 @@ namespace connectivity ...@@ -82,7 +82,6 @@ namespace connectivity
OValueRefRow m_aInsertRow; // needed for insert by cursor OValueRefRow m_aInsertRow; // needed for insert by cursor
ORefAssignValues m_aAssignValues; // needed for insert,update and parameters ORefAssignValues m_aAssignValues; // needed for insert,update and parameters
// to compare with the restrictions // to compare with the restrictions
TIntVector* m_pEvaluationKeySet;
TIntVector::iterator m_aEvaluateIter; TIntVector::iterator m_aEvaluateIter;
...@@ -290,7 +289,6 @@ namespace connectivity ...@@ -290,7 +289,6 @@ namespace connectivity
inline void setOrderByColumns(const ::std::vector<sal_Int32>& _aColumnOrderBy) { m_aOrderbyColumnNumber = _aColumnOrderBy; } inline void setOrderByColumns(const ::std::vector<sal_Int32>& _aColumnOrderBy) { m_aOrderbyColumnNumber = _aColumnOrderBy; }
inline void setOrderByAscending(const ::std::vector<TAscendingOrder>& _aOrderbyAsc) { m_aOrderbyAscending = _aOrderbyAsc; } inline void setOrderByAscending(const ::std::vector<TAscendingOrder>& _aOrderbyAsc) { m_aOrderbyAscending = _aOrderbyAsc; }
inline void setEvaluationKeySet(TIntVector* _pEvaluationKeySet) { m_pEvaluationKeySet = _pEvaluationKeySet; }
inline void setMetaData(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData>& _xMetaData) { m_xMetaData = _xMetaData;} inline void setMetaData(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData>& _xMetaData) { m_xMetaData = _xMetaData;}
static void setBoundedColumns(const OValueRefRow& _rRow, static void setBoundedColumns(const OValueRefRow& _rRow,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment