2004-08-06 18:11:14 +02:00
|
|
|
use test;
|
|
|
|
drop table if exists t1;
|
|
|
|
create table t1 (s1 int, s2 int, s3 int);
|
|
|
|
create procedure bug4934()
|
|
|
|
begin
|
|
|
|
insert into t1 values (1,0,1);
|
|
|
|
end//
|
|
|
|
use test;
|
|
|
|
call bug4934();
|
|
|
|
select * from t1;
|
|
|
|
s1 s2 s3
|
|
|
|
1 0 1
|
|
|
|
drop table t1;
|
|
|
|
create table t1 (s1 int, s2 int, s3 int);
|
|
|
|
drop procedure bug4934;
|
|
|
|
create procedure bug4934()
|
|
|
|
begin
|
|
|
|
end//
|
|
|
|
select * from t1;
|
|
|
|
s1 s2 s3
|
|
|
|
call bug4934();
|
|
|
|
select * from t1;
|
|
|
|
s1 s2 s3
|
|
|
|
drop table t1;
|
|
|
|
drop procedure bug4934;
|
2005-04-15 20:31:47 +04:00
|
|
|
drop procedure if exists bug9486;
|
|
|
|
drop table if exists t1, t2;
|
|
|
|
create table t1 (id1 int, val int);
|
|
|
|
create table t2 (id2 int);
|
|
|
|
create procedure bug9486()
|
|
|
|
update t1, t2 set val= 1 where id1=id2;
|
|
|
|
call bug9486();
|
|
|
|
lock tables t2 write;
|
Update tests and result files after running with new mysqltest that better detects problems with test files
mysql-test/r/csv.result:
Update after add of missing semicolon
mysql-test/r/drop.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/flush.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/flush_block_commit.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/flush_read_lock_kill.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/grant2.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/handler.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/innodb_notembedded.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/kill.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/lock_multi.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/multi_update.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/mysqltest.result:
Update result
mysql-test/r/query_cache.result:
Update after add of missing semicolon
mysql-test/r/query_cache_notembedded.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/sp-threads.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/sp_notembedded.result:
Update after add of missing semicolon
mysql-test/r/type_blob.result:
Remove extra drop table
mysql-test/t/csv.test:
Add missing semicolon
mysql-test/t/query_cache.test:
Add missing semicolon
mysql-test/t/sp-error.test:
Remove "tab" from end of error declaration
mysql-test/t/sp.test:
Wrong delimiter, used ; instead of |
mysql-test/t/sp_notembedded.test:
Wrong delimiter, used ; instead of |
mysql-test/t/view_grant.test:
An incomplete error name specification was used.
2006-10-04 13:09:37 +02:00
|
|
|
call bug9486();
|
2005-04-15 20:31:47 +04:00
|
|
|
show processlist;
|
|
|
|
Id User Host db Command Time State Info
|
|
|
|
# root localhost test Sleep # NULL
|
Part of fix for bug#52044 "FLUSH TABLES WITH READ LOCK and
FLUSH TABLES <list> WITH READ LOCK are incompatible" to
be pushed as separate patch.
Replaced thread state name "Waiting for table", which was
used by threads waiting for a metadata lock or table flush,
with a set of names which better reflect types of resources
being waited for.
Also replaced "Table lock" thread state name, which was used
by threads waiting on thr_lock.c table level lock, with more
elaborate "Waiting for table level lock", to make it
more consistent with other thread state names.
Updated test cases and their results according to these
changes.
Fixed sys_vars.query_cache_wlock_invalidate_func test to not
to wait for timeout of wait_condition.inc script.
mysql-test/r/query_cache.result:
Added test coverage for query_cache_wlock_invalidate
behavior for implicitly locked tables.
mysql-test/suite/sys_vars/r/query_cache_wlock_invalidate_func.result:
Fixed sys_vars.query_cache_wlock_invalidate_func test to not
to wait for timeout of wait_condition.inc script. Reverted
changes to test which introduced timeout and replaced waiting
condition with a more appropriate one.
Test coverage for query_cache_wlock_invalidate behavior for
implicitly locked tables was added to query_cache.test.
mysql-test/suite/sys_vars/t/query_cache_wlock_invalidate_func.test:
Fixed sys_vars.query_cache_wlock_invalidate_func test to not
to wait for timeout of wait_condition.inc script. Reverted
changes to test which introduced timeout and replaced waiting
condition with a more appropriate one.
Test coverage for query_cache_wlock_invalidate behavior for
implicitly locked tables was added to query_cache.test.
mysql-test/t/query_cache.test:
Added test coverage for query_cache_wlock_invalidate
behavior for implicitly locked tables.
mysys/thr_lock.c:
Replaced "Table lock" thread state name, which was used by
threads waiting on thr_lock.c table level lock, with more
elaborate "Waiting for table level lock", to make it
consistent with thread state names which are used while
waiting for metadata locks and table flush.
sql/mdl.cc:
Replaced thread state name "Waiting for table", which was
used by threads waiting for a metadata lock or table flush,
with a set of names which better reflect types of resources
being waited for.
To implement this:
- Adjusted MDL_wait::timed_wait() to take thread state name
as parameter.
- Introduced method of MDL_key class which allows to get
thread state name to be used while waiting for resource
corresponding to the key and changed code to use it.
Added array translating namespaces to thread state names
as part of this change.
sql/mdl.h:
To implement this:
- Adjusted MDL_wait::timed_wait() to take thread state name
as parameter.
- Introduced method of MDL_key class which allows to get
thread state name to be used while waiting for resource
corresponding to the key and changed code to use it.
Added array translating namespaces to thread state names
as part of this change.
sql/sql_base.cc:
Replaced thread state name "Waiting for table", which was
used by threads waiting for table flush, with a more elaborate
"Waiting for table flush".
2010-08-06 15:29:37 +04:00
|
|
|
# root localhost test Query # Waiting for table metadata lock update t1, t2 set val= 1 where id1=id2
|
2005-04-15 20:31:47 +04:00
|
|
|
# root localhost test Query # NULL show processlist
|
2005-08-10 21:17:02 +00:00
|
|
|
# root localhost test Sleep # NULL
|
2005-04-15 20:31:47 +04:00
|
|
|
unlock tables;
|
|
|
|
drop procedure bug9486;
|
|
|
|
drop table t1, t2;
|
2005-06-09 01:07:52 +04:00
|
|
|
drop procedure if exists bug11158;
|
|
|
|
create procedure bug11158() delete t1 from t1, t2 where t1.id = t2.id;
|
|
|
|
create table t1 (id int, j int);
|
|
|
|
insert into t1 values (1, 1), (2, 2);
|
|
|
|
create table t2 (id int);
|
|
|
|
insert into t2 values (1);
|
|
|
|
call bug11158();
|
|
|
|
select * from t1;
|
|
|
|
id j
|
|
|
|
2 2
|
|
|
|
lock tables t2 read;
|
|
|
|
call bug11158();
|
|
|
|
unlock tables;
|
|
|
|
drop procedure bug11158;
|
|
|
|
drop table t1, t2;
|
2005-07-13 13:48:13 +04:00
|
|
|
drop function if exists bug11554;
|
|
|
|
drop view if exists v1;
|
|
|
|
create table t1 (i int);
|
|
|
|
create function bug11554 () returns int return 1;
|
|
|
|
create view v1 as select bug11554() as f;
|
|
|
|
insert into t1 (select f from v1);
|
|
|
|
drop function bug11554;
|
|
|
|
drop table t1;
|
|
|
|
drop view v1;
|
2005-08-10 21:17:02 +00:00
|
|
|
drop procedure if exists p1;
|
|
|
|
drop procedure if exists p2;
|
|
|
|
create table t1 (s1 int)|
|
|
|
|
create procedure p1() select * from t1|
|
|
|
|
create procedure p2()
|
|
|
|
begin
|
|
|
|
insert into t1 values (1);
|
|
|
|
call p1();
|
|
|
|
select * from t1;
|
|
|
|
end|
|
|
|
|
use test;
|
|
|
|
lock table t1 write;
|
Update tests and result files after running with new mysqltest that better detects problems with test files
mysql-test/r/csv.result:
Update after add of missing semicolon
mysql-test/r/drop.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/flush.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/flush_block_commit.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/flush_read_lock_kill.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/grant2.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/handler.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/innodb_notembedded.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/kill.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/lock_multi.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/multi_update.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/mysqltest.result:
Update result
mysql-test/r/query_cache.result:
Update after add of missing semicolon
mysql-test/r/query_cache_notembedded.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/sp-threads.result:
Update result file, no space before commands that has been "sent"
mysql-test/r/sp_notembedded.result:
Update after add of missing semicolon
mysql-test/r/type_blob.result:
Remove extra drop table
mysql-test/t/csv.test:
Add missing semicolon
mysql-test/t/query_cache.test:
Add missing semicolon
mysql-test/t/sp-error.test:
Remove "tab" from end of error declaration
mysql-test/t/sp.test:
Wrong delimiter, used ; instead of |
mysql-test/t/sp_notembedded.test:
Wrong delimiter, used ; instead of |
mysql-test/t/view_grant.test:
An incomplete error name specification was used.
2006-10-04 13:09:37 +02:00
|
|
|
call p2();
|
2005-08-10 21:17:02 +00:00
|
|
|
use test;
|
|
|
|
drop procedure p1;
|
|
|
|
create procedure p1() select * from t1;
|
|
|
|
unlock tables;
|
|
|
|
s1
|
|
|
|
1
|
|
|
|
s1
|
|
|
|
1
|
|
|
|
drop procedure p1;
|
|
|
|
drop procedure p2;
|
|
|
|
drop table t1;
|