From c86fad7cbd91d01feb2fe7180305fb50fe54efb4 Mon Sep 17 00:00:00 2001 From: Qi Chen Date: Thu, 26 Oct 2023 21:50:18 +0800 Subject: [PATCH] [Fix](orc-reader) Fix orc decimal128 scale issue. (#25977) --- be/src/apache-orc | 2 +- .../scripts/create_preinstalled_table.hql | 19 ++++++++++++++++++ .../orc_decimal_table/orc_decimal_table | Bin 0 -> 1169 bytes .../external_table_p0/hive/test_hive_orc.out | 18 +++++++++++++++++ .../hive/test_hive_orc.groovy | 10 +++++++++ 5 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/orc_table/orc_decimal_table/orc_decimal_table diff --git a/be/src/apache-orc b/be/src/apache-orc index a7c0af50f8..e52ba9094d 160000 --- a/be/src/apache-orc +++ b/be/src/apache-orc @@ -1 +1 @@ -Subproject commit a7c0af50f8ca8ff7cddaf8675473a037f8b13143 +Subproject commit e52ba9094dd8fa3e86e6043e42d6d561fe092d7c diff --git a/docker/thirdparties/docker-compose/hive/scripts/create_preinstalled_table.hql b/docker/thirdparties/docker-compose/hive/scripts/create_preinstalled_table.hql index d7e93bb74f..2fbdbbe6db 100644 --- a/docker/thirdparties/docker-compose/hive/scripts/create_preinstalled_table.hql +++ b/docker/thirdparties/docker-compose/hive/scripts/create_preinstalled_table.hql @@ -1743,5 +1743,24 @@ LOCATION msck repair table parquet_timestamp_nanos; +CREATE TABLE `orc_decimal_table`( + id INT, + decimal_col1 DECIMAL(8, 4), + decimal_col2 DECIMAL(18, 6), + decimal_col3 DECIMAL(38, 12), + decimal_col4 DECIMAL(9, 0), + decimal_col5 DECIMAL(27, 9), + decimal_col6 DECIMAL(9, 0)) +ROW FORMAT SERDE + 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' +STORED AS INPUTFORMAT + 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' +OUTPUTFORMAT + 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' +LOCATION + '/user/doris/preinstalled_data/orc_table/orc_decimal_table'; + +msck repair table orc_decimal_table; + show tables; diff --git a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/orc_table/orc_decimal_table/orc_decimal_table b/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/orc_table/orc_decimal_table/orc_decimal_table new file mode 100644 index 0000000000000000000000000000000000000000..c63a5e8ea37f22b6c871730f59665ccb4b010f93 GIT binary patch literal 1169 zcmeYdau#G@;9?VE;b0A5&}LxZ66RuNU|`Ie7^p2N)O%7#JRJdI(mT%onB{3sRW~QW{4;QFlB3yb(wJMES&j|O`2o~b18%I86KZAUwY2+I-Izo)W8U_ z=?PdjD_@whCP=rRH+QjduyC@nv!_({}K0r zHIKMKY*q#aCJrM8hU_0zb9N`5Tx%S!KlkpjI|jc^S`J=d5Mg5gDd34^V0f{0-@Lp3 z%wK$+f8@`V-3Q;lIW+O_k>498tIoN(?bybyKPNYA+O(Jvs)~W1fx(YOLV`hpL7ag> zV%3&=r64Q;HjTlZfnin4oA0mOQM9i5({%RhrL)_Zp^{)DgajBEgk%^Pejodhaq;=q zHwllVm6;)?>|$UjJ-v~u!GNbFakiP~N`+f5+0xky3&mn;{+Dl(iHGXD;m6b?F-W8-=$_iIz5;yN$#CBpqJ(CcdeB(~l@#w&fd4)85}wydCd$ zG@4)U+??$0^aACRQ&oTeXRF<0({s4z_marIpaLcNn{I`^*(PB^t8PWFWs<$L=DrOR zL#m&z_hAExcj33TObLv-Ftc-q+#S7XCi8PyKB~-15kJ_yqC}2O`2VTAe+Ko9|Bt97 zUp^!AX`lb6nu8mDuxPX=ew6Lm|L5~`%N6W1rgzG>2zCgIteK_}zmIqI_v>Fjf7qBO z>muVKdqn1ltja5fwo)GV;tpkNZ<*Vbjm6f%Z*E#1e94!*K#4rkn9Icboj4?#E^Fdux$cW2dRvy}b&@{=HhT 3 order by id;""" + } + String enabled = context.config.otherConfigs.get("enableHiveTest") if (enabled != null && enabled.equalsIgnoreCase("true")) { try { @@ -86,6 +94,7 @@ suite("test_hive_orc", "all_types,p0,external,hive,external_docker,external_dock search_in_int() search_mix() only_partition_col() + decimals() sql """drop catalog if exists ${catalog_name}""" @@ -103,3 +112,4 @@ suite("test_hive_orc", "all_types,p0,external,hive,external_docker,external_dock } } } +