summaryrefslogtreecommitdiff
path: root/sc/source/core/data
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2016-10-09 20:07:33 +0200
committerTamás Zolnai <tamas.zolnai@collabora.com>2016-10-09 20:20:59 +0200
commit03a1143cc75161dab56b20f1ab9e723ddd0caa8e (patch)
treee6262d077252175261b0d8892ee0ada3c4433936 /sc/source/core/data
parent73268333b0665d91a3d9be1917a7e8c9e6ecb11a (diff)
tdf#102694, bnc#957991: Improve pivot cache reading performance
When two or more tables have the same source data, then the grouping of source fields are shared between these tables, so don't need to import these grouping for each tables. The added code checkes whether we already imported the group fields and don't create them again using API functions, but apply the exisiting groups of an other table sharing the source. Change-Id: Iad6be9a9e30944ab9a241c8498eff95c6c356689
Diffstat (limited to 'sc/source/core/data')
-rw-r--r--sc/source/core/data/dpobject.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/sc/source/core/data/dpobject.cxx b/sc/source/core/data/dpobject.cxx
index d9b07a44dc62..6397c6de694e 100644
--- a/sc/source/core/data/dpobject.cxx
+++ b/sc/source/core/data/dpobject.cxx
@@ -3554,6 +3554,9 @@ bool ScDPCollection::GetReferenceGroups(const ScDPObject& rDPObj, const ScDPDime
{
const ScDPObject& rRefObj = *aTable.get();
+ if (&rRefObj == &rDPObj)
+ continue;
+
if (rDPObj.IsSheetData()){
if(!rRefObj.IsSheetData())
continue;