Skip to content

Commit 697c5d0

Browse files
authored
Add DeleteFamilyVersion function and corresponding test cases (#85)
* add DepentdentFilter and SingleColumnValueExcludeFilter * add singleColumnValueExcludeFilter and DependentColumnFilter; add test cases and optimize bufferedMutator test cases * add single cf timerange setting in Get * single cf setColumnFamilyTimeRange in Get and Scan * optimize code * add DeleteFamilyVersion and test cases * add DeleteFamilyVersion; optimize test cases * add DeleteFamilyVersion test case and pass * format code * delete useless self-defined table
1 parent be654df commit 697c5d0

File tree

7 files changed

+563
-181
lines changed

7 files changed

+563
-181
lines changed

src/main/java/com/alipay/oceanbase/hbase/OHTable.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1656,9 +1656,9 @@ private com.alipay.oceanbase.rpc.mutation.Mutation buildMutation(KeyValue kv,
16561656
switch (kvType) {
16571657
case Delete:
16581658
return com.alipay.oceanbase.rpc.mutation.Mutation.getInstance(DEL,
1659-
ROW_KEY_COLUMNS,
1660-
new Object[] { kv.getRow(), kv.getQualifier(), kv.getTimestamp() },
1661-
null, null);
1659+
ROW_KEY_COLUMNS,
1660+
new Object[] { kv.getRow(), kv.getQualifier(), kv.getTimestamp() },
1661+
null, null);
16621662
case Maximum:
16631663
return com.alipay.oceanbase.rpc.mutation.Mutation.getInstance(DEL,
16641664
ROW_KEY_COLUMNS,
@@ -1671,9 +1671,14 @@ private com.alipay.oceanbase.rpc.mutation.Mutation buildMutation(KeyValue kv,
16711671
null, null);
16721672
case DeleteFamily:
16731673
return com.alipay.oceanbase.rpc.mutation.Mutation.getInstance(DEL,
1674-
ROW_KEY_COLUMNS,
1675-
new Object[] { kv.getRow(), isTableGroup?kv.getQualifier():null, -kv.getTimestamp() },
1676-
null, null);
1674+
ROW_KEY_COLUMNS,
1675+
new Object[] { kv.getRow(), isTableGroup ? kv.getQualifier() : null, -kv.getTimestamp() },
1676+
null, null);
1677+
case DeleteFamilyVersion:
1678+
return com.alipay.oceanbase.rpc.mutation.Mutation.getInstance(DEL,
1679+
ROW_KEY_COLUMNS,
1680+
new Object[] { kv.getRow(), isTableGroup ? kv.getQualifier() : null, kv.getTimestamp() },
1681+
null, null);
16771682
default:
16781683
throw new IllegalArgumentException("illegal mutation type " + kvType);
16791684
}

src/main/java/com/alipay/oceanbase/hbase/filter/HBaseFilterUtils.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,8 @@ private static void toParseableByteArray(ByteArrayOutputStream byteStream,
169169

170170
// SingleColumnValueExcludeFilter('cf1','col1',=,'binary:123',true,true)
171171
private static void toParseableByteArray(ByteArrayOutputStream byteStream,
172-
SingleColumnValueExcludeFilter filter) throws IOException {
172+
SingleColumnValueExcludeFilter filter)
173+
throws IOException {
173174
byteStream.write(filter.getClass().getSimpleName().getBytes());
174175
byteStream.write("('".getBytes());
175176
writeBytesWithEscape(byteStream, filter.getFamily());
@@ -329,12 +330,13 @@ private static void toParseableByteArray(ByteArrayOutputStream byteStream, Times
329330
}
330331

331332
// MultiRowRangeFilter('a',true,'b',false,'c',true,'d',false);
332-
private static void toParseableByteArray(ByteArrayOutputStream byteStream, MultiRowRangeFilter filter) throws IOException {
333+
private static void toParseableByteArray(ByteArrayOutputStream byteStream,
334+
MultiRowRangeFilter filter) throws IOException {
333335
byteStream.write(filter.getClass().getSimpleName().getBytes());
334336
byteStream.write('(');
335337

336338
List<MultiRowRangeFilter.RowRange> ranges = filter.getRowRanges();
337-
for (int i = 0; i < ranges.size(); i ++) {
339+
for (int i = 0; i < ranges.size(); i++) {
338340
MultiRowRangeFilter.RowRange range = ranges.get(i);
339341
byteStream.write("'".getBytes());
340342
byteStream.write(range.getStartRow());
@@ -354,7 +356,8 @@ private static void toParseableByteArray(ByteArrayOutputStream byteStream, Multi
354356
}
355357

356358
// InclusiveStopFilter('aaa');
357-
private static void toParseableByteArray(ByteArrayOutputStream byteStream, InclusiveStopFilter filter) throws IOException {
359+
private static void toParseableByteArray(ByteArrayOutputStream byteStream,
360+
InclusiveStopFilter filter) throws IOException {
358361
byteStream.write(filter.getClass().getSimpleName().getBytes());
359362
byteStream.write('(');
360363
byteStream.write('\'');
@@ -364,7 +367,8 @@ private static void toParseableByteArray(ByteArrayOutputStream byteStream, Inclu
364367
}
365368

366369
// ColumnRangeFilter('a',true,'b',false);
367-
private static void toParseableByteArray(ByteArrayOutputStream byteStream, ColumnRangeFilter filter) throws IOException {
370+
private static void toParseableByteArray(ByteArrayOutputStream byteStream,
371+
ColumnRangeFilter filter) throws IOException {
368372
byteStream.write(filter.getClass().getSimpleName().getBytes());
369373
byteStream.write('(');
370374

@@ -382,12 +386,13 @@ private static void toParseableByteArray(ByteArrayOutputStream byteStream, Colum
382386
}
383387

384388
// MultipleColumnPrefixFilter('a','b','d');
385-
private static void toParseableByteArray(ByteArrayOutputStream byteStream, MultipleColumnPrefixFilter filter) throws IOException {
389+
private static void toParseableByteArray(ByteArrayOutputStream byteStream,
390+
MultipleColumnPrefixFilter filter) throws IOException {
386391
byteStream.write(filter.getClass().getSimpleName().getBytes());
387392
byteStream.write('(');
388393

389394
byte[][] ranges = filter.getPrefix();
390-
for (int i = 0; i < ranges.length; i ++) {
395+
for (int i = 0; i < ranges.length; i++) {
391396
byte[] range = ranges[i];
392397
byteStream.write("'".getBytes());
393398
byteStream.write(range);

src/main/java/com/alipay/oceanbase/hbase/util/BatchError.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99

1010
public class BatchError {
1111
private final List<Throwable> throwables = new ArrayList<Throwable>();
12-
private final List<Row> actions = new ArrayList<Row>();
13-
private final List<String> addresses = new ArrayList<String>();
12+
private final List<Row> actions = new ArrayList<Row>();
13+
private final List<String> addresses = new ArrayList<String>();
1414

1515
public synchronized void add(Throwable ex, Row row, ServerName serverName) {
16-
if (row == null){
16+
if (row == null) {
1717
throw new IllegalArgumentException("row cannot be null. location=" + serverName);
1818
}
1919

@@ -27,9 +27,8 @@ public boolean hasErrors() {
2727
}
2828

2929
public synchronized RetriesExhaustedWithDetailsException makeException() {
30-
return new RetriesExhaustedWithDetailsException(
31-
new ArrayList<Throwable>(throwables),
32-
new ArrayList<Row>(actions), new ArrayList<String>(addresses));
30+
return new RetriesExhaustedWithDetailsException(new ArrayList<Throwable>(throwables),
31+
new ArrayList<Row>(actions), new ArrayList<String>(addresses));
3332
}
3433

3534
public synchronized void clear() {

0 commit comments

Comments
 (0)