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

Vladimir Sitnikov commented on CALCITE-3769:
--------------------------------------------

{quote}Do you have any other suggestions/options ? I would commit the code soon 
but i still want to have your suggestions {quote}

The key thing that bothers me is  
https://lists.apache.org/thread.html/d89103671efdd813fac768fbc2336bd125e925f0790e9137a2a16375%40%3Cdev.calcite.apache.org%3E

I got an extreme amount of feedback that RexNode normalization would break 
every possible backward compatibility. Here we have the very same type of 
change (it touches EnumerableTableRel which is the first thing since sliced 
bread in Calcite), however, the very same reviewers say the backward 
compatibility is not an issue.

I don't think that is the way to review changes.

> Deprecate TableScanRule
> -----------------------
>
>                 Key: CALCITE-3769
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3769
>             Project: Calcite
>          Issue Type: Wish
>          Components: core
>    Affects Versions: 1.21.0
>            Reporter: Danny Chen
>            Assignee: Danny Chen
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.22.0
>
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> The TableScanRule is the only planner rule that for a logical node(e.g. the 
> table scan), its function is to pass along the cluster object and invoke the 
> RelOptTable#toRel which is very trivial because it supplies only a simple 
> ToRelContext that does not support expanding view/passing table hints.
> For rels that come from the sql-to-rel conversion, there is already a table 
> conversion logic[1]. This code gives a more powerful ToRelContext that has 
> the complete functionality.
> The only reason that I saw the meaning of existing TableScanRule is for the 
> TableScan that comes from the RelBuilder#scan.
> So I would suggest to deprecate the TableScanRule, instead, we support 
> translating the table directly in RelBuilder#scan,
> -We also add a new interface RelBuilder#scan(Iterable<String> tableNames, 
> ToRelContext context), so that user can pass in a more powerful ToRelContext 
> explicitly.- User can customize a TableScanFactory in the RelBuilder to do 
> this.
> [1] 
> https://github.com/apache/calcite/blob/d6fa25cd11625ad7b4b74dafbd0211c701b38d49/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java#L3498



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to