This is an automated email from the ASF dual-hosted git repository.
lihaopeng 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 a9dd715991a [improvement](function) switch inet(6)_aton alias origin
function (#30196)
a9dd715991a is described below
commit a9dd715991ab008826c8cfc2039493b00ee5f8c7
Author: Chester <[email protected]>
AuthorDate: Mon Jan 22 11:33:04 2024 +0800
[improvement](function) switch inet(6)_aton alias origin function (#30196)
---
be/src/vec/functions/function_ip.cpp | 4 +--
.../sql-functions/ip-functions/inet-aton.md | 20 ++++++++----
.../sql-functions/ip-functions/inet6-aton.md | 30 ++++++++++-------
.../sql-functions/ip-functions/inet-aton.md | 19 +++++++----
.../sql-functions/ip-functions/inet6-aton.md | 29 ++++++++++-------
.../doris/catalog/BuiltinScalarFunctions.java | 8 ++---
.../org/apache/doris/rewrite/FunctionAlias.java | 4 +--
gensrc/script/doris_builtins_functions.py | 16 ++++-----
.../data/nereids_function_p0/ip_functions.out | 38 +++++++++++++++++++++-
.../ip_functions/test_ip_functions.out | 38 +++++++++++++++++++++-
.../suites/nereids_function_p0/ip_functions.groovy | 12 +++++++
.../ip_functions/test_ip_functions.groovy | 12 +++++++
12 files changed, 174 insertions(+), 56 deletions(-)
diff --git a/be/src/vec/functions/function_ip.cpp
b/be/src/vec/functions/function_ip.cpp
index 140100d22b3..349e095b4a2 100644
--- a/be/src/vec/functions/function_ip.cpp
+++ b/be/src/vec/functions/function_ip.cpp
@@ -25,7 +25,7 @@ void register_function_ip(SimpleFunctionFactory& factory) {
factory.register_function<FunctionIPv4StringToNum<IPStringToNumExceptionMode::Throw>>();
factory.register_function<FunctionIPv4StringToNum<IPStringToNumExceptionMode::Default>>();
factory.register_function<FunctionIPv4StringToNum<IPStringToNumExceptionMode::Null>>();
-
factory.register_alias(FunctionIPv4StringToNum<IPStringToNumExceptionMode::Throw>::name,
+
factory.register_alias(FunctionIPv4StringToNum<IPStringToNumExceptionMode::Null>::name,
"inet_aton");
factory.register_function<FunctionIPv6NumToString>();
@@ -33,7 +33,7 @@ void register_function_ip(SimpleFunctionFactory& factory) {
factory.register_function<FunctionIPv6StringToNum<IPStringToNumExceptionMode::Throw>>();
factory.register_function<FunctionIPv6StringToNum<IPStringToNumExceptionMode::Default>>();
factory.register_function<FunctionIPv6StringToNum<IPStringToNumExceptionMode::Null>>();
-
factory.register_alias(FunctionIPv6StringToNum<IPStringToNumExceptionMode::Throw>::name,
+
factory.register_alias(FunctionIPv6StringToNum<IPStringToNumExceptionMode::Null>::name,
"inet6_aton");
factory.register_function<FunctionIsIPv4Compat>();
diff --git a/docs/en/docs/sql-manual/sql-functions/ip-functions/inet-aton.md
b/docs/en/docs/sql-manual/sql-functions/ip-functions/inet-aton.md
index 1120a4852f4..56f9308f347 100644
--- a/docs/en/docs/sql-manual/sql-functions/ip-functions/inet-aton.md
+++ b/docs/en/docs/sql-manual/sql-functions/ip-functions/inet-aton.md
@@ -40,20 +40,26 @@ Takes a string containing an IPv4 address in the format
A.B.C.D (dot-separated n
### notice
-`will return an error if the input string is not a valid IPv4 address`
+`It is the alias of ipv4_string_to_num_or_null.
+It will return NULL if the input string is not a valid IP address or NULL,
which is the same with MySQL`
### example
```
mysql> select inet_aton('192.168.0.1');
-+--------------------------------+
-| inet_aton('192.168.0.1') |
-+--------------------------------+
-| 3232235521 |
-+--------------------------------+
++-------------------------------------------+
+| ipv4_string_to_num_or_null('192.168.0.1') |
++-------------------------------------------+
+| 3232235521 |
++-------------------------------------------+
1 row in set (0.01 sec)
mysql> SELECT inet_aton('192.168');
-ERROR 1105 (HY000): errCode = 2, detailMessage =
(172.17.0.2)[CANCELLED][INVALID_ARGUMENT][E33] Invalid IPv4 value
++---------------------------------------+
+| ipv4_string_to_num_or_null('192.168') |
++---------------------------------------+
+| NULL |
++---------------------------------------+
+1 row in set (0.01 sec)
```
### keywords
diff --git a/docs/en/docs/sql-manual/sql-functions/ip-functions/inet6-aton.md
b/docs/en/docs/sql-manual/sql-functions/ip-functions/inet6-aton.md
index 69bf4a44861..25f60b2cb8c 100644
--- a/docs/en/docs/sql-manual/sql-functions/ip-functions/inet6-aton.md
+++ b/docs/en/docs/sql-manual/sql-functions/ip-functions/inet6-aton.md
@@ -41,28 +41,34 @@ If the input string contains a valid IPv4 address, returns
its IPv6 equivalent.
### notice
-`will return an error if the input string is not a valid IP address`
+`It is the alias of ipv6_string_to_num_or_null.
+It will return NULL if the input string is not a valid IP address or NULL,
which is the same with MySQL`
### example
```
mysql> select hex(inet6_aton('1111::ffff'));
-+----------------------------------+
-| hex(inet6_aton('1111::ffff')) |
-+----------------------------------+
-| 1111000000000000000000000000FFFF |
-+----------------------------------+
++-----------------------------------------------+
+| hex(ipv6_string_to_num_or_null('1111::ffff')) |
++-----------------------------------------------+
+| 1111000000000000000000000000FFFF |
++-----------------------------------------------+
1 row in set (0.02 sec)
mysql> select hex(inet6_aton('192.168.0.1'));
-+----------------------------------+
-| hex(inet6_aton('192.168.0.1')) |
-+----------------------------------+
-| 00000000000000000000FFFFC0A80001 |
-+----------------------------------+
++------------------------------------------------+
+| hex(ipv6_string_to_num_or_null('192.168.0.1')) |
++------------------------------------------------+
+| 00000000000000000000FFFFC0A80001 |
++------------------------------------------------+
1 row in set (0.02 sec)
mysql> select hex(inet6_aton('notaaddress'));
-ERROR 1105 (HY000): errCode = 2, detailMessage = (172.17.0.2)[CANCELLED][E33]
Invalid IPv6 value
++--------------------------------------------------+
+| hex(ipv6_string_to_num_or_null('notaaddress')) |
++--------------------------------------------------+
+| NULL |
++--------------------------------------------------+
+1 row in set (0.02 sec)
```
### keywords
diff --git a/docs/zh-CN/docs/sql-manual/sql-functions/ip-functions/inet-aton.md
b/docs/zh-CN/docs/sql-manual/sql-functions/ip-functions/inet-aton.md
index 2260dfbc49d..50a31f17994 100644
--- a/docs/zh-CN/docs/sql-manual/sql-functions/ip-functions/inet-aton.md
+++ b/docs/zh-CN/docs/sql-manual/sql-functions/ip-functions/inet-aton.md
@@ -40,20 +40,25 @@ inet_aton
### notice
-`如果输入字符串不是有效的 IPv4 地址,将返回错误`
+`该函数为ipv4_string_to_num_or_null的别称。如果输入字符串不是有效的 IPv4 地址或者NULL,将返回NULL,和MySQL一样`
### example
```
mysql> select inet_aton('192.168.0.1');
-+--------------------------------+
-| inet_aton('192.168.0.1') |
-+--------------------------------+
-| 3232235521 |
-+--------------------------------+
++-------------------------------------------+
+| ipv4_string_to_num_or_null('192.168.0.1') |
++-------------------------------------------+
+| 3232235521 |
++-------------------------------------------+
1 row in set (0.01 sec)
mysql> SELECT inet_aton('192.168');
-ERROR 1105 (HY000): errCode = 2, detailMessage =
(172.17.0.2)[CANCELLED][INVALID_ARGUMENT][E33] Invalid IPv4 value
++---------------------------------------+
+| ipv4_string_to_num_or_null('192.168') |
++---------------------------------------+
+| NULL |
++---------------------------------------+
+1 row in set (0.01 sec)
```
### keywords
diff --git
a/docs/zh-CN/docs/sql-manual/sql-functions/ip-functions/inet6-aton.md
b/docs/zh-CN/docs/sql-manual/sql-functions/ip-functions/inet6-aton.md
index cc2bd6f04d2..53eac5cb900 100644
--- a/docs/zh-CN/docs/sql-manual/sql-functions/ip-functions/inet6-aton.md
+++ b/docs/zh-CN/docs/sql-manual/sql-functions/ip-functions/inet6-aton.md
@@ -41,28 +41,33 @@ IPv6NumToString 的反向函数,它接受一个 IP 地址字符串并返回二
### notice
-`如果输入非法的IP地址,会抛出异常`
+`该函数为ipv6_string_to_num_or_null的别称。如果输入字符串不是有效的 IPv4 地址或者NULL,将返回NULL,和MySQL一样`
### example
```
mysql> select hex(inet6_aton('1111::ffff'));
-+----------------------------------+
-| hex(inet6_aton('1111::ffff')) |
-+----------------------------------+
-| 1111000000000000000000000000FFFF |
-+----------------------------------+
++-----------------------------------------------+
+| hex(ipv6_string_to_num_or_null('1111::ffff')) |
++-----------------------------------------------+
+| 1111000000000000000000000000FFFF |
++-----------------------------------------------+
1 row in set (0.02 sec)
mysql> select hex(inet6_aton('192.168.0.1'));
-+----------------------------------+
-| hex(inet6_aton('192.168.0.1')) |
-+----------------------------------+
-| 00000000000000000000FFFFC0A80001 |
-+----------------------------------+
++------------------------------------------------+
+| hex(ipv6_string_to_num_or_null('192.168.0.1')) |
++------------------------------------------------+
+| 00000000000000000000FFFFC0A80001 |
++------------------------------------------------+
1 row in set (0.02 sec)
mysql> select hex(inet6_aton('notaaddress'));
-ERROR 1105 (HY000): errCode = 2, detailMessage = (172.17.0.2)[CANCELLED][E33]
Invalid IPv6 value
++--------------------------------------------------+
+| hex(ipv6_string_to_num_or_null('notaaddress')) |
++--------------------------------------------------+
+| NULL |
++--------------------------------------------------+
+1 row in set (0.02 sec)
```
### keywords
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java
index 68da4df08ab..fcc2a351bf0 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java
@@ -604,13 +604,13 @@ public class BuiltinScalarFunctions implements
FunctionHelper {
scalar(InnerProduct.class, "inner_product"),
scalar(Instr.class, "instr"),
scalar(Ipv4NumToString.class, "ipv4_num_to_string", "inet_ntoa"),
- scalar(Ipv4StringToNum.class, "ipv4_string_to_num", "inet_aton"),
+ scalar(Ipv4StringToNum.class, "ipv4_string_to_num"),
scalar(Ipv4StringToNumOrDefault.class,
"ipv4_string_to_num_or_default"),
- scalar(Ipv4StringToNumOrNull.class, "ipv4_string_to_num_or_null"),
+ scalar(Ipv4StringToNumOrNull.class, "ipv4_string_to_num_or_null",
"inet_aton"),
scalar(Ipv6NumToString.class, "ipv6_num_to_string", "inet6_ntoa"),
- scalar(Ipv6StringToNum.class, "ipv6_string_to_num", "inet6_aton"),
+ scalar(Ipv6StringToNum.class, "ipv6_string_to_num"),
scalar(Ipv6StringToNumOrDefault.class,
"ipv6_string_to_num_or_default"),
- scalar(Ipv6StringToNumOrNull.class, "ipv6_string_to_num_or_null"),
+ scalar(Ipv6StringToNumOrNull.class, "ipv6_string_to_num_or_null",
"inet6_aton"),
scalar(IsIpv4Compat.class, "is_ipv4_compat"),
scalar(IsIpv4Mapped.class, "is_ipv4_mapped"),
scalar(IsIpv4String.class, "is_ipv4_string"),
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/rewrite/FunctionAlias.java
b/fe/fe-core/src/main/java/org/apache/doris/rewrite/FunctionAlias.java
index 9e9c6dc9f75..b32cc9919b1 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/rewrite/FunctionAlias.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/rewrite/FunctionAlias.java
@@ -38,8 +38,8 @@ public final class FunctionAlias implements ExprRewriteRule {
.put("char_length", "character_length").put("curdate",
"current_date").put("curtime", "current_time")
.put("schema", "database").put("day",
"dayofmonth").put("date_add", "days_add").put("adddate", "days_add")
.put("date_sub", "days_sub").put("subdate",
"days_sub").put("inet_ntoa", "ipv4_num_to_string")
- .put("inet_aton", "ipv4_string_to_num").put("inet6_ntoa",
"ipv6_num_to_string")
- .put("inet6_aton", "ipv6_string_to_num").put("lcase",
"lower").put("add_months", "months_add")
+ .put("inet_aton", "ipv4_string_to_num_or_null").put("inet6_ntoa",
"ipv6_num_to_string")
+ .put("inet6_aton", "ipv6_string_to_num_or_null").put("lcase",
"lower").put("add_months", "months_add")
.put("current_timestamp", "now").put("localtime",
"now").put("localtimestamp", "now").put("ifnull", "nvl")
.put("rand", "random").put("sha", "sha1").put("substr",
"substring").put("ucase", "upper").build();
diff --git a/gensrc/script/doris_builtins_functions.py
b/gensrc/script/doris_builtins_functions.py
index 6a6ff96e83d..183b38bdfda 100644
--- a/gensrc/script/doris_builtins_functions.py
+++ b/gensrc/script/doris_builtins_functions.py
@@ -1998,22 +1998,22 @@ visible_functions = {
[['ipv4_num_to_string','inet_ntoa'], 'VARCHAR', ['SMALLINT'],
'ALWAYS_NULLABLE'],
[['ipv4_num_to_string','inet_ntoa'], 'VARCHAR', ['INT'],
'ALWAYS_NULLABLE'],
[['ipv4_num_to_string','inet_ntoa'], 'VARCHAR', ['BIGINT'],
'ALWAYS_NULLABLE'],
- [['ipv4_string_to_num','inet_aton'], 'BIGINT', ['VARCHAR'],
'ALWAYS_NOT_NULLABLE'],
- [['ipv4_string_to_num','inet_aton'], 'BIGINT', ['STRING'],
'ALWAYS_NOT_NULLABLE'],
+ [['ipv4_string_to_num'], 'BIGINT', ['VARCHAR'], 'ALWAYS_NOT_NULLABLE'],
+ [['ipv4_string_to_num'], 'BIGINT', ['STRING'], 'ALWAYS_NOT_NULLABLE'],
[['ipv4_string_to_num_or_default'], 'BIGINT', ['VARCHAR'],
'ALWAYS_NOT_NULLABLE'],
[['ipv4_string_to_num_or_default'], 'BIGINT', ['STRING'],
'ALWAYS_NOT_NULLABLE'],
- [['ipv4_string_to_num_or_null'], 'BIGINT', ['VARCHAR'],
'ALWAYS_NULLABLE'],
- [['ipv4_string_to_num_or_null'], 'BIGINT', ['STRING'],
'ALWAYS_NULLABLE'],
+ [['ipv4_string_to_num_or_null','inet_aton'], 'BIGINT', ['VARCHAR'],
'ALWAYS_NULLABLE'],
+ [['ipv4_string_to_num_or_null','inet_aton'], 'BIGINT', ['STRING'],
'ALWAYS_NULLABLE'],
[['ipv6_num_to_string','inet6_ntoa'], 'VARCHAR', ['VARCHAR'],
'ALWAYS_NULLABLE'],
[['ipv6_num_to_string','inet6_ntoa'], 'STRING', ['STRING'],
'ALWAYS_NULLABLE'],
[['ipv6_num_to_string','inet6_ntoa'], 'VARCHAR', ['IPV6'],
'ALWAYS_NULLABLE'],
[['ipv6_num_to_string','inet6_ntoa'], 'STRING', ['IPV6'],
'ALWAYS_NULLABLE'],
- [['ipv6_string_to_num','inet6_aton'], 'VARCHAR', ['VARCHAR'],
'ALWAYS_NOT_NULLABLE'],
- [['ipv6_string_to_num','inet6_aton'], 'STRING', ['STRING'],
'ALWAYS_NOT_NULLABLE'],
+ [['ipv6_string_to_num'], 'VARCHAR', ['VARCHAR'],
'ALWAYS_NOT_NULLABLE'],
+ [['ipv6_string_to_num'], 'STRING', ['STRING'], 'ALWAYS_NOT_NULLABLE'],
[['ipv6_string_to_num_or_default'], 'VARCHAR', ['VARCHAR'],
'ALWAYS_NOT_NULLABLE'],
[['ipv6_string_to_num_or_default'], 'STRING', ['STRING'],
'ALWAYS_NOT_NULLABLE'],
- [['ipv6_string_to_num_or_null'], 'VARCHAR', ['VARCHAR'],
'ALWAYS_NULLABLE'],
- [['ipv6_string_to_num_or_null'], 'STRING', ['STRING'],
'ALWAYS_NULLABLE'],
+ [['ipv6_string_to_num_or_null','inet6_aton'], 'VARCHAR', ['VARCHAR'],
'ALWAYS_NULLABLE'],
+ [['ipv6_string_to_num_or_null','inet6_aton'], 'STRING', ['STRING'],
'ALWAYS_NULLABLE'],
[['is_ipv4_compat'], 'BOOLEAN', ['VARCHAR'], ''],
[['is_ipv4_compat'], 'BOOLEAN', ['STRING'], ''],
[['is_ipv4_mapped'], 'BOOLEAN', ['VARCHAR'], ''],
diff --git a/regression-test/data/nereids_function_p0/ip_functions.out
b/regression-test/data/nereids_function_p0/ip_functions.out
index 914b5ccd683..a89ca34fe60 100644
--- a/regression-test/data/nereids_function_p0/ip_functions.out
+++ b/regression-test/data/nereids_function_p0/ip_functions.out
@@ -35,6 +35,15 @@
-- !ip12 --
3232235521
+-- !ip12_1 --
+\N
+
+-- !ip12_2 --
+\N
+
+-- !ip12_3 --
+\N
+
-- !ip13 --
\N
@@ -152,6 +161,15 @@ AAAAAAAAFFFFFFFFFFFFFFFFAAAAAAAA
-- !ip51 --
2A0206B8000000000000000000000011
+-- !ip51_1 --
+\N
+
+-- !ip51_2 --
+\N
+
+-- !ip51_3 --
+\N
+
-- !ip52 --
true
@@ -182,6 +200,15 @@ false
-- !ip61 --
true
+-- !ip61_1 --
+\N
+
+-- !ip61_2 --
+\N
+
+-- !ip61_3 --
+\N
+
-- !ip62 --
false
@@ -192,4 +219,13 @@ true
false
-- !ip65 --
-true
\ No newline at end of file
+true
+
+-- !ip65_1 --
+\N
+
+-- !ip65_2 --
+\N
+
+-- !ip65_3 --
+\N
\ No newline at end of file
diff --git
a/regression-test/data/query_p0/sql_functions/ip_functions/test_ip_functions.out
b/regression-test/data/query_p0/sql_functions/ip_functions/test_ip_functions.out
index 1837acc4bab..569dc78a1e0 100644
---
a/regression-test/data/query_p0/sql_functions/ip_functions/test_ip_functions.out
+++
b/regression-test/data/query_p0/sql_functions/ip_functions/test_ip_functions.out
@@ -25,6 +25,15 @@
-- !sql --
\N
+-- !sql --
+\N
+
+-- !sql --
+\N
+
+-- !sql --
+\N
+
-- !sql --
2a02:6b8::11
@@ -139,6 +148,15 @@ AAAAAAAAFFFFFFFFFFFFFFFFAAAAAAAA
-- !sql --
2A0206B8000000000000000000000011
+-- !sql --
+\N
+
+-- !sql --
+\N
+
+-- !sql --
+\N
+
-- !sql --
true
@@ -157,6 +175,15 @@ false
-- !sql --
true
+-- !sql --
+\N
+
+-- !sql --
+\N
+
+-- !sql --
+\N
+
-- !sql --
false
@@ -167,4 +194,13 @@ true
false
-- !sql --
-true
\ No newline at end of file
+true
+
+-- !sql --
+\N
+
+-- !sql --
+\N
+
+-- !sql --
+\N
\ No newline at end of file
diff --git a/regression-test/suites/nereids_function_p0/ip_functions.groovy
b/regression-test/suites/nereids_function_p0/ip_functions.groovy
index b5d4d177e89..98a2574e62f 100644
--- a/regression-test/suites/nereids_function_p0/ip_functions.groovy
+++ b/regression-test/suites/nereids_function_p0/ip_functions.groovy
@@ -31,6 +31,9 @@ suite("ip_functions") {
qt_ip10 "SELECT ipv4_string_to_num_or_null('');"
qt_ip11 "SELECT ipv4_string_to_num_or_default('');"
qt_ip12 "SELECT inet_aton('192.168.0.1');"
+ qt_ip12_1 "SELECT inet_aton('192.168');"
+ qt_ip12_2 "SELECT inet_aton('');"
+ qt_ip12_3 "SELECT inet_aton(NULL);"
qt_ip13 "SELECT ipv6_num_to_string(unhex('0A0005091'));"
qt_ip14 "SELECT
ipv6_num_to_string(unhex('2A0206B8000000000000000000000011'));"
@@ -72,6 +75,9 @@ suite("ip_functions") {
qt_ip49 "SELECT
hex(ipv6_string_to_num_or_null('aaaa:aaaa:ffff:ffff:ffff:ffff:aaaa:aaaa'));"
qt_ip50 "SELECT hex(inet6_aton('192.168.0.1'));"
qt_ip51 "SELECT hex(inet6_aton('2a02:6b8::11'));"
+ qt_ip51_1 "SELECT hex(inet6_aton(''));"
+ qt_ip51_2 "SELECT hex(inet6_aton(NULL));"
+ qt_ip51_3 "SELECT hex(inet6_aton('KK'));"
qt_ip52 "SELECT is_ipv4_string('255.255.255.255');"
qt_ip53 "SELECT is_ipv4_string('255.255.255.256');"
@@ -84,9 +90,15 @@ suite("ip_functions") {
qt_ip59 "SELECT is_ipv4_compat(inet6_aton('::c0a8:0001'));"
qt_ip60 "SELECT is_ipv4_compat(inet6_aton('::0.0.0.0'));"
qt_ip61 "SELECT is_ipv4_compat(inet6_aton('::255.255.255.255'));"
+ qt_ip61_1 "SELECT is_ipv4_compat(inet6_aton(''));"
+ qt_ip61_2 "SELECT is_ipv4_compat(inet6_aton(NULL));"
+ qt_ip61_3 "SELECT is_ipv4_compat(inet6_aton('KK'));"
qt_ip62 "SELECT is_ipv4_mapped(inet6_aton('::10.0.5.9'));"
qt_ip63 "SELECT is_ipv4_mapped(inet6_aton('::ffff:10.0.5.9'));"
qt_ip64 "SELECT is_ipv4_mapped(inet6_aton('::'));"
qt_ip65 "SELECT is_ipv4_mapped(inet6_aton('::ffff:c0a8:0001'));"
+ qt_ip65_1 "SELECT is_ipv4_mapped(inet6_aton(''));"
+ qt_ip65_2 "SELECT is_ipv4_mapped(inet6_aton(NULL));"
+ qt_ip65_3 "SELECT is_ipv4_mapped(inet6_aton('KK'));"
}
\ No newline at end of file
diff --git
a/regression-test/suites/query_p0/sql_functions/ip_functions/test_ip_functions.groovy
b/regression-test/suites/query_p0/sql_functions/ip_functions/test_ip_functions.groovy
index c5ff6d36a13..5cbf59ac36c 100644
---
a/regression-test/suites/query_p0/sql_functions/ip_functions/test_ip_functions.groovy
+++
b/regression-test/suites/query_p0/sql_functions/ip_functions/test_ip_functions.groovy
@@ -26,6 +26,9 @@ suite("test_ip_functions", "arrow_flight_sql") {
qt_sql "SELECT ipv4_string_to_num_or_null('');"
qt_sql "SELECT ipv4_string_to_num_or_default('');"
qt_sql "SELECT inet_aton('192.168.0.1');"
+ qt_sql "SELECT inet_aton('192.168');"
+ qt_sql "SELECT inet_aton('');"
+ qt_sql "SELECT inet_aton(NULL);"
qt_sql "SELECT ipv6_num_to_string(unhex('0A0005091'));"
qt_sql "SELECT
ipv6_num_to_string(unhex('2A0206B8000000000000000000000011'));"
@@ -67,6 +70,9 @@ suite("test_ip_functions", "arrow_flight_sql") {
qt_sql "SELECT
hex(ipv6_string_to_num_or_null('aaaa:aaaa:ffff:ffff:ffff:ffff:aaaa:aaaa'));"
qt_sql "SELECT hex(inet6_aton('192.168.0.1'));"
qt_sql "SELECT hex(inet6_aton('2a02:6b8::11'));"
+ qt_sql "SELECT hex(inet6_aton(''));"
+ qt_sql "SELECT hex(inet6_aton(NULL));"
+ qt_sql "SELECT hex(inet6_aton('KK'));"
qt_sql "SELECT is_ipv4_compat(inet6_aton('::10.0.5.9'));"
qt_sql "SELECT is_ipv4_compat(inet6_aton('::ffff:10.0.5.9'));"
@@ -74,9 +80,15 @@ suite("test_ip_functions", "arrow_flight_sql") {
qt_sql "SELECT is_ipv4_compat(inet6_aton('::c0a8:0001'));"
qt_sql "SELECT is_ipv4_compat(inet6_aton('::0.0.0.0'));"
qt_sql "SELECT is_ipv4_compat(inet6_aton('::255.255.255.255'));"
+ qt_sql "SELECT is_ipv4_compat(inet6_aton(''));"
+ qt_sql "SELECT is_ipv4_compat(inet6_aton(NULL));"
+ qt_sql "SELECT is_ipv4_compat(inet6_aton('KK'));"
qt_sql "SELECT is_ipv4_mapped(inet6_aton('::10.0.5.9'));"
qt_sql "SELECT is_ipv4_mapped(inet6_aton('::ffff:10.0.5.9'));"
qt_sql "SELECT is_ipv4_mapped(inet6_aton('::'));"
qt_sql "SELECT is_ipv4_mapped(inet6_aton('::ffff:c0a8:0001'));"
+ qt_sql "SELECT is_ipv4_mapped(inet6_aton(''));"
+ qt_sql "SELECT is_ipv4_mapped(inet6_aton(NULL));"
+ qt_sql "SELECT is_ipv4_mapped(inet6_aton('KK'));"
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]