private static SatisfiesCode satisfies(byte[] row, byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) { return satisfies(row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta); }
private static SatisfiesCode satisfies(byte[] row, byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) { return satisfies(row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta); }
public ReturnCode filterRow(byte[] rowKey) { // assigning "worst" result first and looking for better options SatisfiesCode bestOption = SatisfiesCode.NO_NEXT; for (ImmutablePair<byte[], byte[]> fuzzyData : fuzzyKeysData) { SatisfiesCode satisfiesCode = satisfies(rowKey, fuzzyData.getFirst(), fuzzyData.getSecond()); if (satisfiesCode == SatisfiesCode.YES) { return ReturnCode.INCLUDE; } if (satisfiesCode == SatisfiesCode.NEXT_EXISTS) { bestOption = SatisfiesCode.NEXT_EXISTS; } } if (bestOption == SatisfiesCode.NEXT_EXISTS) { return ReturnCode.SEEK_NEXT_USING_HINT; } // the only unhandled SatisfiesCode is NO_NEXT, i.e. we are done return ReturnCode.DONE; }
public ReturnCode filterRow(byte[] rowKey) { // assigning "worst" result first and looking for better options SatisfiesCode bestOption = SatisfiesCode.NO_NEXT; for (ImmutablePair<byte[], byte[]> fuzzyData : fuzzyKeysData) { SatisfiesCode satisfiesCode = satisfies(rowKey, fuzzyData.getFirst(), fuzzyData.getSecond()); if (satisfiesCode == SatisfiesCode.YES) { return ReturnCode.INCLUDE; } if (satisfiesCode == SatisfiesCode.NEXT_EXISTS) { bestOption = SatisfiesCode.NEXT_EXISTS; } } if (bestOption == SatisfiesCode.NEXT_EXISTS) { return ReturnCode.SEEK_NEXT_USING_HINT; } // the only unhandled SatisfiesCode is NO_NEXT, i.e. we are done return ReturnCode.DONE; }