diff options
Diffstat (limited to 'mysql-test/r/sp.result')
-rw-r--r-- | mysql-test/r/sp.result | 269 |
1 files changed, 261 insertions, 8 deletions
diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index 2cb1b701e2d..57d704c36be 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -791,7 +791,7 @@ comment 'Characteristics procedure test' insert into t1 values ("chistics", 1)| show create procedure chistics| Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation -chistics CREATE DEFINER=`root`@`localhost` PROCEDURE `chistics`() +chistics NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `chistics`() MODIFIES SQL DATA COMMENT 'Characteristics procedure test' insert into t1 values ("chistics", 1) latin1 latin1_swedish_ci latin1_swedish_ci @@ -803,7 +803,7 @@ delete from t1| alter procedure chistics sql security invoker| show create procedure chistics| Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation -chistics CREATE DEFINER=`root`@`localhost` PROCEDURE `chistics`() +chistics NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `chistics`() MODIFIES SQL DATA SQL SECURITY INVOKER COMMENT 'Characteristics procedure test' @@ -818,7 +818,7 @@ comment 'Characteristics procedure test' return 42| show create function chistics| Function sql_mode Create Function character_set_client collation_connection Database Collation -chistics CREATE DEFINER=`root`@`localhost` FUNCTION `chistics`() RETURNS int(11) +chistics NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `chistics`() RETURNS int(11) DETERMINISTIC SQL SECURITY INVOKER COMMENT 'Characteristics procedure test' @@ -831,7 +831,7 @@ no sql comment 'Characteristics function test'| show create function chistics| Function sql_mode Create Function character_set_client collation_connection Database Collation -chistics CREATE DEFINER=`root`@`localhost` FUNCTION `chistics`() RETURNS int(11) +chistics NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `chistics`() RETURNS int(11) NO SQL DETERMINISTIC SQL SECURITY INVOKER @@ -3548,7 +3548,10 @@ begin set f1= concat( 'hello', f1 ); return f1; end| -ERROR 42000: This version of MariaDB doesn't yet support 'return value collation' +select collation(bug9048("foo"))| +collation(bug9048("foo")) +latin1_bin +drop function bug9048| drop procedure if exists bug12849_1| create procedure bug12849_1(inout x char) select x into x| set @var='a'| @@ -6069,7 +6072,7 @@ insert into examplebug20777 values (1, 9223372036854775806, 9223372036854775807, show create table examplebug20777; Table Create Table examplebug20777 CREATE TABLE `examplebug20777` ( - `i` int(1) NOT NULL DEFAULT '0', + `i` int(1) NOT NULL, `2**63-2` bigint(20) unsigned DEFAULT NULL, `2**63-1` bigint(20) unsigned DEFAULT NULL, `2**63` bigint(20) unsigned DEFAULT NULL, @@ -7099,7 +7102,7 @@ CAST('10 ' as UNSIGNED INTEGER) 1 Warnings: Warning 1265 Data truncated for column 'a' at row 1 -Warning 1292 Truncated incorrect INTEGER value: '10 ' +Note 1292 Truncated incorrect INTEGER value: '10 ' DROP PROCEDURE p1; DROP PROCEDURE IF EXISTS p1; DROP PROCEDURE IF EXISTS p2; @@ -7125,7 +7128,7 @@ CAST('10 ' as UNSIGNED INTEGER) 2 2 Warnings: -Warning 1292 Truncated incorrect INTEGER value: '10 ' +Note 1292 Truncated incorrect INTEGER value: '10 ' DROP PROCEDURE p1; DROP PROCEDURE p2; DROP PROCEDURE p3; @@ -7990,3 +7993,253 @@ ENTITY_UID drop procedure SP_EXAMPLE_SELECT; drop view ENTITY_ACCESS; drop table ANY_TABLE, SECURITY_PATH; +# End of 10.0 test +CREATE FUNCTION f(f1 VARCHAR(64) COLLATE latin1_german2_ci) +RETURNS VARCHAR(64) +BEGIN +RETURN 'str'; +END| +DROP FUNCTION f| +CREATE FUNCTION f(f1 VARCHAR(64)) +RETURNS VARCHAR(64) COLLATE latin1_german2_ci +BEGIN +RETURN 'str'; +END| +DROP FUNCTION f| +CREATE FUNCTION f(f1 VARCHAR(64)) +RETURNS VARCHAR(64) +BEGIN +DECLARE f2 VARCHAR(64) COLLATE latin1_german2_ci; +RETURN 'str'; +END| +DROP FUNCTION f| +# +# MDEV-7023: Error 2027: Malformed packet and assertion +# `field_types == 0 || field_types[field_pos] == MYSQL_TYPE_INT24 || +#field_types[field_pos] == MYSQL_TYPE_LONG' failure in +#Protocol_text::store_long +# +create table t1 (i int); +create table t2 (i int); +create function f() returns int +begin +analyze insert into t1 values (1); +return 1; +end | +ERROR 0A000: Not allowed to return a result set from a function +create function f() returns int +begin +analyze insert t1 select * from t2; +return 1; +end | +ERROR 0A000: Not allowed to return a result set from a function +create function f() returns int +begin +analyze delete from t1; +return 1; +end | +ERROR 0A000: Not allowed to return a result set from a function +create function f() returns int +begin +analyze delete t1 from t1,t2; +return 1; +end | +ERROR 0A000: Not allowed to return a result set from a function +create function f() returns int +begin +analyze update t1 set i=1; +return 1; +end | +ERROR 0A000: Not allowed to return a result set from a function +create function f() returns int +begin +analyze update t1,t2 set i=1; +return 1; +end | +ERROR 0A000: Not allowed to return a result set from a function +create function f() returns int +begin +analyze replace t1 set i=1; +return 1; +end | +ERROR 0A000: Not allowed to return a result set from a function +create function f() returns int +begin +analyze replace t1 select * from t2; +return 1; +end | +ERROR 0A000: Not allowed to return a result set from a function +drop table t1,t2; +# +# MDEV-11584: GRANT inside an SP does not work well on 2nd execution +# +CREATE PROCEDURE sp1() +GRANT ALL PRIVILEGES ON *.* TO 'foo'@'%' IDENTIFIED BY 'pass'; +CALL sp1(); +CALL sp1(); +drop user 'foo'@'%'; +drop procedure sp1; +# +# MDEV-10972: Insert from select / view / union -- +# repeatable crash in 10.1, 10.2 Linux/Mac/Windows +# +create table t (id int auto_increment primary key); +insert into t values (9494),(9495),(9496),(9497),(9498),(9499),(9500),(9501),(9502),(9503); +create VIEW v AS +select id from t +union +select id from t +; +drop procedure if exists p; +Warnings: +Note 1305 PROCEDURE test.p does not exist +create procedure p() +insert into tmp_t select t.id from ( +select id from v +union +select id from v +) sq +inner join t on (sq.id = t.id); +CALL p(); +ERROR 42S02: Table 'test.tmp_t' doesn't exist +create table tmp_t (id int null); +CALL p(); +drop procedure p; +drop view v; +drop table t, tmp_t; +# +# MDEV-13936: Server crashes in Time_and_counter_tracker::incr_loops +# +CREATE TABLE t1 (i INT); +CREATE VIEW v1 AS SELECT * FROM t1 WHERE RAND() > 0.5; +CREATE FUNCTION f1() RETURNS INT RETURN ( SELECT MAX(i) FROM v1 ); +REPLACE INTO v1 VALUES (f1()); +ERROR HY000: The target table v1 of the INSERT is not insertable-into +SET @aux = f1(); +DROP FUNCTION f1; +DROP VIEW v1; +DROP TABLE t1; +# +# MDEV-14857: problem with 10.2.11 server crashing when +# executing stored procedure +# +SET max_sp_recursion_depth=10; +CREATE TABLE t1 (a INT); +CREATE TABLE t2 (b INT); +CREATE PROCEDURE proc_0() +BEGIN +CALL empty_1(); +CALL proc_1(); +END || +CREATE PROCEDURE proc_1() +BEGIN +CALL proc_2(); +CALL proc_3(); +CALL proc_4(); +CALL proc_5(); +END || +CREATE PROCEDURE proc_2() +CALL proc_6(); +|| +CREATE PROCEDURE proc_3() +BEGIN +CALL empty_2(); +CALL empty_3(); +END || +CREATE PROCEDURE proc_4() +CALL proc_7(); +|| +CREATE PROCEDURE proc_5() +CALL proc_select(); +|| +CREATE PROCEDURE proc_6() +BEGIN +CALL empty_4(); +CALL empty_5(); +CALL empty_6(); +CALL empty_7(); +CALL proc_8(); +END || +CREATE PROCEDURE proc_7() +CALL proc_9('foo'); +|| +CREATE PROCEDURE proc_8() +CALL proc_10(); +|| +CREATE PROCEDURE proc_9(IN opt VARCHAR(40)) +IF LEFT(opt,1) <> '_' THEN +CALL proc_11(); +END IF; +|| +CREATE PROCEDURE proc_10() +CALL proc_12(); +|| +CREATE PROCEDURE proc_11() +BEGIN +CALL empty_8(); +CALL empty_9(); +CALL empty_10(); +CALL proc_13(); +END || +CREATE PROCEDURE proc_12() +BEGIN +CALL empty_11(); +CALL empty_12(); +CALL empty_13(); +END || +CREATE PROCEDURE proc_13() +BEGIN +CALL proc_9('_bar'); +CALL empty_14(); +END || +CREATE PROCEDURE empty_1() BEGIN END ; +CREATE PROCEDURE empty_2() BEGIN END ; +CREATE PROCEDURE empty_3() BEGIN END ; +CREATE PROCEDURE empty_4() BEGIN END ; +CREATE PROCEDURE empty_5() BEGIN END ; +CREATE PROCEDURE empty_6() BEGIN END ; +CREATE PROCEDURE empty_7() BEGIN END ; +CREATE PROCEDURE empty_8() BEGIN END ; +CREATE PROCEDURE empty_9() BEGIN END ; +CREATE PROCEDURE empty_10() BEGIN END ; +CREATE PROCEDURE empty_11() BEGIN END ; +CREATE PROCEDURE empty_12() BEGIN END ; +CREATE PROCEDURE empty_13() BEGIN END ; +CREATE PROCEDURE empty_14() BEGIN END ; +CREATE PROCEDURE proc_select() +SELECT * FROM t1 WHERE NOT EXISTS ( SELECT * FROM t2) +; +CALL proc_0(); +a +DROP PROCEDURE empty_1; +DROP PROCEDURE empty_2; +DROP PROCEDURE empty_3; +DROP PROCEDURE empty_4; +DROP PROCEDURE empty_5; +DROP PROCEDURE empty_6; +DROP PROCEDURE empty_7; +DROP PROCEDURE empty_8; +DROP PROCEDURE empty_9; +DROP PROCEDURE empty_10; +DROP PROCEDURE empty_11; +DROP PROCEDURE empty_12; +DROP PROCEDURE empty_13; +DROP PROCEDURE empty_14; +DROP PROCEDURE proc_0; +DROP PROCEDURE proc_1; +DROP PROCEDURE proc_2; +DROP PROCEDURE proc_3; +DROP PROCEDURE proc_4; +DROP PROCEDURE proc_5; +DROP PROCEDURE proc_6; +DROP PROCEDURE proc_7; +DROP PROCEDURE proc_8; +DROP PROCEDURE proc_9; +DROP PROCEDURE proc_10; +DROP PROCEDURE proc_11; +DROP PROCEDURE proc_12; +DROP PROCEDURE proc_13; +DROP PROCEDURE proc_select; +DROP TABLE t1, t2; +SET max_sp_recursion_depth=default; +#End of 10.1 tests |