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

Jesus Camacho Rodriguez reassigned CALCITE-2700:
------------------------------------------------

    Assignee: Jesus Camacho Rodriguez  (was: Julian Hyde)

> MaterializedView rewrite rules are matched on physical operators.
> -----------------------------------------------------------------
>
>                 Key: CALCITE-2700
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2700
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.17.0
>            Reporter: Ken Wang
>            Assignee: Jesus Camacho Rodriguez
>            Priority: Minor
>
> Today, all the MV related rewrite rules can be applied to both logical and 
> physical operators.
> This will lead to many redundant matches and make the match process not 
> efficient.
> One optimization we can do is just limit the rules application to logical 
> operators only.
>  
> 2018-11-23 12:08:14,468 [main] INFO volcano.VolcanoRuleCall:193 - call#659: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#101:LogicalProject.NONE.[](input=rel#99:Subset#7.NONE.[],X=+($0, 
> 1),name=$2), 
> rel#97:LogicalFilter.NONE.[](input=rel#44:Subset#0.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:14,468 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#111 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:14,468 [main] INFO volcano.VolcanoRuleCall:218 - call#659 
> generated 1 successors: [LogicalProject#111]
> 2018-11-23 12:08:14,484 [main] INFO volcano.VolcanoRuleCall:193 - call#738: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#103:EnumerableProject.ENUMERABLE.[](input=rel#102:Subset#7.ENUMERABLE.[],X=+($0,
>  1),name=$2), 
> rel#116:EnumerableFilter.ENUMERABLE.[](input=rel#44:Subset#0.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:14,484 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#118 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:14,484 [main] INFO volcano.VolcanoRuleCall:218 - call#738 
> generated 1 successors: [LogicalProject#118]
> 2018-11-23 12:08:14,499 [main] INFO volcano.VolcanoRuleCall:193 - call#626: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#100:LogicalProject.NONE.[](input=rel#99:Subset#7.NONE.[],empid=$0,deptno=$1,name=$2),
>  
> rel#97:LogicalFilter.NONE.[](input=rel#44:Subset#0.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:14,499 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#127 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:14,499 [main] INFO volcano.VolcanoRuleCall:218 - call#626 
> generated 1 successors: [LogicalProject#127]
> 2018-11-23 12:08:14,515 [main] INFO volcano.VolcanoRuleCall:193 - call#216: 
> Apply rule [MaterializedViewJoinRule(Filter)] to 
> [rel#47:LogicalFilter.NONE.[](input=rel#46:Subset#1.NONE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:14,515 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#134 via MaterializedViewJoinRule(Filter)
> 2018-11-23 12:08:14,515 [main] INFO volcano.VolcanoRuleCall:218 - call#216 
> generated 1 successors: [LogicalProject#134]
> 2018-11-23 12:08:14,533 [main] INFO volcano.VolcanoRuleCall:193 - call#908: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#138:LogicalProject.NONE.[](input=rel#102:Subset#7.ENUMERABLE.[],X=+($0, 
> 1),name=$2), 
> rel#116:EnumerableFilter.ENUMERABLE.[](input=rel#44:Subset#0.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:14,534 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#141 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:14,534 [main] INFO volcano.VolcanoRuleCall:218 - call#908 
> generated 1 successors: [LogicalProject#141]
> 2018-11-23 12:08:14,535 [main] INFO volcano.VolcanoRuleCall:193 - call#878: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#137:EnumerableProject.ENUMERABLE.[](input=rel#102:Subset#7.ENUMERABLE.[],empid=$0,deptno=$1,name=$2),
>  
> rel#116:EnumerableFilter.ENUMERABLE.[](input=rel#44:Subset#0.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:14,537 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#145 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:14,537 [main] INFO volcano.VolcanoRuleCall:218 - call#878 
> generated 1 successors: [LogicalProject#145]
> 2018-11-23 12:08:14,541 [main] INFO volcano.VolcanoRuleCall:193 - call#960: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#81:EnumerableProject.ENUMERABLE.[](input=rel#80:Subset#2.ENUMERABLE.[],X=+($0,
>  1),name=$2), 
> rel#150:EnumerableFilter.ENUMERABLE.[](input=rel#149:Subset#1.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:14,542 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#152 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:14,543 [main] INFO volcano.VolcanoRuleCall:218 - call#960 
> generated 1 successors: [LogicalProject#152]
> 2018-11-23 12:08:14,544 [main] INFO volcano.VolcanoRuleCall:193 - call#966: 
> Apply rule [MaterializedViewJoinRule(Filter)] to 
> [rel#150:EnumerableFilter.ENUMERABLE.[](input=rel#149:Subset#1.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:14,546 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#156 via MaterializedViewJoinRule(Filter)
> 2018-11-23 12:08:14,546 [main] INFO volcano.VolcanoRuleCall:218 - call#966 
> generated 1 successors: [LogicalProject#156]
> 2018-11-23 12:08:15,135 [main] INFO volcano.VolcanoRuleCall:193 - call#1881: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#330:LogicalProject.NONE.[](input=rel#329:Subset#2.NONE.[],X=+($0, 
> 1),name=$2), 
> rel#328:LogicalFilter.NONE.[](input=rel#327:Subset#1.NONE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:15,136 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#364 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:15,138 [main] INFO volcano.VolcanoRuleCall:218 - call#1881 
> generated 1 successors: [LogicalProject#364]
> 2018-11-23 12:08:15,173 [main] INFO volcano.VolcanoRuleCall:193 - call#2282: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#382:LogicalProject.NONE.[](input=rel#380:Subset#7.NONE.[],X=+($0, 
> 1),name=$2), 
> rel#378:LogicalFilter.NONE.[](input=rel#325:Subset#0.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:15,174 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#392 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:15,174 [main] INFO volcano.VolcanoRuleCall:218 - call#2282 
> generated 1 successors: [LogicalProject#392]
> 2018-11-23 12:08:15,206 [main] INFO volcano.VolcanoRuleCall:193 - call#2249: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#381:LogicalProject.NONE.[](input=rel#380:Subset#7.NONE.[],empid=$0,deptno=$1,name=$2),
>  
> rel#378:LogicalFilter.NONE.[](input=rel#325:Subset#0.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:15,207 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#408 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:15,208 [main] INFO volcano.VolcanoRuleCall:218 - call#2249 
> generated 1 successors: [LogicalProject#408]
> 2018-11-23 12:08:15,248 [main] INFO volcano.VolcanoRuleCall:193 - call#2531: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#419:LogicalProject.NONE.[](input=rel#383:Subset#7.ENUMERABLE.[],X=+($0, 
> 1),name=$2), 
> rel#397:EnumerableFilter.ENUMERABLE.[](input=rel#325:Subset#0.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:15,250 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#422 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:15,250 [main] INFO volcano.VolcanoRuleCall:218 - call#2531 
> generated 1 successors: [LogicalProject#422]
> 2018-11-23 12:08:15,251 [main] INFO volcano.VolcanoRuleCall:193 - call#2501: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#418:EnumerableProject.ENUMERABLE.[](input=rel#383:Subset#7.ENUMERABLE.[],empid=$0,deptno=$1,name=$2),
>  
> rel#397:EnumerableFilter.ENUMERABLE.[](input=rel#325:Subset#0.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:15,252 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#426 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:15,253 [main] INFO volcano.VolcanoRuleCall:218 - call#2501 
> generated 1 successors: [LogicalProject#426]
> 2018-11-23 12:08:15,267 [main] INFO volcano.VolcanoRuleCall:193 - call#2583: 
> Apply rule [MaterializedViewJoinRule(Project-Filter)] to 
> [rel#362:EnumerableProject.ENUMERABLE.[](input=rel#361:Subset#2.ENUMERABLE.[],X=+($0,
>  1),name=$2), 
> rel#431:EnumerableFilter.ENUMERABLE.[](input=rel#430:Subset#1.ENUMERABLE.[],condition==(CAST($1):INTEGER
>  NOT NULL, 10))]
> 2018-11-23 12:08:15,269 [main] INFO volcano.VolcanoRuleCall:91 - Transform 
> to: rel#433 via MaterializedViewJoinRule(Project-Filter)
> 2018-11-23 12:08:15,269 [main] INFO volcano.VolcanoRuleCall:218 - call#2583 
> generated 1 successors: [LogicalProject#433]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to