in paimon-trino-common/src/main/java/org/apache/paimon/trino/TrinoSplitManagerBase.java [36:50]
protected ConnectorSplitSource getSplits(
ConnectorTableHandle connectorTableHandle, ConnectorSession session) {
// TODO dynamicFilter?
// TODO what is constraint?
TrinoTableHandle tableHandle = (TrinoTableHandle) connectorTableHandle;
Table table = tableHandle.tableWithDynamicOptions(session);
ReadBuilder readBuilder = table.newReadBuilder();
new TrinoFilterConverter(table.rowType())
.convert(tableHandle.getFilter())
.ifPresent(readBuilder::withFilter);
List<Split> splits = readBuilder.newScan().plan().splits();
return new TrinoSplitSource(
splits.stream().map(TrinoSplit::fromSplit).collect(Collectors.toList()));
}