This is an automated email from the ASF dual-hosted git repository.

kxiao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 21230a3746f [Fix](Variant Type) forbit distribution info contains 
variant columns (#33707)
21230a3746f is described below

commit 21230a3746ff4c524e2c7e1835dc99be8ca29f02
Author: lihangyu <[email protected]>
AuthorDate: Wed Apr 17 23:03:11 2024 +0800

    [Fix](Variant Type) forbit distribution info contains variant columns 
(#33707)
---
 .../java/org/apache/doris/datasource/InternalCatalog.java    |  6 ++++++
 regression-test/suites/variant_p0/load.groovy                | 12 ++++++++++++
 2 files changed, 18 insertions(+)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
index f06ce7d63a3..2dadc8d1b55 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
@@ -2177,6 +2177,12 @@ public class InternalCatalog implements 
CatalogIf<Database> {
         Preconditions.checkNotNull(distributionDesc);
         DistributionInfo defaultDistributionInfo = 
distributionDesc.toDistributionInfo(baseSchema);
 
+        if (defaultDistributionInfo instanceof HashDistributionInfo
+                    && ((HashDistributionInfo) 
defaultDistributionInfo).getDistributionColumns()
+                        .stream().anyMatch(column -> 
column.getType().isVariantType())) {
+            throw new DdlException("Hash distribution info should not contain 
variant columns");
+        }
+
         // calc short key column count
         short shortKeyColumnCount = Env.calcShortKeyColumnCount(baseSchema, 
stmt.getProperties(), isKeysRequired);
         if (LOG.isDebugEnabled()) {
diff --git a/regression-test/suites/variant_p0/load.groovy 
b/regression-test/suites/variant_p0/load.groovy
index 3f3609ec877..b85dd686f84 100644
--- a/regression-test/suites/variant_p0/load.groovy
+++ b/regression-test/suites/variant_p0/load.groovy
@@ -259,6 +259,18 @@ suite("regression_test_variant", "nonConcurrent"){
             exception("errCode = 2, detailMessage = Doris hll, bitmap, array, 
map, struct, jsonb, variant column must use with specific function, and don't 
support filter, group by or order by")
         }
 
+        test {
+            sql """
+            create table var(
+                `content` variant
+            )distributed by hash(`content`) buckets 8
+            properties(
+              "replication_allocation" = "tag.location.default: 1"
+            );
+            """
+            exception("errCode = 2, detailMessage = Hash distribution info 
should not contain variant columns")
+        }
+
         // 13. sparse columns
         table_name = "sparse_columns"
         create_table table_name


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to