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

Julian Hyde commented on CALCITE-62:
------------------------------------

I have created a branch 
https://github.com/julianhyde/calcite/tree/62-join-output-mapping with a 
work-in-progress of one possible solution to this problem: adding a mapping 
field to Join.

> Allow a RelNode in a RelSet to return columns in permuted order
> ---------------------------------------------------------------
>
>                 Key: CALCITE-62
>                 URL: https://issues.apache.org/jira/browse/CALCITE-62
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: GitHub Import
>              Labels: github-import
>
> Currently a long planning process (e.g. JdbcTest.testIn) seems to fire a lot 
> of rules about merging projects with projects, projects with calcs. I suspect 
> that there are a lot of sets that are equivalent but for a permutation of the 
> order of the columns.
> If each RelNode that was a member of a RelSet specified a permutation 
> (possibly the identity) of its columns to match the order in the set, then 
> many sets would be merged, and the search space would be much smaller.
> ProjectRels and CalcRels that are just a permutation (not to mention renames 
> and the identity) would be identified and removed when the rel is registered.
> This change would increase complexity for people implementing rules. In 
> addition to "RelNode RelOptRuleCall.rel(int)", there would be "Permutation 
> RelOptRuleCall.permutation(int)", and we need to make sure that people 
> remember to call permutation.
> Today people have to remember to write variants of a rule that match rels 
> with and without intervening projects. With this change, the intervening 
> projects would be rarer, so the simple rules would be applicable in more 
> cases.
> ---------------- Imported from GitHub ----------------
> Url: https://github.com/julianhyde/optiq/issues/62
> Created by: [julianhyde|https://github.com/julianhyde]
> Labels: for-next-release, 
> Created at: Thu Oct 17 18:39:02 CEST 2013
> State: open



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

Reply via email to