MCPcopy Create free account
hub / github.com/OpenTSDB/asynchbase / columnPaginationFilter

Method columnPaginationFilter

test/TestIntegration.java:1042–1107  ·  view source on GitHub ↗

Simple column pagination filter tests.

()

Source from the content-addressed store, hash-verified

1040
1041 /** Simple column pagination filter tests. */
1042 @Test
1043 public void columnPaginationFilter() throws Exception {
1044 client.setFlushInterval(FAST_FLUSH);
1045 // Keep only rows with a column qualifier that starts with "qa".
1046 final PutRequest put1 = new PutRequest(table, "row1", family, "q1", "v1");
1047 final PutRequest put2 = new PutRequest(table, "row1", family, "q2", "v2");
1048 final PutRequest put3 = new PutRequest(table, "row1", family, "q3", "v3");
1049 final PutRequest put4 = new PutRequest(table, "row1", family, "q4", "v4");
1050
1051 final PutRequest put5 = new PutRequest(table, "row2", family, "q1", "v5");
1052 final PutRequest put6 = new PutRequest(table, "row2", family, "q2", "v6");
1053 final PutRequest put7 = new PutRequest(table, "row2", family, "q3", "v7");
1054
1055 Deferred.group(Deferred.group(client.put(put1), client.put(put2)),
1056 Deferred.group(client.put(put3), client.put(put4)),
1057 Deferred.group(client.put(put5), client.put(put6), client.put(put7))).join();
1058
1059 // Test ColumnPaginationFilter(int limit, int offset)
1060 Scanner scanner = client.newScanner(table);
1061 scanner.setFamily(family);
1062 scanner.setStartKey("row1");
1063 scanner.setStopKey("row3");
1064 scanner.setFilter(new ColumnPaginationFilter(3, 1));
1065 ArrayList<ArrayList<KeyValue>> rows = scanner.nextRows().join();
1066 assertNotNull(rows);
1067 assertSizeIs(2, rows);
1068 ArrayList<KeyValue> kvs = rows.get(0);
1069 assertSizeIs(3, kvs);
1070 assertEq("v2", kvs.get(0).value());
1071 assertEq("v3", kvs.get(1).value());
1072 assertEq("v4", kvs.get(2).value());
1073 kvs = rows.get(1);
1074 assertSizeIs(2, kvs);
1075 assertEq("v6", kvs.get(0).value());
1076 assertEq("v7", kvs.get(1).value());
1077
1078 // Test ColumnPaginationFilter(int limit, byte[] offset) - Only supported in HBase 0.96+
1079 scanner = client.newScanner(table);
1080 scanner.setFamily(family);
1081 scanner.setStartKey("row1");
1082 scanner.setStopKey("row3");
1083 scanner.setFilter(new ColumnPaginationFilter(3, Bytes.UTF8("q2")));
1084
1085 try {
1086 rows = scanner.nextRows().join(); //Throws an UnsupportedOperationException if <= HBase 0.94
1087
1088 // Test for running against >= HBase 0.96
1089 assertNotNull(rows);
1090 assertSizeIs(2, rows);
1091 kvs = rows.get(0);
1092 assertSizeIs(3, kvs);
1093 assertEq("v2", kvs.get(0).value());
1094 assertEq("v3", kvs.get(1).value());
1095 assertEq("v4", kvs.get(2).value());
1096 kvs = rows.get(1);
1097 assertSizeIs(2, kvs);
1098 assertEq("v6", kvs.get(0).value());
1099 assertEq("v7", kvs.get(1).value());

Callers

nothing calls this directly

Calls 14

setFamilyMethod · 0.95
setStartKeyMethod · 0.95
setStopKeyMethod · 0.95
setFilterMethod · 0.95
nextRowsMethod · 0.95
assertSizeIsMethod · 0.95
assertEqMethod · 0.95
UTF8Method · 0.95
setFlushIntervalMethod · 0.80
putMethod · 0.80
newScannerMethod · 0.80
valueMethod · 0.65

Tested by

no test coverage detected