summaryrefslogtreecommitdiff
path: root/sc/inc/table.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/inc/table.hxx')
-rw-r--r--sc/inc/table.hxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 40806e70f31a..332be67ee551 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -954,10 +954,17 @@ public:
void Reorder( const sc::ReorderParam& rParam );
+ // Internal cache that can be repeatedly used for a sequence of related ValidQuery()
+ // calls (related meaning done in a loop for the same document and query data).
+ struct ValidQueryCache
+ {
+ std::unordered_map<FormulaError, svl::SharedString> mCachedSharedErrorStrings;
+ };
bool ValidQuery(
SCROW nRow, const ScQueryParam& rQueryParam, const ScRefCellValue* pCell = nullptr,
bool* pbTestEqualCondition = nullptr, const ScInterpreterContext* pContext = nullptr,
- sc::TableColumnBlockPositionSet* pBlockPos = nullptr );
+ sc::TableColumnBlockPositionSet* pBlockPos = nullptr,
+ ValidQueryCache* pQueryCache = nullptr );
void TopTenQuery( ScQueryParam& );
void PrepareQuery( ScQueryParam& rQueryParam );
SCSIZE Query(const ScQueryParam& rQueryParam, bool bKeepSub);