diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2022-06-24 13:52:46 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2022-06-26 20:27:19 +0200 |
commit | 423f277cc0c185ff7eaf79aa9237585c52e0c652 (patch) | |
tree | 9f29ac37cc07db27800781b350240394f19ea4fa /soltools | |
parent | c92b92a3da7ac877337eb73a75cbce427b5ae8e5 (diff) |
fix ByValue lookups with ScSortedRangeCache
My fix for tdf#149071 actually disabled the optimization for all
ByValue lookups, because in fact all such lookups have maString set.
So lookups where the cells are a mix of numeric and string values
need different handling. A simple solution is detecting such a mix
when collecting the values for ScSortedRangeCache and disabling
the optimization in such a case. But it turns out that queries
containing such a mix are not that rare, as documents may e.g.
do COUNTIF($C:$C) where the given column has numeric values that
start with a textual header. So bail out only if the string cell
actually could affect the numeric query.
Also fix ScSortedRangeCache usage depending on query parameters,
different instances are needed for e.g. different ScQueryOp,
because the ScQueryEvaluator functions may return different
results (isQueryByString() is automatically true for SC_EQUAL).
Change-Id: Ib4565cbf6194e7c525c4d10d00b1c31707952a79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136403
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'soltools')
0 files changed, 0 insertions, 0 deletions