001package gudusoft.gsqlparser.ir.logical.rel; 002 003import gudusoft.gsqlparser.ir.common.SourceAnchor; 004import gudusoft.gsqlparser.ir.logical.*; 005 006import java.util.Collections; 007import java.util.List; 008 009/** 010 * WHERE / HAVING filter. 011 */ 012public final class Filter extends RelNode { 013 private final RelNode input; 014 private final RexNode condition; 015 016 public Filter(RelNode input, RexNode condition, SourceAnchor anchor) { 017 super(RelNodeKind.FILTER, anchor); 018 this.input = input; 019 this.condition = condition; 020 } 021 022 public RelNode getInput() { return input; } 023 public RexNode getCondition() { return condition; } 024 025 @Override 026 public List<RelNode> getInputs() { return Collections.singletonList(input); } 027 028 @Override 029 public <R> R accept(RelNodeVisitor<R> visitor) { return visitor.visitFilter(this); } 030}