@Override public void meet(Sum node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Avg node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(GroupConcat node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Sample node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(GroupConcat node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(GroupConcat node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Max node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Min node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Avg node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Max node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Sample node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Sample node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Avg node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Sum node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Count node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(Min node) throws VisitorException { super.meet(node); meetAggregate(node); }
@Override public void meet(And and) { super.meet(and); if (and.getLeftArg().equals(and.getRightArg())) { and.replaceWith(and.getLeftArg()); } }
@Override public void meet(Intersection intersection) { super.meet(intersection); TupleExpr leftArg = intersection.getLeftArg(); TupleExpr rightArg = intersection.getRightArg(); if (leftArg instanceof EmptySet || rightArg instanceof EmptySet) { intersection.replaceWith(new EmptySet()); } } }
@Override public void meet(Intersection intersection) { super.meet(intersection); TupleExpr leftArg = intersection.getLeftArg(); TupleExpr rightArg = intersection.getRightArg(); if (leftArg instanceof EmptySet || rightArg instanceof EmptySet) { intersection.replaceWith(new EmptySet()); } }
@Override public void meet(Intersection intersection) { super.meet(intersection); TupleExpr leftArg = intersection.getLeftArg(); TupleExpr rightArg = intersection.getRightArg(); if (leftArg instanceof EmptySet || rightArg instanceof EmptySet) { intersection.replaceWith(new EmptySet()); } }