Skip to content

Commit 86e0954

Browse files
committed
use correct tableName if using index or hbase tableGroup
1 parent a41ba6a commit 86e0954

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

src/main/java/com/alipay/oceanbase/rpc/table/ObTableClientQueryImpl.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,19 +171,33 @@ private AbstractQueryStreamResult commonExecute(InitQueryResultCallback<Abstract
171171
}
172172
if (tableQuery.getIndexName() != null) {
173173
this.partitionObTables.put(0L, new ObPair<Long, ObTableParam>(0L, new ObTableParam(
174-
obTableClient.getOdpTable())));
174+
obTableClient.getOdpTable())));
175175
} else if (getPartId() == null) {
176176
initPartitions();
177177
} else {
178+
String realTableName = tableName;
179+
if (this.entityType == ObTableEntityType.HKV
180+
&& obTableClient.isTableGroupName(tableName)) {
181+
indexTableName = obTableClient.tryGetTableNameFromTableGroupCache(tableName,
182+
false);
183+
realTableName = indexTableName;
184+
}
178185
ObPair<Long, ObTableParam> odpTable = obTableClient.getODPTableWithPartId(
179-
tableName, getPartId(), false);
186+
realTableName, getPartId(), false);
180187
this.partitionObTables.put(odpTable.getLeft(), odpTable);
181188
}
182189
} else {
183190
if (getPartId() == null) {
184191
initPartitions();
185192
} else { // directly get table from table entry by logic partId
186-
ObPair<Long, ObTableParam> table = obTableClient.getTableWithPartId(tableName,
193+
if (this.entityType != ObTableEntityType.HKV) {
194+
indexTableName = obTableClient.getIndexTableName(tableName,
195+
tableQuery.getIndexName(), tableQuery.getScanRangeColumns(), false);
196+
} else if (obTableClient.isTableGroupName(tableName)) {
197+
indexTableName = obTableClient.tryGetTableNameFromTableGroupCache(tableName,
198+
false);
199+
}
200+
ObPair<Long, ObTableParam> table = obTableClient.getTableWithPartId(indexTableName,
187201
getPartId(), false, false, false, obTableClient.getRoute(false));
188202
partitionObTables.put(table.getLeft(), table);
189203
}

0 commit comments

Comments
 (0)