summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2019-06-02 11:47:36 +0300
committerMonty <monty@mariadb.org>2019-06-03 15:06:51 +0300
commit76f14be10f5e6cebf44a93e48673930fdeb50442 (patch)
tree56403d7cd7bc309f6c121476021318c1d3961607
parent2d89a70facaf9c9f71bad1c805c44b625b0f607d (diff)
downloadmariadb-git-76f14be10f5e6cebf44a93e48673930fdeb50442.tar.gz
Ensure that tests and programs can restore variables
- --default-character-set can now be disabled in mysqldump - --skip-resolve can be be disabled in mysqld - mysql_client_test now resets global variables it changes - mtr couldn't handle [mysqldump] in config files (wrong regexp used)
-rw-r--r--client/mysqldump.c4
-rw-r--r--mysql-test/lib/My/ConfigFactory.pm6
-rw-r--r--sql/mysqld.cc6
-rw-r--r--tests/mysql_client_test.c30
4 files changed, 35 insertions, 11 deletions
diff --git a/client/mysqldump.c b/client/mysqldump.c
index 2195786e7ea..b9ff8caed8c 100644
--- a/client/mysqldump.c
+++ b/client/mysqldump.c
@@ -967,6 +967,10 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
exit(1);
}
break;
+ case (int) OPT_DEFAULT_CHARSET:
+ if (default_charset == disabled_my_option)
+ default_charset= (char *)mysql_universal_client_charset;
+ break;
}
return 0;
}
diff --git a/mysql-test/lib/My/ConfigFactory.pm b/mysql-test/lib/My/ConfigFactory.pm
index cae2c8c33e5..6d4c7f43390 100644
--- a/mysql-test/lib/My/ConfigFactory.pm
+++ b/mysql-test/lib/My/ConfigFactory.pm
@@ -311,7 +311,7 @@ sub post_check_client_groups {
$first_mysqld->name());
# Then generate [client.<suffix>] for each [mysqld.<suffix>]
- foreach my $mysqld ( $config->like('mysqld.') ) {
+ foreach my $mysqld ( $config->like('mysqld\.') ) {
$self->post_check_client_group($config,
'client'.$mysqld->after('mysqld'),
$mysqld->name())
@@ -333,7 +333,7 @@ sub post_check_embedded_group {
my $mysqld= $config->group('mysqld') or
croak "Can't run with embedded, config has no default mysqld section";
- my $first_mysqld= $config->first_like('mysqld.') or
+ my $first_mysqld= $config->first_like('mysqld\.') or
croak "Can't run with embedded, config has no mysqld";
my %no_copy = map { $_ => 1 }
@@ -457,7 +457,7 @@ sub new_config {
}
$self->run_section_rules($config,
- 'mysqld.',
+ 'mysqld\.',
@mysqld_rules);
# [mysqlbinlog] need additional settings
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 263a9b4645a..60dce5a7ff3 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -9254,8 +9254,10 @@ mysqld_get_one_option(int optid, const struct my_option *opt, char *argument)
opt_specialflag|= SPECIAL_NO_HOST_CACHE;
break;
case (int) OPT_SKIP_RESOLVE:
- opt_skip_name_resolve= 1;
- opt_specialflag|=SPECIAL_NO_RESOLVE;
+ if ((opt_skip_name_resolve= (argument != disabled_my_option)))
+ opt_specialflag|= SPECIAL_NO_RESOLVE;
+ else
+ opt_specialflag&= ~SPECIAL_NO_RESOLVE;
break;
case (int) OPT_WANT_CORE:
test_flags |= TEST_CORE_ON_SIGNAL;
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c
index 04717f1946b..c544e20f2fe 100644
--- a/tests/mysql_client_test.c
+++ b/tests/mysql_client_test.c
@@ -2341,6 +2341,12 @@ static void test_ps_query_cache()
"(2, 'hh', 'hh'), (1, 'ii', 'ii'), (2, 'ii', 'ii')");
myquery(rc);
+ rc= mysql_query(mysql,
+ "set @save_query_cache_type="
+ "@@global.query_cache_type,"
+ "@save_query_cache_size="
+ "@@global.query_cache_size");
+ myquery(rc);
rc= mysql_query(lmysql, "set global query_cache_type=ON");
myquery(rc);
rc= mysql_query(lmysql, "set local query_cache_type=ON");
@@ -2497,9 +2503,9 @@ static void test_ps_query_cache()
if (lmysql != mysql)
mysql_close(lmysql);
- rc= mysql_query(mysql, "set global query_cache_size=default");
+ rc= mysql_query(mysql, "set global query_cache_size=@save_query_cache_size");
myquery(rc);
- rc= mysql_query(mysql, "set global query_cache_type=default");
+ rc= mysql_query(mysql, "set global query_cache_type=@save_query_cache_type");
myquery(rc);
}
@@ -13364,6 +13370,12 @@ static void test_open_cursor_prepared_statement_query_cache()
return;
}
+ rc= mysql_query(mysql,
+ "set @save_query_cache_type="
+ "@@global.query_cache_type,"
+ "@save_query_cache_size="
+ "@@global.query_cache_size");
+ myquery(rc);
rc= mysql_query(mysql, "set global query_cache_type=ON");
myquery(rc);
rc= mysql_query(mysql, "set local query_cache_type=ON");
@@ -13390,9 +13402,9 @@ static void test_open_cursor_prepared_statement_query_cache()
check_execute(stmt, rc);
mysql_stmt_close(stmt);
- rc= mysql_query(mysql, "set global query_cache_type=default");
+ rc= mysql_query(mysql, "set global query_cache_type=@save_query_cache_type");
myquery(rc);
- rc= mysql_query(mysql, "set global query_cache_size=default");
+ rc= mysql_query(mysql, "set global query_cache_size=@save_query_cache_size");
myquery(rc);
}
@@ -18177,6 +18189,12 @@ static void test_bug36326()
myquery(rc);
rc= mysql_query(mysql, "INSERT INTO t1 VALUES (1)");
myquery(rc);
+ rc= mysql_query(mysql,
+ "set @save_query_cache_type="
+ "@@global.query_cache_type,"
+ "@save_query_cache_size="
+ "@@global.query_cache_size");
+ myquery(rc);
rc= mysql_query(mysql, "SET GLOBAL query_cache_type = 1");
myquery(rc);
rc= mysql_query(mysql, "SET LOCAL query_cache_type = 1");
@@ -18204,8 +18222,8 @@ static void test_bug36326()
DIE_UNLESS(rc == 1);
rc= mysql_query(mysql, "DROP TABLE t1");
myquery(rc);
- rc= mysql_query(mysql, "SET GLOBAL query_cache_size = default");
- rc= mysql_query(mysql, "SET GLOBAL query_cache_type = default");
+ rc= mysql_query(mysql, "SET GLOBAL query_cache_size = @save_query_cache_size");
+ rc= mysql_query(mysql, "SET GLOBAL query_cache_type = @save_query_cache_type");
myquery(rc);
DBUG_VOID_RETURN;