[ https://issues.apache.org/jira/browse/CALCITE-6284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17823900#comment-17823900 ]
Tim Nieradzik commented on CALCITE-6284: ---------------------------------------- [~julianhyde] Yes. I updated the description. > 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)