summaryrefslogtreecommitdiff
path: root/client/mysql_upgrade.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/mysql_upgrade.c')
-rw-r--r--client/mysql_upgrade.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c
index 6d0e78509a8..6c5ca039a41 100644
--- a/client/mysql_upgrade.c
+++ b/client/mysql_upgrade.c
@@ -43,6 +43,8 @@ static DYNAMIC_STRING ds_args;
static char *opt_password= 0;
static my_bool tty_password= 0;
+static char opt_tmpdir[FN_REFLEN];
+
#ifndef DBUG_OFF
static char *default_dbug_option= (char*) "d:t:O,/tmp/mysql_upgrade.trace";
#endif
@@ -113,6 +115,8 @@ static struct my_option my_long_options[]=
#endif
{"socket", 'S', "Socket file to use for connection.",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
+ {"tmpdir", 't', "Directory for temporary files",
+ 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"user", 'u', "User for login if not current user.", (uchar**) &opt_user,
(uchar**) &opt_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#include <sslopt-longopts.h>
@@ -239,6 +243,11 @@ get_one_option(int optid, const struct my_option *opt,
}
break;
+ case 't':
+ strnmov(opt_tmpdir, argument, sizeof(opt_tmpdir));
+ add_option= FALSE;
+ break;
+
case 'b': /* --basedir */
case 'v': /* --verbose */
case 'd': /* --datadir */
@@ -460,7 +469,7 @@ static int run_query(const char *query, DYNAMIC_STRING *ds_res,
char query_file_path[FN_REFLEN];
DBUG_ENTER("run_query");
DBUG_PRINT("enter", ("query: %s", query));
- if ((fd= create_temp_file(query_file_path, NULL,
+ if ((fd= create_temp_file(query_file_path, opt_tmpdir,
"sql", O_CREAT | O_SHARE | O_RDWR,
MYF(MY_WME))) < 0)
die("Failed to create temporary file for defaults");