From 2b0ff7201deb634601121d54777375509261bce0 Mon Sep 17 00:00:00 2001 From: morrySnow Date: Tue, 13 Aug 2024 20:36:01 +0800 Subject: [PATCH] [fix](Nereids) support implicit cast ip types to string --- .../org/apache/doris/catalog/PrimitiveType.java | 8 ++++++++ .../suites/nereids_syntax_p0/cast.groovy | 15 +++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/fe/fe-common/src/main/java/org/apache/doris/catalog/PrimitiveType.java b/fe/fe-common/src/main/java/org/apache/doris/catalog/PrimitiveType.java index e5b1b9c958b1a0..dbb5e7ad3768a9 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/catalog/PrimitiveType.java +++ b/fe/fe-common/src/main/java/org/apache/doris/catalog/PrimitiveType.java @@ -593,6 +593,14 @@ public static ImmutableSetMultimap getImplicitCast builder.put(VARIANT, STRING); builder.put(VARIANT, JSONB); + // ipv4 + builder.put(IPV4, VARCHAR); + builder.put(IPV4, STRING); + + // ipv6 + builder.put(IPV6, VARCHAR); + builder.put(IPV6, STRING); + // HLL builder.put(HLL, HLL); diff --git a/regression-test/suites/nereids_syntax_p0/cast.groovy b/regression-test/suites/nereids_syntax_p0/cast.groovy index 0d9e28433f5ec4..5354648801aaba 100644 --- a/regression-test/suites/nereids_syntax_p0/cast.groovy +++ b/regression-test/suites/nereids_syntax_p0/cast.groovy @@ -253,4 +253,19 @@ suite("cast") { sql "select cast(1 as signed int)" sql "select cast(1 as unsigned)" sql "select cast(1 as unsigned integer)" + + // ip + + sql """drop table if exists ip_test""" + sql """ + create table if not exists ip_test (a ipv6, b ipv4) properties ("replication_num" = "1"); + """ + sql """ + insert into ip_test values('d916:b163:3ce8:e0f3:b953:fa0c:ab21:1ff9', "172.20.48.119"); + """ + + sql """sync""" + + sql """select ipv6_string_to_num(a), ipv4_string_to_num(b) from ip_test""" + sql """drop table if exists ip_test""" }