You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2018/08/16 07:32:00 UTC

[jira] [Created] (CALCITE-2470) RelBuilder.project should combine expressions if underlying node is a Project

Julian Hyde created CALCITE-2470:
------------------------------------

             Summary: RelBuilder.project should combine expressions if underlying node is a Project
                 Key: CALCITE-2470
                 URL: https://issues.apache.org/jira/browse/CALCITE-2470
             Project: Calcite
          Issue Type: Bug
            Reporter: Julian Hyde
            Assignee: Julian Hyde


The {{RelBuilder.project}} method should combine expressions if underlying node is a {{Project}}.

For example, if {{r}} is a {{RelBuilder}} and its stack initially contains
{code:java}
Project(Scan(T), a, b, a + b as c){code}
and we call (in pseudo-code)
{code:java}
r.project(a + c as d){code}
then the result should be
{code:java}
Project(Scan(T), a + (a + b) as d){code}
Today the result is
{code:java}
Project(Project(Scan(T), a, a + b as c), a + c as d){code}
In some circumstances the result will be larger (i.e. contain more {{RexNode}} instances) but much more frequently the result will be smaller and simpler.



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