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) {