Loading client/mysqltest.c +10 −3 Original line number Diff line number Diff line Loading @@ -264,7 +264,7 @@ enum enum_commands { Q_IF, Q_DISABLE_PARSING, Q_ENABLE_PARSING, Q_REPLACE_REGEX, Q_REMOVE_FILE, Q_FILE_EXIST, Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT, Q_UNKNOWN, /* Unknown command. */ Q_COMMENT, /* Comments, ignored. */ Loading Loading @@ -345,6 +345,8 @@ const char *command_names[]= "copy_file", "perl", "die", /* Don't execute any more commands, compare result */ "exit", 0 }; Loading Loading @@ -5429,7 +5431,7 @@ void mark_progress(struct st_command* command __attribute__((unused)), int main(int argc, char **argv) { struct st_command *command; my_bool q_send_flag= 0; my_bool q_send_flag= 0, abort_flag= 0; uint command_executed= 0, last_command_executed= 0; char save_file[FN_REFLEN]; MY_STAT res_info; Loading Loading @@ -5549,7 +5551,7 @@ int main(int argc, char **argv) open_file(opt_include); } while (!read_command(&command)) while (!read_command(&command) && !abort_flag) { int current_line_inc = 1, processed = 0; if (command->type == Q_UNKNOWN || command->type == Q_COMMENT_WITH_COMMAND) Loading Loading @@ -5777,8 +5779,13 @@ int main(int argc, char **argv) die("Parsing is already enabled"); break; case Q_DIE: /* Abort test with error code and error message */ die("%s", command->first_argument); break; case Q_EXIT: /* Stop processing any more commands */ abort_flag= 1; break; case Q_RESULT: die("result, deprecated command"); Loading mysql-test/include/mix1.inc +6 −0 Original line number Diff line number Diff line Loading @@ -342,6 +342,12 @@ SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id DROP TABLE t1,t2; # # Bug#17530: Incorrect key truncation on table creation caused server crash. # create table t1(f1 varchar(800) binary not null, key(f1)) engine = innodb character set utf8 collate utf8_general_ci; insert into t1 values('aaa'); drop table t1; # Test of behaviour with CREATE ... SELECT # Loading mysql-test/r/innodb_mysql.result +6 −0 Original line number Diff line number Diff line Loading @@ -300,6 +300,12 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t2 index NULL fkey 5 NULL 5 Using index 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.fkey 1 Using where DROP TABLE t1,t2; create table t1(f1 varchar(800) binary not null, key(f1)) engine = innodb character set utf8 collate utf8_general_ci; Warnings: Warning 1071 Specified key was too long; max key length is 765 bytes insert into t1 values('aaa'); drop table t1; CREATE TABLE t1 (a int, b int); insert into t1 values (1,1),(1,2); CREATE TABLE t2 (primary key (a)) select * from t1; Loading mysql-test/r/mysqltest.result +2 −0 Original line number Diff line number Diff line Loading @@ -518,4 +518,6 @@ hello mysqltest: At line 1: Max delimiter length(16) exceeded hello hello mysqltest: At line 1: test of die Some output End of tests mysql-test/t/lock_multi.test +3 −0 Original line number Diff line number Diff line Loading @@ -244,7 +244,10 @@ DROP DATABASE mysqltest_1; # Bug #17264: MySQL Server freeze # connection locker; # Disable warnings to allow test to run also without InnoDB --disable_warnings create table t1 (f1 int(12) unsigned not null auto_increment, primary key(f1)) engine=innodb; --enable_warnings lock tables t1 write; connection writer; --sleep 2 Loading Loading
client/mysqltest.c +10 −3 Original line number Diff line number Diff line Loading @@ -264,7 +264,7 @@ enum enum_commands { Q_IF, Q_DISABLE_PARSING, Q_ENABLE_PARSING, Q_REPLACE_REGEX, Q_REMOVE_FILE, Q_FILE_EXIST, Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT, Q_UNKNOWN, /* Unknown command. */ Q_COMMENT, /* Comments, ignored. */ Loading Loading @@ -345,6 +345,8 @@ const char *command_names[]= "copy_file", "perl", "die", /* Don't execute any more commands, compare result */ "exit", 0 }; Loading Loading @@ -5429,7 +5431,7 @@ void mark_progress(struct st_command* command __attribute__((unused)), int main(int argc, char **argv) { struct st_command *command; my_bool q_send_flag= 0; my_bool q_send_flag= 0, abort_flag= 0; uint command_executed= 0, last_command_executed= 0; char save_file[FN_REFLEN]; MY_STAT res_info; Loading Loading @@ -5549,7 +5551,7 @@ int main(int argc, char **argv) open_file(opt_include); } while (!read_command(&command)) while (!read_command(&command) && !abort_flag) { int current_line_inc = 1, processed = 0; if (command->type == Q_UNKNOWN || command->type == Q_COMMENT_WITH_COMMAND) Loading Loading @@ -5777,8 +5779,13 @@ int main(int argc, char **argv) die("Parsing is already enabled"); break; case Q_DIE: /* Abort test with error code and error message */ die("%s", command->first_argument); break; case Q_EXIT: /* Stop processing any more commands */ abort_flag= 1; break; case Q_RESULT: die("result, deprecated command"); Loading
mysql-test/include/mix1.inc +6 −0 Original line number Diff line number Diff line Loading @@ -342,6 +342,12 @@ SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id DROP TABLE t1,t2; # # Bug#17530: Incorrect key truncation on table creation caused server crash. # create table t1(f1 varchar(800) binary not null, key(f1)) engine = innodb character set utf8 collate utf8_general_ci; insert into t1 values('aaa'); drop table t1; # Test of behaviour with CREATE ... SELECT # Loading
mysql-test/r/innodb_mysql.result +6 −0 Original line number Diff line number Diff line Loading @@ -300,6 +300,12 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t2 index NULL fkey 5 NULL 5 Using index 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.fkey 1 Using where DROP TABLE t1,t2; create table t1(f1 varchar(800) binary not null, key(f1)) engine = innodb character set utf8 collate utf8_general_ci; Warnings: Warning 1071 Specified key was too long; max key length is 765 bytes insert into t1 values('aaa'); drop table t1; CREATE TABLE t1 (a int, b int); insert into t1 values (1,1),(1,2); CREATE TABLE t2 (primary key (a)) select * from t1; Loading
mysql-test/r/mysqltest.result +2 −0 Original line number Diff line number Diff line Loading @@ -518,4 +518,6 @@ hello mysqltest: At line 1: Max delimiter length(16) exceeded hello hello mysqltest: At line 1: test of die Some output End of tests
mysql-test/t/lock_multi.test +3 −0 Original line number Diff line number Diff line Loading @@ -244,7 +244,10 @@ DROP DATABASE mysqltest_1; # Bug #17264: MySQL Server freeze # connection locker; # Disable warnings to allow test to run also without InnoDB --disable_warnings create table t1 (f1 int(12) unsigned not null auto_increment, primary key(f1)) engine=innodb; --enable_warnings lock tables t1 write; connection writer; --sleep 2 Loading