in paimon-web-api/src/main/java/org/apache/paimon/web/api/table/TableManager.java [316:350]
public static List<SnapshotTableMetadata> listSnapshots(
Catalog catalog, CatalogEntity catalogEntity, String dbName, String tableName)
throws Catalog.TableNotExistException, IOException {
checkNotNull(catalog, dbName, tableName);
List<SnapshotTableMetadata> snapshots = new ArrayList<>();
Table table = getTable(catalog, dbName, "`" + tableName + "$" + SNAPSHOTS + "`");
SnapshotManager snapshotManager =
getSnapshotManager(catalog, catalogEntity, dbName, tableName);
RecordReader<InternalRow> reader = getReader(table);
reader.forEachRemaining(
row -> {
SnapshotTableMetadata snapshotTableMetadata =
SnapshotTableMetadata.builder()
.snapshotId(row.getLong(1))
.schemaId(row.getLong(2))
.commitUser(row.getString(3).toString())
.commitIdentifier(row.getLong(4))
.commitKind(row.getString(5).toString())
.commitTime(row.getTimestamp(6, 3).toLocalDateTime())
.totalRecordCount(row.getLong(7))
.deltaRecordCount(row.getLong(8))
.changelogRecordCount(row.getLong(9))
.watermark(row.getLong(10))
.snapshotPath(
snapshotManager.snapshotPath(row.getLong(1)).toString())
.build();
snapshots.add(snapshotTableMetadata);
});
return snapshots;
}