Search in sources :

Example 1 with TiKVScanAnalyzer

use of com.pingcap.tikv.predicates.TiKVScanAnalyzer in project tispark by pingcap.

the class RegionUtils method getRegionTasks.

private static List<RegionTask> getRegionTasks(TiSession session, String databaseName, String tableName) {
    requireNonNull(session, "session is null");
    requireNonNull(databaseName, "databaseName is null");
    requireNonNull(tableName, "tableName is null");
    TiTableInfo table = session.getCatalog().getTable(databaseName, tableName);
    requireNonNull(table, String.format("Table not found %s.%s", databaseName, tableName));
    TiKVScanAnalyzer builder = new TiKVScanAnalyzer();
    TiDAGRequest dagRequest = builder.buildTiDAGReq(ImmutableList.of(), ImmutableList.of(), table, session.getTimestamp(), new TiDAGRequest(PushDownType.NORMAL));
    List<KeyRange> ranges = new ArrayList<>();
    dagRequest.getRangesMaps().forEach((k, v) -> ranges.addAll(v));
    return RangeSplitter.newSplitter(session.getRegionManager()).splitRangeByRegion(ranges);
}
Also used : TiTableInfo(com.pingcap.tikv.meta.TiTableInfo) KeyRange(org.tikv.kvproto.Coprocessor.KeyRange) ArrayList(java.util.ArrayList) TiKVScanAnalyzer(com.pingcap.tikv.predicates.TiKVScanAnalyzer) TiDAGRequest(com.pingcap.tikv.meta.TiDAGRequest)

Aggregations

TiDAGRequest (com.pingcap.tikv.meta.TiDAGRequest)1 TiTableInfo (com.pingcap.tikv.meta.TiTableInfo)1 TiKVScanAnalyzer (com.pingcap.tikv.predicates.TiKVScanAnalyzer)1 ArrayList (java.util.ArrayList)1 KeyRange (org.tikv.kvproto.Coprocessor.KeyRange)1