[ 
https://issues.apache.org/jira/browse/CALCITE-631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14388465#comment-14388465
 ] 

Ng Jiunn Jye edited comment on CALCITE-631 at 3/31/15 12:42 PM:
----------------------------------------------------------------

Patch "[CALCITE-631]-PushThetaJoinsDownToJDBCAdapter.patch" attached. 
Patch contain the following changes. 
- New method JdbcRules.JdbcJoinRules.validateCondition to check if condition 
can be converted into SqlJoin

- New method JdbcRules.JdbcJoin.convertConditionToSqlNode for convert join 
condition in RexCall into SqlNode

- Update JdbcRules.JdbcJoin.getRows() to return max of 
leftRowCount,rightRowCount from (leftRowCount * rightRowCount)

- Update JdbcRules.JdbcJoin.implement() to construct SqlJoin from
  condition RexNode

- JoinInfo is not longer required in JdbcJoin and JdbcJoinRules.

- Add new TestCases on JdbcJoin in JdbcAdapterTest

- Add SCOTT_MODEL into JdbcTest.

- Update JdbcTest.testSelfJoinCount to select from smaller table to avoid HSQL 
OutOfMemoryException when processing query

- Update LaticeTest.TestJG with new plan using JdbcJoin



was (Author: jiunnjye):
- New method JdbcRules.JdbcJoinRules.validateCondition to check if condition 
can be converted into SqlJoin

- New method JdbcRules.JdbcJoin.convertConditionToSqlNode for convert join 
condition in RexCall into SqlNode

- Update JdbcRules.JdbcJoin.getRows() to return max of 
leftRowCount,rightRowCount from (leftRowCount * rightRowCount)

- Update JdbcRules.JdbcJoin.implement() to construct SqlJoin from
  condition RexNode

- JoinInfo is not longer required in JdbcJoin and JdbcJoinRules.

- Add new TestCases on JdbcJoin in JdbcAdapterTest

- Add SCOTT_MODEL into JdbcTest.

- Update JdbcTest.testSelfJoinCount to select from smaller table to avoid HSQL 
OutOfMemoryException when processing query

- Update LaticeTest.TestJG with new plan using JdbcJoin


> Push theta joins down to JDBC adapter
> -------------------------------------
>
>                 Key: CALCITE-631
>                 URL: https://issues.apache.org/jira/browse/CALCITE-631
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: Ng Jiunn Jye
>            Assignee: Julian Hyde
>             Fix For: next
>
>         Attachments: [CALCITE-631]-PushThetaJoinsDownToJDBCAdapter.patch, 
> [CALCITE-631]JdbcJoinToSupportNonEquiJoin.2.patch, 
> [CALCITE-631]JdbcJoinToSupportNonEquiJoin.patch
>
>
> Currently, the JdbcJoin only support EquiJoin. ie select * from tab1 inner 
> join tab2 on tab1.col1=tab2.col2
> NonEqui join are not supported in JdbcJoin, thus resulting execution plan 
> which uses EnumerationJoin and EnumerableCalc for joining and not pushing the 
> join down to remote database. 



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

Reply via email to