From 61fcc87f413eb07e90bc8e892a7ec44256eb7e27 Mon Sep 17 00:00:00 2001 From: weimingdiit Date: Thu, 6 Aug 2026 14:30:10 +0800 Subject: [PATCH] [AURON #2451] Add Paimon COW multi-commit correctness coverage Signed-off-by: weimingdiit --- .../paimon/AuronPaimonV2IntegrationSuite.scala | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/thirdparty/auron-paimon/src/test/scala/org/apache/auron/paimon/AuronPaimonV2IntegrationSuite.scala b/thirdparty/auron-paimon/src/test/scala/org/apache/auron/paimon/AuronPaimonV2IntegrationSuite.scala index a36b06441..2c472679e 100644 --- a/thirdparty/auron-paimon/src/test/scala/org/apache/auron/paimon/AuronPaimonV2IntegrationSuite.scala +++ b/thirdparty/auron-paimon/src/test/scala/org/apache/auron/paimon/AuronPaimonV2IntegrationSuite.scala @@ -143,6 +143,24 @@ class AuronPaimonV2IntegrationSuite } } + test("paimon v2 COW primary-key table preserves latest value across commits") { + withTable("paimon.db.t_cow_multi_commit") { + sql(""" + |create table paimon.db.t_cow_multi_commit (id int, v string) + |using paimon + |tblproperties ( + | 'primary-key' = 'id', + | 'bucket' = '2', + | 'full-compaction.delta-commits' = '1' + |) + |""".stripMargin) + sql("insert into paimon.db.t_cow_multi_commit values (1, 'a'), (2, 'b')") + sql("insert into paimon.db.t_cow_multi_commit values (1, 'updated')") + val df = sql("select * from paimon.db.t_cow_multi_commit") + checkAnswer(df, Seq(Row(1, "updated"), Row(2, "b"))) + } + } + test("paimon v2 native scan handles empty table") { withTable("paimon.db.t_empty") { sql("create table paimon.db.t_empty (id int, v string) using paimon")