[
https://issues.apache.org/jira/browse/CALCITE-4888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17450723#comment-17450723
]
Julian Hyde commented on CALCITE-4888:
--------------------------------------
[~jingzhang], Show me SQL literal whose value is 0 and whose type is SMALLINT.
Or whose value is NULL and whose type is DATE.
I'm not sure that these problems manifest in {{RexNode}} the same way they do
in {{SqlNode}} or SQL, but you need to convince me that they don't. Because
{{Values}} requires {{{}RexLiteral{}}}.
> 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: 2.5h
> 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)