diff --git a/paimon-core/src/main/java/org/apache/paimon/table/system/SnapshotsTable.java b/paimon-core/src/main/java/org/apache/paimon/table/system/SnapshotsTable.java index df90c5060e28..d869be3ded59 100644 --- a/paimon-core/src/main/java/org/apache/paimon/table/system/SnapshotsTable.java +++ b/paimon-core/src/main/java/org/apache/paimon/table/system/SnapshotsTable.java @@ -106,7 +106,8 @@ public class SnapshotsTable implements ReadonlyTable { new DataField(9, "total_record_count", new BigIntType(true)), new DataField(10, "delta_record_count", new BigIntType(true)), new DataField(11, "changelog_record_count", new BigIntType(true)), - new DataField(12, "watermark", new BigIntType(true)))); + new DataField(12, "watermark", new BigIntType(true)), + new DataField(13, "next_row_id", new BigIntType(true)))); private final FileIO fileIO; private final Path location; @@ -331,7 +332,8 @@ private InternalRow toRow(Snapshot snapshot) { snapshot.totalRecordCount(), snapshot.deltaRecordCount(), snapshot.changelogRecordCount(), - snapshot.watermark()); + snapshot.watermark(), + snapshot.nextRowId()); } } } diff --git a/paimon-core/src/test/java/org/apache/paimon/table/system/SnapshotsTableTest.java b/paimon-core/src/test/java/org/apache/paimon/table/system/SnapshotsTableTest.java index 20efe55ac995..7a3bbf961c5c 100644 --- a/paimon-core/src/test/java/org/apache/paimon/table/system/SnapshotsTableTest.java +++ b/paimon-core/src/test/java/org/apache/paimon/table/system/SnapshotsTableTest.java @@ -117,7 +117,8 @@ private List getExpectedResult(long[] snapshotIds) { snapshot.totalRecordCount(), snapshot.deltaRecordCount(), snapshot.changelogRecordCount(), - snapshot.watermark())); + snapshot.watermark(), + snapshot.nextRowId())); } return expectedRow; diff --git a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java index 38a1bc8a1d58..0bea96f04630 100644 --- a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java +++ b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java @@ -73,7 +73,8 @@ public void testNotExistMetadataTable() { @Test public void testSnapshotsTable() throws Exception { - sql("CREATE TABLE T (a INT, b INT)"); + sql( + "CREATE TABLE T (a INT, b INT) WITH ('row-tracking.enabled' = 'true', 'data-evolution.enabled' = 'true')"); sql("INSERT INTO T VALUES (1, 2)"); sql("INSERT INTO T VALUES (3, 4)"); sql("INSERT INTO T VALUES (5, 6)"); @@ -136,6 +137,10 @@ public void testSnapshotsTable() throws Exception { Row.of(1L, 0L, "APPEND"), Row.of(2L, 0L, "APPEND"), Row.of(3L, 0L, "APPEND")); + + result = sql("SELECT next_row_id FROM T$snapshots"); + + assertThat(result).contains(Row.of(1L), Row.of(2L), Row.of(3L)); } @Test