calcite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Enrico Olivelli <eolive...@gmail.com>
Subject Re: Parser error on trivial JDBC update
Date Wed, 15 Nov 2017 13:02:11 GMT
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 <jhyde@apache.org>:

> 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 <eolivelli@gmail.com>
> 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)
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message