Loading mysql-test/r/sp.result +54 −0 Original line number Diff line number Diff line Loading @@ -4099,4 +4099,58 @@ call bug14376(4711)| x 4711 drop procedure bug14376| drop procedure if exists p1| Warnings: Note 1305 PROCEDURE p1 does not exist drop table if exists t1| create table t1 (a varchar(255))| insert into t1 (a) values ("a - table column")| create procedure p1(a varchar(255)) begin declare i varchar(255); declare c cursor for select a from t1; select a; select a from t1 into i; select i as 'Parameter takes precedence over table column'; open c; fetch c into i; close c; select i as 'Parameter takes precedence over table column in cursors'; begin declare a varchar(255) default 'a - local variable'; declare c1 cursor for select a from t1; select a as 'A local variable takes precedence over parameter'; open c1; fetch c1 into i; close c1; select i as 'A local variable takes precedence over parameter in cursors'; begin declare a varchar(255) default 'a - local variable in a nested compound statement'; declare c2 cursor for select a from t1; select a as 'A local variable in a nested compound statement takes precedence over a local variable in the outer statement'; select a from t1 into i; select i as 'A local variable in a nested compound statement takes precedence over table column'; open c2; fetch c2 into i; close c2; select i as 'A local variable in a nested compound statement takes precedence over table column in cursors'; end; end; end| call p1("a - stored procedure parameter")| a a - stored procedure parameter Parameter takes precedence over table column a - stored procedure parameter Parameter takes precedence over table column in cursors a - stored procedure parameter A local variable takes precedence over parameter a - local variable A local variable takes precedence over parameter in cursors a - local variable A local variable in a nested compound statement takes precedence over a local variable in the outer statement a - local variable in a nested compound statement A local variable in a nested compound statement takes precedence over table column a - local variable in a nested compound statement A local variable in a nested compound statement takes precedence over table column in cursors a - local variable in a nested compound statement drop table t1,t2; mysql-test/t/sp.test +45 −0 Original line number Diff line number Diff line Loading @@ -4898,7 +4898,52 @@ call bug14376(4711)| drop procedure bug14376| # # Bug#5967 "Stored procedure declared variable used instead of column" # The bug should be fixed later. # Test precedence of names of parameters, variable declarations, # variable declarations in nested compound statements, table columns, # table columns in cursor declarations. # According to the standard, table columns take precedence over # variable declarations. In MySQL 5.0 it's vice versa. # drop procedure if exists p1| drop table if exists t1| create table t1 (a varchar(255))| insert into t1 (a) values ("a - table column")| create procedure p1(a varchar(255)) begin declare i varchar(255); declare c cursor for select a from t1; select a; select a from t1 into i; select i as 'Parameter takes precedence over table column'; open c; fetch c into i; close c; select i as 'Parameter takes precedence over table column in cursors'; begin declare a varchar(255) default 'a - local variable'; declare c1 cursor for select a from t1; select a as 'A local variable takes precedence over parameter'; open c1; fetch c1 into i; close c1; select i as 'A local variable takes precedence over parameter in cursors'; begin declare a varchar(255) default 'a - local variable in a nested compound statement'; declare c2 cursor for select a from t1; select a as 'A local variable in a nested compound statement takes precedence over a local variable in the outer statement'; select a from t1 into i; select i as 'A local variable in a nested compound statement takes precedence over table column'; open c2; fetch c2 into i; close c2; select i as 'A local variable in a nested compound statement takes precedence over table column in cursors'; end; end; end| call p1("a - stored procedure parameter")| # # BUG#NNNN: New bug synopsis Loading Loading
mysql-test/r/sp.result +54 −0 Original line number Diff line number Diff line Loading @@ -4099,4 +4099,58 @@ call bug14376(4711)| x 4711 drop procedure bug14376| drop procedure if exists p1| Warnings: Note 1305 PROCEDURE p1 does not exist drop table if exists t1| create table t1 (a varchar(255))| insert into t1 (a) values ("a - table column")| create procedure p1(a varchar(255)) begin declare i varchar(255); declare c cursor for select a from t1; select a; select a from t1 into i; select i as 'Parameter takes precedence over table column'; open c; fetch c into i; close c; select i as 'Parameter takes precedence over table column in cursors'; begin declare a varchar(255) default 'a - local variable'; declare c1 cursor for select a from t1; select a as 'A local variable takes precedence over parameter'; open c1; fetch c1 into i; close c1; select i as 'A local variable takes precedence over parameter in cursors'; begin declare a varchar(255) default 'a - local variable in a nested compound statement'; declare c2 cursor for select a from t1; select a as 'A local variable in a nested compound statement takes precedence over a local variable in the outer statement'; select a from t1 into i; select i as 'A local variable in a nested compound statement takes precedence over table column'; open c2; fetch c2 into i; close c2; select i as 'A local variable in a nested compound statement takes precedence over table column in cursors'; end; end; end| call p1("a - stored procedure parameter")| a a - stored procedure parameter Parameter takes precedence over table column a - stored procedure parameter Parameter takes precedence over table column in cursors a - stored procedure parameter A local variable takes precedence over parameter a - local variable A local variable takes precedence over parameter in cursors a - local variable A local variable in a nested compound statement takes precedence over a local variable in the outer statement a - local variable in a nested compound statement A local variable in a nested compound statement takes precedence over table column a - local variable in a nested compound statement A local variable in a nested compound statement takes precedence over table column in cursors a - local variable in a nested compound statement drop table t1,t2;
mysql-test/t/sp.test +45 −0 Original line number Diff line number Diff line Loading @@ -4898,7 +4898,52 @@ call bug14376(4711)| drop procedure bug14376| # # Bug#5967 "Stored procedure declared variable used instead of column" # The bug should be fixed later. # Test precedence of names of parameters, variable declarations, # variable declarations in nested compound statements, table columns, # table columns in cursor declarations. # According to the standard, table columns take precedence over # variable declarations. In MySQL 5.0 it's vice versa. # drop procedure if exists p1| drop table if exists t1| create table t1 (a varchar(255))| insert into t1 (a) values ("a - table column")| create procedure p1(a varchar(255)) begin declare i varchar(255); declare c cursor for select a from t1; select a; select a from t1 into i; select i as 'Parameter takes precedence over table column'; open c; fetch c into i; close c; select i as 'Parameter takes precedence over table column in cursors'; begin declare a varchar(255) default 'a - local variable'; declare c1 cursor for select a from t1; select a as 'A local variable takes precedence over parameter'; open c1; fetch c1 into i; close c1; select i as 'A local variable takes precedence over parameter in cursors'; begin declare a varchar(255) default 'a - local variable in a nested compound statement'; declare c2 cursor for select a from t1; select a as 'A local variable in a nested compound statement takes precedence over a local variable in the outer statement'; select a from t1 into i; select i as 'A local variable in a nested compound statement takes precedence over table column'; open c2; fetch c2 into i; close c2; select i as 'A local variable in a nested compound statement takes precedence over table column in cursors'; end; end; end| call p1("a - stored procedure parameter")| # # BUG#NNNN: New bug synopsis Loading