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

Alexey Roytman commented on CALCITE-2044:
-----------------------------------------

The cost formula shall be an implementable policy.
I.e. if I implement an "{{\XTable implements ProjectableFilterableTable\}}" and 
also "{{\implements ProjectableFilterableCostEstimator\}}" then XTable has a 
function to estimate this behavior.
Or, we may wish to have an {{\AbstractProjectableFilterable\}} with such cost 
function (parameters like in {{\ProjectableFilterableTable.scan()\}}).

Anyway, project presence is better than project absence, and filter presence is 
better than filter absence... This seems to be more universal mantra.

> Tweak cost of BindableTableScan to make sure Project is pushed through 
> Aggregate
> --------------------------------------------------------------------------------
>
>                 Key: CALCITE-2044
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2044
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Luis Fernando Kauer
>            Assignee: Julian Hyde
>            Priority: Minor
>
> Similar to [CALCITE-1876].
> Projects are not pushed to BindableTableScan when using 
> ProjectableFilterableTable with aggregate functions.
> The reason is that the cost of BindableTableScan does not use projects (and 
> filters), so the planner chooses a plan with Project node removed by 
> ProjectRemoveRule.
> By tweaking the cost to use the number of used projects solved the problem.
> Any suggestion on the cost formula to take both projects and filters into 
> account?



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

Reply via email to