You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Piotr Bojko (JIRA)" <ji...@apache.org> on 2018/05/22 11:55:00 UTC

[jira] [Assigned] (CALCITE-2320) UDF in WHERE expression incorrectly pushed down to jdbc schema

     [ https://issues.apache.org/jira/browse/CALCITE-2320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Piotr Bojko reassigned CALCITE-2320:
------------------------------------

    Assignee: Piotr Bojko  (was: Julian Hyde)

> UDF in WHERE expression incorrectly pushed down to jdbc schema
> --------------------------------------------------------------
>
>                 Key: CALCITE-2320
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2320
>             Project: Calcite
>          Issue Type: Bug
>    Affects Versions: 1.16.0, 1.17.0
>            Reporter: Piotr Bojko
>            Assignee: Piotr Bojko
>            Priority: Major
>             Fix For: 1.17.0
>
>
> # Checks whether CHOOSENCUSTOMFUNCTION function is properly computed and not passed to subschema, like jdbc
> SELECT * FROM SIMPLE_CUSTOMER WHERE email = CHOOSENCUSTOMER();
> where CHOOSENCUSTOMER is UDF leads to 
> {code}
>  Caused by: java.lang.RuntimeException: while executing SQL [SELECT "FIRSTNAME", "LASTNAME", "EMAIL"
> > FROM "CUSTOMER"
> > WHERE "EMAIL" = "CHOOSENCUSTOMER"()]
> > 	at org.apache.calcite.runtime.ResultSetEnumerable.enumerator(ResultSetEnumerable.java:153)
> > 	at org.apache.calcite.linq4j.AbstractEnumerable.iterator(AbstractEnumerable.java:33)
> > 	at org.apache.calcite.avatica.MetaImpl.createCursor(MetaImpl.java:90)
> > 	at org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:174)
> > 	at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:67)
> > 	at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:44)
> > 	at org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:630)
> > 	at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:619)
> > 	at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
> > 	at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
> > 	... 24 more
> > Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: CHOOSENCUSTOMER
> > 	at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> > 	at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> > 	at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
> > 	at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)
> > 	at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
> > 	at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
> > 	at org.apache.calcite.runtime.ResultSetEnumerable.enumerator(ResultSetEnumerable.java:143)
> > 	... 33 more
> > Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: CHOOSENCUSTOMER
> > 	at org.hsqldb.error.Error.error(Unknown Source)
> > 	at org.hsqldb.error.Error.error(Unknown Source)
> > 	at org.hsqldb.Routine.getMethods(Unknown Source)
> > 	at org.hsqldb.Routine.createRoutines(Unknown Source)
> > 	at org.hsqldb.ParserDQL.readColumnOrFunctionExpression(Unknown Source)
> > 	at org.hsqldb.ParserDQL.XreadSimpleValueExpressionPrimary(Unknown Source)
> > 	at org.hsqldb.ParserDQL.XreadAllTypesValueExpressionPrimary(Unknown Source)
> > 	at org.hsqldb.ParserDQL.XreadAllTypesPrimary(Unknown Source)
> > 	at org.hsqldb.ParserDQL.XreadAllTypesFactor(Unknown Source)
> > 	at org.hsqldb.ParserDQL.XreadAllTypesTerm(Unknown Source)
> > 	at org.hsqldb.ParserDQL.XreadAllTypesCommonValueExpression(Unknown Source)
> > 	at org.hsqldb.ParserDQL.XreadRowOrCommonValueExpression(Unknown Source)
> > 	at org.hsqldb.ParserDQL.XreadRowValuePredicand(Unknown Source)
> > 	at org.hsqldb.ParserDQL.XreadPredicateRightPart(Unknown Source)
> > 	at org.hsqldb.ParserDQL.XreadBooleanPrimaryOrNull(Unknown Source)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)