sc/source/core/data/dpcache.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
New commits: commit 7ca2d95c8ee30c450483433d5f380ebbf80691d5 Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Wed Aug 22 14:25:01 2012 -0400 fdo#53640: Correctly cache source data coming from database backend. It was due to a simple misplacement of nRow = 0. Each record was labeled row 0. No wonder it screws up the result badly. Change-Id: Ia94f42a62f98a9bd7c9d34df3606351bb487931b Signed-off-by: Michael Meeks <michael.me...@suse.com> (cherry picked from commit a28d9cad672739cbf8dc6cf1f9db7d0f8becfee1) Signed-off-by: Caolán McNamara <caol...@redhat.com> diff --git a/sc/source/core/data/dpcache.cxx b/sc/source/core/data/dpcache.cxx index 3299ba0..a11db55 100644 --- a/sc/source/core/data/dpcache.cxx +++ b/sc/source/core/data/dpcache.cxx @@ -461,24 +461,27 @@ bool ScDPCache::InitFromDataBase (const Reference<sdbc::XRowSet>& xRowSet, const Reference<sdbc::XRow> xRow(xRowSet, UNO_QUERY_THROW); std::vector<Bucket> aBuckets; + ScDPItemData aData; for (sal_Int32 nCol = 0; nCol < mnColumnCount; ++nCol) { xRowSet->first(); - ScDPItemData aData; aBuckets.clear(); Field& rField = maFields[nCol]; + SCROW nRow = 0; do { - SCROW nRow = 0; short nFormatType = NUMBERFORMAT_UNDEFINED; + aData.SetEmpty(); getItemValue(*this, aData, xRow, aColTypes[nCol], nCol+1, rNullDate, nFormatType); - aBuckets.push_back(Bucket(aData, 0, nRow++)); + aBuckets.push_back(Bucket(aData, 0, nRow)); if (!aData.IsEmpty()) { maEmptyRows.insert_back(nRow, nRow+1, false); SvNumberFormatter* pFormatter = mpDoc->GetFormatTable(); rField.mnNumFormat = pFormatter ? pFormatter->GetStandardFormat(nFormatType) : 0; } + + ++nRow; } while (xRowSet->next());
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits