This is an automated email from the ASF dual-hosted git repository. lzljs3620320 pushed a commit to branch release-0.4 in repository https://gitbox.apache.org/repos/asf/incubator-paimon.git
commit be37fae313d0af45998c9289c39b885d70794492 Author: Jingsong Lee <[email protected]> AuthorDate: Tue Apr 25 21:45:32 2023 +0800 [orc] Orc supports Time type (#1012) --- .../paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java | 6 +----- .../org/apache/paimon/format/orc/filter/OrcFileStatsExtractor.java | 1 + .../org/apache/paimon/format/orc/reader/OrcSplitReaderUtil.java | 1 + .../org/apache/paimon/format/orc/OrcFileStatsExtractorTest.java | 2 ++ 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java index 969d64a79..a623b3a75 100644 --- a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java +++ b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/cdc/mysql/MySqlSyncTableActionITCase.java @@ -353,10 +353,6 @@ public class MySqlSyncTableActionITCase extends MySqlActionITCaseBase { mySqlConfig.put("database-name", DATABASE_NAME); mySqlConfig.put("table-name", "all_types_table"); - // orc format do not support time type, so we use parquet format. - Map<String, String> paimonConfig = getBasicMySqlConfig(); - paimonConfig.put("file.format", "parquet"); - StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(1); env.enableCheckpointing(1000); @@ -371,7 +367,7 @@ public class MySqlSyncTableActionITCase extends MySqlActionITCaseBase { Collections.singletonList("pt"), Arrays.asList("pt", "_id"), Collections.emptyMap(), - paimonConfig); + Collections.emptyMap()); action.build(env); JobClient jobClient = env.executeAsync(); diff --git a/paimon-format/src/main/java/org/apache/paimon/format/orc/filter/OrcFileStatsExtractor.java b/paimon-format/src/main/java/org/apache/paimon/format/orc/filter/OrcFileStatsExtractor.java index bf3940df2..c9a7e28d9 100644 --- a/paimon-format/src/main/java/org/apache/paimon/format/orc/filter/OrcFileStatsExtractor.java +++ b/paimon-format/src/main/java/org/apache/paimon/format/orc/filter/OrcFileStatsExtractor.java @@ -133,6 +133,7 @@ public class OrcFileStatsExtractor implements FileStatsExtractor { (short) shortStats.getMaximum(), nullCount); case INTEGER: + case TIME_WITHOUT_TIME_ZONE: assertStatsClass(field, stats, IntegerColumnStatistics.class); IntegerColumnStatistics intStats = (IntegerColumnStatistics) stats; return new FieldStats( diff --git a/paimon-format/src/main/java/org/apache/paimon/format/orc/reader/OrcSplitReaderUtil.java b/paimon-format/src/main/java/org/apache/paimon/format/orc/reader/OrcSplitReaderUtil.java index 526bf6ad0..ae00821f3 100644 --- a/paimon-format/src/main/java/org/apache/paimon/format/orc/reader/OrcSplitReaderUtil.java +++ b/paimon-format/src/main/java/org/apache/paimon/format/orc/reader/OrcSplitReaderUtil.java @@ -63,6 +63,7 @@ public class OrcSplitReaderUtil { case SMALLINT: return TypeDescription.createShort(); case INTEGER: + case TIME_WITHOUT_TIME_ZONE: return TypeDescription.createInt(); case BIGINT: return TypeDescription.createLong(); diff --git a/paimon-format/src/test/java/org/apache/paimon/format/orc/OrcFileStatsExtractorTest.java b/paimon-format/src/test/java/org/apache/paimon/format/orc/OrcFileStatsExtractorTest.java index ee4a182d7..aab9e6eef 100644 --- a/paimon-format/src/test/java/org/apache/paimon/format/orc/OrcFileStatsExtractorTest.java +++ b/paimon-format/src/test/java/org/apache/paimon/format/orc/OrcFileStatsExtractorTest.java @@ -37,6 +37,7 @@ import org.apache.paimon.types.MapType; import org.apache.paimon.types.MultisetType; import org.apache.paimon.types.RowType; import org.apache.paimon.types.SmallIntType; +import org.apache.paimon.types.TimeType; import org.apache.paimon.types.TimestampType; import org.apache.paimon.types.TinyIntType; import org.apache.paimon.types.VarBinaryType; @@ -68,6 +69,7 @@ public class OrcFileStatsExtractorTest extends FileStatsExtractorTestBase { new DecimalType(5, 2), new DecimalType(38, 18), new DateType(), + new TimeType(), new TimestampType(3), new LocalZonedTimestampType(3), // orc reader & writer currently cannot preserve a high precision timestamp
