[PATCH] fdo#47520 use the already retrieved row instead of driver row

Lionel Elie Mamane lionel at mamane.lu
Fri Jun 1 07:40:41 PDT 2012


This avoids asking the driver for the same data twice.
This is particularly important for ODBC data sources, because when asking for (VAR)CHAR data the second time, one gets no data (and status SQL_NO_DATA) because of the "retrieve in parts" semantics of these datatypes.

Change-Id: I96f2df9927fda72ccf19f78ec5c561f5626c003f
---
 dbaccess/source/core/api/KeySet.cxx |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/dbaccess/source/core/api/KeySet.cxx b/dbaccess/source/core/api/KeySet.cxx
index bc2a5f3..715ca6b 100644
--- a/dbaccess/source/core/api/KeySet.cxx
+++ b/dbaccess/source/core/api/KeySet.cxx
@@ -1241,8 +1241,7 @@ sal_Bool OKeySet::absolute_checked( sal_Int32 row,sal_Bool i_bFetchRow )
                     bNext = fetchRow();
                 if ( bNext )
                 {
-                    m_xRow.set(m_xDriverRow,UNO_QUERY_THROW);
-                    return m_aKeyIter != m_aKeyMap.end() && m_aKeyIter != m_aKeyMap.begin();
+                    i_bFetchRow = true;
                 }
             }
             else
-- 
1.7.7.3


--oyUTqETQ0mS9luUI--


More information about the LibreOffice mailing list