Merge stella.local:/home2/mydev/mysql-5.0-axmrg
into stella.local:/home2/mydev/mysql-5.1-axmrg
This commit is contained in:
commit
0eff6e7be5
@ -2090,6 +2090,8 @@ a b
|
|||||||
1 1
|
1 1
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (a INT) ENGINE=federated CONNECTION='mysql://@:://';
|
||||||
|
DROP TABLE t1;
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
DROP TABLE IF EXISTS federated.t1;
|
DROP TABLE IF EXISTS federated.t1;
|
||||||
DROP DATABASE IF EXISTS federated;
|
DROP DATABASE IF EXISTS federated;
|
||||||
|
@ -1816,5 +1816,17 @@ DROP TABLE t1;
|
|||||||
connection slave;
|
connection slave;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#34788 - malformed federated connection url is not handled correctly -
|
||||||
|
# crashes server !
|
||||||
|
#
|
||||||
|
# also tests
|
||||||
|
#
|
||||||
|
# BUG#35509 - Federated leaks memory when connecting to localhost/default
|
||||||
|
# port
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a INT) ENGINE=federated CONNECTION='mysql://@:://';
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
source include/federated_cleanup.inc;
|
source include/federated_cleanup.inc;
|
||||||
|
@ -794,9 +794,9 @@ static int parse_url(MEM_ROOT *mem_root, FEDERATED_SHARE *share, TABLE *table,
|
|||||||
goto error;
|
goto error;
|
||||||
/*
|
/*
|
||||||
Found that if the string is:
|
Found that if the string is:
|
||||||
user:@hostname:port/db/table
|
user:@hostname:port/db/table
|
||||||
Then password is a null string, so set to NULL
|
Then password is a null string, so set to NULL
|
||||||
*/
|
*/
|
||||||
if ((share->password[0] == '\0'))
|
if ((share->password[0] == '\0'))
|
||||||
share->password= NULL;
|
share->password= NULL;
|
||||||
}
|
}
|
||||||
@ -833,14 +833,21 @@ Then password is a null string, so set to NULL
|
|||||||
if ((strchr(share->table_name, '/')))
|
if ((strchr(share->table_name, '/')))
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
/*
|
||||||
|
If hostname is omitted, we set it to NULL. According to
|
||||||
|
mysql_real_connect() manual:
|
||||||
|
The value of host may be either a hostname or an IP address.
|
||||||
|
If host is NULL or the string "localhost", a connection to the
|
||||||
|
local host is assumed.
|
||||||
|
*/
|
||||||
if (share->hostname[0] == '\0')
|
if (share->hostname[0] == '\0')
|
||||||
share->hostname= NULL;
|
share->hostname= NULL;
|
||||||
|
|
||||||
}
|
}
|
||||||
if (!share->port)
|
if (!share->port)
|
||||||
{
|
{
|
||||||
if (strcmp(share->hostname, my_localhost) == 0)
|
if (!share->hostname || strcmp(share->hostname, my_localhost) == 0)
|
||||||
share->socket= (char *) MYSQL_UNIX_ADDR;
|
share->socket= (char*) MYSQL_UNIX_ADDR;
|
||||||
else
|
else
|
||||||
share->port= MYSQL_PORT;
|
share->port= MYSQL_PORT;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user