[
https://issues.apache.org/jira/browse/CALCITE-4888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17449368#comment-17449368
]
Jing Zhang commented on CALCITE-4888:
-------------------------------------
[~julianhyde]Thanks a lot for reply.
> As always, I recommend describing problems in the way that they manifest to
> end user. In this case, the does not directly affect people who are using
> SQL; the problem occurs when people call RelBuilder.in with arguments that
> are different types.
Make senses, I've updated the description based on your suggestion.
> If the types of the RelBuilder.in arguments are not compatible (e.g. INTEGER
> and BOOLEAN, or INTEGER and DATE) then RelBuilder should throw. There should
> be a test for that.
Make senses, I've updated the pr to add the tests cover this case.
> But what are the implications if, after casting, the arguments are no longer
> literals?
Would you please explain more about why the arguments would be no longer
literals after casting type?
> Fix type inferring when call RelBuilder.in with arguments that are different
> types.
> -----------------------------------------------------------------------------------
>
> Key: CALCITE-4888
> URL: https://issues.apache.org/jira/browse/CALCITE-4888
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Jing Zhang
> Priority: Major
> Labels: pull-request-available
> Attachments: image-2021-11-23-10-31-05-137.png
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> A problem would occur when people call RelBuilder.in with arguments that are
> different types.
> If the types of the RelBuilder.in arguments are not compatible (e.g. INTEGER
> and BOOLEAN, or INTEGER and DATE) then RelBuilder should throw. There should
> be a test for that.
> If the types are similar but not the same (e.g. INTEGER and SMALLINT or
> CHAR(5) and CHAR(7)) what should be behavior be? RelBuilder should introduce
> casts to the least restrictive type.
> Please note that: the update does not directly affect user who are using SQL.
> It would only effect user who build RelNode or RexNode by RelBuilder.in or
> RexBuilder.makeIn.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)