[ 
https://issues.apache.org/jira/browse/CALCITE-2054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16258410#comment-16258410
 ] 

Enrico Olivelli commented on CALCITE-2054:
------------------------------------------

Maybe another alternative option would be to implement a flag to allow unknown 
type for dynamic parameters, letting the implementation to deal with casts

this will allow queries like
select ? as 'foo', a,b from my table which are not possible at the moment

> Parser error on trivial UPDATE with dynamic parameters
> ------------------------------------------------------
>
>                 Key: CALCITE-2054
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2054
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.15.0
>            Reporter: Enrico Olivelli
>            Assignee: Julian Hyde
>
> with a simple UPDATE like:
> UPDATE mytable set a=? where b=1
> I get the error below.
> The "Table" is a ModifiableTable + ScannableTable, with "a" of type INTEGER 
> and "b" of type VARCHAR
> Any hint ?
> Thank you
> Enrico
> {code}
> org.apache.calcite.runtime.CalciteContextException: At line 1, column 30: 
> 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:463)
>     at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:803)
>     at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:788)
>     at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4651)
>     at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.inferUnknownTypes(SqlValidatorImpl.java:1694)
>     at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.inferUnknownTypes(SqlValidatorImpl.java:1769)
>     at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.expandSelectItem(SqlValidatorImpl.java:457)
>     at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.expandStar(SqlValidatorImpl.java:347)
>     at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectList(SqlToRelConverter.java:3709)
>     at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:663)
>     at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:620)
>     at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertUpdate(SqlToRelConverter.java:3398)
>     at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3048)
>     at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:556)
>     at org.apache.calcite.prepare.PlannerImpl.rel(PlannerImpl.java:240)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to