1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0

into sanja.is.com.ua:/home/bell/mysql/bk/work-limit-5.0
This commit is contained in:
unknown
2004-03-29 22:42:59 +03:00
34 changed files with 460 additions and 32 deletions

View File

@ -194,8 +194,8 @@ create table t1 (val int, x float)|
insert into t1 values (42, 3.1), (19, 1.2)|
create procedure p()
begin
declare c cursor for select * from t1;
declare x int;
declare c cursor for select * from t1;
open c;
fetch c into x, y;
close c;
@ -203,8 +203,8 @@ end|
ERROR 42000: Undeclared variable: y
create procedure p()
begin
declare c cursor for select * from t1;
declare x int;
declare c cursor for select * from t1;
open c;
fetch c into x;
close c;
@ -214,10 +214,10 @@ ERROR HY000: Wrong number of FETCH variables
drop procedure p|
create procedure p()
begin
declare c cursor for select * from t1;
declare x int;
declare y float;
declare z int;
declare c cursor for select * from t1;
open c;
fetch c into x, y, z;
close c;
@ -252,9 +252,28 @@ declare c cursor for select field from t1;
end|
ERROR 42000: Duplicate cursor: c
create procedure u()
use sptmp;
#|
use sptmp|
ERROR 42000: USE is not allowed in a stored procedure
create procedure p()
begin
declare c cursor for select * from t1;
declare x int;
end|
ERROR 42000: Variable or condition declaration after cursor or handler declaration
create procedure p()
begin
declare x int;
declare continue handler for sqlstate '42S99' set x = 1;
declare foo condition for sqlstate '42S99';
end|
ERROR 42000: Variable or condition declaration after cursor or handler declaration
create procedure p()
begin
declare x int;
declare continue handler for sqlstate '42S99' set x = 1;
declare c cursor for select * from t1;
end|
ERROR 42000: Cursor declaration after handler declaration
create procedure bug1965()
begin
declare c cursor for select val from t1 order by valname;
@ -322,4 +341,25 @@ call bug2329_2()|
ERROR 42S22: Unknown column 'v' in 'field list'
drop procedure bug2329_1|
drop procedure bug2329_2|
create function bug3287() returns int
begin
declare v int default null;
case
when v is not null then return 1;
end case;
return 2;
end|
select bug3287()|
ERROR 20000: Case not found for CASE statement
drop function bug3287|
create procedure bug3287(x int)
case x
when 0 then
insert into test.t1 values (x, 0.1);
when 1 then
insert into test.t1 values (x, 1.1);
end case|
call bug3287(2)|
ERROR 20000: Case not found for CASE statement
drop procedure bug3287|
drop table t1|

View File

@ -660,12 +660,12 @@ drop table t3|
drop procedure hndlr4|
create procedure cur1()
begin
declare done int default 0;
declare continue handler for sqlstate '02000' set done = 1;
declare c cursor for select * from test.t2;
declare a char(16);
declare b int;
declare c double;
declare done int default 0;
declare c cursor for select * from test.t2;
declare continue handler for sqlstate '02000' set done = 1;
open c;
repeat
fetch c into a, b, c;
@ -688,9 +688,9 @@ create table t3 ( s char(16), i int )|
create procedure cur2()
begin
declare done int default 0;
declare continue handler for sqlstate '02000' set done = 1;
declare c1 cursor for select id,data from test.t1;
declare c2 cursor for select i from test.t2;
declare continue handler for sqlstate '02000' set done = 1;
open c1;
open c2;
repeat
@ -764,8 +764,8 @@ create procedure modes(out c1 int, out c2 int)
begin
declare done int default 0;
declare x int;
declare continue handler for sqlstate '02000' set done = 1;
declare c cursor for select data from t1;
declare continue handler for sqlstate '02000' set done = 1;
select 1 || 2 into c1;
set c2 = 0;
open c;
@ -915,8 +915,8 @@ drop procedure bug1874|
create procedure bug2260()
begin
declare v1 int;
declare continue handler for not found set @x2 = 1;
declare c1 cursor for select data from t1;
declare continue handler for not found set @x2 = 1;
open c1;
fetch c1 into v1;
set @x2 = 2;
@ -996,10 +996,13 @@ drop table t3|
drop procedure bug2614|
create function bug2674 () returns int
return @@sort_buffer_size|
set @osbs = @@sort_buffer_size|
set @@sort_buffer_size = 262000|
select bug2674()|
bug2674()
262136
262000
drop function bug2674|
set @@sort_buffer_size = @osbs|
create procedure bug3259_1 () begin end|
create procedure BUG3259_2 () begin end|
create procedure Bug3259_3 () begin end|

