Loading include/my_pthread.h +7 −1 Original line number Diff line number Diff line Loading @@ -536,9 +536,15 @@ void safe_mutex_end(FILE *file); #define pthread_cond_timedwait(A,B,C) safe_cond_timedwait((A),(B),(C),__FILE__,__LINE__) #define pthread_mutex_trylock(A) pthread_mutex_lock(A) #define pthread_mutex_t safe_mutex_t #define safe_mutex_assert_owner(mp) DBUG_ASSERT((mp)->count > 0 && pthread_equal(pthread_self(),(mp)->thread)) #define safe_mutex_assert_owner(mp) \ DBUG_ASSERT((mp)->count > 0 && \ pthread_equal(pthread_self(), (mp)->thread)) #define safe_mutex_assert_not_owner(mp) \ DBUG_ASSERT(! (mp)->count || \ ! pthread_equal(pthread_self(), (mp)->thread)) #else #define safe_mutex_assert_owner(mp) #define safe_mutex_assert_not_owner(mp) #endif /* SAFE_MUTEX */ /* READ-WRITE thread locking */ Loading mysql-test/r/handler.result +37 −0 Original line number Diff line number Diff line Loading @@ -445,3 +445,40 @@ drop table t2; drop table t3; drop table t4; drop table t5; create table t1 (c1 int); insert into t1 values (1); handler t1 open; handler t1 read first; c1 1 send the below to another connection, do not wait for the result optimize table t1; proceed with the normal connection handler t1 read next; c1 1 handler t1 close; read the result from the other connection Table Op Msg_type Msg_text test.t1 optimize status OK proceed with the normal connection drop table t1; create table t1 (c1 int); insert into t1 values (14397); flush tables with read lock; drop table t1; ERROR HY000: Can't execute the query because you have a conflicting read lock send the below to another connection, do not wait for the result drop table t1; proceed with the normal connection select * from t1; c1 14397 unlock tables; read the result from the other connection proceed with the normal connection select * from t1; ERROR 42S02: Table 'test.t1' doesn't exist drop table if exists t1; Warnings: Note 1051 Unknown table 't1' mysql-test/r/myisam.result +10 −0 Original line number Diff line number Diff line Loading @@ -505,6 +505,16 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 system NULL NULL NULL NULL 1 Using temporary 1 SIMPLE t2 index NULL PRIMARY 4 NULL 2 Using index; Distinct drop table t1,t2; create table t1 ( c1 varchar(32), key (c1) ) engine=myisam; alter table t1 disable keys; insert into t1 values ('a'), ('b'); select c1 from t1 order by c1 limit 1; c1 a drop table t1; CREATE TABLE t1 (`a` int(11) NOT NULL default '0', `b` int(11) NOT NULL default '0', UNIQUE KEY `a` USING RTREE (`a`,`b`)) ENGINE=MyISAM; Got one of the listed errors create table t1 (a int, b varchar(200), c text not null) checksum=1; Loading mysql-test/r/ndb_charset.result +15 −5 Original line number Diff line number Diff line Loading @@ -306,11 +306,21 @@ count(*) drop table t1; create table t1 ( a char(10) primary key ) engine=ndb; insert into t1 values ('jonas % '); replace into t1 values ('jonas % '); replace into t1 values ('jonas % '); ) engine=ndbcluster default charset=latin1; insert into t1 values ('aaabb'); select * from t1; a aaabb replace into t1 set a = 'AAABB'; select * from t1; a AAABB replace into t1 set a = 'aAaBb'; select * from t1; a aAaBb replace into t1 set a = 'aaabb'; select * from t1; a jonas % aaabb drop table t1; mysql-test/r/rpl_sp.result +25 −0 Original line number Diff line number Diff line Loading @@ -375,3 +375,28 @@ drop procedure foo; drop function fn1; drop database mysqltest1; drop user "zedjzlcsjhd"@127.0.0.1; use test; use test; drop function if exists f1; create function f1() returns int reads sql data begin declare var integer; declare c cursor for select a from v1; open c; fetch c into var; close c; return var; end| create view v1 as select 1 as a; create table t1 (a int); insert into t1 (a) values (f1()); select * from t1; a 1 drop view v1; drop function f1; select * from t1; a 1 drop table t1; reset master; Loading
include/my_pthread.h +7 −1 Original line number Diff line number Diff line Loading @@ -536,9 +536,15 @@ void safe_mutex_end(FILE *file); #define pthread_cond_timedwait(A,B,C) safe_cond_timedwait((A),(B),(C),__FILE__,__LINE__) #define pthread_mutex_trylock(A) pthread_mutex_lock(A) #define pthread_mutex_t safe_mutex_t #define safe_mutex_assert_owner(mp) DBUG_ASSERT((mp)->count > 0 && pthread_equal(pthread_self(),(mp)->thread)) #define safe_mutex_assert_owner(mp) \ DBUG_ASSERT((mp)->count > 0 && \ pthread_equal(pthread_self(), (mp)->thread)) #define safe_mutex_assert_not_owner(mp) \ DBUG_ASSERT(! (mp)->count || \ ! pthread_equal(pthread_self(), (mp)->thread)) #else #define safe_mutex_assert_owner(mp) #define safe_mutex_assert_not_owner(mp) #endif /* SAFE_MUTEX */ /* READ-WRITE thread locking */ Loading
mysql-test/r/handler.result +37 −0 Original line number Diff line number Diff line Loading @@ -445,3 +445,40 @@ drop table t2; drop table t3; drop table t4; drop table t5; create table t1 (c1 int); insert into t1 values (1); handler t1 open; handler t1 read first; c1 1 send the below to another connection, do not wait for the result optimize table t1; proceed with the normal connection handler t1 read next; c1 1 handler t1 close; read the result from the other connection Table Op Msg_type Msg_text test.t1 optimize status OK proceed with the normal connection drop table t1; create table t1 (c1 int); insert into t1 values (14397); flush tables with read lock; drop table t1; ERROR HY000: Can't execute the query because you have a conflicting read lock send the below to another connection, do not wait for the result drop table t1; proceed with the normal connection select * from t1; c1 14397 unlock tables; read the result from the other connection proceed with the normal connection select * from t1; ERROR 42S02: Table 'test.t1' doesn't exist drop table if exists t1; Warnings: Note 1051 Unknown table 't1'
mysql-test/r/myisam.result +10 −0 Original line number Diff line number Diff line Loading @@ -505,6 +505,16 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 system NULL NULL NULL NULL 1 Using temporary 1 SIMPLE t2 index NULL PRIMARY 4 NULL 2 Using index; Distinct drop table t1,t2; create table t1 ( c1 varchar(32), key (c1) ) engine=myisam; alter table t1 disable keys; insert into t1 values ('a'), ('b'); select c1 from t1 order by c1 limit 1; c1 a drop table t1; CREATE TABLE t1 (`a` int(11) NOT NULL default '0', `b` int(11) NOT NULL default '0', UNIQUE KEY `a` USING RTREE (`a`,`b`)) ENGINE=MyISAM; Got one of the listed errors create table t1 (a int, b varchar(200), c text not null) checksum=1; Loading
mysql-test/r/ndb_charset.result +15 −5 Original line number Diff line number Diff line Loading @@ -306,11 +306,21 @@ count(*) drop table t1; create table t1 ( a char(10) primary key ) engine=ndb; insert into t1 values ('jonas % '); replace into t1 values ('jonas % '); replace into t1 values ('jonas % '); ) engine=ndbcluster default charset=latin1; insert into t1 values ('aaabb'); select * from t1; a aaabb replace into t1 set a = 'AAABB'; select * from t1; a AAABB replace into t1 set a = 'aAaBb'; select * from t1; a aAaBb replace into t1 set a = 'aaabb'; select * from t1; a jonas % aaabb drop table t1;
mysql-test/r/rpl_sp.result +25 −0 Original line number Diff line number Diff line Loading @@ -375,3 +375,28 @@ drop procedure foo; drop function fn1; drop database mysqltest1; drop user "zedjzlcsjhd"@127.0.0.1; use test; use test; drop function if exists f1; create function f1() returns int reads sql data begin declare var integer; declare c cursor for select a from v1; open c; fetch c into var; close c; return var; end| create view v1 as select 1 as a; create table t1 (a int); insert into t1 (a) values (f1()); select * from t1; a 1 drop view v1; drop function f1; select * from t1; a 1 drop table t1; reset master;