[
https://issues.apache.org/jira/browse/CALCITE-2264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Hyde resolved CALCITE-2264.
----------------------------------
Resolution: Fixed
Fix Version/s: 1.17.0
Fixed in
[b0f47047|http://git-wip-us.apache.org/repos/asf/calcite/commit/b0f47047];
thanks for the PR, [~ptrbojko]!
> User defined function in json schema pushed to jdbc subschema.
> --------------------------------------------------------------
>
> Key: CALCITE-2264
> URL: https://issues.apache.org/jira/browse/CALCITE-2264
> Project: Calcite
> Issue Type: Bug
> Components: jdbc-adapter
> Reporter: Piotr Bojko
> Assignee: Julian Hyde
> Priority: Major
> Fix For: 1.17.0
>
>
> Considering chinook tests, having following schema:
> {code:json}
> {
> "version": "1.0",
> "defaultSchema": "ENHANCED",
> "schemas": [
> {
> "name": "CHINOOK",
> "type": "jdbc",
> "jdbcDriver": "org.hsqldb.jdbc.JDBCDriver",
> "jdbcUrl": "jdbc:hsqldb:res:chinook",
> "jdbcUser": "sa",
> "jdbcPassword": ""
> },
> {
> "name": "ENHANCED",
> "type": "custom",
> "factory": "org.apache.calcite.schema.impl.AbstractSchema$Factory",
> "operand": {},
> "tables": [
> ...
> {
> "name" : "SIMPLE_CUSTOMER",
> "type" : "view",
> "sql" : [
> "SELECT c.firstname, c.lastname, c.email ",
> "FROM chinook.customer AS c"
> ]
> ...
> ],
> "functions": [
> {
> "name": "ASCONCATOFPARAMS",
> "className": "org.apache.calcite.chinook.StringConcatFunction"
> }
> ]
> }
> ]
> {code}
> Following query produces error:
> {code:sql}
> SELECT email, ASCONCATOFPARAMS(firstname, lastname) AS joined FROM
> SIMPLE_CUSTOMER limit 3
> {code}
> Exception:
> {code}
> > Caused by: java.lang.RuntimeException: while executing SQL [SELECT "EMAIL"
> > AS "email", "ASCONCATOFPARAMS"("FIRSTNAME", "LASTNAME") AS "joined"
> > FROM (SELECT *
> > FROM "CUSTOMER"
> > LIMIT 3) AS "t"]
> > 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: ASCONCATOFPARAMS
> > 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: ASCONCATOFPARAMS
> > 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.XreadValueExpression(Unknown Source)
> > at org.hsqldb.ParserDQL.XreadSelect(Unknown Source)
> > at org.hsqldb.ParserDQL.XreadQuerySpecification(Unknown Source)
> > at org.hsqldb.ParserDQL.XreadSimpleTable(Unknown Source)
> > at org.hsqldb.ParserDQL.XreadQueryPrimary(Unknown Source)
> > at org.hsqldb.ParserDQL.XreadQueryTerm(Unknown Source)
> > at org.hsqldb.ParserDQL.XreadQueryExpressionBody(Unknown Source)
> > at org.hsqldb.ParserDQL.XreadQueryExpression(Unknown Source)
> > at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
> > at org.hsqldb.ParserCommand.compilePart(Unknown Source)
> > at org.hsqldb.ParserCommand.compileStatements(Unknown Source)
> > at org.hsqldb.Session.executeDirectStatement(Unknown Source)
> > at org.hsqldb.Session.execute(Unknown Source)
> > ... 38 more
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)