private ConciseSet evalCompareLTE(CompareTupleFilter filter) { int id = Dictionary.stringToDictId(filter.getFirstValue()); return collectRange(filter.getColumn(), null, id); }
private ConciseSet evalCompareLT(CompareTupleFilter filter) { int id = Dictionary.stringToDictId(filter.getFirstValue()); return collectRange(filter.getColumn(), null, id - 1); }
private ConciseSet evalCompareGT(CompareTupleFilter filter) { int id = Dictionary.stringToDictId(filter.getFirstValue()); return collectRange(filter.getColumn(), id + 1, null); }
private ConciseSet evalCompareGTE(CompareTupleFilter filter) { int id = Dictionary.stringToDictId(filter.getFirstValue()); return collectRange(filter.getColumn(), id, null); }
private ConciseSet evalCompareEqual(CompareTupleFilter filter) { int id = Dictionary.stringToDictId(filter.getFirstValue()); ConciseSet bitMap = provider.getBitMap(filter.getColumn(), id, id); if (bitMap == null) return null; return bitMap.clone(); // NOTE the clone() to void messing provider's cache }
private ConciseSet evalCompareIn(CompareTupleFilter filter) { ConciseSet set = new ConciseSet(); for (String value : filter.getValues()) { int id = Dictionary.stringToDictId(value); ConciseSet bitMap = provider.getBitMap(filter.getColumn(), id, id); if (bitMap == null) return null; set.addAll(bitMap); } return set; }