[
https://issues.apache.org/jira/browse/CALCITE-6284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17824169#comment-17824169
]
Julian Hyde commented on CALCITE-6284:
--------------------------------------
Thank you!
> Invalid conversion triggers ClassCastException
> ----------------------------------------------
>
> Key: CALCITE-6284
> URL: https://issues.apache.org/jira/browse/CALCITE-6284
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Tim Nieradzik
> Priority: Major
>
> When passing an incompatible value (e.g. {{{}string{}}}) to a numeric
> parameter (e.g. {{{}TINYINT{}}}) via a prepared statement, a
> {{ClassCastException}} is thrown.
> Test case:
> {code:java}
> @Test void bindStringParameter() {
> for (SqlTypeName tpe : SqlTypeName.INT_TYPES) {
> final String sql =
> "with cte as (select cast(100 as " + tpe.getName() + ") as empid)"
> + "select * from cte where empid = ?";
> CalciteAssert.hr()
> .query(sql)
> .consumesPreparedStatement(p -> {
> p.setString(1, "100");
> })
> .returnsUnordered("EMPID=100");
> }
> } {code}
> Implement a validation with a more user-friendly message.
> See also [GitHub
> discussion|https://github.com/apache/calcite/pull/3687#discussion_r1489891786].
--
This message was sent by Atlassian Jira
(v8.20.10#820010)