[
https://issues.apache.org/jira/browse/CALCITE-4764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17412785#comment-17412785
]
Julian Hyde edited comment on CALCITE-4764 at 9/9/21, 7:05 PM:
---------------------------------------------------------------
This does look closely related to CALCITE-4736. It would help if, in both
cases, you say what the symptoms are. If an exception is thrown, post the
(important parts of the) stack trace. (*Please post the stack trace as text;
PNGs are not searchable*.) Or does one of the bugs result in incorrect results?
I appreciate the concise Java test case. If there is a simple SQL example
that's even better.
Is there are PR for this case or for CALCITE-4736? I don't see one attached to
JIRA.
I have linked CALCITE-4736 as "related". Do you think they are duplicates? If
so we can focus on one case.
was (Author: julianhyde):
This does look closely related to CALCITE-4736. It would help if, in both
cases, you say what the symptoms are. If an exception is thrown, post the
(important parts of the) stack trace. (*Please post the stack trace as text;
PNGs are not searchable*.) Or does one of the bugs result in incorrect results?
I appreciate the concise Java test case. If there is a simple SQL example
that's even better.
Is there are PR for this case or for CALCITE-4736? I don't see one attached to
JIRA.
> RexImplicationChecker throw ex, when meeting RexNode with `CAST` operator.
> --------------------------------------------------------------------------
>
> Key: CALCITE-4764
> URL: https://issues.apache.org/jira/browse/CALCITE-4764
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Xurenhe
> Priority: Major
> Attachments: image-2021-09-05-17-02-58-266.png,
> image-2021-09-06-08-17-20-788.png
>
>
> I run an example in `RexImplicationChecker`, but it throw ex.
> {code:sql}
> col is a field of Java type "Integer"
> rexnode1: cast(col as char) > '10'
> rexnode2: cast(col as char) > '20'
> {code}
> I debug it, found some unclear code in
> `org.apache.calcite.plan.RexImplicationChecker.InputUsageFinder#updateBinaryOpUsage`.
> I found `InputUsageFinder` will discard `CAST`, as screenshot
> !image-2021-09-05-17-02-58-266.png!
> ----
> Should we enchane code here?
> And, it may be root reason of
> [CALCITE-4736|https://issues.apache.org/jira/projects/CALCITE/issues/CALCITE-4736]
> ----
> Complete test:
> {code:java}
> @Test void testSimple() {
> final Fixture f = new Fixture();
> final RexNode xGeB = f.ge(f.cast(f.charDataType, f.i),
> f.charLiteral("20"));
> final RexNode xGeA = f.ge(f.cast(f.charDataType, f.i),
> f.charLiteral("10"));
> f.checkImplies(xGeB, xGeA);
> }
> {code}
> ----
> I will follow and improve it, If it's a deficiency.
> Thanks a lot.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)