/** * throws IllegalStateException when the flat children exceed the maxFlatChildrenSize * @param maxFlatChildrenSize * @return */ public TupleFilter flatFilter(int maxFlatChildrenSize) { return flattenInternal(this, maxFlatChildrenSize); }
List<TupleFilter> orChildren = new LinkedList<TupleFilter>(); for (TupleFilter child : filter.getChildren()) { TupleFilter flatChild = flattenInternal(child, maxFlatChildrenSize); FilterOperatorEnum childOp = flatChild.getOperator(); if (childOp == FilterOperatorEnum.AND) { assert (filter.children.size() == 1); TupleFilter reverse = filter.children.get(0).reverse(); flatFilter = flattenInternal(reverse, maxFlatChildrenSize); } else { throw new IllegalStateException("Filter is " + filter);
public TupleFilter flatFilter() { return flattenInternal(this); }
List<TupleFilter> orChildren = new LinkedList<TupleFilter>(); for (TupleFilter child : filter.getChildren()) { TupleFilter flatChild = flattenInternal(child); FilterOperatorEnum childOp = flatChild.getOperator(); if (childOp == FilterOperatorEnum.AND) { assert (filter.children.size() == 1); TupleFilter reverse = filter.children.get(0).reverse(); flatFilter = flattenInternal(reverse); } else { throw new IllegalStateException("Filter is " + filter);
/** * flatten to OR-AND filter, (A AND B AND ..) OR (C AND D AND ..) OR .. * flatten filter will ONLY contain AND and OR , no NOT will exist. * This will help to decide scan ranges. * * Notice that the flatten filter will ONLY be used for determining scan ranges, * The filter that is later pushed down into storage level is still the ORIGINAL * filter, since the flattened filter will be too "fat" to evaluate * * @return */ public TupleFilter flatFilter() { return flattenInternal(this); }
public TupleFilter flatFilter() { return flattenInternal(this); }
List<TupleFilter> orChildren = new LinkedList<TupleFilter>(); for (TupleFilter child : filter.getChildren()) { TupleFilter flatChild = flattenInternal(child); FilterOperatorEnum childOp = flatChild.getOperator(); if (childOp == FilterOperatorEnum.AND) { assert (filter.children.size() == 1); TupleFilter reverse = filter.children.get(0).reverse(); flatFilter = flattenInternal(reverse); } else { throw new IllegalStateException("Filter is " + filter);
List<TupleFilter> orChildren = new LinkedList<TupleFilter>(); for (TupleFilter child : filter.getChildren()) { TupleFilter flatChild = flattenInternal(child); FilterOperatorEnum childOp = flatChild.getOperator(); if (childOp == FilterOperatorEnum.AND) { assert (filter.children.size() == 1); TupleFilter reverse = filter.children.get(0).reverse(); flatFilter = flattenInternal(reverse); } else { throw new IllegalStateException("Filter is " + filter);