summaryrefslogtreecommitdiff
path: root/sc/inc/table.hxx
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2019-05-15 15:58:46 +0200
committerLuboš Luňák <l.lunak@collabora.com>2019-05-16 12:34:42 +0200
commitace16e500c92797bb47ad580cf535de0702137bd (patch)
tree165eb099aa0bb9eeadaf4806b8e98e52739aa05e /sc/inc/table.hxx
parent0d58f51d7672c569c93c6e814dbfffa586eebfb7 (diff)
cache mdds access in ScTable::ValidQuery() (tdf#80853)
Once more, mdds always searches from the start of the container, so iterating is quadratic. Change-Id: I8f8f3b5aad5c3342a10c21df3ad2d0d3fcaea8ad Reviewed-on: https://gerrit.libreoffice.org/72368 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'sc/inc/table.hxx')
-rw-r--r--sc/inc/table.hxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 547d9936e44b..59dc2bbfd7dc 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -64,6 +64,7 @@ class ColumnSpanSet;
class RangeColumnSpanSet;
class ColumnSet;
struct ColumnBlockPosition;
+class TableColumnBlockPositionSet;
struct RefUpdateContext;
struct RefUpdateInsertTabContext;
struct RefUpdateDeleteTabContext;
@@ -930,7 +931,8 @@ public:
bool ValidQuery(
SCROW nRow, const ScQueryParam& rQueryParam, const ScRefCellValue* pCell = nullptr,
- bool* pbTestEqualCondition = nullptr, const ScInterpreterContext* pContext = nullptr);
+ bool* pbTestEqualCondition = nullptr, const ScInterpreterContext* pContext = nullptr,
+ sc::TableColumnBlockPositionSet* pBlockPos = nullptr );
void TopTenQuery( ScQueryParam& );
SCSIZE Query(const ScQueryParam& rQueryParam, bool bKeepSub);
bool CreateQueryParam(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam);