From: Date: August 15 2008 2:26pm Subject: bzr commit into mysql-6.0-bugteam branch (ramil:2768) Bug#33702 List-Archive: http://lists.mysql.com/commits/51726 X-Bug: 33702 Message-Id: <200808151226.m7FCQcZZ014806@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit #At file:///home/ram/mysql/mysql-6.0-bugteam/ 2768 Ramil Kalimullin 2008-08-15 Fix for bug #33702: accessing a federated table with a non existing server returns random error code Problem: accessing a federated table through a non existing server leads to wrong error number returned. Fix: return a proper error. modified: mysql-test/r/federated.result mysql-test/t/federated.test storage/federated/ha_federated.cc per-file messages: mysql-test/r/federated.result Fix for bug #33702: accessing a federated table with a non existing server returns random error code - test result. mysql-test/t/federated.test Fix for bug #33702: accessing a federated table with a non existing server returns random error code - test case. storage/federated/ha_federated.cc Fix for bug #33702: accessing a federated table with a non existing server returns random error code - return a proper error number if accessing a federated table through a non existing server. === modified file 'mysql-test/r/federated.result' --- a/mysql-test/r/federated.result 2008-08-15 12:18:06 +0000 +++ b/mysql-test/r/federated.result 2008-08-15 12:26:32 +0000 @@ -2141,6 +2141,8 @@ de abc DROP TABLE federated.t1; DROP TABLE federated.t1; +CREATE TABLE t1 (a INT) ENGINE=federated CONNECTION='foo'; +ERROR HY000: The foreign server name you are trying to reference does not exist. Data source error: server name: 'foo' doesn't exist! End of 6.0 tests DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; === modified file 'mysql-test/t/federated.test' --- a/mysql-test/t/federated.test 2008-08-15 12:18:06 +0000 +++ b/mysql-test/t/federated.test 2008-08-15 12:26:32 +0000 @@ -1884,6 +1884,14 @@ DROP TABLE federated.t1; connection slave; DROP TABLE federated.t1; + +# +# Bug #33702: accessing a federated table with a non existing server returns +# random error code +# +--error 1477 +CREATE TABLE t1 (a INT) ENGINE=federated CONNECTION='foo'; + --echo End of 6.0 tests source include/federated_cleanup.inc; === modified file 'storage/federated/ha_federated.cc' --- a/storage/federated/ha_federated.cc 2008-08-15 12:18:06 +0000 +++ b/storage/federated/ha_federated.cc 2008-08-15 12:26:32 +0000 @@ -573,8 +573,6 @@ int get_connection(MEM_ROOT *mem_root, F get_server_by_name(mem_root, share->connection_string, &server_buffer))) { DBUG_PRINT("info", ("get_server_by_name returned > 0 error condition!")); - /* need to come up with error handling */ - error_num=1; goto error; } DBUG_PRINT("info", ("get_server_by_name returned server at %lx",