Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

is_ipv4_mapped, IS_IPV4, IS_IPV4_COMPAT, IS_IPV6 should return NULL for NULL argument #59456

Open
Tracked by #59410
YangKeao opened this issue Feb 11, 2025 · 1 comment
Labels
component/expression severity/moderate sig/execution SIG execution type/bug The issue is confirmed as a bug.

Comments

@YangKeao
Copy link
Member

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

2. What did you expect to see? (Required)

mysql> SELECT is_ipv4_mapped(NULL);
+----------------------+
| is_ipv4_mapped(NULL) |
+----------------------+
|                 NULL |
+----------------------+
1 row in set (0.00 sec)

mysql> SELECT IS_IPV4(NULL);
+---------------+
| IS_IPV4(NULL) |
+---------------+
|          NULL |
+---------------+
1 row in set (0.00 sec)

mysql> SELECT IS_IPV4(IF(1, NULL, '127.0.0.1'));
+-----------------------------------+
| IS_IPV4(IF(1, NULL, '127.0.0.1')) |
+-----------------------------------+
|                              NULL |
+-----------------------------------+
1 row in set (0.00 sec)

mysql> SELECT IS_IPV4_COMPAT(NULL);
+----------------------+
| IS_IPV4_COMPAT(NULL) |
+----------------------+
|                 NULL |
+----------------------+
1 row in set (0.00 sec)

mysql> SELECT IS_IPV6(NULL + INTERVAL 1 DAY);
+--------------------------------+
| IS_IPV6(NULL + INTERVAL 1 DAY) |
+--------------------------------+
|                           NULL |
+--------------------------------+
1 row in set (0.00 sec)

3. What did you see instead (Required)

mysql> SELECT is_ipv4_mapped(NULL);
+----------------------+
| is_ipv4_mapped(NULL) |
+----------------------+
|                    0 |
+----------------------+
1 row in set (0.00 sec)

mysql> SELECT IS_IPV4(NULL);
+---------------+
| IS_IPV4(NULL) |
+---------------+
|             0 |
+---------------+
1 row in set (0.00 sec)

mysql> SELECT IS_IPV4(IF(1, NULL, '127.0.0.1'));
+-----------------------------------+
| IS_IPV4(IF(1, NULL, '127.0.0.1')) |
+-----------------------------------+
|                                 0 |
+-----------------------------------+
1 row in set (0.01 sec)

mysql> SELECT IS_IPV4_COMPAT(NULL);
+----------------------+
| IS_IPV4_COMPAT(NULL) |
+----------------------+
|                    0 |
+----------------------+
1 row in set (0.00 sec)

mysql> SELECT IS_IPV6(NULL + INTERVAL 1 DAY);
+--------------------------------+
| IS_IPV6(NULL + INTERVAL 1 DAY) |
+--------------------------------+
|                              0 |
+--------------------------------+
1 row in set (0.00 sec)

4. What is your TiDB version? (Required)

@zanmato1984
Copy link
Contributor

/severity moderate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/expression severity/moderate sig/execution SIG execution type/bug The issue is confirmed as a bug.
Projects
None yet
Development

No branches or pull requests

2 participants