From cdadb1b4fb207392961a24788d44bd7ffa529046 Mon Sep 17 00:00:00 2001 From: Lionel Elie Mamane Date: Fri, 31 Aug 2012 18:14:59 +0200 Subject: 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 --- dbaccess/source/core/api/KeySet.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'dbaccess') diff --git a/dbaccess/source/core/api/KeySet.cxx b/dbaccess/source/core/api/KeySet.cxx index 6d8f58ed52ce..c2dadcdf5893 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; -- cgit