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

Julian Hyde commented on CALCITE-4694:
--------------------------------------

I think we should deprecate the current constructor, and add a static 
{{create}} method.

I don't like doing non-trivial work in a constructor, but it seems unavoidable 
given the (now-deprecated) public constructor.

I added a commit to your PR. Please see my 
[julianhyde/4694-materialization-factory|https://github.com/julianhyde/calcite/tree/4694-materialization-factory]
 branch.

> Specify custom ProjectFactory for RelOptMaterialization
> -------------------------------------------------------
>
>                 Key: CALCITE-4694
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4694
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.25.0
>            Reporter: Krisztian Kasa
>            Assignee: Krisztian Kasa
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> RelOptMaterialization may add a Project on top of tableRel. This is always a 
> LogicalProject since the RelFactories.ProjectFactory is hardcoded to 
> RelFactories.DEFAULT_PROJECT_FACTORY.
> Some projects like Hive specifies its custom operators and custom 
> RelFactories instead of using the built in Logical ones.
> Example:
> {code:java}
> public class HiveProject extends Project
> {code}



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

Reply via email to