mirror of
https://github.com/MariaDB/server.git
synced 2025-11-26 07:29:42 +01:00
129 lines
3.1 KiB
Text
129 lines
3.1 KiB
Text
--source include/have_perfschema.inc
|
|
--echo #
|
|
--echo # MDEV-6610 Assertion `thd->is_error() || thd->killed' failed in mysql_execute_command on executing an SP with repeated CREATE TABLE .. SELECT
|
|
--echo #
|
|
CREATE TABLE t1 (i INT);
|
|
SET @a = 2;
|
|
|
|
CREATE TABLE IF NOT EXISTS t2 (i INT) ENGINE = MyISAM
|
|
AS SELECT * FROM t1;
|
|
CREATE TABLE IF NOT EXISTS t2 (i INT) ENGINE = MyISAM
|
|
AS SELECT * FROM t1;
|
|
DROP TABLE t2;
|
|
|
|
--delimiter |
|
|
CREATE PROCEDURE sp()
|
|
BEGIN
|
|
REPEAT
|
|
CREATE TABLE IF NOT EXISTS t2 (i INT) ENGINE = MyISAM
|
|
AS SELECT * FROM t1;
|
|
SET @a = @a - 1;
|
|
UNTIL @a = 0
|
|
END REPEAT ;
|
|
END |
|
|
--delimiter ;
|
|
|
|
CALL sp();
|
|
|
|
DROP PROCEDURE sp;
|
|
DROP TABLE t1, t2;
|
|
|
|
--echo #
|
|
--echo # MDEV-36979 Same alias name with different case on same table is not working in functions
|
|
--echo #
|
|
create table t1 ( id int primary key auto_increment, name varchar(10));
|
|
insert into t1 (name) values ('wrbyviwb');
|
|
insert into t1 (name) values ('wrbyrwb1');
|
|
insert into t1 (name) values ('wrbrwb3');
|
|
select cnt.name from t1 cnt join ( select CMT.id from t1 CMT where CMT.id=1) t2 on t2.id=cnt.id;
|
|
delimiter //;
|
|
create function t1test(val int) returns varchar(400) charset utf8
|
|
begin
|
|
declare output varchar(400) default '';
|
|
set output = (select cnt.name from t1 cnt join ( select CMT.id from t1 CMT where CMT.id=val) t2 on t2.id=cnt.id);
|
|
return output;
|
|
end//
|
|
delimiter ;//
|
|
select t1test(1);
|
|
drop function t1test;
|
|
drop table t1;
|
|
|
|
--echo #
|
|
--echo # MDEV-36814 MariaDB 10.11.9 Signal 11 crash on second Stored Procedure call
|
|
--echo #
|
|
set names utf8;
|
|
create table t1 (a varchar(1000));
|
|
--delimiter //
|
|
create procedure p1(in p_a varchar(1000)) insert into t1 values (p_a);//
|
|
create procedure p2(in s varchar(10))
|
|
begin
|
|
if s = '1' then set @startDate = now(); end if;
|
|
if s = '2' then set @startDate = '2025-05-23'; end if;
|
|
call p1(concat(s, @startDate, ' and '));
|
|
end;//
|
|
--delimiter ;
|
|
call p2('1');
|
|
call p2('2');
|
|
drop table t1;
|
|
drop procedure p1;
|
|
drop procedure p2;
|
|
|
|
--echo #
|
|
--echo # MDEV-26115: Crash when calling stored function in FOR loop argument
|
|
--echo #
|
|
--delimiter $
|
|
CREATE OR REPLACE FUNCTION cnt()
|
|
RETURNS INTEGER NO SQL
|
|
BEGIN
|
|
RETURN 3;
|
|
END;
|
|
$
|
|
|
|
CREATE OR REPLACE PROCEDURE p1()
|
|
NO SQL
|
|
BEGIN
|
|
DECLARE i INTEGER;
|
|
FOR i IN 1..cnt() DO
|
|
SELECT 1;
|
|
END FOR;
|
|
END;
|
|
$
|
|
|
|
--delimiter ;
|
|
|
|
CALL p1();
|
|
CALL p1();
|
|
|
|
--echo # Clean up
|
|
DROP FUNCTION cnt;
|
|
DROP PROCEDURE p1;
|
|
|
|
--echo #
|
|
--echo # MDEV-37710 ASAN errors in find_type2 upon executing a procedure from sys schema
|
|
--echo #
|
|
delimiter $$;
|
|
create procedure p1()
|
|
begin
|
|
declare found int;
|
|
repeat
|
|
set found = exists (select * from information_schema.routines where routine_name='f');
|
|
if (sys.ps_is_consumer_enabled('events_waits_history_long') = 'yes') then
|
|
select * from mysql.user;
|
|
end if;
|
|
select release_all_locks();
|
|
until found end repeat;
|
|
end$$
|
|
delimiter ;$$
|
|
select get_lock('p1', 300);
|
|
--send call p1()
|
|
--connect con1,localhost,root,,
|
|
select get_lock('p1', 300);
|
|
create function f() returns int return 1;
|
|
--connection default
|
|
--disable_result_log
|
|
--reap
|
|
--enable_result_log
|
|
drop function f;
|
|
drop procedure p1;
|
|
|
|
--echo # End of 10.11 tests
|