This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push: new b6ab0c4e596 [fix](multi-catalog)fix hive partition insert regression case (#35846) b6ab0c4e596 is described below commit b6ab0c4e5965eb88bbc543fcdf6f0a132aa89e18 Author: slothever <18522955+w...@users.noreply.github.com> AuthorDate: Thu Jun 6 11:35:04 2024 +0800 [fix](multi-catalog)fix hive partition insert regression case (#35846) from #35821 --- .../nereids/analyzer/UnboundTableSinkCreator.java | 3 +++ .../hive/ddl/test_hive_write_type.groovy | 24 +++++++++++++--------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java index e1c771b6a4c..6784f66ab7d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java @@ -105,6 +105,9 @@ public class UnboundTableSinkCreator { isPartialUpdate, dmlCommandType, Optional.empty(), Optional.empty(), plan); } else if (curCatalog instanceof HMSExternalCatalog && !isAutoDetectPartition) { + if (!partitions.isEmpty()) { + throw new AnalysisException("Not support insert with partition spec in hive catalog."); + } return new UnboundHiveTableSink<>(nameParts, colNames, hints, partitions, dmlCommandType, Optional.empty(), Optional.empty(), plan); } else if (curCatalog instanceof IcebergExternalCatalog && !isAutoDetectPartition) { diff --git a/regression-test/suites/external_table_p0/hive/ddl/test_hive_write_type.groovy b/regression-test/suites/external_table_p0/hive/ddl/test_hive_write_type.groovy index 0e1e1355afd..688eef7b9a8 100644 --- a/regression-test/suites/external_table_p0/hive/ddl/test_hive_write_type.groovy +++ b/regression-test/suites/external_table_p0/hive/ddl/test_hive_write_type.groovy @@ -178,9 +178,9 @@ suite("test_hive_write_type", "p0,external,hive,external_docker,external_docker_ `col7` DECIMAL(6,4) COMMENT 'col7', `col8` VARCHAR(11) COMMENT 'col8', `col9` STRING COMMENT 'col9', + `pt3` DATE COMMENT 'pt3', `pt1` VARCHAR COMMENT 'pt1', - `pt2` STRING COMMENT 'pt2', - `pt3` DATE COMMENT 'pt3' + `pt2` STRING COMMENT 'pt2' ) ENGINE=hive PARTITION BY LIST (pt1, pt2) () PROPERTIES ( @@ -197,7 +197,7 @@ suite("test_hive_write_type", "p0,external,hive,external_docker,external_docker_ } catch (Exception e) { log.info(e.getMessage()) // BE err msg need use string contains to check - assertTrue(e.getMessage().contains("Arithmetic overflow, convert failed from 1234567, expected data is [-999999, 999999]")) + assertTrue(e.getMessage().contains("Arithmetic overflow when converting value 123.4567 from type Decimal(7, 4) to type Decimal(6, 4)")) } try { @@ -208,7 +208,7 @@ suite("test_hive_write_type", "p0,external,hive,external_docker,external_docker_ """ } catch (Exception e) { log.info(e.getMessage()) - assertTrue(e.getMessage().contains("Arithmetic overflow, convert failed from 1234567, expected data is [-999999, 999999]")) + assertTrue(e.getMessage().contains("Arithmetic overflow when converting value 123.4567 from type Decimal(7, 4) to type Decimal(6, 4)")) } test { @@ -246,20 +246,24 @@ suite("test_hive_write_type", "p0,external,hive,external_docker,external_docker_ VALUES ('abcdefghij', 'error', true, 123); """ - exception "errCode = 2, detailMessage = Column count doesn't match value count" + exception "errCode = 2, detailMessage = Not support insert with partition spec in hive catalog" } - sql """ INSERT INTO ex_tbl_${file_format} partition(`pt1`,`pt2`) (`col3`, `col6`, `col9`) - VALUES - (9876543210, 6.28, 'no_error'); - """ + // TODO: support partition spec + test { + sql """ INSERT INTO ex_tbl_${file_format} partition(`pt1`,`pt2`) (`col3`, `col6`, `col9`) + VALUES + (9876543210, 6.28, 'no_error'); + """ + exception "errCode = 2, detailMessage = Not support insert with partition spec in hive catalog" + } test { sql """ INSERT INTO ex_tbl_${file_format} partition(`pt0`, `pt1`,`pt3`) (`col3`, `col6`, `col9`) VALUES ('err', 'err', 'err', 9876543210, 6.28, 'error'); """ - exception "errCode = 2, detailMessage = Column count doesn't match value count" + exception "errCode = 2, detailMessage = Not support insert with partition spec in hive catalog" } sql """ DROP TABLE ${catalog_name}.test_hive_ex.ex_tbl_${file_format} """ --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org