[
https://issues.apache.org/jira/browse/PHOENIX-1580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14341830#comment-14341830
]
Maryann Xue commented on PHOENIX-1580:
--------------------------------------
[~aliciashu], I should have made it clearer. By wrapping the original QueryPlan
with an additional TupleProjectionPlan, the dependence on the aggregators
introduced by the original RowProjector will be moved to the
TupleProjectionPlan layer. And as a result you will have to create a new
RowProjector, a single one for both side of the query. This RowProjector
basically contains ColumnProjectors with ProjectedColumnExpressions. It's
almost like for columnProjectors[0], its corresponding expression would be
ProjectedColumnExpression(0, ...).
One thing that is required to instantiate a ProjectedColumnExpression is a
temporary PTable instance. The way you'll have to create this PTable instance
is very similar to how we handle Derived Tables. Again, please refer to
QueryCompiler.compileSingleQuery(), in which we use the inner query
RowProjector to construct a temporary schema (PTable instance) for the outer
query compilation. The actual creation code resides in FromCompiler. For
derived tables we have two phases for this temp schema creation, since at the
beginning we do not have type information yet. But in your case, it would be
simpler, you can do it all at once.
> Support UNION ALL
> -----------------
>
> Key: PHOENIX-1580
> URL: https://issues.apache.org/jira/browse/PHOENIX-1580
> Project: Phoenix
> Issue Type: Bug
> Reporter: Alicia Ying Shu
> Assignee: Alicia Ying Shu
> Attachments: unionall-wipe.patch
>
>
> Select * from T1
> UNION ALL
> Select * from T2
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)