[
https://issues.apache.org/jira/browse/CALCITE-2934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16795975#comment-16795975
]
Zoltan Haindrich edited comment on CALCITE-2934 at 3/19/19 11:09 AM:
---------------------------------------------------------------------
The rational behind it is that we can "push" negation down further... note that
a "real" comparision forces the simplification logic to drop all special modes;
retaining those helps a lot
from your mail:
bq. I would have to rewrite it again to something equivalent to =($0, false)
since many types of indexes do not support negative conditions.
I would guess that doing the above will also enable to use indexes when someone
executes something like {{select 1 from t where booleanColumn}} - so it
actually will enhance index usage overall :)
was (Author: kgyrtkirk):
I don't see any "error" in the description; can you describe that?
The rational behind it is that we can "push" negation down further... note that
a "real" comparision forces the simplification logic to drop all special modes.
I'm not sure what index implementation are you refering to; but I think it's up
to the implementor to handle cases like this that.
"many types of indexes do not support negative conditions": I think it's not
the "index api"-s job to translate this back - more like the thing interacting
with the index...
> Simplification of a filter =($0, false) to NOT($0) ($0 is boolean)
> ------------------------------------------------------------------
>
> Key: CALCITE-2934
> URL: https://issues.apache.org/jira/browse/CALCITE-2934
> Project: Calcite
> Issue Type: Bug
> Reporter: Stamatis Zampetakis
> Priority: Major
> Fix For: 1.20.0
>
>
> The errors occur due to the simplification of a filter =($0, false) to
> NOT($0) ($0 is boolean). The transformation is valid so in principle the
> tests should not fail. However it makes me wonder if adding negation is
> really a simplification. If I want to push this expression into an index
> (e.g., B+Tree) I would have to rewrite it again to something equivalent to
> =($0, false) since many types of indexes do not support negative conditions.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)