summaryrefslogtreecommitdiff
path: root/sc/inc/column.hxx
diff options
context:
space:
mode:
authorDennis Francis <dennis.francis@collabora.com>2018-12-06 00:09:59 +0530
committerEike Rathke <erack@redhat.com>2018-12-07 16:25:11 +0100
commitcb52b112c0d44d7a6849f773fd1ee4e863ab91da (patch)
treeeb89154a6b2642618c4643a0b49589061c267b3f /sc/inc/column.hxx
parent50cb96346ad54bcdb172acf11b4befe540e2b152 (diff)
Find actual data area inside the main-range...
and trim all ranges to match this actual data area. Don't do this optimization for COUNTIFS where there is no main-range. This optimization is also turned off if any of the parameter ranges are not double-refs. Benefits in cases like - =SUMIFS(A:A, B:B, ">=20", C:C, "<=10") and the is data only in say A1:A10000 and rest are empty. Range trimming in this case saves lot of execution time and memory (for vConditions and vRefArrayConditions). Change-Id: I6b4ad91e23f89dc48603b98000bcef4dbdb03112 Reviewed-on: https://gerrit.libreoffice.org/64657 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc/inc/column.hxx')
-rw-r--r--sc/inc/column.hxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index 0a328f001ce4..b1e890a6347c 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -222,6 +222,7 @@ public:
bool bConsiderCellDrawObjects=false ) const;
bool GetPrevDataPos(SCROW& rRow) const;
bool GetNextDataPos(SCROW& rRow) const;
+ bool TrimEmptyBlocks(SCROW& rRowStart, SCROW& rRowEnd) const;
void FindDataAreaPos(SCROW& rRow, bool bDown) const; // (without Broadcaster)
void FindUsed( SCROW nStartRow, SCROW nEndRow, mdds::flat_segment_tree<SCROW, bool>& rUsed ) const;