mariadb/mysql-test/r/sp-error.result
unknown f525047d1e Made multiple queries (SELECT without INTO) work in SPs.
This included bug fixes in the 4.1 protocol (actually send and receive the
server_status flags).


libmysql/libmysql.c:
  Pick up the server_status (with the 4.1 protocol) as well.
mysql-test/r/sp-error.result:
  Test for "bad selects" in non-CLIENT_MULTI_QUERIES clients (as mysqltest for the
  momen; this test will have to go away eventually).
mysql-test/t/sp-error.test:
  Test for "bad selects" in non-CLIENT_MULTI_QUERIES clients (as mysqltest for the
  momen; this test will have to go away eventually).
sql/protocol.cc:
  Actually send the server_status flags in send_eof() (4.1 protocol), not just zero.
sql/sp_head.cc:
  Made multiple queries (SELECT without INTO) work in SPs.
sql/sp_head.h:
  Made multiple queries (SELECT without INTO) work in SPs.
sql/sql_parse.cc:
  Made multiple queries (SELECT without INTO) work in SPs.
sql/sql_yacc.yy:
  Made multiple queries (SELECT without INTO) work in SPs.
2003-04-23 09:22:54 +02:00

92 lines
2.1 KiB
Text

delete from mysql.proc;
create procedure proc1()
set @x = 42;
create function func1() returns int
return 42;
create procedure foo()
create procedure bar() set @x=3;
Can't create a PROCEDURE from within another stored routine
create procedure foo()
create function bar() returns double return 2.3;
Can't create a FUNCTION from within another stored routine
create procedure proc1()
set @x = 42;
PROCEDURE proc1 already exists
create function func1() returns int
return 42;
FUNCTION func1 already exists
drop procedure proc1;
drop function func1;
alter procedure foo;
PROCEDURE foo does not exist
alter function foo;
FUNCTION foo does not exist
drop procedure foo;
PROCEDURE foo does not exist
drop function foo;
FUNCTION foo does not exist
call foo();
PROCEDURE foo does not exist
drop procedure if exists foo;
Warnings:
Warning 1261 PROCEDURE foo does not exist
create procedure foo()
foo: loop
leave bar;
end loop;
LEAVE with no matching label: bar
create procedure foo()
foo: loop
iterate bar;
end loop;
ITERATE with no matching label: bar
create procedure foo()
foo: loop
foo: loop
set @x=2;
end loop foo;
end loop foo;
Redefining label foo
create procedure foo()
foo: loop
set @x=2;
end loop bar;
End-label bar without match
create procedure foo(out x int)
begin
declare y int;
set x = y;
end;
Referring to uninitialized variable y
create procedure foo()
begin
select name from mysql.proc;
select type from mysql.proc;
end;
call foo();
SELECT in a stored procedure must have INTO
drop procedure foo;
create procedure foo()
return 42;
RETURN is only allowed in a FUNCTION
create function foo() returns int
begin
declare x int;
select max(c) into x from test.t;
return x;
end;
Queries, like SELECT, INSERT, UPDATE (and others), are not allowed in a FUNCTION
create procedure p(x int)
insert into test.t1 values (x);
create function f(x int) returns int
return x+42;
call p();
Wrong number of arguments for PROCEDURE p, expected 1, got 0
call p(1, 2);
Wrong number of arguments for PROCEDURE p, expected 1, got 2
select f();
Wrong number of arguments for FUNCTION f, expected 1, got 0
select f(1, 2);
Wrong number of arguments for FUNCTION f, expected 1, got 2
drop procedure p;
drop function f;