public static List listSnapshots()

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;
    }