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 2017/09/21 19:45:00 UTC

[jira] [Commented] (CALCITE-1960) RelMdPredicates.getPredicates is slow if there are many equivalent columns

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

Julian Hyde commented on CALCITE-1960:
--------------------------------------

I agree, the running time is so bad without your fix that we can set timeout = 20 seconds and treat that as a failure. Test runs in 6 seconds after your fix. Reviewing and testing now, and will commit after 1.14.

> RelMdPredicates.getPredicates is slow if there are many equivalent columns
> --------------------------------------------------------------------------
>
>                 Key: CALCITE-1960
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1960
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Rheet Wong
>            Assignee: Julian Hyde
>             Fix For: 1.15.0
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> When inferring pulled up predicates, multiple mappings are generated to 
> make sure equivalent expressions can be substitute. E.g., for an expression 
> 'a + b + c' and the following equivalences: 
> {code:sql}
> a : {a, b}
> b : {a, b}
> c : {c, e}
> {code}
> should generate:
> {code:sql}
> a + a + c
> a + a + e
> a + b + c
> a + b + e
> b + a + c
> b + a + e
> b + b + c
> b + b + e
> {code}
> The mapping generation is a typical permutation generation process. However, 
> the current code is not handling the permutation well, thus causing duplicated 
> mappings.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)