Need help with ScLookupCache

Eike Rathke erack at redhat.com
Mon Jun 20 17:05:11 UTC 2022


Hi Winfried,

On Thursday, 2022-06-16 11:58:54 +0200, Winfried Donkers wrote:

> Am I correct when stating that ScLookupCache currently cannot cope with the
> combinations
>  eOp SC_GREATER_EQUAL and sorted in ascending order
> and
>  eOp SC_LESSER_EQUAL and sorted in descending order?

As Luboš already said, ScLookupCache just caches results of lookups, to
be able to reuse them for same lookups with further columns. Using the
same for example SC_GREATER_EQUAL operator with different ascending or
descending sort orders should however invalidate the cache for that
position, so you'll probably also need to take the sort order into
account in ScLookupCache::QueryCriteria and ScLookupCache::QueryKey.

That could be accomplished without adding an extra field if the
ScLookupCache::QueryOp simply would have different values for
SC_GREATER_EQUAL ascending or descending, similar for SC_LESS_EQUAL; so
just add them and map accordingly in the
ScLookupCache::QueryCriteria::QueryCriteria() ctor. You'll probably need
to add some flag to ScQueryEntry anyway.

  Eike

-- 
GPG key 0x6A6CD5B765632D3A - 2265 D7F3 A7B0 95CC 3918  630B 6A6C D5B7 6563 2D3A
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20220620/83a6c887/attachment.sig>


More information about the LibreOffice mailing list