summaryrefslogtreecommitdiff
path: root/sql/rpl_rli.cc
diff options
context:
space:
mode:
author <Dao-Gang.Qu@sun.com>2009-11-28 12:43:16 +0800
committer <Dao-Gang.Qu@sun.com>2009-11-28 12:43:16 +0800
commitf6ff4a58108cef656e702284b8d80681d46606cd (patch)
tree71d9102cc17d9bf776e91efe22bac9613970c2d9 /sql/rpl_rli.cc
parent822e0c9b6de805599c4858b95926d9db6957f880 (diff)
downloadmariadb-git-f6ff4a58108cef656e702284b8d80681d46606cd.tar.gz
Bug #43913 rpl_cross_version can't pass on conflicts complainig clash with --slave-load-tm
The 'slave_patternload_file' is assigned to the real path of the load data file when initializing the object of Relay_log_info. But the path of the load data file is not formatted to real path when executing event from relay log. So the error will be encountered if the path of the load data file is a symbolic link. Actually the global 'opt_secure_file_priv' is not formatted to real path when loading data from file. So the same thing will happen too. To fix these errors, the path of the load data file should be formatted to real path when executing event from relay log. And the 'opt_secure_file_priv' should be formatted to real path when loading data infile.
Diffstat (limited to 'sql/rpl_rli.cc')
-rw-r--r--sql/rpl_rli.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/rpl_rli.cc b/sql/rpl_rli.cc
index a9ed736b453..a26717d7acf 100644
--- a/sql/rpl_rli.cc
+++ b/sql/rpl_rli.cc
@@ -105,7 +105,8 @@ int init_relay_log_info(Relay_log_info* rli,
rli->tables_to_lock_count= 0;
char pattern[FN_REFLEN];
- if (fn_format(pattern, PREFIX_SQL_LOAD, slave_load_tmpdir, "",
+ (void) my_realpath(pattern, slave_load_tmpdir, 0);
+ if (fn_format(pattern, PREFIX_SQL_LOAD, pattern, "",
MY_SAFE_PATH | MY_RETURN_REAL_PATH) == NullS)
{
pthread_mutex_unlock(&rli->data_lock);