@Override
public LogicalNode visitTableSubQuery(SerializeContext context, LogicalPlan plan, LogicalPlan.QueryBlock block,
TableSubQueryNode node, Stack<LogicalNode> stack) throws TajoException {
super.visitTableSubQuery(context, plan, block, node, stack);
int [] childIds = registerGetChildIds(context, node);
PlanProto.TableSubQueryNode.Builder builder = PlanProto.TableSubQueryNode.newBuilder();
builder.setChildSeq(childIds[0]);
builder.setTableName(node.getTableName());
if (node.hasTargets()) {
builder.addAllTargets(ProtoUtil.<PlanProto.Target>toProtoObjects(node.getTargets().toArray(new ProtoObject[node.getTargets().size()])));
}
builder.setNameResolveBase(node.isNameResolveBase());
PlanProto.LogicalNode.Builder nodeBuilder = createNodeBuilder(context, node);
nodeBuilder.setTableSubQuery(builder);
context.treeBuilder.addNodes(nodeBuilder);
return node;
}