diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-05-20 23:58:44 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-05-20 23:58:44 +0200 |
commit | 62ab6982a43a99f9da1d4b140111a5db6f377de1 (patch) | |
tree | 4b257e337b83f5251d386453fca7fc981ab27d07 | |
parent | 7e4150d7cd893d8f27276b2304bebb39e909feda (diff) | |
download | mariadb-git-62ab6982a43a99f9da1d4b140111a5db6f377de1.tar.gz |
MDEV-388 Creating a federated table with a non-existing server returns a random error code
-rw-r--r-- | mysql-test/suite/federated/federatedx.result | 7 | ||||
-rw-r--r-- | mysql-test/suite/federated/federatedx.test | 8 | ||||
-rw-r--r-- | storage/federated/ha_federated.cc | 2 | ||||
-rw-r--r-- | storage/federatedx/ha_federatedx.cc | 2 |
4 files changed, 17 insertions, 2 deletions
diff --git a/mysql-test/suite/federated/federatedx.result b/mysql-test/suite/federated/federatedx.result index 2ece1a32b4f..af34af05e7d 100644 --- a/mysql-test/suite/federated/federatedx.result +++ b/mysql-test/suite/federated/federatedx.result @@ -2157,6 +2157,13 @@ DROP TABLE federated.t1; End of 5.1 tests SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT; SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT; +CREATE TABLE t1 (a INT) ENGINE=FEDERATED CONNECTION='non_existing'; +ERROR HY000: Can't create/write to file 'server name: 'non_existing' doesn't exist!' (Errcode: 16) +SHOW WARNINGS; +Level Code Message +Error 1 Can't create/write to file 'server name: 'non_existing' doesn't exist!' (Errcode: 16) +Error 1 Can't create/write to file 'non_existing' (Errcode: 14) +Error 1005 Can't create table 'test.t1' (errno: 1) DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; DROP TABLE IF EXISTS federated.t1; diff --git a/mysql-test/suite/federated/federatedx.test b/mysql-test/suite/federated/federatedx.test index 15fdd47c4da..688893bb856 100644 --- a/mysql-test/suite/federated/federatedx.test +++ b/mysql-test/suite/federated/federatedx.test @@ -1999,4 +1999,12 @@ connection slave; SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT; connection default; + +# +# MDEV-388 Creating a federated table with a non-existing server returns a random error code +# +--error 1 +CREATE TABLE t1 (a INT) ENGINE=FEDERATED CONNECTION='non_existing'; +SHOW WARNINGS; + source include/federated_cleanup.inc; diff --git a/storage/federated/ha_federated.cc b/storage/federated/ha_federated.cc index 55394e859c5..40b8d3d24d9 100644 --- a/storage/federated/ha_federated.cc +++ b/storage/federated/ha_federated.cc @@ -587,7 +587,7 @@ static int parse_url_error(FEDERATED_SHARE *share, TABLE *table, int error_num) buf_len= min(table->s->connect_string.length, FEDERATED_QUERY_BUFFER_SIZE-1); strmake(buf, table->s->connect_string.str, buf_len); - my_error(error_num, MYF(0), buf); + my_error(error_num, MYF(0), buf, 14); DBUG_RETURN(error_num); } diff --git a/storage/federatedx/ha_federatedx.cc b/storage/federatedx/ha_federatedx.cc index eb4d7f11d33..2d6ae6ccc4d 100644 --- a/storage/federatedx/ha_federatedx.cc +++ b/storage/federatedx/ha_federatedx.cc @@ -525,7 +525,7 @@ static int parse_url_error(FEDERATEDX_SHARE *share, TABLE *table, int error_num) buf_len= min(table->s->connect_string.length, FEDERATEDX_QUERY_BUFFER_SIZE-1); strmake(buf, table->s->connect_string.str, buf_len); - my_error(error_num, MYF(0), buf); + my_error(error_num, MYF(0), buf, 14); DBUG_RETURN(error_num); } |