The actual root cause here is that IFS() and SWITCH() are not compiled
into jumps so only the needed result would be calculated, but instead
all arguments are calculated beforehand as in usual function calls. We
had that discussion some while ago (and there exists some bug about it),
but I didn't get around to a different implementation. (right now I only
remember I had some idea for it to use existing means to compile an
IFS() call into some kind of nested or chained ocIf or ocChoose or some
such, would have to dig it out of my mail archive).
[...]
Not treating IFS() and SWITCH() as jumps of course code paths are
unnecessarily executed and has other unwanted side effects (like there
were cases where someone used STYLE() within but not the actual final
result), so the best fix would actually be to change that.
Yes, I remember. I tried but did not succeed. I may try again this time.
Winfried
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.