1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-02 09:41:40 +03:00

Merge mysql.com:/home/svoj/devel/mysql/push/mysql-5.0-engines

into  mysql.com:/home/svoj/devel/mysql/push/mysql-5.1-engines


mysql-test/r/federated.result:
  Manual merge.
mysql-test/t/federated.test:
  Manual merge.
storage/federated/ha_federated.cc:
  Manual merge.
This commit is contained in:
unknown
2008-03-21 12:43:14 +04:00
3 changed files with 17 additions and 1 deletions

View File

@@ -2090,6 +2090,8 @@ a b
1 1
DROP TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 (a INT) ENGINE=federated CONNECTION='mysql://@:://';
DROP TABLE t1;
End of 5.1 tests
DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated;

View File

@@ -1816,5 +1816,12 @@ DROP TABLE t1;
connection slave;
DROP TABLE t1;
#
# BUG#34788 - malformed federated connection url is not handled correctly -
# crashes server !
#
CREATE TABLE t1 (a INT) ENGINE=federated CONNECTION='mysql://@:://';
DROP TABLE t1;
--echo End of 5.1 tests
source include/federated_cleanup.inc;

View File

@@ -833,13 +833,20 @@ Then password is a null string, so set to NULL
if ((strchr(share->table_name, '/')))
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')
share->hostname= NULL;
}
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;
else
share->port= MYSQL_PORT;