Find actual data area inside the main-range...
commitcb52b112c0d44d7a6849f773fd1ee4e863ab91da
authorDennis Francis <dennis.francis@collabora.com>
Wed, 5 Dec 2018 18:39:59 +0000 (6 00:09 +0530)
committerEike Rathke <erack@redhat.com>
Fri, 7 Dec 2018 15:25:11 +0000 (7 16:25 +0100)
treeeb89154a6b2642618c4643a0b49589061c267b3f
parent50cb96346ad54bcdb172acf11b4befe540e2b152
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>
sc/inc/column.hxx
sc/inc/document.hxx
sc/inc/table.hxx
sc/source/core/data/column2.cxx
sc/source/core/data/document.cxx
sc/source/core/data/table1.cxx
sc/source/core/tool/interpr1.cxx