Skip to content

Commit 214ff68

Browse files
committed
[Test] fix testcases
1 parent 1d3efa1 commit 214ff68

File tree

3 files changed

+33
-7
lines changed

3 files changed

+33
-7
lines changed

src/main/java/com/alipay/oceanbase/rpc/protocol/payload/impl/execute/query/ObTableQuery.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
package com.alipay.oceanbase.rpc.protocol.payload.impl.execute.query;
1919

20+
import com.alipay.oceanbase.rpc.exception.FeatureNotSupportedException;
21+
import com.alipay.oceanbase.rpc.table.ObHBaseParams;
2022
import com.alipay.oceanbase.rpc.table.ObKVParams;
2123
import com.alipay.oceanbase.rpc.protocol.payload.AbstractPayload;
2224
import com.alipay.oceanbase.rpc.protocol.payload.impl.execute.aggregation.ObTableAggregationSingle;
@@ -59,7 +61,7 @@ public class ObTableQuery extends AbstractPayload {
5961
private long maxResultSize = -1;
6062
private ObHTableFilter hTableFilter;
6163

62-
private static final byte[] HTABLE_FILTER_DUMMY_BYTES = new byte[] { 0x01, 0x00 };
64+
private static final byte[] HTABLE_DUMMY_BYTES = new byte[] { 0x01, 0x00 };
6365
private boolean isHbaseQuery = false;
6466
private List<String> scanRangeColumns = new LinkedList<String>();
6567

@@ -152,8 +154,8 @@ public byte[] encode() {
152154
len = (int) hTableFilter.getPayloadSize();
153155
System.arraycopy(hTableFilter.encode(), 0, bytes, idx, len);
154156
} else {
155-
len = HTABLE_FILTER_DUMMY_BYTES.length;
156-
System.arraycopy(HTABLE_FILTER_DUMMY_BYTES, 0, bytes, idx, len);
157+
len = HTABLE_DUMMY_BYTES.length;
158+
System.arraycopy(HTABLE_DUMMY_BYTES, 0, bytes, idx, len);
157159
}
158160
idx += len;
159161

@@ -181,8 +183,8 @@ public byte[] encode() {
181183
System.arraycopy(obKVParams.encode(), 0, bytes, idx, len);
182184
idx += len;
183185
} else {
184-
len = HTABLE_FILTER_DUMMY_BYTES.length;
185-
System.arraycopy(HTABLE_FILTER_DUMMY_BYTES, 0, bytes, idx, len);
186+
len = HTABLE_DUMMY_BYTES.length;
187+
System.arraycopy(HTABLE_DUMMY_BYTES, 0, bytes, idx, len);
186188
idx += len;
187189
}
188190

@@ -277,7 +279,7 @@ public long getPayloadContentSize() {
277279
contentSize += hTableFilter.getPayloadSize();
278280
contentSize += obKVParams.getPayloadSize();
279281
} else {
280-
contentSize += HTABLE_FILTER_DUMMY_BYTES.length;
282+
contentSize += 2 * HTABLE_DUMMY_BYTES.length;
281283
}
282284
contentSize += Serialization.getNeedBytes(scanRangeColumns.size());
283285
for (String scanRangeColumn : scanRangeColumns) {
@@ -486,7 +488,10 @@ public void setScanRangeColumns(List<String> scanRangeColumns) {
486488
}
487489

488490
// This interface is just for OBKV-Hbase
489-
public void setObHbaseParams(ObKVParams obKVParams) {
491+
public void setObKVParams(ObKVParams obKVParams) {
492+
if (!(obKVParams.getObParamsBase() instanceof ObHBaseParams)) {
493+
throw new FeatureNotSupportedException("only ObHBaseParams support currently");
494+
}
490495
this.isHbaseQuery = true;
491496
this.obKVParams = obKVParams;
492497
}

src/test/java/com/alipay/oceanbase/rpc/hbase/ObHTableOperationRequest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
import com.alipay.oceanbase.rpc.protocol.payload.impl.execute.query.ObNewRange;
2929
import com.alipay.oceanbase.rpc.protocol.payload.impl.execute.query.ObTableQuery;
3030
import com.alipay.oceanbase.rpc.protocol.payload.impl.execute.query.ObTableQueryRequest;
31+
import com.alipay.oceanbase.rpc.table.ObHBaseParams;
32+
import com.alipay.oceanbase.rpc.table.ObKVParams;
3133

3234
public class ObHTableOperationRequest {
3335

@@ -112,6 +114,13 @@ public void setOperationType(ObTableOperationType operationType) {
112114
this.operationType = operationType;
113115
}
114116

117+
public void setObKVParams(ObTableQuery query) {
118+
ObHBaseParams params = new ObHBaseParams();
119+
ObKVParams obKVParams = new ObKVParams();
120+
obKVParams.setObParamsBase(params);
121+
query.setObKVParams(obKVParams);
122+
}
123+
115124
public ObTableAbstractOperationRequest obTableOperationRequest() {
116125
// TODO 这个类仅作为测试用,到时候要移到独立的 JAR 包内
117126
ObTableAbstractOperationRequest request = null;
@@ -136,6 +145,10 @@ public ObTableAbstractOperationRequest obTableOperationRequest() {
136145
ObHTableFilter filter = new ObHTableFilter();
137146
filter.addSelectColumnQualifier("qualifierName");
138147
obTableQuery.sethTableFilter(filter);
148+
ObHBaseParams params = new ObHBaseParams();
149+
ObKVParams obKVParams = new ObKVParams();
150+
obKVParams.setObParamsBase(params);
151+
setObKVParams(obTableQuery);
139152

140153
ObNewRange obNewRange = new ObNewRange();
141154
obNewRange
@@ -187,6 +200,7 @@ public ObTableAbstractOperationRequest obTableGroupOperationRequest() {
187200
obTableQuery.addSelectColumn("Q");
188201
obTableQuery.addSelectColumn("T");
189202
obTableQuery.addSelectColumn("V");
203+
setObKVParams(obTableQuery);
190204

191205
request.setTableName(getTableName());
192206
((ObTableQueryRequest) request).setTableQuery(obTableQuery);
@@ -209,6 +223,7 @@ public ObTableAbstractOperationRequest obTableGroupOperationRequest() {
209223
obTableQuery.addSelectColumn("Q");
210224
obTableQuery.addSelectColumn("T");
211225
obTableQuery.addSelectColumn("V");
226+
setObKVParams(obTableQuery);
212227

213228
request.setTableName(getTableName());
214229
((ObTableQueryRequest) request).setTableQuery(obTableQuery);

src/test/java/com/alipay/oceanbase/rpc/protocol/payload/impl/execute/query/ObTableQueryPayloadTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import com.alipay.oceanbase.rpc.protocol.payload.impl.*;
2121
import com.alipay.oceanbase.rpc.protocol.payload.impl.execute.ObTableConsistencyLevel;
2222
import com.alipay.oceanbase.rpc.protocol.payload.impl.execute.ObTableEntityType;
23+
import com.alipay.oceanbase.rpc.table.ObHBaseParams;
24+
import com.alipay.oceanbase.rpc.table.ObKVParams;
2325
import com.alipay.oceanbase.rpc.util.ObBytesString;
2426
import io.netty.buffer.ByteBuf;
2527
import io.netty.buffer.PooledByteBufAllocator;
@@ -79,6 +81,10 @@ public void test_ObTableQuery() {
7981
public void test_ObTableQueryWithHbaseQuery() {
8082
ObTableQuery obTableQuery = getObTableQuery();
8183
obTableQuery.sethTableFilter(getObHTableFilter());
84+
ObHBaseParams hBaseParams = new ObHBaseParams();
85+
ObKVParams kv_prams = new ObKVParams();
86+
kv_prams.setObParamsBase(hBaseParams);
87+
obTableQuery.setObKVParams(kv_prams);
8288

8389
byte[] bytes = obTableQuery.encode();
8490
ByteBuf buf = PooledByteBufAllocator.DEFAULT.buffer();

0 commit comments

Comments
 (0)