You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by lz...@apache.org on 2020/03/24 12:43:59 UTC
[flink] 01/02: [FLINK-16740][orc] Orc logicalTypeToOrcType fails to
create decimal type with precision < 10
This is an automated email from the ASF dual-hosted git repository.
lzljs3620320 pushed a commit to branch release-1.10
in repository https://gitbox.apache.org/repos/asf/flink.git
commit 123943c819a0408941f8d437bad46a7f68f00d5e
Author: Rui Li <li...@apache.org>
AuthorDate: Tue Mar 24 20:38:39 2020 +0800
[FLINK-16740][orc] Orc logicalTypeToOrcType fails to create decimal type with precision < 10
This closes #11492
---
.../src/main/java/org/apache/flink/orc/OrcSplitReaderUtil.java | 4 ++--
.../src/test/java/org/apache/flink/orc/OrcSplitReaderUtilTest.java | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/flink-formats/flink-orc/src/main/java/org/apache/flink/orc/OrcSplitReaderUtil.java b/flink-formats/flink-orc/src/main/java/org/apache/flink/orc/OrcSplitReaderUtil.java
index e23bd72..e55601e 100644
--- a/flink-formats/flink-orc/src/main/java/org/apache/flink/orc/OrcSplitReaderUtil.java
+++ b/flink-formats/flink-orc/src/main/java/org/apache/flink/orc/OrcSplitReaderUtil.java
@@ -147,8 +147,8 @@ public class OrcSplitReaderUtil {
case DECIMAL:
DecimalType decimalType = (DecimalType) type;
return TypeDescription.createDecimal()
- .withPrecision(decimalType.getPrecision())
- .withScale(decimalType.getScale());
+ .withScale(decimalType.getScale())
+ .withPrecision(decimalType.getPrecision());
case TINYINT:
return TypeDescription.createByte();
case SMALLINT:
diff --git a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/OrcSplitReaderUtilTest.java b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/OrcSplitReaderUtilTest.java
index 7b84f1e..7f05a8e 100644
--- a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/OrcSplitReaderUtilTest.java
+++ b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/OrcSplitReaderUtilTest.java
@@ -59,6 +59,7 @@ public class OrcSplitReaderUtilTest {
DataTypes.FIELD("int0", DataTypes.INT()),
DataTypes.FIELD("int1", DataTypes.INT()))
)));
+ test("decimal(4,2)", DataTypes.DECIMAL(4, 2));
}
private void test(String expected, DataType type) {