SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; DROP TABLE IF EXISTS t1, t2; select format(1.5555,0),format(123.5555,1),format(1234.5555,2),format(12345.55555,3),format(123456.5555,4),format(1234567.5555,5),format("12345.2399",2); format(1.5555,0) format(123.5555,1) format(1234.5555,2) format(12345.55555,3) format(123456.5555,4) format(1234567.5555,5) format("12345.2399",2) 2 123.6 1,234.56 12,345.556 123,456.5555 1,234,567.55550 12,345.24 select inet_ntoa(inet_aton("255.255.255.255.255.255.255.255")); inet_ntoa(inet_aton("255.255.255.255.255.255.255.255")) NULL Warnings: Warning 1411 Incorrect string value: ''255.255.255.255.255.255.255.255'' for function inet_aton select inet_aton("255.255.255.255.255"),inet_aton("255.255.1.255"),inet_aton("0.1.255"); inet_aton("255.255.255.255.255") inet_aton("255.255.1.255") inet_aton("0.1.255") NULL 4294902271 65791 Warnings: Warning 1411 Incorrect string value: ''255.255.255.255.255'' for function inet_aton select inet_ntoa(1099511627775),inet_ntoa(4294902271),inet_ntoa(511); inet_ntoa(1099511627775) inet_ntoa(4294902271) inet_ntoa(511) NULL 255.255.1.255 0.0.1.255 Warnings: Warning 1411 Incorrect integer value: '1099511627775' for function inet_ntoa select hex(inet_aton('127')); hex(inet_aton('127')) 7F select hex(inet_aton('127.1')); hex(inet_aton('127.1')) 7F000001 select hex(inet_aton('127.1.1')); hex(inet_aton('127.1.1')) 7F010001 select inet_aton("122.256"); inet_aton("122.256") NULL Warnings: Warning 1411 Incorrect string value: ''122.256'' for function inet_aton select inet_aton("122.226."); inet_aton("122.226.") NULL Warnings: Warning 1411 Incorrect string value: ''122.226.'' for function inet_aton select inet_aton(""); inet_aton("") NULL Warnings: Warning 1411 Incorrect string value: '''' for function inet_aton explain select inet_aton("122.256"),inet_aton("122.226."),inet_aton(""); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Note 1003 /* select#1 */ select inet_aton('122.256') AS `inet_aton("122.256")`,inet_aton('122.226.') AS `inet_aton("122.226.")`,inet_aton('') AS `inet_aton("")` select length(uuid()), charset(uuid()), length(unhex(replace(uuid(),_utf8'-',_utf8''))); length(uuid()) charset(uuid()) length(unhex(replace(uuid(),_utf8'-',_utf8''))) 36 utf8 16 Warnings: Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. set @a= uuid_short(); set @b= uuid_short(); select @b - @a; @b - @a 1 select length(format('nan', 2)) > 0; length(format('nan', 2)) > 0 1 Warnings: Warning 1292 Truncated incorrect DOUBLE value: 'nan' select concat("$",format(2500,2)); concat("$",format(2500,2)) $2,500.00 create table t1 ( a timestamp ); insert into t1 values ( '2004-01-06 12:34' ); select a from t1 where left(a+0,6) in ( left(20040106,6) ); a 2004-01-06 12:34:00 select a from t1 where left(a+0,6) = ( left(20040106,6) ); a 2004-01-06 12:34:00 select a from t1 where right(a+0,6) in ( right(20040106123400,6) ); a 2004-01-06 12:34:00 select a from t1 where right(a+0,6) = ( right(20040106123400,6) ); a 2004-01-06 12:34:00 select a from t1 where mid(a+0,6,3) in ( mid(20040106123400,6,3) ); a 2004-01-06 12:34:00 select a from t1 where mid(a+0,6,3) = ( mid(20040106123400,6,3) ); a 2004-01-06 12:34:00 drop table t1; select export_set(3, _latin1'foo', _utf8'bar', ',', 4); export_set(3, _latin1'foo', _utf8'bar', ',', 4) foo,foo,bar,bar Warnings: Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. End of 4.1 tests create table t1 as select uuid(), length(uuid()); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `uuid()` varchar(36) CHARACTER SET utf8 NOT NULL DEFAULT '', `length(uuid())` int(10) NOT NULL DEFAULT '0' ) ENGINE=ENGINE DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci drop table t1; #------------------------------------------------------------------------ # Test for Bug#6760 SET @row_count = 4; SET @sleep_time_per_result_row = 1; SET @max_acceptable_delay = 2; DROP TEMPORARY TABLE IF EXISTS t_history; DROP TABLE IF EXISTS t1; CREATE TEMPORARY TABLE t_history (attempt SMALLINT, start_ts DATETIME, end_ts DATETIME, start_cached INTEGER, end_cached INTEGER); CREATE TABLE t1 (f1 BIGINT); INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (1); # Test 1: Does the query with SLEEP need a reasonable time? SELECT COUNT(*) >= - 1 INTO @aux1 FROM t_history WHERE TIMEDIFF(end_ts,start_ts) - @sleep_time_per_result_row * @row_count BETWEEN 0 AND @max_acceptable_delay; SELECT @aux1 AS "Expect 1"; Expect 1 1 DROP TABLE t1; DROP TEMPORARY TABLE t_history; create table t1 select INET_ATON('255.255.0.1') as `a`; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` bigint(21) unsigned DEFAULT NULL ) ENGINE=ENGINE DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci drop table t1; drop table if exists table_26093; drop function if exists func_26093_a; drop function if exists func_26093_b; create table table_26093(a int); insert into table_26093 values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10); create function func_26093_a(x int) returns int begin set @invoked := @invoked + 1; return x; end// create function func_26093_b(x int, y int) returns int begin set @invoked := @invoked + 1; return x; end// select avg(a) from table_26093; avg(a) 5.5000 select benchmark(100, (select avg(a) from table_26093)); benchmark(100, (select avg(a) from table_26093)) 0 set @invoked := 0; select benchmark(100, (select avg(func_26093_a(a)) from table_26093)); benchmark(100, (select avg(func_26093_a(a)) from table_26093)) 0 select @invoked; @invoked 10 set @invoked := 0; select benchmark(100, (select avg(func_26093_b(a, rand())) from table_26093)); benchmark(100, (select avg(func_26093_b(a, rand())) from table_26093)) 0 select @invoked; @invoked 1000 select benchmark(100, (select (a) from table_26093)); ERROR 21000: Subquery returns more than 1 row select benchmark(100, (select 1, 1)); ERROR 21000: Operand should contain 1 column(s) drop table table_26093; drop function func_26093_a; drop function func_26093_b; SELECT NAME_CONST('test', NOW()); ERROR HY000: Incorrect arguments to NAME_CONST SELECT NAME_CONST('test', UPPER('test')); ERROR HY000: Incorrect arguments to NAME_CONST SELECT NAME_CONST('test', NULL); test NULL SELECT NAME_CONST('test', 1); test 1 SELECT NAME_CONST('test', -1); test -1 SELECT NAME_CONST('test', 1.0); test 1.0 SELECT NAME_CONST('test', -1.0); test -1.0 SELECT NAME_CONST('test', 'test'); test test CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (1),(2),(3); SELECT NAME_CONST('flag',1) * MAX(a) FROM t1; NAME_CONST('flag',1) * MAX(a) 3 SELECT NAME_CONST('flag',1.5) * MAX(a) FROM t1; NAME_CONST('flag',1.5) * MAX(a) 4.5 SELECT NAME_CONST('flag',-1) * MAX(a) FROM t1; NAME_CONST('flag',-1) * MAX(a) -3 SELECT NAME_CONST('flag',-1.5) * MAX(a) FROM t1; NAME_CONST('flag',-1.5) * MAX(a) -4.5 SELECT NAME_CONST('flag', SQRT(4)) * MAX(a) FROM t1; ERROR HY000: Incorrect arguments to NAME_CONST SELECT NAME_CONST('flag',-SQRT(4)) * MAX(a) FROM t1; ERROR HY000: Incorrect arguments to NAME_CONST DROP TABLE t1; CREATE TABLE t1 (a int); INSERT INTO t1 VALUES (5), (2); SELECT NAME_CONST(x,2) FROM (SELECT a x FROM t1) t; ERROR HY000: Incorrect arguments to NAME_CONST DROP TABLE t1; CREATE TABLE t1(a INT); INSERT INTO t1 VALUES (), (), (); SELECT NAME_CONST(a, '1') FROM t1; ERROR HY000: Incorrect arguments to NAME_CONST SET INSERT_ID= NAME_CONST(a, a); ERROR HY000: Incorrect arguments to NAME_CONST DROP TABLE t1; create table t1 (a int not null); insert into t1 values (-1), (-2); select min(a) from t1 group by inet_ntoa(a); min(a) -2 Warnings: Warning 1411 Incorrect integer value: '`test`.`t1`.`a`' for function inet_ntoa Warning 1411 Incorrect integer value: '`test`.`t1`.`a`' for function inet_ntoa Warning 1411 Incorrect integer value: '`test`.`t1`.`a`' for function inet_ntoa drop table t1; set names latin1; SELECT NAME_CONST('var', 'value') COLLATE latin1_general_cs; NAME_CONST('var', 'value') COLLATE latin1_general_cs value set names utf8mb4; select @@session.time_zone into @save_tz; set @@session.time_zone='UTC'; select uuid() into @my_uuid; select mid(@my_uuid,15,1); mid(@my_uuid,15,1) 1 select 24 * 60 * 60 * 1000 * 1000 * 10 into @my_uuid_one_day; select concat('0',mid(@my_uuid,16,3),mid(@my_uuid,10,4),left(@my_uuid,8)) into @my_uuidate; select floor(conv(@my_uuidate,16,10)/@my_uuid_one_day) into @my_uuid_date; select 141427 + datediff(curdate(),'1970-01-01') into @my_uuid_synthetic; select @my_uuid_date - @my_uuid_synthetic; @my_uuid_date - @my_uuid_synthetic 0 set @@session.time_zone=@save_tz; CREATE TABLE t1 (a DATE); SELECT * FROM t1 WHERE a = NAME_CONST('reportDate', _binary'2009-01-09' COLLATE 'binary'); a DROP TABLE t1; select NAME_CONST('_id',1234) as id; id 1234 End of 5.0 tests SELECT NAME_CONST('a', -(1 OR 2)) OR 1; ERROR HY000: Incorrect arguments to NAME_CONST SELECT NAME_CONST('a', -(1 AND 2)) OR 1; ERROR HY000: Incorrect arguments to NAME_CONST SELECT NAME_CONST('a', -(1)) OR 1; NAME_CONST('a', -(1)) OR 1 1 select connection_id() > 0; connection_id() > 0 1 # # Bug #54461: crash with longblob and union or update with subquery # CREATE TABLE t1 (a INT, b LONGBLOB); INSERT INTO t1 VALUES (1, '2'), (2, '3'), (3, '2'); SELECT DISTINCT LEAST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1; LEAST(a, (SELECT b FROM t1 LIMIT 1)) 1 2 SELECT DISTINCT GREATEST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1; GREATEST(a, (SELECT b FROM t1 LIMIT 1)) 2 3 1 DROP TABLE t1; SELECT INET_NTOA(0); INET_NTOA(0) 0.0.0.0 SELECT '1' IN ('1', INET_NTOA(0)); '1' IN ('1', INET_NTOA(0)) 1 # # Bug #52165: Assertion failed: file .\dtoa.c, line 465 # CREATE TABLE t1 (a SET('a'), b INT); INSERT INTO t1 VALUES ('', 0); SELECT COALESCE(a) = COALESCE(b) FROM t1; COALESCE(a) = COALESCE(b) 1 DROP TABLE t1; # # Bug #54461: crash with longblob and union or update with subquery # CREATE TABLE t1 (a INT, b LONGBLOB); INSERT INTO t1 VALUES (1, '2'), (2, '3'), (3, '2'); SELECT DISTINCT LEAST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1; LEAST(a, (SELECT b FROM t1 LIMIT 1)) 1 2 SELECT DISTINCT GREATEST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1; GREATEST(a, (SELECT b FROM t1 LIMIT 1)) 2 3 1 DROP TABLE t1; SELECT INET_NTOA(0); INET_NTOA(0) 0.0.0.0 SELECT '1' IN ('1', INET_NTOA(0)); '1' IN ('1', INET_NTOA(0)) 1 # # End of 5.1 tests # # # Bug #58199: name_const in the having clause crashes # CREATE TABLE t1 (a INT); SELECT 1 from t1 HAVING NAME_CONST('', a); ERROR HY000: Incorrect arguments to NAME_CONST DROP TABLE t1; # # End of 5.5 tests # # -- # -- WL#5787: IPv6-capable INET_ATON and INET_NTOA functions. # -- # -- INET6_ATON: checking NULL, invalid types, out-of range values... SELECT INET6_ATON(NULL) IS NULL; INET6_ATON(NULL) IS NULL 1 SELECT INET6_ATON(123) IS NULL; INET6_ATON(123) IS NULL 1 Warnings: Warning 1411 Incorrect string value: '123' for function inet6_aton SELECT INET6_ATON(123.45) IS NULL; INET6_ATON(123.45) IS NULL 1 Warnings: Warning 1411 Incorrect string value: '123.45' for function inet6_aton SELECT INET6_ATON(str_to_date('2014,2,28 09', '%Y,%m,%d %h')) IS NULL; INET6_ATON(str_to_date('2014,2,28 09', '%Y,%m,%d %h')) IS NULL 1 Warnings: Warning 1411 Incorrect string value: 'str_to_date('2014,2,28 09','%Y,%m,%d %h')' for function inet6_aton SELECT INET6_ATON('1.2.3') IS NULL; INET6_ATON('1.2.3') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''1.2.3'' for function inet6_aton SELECT INET6_ATON('1.2.3.') IS NULL; INET6_ATON('1.2.3.') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''1.2.3.'' for function inet6_aton SELECT INET6_ATON('1..3.4') IS NULL; INET6_ATON('1..3.4') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''1..3.4'' for function inet6_aton SELECT INET6_ATON('-1.2.3.4') IS NULL; INET6_ATON('-1.2.3.4') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''-1.2.3.4'' for function inet6_aton SELECT INET6_ATON('1.2.3.256') IS NULL; INET6_ATON('1.2.3.256') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''1.2.3.256'' for function inet6_aton SELECT INET6_ATON('1.2.3.4.5') IS NULL; INET6_ATON('1.2.3.4.5') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''1.2.3.4.5'' for function inet6_aton SELECT INET6_ATON('0001.2.3.4') IS NULL; INET6_ATON('0001.2.3.4') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''0001.2.3.4'' for function inet6_aton SELECT INET6_ATON('0x1.2.3.4') IS NULL; INET6_ATON('0x1.2.3.4') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''0x1.2.3.4'' for function inet6_aton SELECT INET6_ATON('a.2.3.4') IS NULL; INET6_ATON('a.2.3.4') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''a.2.3.4'' for function inet6_aton SELECT INET6_ATON('1.2.3.4:80') IS NULL; INET6_ATON('1.2.3.4:80') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''1.2.3.4:80'' for function inet6_aton SELECT INET6_ATON('1.2.3.4/32') IS NULL; INET6_ATON('1.2.3.4/32') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''1.2.3.4/32'' for function inet6_aton SELECT INET6_ATON('mysql.com') IS NULL; INET6_ATON('mysql.com') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''mysql.com'' for function inet6_aton SELECT INET6_ATON(':::') IS NULL; INET6_ATON(':::') IS NULL 1 Warnings: Warning 1411 Incorrect string value: '':::'' for function inet6_aton SELECT INET6_ATON(':1:2:3') IS NULL; INET6_ATON(':1:2:3') IS NULL 1 Warnings: Warning 1411 Incorrect string value: '':1:2:3'' for function inet6_aton SELECT INET6_ATON('1:2:3:') IS NULL; INET6_ATON('1:2:3:') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''1:2:3:'' for function inet6_aton SELECT INET6_ATON(':1::2:3') IS NULL; INET6_ATON(':1::2:3') IS NULL 1 Warnings: Warning 1411 Incorrect string value: '':1::2:3'' for function inet6_aton SELECT INET6_ATON('1::2:3:') IS NULL; INET6_ATON('1::2:3:') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''1::2:3:'' for function inet6_aton SELECT INET6_ATON('::00001') IS NULL; INET6_ATON('::00001') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''::00001'' for function inet6_aton SELECT INET6_ATON('::00001:2') IS NULL; INET6_ATON('::00001:2') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''::00001:2'' for function inet6_aton SELECT INET6_ATON('::12345') IS NULL; INET6_ATON('::12345') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''::12345'' for function inet6_aton SELECT INET6_ATON('1020::3040::5060') IS NULL; INET6_ATON('1020::3040::5060') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''1020::3040::5060'' for function inet6_aton SELECT INET6_ATON('::ABCZ') IS NULL; INET6_ATON('::ABCZ') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''::ABCZ'' for function inet6_aton SELECT INET6_ATON('::0x1.2.3.4') IS NULL; INET6_ATON('::0x1.2.3.4') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''::0x1.2.3.4'' for function inet6_aton SELECT INET6_ATON('::1.0x2.3.4') IS NULL; INET6_ATON('::1.0x2.3.4') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''::1.0x2.3.4'' for function inet6_aton SELECT INET6_ATON('::a.b.c.d') IS NULL; INET6_ATON('::a.b.c.d') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''::a.b.c.d'' for function inet6_aton SELECT INET6_ATON('::FFFF:0x1.2.3.4') IS NULL; INET6_ATON('::FFFF:0x1.2.3.4') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''::FFFF:0x1.2.3.4'' for function inet6_aton SELECT INET6_ATON('::FFFF:1.0x2.3.4') IS NULL; INET6_ATON('::FFFF:1.0x2.3.4') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''::FFFF:1.0x2.3.4'' for function inet6_aton SELECT INET6_ATON('::FFFF:a.b.c.d') IS NULL; INET6_ATON('::FFFF:a.b.c.d') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''::FFFF:a.b.c.d'' for function inet6_aton SELECT INET6_ATON('::1.2.3.4:ABCD') IS NULL; INET6_ATON('::1.2.3.4:ABCD') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''::1.2.3.4:ABCD'' for function inet6_aton # NOTE: such addresses are supported because getaddrinfo() supports them. # This is just to record the current behaviour. SELECT HEX(INET6_ATON('::ABCD:1.2.3.4')); HEX(INET6_ATON('::ABCD:1.2.3.4')) 00000000000000000000ABCD01020304 # -- INET6_ATON: checking binary representation... SELECT HEX(INET6_ATON('0.0.0.0')); HEX(INET6_ATON('0.0.0.0')) 00000000 SELECT HEX(INET6_ATON('00.00.00.00')); HEX(INET6_ATON('00.00.00.00')) 00000000 SELECT HEX(INET6_ATON('000.000.000.000')); HEX(INET6_ATON('000.000.000.000')) 00000000 SELECT HEX(INET6_ATON('1.2.3.4')); HEX(INET6_ATON('1.2.3.4')) 01020304 SELECT HEX(INET6_ATON('01.02.03.04')); HEX(INET6_ATON('01.02.03.04')) 01020304 SELECT HEX(INET6_ATON('001.002.003.004')); HEX(INET6_ATON('001.002.003.004')) 01020304 SELECT HEX(INET6_ATON('255.255.255.255')); HEX(INET6_ATON('255.255.255.255')) FFFFFFFF SELECT HEX(INET6_ATON('::')); HEX(INET6_ATON('::')) 00000000000000000000000000000000 SELECT HEX(INET6_ATON('0::0')); HEX(INET6_ATON('0::0')) 00000000000000000000000000000000 SELECT HEX(INET6_ATON('1::2')); HEX(INET6_ATON('1::2')) 00010000000000000000000000000002 SELECT HEX(INET6_ATON('0::')); HEX(INET6_ATON('0::')) 00000000000000000000000000000000 SELECT HEX(INET6_ATON('1::')); HEX(INET6_ATON('1::')) 00010000000000000000000000000000 SELECT HEX(INET6_ATON('::0')); HEX(INET6_ATON('::0')) 00000000000000000000000000000000 SELECT HEX(INET6_ATON('::1')); HEX(INET6_ATON('::1')) 00000000000000000000000000000001 SELECT HEX(INET6_ATON('1:2:3:4:5:6:7:8')); HEX(INET6_ATON('1:2:3:4:5:6:7:8')) 00010002000300040005000600070008 SELECT HEX(INET6_ATON('::2:3:4:5:6:7:8')); HEX(INET6_ATON('::2:3:4:5:6:7:8')) 00000002000300040005000600070008 SELECT HEX(INET6_ATON('1::3:4:5:6:7:8')); HEX(INET6_ATON('1::3:4:5:6:7:8')) 00010000000300040005000600070008 SELECT HEX(INET6_ATON('1:2::4:5:6:7:8')); HEX(INET6_ATON('1:2::4:5:6:7:8')) 00010002000000040005000600070008 SELECT HEX(INET6_ATON('1:2:3::5:6:7:8')); HEX(INET6_ATON('1:2:3::5:6:7:8')) 00010002000300000005000600070008 SELECT HEX(INET6_ATON('1:2:3:4::6:7:8')); HEX(INET6_ATON('1:2:3:4::6:7:8')) 00010002000300040000000600070008 SELECT HEX(INET6_ATON('1:2:3:4:5::7:8')); HEX(INET6_ATON('1:2:3:4:5::7:8')) 00010002000300040005000000070008 SELECT HEX(INET6_ATON('1:2:3:4:5:6::8')); HEX(INET6_ATON('1:2:3:4:5:6::8')) 00010002000300040005000600000008 SELECT HEX(INET6_ATON('1:2:3:4:5:6:7::')); HEX(INET6_ATON('1:2:3:4:5:6:7::')) 00010002000300040005000600070000 SELECT HEX(INET6_ATON('0000:0000::0000:0001')); HEX(INET6_ATON('0000:0000::0000:0001')) 00000000000000000000000000000001 SELECT HEX(INET6_ATON('1234:5678:9abc:def0:4321:8765:cba9:0fed')); HEX(INET6_ATON('1234:5678:9abc:def0:4321:8765:cba9:0fed')) 123456789ABCDEF043218765CBA90FED SELECT HEX(INET6_ATON('0000:0000:0000:0000:0000:0000:0000:0001')); HEX(INET6_ATON('0000:0000:0000:0000:0000:0000:0000:0001')) 00000000000000000000000000000001 SELECT HEX(INET6_ATON('::C0A8:0102')); HEX(INET6_ATON('::C0A8:0102')) 000000000000000000000000C0A80102 SELECT HEX(INET6_ATON('::c0a8:0102')); HEX(INET6_ATON('::c0a8:0102')) 000000000000000000000000C0A80102 SELECT HEX(INET6_ATON('::192.168.1.2')); HEX(INET6_ATON('::192.168.1.2')) 000000000000000000000000C0A80102 SELECT HEX(INET6_ATON('::FfFf:C0a8:0102')); HEX(INET6_ATON('::FfFf:C0a8:0102')) 00000000000000000000FFFFC0A80102 SELECT HEX(INET6_ATON('::ffff:c0a8:0102')); HEX(INET6_ATON('::ffff:c0a8:0102')) 00000000000000000000FFFFC0A80102 SELECT HEX(INET6_ATON('::ffff:192.168.1.2')); HEX(INET6_ATON('::ffff:192.168.1.2')) 00000000000000000000FFFFC0A80102 SELECT HEX(INET6_ATON('::01.2.3.4')); HEX(INET6_ATON('::01.2.3.4')) 00000000000000000000000001020304 SELECT HEX(INET6_ATON('::1.02.3.4')); HEX(INET6_ATON('::1.02.3.4')) 00000000000000000000000001020304 SELECT HEX(INET6_ATON('::1.2.03.4')); HEX(INET6_ATON('::1.2.03.4')) 00000000000000000000000001020304 SELECT HEX(INET6_ATON('::1.2.3.04')); HEX(INET6_ATON('::1.2.3.04')) 00000000000000000000000001020304 SELECT HEX(INET6_ATON('::1.2.3.00')); HEX(INET6_ATON('::1.2.3.00')) 00000000000000000000000001020300 SELECT HEX(INET6_ATON('::FFFF:01.2.3.4')); HEX(INET6_ATON('::FFFF:01.2.3.4')) 00000000000000000000FFFF01020304 SELECT HEX(INET6_ATON('::FFFF:1.02.3.4')); HEX(INET6_ATON('::FFFF:1.02.3.4')) 00000000000000000000FFFF01020304 SELECT HEX(INET6_ATON('::FFFF:1.2.03.4')); HEX(INET6_ATON('::FFFF:1.2.03.4')) 00000000000000000000FFFF01020304 SELECT HEX(INET6_ATON('::FFFF:1.2.3.04')); HEX(INET6_ATON('::FFFF:1.2.3.04')) 00000000000000000000FFFF01020304 SELECT HEX(INET6_ATON('::FFFF:1.2.3.00')); HEX(INET6_ATON('::FFFF:1.2.3.00')) 00000000000000000000FFFF01020300 # -- INET6_ATON: checking the length is either 4 or 16... SELECT LENGTH(INET6_ATON('0.0.0.0')); LENGTH(INET6_ATON('0.0.0.0')) 4 SELECT LENGTH(INET6_ATON('255.255.255.255')); LENGTH(INET6_ATON('255.255.255.255')) 4 SELECT LENGTH(INET6_ATON('::')); LENGTH(INET6_ATON('::')) 16 SELECT LENGTH(INET6_ATON('1020:3040:5060:7080:90A0:B0C0:D0E0:F010')); LENGTH(INET6_ATON('1020:3040:5060:7080:90A0:B0C0:D0E0:F010')) 16 # -- INET6_NTOA: checking NULL, invalid types, out-of range values... SELECT INET6_NTOA(NULL); INET6_NTOA(NULL) NULL SELECT INET6_NTOA(123); INET6_NTOA(123) NULL Warnings: Warning 1411 Incorrect string value: '123' for function inet6_ntoa SELECT INET6_NTOA(123.456); INET6_NTOA(123.456) NULL Warnings: Warning 1411 Incorrect string value: '123.456' for function inet6_ntoa SELECT INET6_NTOA(str_to_date('2014,2,28 09', '%Y,%m,%d %h')); INET6_NTOA(str_to_date('2014,2,28 09', '%Y,%m,%d %h')) NULL Warnings: Warning 1411 Incorrect string value: 'str_to_date('2014,2,28 09','%Y,%m,%d %h')' for function inet6_ntoa SELECT INET6_NTOA(UNHEX('C0A801')); INET6_NTOA(UNHEX('C0A801')) NULL Warnings: Warning 1411 Incorrect string value: 'unhex('C0A801')' for function inet6_ntoa SELECT INET6_NTOA(UNHEX('C0A80102')); INET6_NTOA(UNHEX('C0A80102')) 192.168.1.2 SELECT INET6_NTOA(UNHEX('C0A8010203')); INET6_NTOA(UNHEX('C0A8010203')) NULL Warnings: Warning 1411 Incorrect string value: 'unhex('C0A8010203')' for function inet6_ntoa SELECT INET6_NTOA(UNHEX('0102030405060708090A0B0C0D0E0F')); INET6_NTOA(UNHEX('0102030405060708090A0B0C0D0E0F')) NULL Warnings: Warning 1411 Incorrect string value: 'unhex('0102030405060708090A0B0C0D0E0F')' for function inet6_ntoa SELECT INET6_NTOA(UNHEX('0102030405060708090A0B0C0D0E0F10')); INET6_NTOA(UNHEX('0102030405060708090A0B0C0D0E0F10')) 102:304:506:708:90a:b0c:d0e:f10 SELECT INET6_NTOA(UNHEX('0102030405060708090A0B0C0D0E0F1011')); INET6_NTOA(UNHEX('0102030405060708090A0B0C0D0E0F1011')) NULL Warnings: Warning 1411 Incorrect string value: 'unhex('0102030405060708090A0B0C0D0E0F1011')' for function inet6_ntoa SELECT INET6_NTOA('1234'), INET6_NTOA(BINARY('1234')); INET6_NTOA('1234') INET6_NTOA(BINARY('1234')) NULL 49.50.51.52 Warnings: Warning 1411 Incorrect string value: ''1234'' for function inet6_ntoa SELECT INET6_NTOA('0123456789abcdef'), INET6_NTOA(BINARY('0123456789abcdef')); INET6_NTOA('0123456789abcdef') INET6_NTOA(BINARY('0123456789abcdef')) NULL 3031:3233:3435:3637:3839:6162:6364:6566 Warnings: Warning 1411 Incorrect string value: ''0123456789abcdef'' for function inet6_ntoa # -- Checking double-conversion... SELECT INET6_NTOA(INET6_ATON('::')); INET6_NTOA(INET6_ATON('::')) :: SELECT INET6_NTOA(INET6_ATON('0::0')); INET6_NTOA(INET6_ATON('0::0')) :: SELECT INET6_NTOA(INET6_ATON('1::2')); INET6_NTOA(INET6_ATON('1::2')) 1::2 SELECT INET6_NTOA(INET6_ATON('0::')); INET6_NTOA(INET6_ATON('0::')) :: SELECT INET6_NTOA(INET6_ATON('1::')); INET6_NTOA(INET6_ATON('1::')) 1:: SELECT INET6_NTOA(INET6_ATON('::0')); INET6_NTOA(INET6_ATON('::0')) :: SELECT INET6_NTOA(INET6_ATON('::1')); INET6_NTOA(INET6_ATON('::1')) ::1 SELECT INET6_NTOA(INET6_ATON('1:2:3:4:5:6:7:8')); INET6_NTOA(INET6_ATON('1:2:3:4:5:6:7:8')) 1:2:3:4:5:6:7:8 SELECT INET6_NTOA(INET6_ATON('::2:3:4:5:6:7:8')); INET6_NTOA(INET6_ATON('::2:3:4:5:6:7:8')) ::2:3:4:5:6:7:8 SELECT INET6_NTOA(INET6_ATON('1::3:4:5:6:7:8')); INET6_NTOA(INET6_ATON('1::3:4:5:6:7:8')) 1::3:4:5:6:7:8 SELECT INET6_NTOA(INET6_ATON('1:2::4:5:6:7:8')); INET6_NTOA(INET6_ATON('1:2::4:5:6:7:8')) 1:2::4:5:6:7:8 SELECT INET6_NTOA(INET6_ATON('1:2:3::5:6:7:8')); INET6_NTOA(INET6_ATON('1:2:3::5:6:7:8')) 1:2:3::5:6:7:8 SELECT INET6_NTOA(INET6_ATON('1:2:3:4::6:7:8')); INET6_NTOA(INET6_ATON('1:2:3:4::6:7:8')) 1:2:3:4::6:7:8 SELECT INET6_NTOA(INET6_ATON('1:2:3:4:5::7:8')); INET6_NTOA(INET6_ATON('1:2:3:4:5::7:8')) 1:2:3:4:5::7:8 SELECT INET6_NTOA(INET6_ATON('1:2:3:4:5:6::8')); INET6_NTOA(INET6_ATON('1:2:3:4:5:6::8')) 1:2:3:4:5:6::8 SELECT INET6_NTOA(INET6_ATON('1:2:3:4:5:6:7::')); INET6_NTOA(INET6_ATON('1:2:3:4:5:6:7::')) 1:2:3:4:5:6:7:: SELECT INET6_NTOA(INET6_ATON('0000:0000::0000:0001')); INET6_NTOA(INET6_ATON('0000:0000::0000:0001')) ::1 SELECT INET6_NTOA(INET6_ATON('1234:5678:9abc:def0:4321:8765:cba9:0fed')); INET6_NTOA(INET6_ATON('1234:5678:9abc:def0:4321:8765:cba9:0fed')) 1234:5678:9abc:def0:4321:8765:cba9:fed SELECT INET6_NTOA(INET6_ATON('0000:0000:0000:0000:0000:0000:0000:0001')); INET6_NTOA(INET6_ATON('0000:0000:0000:0000:0000:0000:0000:0001')) ::1 SELECT INET6_NTOA(INET6_ATON('::C0A8:0102')); INET6_NTOA(INET6_ATON('::C0A8:0102')) ::192.168.1.2 SELECT INET6_NTOA(INET6_ATON('::c0a8:0102')); INET6_NTOA(INET6_ATON('::c0a8:0102')) ::192.168.1.2 SELECT INET6_NTOA(INET6_ATON('::192.168.1.2')); INET6_NTOA(INET6_ATON('::192.168.1.2')) ::192.168.1.2 SELECT INET6_NTOA(INET6_ATON('::FfFf:C0a8:0102')); INET6_NTOA(INET6_ATON('::FfFf:C0a8:0102')) ::ffff:192.168.1.2 SELECT INET6_NTOA(INET6_ATON('::ffff:c0a8:0102')); INET6_NTOA(INET6_ATON('::ffff:c0a8:0102')) ::ffff:192.168.1.2 SELECT INET6_NTOA(INET6_ATON('::ffff:192.168.1.2')); INET6_NTOA(INET6_ATON('::ffff:192.168.1.2')) ::ffff:192.168.1.2 SELECT INET6_NTOA(INET6_ATON('::01.2.3.4')); INET6_NTOA(INET6_ATON('::01.2.3.4')) ::1.2.3.4 SELECT INET6_NTOA(INET6_ATON('::1.02.3.4')); INET6_NTOA(INET6_ATON('::1.02.3.4')) ::1.2.3.4 SELECT INET6_NTOA(INET6_ATON('::1.2.03.4')); INET6_NTOA(INET6_ATON('::1.2.03.4')) ::1.2.3.4 SELECT INET6_NTOA(INET6_ATON('::1.2.3.04')); INET6_NTOA(INET6_ATON('::1.2.3.04')) ::1.2.3.4 SELECT INET6_NTOA(INET6_ATON('::1.2.3.00')); INET6_NTOA(INET6_ATON('::1.2.3.00')) ::1.2.3.0 SELECT INET6_NTOA(INET6_ATON('::FFFF:01.2.3.4')); INET6_NTOA(INET6_ATON('::FFFF:01.2.3.4')) ::ffff:1.2.3.4 SELECT INET6_NTOA(INET6_ATON('::FFFF:1.02.3.4')); INET6_NTOA(INET6_ATON('::FFFF:1.02.3.4')) ::ffff:1.2.3.4 SELECT INET6_NTOA(INET6_ATON('::FFFF:1.2.03.4')); INET6_NTOA(INET6_ATON('::FFFF:1.2.03.4')) ::ffff:1.2.3.4 SELECT INET6_NTOA(INET6_ATON('::FFFF:1.2.3.04')); INET6_NTOA(INET6_ATON('::FFFF:1.2.3.04')) ::ffff:1.2.3.4 SELECT INET6_NTOA(INET6_ATON('::FFFF:1.2.3.00')); INET6_NTOA(INET6_ATON('::FFFF:1.2.3.00')) ::ffff:1.2.3.0 # -- Comparing INET_ATON() and INET6_ATON()... SELECT HEX(INET_ATON('192.168.1.2')); HEX(INET_ATON('192.168.1.2')) C0A80102 SELECT HEX(INET6_ATON('192.168.1.2')); HEX(INET6_ATON('192.168.1.2')) C0A80102 SELECT HEX(INET_ATON('255.255.255.255')); HEX(INET_ATON('255.255.255.255')) FFFFFFFF SELECT HEX(INET6_ATON('255.255.255.255')); HEX(INET6_ATON('255.255.255.255')) FFFFFFFF SELECT HEX(INET_ATON('192.168.08.2')); HEX(INET_ATON('192.168.08.2')) C0A80802 SELECT HEX(INET6_ATON('192.168.08.2')); HEX(INET6_ATON('192.168.08.2')) C0A80802 SELECT HEX(INET_ATON('192.168.0x8.2')); HEX(INET_ATON('192.168.0x8.2')) NULL Warnings: Warning 1411 Incorrect string value: ''192.168.0x8.2'' for function inet_aton SELECT HEX(INET6_ATON('192.168.0x8.2')); HEX(INET6_ATON('192.168.0x8.2')) NULL Warnings: Warning 1411 Incorrect string value: ''192.168.0x8.2'' for function inet6_aton SELECT HEX(INET_ATON('1.2.255')); HEX(INET_ATON('1.2.255')) 10200FF SELECT HEX(INET6_ATON('1.2.255')); HEX(INET6_ATON('1.2.255')) NULL Warnings: Warning 1411 Incorrect string value: ''1.2.255'' for function inet6_aton SELECT HEX(INET_ATON('1.2.256')); HEX(INET_ATON('1.2.256')) NULL Warnings: Warning 1411 Incorrect string value: ''1.2.256'' for function inet_aton SELECT HEX(INET6_ATON('1.2.256')); HEX(INET6_ATON('1.2.256')) NULL Warnings: Warning 1411 Incorrect string value: ''1.2.256'' for function inet6_aton SELECT HEX(INET_ATON('1.0002.3.4')); HEX(INET_ATON('1.0002.3.4')) 1020304 SELECT HEX(INET6_ATON('1.0002.3.4')); HEX(INET6_ATON('1.0002.3.4')) NULL Warnings: Warning 1411 Incorrect string value: ''1.0002.3.4'' for function inet6_aton SELECT HEX(INET_ATON('1.2.3.4.5')); HEX(INET_ATON('1.2.3.4.5')) NULL Warnings: Warning 1411 Incorrect string value: ''1.2.3.4.5'' for function inet_aton SELECT HEX(INET6_ATON('1.2.3.4.5')); HEX(INET6_ATON('1.2.3.4.5')) NULL Warnings: Warning 1411 Incorrect string value: ''1.2.3.4.5'' for function inet6_aton # -- Checking mix of INET- and INET6- functions... SELECT HEX(INET6_ATON(INET_NTOA(INET_ATON('1.2.3.4')))) AS x; x 01020304 # -- Checking IS_IPV4() / IS_IPV6()... SELECT IS_IPV4(NULL); IS_IPV4(NULL) 0 SELECT IS_IPV4(1); IS_IPV4(1) 0 SELECT IS_IPV4(1.0); IS_IPV4(1.0) 0 SELECT IS_IPV4('1.2.3.4'); IS_IPV4('1.2.3.4') 1 SELECT IS_IPV4('001.02.000.255'); IS_IPV4('001.02.000.255') 1 SELECT IS_IPV4('::1.2.0.255'); IS_IPV4('::1.2.0.255') 0 SELECT IS_IPV4('::1'); IS_IPV4('::1') 0 SELECT IS_IPV4(BINARY('1.2.3.4')); IS_IPV4(BINARY('1.2.3.4')) 1 SELECT IS_IPV6(NULL); IS_IPV6(NULL) 0 SELECT IS_IPV6(1); IS_IPV6(1) 0 SELECT IS_IPV6(1.0); IS_IPV6(1.0) 0 SELECT IS_IPV6('1.2.3.4'); IS_IPV6('1.2.3.4') 0 SELECT IS_IPV6('001.02.000.255'); IS_IPV6('001.02.000.255') 0 SELECT IS_IPV6('::001.02.000.255'); IS_IPV6('::001.02.000.255') 1 SELECT IS_IPV6('::1.2.0.255'); IS_IPV6('::1.2.0.255') 1 SELECT IS_IPV6('::1'); IS_IPV6('::1') 1 SELECT IS_IPV6('0000:0000:0000:0000:0000:0000:0000:0001'); IS_IPV6('0000:0000:0000:0000:0000:0000:0000:0001') 1 SELECT IS_IPV6(BINARY('0000:0000:0000:0000:0000:0000:0000:0001')); IS_IPV6(BINARY('0000:0000:0000:0000:0000:0000:0000:0001')) 1 # -- Checking IS_IPV4_MAPPED() and IS_IPV4_COMPAT()... SELECT IS_IPV4_MAPPED(INET6_ATON('1.2.3.4')), IS_IPV4_COMPAT(INET6_ATON('1.2.3.4')); IS_IPV4_MAPPED(INET6_ATON('1.2.3.4')) IS_IPV4_COMPAT(INET6_ATON('1.2.3.4')) 0 0 SELECT IS_IPV4_MAPPED(INET6_ATON('::1.2.3.4')), IS_IPV4_COMPAT(INET6_ATON('::1.2.3.4')); IS_IPV4_MAPPED(INET6_ATON('::1.2.3.4')) IS_IPV4_COMPAT(INET6_ATON('::1.2.3.4')) 0 1 SELECT IS_IPV4_MAPPED(INET6_ATON('::FFFF:1.2.3.4')), IS_IPV4_COMPAT(INET6_ATON('::FFFF:1.2.3.4')); IS_IPV4_MAPPED(INET6_ATON('::FFFF:1.2.3.4')) IS_IPV4_COMPAT(INET6_ATON('::FFFF:1.2.3.4')) 1 0 SELECT IS_IPV4_MAPPED(INET6_ATON('::ABCD:1.2.3.4')), IS_IPV4_COMPAT(INET6_ATON('::ABCD:1.2.3.4')); IS_IPV4_MAPPED(INET6_ATON('::ABCD:1.2.3.4')) IS_IPV4_COMPAT(INET6_ATON('::ABCD:1.2.3.4')) 0 0 SELECT IS_IPV4_MAPPED(INET6_ATON('::1')), IS_IPV4_COMPAT(INET6_ATON('::1')); IS_IPV4_MAPPED(INET6_ATON('::1')) IS_IPV4_COMPAT(INET6_ATON('::1')) 0 0 SELECT IS_IPV4_MAPPED(INET6_ATON('::')), IS_IPV4_COMPAT(INET6_ATON('::')); IS_IPV4_MAPPED(INET6_ATON('::')) IS_IPV4_COMPAT(INET6_ATON('::')) 0 0 # -- Checking IS_IPV4_COMPAT()... # -- Working with a table... DROP TABLE IF EXISTS t1; DROP TABLE IF EXISTS t2; CREATE TABLE t1(ip INT UNSIGNED); CREATE TABLE t2(ip VARBINARY(16)); INSERT INTO t1 VALUES (INET_ATON('1.2.3.4')), (INET_ATON('255.255.255.255')); SELECT INET_NTOA(ip) FROM t1; INET_NTOA(ip) 1.2.3.4 255.255.255.255 INSERT INTO t2 SELECT INET6_ATON(INET_NTOA(ip)) FROM t1; SELECT INET6_NTOA(ip), HEX(ip), LENGTH(ip) FROM t2; INET6_NTOA(ip) HEX(ip) LENGTH(ip) 1.2.3.4 01020304 4 255.255.255.255 FFFFFFFF 4 DELETE FROM t2; INSERT INTO t2 VALUES (INET6_ATON('1.2.3.4')), (INET6_ATON('255.255.255.255')), (INET6_ATON('::1.2.3.4')), (INET6_ATON('::ffff:255.255.255.255')), (INET6_ATON('::')), (INET6_ATON('::1')), (INET6_ATON('1020:3040:5060:7080:90A0:B0C0:D0E0:F010')); SELECT INET6_NTOA(ip), HEX(ip), LENGTH(ip) FROM t2; INET6_NTOA(ip) HEX(ip) LENGTH(ip) 1.2.3.4 01020304 4 255.255.255.255 FFFFFFFF 4 ::1.2.3.4 00000000000000000000000001020304 16 ::ffff:255.255.255.255 00000000000000000000FFFFFFFFFFFF 16 :: 00000000000000000000000000000000 16 ::1 00000000000000000000000000000001 16 1020:3040:5060:7080:90a0:b0c0:d0e0:f010 102030405060708090A0B0C0D0E0F010 16 DELETE FROM t2; INSERT INTO t2 VALUES (INET6_ATON('1.0002.3.4')); Warnings: Warning 1411 Incorrect string value: ''1.0002.3.4'' for function inet6_aton INSERT INTO t2 VALUES (INET6_ATON('1.2.255')); Warnings: Warning 1411 Incorrect string value: ''1.2.255'' for function inet6_aton INSERT INTO t2 VALUES (INET6_ATON('1.2.256')); Warnings: Warning 1411 Incorrect string value: ''1.2.256'' for function inet6_aton INSERT INTO t2 VALUES (INET6_ATON('192.168.0x8.2')); Warnings: Warning 1411 Incorrect string value: ''192.168.0x8.2'' for function inet6_aton INSERT INTO t2 VALUES (inet_aton("122.256")); Warnings: Warning 1411 Incorrect string value: ''122.256'' for function inet_aton INSERT INTO t2 VALUES (inet_aton("122.226.")); Warnings: Warning 1411 Incorrect string value: ''122.226.'' for function inet_aton INSERT INTO t2 VALUES (inet_aton("")); Warnings: Warning 1411 Incorrect string value: '''' for function inet_aton INSERT INTO t2 VALUES (UNHEX('Z0Q80F02')); Warnings: Warning 1411 Incorrect string value: ''Z0Q80F02'' for function unhex SELECT INET6_NTOA(ip), HEX(ip), LENGTH(ip) FROM t2; INET6_NTOA(ip) HEX(ip) LENGTH(ip) NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL DELETE FROM t2; SET sql_mode = default; INSERT INTO t2 VALUES (INET6_ATON('1.0002.3.4')); ERROR HY000: Incorrect string value: ''1.0002.3.4'' for function inet6_aton INSERT INTO t2 VALUES (INET6_ATON('1.2.255')); ERROR HY000: Incorrect string value: ''1.2.255'' for function inet6_aton INSERT INTO t2 VALUES (INET6_ATON('1.2.256')); ERROR HY000: Incorrect string value: ''1.2.256'' for function inet6_aton INSERT INTO t2 VALUES (INET6_ATON('192.168.0x8.2')); ERROR HY000: Incorrect string value: ''192.168.0x8.2'' for function inet6_aton INSERT INTO t2 VALUES (inet_aton("122.256")); ERROR HY000: Incorrect string value: ''122.256'' for function inet_aton INSERT INTO t2 VALUES (inet_aton("122.226.")); ERROR HY000: Incorrect string value: ''122.226.'' for function inet_aton INSERT INTO t2 VALUES (inet_aton("")); ERROR HY000: Incorrect string value: '''' for function inet_aton INSERT INTO t2 VALUES (UNHEX('Z0Q80F02')); ERROR HY000: Incorrect string value: ''Z0Q80F02'' for function unhex SELECT INET6_NTOA(ip), HEX(ip), LENGTH(ip) FROM t2; INET6_NTOA(ip) HEX(ip) LENGTH(ip) DROP TABLE t1; DROP TABLE t2; # # Bug#22071558 INET_ATON ACCEPTS MORE THAN FOUR GROUPS OF DIGITS AND RETURNS INT BIGGER THAN 4G # select inet_aton("0.255.255.255.255"); inet_aton("0.255.255.255.255") NULL Warnings: Warning 1411 Incorrect string value: ''0.255.255.255.255'' for function inet_aton select inet_aton("255.255.255.2551"); inet_aton("255.255.255.2551") NULL Warnings: Warning 1411 Incorrect string value: ''255.255.255.2551'' for function inet_aton # # Bug #27004825: UBSAN: ITEM_FUNC_IS_IPV4_MAPPED - MEMBER ACCESS WITHIN MISALIGNED ADDRESS # SELECT IS_IPV4_MAPPED(MIN(AES_ENCRYPT(1,2))); IS_IPV4_MAPPED(MIN(AES_ENCRYPT(1,2))) 0 SELECT IS_IPV4_COMPAT(MIN(AES_ENCRYPT(1,2))); IS_IPV4_COMPAT(MIN(AES_ENCRYPT(1,2))) 0 # # Bug#27744557 UBSAN: COMPARE_BINARY_STRING NULL POINTER PASSED # select format('f','')<=replace(1,1,mid(0xd9,2,1)); format('f','')<=replace(1,1,mid(0xd9,2,1)) 0 Warnings: Warning 1292 Truncated incorrect INTEGER value: '' Warning 1292 Truncated incorrect DOUBLE value: 'f' # # Bug#29240446: RECENT REGRESSION, ISCTYPE.CPP(36) : ASSERTION FAILED: C >= -1 && C <= 255 # DO DATEDIFF(UUID_TO_BIN(UUID()), 0x32df2ce8); DO (!(SECOND(0xb16beeb7))); Warnings: Warning 1287 '!' is deprecated and will be removed in a future release. Please use NOT instead Warning 1292 Truncated incorrect time value: '\xB1k\xEE\xB7' # -- Done. # # End of tests #