From: Alexander Nozdrin Date: April 20 2011 11:07am Subject: bzr commit into mysql-trunk branch (alexander.nozdrin:3330) WL#5787 List-Archive: http://lists.mysql.com/commits/135792 Message-Id: <201104201107.p3KB7t18029412@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6138979284290157516==" --===============6138979284290157516== 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-stage-wl5787/ based on revid:alexander.nozdrin@stripped 3330 Alexander Nozdrin 2011-04-20 MTR tests for QA sign off of wl#5787. added: mysql-test/include/ipv6_func.inc 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-04-20 11:07:46 +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 === added file 'mysql-test/include/ipv6_func.inc' --- a/mysql-test/include/ipv6_func.inc 1970-01-01 00:00:00 +0000 +++ b/mysql-test/include/ipv6_func.inc 2011-04-20 11:07:46 +0000 @@ -0,0 +1,36 @@ +eval SET @nip= inet_aton('$IPv6'); +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; +SELECT inet_ntoa(CAST(c1 AS UNSIGNED)) FROM t1; +SELECT inet_ntoa(c2) FROM t1; +SELECT inet_ntoa(CAST(c2 AS UNSIGNED)) FROM t1; +SELECT inet_ntoa(c3) FROM t1; +SELECT inet_ntoa(CAST(c3 AS UNSIGNED)) FROM t1; +SELECT inet_ntoa(c4) FROM t1; +SELECT inet_ntoa(CAST(c4 AS UNSIGNED)) FROM t1; +SELECT inet_ntoa(c5) FROM t1; +SELECT inet_ntoa(CAST(c5 AS UNSIGNED)) FROM t1; +SELECT inet_ntoa(c6) FROM t1; +DROP TABLE IF EXISTS t1; +SELECT @nip; +SELECT inet_ntoa(@nip); + +eval SET @nip6= inet6_aton('$IPv6'); +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; +SELECT inet6_ntoa(CAST(c1 AS BINARY(16))) FROM t1; +SELECT inet6_ntoa(c2) FROM t1; +SELECT inet6_ntoa(CAST(c2 AS BINARY(16))) FROM t1; +SELECT inet6_ntoa(c3) FROM t1; +SELECT inet6_ntoa(CAST(c3 AS BINARY(16))) FROM t1; +SELECT inet6_ntoa(c4) FROM t1; +SELECT inet6_ntoa(CAST(c4 AS BINARY(16))) FROM t1; +SELECT inet6_ntoa(c5) FROM t1; +SELECT inet6_ntoa(CAST(c5 AS BINARY(16))) FROM t1; +SELECT inet6_ntoa(c6) FROM t1; +SELECT inet6_ntoa(CAST(c6 AS BINARY(16))) FROM t1; +DROP TABLE IF EXISTS t1; +SELECT inet6_ntoa(@nip6); + === 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-04-20 11:07:46 +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-04-20 11:07:46 +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-04-20 11:07:46 +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-04-20 11:07:46 +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 --===============6138979284290157516== 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\ # aen3x3t0sm7wteyz # target_branch: file:///home/alik/MySQL/bzr/00/wl5787/mysql-trunk-\ # stage-wl5787/ # testament_sha1: 632fc61d46457490c45c4430d93e06a732372250 # timestamp: 2011-04-20 15:07:50 +0400 # base_revision_id: alexander.nozdrin@stripped\ # ycqssy68togcqz6v # # Begin bundle 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 --===============6138979284290157516==--