Skip to content

Commit

Permalink
Merge branch '10.0' into 10.1
Browse files Browse the repository at this point in the history
  • Loading branch information
vuvova committed Dec 21, 2015
2 parents 1788bfe + 4fdf25a commit a2bcee6
Show file tree
Hide file tree
Showing 3,462 changed files with 635,147 additions and 221,404 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
52 changes: 26 additions & 26 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -166,32 +166,32 @@ storage/myisam/myisamlog
storage/myisam/myisampack
storage/myisam/rt_test
storage/myisam/sp_test
storage/tokudb/ft-index/buildheader/db.h
storage/tokudb/ft-index/buildheader/make_tdb
storage/tokudb/ft-index/buildheader/runcat.sh
storage/tokudb/ft-index/ft/log_code.cc
storage/tokudb/ft-index/ft/log_header.h
storage/tokudb/ft-index/ft/log_print.cc
storage/tokudb/ft-index/ft/logformat
storage/tokudb/ft-index/ft/ftverify
storage/tokudb/ft-index/ft/tdb-recover
storage/tokudb/ft-index/ft/tokuftdump
storage/tokudb/ft-index/portability/merge_archives_tokuportability_static.cmake
storage/tokudb/ft-index/portability/toku_config.h
storage/tokudb/ft-index/portability/tokuportability_static_depends.cc
storage/tokudb/ft-index/src/merge_archives_tokufractaltree_static.cmake
storage/tokudb/ft-index/src/tokufractaltree_static_depends.cc
storage/tokudb/ft-index/toku_include/toku_config.h
storage/tokudb/ft-index/tools/ba_replay
storage/tokudb/ft-index/tools/ftverify
storage/tokudb/ft-index/tools/tdb-recover
storage/tokudb/ft-index/tools/tdb_logprint
storage/tokudb/ft-index/tools/tokudb_dump
storage/tokudb/ft-index/tools/tokudb_gen
storage/tokudb/ft-index/tools/tokudb_load
storage/tokudb/ft-index/tools/tokuftdump
storage/tokudb/ft-index/tools/tokuft_logprint
storage/tokudb/ft-index/xz/
storage/tokudb/PerconaFT/buildheader/db.h
storage/tokudb/PerconaFT/buildheader/make_tdb
storage/tokudb/PerconaFT/buildheader/runcat.sh
storage/tokudb/PerconaFT/ft/log_code.cc
storage/tokudb/PerconaFT/ft/log_header.h
storage/tokudb/PerconaFT/ft/log_print.cc
storage/tokudb/PerconaFT/ft/logformat
storage/tokudb/PerconaFT/ft/ftverify
storage/tokudb/PerconaFT/ft/tdb-recover
storage/tokudb/PerconaFT/ft/tokuftdump
storage/tokudb/PerconaFT/portability/merge_archives_tokuportability_static.cmake
storage/tokudb/PerconaFT/portability/toku_config.h
storage/tokudb/PerconaFT/portability/tokuportability_static_depends.cc
storage/tokudb/PerconaFT/snappy/
storage/tokudb/PerconaFT/src/merge_archives_tokufractaltree_static.cmake
storage/tokudb/PerconaFT/src/tokufractaltree_static_depends.cc
storage/tokudb/PerconaFT/toku_include/toku_config.h
storage/tokudb/PerconaFT/tools/ba_replay
storage/tokudb/PerconaFT/tools/ftverify
storage/tokudb/PerconaFT/tools/tdb-recover
storage/tokudb/PerconaFT/tools/tokudb_dump
storage/tokudb/PerconaFT/tools/tokudb_gen
storage/tokudb/PerconaFT/tools/tokudb_load
storage/tokudb/PerconaFT/tools/tokuftdump
storage/tokudb/PerconaFT/tools/tokuft_logprint
storage/tokudb/PerconaFT/xz/
support-files/MySQL-shared-compat.spec
support-files/binary-configure
support-files/config.huge.ini
Expand Down
10 changes: 8 additions & 2 deletions client/mysql_plugin.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -404,7 +404,7 @@ static int get_default_values()
static void usage(void)
{
PRINT_VERSION;
puts("Copyright (c) 2011, Oracle and/or its affiliates. "
puts("Copyright (c) 2011, 2015, Oracle and/or its affiliates. "
"All rights reserved.\n");
puts("Enable or disable plugins.");
printf("\nUsage: %s [options] <plugin> ENABLE|DISABLE\n\nOptions:\n",
Expand Down Expand Up @@ -755,6 +755,11 @@ static int check_options(int argc, char **argv, char *operation)
/* read the plugin config file and check for match against argument */
else
{
if (strlen(argv[i]) + 4 + 1 > FN_REFLEN)
{
fprintf(stderr, "ERROR: argument is too long.\n");
return 1;
}
strcpy(plugin_name, argv[i]);
strcpy(config_file, argv[i]);
strcat(config_file, ".ini");
Expand Down Expand Up @@ -846,6 +851,7 @@ static int process_options(int argc, char *argv[], char *operation)
if (opt_basedir[i-1] != FN_LIBCHAR || opt_basedir[i-1] != FN_LIBCHAR2)
{
char buff[FN_REFLEN];
memset(buff, 0, sizeof(buff));

strncpy(buff, opt_basedir, sizeof(buff) - 1);
#ifdef __WIN__
Expand Down
92 changes: 51 additions & 41 deletions client/mysql_upgrade.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ static DYNAMIC_STRING conn_args;
static char *opt_password= 0;
static char *opt_plugin_dir= 0, *opt_default_auth= 0;

static char *cnf_file_path= 0, defaults_file[FN_REFLEN + 32];

static my_bool tty_password= 0;

static char opt_tmpdir[FN_REFLEN] = "";
Expand Down Expand Up @@ -111,6 +113,7 @@ static struct my_option my_long_options[]=
&opt_force, &opt_force, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"host", 'h', "Connect to host.", 0,
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#define PASSWORD_OPT 12
{"password", 'p',
"Password to use when connecting to server. If password is not given,"
" it's solicited on the tty.", &opt_password,&opt_password,
Expand Down Expand Up @@ -147,6 +150,7 @@ static struct my_option my_long_options[]=
{"upgrade-system-tables", 's', "Only upgrade the system tables in the mysql database. Tables in other databases are not checked or touched.",
&opt_systables_only, &opt_systables_only, 0,
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
#define USER_OPT (array_elements(my_long_options) - 6)
{"user", 'u', "User for login if not current user.", &opt_user,
&opt_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"verbose", 'v', "Display more output about the process; Using it twice will print connection argument; Using it 3 times will print out all CHECK, RENAME and ALTER TABLE during the check phase.",
Expand Down Expand Up @@ -184,6 +188,8 @@ static void free_used_memory(void)

dynstr_free(&ds_args);
dynstr_free(&conn_args);
if (cnf_file_path)
my_delete(cnf_file_path, MYF(MY_WME));
}


Expand Down Expand Up @@ -235,31 +241,32 @@ static void verbose(const char *fmt, ...)
this way we pass the same arguments on to mysql and mysql_check
*/

static void add_one_option(DYNAMIC_STRING* ds,
const struct my_option *opt,
const char* argument)

static void add_one_option_cmd_line(DYNAMIC_STRING *ds,
const struct my_option *opt,
const char* arg)
{
const char* eq= NullS;
const char* arg= NullS;
if (opt->arg_type != NO_ARG)
dynstr_append(ds, "--");
dynstr_append(ds, opt->name);
if (arg)
{
eq= "=";
switch (opt->var_type & GET_TYPE_MASK) {
case GET_STR:
arg= argument;
break;
case GET_BOOL:
arg= (*(my_bool *)opt->value) ? "1" : "0";
break;
default:
die("internal error at %s: %d",__FILE__, __LINE__);
}
dynstr_append(ds, "=");
dynstr_append_os_quoted(ds, arg, NullS);
}
dynstr_append_os_quoted(ds, "--", opt->name, eq, arg, NullS);
dynstr_append(ds, " ");
}

static void add_one_option_cnf_file(DYNAMIC_STRING *ds,
const struct my_option *opt,
const char* arg)
{
dynstr_append(ds, opt->name);
if (arg)
{
dynstr_append(ds, "=");
dynstr_append_os_quoted(ds, arg, NullS);
}
dynstr_append(ds, "\n");
}

static my_bool
get_one_option(int optid, const struct my_option *opt,
Expand Down Expand Up @@ -290,16 +297,17 @@ get_one_option(int optid, const struct my_option *opt,
case 'p':
if (argument == disabled_my_option)
argument= (char*) ""; /* Don't require password */
tty_password= 1;
add_option= FALSE;
if (argument)
{
/* Add password to ds_args before overwriting the arg with x's */
add_one_option(&ds_args, opt, argument);
add_one_option_cnf_file(&ds_args, opt, argument);
while (*argument)
*argument++= 'x'; /* Destroy argument */
tty_password= 0;
}
else
tty_password= 1;
break;

case 't':
Expand Down Expand Up @@ -346,18 +354,18 @@ get_one_option(int optid, const struct my_option *opt,
case OPT_SHARED_MEMORY_BASE_NAME: /* --shared-memory-base-name */
case OPT_PLUGIN_DIR: /* --plugin-dir */
case OPT_DEFAULT_AUTH: /* --default-auth */
add_one_option(&conn_args, opt, argument);
add_one_option_cmd_line(&conn_args, opt, argument);
break;
}

if (add_option)
{
/*
This is an option that is accpted by mysql_upgrade just so
This is an option that is accepted by mysql_upgrade just so
it can be passed on to "mysql" and "mysqlcheck"
Save it in the ds_args string
*/
add_one_option(&ds_args, opt, argument);
add_one_option_cnf_file(&ds_args, opt, argument);
}
return 0;
}
Expand Down Expand Up @@ -420,11 +428,8 @@ static int run_tool(char *tool_path, DYNAMIC_STRING *ds_res, ...)

while ((arg= va_arg(args, char *)))
{
/* Options should be os quoted */
if (strncmp(arg, "--", 2) == 0)
dynstr_append_os_quoted(&ds_cmdline, arg, NullS);
else
dynstr_append(&ds_cmdline, arg);
/* Options should already be os quoted */
dynstr_append(&ds_cmdline, arg);
dynstr_append(&ds_cmdline, " ");
}

Expand Down Expand Up @@ -580,8 +585,7 @@ static int run_query(const char *query, DYNAMIC_STRING *ds_res,

ret= run_tool(mysql_path,
ds_res,
"--no-defaults",
ds_args.str,
defaults_file,
"--database=mysql",
"--batch", /* Turns off pager etc. */
force ? "--force": "--skip-force",
Expand Down Expand Up @@ -773,8 +777,7 @@ static int run_mysqlcheck_upgrade(my_bool mysql_db_only)
print_conn_args("mysqlcheck");
retch= run_tool(mysqlcheck_path,
NULL, /* Send output from mysqlcheck directly to screen */
"--no-defaults",
ds_args.str,
defaults_file,
"--check-upgrade",
"--auto-repair",
!opt_silent || opt_verbose >= 1 ? "--verbose" : "",
Expand Down Expand Up @@ -834,8 +837,7 @@ static int run_mysqlcheck_views(void)
print_conn_args("mysqlcheck");
return run_tool(mysqlcheck_path,
NULL, /* Send output from mysqlcheck directly to screen */
"--no-defaults",
ds_args.str,
defaults_file,
"--all-databases", "--repair",
upgrade_views,
"--skip-process-tables",
Expand All @@ -859,8 +861,7 @@ static int run_mysqlcheck_fixnames(void)
print_conn_args("mysqlcheck");
return run_tool(mysqlcheck_path,
NULL, /* Send output from mysqlcheck directly to screen */
"--no-defaults",
ds_args.str,
defaults_file,
"--all-databases",
"--fix-db-names",
"--fix-table-names",
Expand Down Expand Up @@ -1084,12 +1085,21 @@ int main(int argc, char **argv)
{
opt_password= get_tty_password(NullS);
/* add password to defaults file */
dynstr_append_os_quoted(&ds_args, "--password=", opt_password, NullS);
dynstr_append(&ds_args, " ");
add_one_option_cnf_file(&ds_args, &my_long_options[PASSWORD_OPT], opt_password);
DBUG_ASSERT(strcmp(my_long_options[PASSWORD_OPT].name, "password") == 0);
}
/* add user to defaults file */
dynstr_append_os_quoted(&ds_args, "--user=", opt_user, NullS);
dynstr_append(&ds_args, " ");
add_one_option_cnf_file(&ds_args, &my_long_options[USER_OPT], opt_user);
DBUG_ASSERT(strcmp(my_long_options[USER_OPT].name, "user") == 0);

cnf_file_path= strmov(defaults_file, "--defaults-file=");
{
int fd= create_temp_file(cnf_file_path, opt_tmpdir[0] ? opt_tmpdir : NULL,
"mysql_upgrade-", O_CREAT | O_WRONLY, MYF(MY_FAE));
my_write(fd, USTRING_WITH_LEN( "[client]\n"), MYF(MY_FAE));
my_write(fd, (uchar*)ds_args.str, ds_args.length, MYF(MY_FAE));
my_close(fd, MYF(0));
}

/* Find mysql */
find_tool(mysql_path, IF_WIN("mysql.exe", "mysql"), self_name);
Expand Down
Loading

0 comments on commit a2bcee6

Please sign in to comment.