From 348519f3cde1fba7a3c22f259f19ac6563f4db03 Mon Sep 17 00:00:00 2001 From: Danny Chan Date: Thu, 21 Jul 2022 09:38:26 +0800 Subject: [PATCH] [HUDI-4427] Add a computed column IT test (#6150) --- .../hudi/table/ITTestHoodieDataSource.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/table/ITTestHoodieDataSource.java b/hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/table/ITTestHoodieDataSource.java index 44d300f55..fb9f55986 100644 --- a/hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/table/ITTestHoodieDataSource.java +++ b/hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/table/ITTestHoodieDataSource.java @@ -1362,6 +1362,34 @@ public class ITTestHoodieDataSource extends AbstractTestBase { assertRowsEquals(partitionResult, "[+I[1, 2022-02-02, 1]]"); } + @Test + void testWriteReadWithComputedColumns() { + TableEnvironment tableEnv = batchTableEnv; + String createTable = sql("t1") + .field("f0 int") + .field("f1 varchar(10)") + .field("f2 bigint") + .field("f3 as f0 + f2") + .option(FlinkOptions.PATH, tempFile.getAbsolutePath()) + .option(FlinkOptions.PRECOMBINE_FIELD, "f1") + .pkField("f0") + .noPartition() + .end(); + tableEnv.executeSql(createTable); + + String insertInto = "insert into t1 values\n" + + "(1, 'abc', 2)"; + execInsertSql(tableEnv, insertInto); + + List result1 = CollectionUtil.iterableToList( + () -> tableEnv.sqlQuery("select * from t1").execute().collect()); + assertRowsEquals(result1, "[+I[1, abc, 2, 3]]"); + + List result2 = CollectionUtil.iterableToList( + () -> tableEnv.sqlQuery("select f3 from t1").execute().collect()); + assertRowsEquals(result2, "[+I[3]]"); + } + // ------------------------------------------------------------------------- // Utilities // -------------------------------------------------------------------------