I will do, It crashes even if I switch to ProjectableFilterableTable I fall into this,
For updates without parameters and using ProjectableFilterableTable I fall into this https://issues.apache.org/jira/browse/CALCITE-2039 I have attached a reproducer. The same is for this email, I will create a JIRA now Can you please take into account of addressing the two for 1.15 ? They are realy blocker. At least CALCITE-2039 In fact I went away from ProjectableFilterableTable because of CALCITE-2039 I will do my best to support triage and testing, Thanks I hope to be able to leverage Calcite power soon Enrico 2017-11-14 23:55 GMT+01:00 Julian Hyde <[email protected]>: > I see we have SqlValidatorTest.testUpdateBind(), which seems very similar > to your query, and it succeeds validation. But I don’t recall us testing > dynamic parameters in the SET clause end-to-end, and your query is failing > in sql-to-rel translation, just after validation. Can you log a JIRA case > please? > > Julian > > > > On Nov 14, 2017, at 12:45 PM, Enrico Olivelli <[email protected]> > wrote: > > > > Hi, > > with a simple UPDATE like: > > UPDATE mytable set a=? where b=? > > > > 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 > > > > > > 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) > >
