@Override public TupleFilter reverse() { switch (operator) { case NOT: throw new IllegalStateException("NOT will be replaced in org.apache.kylin.query.relnode.OLAPFilterRel.TupleFilterVisitor"); case AND: case OR: LogicalTupleFilter reverse = new LogicalTupleFilter(REVERSE_OP_MAP.get(operator)); for (TupleFilter child : children) { reverse.addChild(child.reverse()); } return reverse; default: throw new IllegalStateException(); } }
private TupleFilter removeNotInternal(TupleFilter filter) { FilterOperatorEnum op = filter.getOperator(); if (!(filter instanceof LogicalTupleFilter)) { return filter; } LogicalTupleFilter logicalFilter = (LogicalTupleFilter) filter; switch (logicalFilter.operator) { case NOT: assert (filter.children.size() == 1); TupleFilter reverse = filter.children.get(0).reverse(); return removeNotInternal(reverse); case AND: LogicalTupleFilter andFilter = new LogicalTupleFilter(FilterOperatorEnum.AND); for (TupleFilter child : logicalFilter.children) { andFilter.addChild(removeNotInternal(child)); } return andFilter; case OR: LogicalTupleFilter orFilter = new LogicalTupleFilter(FilterOperatorEnum.OR); for (TupleFilter child : logicalFilter.children) { orFilter.addChild(removeNotInternal(child)); } return orFilter; default: throw new IllegalStateException("This filter is unexpected: " + filter); } }
} else if (op == FilterOperatorEnum.NOT) { assert (filter.children.size() == 1); TupleFilter reverse = filter.children.get(0).reverse(); flatFilter = flattenInternal(reverse, maxFlatChildrenSize); } else {
} else if (op.getKind() == SqlKind.NOT) { assert (filter.getChildren().size() == 1); filter = filter.getChildren().get(0).reverse();
@Override public TupleFilter reverse() { switch (operator) { case NOT: assert (children.size() == 1); return children.get(0); case AND: case OR: LogicalTupleFilter reverse = new LogicalTupleFilter(REVERSE_OP_MAP.get(operator)); for (TupleFilter child : children) { reverse.addChild(child.reverse()); } return reverse; default: throw new IllegalStateException(); } }
} else if (op == FilterOperatorEnum.NOT) { assert (filter.children.size() == 1); TupleFilter reverse = filter.children.get(0).reverse(); flatFilter = flattenInternal(reverse); } else {
@Override public TupleFilter reverse() { switch (operator) { case NOT: assert (children.size() == 1); return children.get(0); case AND: case OR: LogicalTupleFilter reverse = new LogicalTupleFilter(REVERSE_OP_MAP.get(operator)); for (TupleFilter child : children) { reverse.addChild(child.reverse()); } return reverse; default: throw new IllegalStateException(); } }
@Override public TupleFilter reverse() { switch (operator) { case NOT: throw new IllegalStateException("NOT will be replaced in org.apache.kylin.query.relnode.OLAPFilterRel.TupleFilterVisitor"); case AND: case OR: LogicalTupleFilter reverse = new LogicalTupleFilter(REVERSE_OP_MAP.get(operator)); for (TupleFilter child : children) { reverse.addChild(child.reverse()); } return reverse; default: throw new IllegalStateException(); } }
private TupleFilter removeNotInternal(TupleFilter filter) { FilterOperatorEnum op = filter.getOperator(); if (!(filter instanceof LogicalTupleFilter)) { return filter; } LogicalTupleFilter logicalFilter = (LogicalTupleFilter) filter; switch (logicalFilter.operator) { case NOT: assert (filter.children.size() == 1); TupleFilter reverse = filter.children.get(0).reverse(); return removeNotInternal(reverse); case AND: LogicalTupleFilter andFilter = new LogicalTupleFilter(FilterOperatorEnum.AND); for (TupleFilter child : logicalFilter.children) { andFilter.addChild(removeNotInternal(child)); } return andFilter; case OR: LogicalTupleFilter orFilter = new LogicalTupleFilter(FilterOperatorEnum.OR); for (TupleFilter child : logicalFilter.children) { orFilter.addChild(removeNotInternal(child)); } return orFilter; default: throw new IllegalStateException("This filter is unexpected: " + filter); } }
} else if (op == FilterOperatorEnum.NOT) { assert (filter.children.size() == 1); TupleFilter reverse = filter.children.get(0).reverse(); flatFilter = flattenInternal(reverse); } else {
} else if (op == FilterOperatorEnum.NOT) { assert (filter.children.size() == 1); TupleFilter reverse = filter.children.get(0).reverse(); flatFilter = flattenInternal(reverse); } else {
filter = filter.getChildren().get(0).reverse();