execBlock = context.execBlockMap.remove(child.getPID()); if (child.getType() == NodeType.SORT) { node.setChild(execBlock.getPlan()); execBlock.setPlan(node); childLimit.setChild(childBlock.getPlan()); childBlock.setPlan(childLimit); context.execBlockMap.put(node.getPID(), execBlock); } else { node.setChild(execBlock.getPlan()); execBlock.setPlan(node); parentLimit.setChild(scanNode); newExecBlock.setPlan(parentLimit); context.plan.addConnect(newChannel);
private static LimitNode convertLimit(Map<Integer, LogicalNode> nodeMap, PlanProto.LogicalNode protoNode) { PlanProto.LimitNode limitProto = protoNode.getLimit(); LimitNode limitNode = new LimitNode(protoNode.getNodeId()); limitNode.setChild(nodeMap.get(limitProto.getChildSeq())); limitNode.setInSchema(convertSchema(protoNode.getInSchema())); limitNode.setOutSchema(convertSchema(protoNode.getOutSchema())); limitNode.setFetchFirst(limitProto.getFetchFirstNum()); return limitNode; }
execBlock = context.execBlockMap.remove(child.getPID()); if (child.getType() == NodeType.SORT) { node.setChild(execBlock.getPlan()); execBlock.setPlan(node); childLimit.setChild(childBlock.getPlan()); childBlock.setPlan(childLimit); context.execBlockMap.put(node.getPID(), execBlock); } else { node.setChild(execBlock.getPlan()); execBlock.setPlan(node); parentLimit.setChild(scanNode); newExecBlock.setPlan(parentLimit); context.plan.addConnect(newChannel);
private static LimitNode convertLimit(Map<Integer, LogicalNode> nodeMap, PlanProto.LogicalNode protoNode) { PlanProto.LimitNode limitProto = protoNode.getLimit(); LimitNode limitNode = new LimitNode(protoNode.getNodeId()); limitNode.setChild(nodeMap.get(limitProto.getChildSeq())); limitNode.setInSchema(convertSchema(protoNode.getInSchema())); limitNode.setOutSchema(convertSchema(protoNode.getOutSchema())); limitNode.setFetchFirst(limitProto.getFetchFirstNum()); return limitNode; }
windowAggNode.setChild(limitNode.getChild()); windowAggNode.setInSchema(limitNode.getChild().getOutSchema()); limitNode.setChild(windowAggNode); } else if (child.getType() == NodeType.SORT) { SortNode sortNode = (SortNode) child;
windowAggNode.setChild(limitNode.getChild()); windowAggNode.setInSchema(limitNode.getChild().getOutSchema()); limitNode.setChild(windowAggNode); } else if (child.getType() == NodeType.SORT) { SortNode sortNode = (SortNode) child;
limitNode.setChild(child); limitNode.setInSchema(child.getOutSchema()); limitNode.setOutSchema(child.getOutSchema());
limitNode.setChild(child); limitNode.setInSchema(child.getOutSchema()); limitNode.setOutSchema(child.getOutSchema());