View File

@ -264,8 +264,8 @@ insert into t1 values (42, 3.1), (19, 1.2)|
--error 1314
create procedure p()
begin
declare c cursor for select * from t1;
declare x int;
declare c cursor for select * from t1;
open c;
fetch c into x, y;
@ -274,8 +274,8 @@ end|
create procedure p()
begin
declare c cursor for select * from t1;
declare x int;
declare c cursor for select * from t1;
open c;
fetch c into x;
@ -287,10 +287,10 @@ drop procedure p|
create procedure p()
begin
declare c cursor for select * from t1;
declare x int;
declare y float;
declare z int;
declare c cursor for select * from t1;
open c;
fetch c into x, y, z;
@ -333,8 +333,30 @@ end|
# USE is not allowed
--error 1323
create procedure u()
use sptmp;
use sptmp|
# Enforced standard order of declarations
--error 1324
create procedure p()
begin
declare c cursor for select * from t1;
declare x int;
end|
--error 1324
create procedure p()
begin
declare x int;
declare continue handler for sqlstate '42S99' set x = 1;
declare foo condition for sqlstate '42S99';
end|
--error 1325
create procedure p()
begin
declare x int;
declare continue handler for sqlstate '42S99' set x = 1;
declare c cursor for select * from t1;
end|
#
# BUG#1965
@ -451,6 +473,33 @@ call bug2329_2()|
drop procedure bug2329_1|
drop procedure bug2329_2|
#
# BUG#3287
#
create function bug3287() returns int
begin
declare v int default null;
case
when v is not null then return 1;
end case;
return 2;
end|
--error 1326
select bug3287()|
drop function bug3287|
create procedure bug3287(x int)
case x
when 0 then
insert into test.t1 values (x, 0.1);
when 1 then
insert into test.t1 values (x, 1.1);
end case|
--error 1326
call bug3287(2)|
drop procedure bug3287|
drop table t1|
delimiter ;|

View File

@ -776,12 +776,12 @@ drop procedure hndlr4|
#
create procedure cur1()
begin
declare done int default 0;
declare continue handler for sqlstate '02000' set done = 1;
declare c cursor for select * from test.t2;
declare a char(16);
declare b int;
declare c double;
declare done int default 0;
declare c cursor for select * from test.t2;
declare continue handler for sqlstate '02000' set done = 1;
open c;
repeat
@ -806,9 +806,9 @@ create table t3 ( s char(16), i int )|
create procedure cur2()
begin
declare done int default 0;
declare continue handler for sqlstate '02000' set done = 1;
declare c1 cursor for select id,data from test.t1;
declare c2 cursor for select i from test.t2;
declare continue handler for sqlstate '02000' set done = 1;
open c1;
open c2;
@ -879,8 +879,8 @@ create procedure modes(out c1 int, out c2 int)
begin
declare done int default 0;
declare x int;
declare continue handler for sqlstate '02000' set done = 1;
declare c cursor for select data from t1;
declare continue handler for sqlstate '02000' set done = 1;
select 1 || 2 into c1;
set c2 = 0;
@ -1069,8 +1069,8 @@ drop procedure bug1874|
create procedure bug2260()
begin
declare v1 int;
declare continue handler for not found set @x2 = 1;
declare c1 cursor for select data from t1;
declare continue handler for not found set @x2 = 1;
open c1;
fetch c1 into v1;
@ -1156,8 +1156,11 @@ drop procedure bug2614|
create function bug2674 () returns int
return @@sort_buffer_size|
set @osbs = @@sort_buffer_size|
set @@sort_buffer_size = 262000|
select bug2674()|
drop function bug2674|
set @@sort_buffer_size = @osbs|
#
# BUG#3259