in src/main/java/org/apache/paimon/trino/TrinoMetadata.java [183:211]
private Optional<ConnectorOutputMetadata> commit(
ConnectorSession session, TrinoTableHandle insertHandle, Collection<Slice> fragments) {
CommitMessageSerializer serializer = new CommitMessageSerializer();
List<CommitMessage> commitMessages =
fragments.stream()
.map(
slice -> {
try {
return serializer.deserialize(
serializer.getVersion(), slice.getBytes());
} catch (IOException e) {
throw new RuntimeException(e);
}
})
.collect(toList());
if (commitMessages.isEmpty()) {
return Optional.empty();
}
TrinoTableHandle table = insertHandle;
BatchWriteBuilder batchWriteBuilder =
table.tableWithDynamicOptions(catalog, session).newBatchWriteBuilder();
if (TrinoSessionProperties.enableInsertOverwrite(session)) {
batchWriteBuilder.withOverwrite();
}
batchWriteBuilder.newCommit().commit(commitMessages);
return Optional.empty();
}