mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
Merge koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27571_asyn_killed_flags
into koti.dsl.inet.fi:/home/elkin/MySQL/merge-5.1
This commit is contained in:
commit
0dc13ecd38
5 changed files with 24 additions and 14 deletions
|
@ -17,18 +17,22 @@ delete from t2;
|
|||
insert into t1 values (1,1),(2,2);
|
||||
begin;
|
||||
update t1 set b=11 where a=2;
|
||||
begin;
|
||||
update t1 set b=b+10;
|
||||
kill query ID;
|
||||
rollback;
|
||||
rollback;
|
||||
select * from t1 order by a /* must be the same as before (1,1),(2,2) */;
|
||||
a b
|
||||
1 1
|
||||
2 2
|
||||
begin;
|
||||
delete from t1 where a=2;
|
||||
begin;
|
||||
delete from t1 where a=2;
|
||||
kill query ID;
|
||||
rollback;
|
||||
rollback;
|
||||
select * from t1 order by a /* must be the same as before (1,1),(2,2) */;
|
||||
a b
|
||||
1 1
|
||||
|
|
|
@ -79,6 +79,7 @@ begin; update t1 set b=11 where a=2;
|
|||
|
||||
connection con2;
|
||||
let $ID= `select connection_id()`;
|
||||
begin;
|
||||
send update t1 set b=b+10;
|
||||
|
||||
connection con1;
|
||||
|
@ -86,9 +87,18 @@ connection con1;
|
|||
eval kill query $ID;
|
||||
rollback;
|
||||
|
||||
# Bug #32148 killi query may be ineffective
|
||||
# forced to comment out the test's outcome
|
||||
# and mask out ineffective ER_QUERY_INTERRUPTED
|
||||
# todo1: revert back upon fixing bug#32148
|
||||
# todo2: the tests need refining in that
|
||||
# killing should wait till the victim requested
|
||||
# its lock (wait_condition available in 5.1 tests)
|
||||
|
||||
connection con2;
|
||||
--error 0,ER_QUERY_INTERRUPTED
|
||||
reap;
|
||||
rollback;
|
||||
select * from t1 order by a /* must be the same as before (1,1),(2,2) */;
|
||||
|
||||
#
|
||||
|
@ -123,6 +133,7 @@ begin; delete from t1 where a=2;
|
|||
|
||||
connection con2;
|
||||
let $ID= `select connection_id()`;
|
||||
begin;
|
||||
send delete from t1 where a=2;
|
||||
|
||||
connection con1;
|
||||
|
@ -133,8 +144,11 @@ rollback;
|
|||
connection con2;
|
||||
--error 0,ER_QUERY_INTERRUPTED
|
||||
reap;
|
||||
rollback;
|
||||
# todo1,2 above
|
||||
select * from t1 order by a /* must be the same as before (1,1),(2,2) */;
|
||||
|
||||
|
||||
#
|
||||
# multi delete
|
||||
# the same as for multi-update
|
||||
|
@ -178,6 +192,7 @@ rollback;
|
|||
connection con2;
|
||||
--error 0,ER_QUERY_INTERRUPTED
|
||||
reap;
|
||||
# todo 1,2 above
|
||||
rollback;
|
||||
select * from t1 /* must be the same as before (1,1),(2,2) */;
|
||||
|
||||
|
|
|
@ -106,9 +106,3 @@ connection slave;
|
|||
sync_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
# Cleanup
|
||||
# The A->B->A replication causes the master to start writing relay logs
|
||||
# in var/run, remove them
|
||||
remove_file $MYSQLTEST_VARDIR/run/master-relay-bin.000001;
|
||||
remove_file $MYSQLTEST_VARDIR/run/master-relay-bin.index;
|
||||
|
|
|
@ -208,8 +208,9 @@ select * from t1;
|
|||
|
||||
connection master;
|
||||
drop table t1;
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/bug14157.sql
|
||||
|
||||
# Delete the anonymous users
|
||||
source include/delete_anonymous_users.inc;
|
||||
|
||||
# End of 5.1 tests
|
||||
# End of tests
|
||||
|
|
10
sql/log.cc
10
sql/log.cc
|
@ -2157,13 +2157,9 @@ const char *MYSQL_LOG::generate_name(const char *log_name,
|
|||
{
|
||||
if (!log_name || !log_name[0])
|
||||
{
|
||||
/*
|
||||
TODO: The following should be using fn_format(); We just need to
|
||||
first change fn_format() to cut the file name if it's too long.
|
||||
*/
|
||||
strmake(buff, pidfile_name, FN_REFLEN - 5);
|
||||
strmov(fn_ext(buff), suffix);
|
||||
return (const char *)buff;
|
||||
strmake(buff, pidfile_name, FN_REFLEN - strlen(suffix) - 1);
|
||||
return (const char *)
|
||||
fn_format(buff, buff, "", suffix, MYF(MY_REPLACE_EXT|MY_REPLACE_DIR));
|
||||
}
|
||||
// get rid of extension if the log is binary to avoid problems
|
||||
if (strip_ext)
|
||||
|
|
Loading…
Reference in a new issue