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

morrysnow 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 9243de18980 [fix](planner) add IP type to compatibilityMatrix (#26095)
9243de18980 is described below

commit 9243de18980da8e495df57dcb9890830d1eff76e
Author: starocean999 <40539150+starocean...@users.noreply.github.com>
AuthorDate: Fri Nov 3 14:19:22 2023 +0800

    [fix](planner) add IP type to compatibilityMatrix (#26095)
---
 .../main/java/org/apache/doris/catalog/Type.java   | 32 +++++++++++++++
 .../suites/correctness_p0/test_cast_in.groovy      | 46 ++++++++++++++++++++++
 2 files changed, 78 insertions(+)

diff --git a/fe/fe-common/src/main/java/org/apache/doris/catalog/Type.java 
b/fe/fe-common/src/main/java/org/apache/doris/catalog/Type.java
index 0d2c96ca855..0121bed39ce 100644
--- a/fe/fe-common/src/main/java/org/apache/doris/catalog/Type.java
+++ b/fe/fe-common/src/main/java/org/apache/doris/catalog/Type.java
@@ -1871,6 +1871,38 @@ public abstract class Type {
         compatibilityMatrix[TIMEV2.ordinal()][IPV6.ordinal()] = 
PrimitiveType.INVALID_TYPE;
         compatibilityMatrix[TIMEV2.ordinal()][AGG_STATE.ordinal()] = 
PrimitiveType.INVALID_TYPE;
 
+        // IPV4
+        compatibilityMatrix[IPV4.ordinal()][TIME.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][TIMEV2.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][STRING.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][JSONB.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][VARIANT.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][QUANTILE_STATE.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][DATEV2.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][DATETIMEV2.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][DECIMAL32.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][DECIMAL64.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][DECIMAL128.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][DECIMAL256.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][IPV6.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV4.ordinal()][AGG_STATE.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+
+        // IPV6
+        compatibilityMatrix[IPV6.ordinal()][TIME.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][TIMEV2.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][STRING.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][JSONB.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][VARIANT.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][QUANTILE_STATE.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][DATEV2.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][DATETIMEV2.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][DECIMAL32.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][DECIMAL64.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][DECIMAL128.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][DECIMAL256.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][IPV4.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+        compatibilityMatrix[IPV6.ordinal()][AGG_STATE.ordinal()] = 
PrimitiveType.INVALID_TYPE;
+
         // Check all of the necessary entries that should be filled.
         // ignore binary and all
         for (int i = 0; i < PrimitiveType.values().length - 2; ++i) {
diff --git a/regression-test/suites/correctness_p0/test_cast_in.groovy 
b/regression-test/suites/correctness_p0/test_cast_in.groovy
new file mode 100644
index 00000000000..b289f6c2382
--- /dev/null
+++ b/regression-test/suites/correctness_p0/test_cast_in.groovy
@@ -0,0 +1,46 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_cast_in") {
+    sql """
+        set enable_nereids_planner=false;
+    """
+    sql """DROP TABLE IF EXISTS date_dim_table_x;"""
+    sql """
+        CREATE TABLE IF NOT EXISTS date_dim_table_x (
+        d_date date,
+        d_week_seq integer
+    )
+    UNIQUE KEY(d_date)
+    DISTRIBUTED BY HASH(d_date) BUCKETS 1
+    PROPERTIES (
+    "replication_num" = "1"
+    )
+    """
+
+    sql """SELECT d_date
+            FROM date_dim_table_x
+            WHERE (d_date IN 
+                (SELECT d_date
+                FROM date_dim_table_x
+                WHERE (d_week_seq IN 
+                    (SELECT d_week_seq
+                    FROM date_dim_table_x
+                    WHERE (d_date IN (CAST('2000-06-30' AS DATE) , 
CAST('2000-09-27' AS DATE) , CAST('2000-11-17' AS DATE))) )) ));"""
+
+    sql """DROP TABLE IF EXISTS date_dim_table_x;"""
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to