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)