You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Yury Gerzhedovich (Jira)" <ji...@apache.org> on 2022/10/14 07:04:00 UTC

[jira] [Created] (IGNITE-17902) Ignite 3. SQL. Dynamic parameter type can't be inferred for the most of built-in SQL functions

Yury Gerzhedovich created IGNITE-17902:
------------------------------------------

             Summary: Ignite 3. SQL. Dynamic parameter type can't be inferred for the most of built-in SQL functions
                 Key: IGNITE-17902
                 URL: https://issues.apache.org/jira/browse/IGNITE-17902
             Project: Ignite
          Issue Type: Improvement
          Components: sql
            Reporter: Yury Gerzhedovich


Queries like:
{code:java}
SELECT LOWER(?)
{code}
Fails with:
{noformat}
Caused by: org.apache.calcite.runtime.CalciteContextException: At line 1, column 14: Illegal use of dynamic parameter
    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:505)
    at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:932)
    at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:917)
    at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5266)
    at org.apache.calcite.sql.validate.SqlValidatorImpl.inferUnknownTypes(SqlValidatorImpl.java:1975)
    at org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.inferUnknownTypes(IgniteSqlValidator.java:534)
    at org.apache.calcite.sql.validate.SqlValidatorImpl.inferUnknownTypes(SqlValidatorImpl.java:2057)
    at org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.inferUnknownTypes(IgniteSqlValidator.java:534)
    at org.apache.calcite.sql.validate.SqlValidatorImpl.expandSelectItem(SqlValidatorImpl.java:461)
    at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelectList(SqlValidatorImpl.java:4409)
    at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3652){noformat}
We can try to infer types by type checker for SQL functions with 

empty {{{}operandTypeInference{}}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)