mirror of
https://github.com/MariaDB/server.git
synced 2025-08-13 14:01:33 +02:00

don't reset thd->lex->current_select, it's not a leftover from previous parsing, it's set in reinit_stmt_before_use()
70 lines
1.9 KiB
Text
70 lines
1.9 KiB
Text
#
|
|
# MDEV-6610 Assertion `thd->is_error() || thd->killed' failed in mysql_execute_command on executing an SP with repeated CREATE TABLE .. SELECT
|
|
#
|
|
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 # End of 10.11 tests
|