From: Alexander Nozdrin Date: May 3 2011 1:04pm Subject: bzr commit into mysql-trunk branch (alexander.nozdrin:3360) WL#5787 List-Archive: http://lists.mysql.com/commits/136567 Message-Id: <201105031304.p43D480x006914@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4560345285996878298==" --===============4560345285996878298== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/alik/MySQL/bzr/00/wl5787/mysql-trunk-wl5787.2/ based on revid:alexander.nozdrin@stripped 3360 Alexander Nozdrin 2011-05-03 MTR tests for QA sign off of wl#5787. modified: mysql-test/include/ipv6.inc mysql-test/r/ipv4_as_ipv6.result mysql-test/r/ipv6.result mysql-test/t/ipv4_as_ipv6.test mysql-test/t/ipv6.test === modified file 'mysql-test/include/ipv6.inc' --- a/mysql-test/include/ipv6.inc 2010-02-08 10:43:56 +0000 +++ b/mysql-test/include/ipv6.inc 2011-05-03 13:04:00 +0000 @@ -1,11 +1,6 @@ eval CREATE USER testuser@'$IPv6' identified by '1234'; eval GRANT ALL ON test.* TO testuser@'$IPv6'; eval SHOW GRANTS FOR testuser@'$IPv6'; -# deliver NULL instead of a valid number, see bug#34037 -eval SET @nip= inet_aton('$IPv6'); -SELECT @nip; -SELECT inet_ntoa(@nip); -# delivers a wrong value, see bug#34037 --replace_result ::1 localhost SELECT USER(); --replace_result ::1 localhost === modified file 'mysql-test/r/ipv4_as_ipv6.result' --- a/mysql-test/r/ipv4_as_ipv6.result 2010-10-18 16:20:26 +0000 +++ b/mysql-test/r/ipv4_as_ipv6.result 2011-05-03 13:04:00 +0000 @@ -6,13 +6,6 @@ SHOW GRANTS FOR testuser@'127.0.0.1'; Grants for testuser@stripped GRANT USAGE ON *.* TO 'testuser'@'127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF' GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'127.0.0.1' -SET @nip= inet_aton('127.0.0.1'); -SELECT @nip; -@nip -2130706433 -SELECT inet_ntoa(@nip); -inet_ntoa(@nip) -127.0.0.1 SELECT USER(); USER() root@localhost @@ -27,6 +20,98 @@ SELECT USER(); USER() root@localhost DROP USER testuser1@'127.0.0.1'; +SET @nip= inet_aton('127.0.0.1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip,@nip,@nip,@nip,@nip,@nip); +SELECT inet_ntoa(c1) FROM t1; +inet_ntoa(c1) +127.0.0.1 +SELECT inet_ntoa(CAST(c1 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c1 AS UNSIGNED)) +127.0.0.1 +SELECT inet_ntoa(c2) FROM t1; +inet_ntoa(c2) +127.0.0.1 +SELECT inet_ntoa(CAST(c2 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c2 AS UNSIGNED)) +127.0.0.1 +SELECT inet_ntoa(c3) FROM t1; +inet_ntoa(c3) +127.0.0.1 +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '2130706433\x00\x00\x00\x00\x00\x00' +SELECT inet_ntoa(CAST(c3 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c3 AS UNSIGNED)) +127.0.0.1 +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '2130706433\x00\x00\x00\x00\x00\x00' +SELECT inet_ntoa(c4) FROM t1; +inet_ntoa(c4) +127.0.0.1 +SELECT inet_ntoa(CAST(c4 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c4 AS UNSIGNED)) +127.0.0.1 +SELECT inet_ntoa(c5) FROM t1; +inet_ntoa(c5) +127.0.0.1 +SELECT inet_ntoa(CAST(c5 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c5 AS UNSIGNED)) +127.0.0.1 +SELECT inet_ntoa(c6) FROM t1; +inet_ntoa(c6) +127.0.0.1 +DROP TABLE IF EXISTS t1; +SELECT @nip; +@nip +2130706433 +SELECT inet_ntoa(@nip); +inet_ntoa(@nip) +127.0.0.1 +SET @nip6= inet6_aton('127.0.0.1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip6,@nip6,@nip6,@nip6,@nip6,@nip6); +Warnings: +Warning 1366 Incorrect integer value: '\x7F\x00\x00\x01' for column 'c6' at row 1 +SELECT inet6_ntoa(c1) FROM t1; +inet6_ntoa(c1) +127.0.0.1 +SELECT inet6_ntoa(CAST(c1 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c1 AS BINARY(16))) +7f00:1:: +SELECT inet6_ntoa(c2) FROM t1; +inet6_ntoa(c2) +NULL +SELECT inet6_ntoa(CAST(c2 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c2 AS BINARY(16))) +7f00:1:: +SELECT inet6_ntoa(c3) FROM t1; +inet6_ntoa(c3) +7f00:1:: +SELECT inet6_ntoa(CAST(c3 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c3 AS BINARY(16))) +7f00:1:: +SELECT inet6_ntoa(c4) FROM t1; +inet6_ntoa(c4) +NULL +SELECT inet6_ntoa(CAST(c4 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c4 AS BINARY(16))) +7f00:1:: +SELECT inet6_ntoa(c5) FROM t1; +inet6_ntoa(c5) +NULL +SELECT inet6_ntoa(CAST(c5 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c5 AS BINARY(16))) +7f00:1:: +SELECT inet6_ntoa(c6) FROM t1; +inet6_ntoa(c6) +NULL +SELECT inet6_ntoa(CAST(c6 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c6 AS BINARY(16))) +3000:: +DROP TABLE IF EXISTS t1; +SELECT inet6_ntoa(@nip6); +inet6_ntoa(@nip6) +127.0.0.1 =============Test of '0:0:0:0:0:FFFF:127.0.0.1' =================== mysqld is alive CREATE USER testuser@'0:0:0:0:0:FFFF:127.0.0.1' identified by '1234'; @@ -35,13 +120,6 @@ SHOW GRANTS FOR testuser@'0:0:0:0:0:FFFF Grants for testuser@0:0:0:0:0:ffff:127.0.0.1 GRANT USAGE ON *.* TO 'testuser'@'0:0:0:0:0:ffff:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF' GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0:0:0:0:ffff:127.0.0.1' -SET @nip= inet_aton('0:0:0:0:0:FFFF:127.0.0.1'); -SELECT @nip; -@nip -NULL -SELECT inet_ntoa(@nip); -inet_ntoa(@nip) -NULL SELECT USER(); USER() root@localhost @@ -56,6 +134,94 @@ SELECT USER(); USER() root@localhost DROP USER testuser1@'0:0:0:0:0:FFFF:127.0.0.1'; +SET @nip= inet_aton('0:0:0:0:0:FFFF:127.0.0.1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip,@nip,@nip,@nip,@nip,@nip); +SELECT inet_ntoa(c1) FROM t1; +inet_ntoa(c1) +NULL +SELECT inet_ntoa(CAST(c1 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c1 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c2) FROM t1; +inet_ntoa(c2) +NULL +SELECT inet_ntoa(CAST(c2 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c2 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c3) FROM t1; +inet_ntoa(c3) +NULL +SELECT inet_ntoa(CAST(c3 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c3 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c4) FROM t1; +inet_ntoa(c4) +NULL +SELECT inet_ntoa(CAST(c4 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c4 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c5) FROM t1; +inet_ntoa(c5) +NULL +SELECT inet_ntoa(CAST(c5 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c5 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c6) FROM t1; +inet_ntoa(c6) +NULL +DROP TABLE IF EXISTS t1; +SELECT @nip; +@nip +NULL +SELECT inet_ntoa(@nip); +inet_ntoa(@nip) +NULL +SET @nip6= inet6_aton('0:0:0:0:0:FFFF:127.0.0.1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip6,@nip6,@nip6,@nip6,@nip6,@nip6); +Warnings: +Warning 1366 Incorrect integer value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\x7F\x00\x00\x01' for column 'c6' at row 1 +SELECT inet6_ntoa(c1) FROM t1; +inet6_ntoa(c1) +::ffff:127.0.0.1 +SELECT inet6_ntoa(CAST(c1 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c1 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c2) FROM t1; +inet6_ntoa(c2) +NULL +SELECT inet6_ntoa(CAST(c2 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c2 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c3) FROM t1; +inet6_ntoa(c3) +::ffff:127.0.0.1 +SELECT inet6_ntoa(CAST(c3 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c3 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c4) FROM t1; +inet6_ntoa(c4) +NULL +SELECT inet6_ntoa(CAST(c4 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c4 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c5) FROM t1; +inet6_ntoa(c5) +NULL +SELECT inet6_ntoa(CAST(c5 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c5 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c6) FROM t1; +inet6_ntoa(c6) +NULL +SELECT inet6_ntoa(CAST(c6 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c6 AS BINARY(16))) +3000:: +DROP TABLE IF EXISTS t1; +SELECT inet6_ntoa(@nip6); +inet6_ntoa(@nip6) +::ffff:127.0.0.1 =============Test of '0000:0000:0000:0000:0000:FFFF:127.0.0.1' ==== mysqld is alive CREATE USER testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1' identified by '1234'; @@ -64,13 +230,6 @@ SHOW GRANTS FOR testuser@'0000:0000:0000 Grants for testuser@0000:0000:0000:0000:0000:ffff:127.0.0.1 GRANT USAGE ON *.* TO 'testuser'@'0000:0000:0000:0000:0000:ffff:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF' GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0000:0000:0000:0000:0000:ffff:127.0.0.1' -SET @nip= inet_aton('0000:0000:0000:0000:0000:FFFF:127.0.0.1'); -SELECT @nip; -@nip -NULL -SELECT inet_ntoa(@nip); -inet_ntoa(@nip) -NULL SELECT USER(); USER() root@localhost @@ -85,6 +244,94 @@ SELECT USER(); USER() root@localhost DROP USER testuser1@'0000:0000:0000:0000:0000:FFFF:127.0.0.1'; +SET @nip= inet_aton('0000:0000:0000:0000:0000:FFFF:127.0.0.1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip,@nip,@nip,@nip,@nip,@nip); +SELECT inet_ntoa(c1) FROM t1; +inet_ntoa(c1) +NULL +SELECT inet_ntoa(CAST(c1 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c1 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c2) FROM t1; +inet_ntoa(c2) +NULL +SELECT inet_ntoa(CAST(c2 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c2 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c3) FROM t1; +inet_ntoa(c3) +NULL +SELECT inet_ntoa(CAST(c3 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c3 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c4) FROM t1; +inet_ntoa(c4) +NULL +SELECT inet_ntoa(CAST(c4 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c4 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c5) FROM t1; +inet_ntoa(c5) +NULL +SELECT inet_ntoa(CAST(c5 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c5 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c6) FROM t1; +inet_ntoa(c6) +NULL +DROP TABLE IF EXISTS t1; +SELECT @nip; +@nip +NULL +SELECT inet_ntoa(@nip); +inet_ntoa(@nip) +NULL +SET @nip6= inet6_aton('0000:0000:0000:0000:0000:FFFF:127.0.0.1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip6,@nip6,@nip6,@nip6,@nip6,@nip6); +Warnings: +Warning 1366 Incorrect integer value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\x7F\x00\x00\x01' for column 'c6' at row 1 +SELECT inet6_ntoa(c1) FROM t1; +inet6_ntoa(c1) +::ffff:127.0.0.1 +SELECT inet6_ntoa(CAST(c1 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c1 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c2) FROM t1; +inet6_ntoa(c2) +NULL +SELECT inet6_ntoa(CAST(c2 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c2 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c3) FROM t1; +inet6_ntoa(c3) +::ffff:127.0.0.1 +SELECT inet6_ntoa(CAST(c3 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c3 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c4) FROM t1; +inet6_ntoa(c4) +NULL +SELECT inet6_ntoa(CAST(c4 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c4 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c5) FROM t1; +inet6_ntoa(c5) +NULL +SELECT inet6_ntoa(CAST(c5 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c5 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c6) FROM t1; +inet6_ntoa(c6) +NULL +SELECT inet6_ntoa(CAST(c6 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c6 AS BINARY(16))) +3000:: +DROP TABLE IF EXISTS t1; +SELECT inet6_ntoa(@nip6); +inet6_ntoa(@nip6) +::ffff:127.0.0.1 =============Test of '0:0000:0000:0:0000:FFFF:127.0.0.1' ==== mysqld is alive CREATE USER testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1' identified by '1234'; @@ -93,13 +340,6 @@ SHOW GRANTS FOR testuser@'0:0000:0000:0: Grants for testuser@0:0000:0000:0:0000:ffff:127.0.0.1 GRANT USAGE ON *.* TO 'testuser'@'0:0000:0000:0:0000:ffff:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF' GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0000:0000:0:0000:ffff:127.0.0.1' -SET @nip= inet_aton('0:0000:0000:0:0000:FFFF:127.0.0.1'); -SELECT @nip; -@nip -NULL -SELECT inet_ntoa(@nip); -inet_ntoa(@nip) -NULL SELECT USER(); USER() root@localhost @@ -114,6 +354,94 @@ SELECT USER(); USER() root@localhost DROP USER testuser1@'0:0000:0000:0:0000:FFFF:127.0.0.1'; +SET @nip= inet_aton('0:0000:0000:0:0000:FFFF:127.0.0.1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip,@nip,@nip,@nip,@nip,@nip); +SELECT inet_ntoa(c1) FROM t1; +inet_ntoa(c1) +NULL +SELECT inet_ntoa(CAST(c1 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c1 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c2) FROM t1; +inet_ntoa(c2) +NULL +SELECT inet_ntoa(CAST(c2 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c2 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c3) FROM t1; +inet_ntoa(c3) +NULL +SELECT inet_ntoa(CAST(c3 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c3 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c4) FROM t1; +inet_ntoa(c4) +NULL +SELECT inet_ntoa(CAST(c4 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c4 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c5) FROM t1; +inet_ntoa(c5) +NULL +SELECT inet_ntoa(CAST(c5 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c5 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c6) FROM t1; +inet_ntoa(c6) +NULL +DROP TABLE IF EXISTS t1; +SELECT @nip; +@nip +NULL +SELECT inet_ntoa(@nip); +inet_ntoa(@nip) +NULL +SET @nip6= inet6_aton('0:0000:0000:0:0000:FFFF:127.0.0.1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip6,@nip6,@nip6,@nip6,@nip6,@nip6); +Warnings: +Warning 1366 Incorrect integer value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\x7F\x00\x00\x01' for column 'c6' at row 1 +SELECT inet6_ntoa(c1) FROM t1; +inet6_ntoa(c1) +::ffff:127.0.0.1 +SELECT inet6_ntoa(CAST(c1 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c1 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c2) FROM t1; +inet6_ntoa(c2) +NULL +SELECT inet6_ntoa(CAST(c2 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c2 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c3) FROM t1; +inet6_ntoa(c3) +::ffff:127.0.0.1 +SELECT inet6_ntoa(CAST(c3 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c3 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c4) FROM t1; +inet6_ntoa(c4) +NULL +SELECT inet6_ntoa(CAST(c4 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c4 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c5) FROM t1; +inet6_ntoa(c5) +NULL +SELECT inet6_ntoa(CAST(c5 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c5 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c6) FROM t1; +inet6_ntoa(c6) +NULL +SELECT inet6_ntoa(CAST(c6 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c6 AS BINARY(16))) +3000:: +DROP TABLE IF EXISTS t1; +SELECT inet6_ntoa(@nip6); +inet6_ntoa(@nip6) +::ffff:127.0.0.1 =============Test of '0::0000:FFFF:127.0.0.1' ==== mysqld is alive CREATE USER testuser@'0::0000:FFFF:127.0.0.1' identified by '1234'; @@ -122,13 +450,6 @@ SHOW GRANTS FOR testuser@'0::0000:FFFF:1 Grants for testuser@0::0000:ffff:127.0.0.1 GRANT USAGE ON *.* TO 'testuser'@'0::0000:ffff:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF' GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0::0000:ffff:127.0.0.1' -SET @nip= inet_aton('0::0000:FFFF:127.0.0.1'); -SELECT @nip; -@nip -NULL -SELECT inet_ntoa(@nip); -inet_ntoa(@nip) -NULL SELECT USER(); USER() root@localhost @@ -143,7 +464,181 @@ SELECT USER(); USER() root@localhost DROP USER testuser1@'0::0000:FFFF:127.0.0.1'; +SET @nip= inet_aton('0::0000:FFFF:127.0.0.1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip,@nip,@nip,@nip,@nip,@nip); +SELECT inet_ntoa(c1) FROM t1; +inet_ntoa(c1) +NULL +SELECT inet_ntoa(CAST(c1 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c1 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c2) FROM t1; +inet_ntoa(c2) +NULL +SELECT inet_ntoa(CAST(c2 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c2 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c3) FROM t1; +inet_ntoa(c3) +NULL +SELECT inet_ntoa(CAST(c3 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c3 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c4) FROM t1; +inet_ntoa(c4) +NULL +SELECT inet_ntoa(CAST(c4 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c4 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c5) FROM t1; +inet_ntoa(c5) +NULL +SELECT inet_ntoa(CAST(c5 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c5 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c6) FROM t1; +inet_ntoa(c6) +NULL +DROP TABLE IF EXISTS t1; +SELECT @nip; +@nip +NULL +SELECT inet_ntoa(@nip); +inet_ntoa(@nip) +NULL +SET @nip6= inet6_aton('0::0000:FFFF:127.0.0.1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip6,@nip6,@nip6,@nip6,@nip6,@nip6); +Warnings: +Warning 1366 Incorrect integer value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\x7F\x00\x00\x01' for column 'c6' at row 1 +SELECT inet6_ntoa(c1) FROM t1; +inet6_ntoa(c1) +::ffff:127.0.0.1 +SELECT inet6_ntoa(CAST(c1 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c1 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c2) FROM t1; +inet6_ntoa(c2) +NULL +SELECT inet6_ntoa(CAST(c2 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c2 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c3) FROM t1; +inet6_ntoa(c3) +::ffff:127.0.0.1 +SELECT inet6_ntoa(CAST(c3 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c3 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c4) FROM t1; +inet6_ntoa(c4) +NULL +SELECT inet6_ntoa(CAST(c4 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c4 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c5) FROM t1; +inet6_ntoa(c5) +NULL +SELECT inet6_ntoa(CAST(c5 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c5 AS BINARY(16))) +::ffff:127.0.0.1 +SELECT inet6_ntoa(c6) FROM t1; +inet6_ntoa(c6) +NULL +SELECT inet6_ntoa(CAST(c6 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c6 AS BINARY(16))) +3000:: +DROP TABLE IF EXISTS t1; +SELECT inet6_ntoa(@nip6); +inet6_ntoa(@nip6) +::ffff:127.0.0.1 =============Test of '0:0:0:0:0:FFFF:127.0.0.1/96' ================ +SET @nip= inet_aton('0:0:0:0:0:FFFF:127.0.0.1/96'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip,@nip,@nip,@nip,@nip,@nip); +SELECT inet_ntoa(c1) FROM t1; +inet_ntoa(c1) +NULL +SELECT inet_ntoa(CAST(c1 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c1 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c2) FROM t1; +inet_ntoa(c2) +NULL +SELECT inet_ntoa(CAST(c2 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c2 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c3) FROM t1; +inet_ntoa(c3) +NULL +SELECT inet_ntoa(CAST(c3 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c3 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c4) FROM t1; +inet_ntoa(c4) +NULL +SELECT inet_ntoa(CAST(c4 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c4 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c5) FROM t1; +inet_ntoa(c5) +NULL +SELECT inet_ntoa(CAST(c5 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c5 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c6) FROM t1; +inet_ntoa(c6) +NULL +DROP TABLE IF EXISTS t1; +SELECT @nip; +@nip +NULL +SELECT inet_ntoa(@nip); +inet_ntoa(@nip) +NULL +SET @nip6= inet6_aton('0:0:0:0:0:FFFF:127.0.0.1/96'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip6,@nip6,@nip6,@nip6,@nip6,@nip6); +SELECT inet6_ntoa(c1) FROM t1; +inet6_ntoa(c1) +NULL +SELECT inet6_ntoa(CAST(c1 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c1 AS BINARY(16))) +NULL +SELECT inet6_ntoa(c2) FROM t1; +inet6_ntoa(c2) +NULL +SELECT inet6_ntoa(CAST(c2 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c2 AS BINARY(16))) +NULL +SELECT inet6_ntoa(c3) FROM t1; +inet6_ntoa(c3) +NULL +SELECT inet6_ntoa(CAST(c3 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c3 AS BINARY(16))) +NULL +SELECT inet6_ntoa(c4) FROM t1; +inet6_ntoa(c4) +NULL +SELECT inet6_ntoa(CAST(c4 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c4 AS BINARY(16))) +NULL +SELECT inet6_ntoa(c5) FROM t1; +inet6_ntoa(c5) +NULL +SELECT inet6_ntoa(CAST(c5 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c5 AS BINARY(16))) +NULL +SELECT inet6_ntoa(c6) FROM t1; +inet6_ntoa(c6) +NULL +SELECT inet6_ntoa(CAST(c6 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c6 AS BINARY(16))) +NULL +DROP TABLE IF EXISTS t1; +SELECT inet6_ntoa(@nip6); +inet6_ntoa(@nip6) +NULL =============Test of '::FFFF:127.0.0.1' =========================== mysqld is alive CREATE USER testuser@'::FFFF:127.0.0.1' identified by '1234'; @@ -152,13 +647,6 @@ SHOW GRANTS FOR testuser@'::FFFF:127.0.0 Grants for testuser@::ffff:127.0.0.1 GRANT USAGE ON *.* TO 'testuser'@'::ffff:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF' GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'::ffff:127.0.0.1' -SET @nip= inet_aton('::FFFF:127.0.0.1'); -SELECT @nip; -@nip -NULL -SELECT inet_ntoa(@nip); -inet_ntoa(@nip) -NULL SELECT USER(); USER() root@localhost @@ -174,6 +662,92 @@ USER() root@localhost DROP USER testuser1@'::FFFF:127.0.0.1'; =============Test of '::FFFF:127.0.0.1/96' ======================== +SET @nip= inet_aton('::FFFF:127.0.0.1/96'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip,@nip,@nip,@nip,@nip,@nip); +SELECT inet_ntoa(c1) FROM t1; +inet_ntoa(c1) +NULL +SELECT inet_ntoa(CAST(c1 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c1 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c2) FROM t1; +inet_ntoa(c2) +NULL +SELECT inet_ntoa(CAST(c2 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c2 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c3) FROM t1; +inet_ntoa(c3) +NULL +SELECT inet_ntoa(CAST(c3 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c3 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c4) FROM t1; +inet_ntoa(c4) +NULL +SELECT inet_ntoa(CAST(c4 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c4 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c5) FROM t1; +inet_ntoa(c5) +NULL +SELECT inet_ntoa(CAST(c5 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c5 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c6) FROM t1; +inet_ntoa(c6) +NULL +DROP TABLE IF EXISTS t1; +SELECT @nip; +@nip +NULL +SELECT inet_ntoa(@nip); +inet_ntoa(@nip) +NULL +SET @nip6= inet6_aton('::FFFF:127.0.0.1/96'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip6,@nip6,@nip6,@nip6,@nip6,@nip6); +SELECT inet6_ntoa(c1) FROM t1; +inet6_ntoa(c1) +NULL +SELECT inet6_ntoa(CAST(c1 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c1 AS BINARY(16))) +NULL +SELECT inet6_ntoa(c2) FROM t1; +inet6_ntoa(c2) +NULL +SELECT inet6_ntoa(CAST(c2 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c2 AS BINARY(16))) +NULL +SELECT inet6_ntoa(c3) FROM t1; +inet6_ntoa(c3) +NULL +SELECT inet6_ntoa(CAST(c3 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c3 AS BINARY(16))) +NULL +SELECT inet6_ntoa(c4) FROM t1; +inet6_ntoa(c4) +NULL +SELECT inet6_ntoa(CAST(c4 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c4 AS BINARY(16))) +NULL +SELECT inet6_ntoa(c5) FROM t1; +inet6_ntoa(c5) +NULL +SELECT inet6_ntoa(CAST(c5 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c5 AS BINARY(16))) +NULL +SELECT inet6_ntoa(c6) FROM t1; +inet6_ntoa(c6) +NULL +SELECT inet6_ntoa(CAST(c6 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c6 AS BINARY(16))) +NULL +DROP TABLE IF EXISTS t1; +SELECT inet6_ntoa(@nip6); +inet6_ntoa(@nip6) +NULL =============Test of '::1' ======================== connect (con1, ::1, root, , test, MASTER_MYPORT,); Got one of the listed errors === modified file 'mysql-test/r/ipv6.result' --- a/mysql-test/r/ipv6.result 2010-01-29 10:48:11 +0000 +++ b/mysql-test/r/ipv6.result 2011-05-03 13:04:00 +0000 @@ -6,13 +6,6 @@ SHOW GRANTS FOR testuser@'::1'; Grants for testuser@::1 GRANT USAGE ON *.* TO 'testuser'@'::1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF' GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'::1' -SET @nip= inet_aton('::1'); -SELECT @nip; -@nip -NULL -SELECT inet_ntoa(@nip); -inet_ntoa(@nip) -NULL SELECT USER(); USER() root@localhost @@ -27,6 +20,94 @@ SELECT USER(); USER() root@localhost DROP USER testuser1@'::1'; +SET @nip= inet_aton('::1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip,@nip,@nip,@nip,@nip,@nip); +SELECT inet_ntoa(c1) FROM t1; +inet_ntoa(c1) +NULL +SELECT inet_ntoa(CAST(c1 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c1 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c2) FROM t1; +inet_ntoa(c2) +NULL +SELECT inet_ntoa(CAST(c2 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c2 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c3) FROM t1; +inet_ntoa(c3) +NULL +SELECT inet_ntoa(CAST(c3 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c3 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c4) FROM t1; +inet_ntoa(c4) +NULL +SELECT inet_ntoa(CAST(c4 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c4 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c5) FROM t1; +inet_ntoa(c5) +NULL +SELECT inet_ntoa(CAST(c5 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c5 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c6) FROM t1; +inet_ntoa(c6) +NULL +DROP TABLE IF EXISTS t1; +SELECT @nip; +@nip +NULL +SELECT inet_ntoa(@nip); +inet_ntoa(@nip) +NULL +SET @nip6= inet6_aton('::1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip6,@nip6,@nip6,@nip6,@nip6,@nip6); +Warnings: +Warning 1366 Incorrect integer value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01' for column 'c6' at row 1 +SELECT inet6_ntoa(c1) FROM t1; +inet6_ntoa(c1) +::1 +SELECT inet6_ntoa(CAST(c1 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c1 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c2) FROM t1; +inet6_ntoa(c2) +NULL +SELECT inet6_ntoa(CAST(c2 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c2 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c3) FROM t1; +inet6_ntoa(c3) +::1 +SELECT inet6_ntoa(CAST(c3 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c3 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c4) FROM t1; +inet6_ntoa(c4) +NULL +SELECT inet6_ntoa(CAST(c4 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c4 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c5) FROM t1; +inet6_ntoa(c5) +NULL +SELECT inet6_ntoa(CAST(c5 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c5 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c6) FROM t1; +inet6_ntoa(c6) +NULL +SELECT inet6_ntoa(CAST(c6 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c6 AS BINARY(16))) +3000:: +DROP TABLE IF EXISTS t1; +SELECT inet6_ntoa(@nip6); +inet6_ntoa(@nip6) +::1 =============Test of '::1/128' ==================================== =============Test of '0000:0000:0000:0000:0000:0000:0000:0001' ==== mysqld is alive @@ -36,13 +117,6 @@ SHOW GRANTS FOR testuser@'0000:0000:0000 Grants for testuser@0000:0000:0000:0000:0000:0000:0000:0001 GRANT USAGE ON *.* TO 'testuser'@'0000:0000:0000:0000:0000:0000:0000:0001' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF' GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0000:0000:0000:0000:0000:0000:0000:0001' -SET @nip= inet_aton('0000:0000:0000:0000:0000:0000:0000:0001'); -SELECT @nip; -@nip -NULL -SELECT inet_ntoa(@nip); -inet_ntoa(@nip) -NULL SELECT USER(); USER() root@localhost @@ -57,6 +131,94 @@ SELECT USER(); USER() root@localhost DROP USER testuser1@'0000:0000:0000:0000:0000:0000:0000:0001'; +SET @nip= inet_aton('0000:0000:0000:0000:0000:0000:0000:0001'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip,@nip,@nip,@nip,@nip,@nip); +SELECT inet_ntoa(c1) FROM t1; +inet_ntoa(c1) +NULL +SELECT inet_ntoa(CAST(c1 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c1 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c2) FROM t1; +inet_ntoa(c2) +NULL +SELECT inet_ntoa(CAST(c2 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c2 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c3) FROM t1; +inet_ntoa(c3) +NULL +SELECT inet_ntoa(CAST(c3 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c3 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c4) FROM t1; +inet_ntoa(c4) +NULL +SELECT inet_ntoa(CAST(c4 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c4 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c5) FROM t1; +inet_ntoa(c5) +NULL +SELECT inet_ntoa(CAST(c5 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c5 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c6) FROM t1; +inet_ntoa(c6) +NULL +DROP TABLE IF EXISTS t1; +SELECT @nip; +@nip +NULL +SELECT inet_ntoa(@nip); +inet_ntoa(@nip) +NULL +SET @nip6= inet6_aton('0000:0000:0000:0000:0000:0000:0000:0001'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip6,@nip6,@nip6,@nip6,@nip6,@nip6); +Warnings: +Warning 1366 Incorrect integer value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01' for column 'c6' at row 1 +SELECT inet6_ntoa(c1) FROM t1; +inet6_ntoa(c1) +::1 +SELECT inet6_ntoa(CAST(c1 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c1 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c2) FROM t1; +inet6_ntoa(c2) +NULL +SELECT inet6_ntoa(CAST(c2 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c2 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c3) FROM t1; +inet6_ntoa(c3) +::1 +SELECT inet6_ntoa(CAST(c3 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c3 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c4) FROM t1; +inet6_ntoa(c4) +NULL +SELECT inet6_ntoa(CAST(c4 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c4 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c5) FROM t1; +inet6_ntoa(c5) +NULL +SELECT inet6_ntoa(CAST(c5 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c5 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c6) FROM t1; +inet6_ntoa(c6) +NULL +SELECT inet6_ntoa(CAST(c6 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c6 AS BINARY(16))) +3000:: +DROP TABLE IF EXISTS t1; +SELECT inet6_ntoa(@nip6); +inet6_ntoa(@nip6) +::1 =============Test of '0:0:0:0:0:0:0:1' ============================ mysqld is alive CREATE USER testuser@'0:0:0:0:0:0:0:1' identified by '1234'; @@ -65,13 +227,6 @@ SHOW GRANTS FOR testuser@'0:0:0:0:0:0:0: Grants for testuser@0:0:0:0:0:0:0:1 GRANT USAGE ON *.* TO 'testuser'@'0:0:0:0:0:0:0:1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF' GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0:0:0:0:0:0:1' -SET @nip= inet_aton('0:0:0:0:0:0:0:1'); -SELECT @nip; -@nip -NULL -SELECT inet_ntoa(@nip); -inet_ntoa(@nip) -NULL SELECT USER(); USER() root@localhost @@ -86,3 +241,91 @@ SELECT USER(); USER() root@localhost DROP USER testuser1@'0:0:0:0:0:0:0:1'; +SET @nip= inet_aton('0:0:0:0:0:0:0:1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip,@nip,@nip,@nip,@nip,@nip); +SELECT inet_ntoa(c1) FROM t1; +inet_ntoa(c1) +NULL +SELECT inet_ntoa(CAST(c1 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c1 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c2) FROM t1; +inet_ntoa(c2) +NULL +SELECT inet_ntoa(CAST(c2 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c2 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c3) FROM t1; +inet_ntoa(c3) +NULL +SELECT inet_ntoa(CAST(c3 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c3 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c4) FROM t1; +inet_ntoa(c4) +NULL +SELECT inet_ntoa(CAST(c4 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c4 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c5) FROM t1; +inet_ntoa(c5) +NULL +SELECT inet_ntoa(CAST(c5 AS UNSIGNED)) FROM t1; +inet_ntoa(CAST(c5 AS UNSIGNED)) +NULL +SELECT inet_ntoa(c6) FROM t1; +inet_ntoa(c6) +NULL +DROP TABLE IF EXISTS t1; +SELECT @nip; +@nip +NULL +SELECT inet_ntoa(@nip); +inet_ntoa(@nip) +NULL +SET @nip6= inet6_aton('0:0:0:0:0:0:0:1'); +CREATE TABLE t1 (c1 varbinary(16), c2 varchar(16), c3 binary(16), c4 char(16), c5 long, c6 int); +INSERT INTO t1 VALUES (@nip6,@nip6,@nip6,@nip6,@nip6,@nip6); +Warnings: +Warning 1366 Incorrect integer value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01' for column 'c6' at row 1 +SELECT inet6_ntoa(c1) FROM t1; +inet6_ntoa(c1) +::1 +SELECT inet6_ntoa(CAST(c1 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c1 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c2) FROM t1; +inet6_ntoa(c2) +NULL +SELECT inet6_ntoa(CAST(c2 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c2 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c3) FROM t1; +inet6_ntoa(c3) +::1 +SELECT inet6_ntoa(CAST(c3 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c3 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c4) FROM t1; +inet6_ntoa(c4) +NULL +SELECT inet6_ntoa(CAST(c4 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c4 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c5) FROM t1; +inet6_ntoa(c5) +NULL +SELECT inet6_ntoa(CAST(c5 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c5 AS BINARY(16))) +::1 +SELECT inet6_ntoa(c6) FROM t1; +inet6_ntoa(c6) +NULL +SELECT inet6_ntoa(CAST(c6 AS BINARY(16))) FROM t1; +inet6_ntoa(CAST(c6 AS BINARY(16))) +3000:: +DROP TABLE IF EXISTS t1; +SELECT inet6_ntoa(@nip6); +inet6_ntoa(@nip6) +::1 === modified file 'mysql-test/t/ipv4_as_ipv6.test' --- a/mysql-test/t/ipv4_as_ipv6.test 2010-01-29 10:48:11 +0000 +++ b/mysql-test/t/ipv4_as_ipv6.test 2011-05-03 13:04:00 +0000 @@ -16,31 +16,37 @@ echo =============Test of '127.0.0.1' (I let $IPv6= 127.0.0.1; --source include/ipv6_clients.inc --source include/ipv6.inc +--source include/ipv6_func.inc echo =============Test of '0:0:0:0:0:FFFF:127.0.0.1' ===================; let $IPv6= 0:0:0:0:0:FFFF:127.0.0.1; --source include/ipv6_clients.inc --source include/ipv6.inc +--source include/ipv6_func.inc echo =============Test of '0000:0000:0000:0000:0000:FFFF:127.0.0.1' ====; let $IPv6= 0000:0000:0000:0000:0000:FFFF:127.0.0.1; --source include/ipv6_clients.inc --source include/ipv6.inc +--source include/ipv6_func.inc echo =============Test of '0:0000:0000:0:0000:FFFF:127.0.0.1' ====; let $IPv6= 0:0000:0000:0:0000:FFFF:127.0.0.1; --source include/ipv6_clients.inc --source include/ipv6.inc +--source include/ipv6_func.inc echo =============Test of '0::0000:FFFF:127.0.0.1' ====; let $IPv6= 0::0000:FFFF:127.0.0.1; --source include/ipv6_clients.inc --source include/ipv6.inc +--source include/ipv6_func.inc echo =============Test of '0:0:0:0:0:FFFF:127.0.0.1/96' ================; let $IPv6= 0:0:0:0:0:FFFF:127.0.0.1/96; #--source include/ipv6_clients.inc #--source include/ipv6.inc +--source include/ipv6_func.inc echo =============Test of '::FFFF:127.0.0.1' ===========================; let $IPv6= ::FFFF:127.0.0.1; @@ -51,6 +57,7 @@ echo =============Test of '::FFFF:127.0. let $IPv6= ::FFFF:127.0.0.1/96; #--source include/ipv6_clients.inc #--source include/ipv6.inc +--source include/ipv6_func.inc echo =============Test of '::1' ========================; let $IPv6= ::1; === modified file 'mysql-test/t/ipv6.test' --- a/mysql-test/t/ipv6.test 2010-01-29 10:48:11 +0000 +++ b/mysql-test/t/ipv6.test 2011-05-03 13:04:00 +0000 @@ -16,6 +16,7 @@ echo =============Test of '::1' ======== let $IPv6= ::1; --source include/ipv6_clients.inc --source include/ipv6.inc +--source include/ipv6_func.inc echo =============Test of '::1/128' ====================================; let $IPv6= ::1/128; @@ -26,11 +27,13 @@ echo =============Test of '0000:0000:000 let $IPv6= 0000:0000:0000:0000:0000:0000:0000:0001; --source include/ipv6_clients.inc --source include/ipv6.inc +--source include/ipv6_func.inc echo =============Test of '0:0:0:0:0:0:0:1' ============================; let $IPv6= 0:0:0:0:0:0:0:1; --source include/ipv6_clients.inc --source include/ipv6.inc +--source include/ipv6_func.inc # Wait till all disconnects are completed --source include/wait_until_count_sessions.inc --===============4560345285996878298== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/alexander.nozdrin@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: alexander.nozdrin@stripped\ # xy365zff0vd1fsu9 # target_branch: file:///home/alik/MySQL/bzr/00/wl5787/mysql-trunk-\ # wl5787.2/ # testament_sha1: bbe140c14db12827ca2f66d67a829bca1d54dde8 # timestamp: 2011-05-03 17:04:04 +0400 # base_revision_id: alexander.nozdrin@stripped\ # c59865kipmt0xzj7 # # Begin bundle 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 64OE6gmJiYmJiYmJiYmk2jRk1MmjJqZNGTUyaMmpk0ZMTExdPz4X0BFWS8JCcxo4DWaTc12GYuKm 05/98OThEJOgrKuay4nUBR4zkGEl+unqExTvV+tQ5cQEzgLhE/0RkI/2n3e0V/hWFxHi/r45nTwt 9nPuZWv1exe4eDzf9PvevlLdu2y1fh5uZHIj8MtLtR8JIV6KJ8SQYkUEURQjS6bBFpFCNTosEWkU I3Z3PxlxF5HwFgjsnQ1N6NT3tnRf7cCMyOu2kLpFS0fnJG65HfuO9GL4WTnG1y5dj2pMlm3VJhJw dK3paqYSNTn3O7h1yNEhs9ibV/w1nwkO6bOP4x70ct1skUj2OLhfK6m12erS3duOlvq5pZ4zijoj 3xlfHz1ZvjQNrw1PNGrQ9e48PDz7umtWQx6Xt34V4/6sbU5SpOfSKkOWq07Hd2eXjzxkVWlOgQFD b+Z3yF8jDRA8utLEnHi7puO/U7GUtVgtc1mhM6Bn1JOhLQeYP6R6x7o9XHsnK6Rj5pK+COq9JP2W fo7tHLNQ8xkebo+Zaj3MiUI4l22MV/uOmEwPLOnPY1Z8JFX+qZ+nbJLnLRIeYjbE03E5CkbkyZMm TJkyZMmTJkyZMmTJkyZMmTJkxMmTJkyZMmTJkyZMmTJkyZMmTJkyZN4pOFd3t9nq+MOsIvAu7382 bdfZznNnOZF/EeSyO7+jd5z6v2dzv21xYNo+iPHWnz016SyLamzvXGEZoUj4+xD1rlZzI/ksTXGe iRij1Hk83T/Nwvki2YR47mPR3Y7BjfMU+D1mGmXe2NAza8IjOKS1CuEWREtJqsifeKFkh3mFshAo i8sRozI/gQmbziF2cExGAMgRVkyhYfKdvBwBFX01dDcazAHliRpFnaRk0w3IYCyYo/4Oy6dPNwPJ Gkf29ENqJHO+KliSJw76ipLrk05YTVwxpddJJ2nX6G5vak8Hbrh32ChHNZCWontuI2IojYiongm7 06S3WWGaQchPFTVgRru5tQOXjoJVbgU8QQD2BFXVX0HUi5Leb6HLY1d/V7Jd4Wpwjl04j6bo97xP Buk7M0fzitibZPApNor1SUnti3j2ooeDi8SKLDoW2nZOKCHuZpIGVIwjCwJJT4IqVcuHDsTONEir /Ct+1ayIkkuI0iybVcO27K6S36lyTZ16oj52ou4e7ryTEVFiNS4qLdrJHr4yScEJ9iS3fM1jrh/J kNeo0dN5gZmZ/uQkzYLIl8hfUi75r0mE0EjoSdrzPYdUOG+Q7EuSVOk1203dWB/xdyRThQkOTsty 4A== --===============4560345285996878298==--