@Override public LogicalNode visit(PlanShapeFixerContext context, LogicalPlan plan, LogicalPlan.QueryBlock block, LogicalNode node, Stack<LogicalNode> stack) throws TajoException { super.visit(context, plan, block, node, stack); node.setInSchema(sortSchema(node.getInSchema())); node.setOutSchema(sortSchema(node.getOutSchema())); context.childNumbers.push(context.childNumbers.pop() + 1); return null; }
@Override public LogicalNode visit(PlanShapeFixerContext context, LogicalPlan plan, LogicalPlan.QueryBlock block, LogicalNode node, Stack<LogicalNode> stack) throws TajoException { super.visit(context, plan, block, node, stack); node.setInSchema(sortSchema(node.getInSchema())); node.setOutSchema(sortSchema(node.getOutSchema())); context.childNumbers.push(context.childNumbers.pop() + 1); return null; }
if (node instanceof Projectable) { if (node instanceof BinaryNode) { node.setInSchema(SchemaUtil.merge(left.getOutSchema(), right.getOutSchema())); } else { node.setInSchema(left.getOutSchema()); node.setInSchema(left.getOutSchema()); node.setOutSchema(left.getOutSchema());
if (node instanceof Projectable) { if (node instanceof BinaryNode) { node.setInSchema(SchemaUtil.merge(left.getOutSchema(), right.getOutSchema())); } else { node.setInSchema(left.getOutSchema()); node.setInSchema(left.getOutSchema()); node.setOutSchema(left.getOutSchema());