From bd4c6d9b8ccf5f8a3f8f743dde1c882506e08c7c Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Fri, 30 May 2008 13:21:45 +0300 Subject: [PATCH 1/4] Bug#37069: Make federated disabled by default The federated storage engine is now disabled by default. mysql-test-run.pl is updated to enable it whenever it's required and available. --- mysql-test/lib/mtr_cases.pl | 9 +++++++++ sql/sql_plugin.cc | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/mysql-test/lib/mtr_cases.pl b/mysql-test/lib/mtr_cases.pl index 2ca2669eb7f..4b0fad0f818 100644 --- a/mysql-test/lib/mtr_cases.pl +++ b/mysql-test/lib/mtr_cases.pl @@ -773,6 +773,13 @@ sub collect_one_test_case($$$$$$$$$) { if ( $::used_default_engine =~ /^innodb/i ); } + #enable federated for this test + if ($tinfo->{'federated_test'}) + { + push(@{$tinfo->{'master_opt'}}, "--loose-federated"); + push(@{$tinfo->{'slave_opt'}}, "--loose-federated"); + } + if ( $tinfo->{'big_test'} and ! $::opt_big_test ) { $tinfo->{'skip'}= 1; @@ -891,6 +898,8 @@ our @tags= ["include/have_ndb_extra.inc", "ndb_extra", 1], ["include/ndb_master-slave.inc", "ndb_test", 1], ["require_manager", "require_manager", 1], + ["include/federated.inc", "federated_test", 1], + ["include/have_federated_db.inc", "federated_test", 1], ); sub mtr_options_from_test_file($$) { diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index 811b82ebe05..0fe79a8945d 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -1137,9 +1137,10 @@ int plugin_init(int *argc, char **argv, int flags) { for (plugin= *builtins; plugin->info; plugin++) { - /* by default, only ndbcluster is disabled */ + /* by default, ndbcluster and federated are disabled */ def_enabled= - my_strcasecmp(&my_charset_latin1, plugin->name, "NDBCLUSTER") != 0; + my_strcasecmp(&my_charset_latin1, plugin->name, "NDBCLUSTER") != 0 && + my_strcasecmp(&my_charset_latin1, plugin->name, "FEDERATED") != 0; bzero(&tmp, sizeof(tmp)); tmp.plugin= plugin; tmp.name.str= (char *)plugin->name; From 9bc98e8df2a96e1324092cf65e8c6300c9a9ad1e Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Tue, 3 Jun 2008 13:12:37 +0300 Subject: [PATCH 2/4] Bug#37069 (5.0): implement --skip-federated --- mysql-test/r/federated_disabled.result | 0 mysql-test/t/federated_disabled-master.opt | 1 + mysql-test/t/federated_disabled.test | 3 +++ sql/mysqld.cc | 16 ++++++++++++++-- 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 mysql-test/r/federated_disabled.result create mode 100644 mysql-test/t/federated_disabled-master.opt create mode 100644 mysql-test/t/federated_disabled.test diff --git a/mysql-test/r/federated_disabled.result b/mysql-test/r/federated_disabled.result new file mode 100644 index 00000000000..e69de29bb2d diff --git a/mysql-test/t/federated_disabled-master.opt b/mysql-test/t/federated_disabled-master.opt new file mode 100644 index 00000000000..4f2df1dd301 --- /dev/null +++ b/mysql-test/t/federated_disabled-master.opt @@ -0,0 +1 @@ +--skip-federated diff --git a/mysql-test/t/federated_disabled.test b/mysql-test/t/federated_disabled.test new file mode 100644 index 00000000000..99fcad76828 --- /dev/null +++ b/mysql-test/t/federated_disabled.test @@ -0,0 +1,3 @@ +source include/federated.inc; + +SHOW VARIABLES LIKE 'have_federated_engine'; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index c239530f2fc..cdae94f0a61 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -328,7 +328,7 @@ static bool lower_case_table_names_used= 0; static bool volatile select_thread_in_use, signal_thread_in_use; static bool volatile ready_to_exit; static my_bool opt_debugging= 0, opt_external_locking= 0, opt_console= 0; -static my_bool opt_bdb, opt_isam, opt_ndbcluster, opt_merge; +static my_bool opt_bdb, opt_isam, opt_ndbcluster, opt_merge, opt_federated; static my_bool opt_short_log_format= 0; static uint kill_cached_threads, wake_thread; static ulong killed_threads, thread_created; @@ -4989,7 +4989,8 @@ enum options_mysqld OPT_INNODB_ROLLBACK_ON_TIMEOUT, OPT_SECURE_FILE_PRIV, OPT_KEEP_FILES_ON_CREATE, - OPT_INNODB_ADAPTIVE_HASH_INDEX + OPT_INNODB_ADAPTIVE_HASH_INDEX, + OPT_FEDERATED }; @@ -5175,6 +5176,9 @@ Disable with --skip-external-locking.", 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"flush", OPT_FLUSH, "Flush tables to disk between SQL commands.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, + {"federated", OPT_FEDERATED, "Enable Federated storage engine. Disable with \ +--skip-federated.", + (gptr*) &opt_federated, (gptr*) &opt_federated, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0}, /* We must always support the next option to make scripts like mysqltest easier to do */ {"gdb", OPT_DEBUGGING, @@ -7322,6 +7326,14 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), else have_merge_db= SHOW_OPTION_DISABLED; break; +#ifdef HAVE_FEDERATED_DB + case OPT_FEDERATED: + if (opt_federated) + have_federated_db= SHOW_OPTION_YES; + else + have_federated_db= SHOW_OPTION_DISABLED; + break; +#endif #ifdef HAVE_BERKELEY_DB case OPT_BDB_NOSYNC: /* Deprecated option */ From 5e9ce4799283e80c49b821a777afaadf72615297 Mon Sep 17 00:00:00 2001 From: mysqldev Date: Tue, 10 Jun 2008 14:25:21 +0200 Subject: [PATCH 3/4] Raise version number after cloning 5.0.64 --- configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index db14982840d..247a17da940 100644 --- a/configure.in +++ b/configure.in @@ -7,7 +7,7 @@ AC_INIT(sql/mysqld.cc) AC_CANONICAL_SYSTEM # The Docs Makefile.am parses this line! # remember to also change ndb version below and update version.c in ndb -AM_INIT_AUTOMAKE(mysql, 5.0.64) +AM_INIT_AUTOMAKE(mysql, 5.0.66) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 @@ -23,7 +23,7 @@ NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0 # ndb version NDB_VERSION_MAJOR=5 NDB_VERSION_MINOR=0 -NDB_VERSION_BUILD=64 +NDB_VERSION_BUILD=66 NDB_VERSION_STATUS="" # Set all version vars based on $VERSION. How do we do this more elegant ? From d6700c7e5ac95b809f3eaac7b33178864db11c97 Mon Sep 17 00:00:00 2001 From: Hakan Kuecuekyilmaz Date: Mon, 16 Jun 2008 10:05:00 +0200 Subject: [PATCH 4/4] Fix for Bug#16902. --- mysys/errors.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysys/errors.c b/mysys/errors.c index 857de1325d4..1c13255a616 100644 --- a/mysys/errors.c +++ b/mysys/errors.c @@ -74,7 +74,7 @@ void init_glob_errs() EE(EE_STAT) = "Can't get stat of '%s' (Errcode: %d)"; EE(EE_CANT_CHSIZE) = "Can't change size of file (Errcode: %d)"; EE(EE_CANT_OPEN_STREAM)= "Can't open stream from handle (Errcode: %d)"; - EE(EE_GETWD) = "Can't get working dirctory (Errcode: %d)"; + EE(EE_GETWD) = "Can't get working directory (Errcode: %d)"; EE(EE_SETWD) = "Can't change dir to '%s' (Errcode: %d)"; EE(EE_LINK_WARNING) = "Warning: '%s' had %d links"; EE(EE_OPEN_WARNING) = "%d files and %d streams is left open\n";