diff options
author | Eike Rathke <erack@redhat.com> | 2017-09-08 19:06:41 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2017-09-08 21:53:46 +0200 |
commit | 9c1826d98065c30411cbf2e731560165ca2b7668 (patch) | |
tree | 06de32ee651e03fce5f9e5497ed4af7218caeced /sc/inc/table.hxx | |
parent | 276536fc10368dbe7e16cf859b6da903cec6b8aa (diff) |
sc-perf: do not add a million empty filter entries just to sort and discard
Which can happen if an (anonymous) database range as filter range was selected
to span an entire column of which most (the tail) is empty cells. The entries
are processed to be unique anyway. This significantly shortens the time to
display the filter dialog.
Happened with attachment
http://bugs.documentfoundation.org/attachment.cgi?id=136074 of bug
https://bugs.documentfoundation.org/show_bug.cgi?id=112258
Change-Id: Ia169911d6f23611a3b3ecbf291757465f1998210
Reviewed-on: https://gerrit.libreoffice.org/42118
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc/inc/table.hxx')
-rw-r--r-- | sc/inc/table.hxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx index 4c734c7d7823..10974065d571 100644 --- a/sc/inc/table.hxx +++ b/sc/inc/table.hxx @@ -928,8 +928,8 @@ public: SCSIZE Query(const ScQueryParam& rQueryParam, bool bKeepSub); bool CreateQueryParam(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam); - void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, std::vector<ScTypedStrData>& rStrings, bool& rHasDates); - void GetFilteredFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, std::vector<ScTypedStrData>& rStrings, bool& rHasDates ); + void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, ScFilterEntries& rFilterEntries ); + void GetFilteredFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, ScFilterEntries& rFilterEntries ); bool GetDataEntries(SCCOL nCol, SCROW nRow, std::set<ScTypedStrData>& rStrings, bool bLimit); bool HasColHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow ) const; |