Hi Team, We have been using calcite in our product for a while and we are on 1.36 version. Unfortunately, one of our queries that worked earlier have started failing and nothing changed on the calcite jars as we know of. Suddenly the comparison for String to char is throwing a validation exception and we are unable to proceed to reach the sql server database.
"Select name from myds where LOWER(user)=’qr563h3’": From line 1, column 45 to line 1, column 73: Cannot apply '=' to arguments of type '<JAVATYPE(CLASS JAVA.LANG.STRING)> = <CHAR(7)>'. Supported form(s): '<COMPARABLE_TYPE> = <COMPARABLE_TYPE>' at org.apache.calcite.avatica.Helper.createException(Helper.java:56) at org.apache.calcite.avatica.Helper.createException(Helper.java:41) at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:164) at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:228) at oracle.essbase.ds.ResultArrayType.executeQuery(ResultArrayType.java:58) ... 21 more Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, column 45 to line 1, column 73: Cannot apply '=' to arguments of type '<JAVATYPE(CLASS JAVA.LANG.STRING)> = <CHAR(7)>'. Supported form(s): '<COMPARABLE_TYPE> = <COMPARABLE_TYPE>' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:507) at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:948) at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:933) at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5517) at org.apache.calcite.sql.SqlCallBinding.newValidationSignatureError(SqlCallBinding.java:399) at org.apache.calcite.sql.type.ComparableOperandTypeChecker.checkOperandTypes(ComparableOperandTypeChecker.java:75) at org.apache.calcite.sql.SqlOperator.checkOperandTypes(SqlOperator.java:761) at org.apache.calcite.sql.SqlOperator.validateOperands(SqlOperator.java:498) at org.apache.calcite.sql.SqlOperator.deriveType(SqlOperator.java:607) Strangely, the same query works on some of the machines and is impacting few other. Could your expertise help us to dig into the issue on what parameters can affect this comparison to fail on certain machines? This is impacting our daily chores due to an outage, and we are not able to get to a reason about this failure. Regards, Dipti