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)