[
https://issues.apache.org/jira/browse/TAJO-854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14015214#comment-14015214
]
ASF GitHub Bot commented on TAJO-854:
-------------------------------------
Github user babokim commented on a diff in the pull request:
https://github.com/apache/tajo/pull/24#discussion_r13272810
--- Diff:
tajo-core/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java
---
@@ -1195,10 +1192,59 @@ public LogicalNode
visitTableSubQuery(GlobalPlanContext context, LogicalPlan pla
ExecutionBlock currentBlock =
context.execBlockMap.remove(child.getPID());
if (child.getType() == NodeType.UNION) {
+ List<TableSubQueryNode> addedTableSubQueries = new
ArrayList<TableSubQueryNode>();
+ TableSubQueryNode leftMostUnionNode = null;
for (ExecutionBlock childBlock :
context.plan.getChilds(currentBlock.getId())) {
TableSubQueryNode copy = PlannerUtil.clone(plan, node);
copy.setSubQuery(childBlock.getPlan());
childBlock.setPlan(copy);
+ addedTableSubQueries.add(copy);
+
+ //Find a SubQueryNode which contains all columns in InputSchema
matched with Target and OutputSchema's column
+ if
(copy.getInSchema().containsAll(copy.getOutSchema().getColumns())) {
--- End diff --
That case is also fine. Because we need a SubQueryNode which contains all
columns in InputSchema matched with Target and OutputSchema's column.
> Supports INSERT INTO with UNION
> -------------------------------
>
> Key: TAJO-854
> URL: https://issues.apache.org/jira/browse/TAJO-854
> Project: Tajo
> Issue Type: Improvement
> Reporter: Hyoungjun Kim
> Assignee: Hyoungjun Kim
> Priority: Minor
>
> Currently INSERT INTO with UNION occurs the following exception.
> {noformat}
> 2014-05-28 01:40:42,105 ERROR: org.apache.tajo.master.GlobalEngine
> (executeQuery(152)) -
> Stack Trace:
> java.lang.RuntimeException: Wrong child node type: UNION for insert
> at
> org.apache.tajo.engine.planner.LogicalPlanner.buildProjectedInsert(LogicalPlanner.java:1269)
> at
> org.apache.tajo.engine.planner.LogicalPlanner.buildInsertIntoTablePlan(LogicalPlanner.java:1234)
> at
> org.apache.tajo.engine.planner.LogicalPlanner.visitInsert(LogicalPlanner.java:1141)
> at
> org.apache.tajo.engine.planner.LogicalPlanner.visitInsert(LogicalPlanner.java:59)
> at
> org.apache.tajo.engine.planner.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:123)
> at
> org.apache.tajo.engine.planner.LogicalPlanner.createPlan(LogicalPlanner.java:122)
> at
> org.apache.tajo.engine.planner.LogicalPlanner.createPlan(LogicalPlanner.java:109)
> at
> org.apache.tajo.master.GlobalEngine.createLogicalPlan(GlobalEngine.java:475)
> at
> org.apache.tajo.master.GlobalEngine.executeQuery(GlobalEngine.java:147)
> at
> org.apache.tajo.master.TajoMasterClientService$TajoMasterClientProtocolServiceHandler.submitQuery(TajoMasterClientService.java:261)
> at
> org.apache.tajo.ipc.TajoMasterClientProtocol$TajoMasterClientProtocolService$2.callBlockingMethod(TajoMasterClientProtocol.java:495)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)