Improve the testcases for Bug 12093 in ps_ddl.test
Details: - add subtest with drop unrelated view - rearrange existing tests so that a distinction between drop procedure and drop function effects is possible
This commit is contained in:
parent
c8d01f1401
commit
632cf8ef43
25
mysql-test/include/ps_ddl_1.inc
Normal file
25
mysql-test/include/ps_ddl_1.inc
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# include/ps_ddl_1.inc
|
||||||
|
#
|
||||||
|
# Auxiliary script to be used in ps_ddl.test
|
||||||
|
#
|
||||||
|
|
||||||
|
prepare stmt_sf from 'select f_12093();';
|
||||||
|
prepare stmt_sp from 'call p_12093(f_12093())';
|
||||||
|
execute stmt_sf;
|
||||||
|
execute stmt_sp;
|
||||||
|
|
||||||
|
connection con1;
|
||||||
|
eval $my_drop;
|
||||||
|
#
|
||||||
|
connection default;
|
||||||
|
--echo # XXX: used to be a bug
|
||||||
|
execute stmt_sf;
|
||||||
|
--echo # XXX: used to be a bug
|
||||||
|
execute stmt_sp;
|
||||||
|
#
|
||||||
|
--echo # XXX: used to be a bug
|
||||||
|
execute stmt_sf;
|
||||||
|
--echo # XXX: used to be a bug
|
||||||
|
execute stmt_sp;
|
||||||
|
|
||||||
|
connection default;
|
@ -1567,11 +1567,13 @@ drop table if exists t_12093;
|
|||||||
drop function if exists f_12093;
|
drop function if exists f_12093;
|
||||||
drop function if exists f_12093_unrelated;
|
drop function if exists f_12093_unrelated;
|
||||||
drop procedure if exists p_12093;
|
drop procedure if exists p_12093;
|
||||||
|
drop view if exists v_12093_unrelated;
|
||||||
create table t_12093 (a int);
|
create table t_12093 (a int);
|
||||||
create function f_12093() returns int return (select count(*) from t_12093);
|
create function f_12093() returns int return (select count(*) from t_12093);
|
||||||
create procedure p_12093(a int) select * from t_12093;
|
create procedure p_12093(a int) select * from t_12093;
|
||||||
create function f_12093_unrelated() returns int return 2;
|
create function f_12093_unrelated() returns int return 2;
|
||||||
create procedure p_12093_unrelated() begin end;
|
create procedure p_12093_unrelated() begin end;
|
||||||
|
create view v_12093_unrelated as select * from t_12093;
|
||||||
prepare stmt_sf from 'select f_12093();';
|
prepare stmt_sf from 'select f_12093();';
|
||||||
prepare stmt_sp from 'call p_12093(f_12093())';
|
prepare stmt_sp from 'call p_12093(f_12093())';
|
||||||
execute stmt_sf;
|
execute stmt_sf;
|
||||||
@ -1580,6 +1582,27 @@ f_12093()
|
|||||||
execute stmt_sp;
|
execute stmt_sp;
|
||||||
a
|
a
|
||||||
drop function f_12093_unrelated;
|
drop function f_12093_unrelated;
|
||||||
|
# XXX: used to be a bug
|
||||||
|
execute stmt_sf;
|
||||||
|
f_12093()
|
||||||
|
0
|
||||||
|
# XXX: used to be a bug
|
||||||
|
execute stmt_sp;
|
||||||
|
a
|
||||||
|
# XXX: used to be a bug
|
||||||
|
execute stmt_sf;
|
||||||
|
f_12093()
|
||||||
|
0
|
||||||
|
# XXX: used to be a bug
|
||||||
|
execute stmt_sp;
|
||||||
|
a
|
||||||
|
prepare stmt_sf from 'select f_12093();';
|
||||||
|
prepare stmt_sp from 'call p_12093(f_12093())';
|
||||||
|
execute stmt_sf;
|
||||||
|
f_12093()
|
||||||
|
0
|
||||||
|
execute stmt_sp;
|
||||||
|
a
|
||||||
drop procedure p_12093_unrelated;
|
drop procedure p_12093_unrelated;
|
||||||
# XXX: used to be a bug
|
# XXX: used to be a bug
|
||||||
execute stmt_sf;
|
execute stmt_sf;
|
||||||
@ -1595,7 +1618,29 @@ f_12093()
|
|||||||
# XXX: used to be a bug
|
# XXX: used to be a bug
|
||||||
execute stmt_sp;
|
execute stmt_sp;
|
||||||
a
|
a
|
||||||
call p_verify_reprepare_count(2);
|
prepare stmt_sf from 'select f_12093();';
|
||||||
|
prepare stmt_sp from 'call p_12093(f_12093())';
|
||||||
|
execute stmt_sf;
|
||||||
|
f_12093()
|
||||||
|
0
|
||||||
|
execute stmt_sp;
|
||||||
|
a
|
||||||
|
drop view v_12093_unrelated;
|
||||||
|
# XXX: used to be a bug
|
||||||
|
execute stmt_sf;
|
||||||
|
f_12093()
|
||||||
|
0
|
||||||
|
# XXX: used to be a bug
|
||||||
|
execute stmt_sp;
|
||||||
|
a
|
||||||
|
# XXX: used to be a bug
|
||||||
|
execute stmt_sf;
|
||||||
|
f_12093()
|
||||||
|
0
|
||||||
|
# XXX: used to be a bug
|
||||||
|
execute stmt_sp;
|
||||||
|
a
|
||||||
|
call p_verify_reprepare_count(6);
|
||||||
SUCCESS
|
SUCCESS
|
||||||
|
|
||||||
drop table t_12093;
|
drop table t_12093;
|
||||||
|
@ -1363,44 +1363,34 @@ drop table if exists t_12093;
|
|||||||
drop function if exists f_12093;
|
drop function if exists f_12093;
|
||||||
drop function if exists f_12093_unrelated;
|
drop function if exists f_12093_unrelated;
|
||||||
drop procedure if exists p_12093;
|
drop procedure if exists p_12093;
|
||||||
|
drop view if exists v_12093_unrelated;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
create table t_12093 (a int);
|
create table t_12093 (a int);
|
||||||
|
|
||||||
create function f_12093() returns int return (select count(*) from t_12093);
|
create function f_12093() returns int return (select count(*) from t_12093);
|
||||||
|
|
||||||
create procedure p_12093(a int) select * from t_12093;
|
create procedure p_12093(a int) select * from t_12093;
|
||||||
|
|
||||||
create function f_12093_unrelated() returns int return 2;
|
create function f_12093_unrelated() returns int return 2;
|
||||||
create procedure p_12093_unrelated() begin end;
|
create procedure p_12093_unrelated() begin end;
|
||||||
|
create view v_12093_unrelated as select * from t_12093;
|
||||||
prepare stmt_sf from 'select f_12093();';
|
|
||||||
prepare stmt_sp from 'call p_12093(f_12093())';
|
|
||||||
|
|
||||||
execute stmt_sf;
|
|
||||||
execute stmt_sp;
|
|
||||||
|
|
||||||
connect (con1,localhost,root,,);
|
connect (con1,localhost,root,,);
|
||||||
connection con1;
|
|
||||||
|
|
||||||
drop function f_12093_unrelated;
|
|
||||||
drop procedure p_12093_unrelated;
|
|
||||||
|
|
||||||
connection default;
|
connection default;
|
||||||
|
|
||||||
--echo # XXX: used to be a bug
|
let $my_drop = drop function f_12093_unrelated;
|
||||||
execute stmt_sf;
|
--source include/ps_ddl_1.inc
|
||||||
--echo # XXX: used to be a bug
|
#
|
||||||
execute stmt_sp;
|
let $my_drop = drop procedure p_12093_unrelated;
|
||||||
|
--source include/ps_ddl_1.inc
|
||||||
|
#
|
||||||
|
# A reprepare of stmt_sf and stmt_sp is necessary because there is no
|
||||||
|
# information about views within the table definition cache.
|
||||||
|
let $my_drop = drop view v_12093_unrelated;
|
||||||
|
--source include/ps_ddl_1.inc
|
||||||
|
|
||||||
--echo # XXX: used to be a bug
|
call p_verify_reprepare_count(6);
|
||||||
execute stmt_sf;
|
|
||||||
--echo # XXX: used to be a bug
|
|
||||||
execute stmt_sp;
|
|
||||||
call p_verify_reprepare_count(2);
|
|
||||||
|
|
||||||
disconnect con1;
|
disconnect con1;
|
||||||
|
|
||||||
drop table t_12093;
|
drop table t_12093;
|
||||||
drop function f_12093;
|
drop function f_12093;
|
||||||
drop procedure p_12093;
|
drop procedure p_12093;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user