in paimon-presto-common/src/main/java/org/apache/paimon/presto/PrestoSplitManager.java [38:53]
public ConnectorSplitSource getSplits(
ConnectorTransactionHandle transactionHandle,
ConnectorSession session,
ConnectorTableLayoutHandle layout,
SplitSchedulingContext splitSchedulingContext) {
PrestoTableHandle tableHandle = ((PrestoTableLayoutHandle) layout).getTableHandle();
Table table = tableHandle.table();
ReadBuilder readBuilder = table.newReadBuilder();
new PrestoFilterConverter(table.rowType())
.convert(tableHandle.getFilter())
.ifPresent(readBuilder::withFilter);
List<Split> splits = readBuilder.newScan().plan().splits();
return new PrestoSplitSource(
splits.stream().map(PrestoSplit::fromSplit).collect(Collectors.toList()));
}