mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 06:22:28 +01:00
b99e11c8bd
run at startup" The server returned an error when trying to execute init-file with a stored procedure that could return multiple result sets to the client. A stored procedure can return multiple result sets if it contains PREPARE, SELECT, SHOW and similar statements. The fix is to set client_capabilites|=CLIENT_MULTI_RESULTS in sql_parse.cc:handle_bootstrap(). There is no "client" really, so nothing is ever sent. This makes init-file feature behave consistently: the prepared statements that can be called directly in the init-file can be used in a stored procedure too. Re-committed the patch originally submitted by Per-Erik after review.
29 lines
830 B
Text
29 lines
830 B
Text
select * from mysql.user as t1, mysql.user as t2, mysql.user as t3;
|
|
use test;
|
|
|
|
drop table if exists t1;
|
|
create table t1 (x int);
|
|
drop table if exists t2;
|
|
create table t2 (y int);
|
|
|
|
drop procedure if exists p1;
|
|
create definer=root@localhost procedure p1() select * from t1;
|
|
call p1();
|
|
drop procedure p1;
|
|
|
|
create definer=root@localhost procedure p1() insert into t1 values (3),(5),(7);
|
|
call p1();
|
|
|
|
drop function if exists f1;
|
|
create definer=root@localhost function f1() returns int return (select count(*) from t1);
|
|
insert into t2 set y = f1()*10;
|
|
|
|
drop view if exists v1;
|
|
create definer=root@localhost view v1 as select f1();
|
|
insert into t2 (y) select * from v1;
|
|
|
|
create trigger trg1 after insert on t2 for each row insert into t1 values (new.y);
|
|
insert into t2 values (11), (13);
|
|
drop procedure p1;
|
|
drop function f1;
|
|
drop view v1;
|