Simple column range filter tests.
()
| 1177 | |
| 1178 | /** Simple column range filter tests. */ |
| 1179 | @Test |
| 1180 | public void columnRangeFilter() throws Exception { |
| 1181 | client.setFlushInterval(FAST_FLUSH); |
| 1182 | // Keep rows that have a qualifier in between "qb" (inclusive) and "qd4" |
| 1183 | // (exclusive). So only v2 and v3 should be returned by the scanner. |
| 1184 | final PutRequest put1 = new PutRequest(table, "crf1", family, "qa1", "v1"); |
| 1185 | final PutRequest put2 = new PutRequest(table, "crf1", family, "qb2", "v2"); |
| 1186 | final PutRequest put3 = new PutRequest(table, "crf2", family, "qc3", "v3"); |
| 1187 | final PutRequest put4 = new PutRequest(table, "crf2", family, "qd4", "v4"); |
| 1188 | Deferred.group(Deferred.group(client.put(put1), client.put(put2)), |
| 1189 | Deferred.group(client.put(put3), client.put(put4))).join(); |
| 1190 | final Scanner scanner = client.newScanner(table); |
| 1191 | scanner.setFamily(family); |
| 1192 | scanner.setStartKey("crf1"); |
| 1193 | scanner.setStopKey("crf3"); |
| 1194 | scanner.setFilter(new ColumnRangeFilter("qb", true, "qd4", false)); |
| 1195 | final ArrayList<ArrayList<KeyValue>> rows = scanner.nextRows().join(); |
| 1196 | scanner.close().join(); |
| 1197 | assertSizeIs(2, rows); // One KV from row "fl1" and one from "fl2". |
| 1198 | ArrayList<KeyValue> kvs = rows.get(0); |
| 1199 | assertSizeIs(1, kvs); |
| 1200 | assertEq("v2", kvs.get(0).value()); |
| 1201 | kvs = rows.get(1); |
| 1202 | assertSizeIs(1, kvs); |
| 1203 | assertEq("v3", kvs.get(0).value()); |
| 1204 | } |
| 1205 | |
| 1206 | @Test |
| 1207 | public void filterComparators() throws Exception { |
nothing calls this directly
no test coverage detected