[Libreoffice-commits] core.git: Branch 'libreoffice-4-2' - 2 commits - connectivity/source
Lionel Elie Mamane
lionel at mamane.lu
Sat Nov 30 03:08:29 PST 2013
connectivity/source/drivers/file/FResultSet.cxx | 6 +++++-
connectivity/source/drivers/flat/ETable.cxx | 17 ++++-------------
2 files changed, 9 insertions(+), 14 deletions(-)
New commits:
commit 829621680b028909d58b0480a78a6aee7154f31a
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Sat Nov 30 11:58:39 2013 +0100
flat text DB: fix move by bookmark
To test whether the range [a,b( is *before* e,
compare e to b, not to a.
This makes a difference when a==b, which happens for row 0 (header)
when there is no header.
Change-Id: I629b71936f82a468febe0360909264dd80304437
diff --git a/connectivity/source/drivers/flat/ETable.cxx b/connectivity/source/drivers/flat/ETable.cxx
index f30f467..acf9812 100644
--- a/connectivity/source/drivers/flat/ETable.cxx
+++ b/connectivity/source/drivers/flat/ETable.cxx
@@ -761,22 +761,13 @@ void OFlatTable::refreshHeader()
// -----------------------------------------------------------------------------
namespace
{
- template< typename Tp, typename Te> struct PairFirstLess
+ template< typename Tp, typename Te> struct RangeBefore
{
bool operator() (const Tp &p, const Te &e)
{
- return p.first < e;
+ assert(p.first <= p.second);
+ return p.second <= e;
}
-#ifdef DBG_UTIL
- bool operator() (const Te &e, const Tp &p)
- {
- return e < p.first;
- }
- bool operator() (const Tp &p1, const Tp &p2)
- {
- return p1.first < p2.first;
- }
-#endif
};
}
// -----------------------------------------------------------------------------
@@ -915,7 +906,7 @@ sal_Bool OFlatTable::seekRow(IResultSetHelper::Movement eCursorPosition, sal_Int
vector< TRowPositionInFile >::const_iterator aFind = lower_bound(m_aRowPosToFilePos.begin(),
m_aRowPosToFilePos.end(),
nOffset,
- PairFirstLess< TRowPositionInFile, sal_Int32 >());
+ RangeBefore< TRowPositionInFile, sal_Int32 >());
if(aFind == m_aRowPosToFilePos.end() || aFind->first != nOffset)
//invalid bookmark
commit be6bed2ca4083039bfcbd62f9603efa3a0bdd3dc
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Sat Nov 30 11:54:20 2013 +0100
fdo#72148 if expecting table at begin, explicitly set it so
Change-Id: Ic876603e5860b987280b73726fd79a071a9c833c
diff --git a/connectivity/source/drivers/file/FResultSet.cxx b/connectivity/source/drivers/file/FResultSet.cxx
index 58aa810..63c77c7 100644
--- a/connectivity/source/drivers/file/FResultSet.cxx
+++ b/connectivity/source/drivers/file/FResultSet.cxx
@@ -1098,7 +1098,11 @@ sal_Bool OResultSet::Move(IResultSetHelper::Movement eCursorPosition, sal_Int32
else // Index must be further constructed
{
// set first on the last known row
- if (!m_pFileSet->get().empty())
+ if (m_pFileSet->get().empty())
+ {
+ m_pTable->seekRow(IResultSetHelper::ABSOLUTE, 0, m_nFilePos);
+ }
+ else
{
m_aFileSetIter = m_pFileSet->get().end()-1;
m_pTable->seekRow(IResultSetHelper::BOOKMARK, *m_aFileSetIter, m_nFilePos);
More information about the Libreoffice-commits
mailing list