Mihai Budiu created CALCITE-5843: ------------------------------------ Summary: Legal SQL expression causes a parse error Key: CALCITE-5843 URL: https://issues.apache.org/jira/browse/CALCITE-5843 Project: Calcite Issue Type: Bug Components: linq4j Affects Versions: 1.34.0 Reporter: Mihai Budiu
This program fails at compilation time: {code:sql} SELECT CAST(CAST('32767.4' AS FLOAT) AS SMALLINT) {code} This happens in linq4j in Expressions.constant: {code:java} if ((clazz != Float.class && clazz != Double.class || !(value instanceof BigDecimal)) && !clazz.isInstance(value)) { String stringValue = String.valueOf(value); if (type == BigDecimal.class) { value = new BigDecimal(stringValue); } if (type == BigInteger.class) { value = new BigInteger(stringValue); } if (primitive != null) { value = primitive.parse(stringValue); // << error happens here } } {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)