ClickHouse/tests/queries/0_stateless/02234_cast_to_ip_address.sql
Yakov Olkhovskiy fc857aa2db tests added
2023-05-15 03:06:03 +00:00

95 lines
2.5 KiB
SQL

SELECT 'IPv4 functions';
SELECT IPv4StringToNum('test'); --{serverError CANNOT_PARSE_IPV4}
SELECT IPv4StringToNumOrDefault('test');
SELECT IPv4StringToNumOrNull('test');
SELECT IPv4StringToNum('127.0.0.1');
SELECT IPv4StringToNumOrDefault('127.0.0.1');
SELECT IPv4StringToNumOrNull('127.0.0.1');
SELECT '--';
SELECT toIPv4('test'); --{serverError CANNOT_PARSE_IPV4}
SELECT toIPv4OrDefault('test');
SELECT toIPv4OrNull('test');
SELECT toIPv4('127.0.0.1');
SELECT toIPv4OrDefault('127.0.0.1');
SELECT toIPv4OrNull('127.0.0.1');
SELECT '--';
SELECT toIPv4(toIPv6('::ffff:1.2.3.4'));
SELECT toIPv4(toIPv6('::afff:1.2.3.4')); --{serverError CANNOT_CONVERT_TYPE}
SELECT toIPv4OrDefault(toIPv6('::ffff:1.2.3.4'));
SELECT toIPv4OrDefault(toIPv6('::afff:1.2.3.4'));
SELECT '--';
SELECT cast('test' , 'IPv4'); --{serverError CANNOT_PARSE_IPV4}
SELECT cast('127.0.0.1' , 'IPv4');
SELECT '--';
SET cast_ipv4_ipv6_default_on_conversion_error = 1;
SELECT IPv4StringToNum('test');
SELECT toIPv4('test');
SELECT IPv4StringToNum('');
SELECT toIPv4('');
SELECT cast('test' , 'IPv4');
SELECT cast('' , 'IPv4');
SET cast_ipv4_ipv6_default_on_conversion_error = 0;
SELECT 'IPv6 functions';
SELECT IPv6StringToNum('test'); --{serverError CANNOT_PARSE_IPV6}
SELECT IPv6StringToNumOrDefault('test');
SELECT IPv6StringToNumOrNull('test');
SELECT IPv6StringToNum('::ffff:127.0.0.1');
SELECT IPv6StringToNumOrDefault('::ffff:127.0.0.1');
SELECT IPv6StringToNumOrNull('::ffff:127.0.0.1');
SELECT '--';
SELECT toIPv6('test'); --{serverError CANNOT_PARSE_IPV6}
SELECT toIPv6OrDefault('test');
SELECT toIPv6OrNull('test');
SELECT toIPv6('::ffff:127.0.0.1');
SELECT toIPv6OrDefault('::ffff:127.0.0.1');
SELECT toIPv6OrNull('::ffff:127.0.0.1');
SELECT toIPv6('::.1.2.3'); --{serverError CANNOT_PARSE_IPV6}
SELECT toIPv6OrDefault('::.1.2.3');
SELECT toIPv6OrNull('::.1.2.3');
SELECT count() FROM numbers_mt(100000000) WHERE NOT ignore(toIPv6OrZero(randomString(8)));
SELECT '--';
SELECT cast('test' , 'IPv6'); --{serverError CANNOT_PARSE_IPV6}
SELECT cast('::ffff:127.0.0.1', 'IPv6');
SELECT '--';
SET cast_ipv4_ipv6_default_on_conversion_error = 1;
SELECT IPv6StringToNum('test');
SELECT toIPv6('test');
SELECT IPv6StringToNum('');
SELECT toIPv6('');
SELECT cast('test' , 'IPv6');
SELECT cast('' , 'IPv6');
SELECT '--';
SET cast_ipv4_ipv6_default_on_conversion_error = 0;
SELECT toFixedString('::1', 5) as value, cast(value, 'IPv6'), toIPv6(value);
SELECT toFixedString('', 16) as value, cast(value, 'IPv6');
SELECT toFixedString('', 16) as value, toIPv6(value);