Commit b9689712 authored by Anel Husakovic's avatar Anel Husakovic

MDEV-21374: When "--help --verbose" prints out configuration file paths, the...

MDEV-21374: When "--help --verbose" prints out configuration file paths, the --defaults-file option is not considered

* `--defaults-file` option is showed only in `--help --verbose` if
applied
* `--default-extra-file` is showing correctly now in `--help --verbose`,
previously it was treated as a directory with appended `my.cnf`
parent 716161ea
......@@ -10,3 +10,15 @@ Could not open required defaults file: MYSQL_TEST_DIR/with.ext
Fatal error in defaults handling. Program aborted
Could not open required defaults file: MYSQL_TEST_DIR/no_extension
Fatal error in defaults handling. Program aborted
#
# MDEV-21374: When "--help --verbose" prints out configuration file paths,
# the --defaults-file option is not considered
#
# Test on `defaults-file`
Default options are read from the following files in the given order:
MYSQLTEST_VARDIR/my.cnf
The following groups are read: mysqld server mysqld-10.1 mariadb mariadb-10.1 client-server galera
# Test on `defaults-extra-file`
Default options are read from the following files in the given order:
<first-defaults> MYSQLTEST_VARDIR/my_test.cnf ~/.my.cnf
The following groups are read: mysqld server mysqld-10.1 mariadb mariadb-10.1 client-server galera
......@@ -29,3 +29,19 @@ exec $MYSQLD --defaults-file=with.ext --print-defaults 2>&1;
--error 1
exec $MYSQLD --defaults-file=no_extension --print-defaults 2>&1;
--echo #
--echo # MDEV-21374: When "--help --verbose" prints out configuration file paths,
--echo # the --defaults-file option is not considered
--echo #
--echo # Test on `defaults-file`
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
exec $MYSQLD --defaults-file=$MYSQLTEST_VARDIR/my.cnf --help --verbose | grep -A 2 'Default options are read';
--echo # Test on `defaults-extra-file`
# <first-defaults> = `/etc/my.cnf /etc/mysql/my.cnf`
# Using sysconfdir configuration, we don't always have `/etc/mysql/my.cnf`, so replace them with a regex as well.
copy_file $MYSQLTEST_VARDIR/my.cnf $MYSQLTEST_VARDIR/my_test.cnf;
--replace_regex /.*my_test.cnf/<first-defaults> MYSQLTEST_VARDIR\/my_test.cnf/
exec $MYSQLD --defaults-extra-file=$MYSQLTEST_VARDIR/my_test.cnf --help --verbose | grep -A 2 'Default options are read';
remove_file $MYSQLTEST_VARDIR/my_test.cnf;
......@@ -1035,6 +1035,11 @@ void my_print_default_files(const char *conf_file)
char name[FN_REFLEN], **ext;
puts("\nDefault options are read from the following files in the given order:");
if (my_defaults_file)
{
puts(my_defaults_file);
return;
}
if (dirname_length(conf_file))
fputs(conf_file,stdout);
......@@ -1059,7 +1064,12 @@ void my_print_default_files(const char *conf_file)
if (**dirs)
pos= *dirs;
else if (my_defaults_extra_file)
{
pos= my_defaults_extra_file;
fputs(pos, stdout);
fputs(" ", stdout);
continue;
}
else
continue;
end= convert_dirname(name, pos, NullS);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment