You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Thomas Rebele (Jira)" <ji...@apache.org> on 2023/05/08 10:07:00 UTC

[jira] [Commented] (CALCITE-5686) Generalize return types of the linq4j expression shuttle

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

Thomas Rebele commented on CALCITE-5686:
----------------------------------------

It might make sense to extend the scope of this ticket, and to provide an option to the Shuttle to visit ParameterExpression in declarations (method and others) as well. The default should be to keep the same behavior as previously for backward compatibility.

> Generalize return types of the linq4j expression shuttle
> --------------------------------------------------------
>
>                 Key: CALCITE-5686
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5686
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: Thomas Rebele
>            Assignee: Thomas Rebele
>            Priority: Major
>             Fix For: 1.35.0
>
>
> The following block in org.apache.calcite.linq4j.tree.Shuttle prevents replacing constants with other expressions:
> {code:java}
>   public ConstantExpression visit(ConstantExpression constantExpression) {
>     return constantExpression;
>   } {code}
> The return type of the corresponding accept function is more general:
> {code:java}
> @Override public Expression accept(Shuttle shuttle) {
>     return shuttle.visit(this);
>   } {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)