3725 Georgi Kodinov 2012-01-12
fixed a test case result after a merge.
modified:
mysql-test/r/mysqldump.result
3724 Georgi Kodinov 2012-01-12 [merge]
merge mysql-5.5->mysql-trunk
modified:
cmd-line-utils/libedit/chartype.h
cmd-line-utils/libedit/eln.c
cmd-line-utils/libedit/readline.c
mysql-test/r/func_time.result
mysql-test/r/mysqlcheck.result
mysql-test/t/func_time.test
mysql-test/t/mysqlcheck.test
sql/item.cc
3723 Georgi Kodinov 2012-01-12 [merge]
merge mysql-trunk-security-fixed->mysql-trunk
added:
mysql-test/r/mysqlimport.result
mysql-test/t/mysqlimport.test
modified:
client/mysql.cc
client/mysql_upgrade.c
client/mysqladmin.cc
client/mysqlbinlog.cc
client/mysqlcheck.c
client/mysqldump.c
client/mysqlimport.c
client/mysqlshow.c
client/mysqlslap.c
include/my_getopt.h
mysql-test/r/key_cache.result
mysql-test/r/log_tables_upgrade.result
mysql-test/r/mysql.result
mysql-test/r/mysql_upgrade.result
mysql-test/r/mysql_upgrade_ssl.result
mysql-test/r/mysqladmin.result
mysql-test/r/mysqlbinlog.result
mysql-test/r/mysqlcheck.result
mysql-test/r/mysqldump.result
mysql-test/r/mysqlshow.result
mysql-test/r/mysqlslap.result
mysql-test/r/partition_key_cache.result
mysql-test/r/plugin_auth.result
mysql-test/r/plugin_auth_qa_1.result
mysql-test/r/plugin_auth_qa_2.result
mysql-test/r/plugin_auth_qa_3.result
mysql-test/suite/federated/federated_debug.result
mysql-test/suite/perfschema/r/pfs_upgrade.result
mysql-test/t/key_cache.test
mysql-test/t/mysql.test
mysql-test/t/mysql_upgrade.test
mysql-test/t/mysqladmin.test
mysql-test/t/mysqlbinlog.test
mysql-test/t/mysqlcheck.test
mysql-test/t/mysqldump.test
mysql-test/t/mysqlshow.test
mysql-test/t/mysqlslap.test
mysql-test/t/partition_key_cache.test
mysys/default.c
mysys/my_getopt.c
sql/sql_admin.cc
storage/myisam/mi_preload.c
3722 Tor Didriksen 2012-01-11
WL#6159 Refactoring of my_global.h post-push fixes for sparc64
Use the uintXkorr macros rather than uXXXget macros.
modified:
libmysqld/emb_qcache.cc
sql/binlog.cc
sql/ha_partition.cc
sql/spatial.cc
sql/unireg.cc
storage/archive/ha_archive.cc
=== modified file 'client/mysql.cc'
--- a/client/mysql.cc 2011-10-13 07:26:28 +0000
+++ b/client/mysql.cc 2011-12-12 12:55:18 +0000
@@ -1225,11 +1225,14 @@ int main(int argc,char *argv[])
my_win_translate_command_line_args(&my_charset_utf8mb4_bin, &argc, &argv);
#endif
+ my_getopt_use_args_separator= TRUE;
if (load_defaults("my",load_default_groups,&argc,&argv))
{
my_end(0);
exit(1);
}
+ my_getopt_use_args_separator= FALSE;
+
defaults_argv=argv;
if (get_options(argc, (char **) argv))
{
@@ -1596,7 +1599,7 @@ static struct my_option my_long_options[
#endif
{"password", 'p',
"Password to use when connecting to server. If password is not given it's asked from the tty.",
- 0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
+ 0, 0, 0, GET_PASSWORD, OPT_ARG, 0, 0, 0, 0, 0, 0},
#ifdef __WIN__
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
NO_ARG, 0, 0, 0, 0, 0, 0},
=== modified file 'client/mysql_upgrade.c'
--- a/client/mysql_upgrade.c 2011-12-21 19:46:44 +0000
+++ b/client/mysql_upgrade.c 2012-01-12 13:22:52 +0000
@@ -105,7 +105,7 @@ static struct my_option my_long_options[
{"password", 'p',
"Password to use when connecting to server. If password is not given,"
" it's solicited on the tty.", &opt_password,&opt_password,
- 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
+ 0, GET_PASSWORD, OPT_ARG, 0, 0, 0, 0, 0, 0},
#ifdef __WIN__
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0,
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
@@ -220,6 +220,7 @@ static void add_one_option(DYNAMIC_STRIN
eq= "=";
switch (opt->var_type & GET_TYPE_MASK) {
case GET_STR:
+ case GET_PASSWORD:
arg= argument;
break;
case GET_BOOL:
@@ -860,8 +861,10 @@ int main(int argc, char **argv)
init_dynamic_string(&conn_args, "", 512, 256))
die("Out of memory");
+ my_getopt_use_args_separator= TRUE;
if (load_defaults("my", load_default_groups, &argc, &argv))
die(NULL);
+ my_getopt_use_args_separator= FALSE;
defaults_argv= argv; /* Must be freed by 'free_defaults' */
if (handle_options(&argc, &argv, my_long_options, get_one_option))
=== modified file 'client/mysqladmin.cc'
--- a/client/mysqladmin.cc 2011-08-19 13:24:24 +0000
+++ b/client/mysqladmin.cc 2011-11-15 14:27:21 +0000
@@ -158,7 +158,7 @@ static struct my_option my_long_options[
&opt_nobeep, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"password", 'p',
"Password to use when connecting to server. If password is not given it's asked from the tty.",
- 0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
+ 0, 0, 0, GET_PASSWORD, OPT_ARG, 0, 0, 0, 0, 0, 0},
#ifdef __WIN__
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
NO_ARG, 0, 0, 0, 0, 0, 0},
@@ -306,8 +306,11 @@ int main(int argc,char *argv[])
MY_INIT(argv[0]);
mysql_init(&mysql);
+ my_getopt_use_args_separator= TRUE;
if (load_defaults("my",load_default_groups,&argc,&argv))
exit(1);
+ my_getopt_use_args_separator= FALSE;
+
save_argv = argv; /* Save for free_defaults */
if ((ho_error=handle_options(&argc, &argv, my_long_options, get_one_option)))
{
=== modified file 'client/mysqlbinlog.cc'
--- a/client/mysqlbinlog.cc 2012-01-10 06:46:14 +0000
+++ b/client/mysqlbinlog.cc 2012-01-12 13:22:52 +0000
@@ -1147,7 +1147,7 @@ static struct my_option my_long_options[
{"offset", 'o', "Skip the first N entries.", &offset, &offset,
0, GET_ULL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"password", 'p', "Password to connect to remote server.",
- 0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
+ 0, 0, 0, GET_PASSWORD, OPT_ARG, 0, 0, 0, 0, 0, 0},
{"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
&opt_plugin_dir, &opt_plugin_dir, 0,
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
@@ -2295,8 +2295,10 @@ int main(int argc, char** argv)
INTVAR_DYNAMIC_INIT, INTVAR_DYNAMIC_INCR)))
exit(1);
+ my_getopt_use_args_separator= TRUE;
if (load_defaults("my", load_default_groups, &argc, &argv))
exit(1);
+ my_getopt_use_args_separator= FALSE;
defaults_argv= argv;
parse_args(&argc, &argv);
=== modified file 'client/mysqlcheck.c'
--- a/client/mysqlcheck.c 2011-08-19 13:24:24 +0000
+++ b/client/mysqlcheck.c 2011-11-15 14:27:21 +0000
@@ -142,7 +142,7 @@ static struct my_option my_long_options[
0, 0},
{"password", 'p',
"Password to use when connecting to server. If password is not given, it's solicited on the tty.",
- 0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
+ 0, 0, 0, GET_PASSWORD, OPT_ARG, 0, 0, 0, 0, 0, 0},
#ifdef __WIN__
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
NO_ARG, 0, 0, 0, 0, 0, 0},
@@ -352,9 +352,11 @@ static int get_options(int *argc, char *
exit(0);
}
+ my_getopt_use_args_separator= TRUE;
if ((ho_error= load_defaults("my", load_default_groups, argc, argv)) ||
(ho_error=handle_options(argc, argv, my_long_options, get_one_option)))
exit(ho_error);
+ my_getopt_use_args_separator= FALSE;
if (!what_to_do)
{
=== modified file 'client/mysqldump.c'
--- a/client/mysqldump.c 2012-01-11 10:07:45 +0000
+++ b/client/mysqldump.c 2012-01-12 13:22:52 +0000
@@ -425,7 +425,7 @@ static struct my_option my_long_options[
&opt_order_by_primary, &opt_order_by_primary, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"password", 'p',
"Password to use when connecting to server. If password is not given it's solicited on the tty.",
- 0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
+ 0, 0, 0, GET_PASSWORD, OPT_ARG, 0, 0, 0, 0, 0, 0},
#ifdef __WIN__
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
NO_ARG, 0, 0, 0, 0, 0, 0},
@@ -908,8 +908,11 @@ static int get_options(int *argc, char *
opt_net_buffer_length= *mysql_params->p_net_buffer_length;
md_result_file= stdout;
+ my_getopt_use_args_separator= TRUE;
if (load_defaults("my",load_default_groups,argc,argv))
return 1;
+ my_getopt_use_args_separator= FALSE;
+
defaults_argv= *argv;
if (my_hash_init(&ignore_table, charset_info, 16, 0, 0,
=== modified file 'client/mysqlimport.c'
--- a/client/mysqlimport.c 2011-08-19 13:24:24 +0000
+++ b/client/mysqlimport.c 2011-11-15 14:27:21 +0000
@@ -141,7 +141,7 @@ static struct my_option my_long_options[
&opt_low_priority, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"password", 'p',
"Password to use when connecting to server. If password is not given it's asked from the tty.",
- 0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
+ 0, 0, 0, GET_PASSWORD, OPT_ARG, 0, 0, 0, 0, 0, 0},
#ifdef __WIN__
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
NO_ARG, 0, 0, 0, 0, 0, 0},
@@ -609,8 +609,11 @@ int main(int argc, char **argv)
char **argv_to_free;
MY_INIT(argv[0]);
+ my_getopt_use_args_separator= TRUE;
if (load_defaults("my",load_default_groups,&argc,&argv))
return 1;
+ my_getopt_use_args_separator= FALSE;
+
/* argv is changed in the program */
argv_to_free= argv;
if (get_options(&argc, &argv))
=== modified file 'client/mysqlshow.c'
--- a/client/mysqlshow.c 2011-08-19 13:24:24 +0000
+++ b/client/mysqlshow.c 2011-11-15 14:27:21 +0000
@@ -68,8 +68,11 @@ int main(int argc, char **argv)
char *wild;
MYSQL mysql;
MY_INIT(argv[0]);
+
+ my_getopt_use_args_separator= TRUE;
if (load_defaults("my",load_default_groups,&argc,&argv))
exit(1);
+ my_getopt_use_args_separator= FALSE;
get_options(&argc,&argv);
@@ -217,7 +220,7 @@ static struct my_option my_long_options[
{"password", 'p',
"Password to use when connecting to server. If password is not given, it's "
"solicited on the tty.",
- 0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
+ 0, 0, 0, GET_PASSWORD, OPT_ARG, 0, 0, 0, 0, 0, 0},
{"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
&opt_plugin_dir, &opt_plugin_dir, 0,
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
=== modified file 'client/mysqlslap.c'
--- a/client/mysqlslap.c 2011-08-19 13:24:24 +0000
+++ b/client/mysqlslap.c 2011-11-15 14:27:21 +0000
@@ -300,11 +300,13 @@ int main(int argc, char **argv)
MY_INIT(argv[0]);
+ my_getopt_use_args_separator= TRUE;
if (load_defaults("my",load_default_groups,&argc,&argv))
{
my_end(0);
exit(1);
}
+ my_getopt_use_args_separator= FALSE;
defaults_argv=argv;
if (get_options(&argc,&argv))
{
@@ -636,7 +638,7 @@ static struct my_option my_long_options[
0, 0, 0, 0, 0, 0},
{"password", 'p',
"Password to use when connecting to server. If password is not given it's "
- "asked from the tty.", 0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
+ "asked from the tty.", 0, 0, 0, GET_PASSWORD, OPT_ARG, 0, 0, 0, 0, 0, 0},
#ifdef __WIN__
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
NO_ARG, 0, 0, 0, 0, 0, 0},
=== modified file 'cmd-line-utils/libedit/chartype.h'
--- a/cmd-line-utils/libedit/chartype.h 2011-10-13 19:33:25 +0000
+++ b/cmd-line-utils/libedit/chartype.h 2012-01-11 17:40:29 +0000
@@ -45,11 +45,11 @@
* seems to actually advertise this properly, despite Unicode 3.1 having
* been around since 2001... */
-/* XXXMYSQL : Added FreeBSD to bypass this check.
- TODO : Verify if FreeBSD stores ISO 10646 in wchar_t. */
+/* XXXMYSQL : Added FreeBSD & AIX to bypass this check.
+ TODO : Verify if FreeBSD & AIX stores ISO 10646 in wchar_t. */
#if !defined(__NetBSD__) && !defined(__sun) \
&& !(defined(__APPLE__) && defined(__MACH__)) \
- && !defined(__FreeBSD__)
+ && !defined(__FreeBSD__) && !defined(_AIX)
#ifndef __STDC_ISO_10646__
/* In many places it is assumed that the first 127 code points are ASCII
* compatible, so ensure wchar_t indeed does ISO 10646 and not some other
=== modified file 'cmd-line-utils/libedit/eln.c'
--- a/cmd-line-utils/libedit/eln.c 2011-10-13 19:33:25 +0000
+++ b/cmd-line-utils/libedit/eln.c 2012-01-11 17:40:29 +0000
@@ -200,7 +200,7 @@ el_set(EditLine *el, int op, ...)
ret = -1;
goto out;
}
- // XXX: The two strdup's leak
+ /* XXX: The two strdups leak. */
ret = map_addfunc(el, Strdup(wargv[0]), Strdup(wargv[1]),
func);
ct_free_argv(wargv);
=== modified file 'cmd-line-utils/libedit/readline.c'
--- a/cmd-line-utils/libedit/readline.c 2011-10-13 19:47:46 +0000
+++ b/cmd-line-utils/libedit/readline.c 2012-01-12 13:03:44 +0000
@@ -1978,7 +1978,7 @@ rl_callback_read_char()
} else
wbuf = NULL;
(*(void (*)(const char *))rl_linefunc)(wbuf);
- //el_set(e, EL_UNBUFFERED, 1);
+ /*el_set(e, EL_UNBUFFERED, 1);*/
}
}
=== modified file 'include/my_getopt.h'
--- a/include/my_getopt.h 2011-07-19 15:11:15 +0000
+++ b/include/my_getopt.h 2011-11-15 14:27:21 +0000
@@ -36,6 +36,7 @@ C_MODE_START
#define GET_SET 13
#define GET_DOUBLE 14
#define GET_FLAGSET 15
+#define GET_PASSWORD 16
#define GET_ASK_ADDR 128
#define GET_TYPE_MASK 127
=== modified file 'mysql-test/r/func_time.result'
--- a/mysql-test/r/func_time.result 2011-11-17 13:41:28 +0000
+++ b/mysql-test/r/func_time.result 2012-01-12 13:27:57 +0000
@@ -1476,6 +1476,21 @@ NULL 1 NULL
SET storage_engine=NULL;
ERROR 42000: Variable 'storage_engine' can't be set to the value of 'NULL'
#
+# BUG#13354387 - CRASH IN IN MY_DECIMAL::OPERATOR FOR VIEW AND FUNCTION UNIX_TIMESTAMP
+# Part1 (5.5)
+SET time_zone='+03:00';
+CREATE TABLE t1 (a DATETIME NOT NULL);
+INSERT INTO t1 VALUES ('2009-09-20 07:32:39.06');
+INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00');
+CREATE VIEW v1 AS SELECT * FROM t1;
+SELECT CAST(UNIX_TIMESTAMP(a) AS DECIMAL(25,3)) AS c1 FROM v1 ORDER BY 1;
+c1
+0.000
+1253421159.000
+DROP VIEW v1;
+DROP TABLE t1;
+SET time_zone=DEFAULT;
+#
# Bug #59686 crash in String::copy() with time data type
#
SELECT min(timestampadd(month, 1>'', from_days('%Z')));
=== modified file 'mysql-test/r/key_cache.result'
--- a/mysql-test/r/key_cache.result 2010-11-25 04:41:58 +0000
+++ b/mysql-test/r/key_cache.result 2011-12-14 14:35:17 +0000
@@ -383,3 +383,19 @@ Variable_name Value
key_cache_block_size 1536
SET GLOBAL key_cache_block_size= @bug28478_key_cache_block_size;
DROP TABLE t1;
+#
+# Bug#12361113: crash when load index into cache
+#
+# Note that this creates an empty disabled key cache!
+SET GLOBAL key_cache_none.key_cache_block_size = 1024;
+CREATE TABLE t1 (a INT, b INTEGER NOT NULL, KEY (b) ) ENGINE = MYISAM;
+INSERT INTO t1 VALUES (1, 1);
+CACHE INDEX t1 in key_cache_none;
+ERROR HY000: Unknown key cache 'key_cache_none'
+# The bug crashed the server at LOAD INDEX below. Now it will succeed
+# since the default cache is used due to CACHE INDEX failed for
+# key_cache_none.
+LOAD INDEX INTO CACHE t1;
+Table Op Msg_type Msg_text
+test.t1 preload_keys status OK
+DROP TABLE t1;
=== modified file 'mysql-test/r/log_tables_upgrade.result'
--- a/mysql-test/r/log_tables_upgrade.result 2011-08-19 13:04:28 +0000
+++ b/mysql-test/r/log_tables_upgrade.result 2011-11-15 14:27:21 +0000
@@ -11,6 +11,8 @@ Table Op Msg_type Msg_text
test.bug49823 repair status OK
RENAME TABLE general_log TO renamed_general_log;
RENAME TABLE test.bug49823 TO general_log;
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
mtr.global_suppressions OK
mtr.test_suppressions OK
mysql.columns_priv OK
=== modified file 'mysql-test/r/mysql.result'
--- a/mysql-test/r/mysql.result 2010-12-01 07:01:44 +0000
+++ b/mysql-test/r/mysql.result 2011-11-15 14:27:21 +0000
@@ -501,7 +501,16 @@ SHOW TABLES IN connected_db;
Tables_in_connected_db
table_in_connected_db
DROP DATABASE connected_db;
-
-End of tests
Connected
1
+#
+# Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+#
+Warning: Using a password on the command line interface can be insecure.
+1
+1
+Warning: Using a password on the command line interface can be insecure.
+1
+1
+
+End of tests
=== modified file 'mysql-test/r/mysql_upgrade.result'
--- a/mysql-test/r/mysql_upgrade.result 2011-11-15 12:34:23 +0000
+++ b/mysql-test/r/mysql_upgrade.result 2011-12-12 12:55:18 +0000
@@ -1,4 +1,6 @@
Run mysql_upgrade once
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
mtr.global_suppressions OK
mtr.test_suppressions OK
mysql.columns_priv OK
@@ -33,6 +35,8 @@ mysql.user
Run it again - should say already completed
This installation of MySQL is already upgraded to VERSION, use --force if you still need to run mysql_upgrade
Force should run it regardless of wether it's been run before
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
mtr.global_suppressions OK
mtr.test_suppressions OK
mysql.columns_priv OK
@@ -67,6 +71,9 @@ mysql.user
CREATE USER mysqltest1@'%' IDENTIFIED by 'sakila';
GRANT ALL ON *.* TO mysqltest1@'%';
Run mysql_upgrade with password protected account
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
mtr.global_suppressions OK
mtr.test_suppressions OK
mysql.columns_priv OK
@@ -100,9 +107,12 @@ mysql.time_zone_transition_type
mysql.user OK
DROP USER mysqltest1@'%';
Run mysql_upgrade with a non existing server socket
+Warning: Using a password on the command line interface can be insecure.
mysqlcheck: Got error: 2005: Unknown MySQL server host 'not_existing_host' (errno) when trying to connect
FATAL ERROR: Upgrade failed
set GLOBAL sql_mode='STRICT_ALL_TABLES,ANSI_QUOTES,NO_ZERO_DATE';
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
mtr.global_suppressions OK
mtr.test_suppressions OK
mysql.columns_priv OK
@@ -176,6 +186,8 @@ mysql.time_zone_transition_type
mysql.user OK
CALL testproc();
DROP PROCEDURE testproc;
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
WARNING: NULL values of the 'character_set_client' column ('mysql.proc' table) have been updated with a default value (latin1). Please verify if necessary.
WARNING: NULL values of the 'collation_connection' column ('mysql.proc' table) have been updated with a default value (latin1_swedish_ci). Please verify if necessary.
WARNING: NULL values of the 'db_collation' column ('mysql.proc' table) have been updated with default values. Please verify if necessary.
@@ -186,6 +198,8 @@ WARNING: NULL values of the 'db_collatio
GRANT USAGE ON *.* TO 'user3'@'%';
GRANT ALL PRIVILEGES ON `roelt`.`test2` TO 'user3'@'%';
Run mysql_upgrade with all privileges on a user
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
mtr.global_suppressions OK
mtr.test_suppressions OK
mysql.columns_priv OK
@@ -225,6 +239,43 @@ DROP USER 'user3'@'%';
End of 5.1 tests
The --upgrade-system-tables option was used, databases won't be touched.
#
+# Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+#
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
+mtr.global_suppressions OK
+mtr.test_suppressions OK
+mysql.columns_priv OK
+mysql.db OK
+mysql.event OK
+mysql.func OK
+mysql.general_log OK
+mysql.help_category OK
+mysql.help_keyword OK
+mysql.help_relation OK
+mysql.help_topic OK
+mysql.host OK
+mysql.innodb_index_stats OK
+mysql.innodb_table_stats OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
+mysql.proc OK
+mysql.procs_priv OK
+mysql.proxies_priv OK
+mysql.servers OK
+mysql.slave_master_info OK
+mysql.slave_relay_log_info OK
+mysql.slave_worker_info OK
+mysql.slow_log OK
+mysql.tables_priv OK
+mysql.time_zone OK
+mysql.time_zone_leap_second OK
+mysql.time_zone_name OK
+mysql.time_zone_transition OK
+mysql.time_zone_transition_type OK
+mysql.user OK
+#
# Bug#11827359 60223: MYSQL_UPGRADE PROBLEM WITH OPTION
# SKIP-WRITE-BINLOG
#
@@ -261,4 +312,5 @@ mysql.time_zone_name
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
+
End of tests
=== modified file 'mysql-test/r/mysql_upgrade_ssl.result'
--- a/mysql-test/r/mysql_upgrade_ssl.result 2011-08-19 13:04:28 +0000
+++ b/mysql-test/r/mysql_upgrade_ssl.result 2011-12-12 15:15:24 +0000
@@ -1,6 +1,8 @@
#
# Bug#55672 mysql_upgrade dies with internal error
#
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
mtr.global_suppressions OK
mtr.test_suppressions OK
mysql.columns_priv OK
=== modified file 'mysql-test/r/mysqladmin.result'
--- a/mysql-test/r/mysqladmin.result 2011-03-17 12:34:53 +0000
+++ b/mysql-test/r/mysqladmin.result 2011-11-15 14:27:21 +0000
@@ -1,6 +1,8 @@
+Warning: Using a password on the command line interface can be insecure.
mysqld is alive
mysqladmin: unknown variable 'database=db1'
Warning: mysqladmin: unknown variable 'loose-database=db2'
+Warning: Using a password on the command line interface can be insecure.
mysqld is alive
mysqld is alive
#
@@ -18,3 +20,10 @@ mysqld is alive
# Creating an empty file 'cnf_file'
# Using --defaults-extra-file option with 'cnf_file'.
mysqld is alive
+#
+# Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+#
+Warning: Using a password on the command line interface can be insecure.
+mysqld is alive
+
+End of tests
=== modified file 'mysql-test/r/mysqlbinlog.result'
--- a/mysql-test/r/mysqlbinlog.result 2011-12-14 05:03:54 +0000
+++ b/mysql-test/r/mysqlbinlog.result 2011-12-15 12:18:58 +0000
@@ -915,3 +915,25 @@ t1
SHOW TABLES IN test;
Tables_in_test
SET GLOBAL SERVER_ID = 1;
+#
+# Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+#
+Warning: Using a password on the command line interface can be insecure.
+/*!40019 SET @@session.max_insert_delayed_threads=0*/;
+/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
+DELIMITER /*!*/;
+# at 4
+#010619 20:55:55 server id 2 end_log_pos 76 Start: binlog v 2, server v 4.0.0-debug-log created 010619 20:55:55 at startup
+ROLLBACK/*!*/;
+BINLOG '
+K5IvOwECAAAASwAAAAEAAAAAAAIANC4wLjAtZGVidWctbG9nAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAArki87
+'/*!*/;
+# at 79
+#010619 20:56:06 server id 2 end_log_pos 0 Stop
+DELIMITER ;
+# End of log file
+ROLLBACK /* added by mysqlbinlog */;
+/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+
+End of tests
=== modified file 'mysql-test/r/mysqlcheck.result'
--- a/mysql-test/r/mysqlcheck.result 2011-08-19 13:04:28 +0000
+++ b/mysql-test/r/mysqlcheck.result 2012-01-12 13:27:57 +0000
@@ -234,6 +234,7 @@ DROP TABLE `@`;
CREATE TABLE `��` (a INT) engine=myisam;
SET NAMES DEFAULT;
mysqlcheck --default-character-set="latin1" --databases test
+call mtr.add_suppression("Can't find file: '..test.@003f.frm'");
test.?
Error : Table doesn't exist
status : Operation failed
@@ -352,3 +353,12 @@ CHECK TABLE bug47205 FOR UPGRADE;
Table Op Msg_type Msg_text
test.bug47205 check status OK
DROP TABLE bug47205;
+#
+# Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+#
+DROP DATABASE IF EXISTS b12688860_db;
+CREATE DATABASE b12688860_db;
+Warning: Using a password on the command line interface can be insecure.
+DROP DATABASE b12688860_db;
+
+End of tests
=== modified file 'mysql-test/r/mysqldump.result'
--- a/mysql-test/r/mysqldump.result 2012-01-10 10:50:22 +0000
+++ b/mysql-test/r/mysqldump.result 2012-01-12 14:32:28 +0000
@@ -5262,3 +5262,33 @@ DROP DATABASE b12809202_db;
# Delete all existing binary logs.
#
RESET MASTER;
+#
+# Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+#
+DROP DATABASE IF EXISTS b12688860_db;
+CREATE DATABASE b12688860_db;
+Warning: Using a password on the command line interface can be insecure.
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+DROP DATABASE b12688860_db;
+
+End of tests
=== added file 'mysql-test/r/mysqlimport.result'
--- a/mysql-test/r/mysqlimport.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/mysqlimport.result 2011-11-15 14:27:21 +0000
@@ -0,0 +1,18 @@
+#
+# Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+#
+CREATE DATABASE b12688860_db;
+CREATE TABLE b12688860_db.b12688860_tab (c1 INT);
+# Creating a temp sql file to be loaded.
+Warning: Using a password on the command line interface can be insecure.
+b12688860_db.b12688860_tab: Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
+SELECT * FROM b12688860_db.b12688860_tab;
+c1
+1
+2
+3
+DROP TABLE b12688860_db.b12688860_tab;
+DROP DATABASE b12688860_db;
+# Dropping the temp file
+
+End of tests
=== modified file 'mysql-test/r/mysqlshow.result'
--- a/mysql-test/r/mysqlshow.result 2011-10-27 04:20:52 +0000
+++ b/mysql-test/r/mysqlshow.result 2011-12-12 12:55:18 +0000
@@ -208,4 +208,20 @@ Database: test
| Tables |
+--------+
+--------+
-End of 5.0 tests
+#
+# Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+#
+DROP DATABASE IF EXISTS b12688860_db;
+CREATE DATABASE b12688860_db;
+CREATE TABLE b12688860_db.b12688860_tab (c1 INT);
+Warning: Using a password on the command line interface can be insecure.
+Database: b12688860_db
++---------------+
+| Tables |
++---------------+
+| b12688860_tab |
++---------------+
+DROP TABLE b12688860_db.b12688860_tab;
+DROP DATABASE b12688860_db;
+
+End of tests
=== modified file 'mysql-test/r/mysqlslap.result'
--- a/mysql-test/r/mysqlslap.result 2011-04-08 07:04:54 +0000
+++ b/mysql-test/r/mysqlslap.result 2011-11-15 14:27:21 +0000
@@ -247,3 +247,10 @@ mysql
performance_schema
test
DROP DATABASE bug58090;
+#
+# Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+#
+Executing mysqlslap with password.
+Warning: Using a password on the command line interface can be insecure.
+
+End of tests
=== modified file 'mysql-test/r/partition_key_cache.result'
--- a/mysql-test/r/partition_key_cache.result 2009-12-22 09:35:56 +0000
+++ b/mysql-test/r/partition_key_cache.result 2011-12-14 14:33:01 +0000
@@ -397,6 +397,33 @@ test.t1 assign_to_keycache error Subpart
test.t1 assign_to_keycache Error Key 'inx_b' doesn't exist in table 't1'
test.t1 assign_to_keycache status Operation failed
DROP TABLE t1,t2;
+#
+# Bug#12361113: crash when load index into cache
+#
+# Note that this creates an empty disabled key cache!
+SET GLOBAL key_cache_none.key_cache_block_size = 1024;
+CREATE TABLE t1 (a INT, b INTEGER NOT NULL, KEY (b) )
+ENGINE = MYISAM
+PARTITION BY HASH(a) PARTITIONS 2;
+INSERT INTO t1 VALUES (1, 1);
+CACHE INDEX t1 IN key_cache_none;
+ERROR HY000: Unknown key cache 'key_cache_none'
+CACHE INDEX t1 PARTITION (p0) IN key_cache_none;
+ERROR HY000: Unknown key cache 'key_cache_none'
+CACHE INDEX t1 PARTITION (p1) IN key_cache_none;
+ERROR HY000: Unknown key cache 'key_cache_none'
+CACHE INDEX t1 PARTITION (p0) KEY (`b`) IN key_cache_none;
+ERROR HY000: Unknown key cache 'key_cache_none'
+CACHE INDEX t1 PARTITION (p1) KEY (`b`) IN key_cache_none;
+ERROR HY000: Unknown key cache 'key_cache_none'
+# The bug crashed the server at LOAD INDEX below. Now it will succeed
+# since the default cache is used due to CACHE INDEX failed for
+# key_cache_none.
+LOAD INDEX INTO CACHE t1;
+Table Op Msg_type Msg_text
+test.t1 preload_keys status OK
+DROP TABLE t1;
+# Clean up
SET GLOBAL hot_cache.key_buffer_size = 0;
SET GLOBAL warm_cache.key_buffer_size = 0;
SET @@global.cold_cache.key_buffer_size = 0;
=== modified file 'mysql-test/r/plugin_auth.result'
--- a/mysql-test/r/plugin_auth.result 2011-10-12 15:47:16 +0000
+++ b/mysql-test/r/plugin_auth.result 2011-11-15 14:27:21 +0000
@@ -305,6 +305,8 @@ REVOKE ALL PRIVILEGES ON *.* FROM u1@loc
DROP USER u1@localhost,u2@localhost;
# test if FLUSH PRIVILEGES works without the proxies_priv table
FLUSH PRIVILEGES;
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
mtr.global_suppressions OK
mtr.test_suppressions OK
mysql.columns_priv OK
@@ -438,6 +440,8 @@ YES plugin
ALTER TABLE mysql.user MODIFY plugin char(64) DEFAULT '' NOT NULL;
ALTER TABLE mysql.user MODIFY authentication_string TEXT NOT NULL;
Run mysql_upgrade on a 5.5.10 external authentication column layout
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
mtr.global_suppressions OK
mtr.test_suppressions OK
mysql.columns_priv OK
@@ -487,6 +491,7 @@ DROP USER bug12610784@localhost;
# Bug # 11766641: 59792: BIN/MYSQL -UUNKNOWN -PUNKNOWN
# .-> USING PASSWORD: NO
# shoud contain "using password=yes"
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'unknown'@'localhost' (using password: YES)
# shoud contain "using password=no"
ERROR 1045 (28000): Access denied for user 'unknown'@'localhost' (using password: NO)
=== modified file 'mysql-test/r/plugin_auth_qa_1.result'
--- a/mysql-test/r/plugin_auth_qa_1.result 2011-03-18 14:58:27 +0000
+++ b/mysql-test/r/plugin_auth_qa_1.result 2011-11-15 14:27:21 +0000
@@ -6,6 +6,7 @@ user plugin authentication_string
CREATE USER plug_user IDENTIFIED WITH test_plugin_server AS 'plug_dest';
CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
GRANT PROXY ON plug_dest TO plug_user;
+Warning: Using a password on the command line interface can be insecure.
current_user()
plug_dest@%
user()
@@ -13,6 +14,7 @@ plug_user@localhost
Tables_in_test_user_db
t1
REVOKE PROXY ON plug_dest FROM plug_user;
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
DROP USER plug_user,plug_dest;
GRANT ALL PRIVILEGES ON test_user_db.* TO plug_user
@@ -24,6 +26,7 @@ user plugin authentication_string
plug_dest NULL
plug_user test_plugin_server plug_dest
1)
+Warning: Using a password on the command line interface can be insecure.
current_user()
plug_dest@%
user()
@@ -33,6 +36,7 @@ t1
REVOKE ALL PRIVILEGES ON test_user_db.* FROM 'plug_user'
IDENTIFIED WITH test_plugin_server AS 'plug_dest';
2)
+Warning: Using a password on the command line interface can be insecure.
current_user()
plug_dest@%
user()
@@ -41,15 +45,18 @@ Tables_in_test_user_db
t1
REVOKE PROXY ON plug_dest FROM plug_user;
3)
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
DROP USER plug_user,plug_dest;
GRANT ALL PRIVILEGES ON test_user_db.* TO plug_user
IDENTIFIED WITH test_plugin_server AS 'plug_dest';
CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
1)
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
GRANT PROXY ON plug_dest TO plug_user;
2)
+Warning: Using a password on the command line interface can be insecure.
current_user()
plug_dest@%
user()
@@ -64,13 +71,16 @@ GRANT ALL PRIVILEGES ON test_user_db.* T
IDENTIFIED WITH test_plugin_server AS 'plug_dest';
CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
GRANT PROXY ON plug_dest TO plug_user;
+Warning: Using a password on the command line interface can be insecure.
current_user()
plug_dest@%
user()
plug_user@localhost
RENAME USER plug_dest TO new_dest;
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
GRANT PROXY ON new_dest TO plug_user;
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
user plugin authentication_string
@@ -80,15 +90,19 @@ DROP USER plug_user,new_dest;
CREATE USER plug_user
IDENTIFIED WITH test_plugin_server AS 'plug_dest';
CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
GRANT PROXY ON plug_dest TO plug_user;
+Warning: Using a password on the command line interface can be insecure.
current_user()
plug_dest@%
user()
plug_user@localhost
RENAME USER plug_dest TO new_dest;
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
GRANT PROXY ON new_dest TO plug_user;
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
user plugin authentication_string
=== modified file 'mysql-test/r/plugin_auth_qa_2.result'
--- a/mysql-test/r/plugin_auth_qa_2.result 2011-03-18 14:16:17 +0000
+++ b/mysql-test/r/plugin_auth_qa_2.result 2011-11-15 14:27:21 +0000
@@ -16,6 +16,7 @@ SELECT @@external_user;
@@external_user
NULL
exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_1_user --password=qa_test_1_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+Warning: Using a password on the command line interface can be insecure.
current_user() user() @@local.proxy_user @@local.external_user
qa_test_1_user@% qa_test_1_user@localhost NULL NULL
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
@@ -43,6 +44,7 @@ SELECT @@external_user;
@@external_user
NULL
exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+Warning: Using a password on the command line interface can be insecure.
current_user() user() @@local.proxy_user @@local.external_user
authenticated_as@% user_name@localhost 'qa_test_2_user'@'%' 'qa_test_2_user'@'%'
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
@@ -59,6 +61,7 @@ CREATE USER qa_test_3_dest IDENTIFIED BY
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_3_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_3_dest TO qa_test_3_user;
exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_3_user --password=qa_test_3_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+Warning: Using a password on the command line interface can be insecure.
current_user() user() @@local.proxy_user @@local.external_user
qa_test_3_dest@% qa_test_3_user@localhost 'qa_test_3_user'@'%' 'qa_test_3_user'@'%'
DROP USER qa_test_3_user;
@@ -69,6 +72,7 @@ CREATE USER qa_test_4_dest IDENTIFIED BY
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_4_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_4_dest TO qa_test_4_user;
exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_4_user --password=qa_test_4_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+Warning: Using a password on the command line interface can be insecure.
current_user() user() @@local.proxy_user @@local.external_user
qa_test_4_dest@% qa_test_4_user@localhost 'qa_test_4_user'@'%' 'qa_test_4_user'@'%'
DROP USER qa_test_4_user;
@@ -87,6 +91,7 @@ user plugin authentication_string passwo
qa_test_5_dest NULL *DFCACE76914AD7BD801FC1A1ECF6562272621A22
qa_test_5_user qa_auth_interface qa_test_5_dest
exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=qa_test_5_user --password=qa_test_5_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'qa_test_5_user'@'localhost' (using password: YES)
DROP USER qa_test_5_user;
DROP USER qa_test_5_dest;
@@ -105,6 +110,7 @@ root
root
root
exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=qa_test_6_user --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'qa_test_6_user'@'localhost' (using password: YES)
GRANT PROXY ON qa_test_6_dest TO root IDENTIFIED WITH qa_auth_interface AS 'qa_test_6_dest';
SELECT user,plugin,authentication_string,password FROM mysql.user;
@@ -117,6 +123,7 @@ root
root
root qa_auth_interface qa_test_6_dest
exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
REVOKE PROXY ON qa_test_6_dest FROM root;
SELECT user,plugin,authentication_string FROM mysql.user;
@@ -129,6 +136,7 @@ root
root
root qa_auth_interface qa_test_6_dest
exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
DROP USER qa_test_6_user;
DROP USER qa_test_6_dest;
@@ -145,6 +153,7 @@ CREATE USER qa_test_11_dest IDENTIFIED B
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_11_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_11_dest TO qa_test_11_user;
exec MYSQL PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'qa_test_11_user'@'localhost' (using password: YES)
DROP USER qa_test_11_user, qa_test_11_dest;
DROP DATABASE test_user_db;
=== modified file 'mysql-test/r/plugin_auth_qa_3.result'
--- a/mysql-test/r/plugin_auth_qa_3.result 2010-10-22 08:20:17 +0000
+++ b/mysql-test/r/plugin_auth_qa_3.result 2011-11-15 14:27:21 +0000
@@ -3,9 +3,11 @@ CREATE USER qa_test_11_user IDENTIFIED W
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_11_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_11_dest TO qa_test_11_user;
exec MYSQL PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+Warning: Using a password on the command line interface can be insecure.
current_user() user() @@local.proxy_user @@local.external_user
qa_test_11_dest@% qa_test_11_user@localhost 'qa_test_11_user'@'%' 'qa_test_11_user'@'%'
exec MYSQL PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_2_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'qa_test_2_user'@'localhost' (using password: NO)
DROP USER qa_test_11_user, qa_test_11_dest;
DROP DATABASE test_user_db;
=== modified file 'mysql-test/suite/federated/federated_debug.result'
--- a/mysql-test/suite/federated/federated_debug.result 2009-09-30 22:25:06 +0000
+++ b/mysql-test/suite/federated/federated_debug.result 2011-12-12 15:15:24 +0000
@@ -13,6 +13,7 @@ SELECT * FROM t1;
a
1
# Start a asynchronous reload
+Warning: Using a password on the command line interface can be insecure.
# Wait for tables to be closed
# Ensure that the server didn't crash
SELECT * FROM t1;
=== modified file 'mysql-test/suite/perfschema/r/pfs_upgrade.result'
--- a/mysql-test/suite/perfschema/r/pfs_upgrade.result 2011-10-27 21:18:19 +0000
+++ b/mysql-test/suite/perfschema/r/pfs_upgrade.result 2011-11-15 14:27:21 +0000
@@ -8,6 +8,8 @@ use performance_schema;
show tables like "user_table";
Tables_in_performance_schema (user_table)
user_table
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
ERROR 1050 (42S01) at line 100: Table 'cond_instances' already exists
ERROR 1050 (42S01) at line 125: Table 'events_waits_current' already exists
ERROR 1050 (42S01) at line 150: Table 'events_waits_history' already exists
@@ -69,6 +71,8 @@ use performance_schema;
show tables like "user_view";
Tables_in_performance_schema (user_view)
user_view
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
ERROR 1050 (42S01) at line 100: Table 'cond_instances' already exists
ERROR 1050 (42S01) at line 125: Table 'events_waits_current' already exists
ERROR 1050 (42S01) at line 150: Table 'events_waits_history' already exists
@@ -128,6 +132,8 @@ drop view test.user_view;
create procedure test.user_proc()
select "Not supposed to be here";
update mysql.proc set db='performance_schema' where name='user_proc';
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
ERROR 1050 (42S01) at line 100: Table 'cond_instances' already exists
ERROR 1050 (42S01) at line 125: Table 'events_waits_current' already exists
ERROR 1050 (42S01) at line 150: Table 'events_waits_history' already exists
@@ -187,6 +193,8 @@ drop procedure test.user_proc;
create function test.user_func() returns integer
return 0;
update mysql.proc set db='performance_schema' where name='user_func';
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
ERROR 1050 (42S01) at line 100: Table 'cond_instances' already exists
ERROR 1050 (42S01) at line 125: Table 'events_waits_current' already exists
ERROR 1050 (42S01) at line 150: Table 'events_waits_history' already exists
@@ -246,6 +254,8 @@ drop function test.user_func;
create event test.user_event on schedule every 1 day do
select "not supposed to be here";
update mysql.event set db='performance_schema' where name='user_event';
+Warning: Using a password on the command line interface can be insecure.
+Warning: Using a password on the command line interface can be insecure.
ERROR 1050 (42S01) at line 100: Table 'cond_instances' already exists
ERROR 1050 (42S01) at line 125: Table 'events_waits_current' already exists
ERROR 1050 (42S01) at line 150: Table 'events_waits_history' already exists
=== modified file 'mysql-test/t/func_time.test'
--- a/mysql-test/t/func_time.test 2011-11-17 13:41:28 +0000
+++ b/mysql-test/t/func_time.test 2012-01-12 13:27:57 +0000
@@ -970,6 +970,21 @@ SELECT MONTHNAME(0), MONTHNAME(0) IS NUL
--error ER_WRONG_VALUE_FOR_VAR
SET storage_engine=NULL;
+
+--echo #
+--echo # BUG#13354387 - CRASH IN IN MY_DECIMAL::OPERATOR FOR VIEW AND FUNCTION UNIX_TIMESTAMP
+--echo # Part1 (5.5)
+SET time_zone='+03:00';
+CREATE TABLE t1 (a DATETIME NOT NULL);
+INSERT INTO t1 VALUES ('2009-09-20 07:32:39.06');
+INSERT INTO t1 VALUES ('0000-00-00 00:00:00.00');
+CREATE VIEW v1 AS SELECT * FROM t1;
+SELECT CAST(UNIX_TIMESTAMP(a) AS DECIMAL(25,3)) AS c1 FROM v1 ORDER BY 1;
+DROP VIEW v1;
+DROP TABLE t1;
+SET time_zone=DEFAULT;
+
+
--echo #
--echo # Bug #59686 crash in String::copy() with time data type
--echo #
=== modified file 'mysql-test/t/key_cache.test'
--- a/mysql-test/t/key_cache.test 2010-11-25 03:50:16 +0000
+++ b/mysql-test/t/key_cache.test 2011-12-14 14:33:01 +0000
@@ -251,3 +251,19 @@ SET GLOBAL key_cache_block_size= @bug284
DROP TABLE t1;
# End of 4.1 tests
+
+--echo #
+--echo # Bug#12361113: crash when load index into cache
+--echo #
+
+--echo # Note that this creates an empty disabled key cache!
+SET GLOBAL key_cache_none.key_cache_block_size = 1024;
+CREATE TABLE t1 (a INT, b INTEGER NOT NULL, KEY (b) ) ENGINE = MYISAM;
+INSERT INTO t1 VALUES (1, 1);
+--error ER_UNKNOWN_KEY_CACHE
+CACHE INDEX t1 in key_cache_none;
+--echo # The bug crashed the server at LOAD INDEX below. Now it will succeed
+--echo # since the default cache is used due to CACHE INDEX failed for
+--echo # key_cache_none.
+LOAD INDEX INTO CACHE t1;
+DROP TABLE t1;
=== modified file 'mysql-test/t/mysql.test'
--- a/mysql-test/t/mysql.test 2011-02-23 04:53:07 +0000
+++ b/mysql-test/t/mysql.test 2011-11-15 14:27:21 +0000
@@ -575,12 +575,19 @@ DROP DATABASE connected_db;
--remove_file $MYSQLTEST_VARDIR/tmp/one_db_1.sql
--remove_file $MYSQLTEST_VARDIR/tmp/one_db_2.sql
---echo
---echo End of tests
-
-
#
# WL#3126 TCP address binding for mysql client library;
# - running mysql --protocol=tcp --bind-address=127.0.0.1
#
--exec $MYSQL --protocol=tcp --bind-address=127.0.0.1 -e "select 1 as Connected"
+
+--echo #
+--echo # Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+--echo #
+
+--exec $MYSQL -uroot --password="" -e "SELECT 1" 2>&1
+# This too should throw single warning message.
+--exec $MYSQL -uroot --password="" --password="" -e "SELECT 1" 2>&1
+
+--echo
+--echo End of tests
=== modified file 'mysql-test/t/mysql_upgrade.test'
--- a/mysql-test/t/mysql_upgrade.test 2011-11-15 12:18:42 +0000
+++ b/mysql-test/t/mysql_upgrade.test 2011-12-12 12:55:18 +0000
@@ -105,6 +105,12 @@ DROP USER 'user3'@'%';
--exec $MYSQL_UPGRADE --skip-verbose --force --upgrade-system-tables
--echo #
+--echo # Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+--echo #
+--exec $MYSQL_UPGRADE -uroot --password= --skip-verbose --force 2>&1
+
+
+--echo #
--echo # Bug#11827359 60223: MYSQL_UPGRADE PROBLEM WITH OPTION
--echo # SKIP-WRITE-BINLOG
--echo #
@@ -122,4 +128,5 @@ let $MYSQLD_DATADIR= `select @@datadir`;
# so the following command should never fail.
--remove_file $MYSQLD_DATADIR/mysql_upgrade_info
+--echo
--echo End of tests
=== modified file 'mysql-test/t/mysqladmin.test'
--- a/mysql-test/t/mysqladmin.test 2011-03-17 12:34:53 +0000
+++ b/mysql-test/t/mysqladmin.test 2011-11-15 14:27:21 +0000
@@ -64,3 +64,12 @@ EOF
--exec $MYSQLADMIN --defaults-extra-file=$MYSQLTEST_VARDIR/tmp/cnf_file -uroot -S $MASTER_MYSOCK -P $MASTER_MYPORT ping 2>&1
--remove_file $MYSQLTEST_VARDIR/tmp/cnf_file
+
+--echo #
+--echo # Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+--echo #
+
+--exec $MYSQLADMIN -uroot --password="" -S $MASTER_MYSOCK -P $MASTER_MYPORT ping 2>&1
+
+--echo
+--echo End of tests
=== modified file 'mysql-test/t/mysqlbinlog.test'
--- a/mysql-test/t/mysqlbinlog.test 2011-03-25 15:20:25 +0000
+++ b/mysql-test/t/mysqlbinlog.test 2011-11-15 14:27:21 +0000
@@ -556,3 +556,12 @@ SHOW TABLES IN test;
--exec $MYSQL_BINLOG --server-id=2 $MYSQLD_DATADIR/$master_binlog | $MYSQL
SHOW TABLES IN test;
eval SET GLOBAL SERVER_ID = $old_server_id;
+
+--echo #
+--echo # Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+--echo #
+
+--exec $MYSQL_BINLOG -uroot --password="" std_data/master-bin.000001 2>&1
+
+--echo
+--echo End of tests
=== modified file 'mysql-test/t/mysqlcheck.test'
--- a/mysql-test/t/mysqlcheck.test 2011-12-04 19:11:16 +0000
+++ b/mysql-test/t/mysqlcheck.test 2012-01-12 13:27:57 +0000
@@ -146,6 +146,7 @@ CREATE TABLE `��` (a INT) engine=myisam;
SET NAMES DEFAULT;
--echo mysqlcheck --default-character-set="latin1" --databases test
# Error returned depends on platform, replace it with "Table doesn't exist"
+call mtr.add_suppression("Can't find file: '..test.@003f.frm'");
--replace_result "Can't find file: './test/@003f.frm' (errno: 22 - Invalid argument)" "Table doesn't exist" "Table 'test.?' doesn't exist" "Table doesn't exist"
--exec $MYSQL_CHECK --default-character-set="latin1" --databases test
--echo mysqlcheck --default-character-set="utf8" --databases test
@@ -316,3 +317,19 @@ CHECK TABLE bug47205 FOR UPGRADE;
CHECK TABLE bug47205 FOR UPGRADE;
DROP TABLE bug47205;
+
+
+--echo #
+--echo # Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+--echo #
+
+--disable_warnings
+DROP DATABASE IF EXISTS b12688860_db;
+--enable_warnings
+
+CREATE DATABASE b12688860_db;
+--exec $MYSQL_CHECK -uroot --password="" --fix-db-names b12688860_db 2>&1
+DROP DATABASE b12688860_db;
+
+--echo
+--echo End of tests
=== modified file 'mysql-test/t/mysqldump.test'
--- a/mysql-test/t/mysqldump.test 2012-01-10 10:50:22 +0000
+++ b/mysql-test/t/mysqldump.test 2012-01-12 13:22:52 +0000
@@ -2390,5 +2390,21 @@ DROP DATABASE b12809202_db;
--echo #
RESET MASTER;
+--echo #
+--echo # Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+--echo #
+
+--disable_warnings
+DROP DATABASE IF EXISTS b12688860_db;
+--enable_warnings
+
+CREATE DATABASE b12688860_db;
+--exec $MYSQL_DUMP -uroot --password="" --skip-comments b12688860_db 2>&1
+DROP DATABASE b12688860_db;
+
+
# Wait till we reached the initial number of concurrent sessions
--source include/wait_until_count_sessions.inc
+
+--echo
+--echo End of tests
=== added file 'mysql-test/t/mysqlimport.test'
--- a/mysql-test/t/mysqlimport.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/mysqlimport.test 2011-12-13 14:08:40 +0000
@@ -0,0 +1,28 @@
+# Embedded server doesn't support external clients
+--source include/not_embedded.inc
+
+--echo #
+--echo # Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+--echo #
+
+CREATE DATABASE b12688860_db;
+CREATE TABLE b12688860_db.b12688860_tab (c1 INT);
+
+--echo # Creating a temp sql file to be loaded.
+--write_file $MYSQLTEST_VARDIR/tmp/b12688860_tab.sql
+1
+2
+3
+EOF
+
+--exec $MYSQL_IMPORT -uroot --password="" b12688860_db $MYSQLTEST_VARDIR/tmp/b12688860_tab.sql 2>&1
+
+SELECT * FROM b12688860_db.b12688860_tab;
+DROP TABLE b12688860_db.b12688860_tab;
+DROP DATABASE b12688860_db;
+
+--echo # Dropping the temp file
+--remove_file $MYSQLTEST_VARDIR/tmp/b12688860_tab.sql
+
+--echo
+--echo End of tests
=== modified file 'mysql-test/t/mysqlshow.test'
--- a/mysql-test/t/mysqlshow.test 2011-05-04 09:54:04 +0000
+++ b/mysql-test/t/mysqlshow.test 2011-11-15 14:27:21 +0000
@@ -43,4 +43,21 @@ DROP TABLE t1, t2;
#
--exec $MYSQL_SHOW --protocol=tcp --bind-address=127.0.0.1 test
---echo End of 5.0 tests
+--echo #
+--echo # Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+--echo #
+
+--disable_warnings
+DROP DATABASE IF EXISTS b12688860_db;
+--enable_warnings
+
+CREATE DATABASE b12688860_db;
+CREATE TABLE b12688860_db.b12688860_tab (c1 INT);
+
+--exec $MYSQL_SHOW -uroot --password="" b12688860_db 2>&1
+
+DROP TABLE b12688860_db.b12688860_tab;
+DROP DATABASE b12688860_db;
+
+--echo
+--echo End of tests
=== modified file 'mysql-test/t/mysqlslap.test'
--- a/mysql-test/t/mysqlslap.test 2011-04-08 07:07:57 +0000
+++ b/mysql-test/t/mysqlslap.test 2011-11-15 14:27:21 +0000
@@ -67,3 +67,12 @@ SHOW DATABASES;
SHOW DATABASES;
DROP DATABASE bug58090;
+--echo #
+--echo # Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
+--echo #
+
+--echo Executing mysqlslap with password.
+--exec $MYSQL_SLAP -uroot --password="" --silent --iterations=1 --concurrency=1 --auto-generate-sql 2>&1
+
+--echo
+--echo End of tests
=== modified file 'mysql-test/t/partition_key_cache.test'
--- a/mysql-test/t/partition_key_cache.test 2009-12-22 09:35:56 +0000
+++ b/mysql-test/t/partition_key_cache.test 2011-12-14 14:33:01 +0000
@@ -239,6 +239,34 @@ CACHE INDEX t2 INDEX (`inx_b`) IN hot_ca
CACHE INDEX t1 PARTITION (p0) KEY (`inx_b`) IN hot_cache;
CACHE INDEX t1 INDEX (`inx_b`) IN hot_cache;
DROP TABLE t1,t2;
+
+--echo #
+--echo # Bug#12361113: crash when load index into cache
+--echo #
+--echo # Note that this creates an empty disabled key cache!
+SET GLOBAL key_cache_none.key_cache_block_size = 1024;
+CREATE TABLE t1 (a INT, b INTEGER NOT NULL, KEY (b) )
+ENGINE = MYISAM
+PARTITION BY HASH(a) PARTITIONS 2;
+INSERT INTO t1 VALUES (1, 1);
+--error ER_UNKNOWN_KEY_CACHE
+CACHE INDEX t1 IN key_cache_none;
+--error ER_UNKNOWN_KEY_CACHE
+CACHE INDEX t1 PARTITION (p0) IN key_cache_none;
+--error ER_UNKNOWN_KEY_CACHE
+CACHE INDEX t1 PARTITION (p1) IN key_cache_none;
+--error ER_UNKNOWN_KEY_CACHE
+CACHE INDEX t1 PARTITION (p0) KEY (`b`) IN key_cache_none;
+--error ER_UNKNOWN_KEY_CACHE
+CACHE INDEX t1 PARTITION (p1) KEY (`b`) IN key_cache_none;
+--echo # The bug crashed the server at LOAD INDEX below. Now it will succeed
+--echo # since the default cache is used due to CACHE INDEX failed for
+--echo # key_cache_none.
+LOAD INDEX INTO CACHE t1;
+DROP TABLE t1;
+
+
+--echo # Clean up
SET GLOBAL hot_cache.key_buffer_size = 0;
SET GLOBAL warm_cache.key_buffer_size = 0;
SET @@global.cold_cache.key_buffer_size = 0;
=== modified file 'mysys/default.c'
--- a/mysys/default.c 2011-08-29 12:08:58 +0000
+++ b/mysys/default.c 2011-12-12 12:55:18 +0000
@@ -73,6 +73,13 @@ inline static void set_args_separator(ch
DBUG_ASSERT(my_getopt_use_args_separator);
*arg= (char*)args_separator;
}
+
+/*
+ This flag indicates that the argument separator string
+ (args_separator) should be added to the list of arguments,
+ in order to separate arguments received from config file
+ and command line.
+*/
my_bool my_getopt_use_args_separator= FALSE;
my_bool my_getopt_is_args_separator(const char* arg)
{
=== modified file 'mysys/my_getopt.c'
--- a/mysys/my_getopt.c 2011-11-16 01:01:44 +0000
+++ b/mysys/my_getopt.c 2011-12-12 12:55:18 +0000
@@ -38,6 +38,7 @@ static void init_one_value(const struct
static void fini_one_value(const struct my_option *, void *, longlong);
static int setval(const struct my_option *, void *, char *, my_bool);
static char *check_struct_option(char *cur_arg, char *key_name);
+static void print_cmdline_password_warning();
/*
The following three variables belong to same group and the number and
@@ -431,6 +432,9 @@ int handle_options(int *argc, char ***ar
}
else
argument= optend;
+
+ if (optp->var_type == GET_PASSWORD && is_cmdline_arg && argument)
+ print_cmdline_password_warning();
}
else /* must be short option */
{
@@ -468,6 +472,8 @@ int handle_options(int *argc, char ***ar
argument= optend + 1;
/* This is in effect a jump out of the outer loop */
optend= (char*) " ";
+ if (optp->var_type == GET_PASSWORD && is_cmdline_arg)
+ print_cmdline_password_warning();
}
else
{
@@ -560,6 +566,25 @@ int handle_options(int *argc, char ***ar
}
+/**
+ * This function should be called to print a warning message
+ * if password string is specified on the command line.
+ */
+
+static void print_cmdline_password_warning()
+{
+ static my_bool password_warning_announced= FALSE;
+
+ if (!password_warning_announced)
+ {
+ fprintf(stderr, "Warning: Using a password on the command line "
+ "interface can be insecure.\n");
+ (void) fflush(stderr);
+ password_warning_announced= TRUE;
+ }
+}
+
+
/*
function: check_struct_option
@@ -680,6 +705,7 @@ static int setval(const struct my_option
*((double*) value)= getopt_double(argument, opts, &err);
break;
case GET_STR:
+ case GET_PASSWORD:
if (argument == enabled_my_option)
break; /* string options don't use this default of "1" */
*((char**) value)= argument;
@@ -1134,6 +1160,7 @@ static void init_one_value(const struct
*((double*) variable)= ulonglong2double(value);
break;
case GET_STR:
+ case GET_PASSWORD:
/*
Do not clear variable value if it has no default value.
The default value may already be set.
@@ -1275,6 +1302,7 @@ void my_print_help(const struct my_optio
col++;
}
else if ((optp->var_type & GET_TYPE_MASK) == GET_STR ||
+ (optp->var_type & GET_TYPE_MASK) == GET_PASSWORD ||
(optp->var_type & GET_TYPE_MASK) == GET_STR_ALLOC ||
(optp->var_type & GET_TYPE_MASK) == GET_ENUM ||
(optp->var_type & GET_TYPE_MASK) == GET_SET ||
@@ -1388,6 +1416,7 @@ void my_print_variables(const struct my_
printf("%s\n", get_type(optp->typelib, *(ulong*) value));
break;
case GET_STR:
+ case GET_PASSWORD:
case GET_STR_ALLOC: /* fall through */
printf("%s\n", *((char**) value) ? *((char**) value) :
"(No default value)");
=== modified file 'sql/item.cc'
--- a/sql/item.cc 2012-01-05 10:14:20 +0000
+++ b/sql/item.cc 2012-01-12 13:27:57 +0000
@@ -7524,7 +7524,9 @@ bool Item_direct_ref::is_null()
bool Item_direct_ref::get_date(MYSQL_TIME *ltime,uint fuzzydate)
{
- return (null_value=(*ref)->get_date(ltime,fuzzydate));
+ bool tmp= (*ref)->get_date(ltime, fuzzydate);
+ null_value= (*ref)->null_value;
+ return tmp;
}
=== modified file 'sql/sql_admin.cc'
--- a/sql/sql_admin.cc 2011-12-19 22:31:09 +0000
+++ b/sql/sql_admin.cc 2012-01-12 13:22:52 +0000
@@ -966,6 +966,11 @@ bool mysql_assign_to_keycache(THD* thd,
DBUG_RETURN(TRUE);
}
mysql_mutex_unlock(&LOCK_global_system_variables);
+ if (!key_cache->key_cache_inited)
+ {
+ my_error(ER_UNKNOWN_KEY_CACHE, MYF(0), key_cache_name->str);
+ DBUG_RETURN(true);
+ }
check_opt.key_cache= key_cache;
DBUG_RETURN(mysql_admin_table(thd, tables, &check_opt,
"assign_to_keycache", TL_READ_NO_INSERT, 0, 0,
=== modified file 'storage/myisam/mi_preload.c'
--- a/storage/myisam/mi_preload.c 2011-06-30 15:46:53 +0000
+++ b/storage/myisam/mi_preload.c 2011-12-14 14:33:01 +0000
@@ -53,6 +53,9 @@ int mi_preload(MI_INFO *info, ulonglong
if (!keys || !mi_is_any_key_active(key_map) || key_file_length == pos)
DBUG_RETURN(0);
+ /* Preload into a non initialized key cache should never happen. */
+ DBUG_ASSERT(share->key_cache->key_cache_inited);
+
block_length= keyinfo[0].block_length;
if (ignore_leaves)
No bundle (reason: useless for push emails).| Thread |
|---|
| • bzr push into mysql-trunk branch (Georgi.Kodinov:3722 to 3725) | Georgi Kodinov | 12 Jan |