You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2015/09/29 21:49:04 UTC

[jira] [Updated] (CALCITE-893) Theta join in JdbcAdapter

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

Julian Hyde updated CALCITE-893:
--------------------------------
    Summary: Theta join in JdbcAdapter  (was: AssertionError with inner joined tables)

> Theta join in JdbcAdapter
> -------------------------
>
>                 Key: CALCITE-893
>                 URL: https://issues.apache.org/jira/browse/CALCITE-893
>             Project: Calcite
>          Issue Type: Bug
>    Affects Versions: 1.4.0-incubating
>         Environment: Running against the Derby foodmart database
>            Reporter: Marc Prud'hommeaux
>            Assignee: Julian Hyde
>
> {noformat}
> 0: jdbc:calcite:model=inline:{"version":1.0,"> SELECT T1."brand_name" FROM "foodmart"."product" AS T1 INNER JOIN "foodmart"."product_class" AS T2 ON T1."product_class_id" = T2."product_class_id" WHERE T2."product_department" = 'Frozen Foods' OR T2."product_department" = 'Baking Goods' AND T1."brand_name" <> 'King';
> java.lang.AssertionError: =($3, 'Frozen Foods')
> 	at org.apache.calcite.adapter.jdbc.JdbcRules$JdbcJoin.convertConditionToSqlNode(JdbcRules.java:416)
> 	at org.apache.calcite.adapter.jdbc.JdbcRules$JdbcJoin.convertConditionToSqlNode(JdbcRules.java:376)
> 	at org.apache.calcite.adapter.jdbc.JdbcRules$JdbcJoin.convertConditionToSqlNode(JdbcRules.java:376)
> 	at org.apache.calcite.adapter.jdbc.JdbcRules$JdbcJoin.implement(JdbcRules.java:337)
> 	at org.apache.calcite.adapter.jdbc.JdbcImplementor.visitChild(JdbcImplementor.java:118)
> 	at org.apache.calcite.adapter.jdbc.JdbcRules$JdbcProject.implement(JdbcRules.java:600)
> 	at org.apache.calcite.adapter.jdbc.JdbcImplementor.visitChild(JdbcImplementor.java:118)
> 	at org.apache.calcite.adapter.jdbc.JdbcToEnumerableConverter.generateSql(JdbcToEnumerableConverter.java:297)
> 	at org.apache.calcite.adapter.jdbc.JdbcToEnumerableConverter.implement(JdbcToEnumerableConverter.java:89)
> 	at org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:99)
> 	at org.apache.calcite.adapter.enumerable.EnumerableInterpretable.toBindable(EnumerableInterpretable.java:92)
> 	at org.apache.calcite.prepare.CalcitePrepareImpl$CalcitePreparingStmt.implement(CalcitePrepareImpl.java:1117)
> 	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:293)
> 	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:189)
> 	at org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:700)
> 	at org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:586)
> 	at org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:556)
> 	at org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:207)
> 	at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:563)
> 	at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:477)
> 	at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:110)
> 	at org.apache.calcite.avatica.AvaticaStatement.execute(AvaticaStatement.java:121)
> 	at sqlline.SqlLine$Commands.execute(Unknown Source)
> 	at sqlline.SqlLine$Commands.sql(Unknown Source)
> 	at sqlline.SqlLine.dispatch(Unknown Source)
> 	at sqlline.SqlLine.begin(Unknown Source)
> 	at sqlline.SqlLine.mainWithInputRedirection(Unknown Source)
> 	at sqlline.SqlLine.main(Unknown Source)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)