Skip to content

Commit fe4bf33

Browse files
authored
scan border bugfix (#97)
1 parent 43f59ca commit fe4bf33

File tree

5 files changed

+37
-392
lines changed

5 files changed

+37
-392
lines changed

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1466,6 +1466,7 @@ private ObTableQuery buildObTableQuery(ObHTableFilter filter, byte[] start,
14661466
if (Arrays.equals(start, HConstants.EMPTY_BYTE_ARRAY)) {
14671467
obNewRange.setStartKey(ObRowKey.getInstance(ObObj.getMin(), ObObj.getMin(),
14681468
ObObj.getMin()));
1469+
obBorderFlag.setInclusiveStart();
14691470
} else if (includeStart) {
14701471
obNewRange.setStartKey(ObRowKey.getInstance(start, ObObj.getMin(), ObObj.getMin()));
14711472
obBorderFlag.setInclusiveStart();
@@ -1477,6 +1478,7 @@ private ObTableQuery buildObTableQuery(ObHTableFilter filter, byte[] start,
14771478
if (Arrays.equals(stop, HConstants.EMPTY_BYTE_ARRAY)) {
14781479
obNewRange.setEndKey(ObRowKey.getInstance(ObObj.getMax(), ObObj.getMax(),
14791480
ObObj.getMax()));
1481+
obBorderFlag.setInclusiveEnd();
14801482
} else if (includeStop) {
14811483
obNewRange.setEndKey(ObRowKey.getInstance(stop, ObObj.getMax(), ObObj.getMax()));
14821484
obBorderFlag.setInclusiveEnd();
@@ -1507,11 +1509,11 @@ private ObTableQuery buildObTableQuery(ObHTableFilter filter, final Scan scan) {
15071509
filter.setOffsetPerRowPerCf(scan.getRowOffsetPerColumnFamily());
15081510
}
15091511
if (scan.isReversed()) {
1510-
obTableQuery = buildObTableQuery(filter, scan.getStopRow(), false, scan.getStartRow(),
1511-
true, true);
1512+
obTableQuery = buildObTableQuery(filter, scan.getStopRow(), scan.includeStopRow(), scan.getStartRow(),
1513+
scan.includeStartRow(), true);
15121514
} else {
1513-
obTableQuery = buildObTableQuery(filter, scan.getStartRow(), true, scan.getStopRow(),
1514-
false, false);
1515+
obTableQuery = buildObTableQuery(filter, scan.getStartRow(), scan.includeStartRow(), scan.getStopRow(),
1516+
scan.includeStopRow(), false);
15151517
}
15161518
if (scan.getBatch() > 0) {
15171519
obTableQuery.setBatchSize(scan.getBatch());

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -752,7 +752,7 @@ public void batch(List<? extends Row> actions, Object[] results) throws IOExcept
752752
public <R> void batchCallback(List<? extends Row> actions, Object[] results,
753753
Batch.Callback<R> callback) throws IOException,
754754
InterruptedException {
755-
throw new FeatureNotSupportedException("not supported yet'");
755+
table.batchCallback(actions, results, callback);
756756
}
757757

758758
@Override

0 commit comments

Comments
 (0)