diff options
author | Dennis Francis <dennis.francis@collabora.com> | 2018-12-06 00:09:59 +0530 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2018-12-07 16:25:11 +0100 |
commit | cb52b112c0d44d7a6849f773fd1ee4e863ab91da (patch) | |
tree | eb89154a6b2642618c4643a0b49589061c267b3f /sc/inc/column.hxx | |
parent | 50cb96346ad54bcdb172acf11b4befe540e2b152 (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.hxx | 1 |
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; |