()
| 1204 | } |
| 1205 | |
| 1206 | @Test |
| 1207 | public void filterComparators() throws Exception { |
| 1208 | client.setFlushInterval(FAST_FLUSH); |
| 1209 | final PutRequest put1 = new PutRequest(table, "fc1", family, "a", "v1"); |
| 1210 | final PutRequest put2 = new PutRequest(table, "fc2", family, "a", "v2"); |
| 1211 | final PutRequest put3 = new PutRequest(table, "fc3", family, "a", "v3"); |
| 1212 | Deferred.group(client.put(put1), client.put(put2), client.put(put3)).join(); |
| 1213 | |
| 1214 | final Scanner binary_scanner = client.newScanner(table); |
| 1215 | binary_scanner.setStartKey("fc1"); |
| 1216 | binary_scanner.setStopKey("fc4"); |
| 1217 | binary_scanner.setFilter( |
| 1218 | new RowFilter(CompareOp.LESS, new BinaryComparator(Bytes.UTF8("fc2")))); |
| 1219 | final ArrayList<ArrayList<KeyValue>> binary_rows = |
| 1220 | binary_scanner.nextRows().join(); |
| 1221 | binary_scanner.close().join(); |
| 1222 | assertSizeIs(1, binary_rows); |
| 1223 | assertSizeIs(1, binary_rows.get(0)); |
| 1224 | assertEq("v1", binary_rows.get(0).get(0).value()); |
| 1225 | |
| 1226 | final Scanner prefix_scanner = client.newScanner(table); |
| 1227 | prefix_scanner.setStartKey("fc1"); |
| 1228 | prefix_scanner.setStopKey("fc4"); |
| 1229 | prefix_scanner.setFilter( |
| 1230 | new RowFilter(CompareOp.GREATER_OR_EQUAL, |
| 1231 | new BinaryPrefixComparator(Bytes.UTF8("fc2")))); |
| 1232 | final ArrayList<ArrayList<KeyValue>> prefix_rows = |
| 1233 | prefix_scanner.nextRows().join(); |
| 1234 | prefix_scanner.close().join(); |
| 1235 | assertSizeIs(2, prefix_rows); |
| 1236 | assertSizeIs(1, prefix_rows.get(0)); |
| 1237 | assertEq("v2", prefix_rows.get(0).get(0).value()); |
| 1238 | assertSizeIs(1, prefix_rows.get(1)); |
| 1239 | assertEq("v3", prefix_rows.get(1).get(0).value()); |
| 1240 | |
| 1241 | final Scanner bit_scanner = client.newScanner(table); |
| 1242 | bit_scanner.setStartKey("fc1"); |
| 1243 | bit_scanner.setStopKey("fc4"); |
| 1244 | bit_scanner.setFilter( |
| 1245 | new RowFilter(CompareOp.EQUAL, |
| 1246 | new BitComparator(Bytes.UTF8("fc2"), BitComparator.BitwiseOp.XOR))); |
| 1247 | final ArrayList<ArrayList<KeyValue>> bit_rows = |
| 1248 | bit_scanner.nextRows().join(); |
| 1249 | bit_scanner.close().join(); |
| 1250 | assertSizeIs(2, bit_rows); |
| 1251 | assertSizeIs(1, bit_rows.get(0)); |
| 1252 | assertEq("v1", bit_rows.get(0).get(0).value()); |
| 1253 | assertSizeIs(1, bit_rows.get(1)); |
| 1254 | assertEq("v3", bit_rows.get(1).get(0).value()); |
| 1255 | |
| 1256 | final Scanner regex_scanner = client.newScanner(table); |
| 1257 | regex_scanner.setStartKey("fc1"); |
| 1258 | regex_scanner.setStopKey("fc4"); |
| 1259 | regex_scanner.setFilter( |
| 1260 | new RowFilter(CompareOp.EQUAL, new RegexStringComparator("fc2"))); |
| 1261 | final ArrayList<ArrayList<KeyValue>> regex_rows = |
| 1262 | regex_scanner.nextRows().join(); |
| 1263 | regex_scanner.close().join(); |
nothing calls this directly
no test coverage detected