diff options
author | Lionel Elie Mamane <lionel@mamane.lu> | 2012-08-31 18:14:59 +0200 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2012-09-10 10:34:26 +0000 |
commit | f80d0c180c7e98caf211059f54873001f9e0a64e (patch) | |
tree | a86d12f3a3876b4b2a30b184c261ad563e30df72 | |
parent | 7494e0a8d15386f4b962649e4286ddb05732355f (diff) |
fdo#53557: use metadata's idea of column count to allocate a row
m_pColumnNames contains only the columns that come straight from a table, not calculated columns
Change-Id: I2706790e8c1447d1c4e144bbdef773deeca3e2e8
Reviewed-on: https://gerrit.libreoffice.org/522
Reviewed-by: Michael Meeks <michael.meeks@suse.com>
Tested-by: Michael Meeks <michael.meeks@suse.com>
-rw-r--r-- | dbaccess/source/core/api/KeySet.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/dbaccess/source/core/api/KeySet.cxx b/dbaccess/source/core/api/KeySet.cxx index d9f4133110f5..2797af98b1c6 100644 --- a/dbaccess/source/core/api/KeySet.cxx +++ b/dbaccess/source/core/api/KeySet.cxx @@ -1441,11 +1441,12 @@ sal_Bool OKeySet::fetchRow() bRet = m_xDriverSet->next(); if ( bRet ) { + const int cc = m_xSetMetaData->getColumnCount(); + ORowSetRow aKeyRow = new connectivity::ORowVector< ORowSetValue >((*m_pKeyColumnNames).size() + m_pForeignColumnNames->size()); - ORowSetRow aFullRow = new connectivity::ORowVector< ORowSetValue >(m_pColumnNames->size()); + ORowSetRow aFullRow = new connectivity::ORowVector< ORowSetValue >(cc); // Fetch the columns only once and in order, to satisfy restrictive backends such as ODBC - const int cc = m_xSetMetaData->getColumnCount(); connectivity::ORowVector< ORowSetValue >::Vector::iterator aFRIter = aFullRow->get().begin(); // Column 0 is reserved for the bookmark; unused here. ++aFRIter; |