Exemplo n.º 1
0
 @Override
 public PlanNode visitDistinctLimit(
     DistinctLimitNode node, RewriteContext<Set<Symbol>> context) {
   Set<Symbol> expectedInputs;
   if (node.getHashSymbol().isPresent()) {
     expectedInputs =
         ImmutableSet.copyOf(
             concat(node.getOutputSymbols(), ImmutableList.of(node.getHashSymbol().get())));
   } else {
     expectedInputs = ImmutableSet.copyOf(node.getOutputSymbols());
   }
   PlanNode source = context.rewrite(node.getSource(), expectedInputs);
   return new DistinctLimitNode(node.getId(), source, node.getLimit(), node.getHashSymbol());
 }