Commit b14c8930 authored by Matthias Leich's avatar Matthias Leich

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
parent 08d9e120
# 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; ...@@ -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() ...@@ -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() ...@@ -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; ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment