mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-28963 Incompatible data type assignment through SP vars is not consistent with columns
This commit is contained in:
@@ -10,6 +10,9 @@ SET @target_type= (SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS
|
|||||||
AND TABLE_NAME='t1'
|
AND TABLE_NAME='t1'
|
||||||
AND TABLE_SCHEMA='test');
|
AND TABLE_SCHEMA='test');
|
||||||
|
|
||||||
|
let $source_type= `(SELECT @source_type)`;
|
||||||
|
let $target_type= `(SELECT @target_type)`;
|
||||||
|
|
||||||
CREATE TABLE t2 LIKE t1;
|
CREATE TABLE t2 LIKE t1;
|
||||||
ALTER TABLE t2 ADD id INT NOT NULL PRIMARY KEY FIRST;
|
ALTER TABLE t2 ADD id INT NOT NULL PRIMARY KEY FIRST;
|
||||||
INSERT INTO t2 VALUES (1,DEFAULT,DEFAULT);
|
INSERT INTO t2 VALUES (1,DEFAULT,DEFAULT);
|
||||||
@@ -134,4 +137,122 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
|
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-28963 Incompatible data type assignment through SP vars is not consistent with columns
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# SP local variables
|
||||||
|
#
|
||||||
|
DELIMITER $$;
|
||||||
|
eval CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src $source_type DEFAULT NULL;
|
||||||
|
DECLARE dst $target_type DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
|
CALL p1;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# SP IN parameters
|
||||||
|
#
|
||||||
|
|
||||||
|
--eval CREATE FUNCTION f1(a $target_type) RETURNS INT RETURN NULL;
|
||||||
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
|
||||||
|
--eval CREATE PROCEDURE p1(a $target_type) BEGIN END;
|
||||||
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# SP OUT parameters
|
||||||
|
#
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
eval CREATE PROCEDURE p1(OUT dst $target_type)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src $source_type DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
eval CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst $target_type DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
|
CALL p2();
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# SF RETURN
|
||||||
|
#
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
eval CREATE FUNCTION f1() RETURNS $target_type
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc $source_type DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
|
SELECT f1();
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Cursor IN parameters
|
||||||
|
#
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
eval CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src $source_type DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t $target_type) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
|
CALL p1();
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# FETCH
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
eval CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst $target_type DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
|
CALL p1();
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
|
||||||
|
DROP TABLE t2;
|
||||||
|
|
||||||
--echo # End of type_store_assignment_incompatible.inc
|
--echo # End of type_store_assignment_incompatible.inc
|
||||||
|
@@ -226,7 +226,7 @@ Warning 1356 View 'test.v1' references invalid table(s) or column(s) or function
|
|||||||
SELECT * FROM v1;
|
SELECT * FROM v1;
|
||||||
ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
||||||
UPDATE t2 SET f = f + 10;
|
UPDATE t2 SET f = f + 10;
|
||||||
ERROR 42S22: Unknown column 'd' in 'OLD'
|
ERROR 42S22: Unknown column 'd' in 'NEW'
|
||||||
CALL sp1();
|
CALL sp1();
|
||||||
ERROR 42S22: Unknown column 'd' in 'field list'
|
ERROR 42S22: Unknown column 'd' in 'field list'
|
||||||
DROP TRIGGER trg1;
|
DROP TRIGGER trg1;
|
||||||
|
@@ -20,7 +20,7 @@ RETURN a;
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
SELECT f1(ROW(10,20));
|
SELECT f1(ROW(10,20));
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR HY000: Illegal parameter data types int and row for operation 'SET'
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
#
|
#
|
||||||
# ROW as an SP parameter
|
# ROW as an SP parameter
|
||||||
@@ -236,7 +236,7 @@ SELECT f1(a);
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
CALL p1();
|
CALL p1();
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR HY000: Illegal parameter data types int and row for operation 'SET'
|
||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
#
|
#
|
||||||
@@ -286,7 +286,7 @@ RETURN rec;
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
SELECT f1(10);
|
SELECT f1(10);
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR HY000: Illegal parameter data types int and row for operation 'SET'
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
#
|
#
|
||||||
# Using the entire ROW in SELECT..CREATE
|
# Using the entire ROW in SELECT..CREATE
|
||||||
|
@@ -27,7 +27,7 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
DELIMITER ;$$
|
DELIMITER ;$$
|
||||||
--error ER_OPERAND_COLUMNS
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
SELECT f1(ROW(10,20));
|
SELECT f1(ROW(10,20));
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
|
|
||||||
@@ -307,7 +307,7 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
DELIMITER ;$$
|
DELIMITER ;$$
|
||||||
--error ER_OPERAND_COLUMNS
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
CALL p1();
|
CALL p1();
|
||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
@@ -393,7 +393,7 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
DELIMITER ;$$
|
DELIMITER ;$$
|
||||||
--error ER_OPERAND_COLUMNS
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
SELECT f1(10);
|
SELECT f1(10);
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
|
|
||||||
|
@@ -1026,11 +1026,11 @@ BEGIN
|
|||||||
SELECT arg;
|
SELECT arg;
|
||||||
END|
|
END|
|
||||||
CALL p1((1, 2));
|
CALL p1((1, 2));
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR HY000: Illegal parameter data types tinyint and row for operation 'SET'
|
||||||
CALL p1((SELECT * FROM t1 LIMIT 1));
|
CALL p1((SELECT * FROM t1 LIMIT 1));
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR HY000: Illegal parameter data types tinyint and row for operation 'SET'
|
||||||
CALL p1((SELECT col1, col2 FROM t1 LIMIT 1));
|
CALL p1((SELECT col1, col2 FROM t1 LIMIT 1));
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR HY000: Illegal parameter data types tinyint and row for operation 'SET'
|
||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
@@ -1221,13 +1221,13 @@ BEGIN
|
|||||||
END|
|
END|
|
||||||
delimiter ;|
|
delimiter ;|
|
||||||
|
|
||||||
--error ER_OPERAND_COLUMNS
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
CALL p1((1, 2));
|
CALL p1((1, 2));
|
||||||
|
|
||||||
--error ER_OPERAND_COLUMNS
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
CALL p1((SELECT * FROM t1 LIMIT 1));
|
CALL p1((SELECT * FROM t1 LIMIT 1));
|
||||||
|
|
||||||
--error ER_OPERAND_COLUMNS
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
CALL p1((SELECT col1, col2 FROM t1 LIMIT 1));
|
CALL p1((SELECT col1, col2 FROM t1 LIMIT 1));
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@@ -255,7 +255,7 @@ return i+1|
|
|||||||
call sub1("sub1a", (select 7))|
|
call sub1("sub1a", (select 7))|
|
||||||
call sub1("sub1b", (select max(i) from t2))|
|
call sub1("sub1b", (select max(i) from t2))|
|
||||||
call sub1("sub1c", (select i,d from t2 limit 1))|
|
call sub1("sub1c", (select i,d from t2 limit 1))|
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR HY000: Illegal parameter data types int and row for operation 'SET'
|
||||||
call sub1("sub1d", (select 1 from (select 1) a))|
|
call sub1("sub1d", (select 1 from (select 1) a))|
|
||||||
call sub2("sub2")|
|
call sub2("sub2")|
|
||||||
select * from t1 order by id|
|
select * from t1 order by id|
|
||||||
|
@@ -386,7 +386,7 @@ create function sub3(i int) returns int deterministic
|
|||||||
|
|
||||||
call sub1("sub1a", (select 7))|
|
call sub1("sub1a", (select 7))|
|
||||||
call sub1("sub1b", (select max(i) from t2))|
|
call sub1("sub1b", (select max(i) from t2))|
|
||||||
--error ER_OPERAND_COLUMNS
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
call sub1("sub1c", (select i,d from t2 limit 1))|
|
call sub1("sub1c", (select i,d from t2 limit 1))|
|
||||||
call sub1("sub1d", (select 1 from (select 1) a))|
|
call sub1("sub1d", (select 1 from (select 1) a))|
|
||||||
call sub2("sub2")|
|
call sub2("sub2")|
|
||||||
|
@@ -92,6 +92,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types int and geometry for operation 'SET'
|
ERROR HY000: Illegal parameter data types int and geometry for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(11) DEFAULT NULL;
|
||||||
|
DECLARE dst geometry DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types geometry and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a geometry) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types geometry and int for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a geometry) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types geometry and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst geometry)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(11) DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst geometry DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types geometry and int for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types geometry and int for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS geometry
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc int(11) DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types geometry and int for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(11) DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t geometry) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types geometry and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst geometry DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types geometry and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (target INT DEFAULT 0, source GEOMETRY DEFAULT POINT(1,1));
|
CREATE TABLE t1 (target INT DEFAULT 0, source GEOMETRY DEFAULT POINT(1,1));
|
||||||
@@ -185,6 +259,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types geometry and int for operation 'SET'
|
ERROR HY000: Illegal parameter data types geometry and int for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src geometry DEFAULT NULL;
|
||||||
|
DECLARE dst int(11) DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types int and geometry for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a int(11)) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types int and geometry for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a int(11)) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types int and geometry for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst int(11))
|
||||||
|
BEGIN
|
||||||
|
DECLARE src geometry DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst int(11) DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types int and geometry for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types int and geometry for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS int(11)
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc geometry DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types int and geometry for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src geometry DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t int(11)) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types int and geometry for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst int(11) DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types int and geometry for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
@@ -24,7 +24,7 @@ RETURN a;
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
SELECT f1(ROW(10,20));
|
SELECT f1(ROW(10,20));
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR HY000: Illegal parameter data types int and row for operation 'SET'
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
#
|
#
|
||||||
# ROW as an SP parameter
|
# ROW as an SP parameter
|
||||||
@@ -261,7 +261,7 @@ SELECT f1(a);
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
CALL p1();
|
CALL p1();
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR HY000: Illegal parameter data types int and row for operation 'SET'
|
||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
CREATE FUNCTION f1(a INT) RETURN INT
|
CREATE FUNCTION f1(a INT) RETURN INT
|
||||||
@@ -278,7 +278,7 @@ SELECT f1(a);
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
CALL p1();
|
CALL p1();
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR HY000: Illegal parameter data types int and row for operation 'SET'
|
||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
#
|
#
|
||||||
@@ -332,7 +332,7 @@ RETURN rec;
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
SELECT f1(10);
|
SELECT f1(10);
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR HY000: Illegal parameter data types int and row for operation 'SET'
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
#
|
#
|
||||||
# Using the entire ROW in SELECT..CREATE
|
# Using the entire ROW in SELECT..CREATE
|
||||||
|
@@ -35,7 +35,7 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
DELIMITER ;$$
|
DELIMITER ;$$
|
||||||
--error ER_OPERAND_COLUMNS
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
SELECT f1(ROW(10,20));
|
SELECT f1(ROW(10,20));
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
|
|
||||||
@@ -334,7 +334,7 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
DELIMITER ;$$
|
DELIMITER ;$$
|
||||||
--error ER_OPERAND_COLUMNS
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
CALL p1();
|
CALL p1();
|
||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
@@ -355,7 +355,7 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
DELIMITER ;$$
|
DELIMITER ;$$
|
||||||
--error ER_OPERAND_COLUMNS
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
CALL p1();
|
CALL p1();
|
||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
@@ -427,7 +427,7 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
DELIMITER ;$$
|
DELIMITER ;$$
|
||||||
--error ER_OPERAND_COLUMNS
|
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||||
SELECT f1(10);
|
SELECT f1(10);
|
||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
|
|
||||||
|
@@ -95,6 +95,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types decimal and inet6 for operation 'SET'
|
ERROR HY000: Illegal parameter data types decimal and inet6 for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src decimal(38,0) DEFAULT NULL;
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and decimal for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a inet6) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and decimal for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a inet6) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and decimal for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst inet6)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src decimal(38,0) DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and decimal for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types inet6 and decimal for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS inet6
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc decimal(38,0) DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and decimal for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src decimal(38,0) DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t inet6) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and decimal for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and decimal for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (target DECIMAL(38,0) DEFAULT 0, source INET6 DEFAULT '::0');
|
CREATE TABLE t1 (target DECIMAL(38,0) DEFAULT 0, source INET6 DEFAULT '::0');
|
||||||
@@ -188,6 +262,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types inet6 and decimal for operation 'SET'
|
ERROR HY000: Illegal parameter data types inet6 and decimal for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
DECLARE dst decimal(38,0) DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a decimal(38,0)) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and inet6 for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a decimal(38,0)) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst decimal(38,0))
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst decimal(38,0) DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and inet6 for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types decimal and inet6 for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS decimal(38,0)
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc inet6 DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and inet6 for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t decimal(38,0)) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst decimal(38,0) DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
@@ -95,6 +95,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types double and inet6 for operation 'SET'
|
ERROR HY000: Illegal parameter data types double and inet6 for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src double DEFAULT NULL;
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and double for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a inet6) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and double for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a inet6) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and double for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst inet6)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src double DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and double for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types inet6 and double for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS inet6
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc double DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and double for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src double DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t inet6) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and double for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and double for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (target DOUBLE DEFAULT 0, source INET6 DEFAULT '::0');
|
CREATE TABLE t1 (target DOUBLE DEFAULT 0, source INET6 DEFAULT '::0');
|
||||||
@@ -188,6 +262,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types inet6 and double for operation 'SET'
|
ERROR HY000: Illegal parameter data types inet6 and double for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
DECLARE dst double DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types double and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a double) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types double and inet6 for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a double) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types double and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst double)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst double DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types double and inet6 for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types double and inet6 for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS double
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc inet6 DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types double and inet6 for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t double) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types double and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst double DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types double and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
@@ -95,6 +95,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types int and inet6 for operation 'SET'
|
ERROR HY000: Illegal parameter data types int and inet6 for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(11) DEFAULT NULL;
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a inet6) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a inet6) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst inet6)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(11) DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types inet6 and int for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS inet6
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc int(11) DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(11) DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t inet6) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (target INT DEFAULT 0, source INET6 DEFAULT '::0');
|
CREATE TABLE t1 (target INT DEFAULT 0, source INET6 DEFAULT '::0');
|
||||||
@@ -188,6 +262,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET'
|
ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
DECLARE dst int(11) DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types int and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a int(11)) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types int and inet6 for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a int(11)) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types int and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst int(11))
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst int(11) DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types int and inet6 for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types int and inet6 for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS int(11)
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc inet6 DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types int and inet6 for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t int(11)) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types int and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst int(11) DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types int and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
@@ -95,6 +95,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types time and inet6 for operation 'SET'
|
ERROR HY000: Illegal parameter data types time and inet6 for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src time DEFAULT NULL;
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and time for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a inet6) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and time for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a inet6) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and time for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst inet6)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src time DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and time for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types inet6 and time for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS inet6
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc time DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and time for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src time DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t inet6) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and time for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and time for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (target TIME DEFAULT '00:00:00', source INET6 DEFAULT '::0');
|
CREATE TABLE t1 (target TIME DEFAULT '00:00:00', source INET6 DEFAULT '::0');
|
||||||
@@ -188,6 +262,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types inet6 and time for operation 'SET'
|
ERROR HY000: Illegal parameter data types inet6 and time for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
DECLARE dst time DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types time and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a time) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types time and inet6 for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a time) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types time and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst time)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst time DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types time and inet6 for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types time and inet6 for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS time
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc inet6 DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types time and inet6 for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t time) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types time and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst time DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types time and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
@@ -95,6 +95,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types int unsigned and inet6 for operation 'SET'
|
ERROR HY000: Illegal parameter data types int unsigned and inet6 for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(10) unsigned DEFAULT NULL;
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int unsigned for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a inet6) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int unsigned for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a inet6) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int unsigned for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst inet6)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(10) unsigned DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int unsigned for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types inet6 and int unsigned for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS inet6
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc int(10) unsigned DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int unsigned for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(10) unsigned DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t inet6) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int unsigned for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst inet6 DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types inet6 and int unsigned for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (target INT UNSIGNED DEFAULT 0, source INET6 DEFAULT '::0');
|
CREATE TABLE t1 (target INT UNSIGNED DEFAULT 0, source INET6 DEFAULT '::0');
|
||||||
@@ -188,6 +262,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types inet6 and int unsigned for operation 'SET'
|
ERROR HY000: Illegal parameter data types inet6 and int unsigned for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
DECLARE dst int(10) unsigned DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a int(10) unsigned) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and inet6 for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a int(10) unsigned) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst int(10) unsigned)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst int(10) unsigned DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and inet6 for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types int unsigned and inet6 for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS int(10) unsigned
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc inet6 DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and inet6 for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src inet6 DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t int(10) unsigned) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst int(10) unsigned DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and inet6 for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
@@ -95,6 +95,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types decimal and uuid for operation 'SET'
|
ERROR HY000: Illegal parameter data types decimal and uuid for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src decimal(38,0) DEFAULT NULL;
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and decimal for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a uuid) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and decimal for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a uuid) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and decimal for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst uuid)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src decimal(38,0) DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and decimal for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types uuid and decimal for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS uuid
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc decimal(38,0) DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and decimal for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src decimal(38,0) DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t uuid) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and decimal for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and decimal for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (target DECIMAL(38,0) DEFAULT 0, source UUID DEFAULT '00000000-0000-0000-0000-000000000000');
|
CREATE TABLE t1 (target DECIMAL(38,0) DEFAULT 0, source UUID DEFAULT '00000000-0000-0000-0000-000000000000');
|
||||||
@@ -188,6 +262,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types uuid and decimal for operation 'SET'
|
ERROR HY000: Illegal parameter data types uuid and decimal for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
DECLARE dst decimal(38,0) DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a decimal(38,0)) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and uuid for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a decimal(38,0)) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst decimal(38,0))
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst decimal(38,0) DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and uuid for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types decimal and uuid for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS decimal(38,0)
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc uuid DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and uuid for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t decimal(38,0)) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst decimal(38,0) DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types decimal and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
@@ -95,6 +95,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types double and uuid for operation 'SET'
|
ERROR HY000: Illegal parameter data types double and uuid for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src double DEFAULT NULL;
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and double for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a uuid) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and double for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a uuid) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and double for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst uuid)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src double DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and double for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types uuid and double for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS uuid
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc double DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and double for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src double DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t uuid) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and double for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and double for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (target DOUBLE DEFAULT 0, source UUID DEFAULT '00000000-0000-0000-0000-000000000000');
|
CREATE TABLE t1 (target DOUBLE DEFAULT 0, source UUID DEFAULT '00000000-0000-0000-0000-000000000000');
|
||||||
@@ -188,6 +262,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types uuid and double for operation 'SET'
|
ERROR HY000: Illegal parameter data types uuid and double for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
DECLARE dst double DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types double and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a double) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types double and uuid for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a double) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types double and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst double)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst double DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types double and uuid for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types double and uuid for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS double
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc uuid DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types double and uuid for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t double) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types double and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst double DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types double and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
@@ -95,6 +95,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types int and uuid for operation 'SET'
|
ERROR HY000: Illegal parameter data types int and uuid for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(11) DEFAULT NULL;
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a uuid) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a uuid) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst uuid)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(11) DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types uuid and int for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS uuid
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc int(11) DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(11) DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t uuid) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (target INT DEFAULT 0, source UUID DEFAULT '00000000-0000-0000-0000-000000000000');
|
CREATE TABLE t1 (target INT DEFAULT 0, source UUID DEFAULT '00000000-0000-0000-0000-000000000000');
|
||||||
@@ -188,6 +262,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types uuid and int for operation 'SET'
|
ERROR HY000: Illegal parameter data types uuid and int for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
DECLARE dst int(11) DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types int and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a int(11)) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types int and uuid for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a int(11)) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types int and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst int(11))
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst int(11) DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types int and uuid for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types int and uuid for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS int(11)
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc uuid DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types int and uuid for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t int(11)) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types int and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst int(11) DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types int and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
@@ -95,6 +95,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types time and uuid for operation 'SET'
|
ERROR HY000: Illegal parameter data types time and uuid for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src time DEFAULT NULL;
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and time for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a uuid) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and time for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a uuid) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and time for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst uuid)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src time DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and time for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types uuid and time for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS uuid
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc time DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and time for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src time DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t uuid) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and time for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and time for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (target TIME DEFAULT '00:00:00', source UUID DEFAULT '00000000-0000-0000-0000-000000000000');
|
CREATE TABLE t1 (target TIME DEFAULT '00:00:00', source UUID DEFAULT '00000000-0000-0000-0000-000000000000');
|
||||||
@@ -188,6 +262,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types uuid and time for operation 'SET'
|
ERROR HY000: Illegal parameter data types uuid and time for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
DECLARE dst time DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types time and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a time) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types time and uuid for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a time) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types time and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst time)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst time DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types time and uuid for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types time and uuid for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS time
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc uuid DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types time and uuid for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t time) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types time and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst time DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types time and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
@@ -95,6 +95,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types int unsigned and uuid for operation 'SET'
|
ERROR HY000: Illegal parameter data types int unsigned and uuid for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(10) unsigned DEFAULT NULL;
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int unsigned for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a uuid) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int unsigned for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a uuid) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int unsigned for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst uuid)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(10) unsigned DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int unsigned for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types uuid and int unsigned for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS uuid
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc int(10) unsigned DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int unsigned for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src int(10) unsigned DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t uuid) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int unsigned for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst uuid DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types uuid and int unsigned for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (target INT UNSIGNED DEFAULT 0, source UUID DEFAULT '00000000-0000-0000-0000-000000000000');
|
CREATE TABLE t1 (target INT UNSIGNED DEFAULT 0, source UUID DEFAULT '00000000-0000-0000-0000-000000000000');
|
||||||
@@ -188,6 +262,80 @@ EXECUTE IMMEDIATE @alter;
|
|||||||
ERROR HY000: Illegal parameter data types uuid and int unsigned for operation 'SET'
|
ERROR HY000: Illegal parameter data types uuid and int unsigned for operation 'SET'
|
||||||
DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
DECLARE dst int(10) unsigned DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1;
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1(a int(10) unsigned) RETURNS INT RETURN NULL;;
|
||||||
|
SELECT f1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and uuid for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1(a int(10) unsigned) BEGIN END;;
|
||||||
|
CALL p1((SELECT source FROM t1 ORDER BY source LIMIT 1));
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE PROCEDURE p1(OUT dst int(10) unsigned)
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
SET dst=src;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE PROCEDURE p2()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst int(10) unsigned DEFAULT NULL;
|
||||||
|
CALL p1(dst);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p2();
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and uuid for operation 'SET'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 4078 Illegal parameter data types int unsigned and uuid for operation 'SET'
|
||||||
|
Note 4094 At line 4 in test.p1
|
||||||
|
Note 4094 At line 4 in test.p2
|
||||||
|
DROP PROCEDURE p2;
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE FUNCTION f1() RETURNS int(10) unsigned
|
||||||
|
BEGIN
|
||||||
|
DECLARE rc uuid DEFAULT NULL;
|
||||||
|
RETURN rc;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
SELECT f1();
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and uuid for operation 'SET'
|
||||||
|
DROP FUNCTION f1;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE src uuid DEFAULT NULL;
|
||||||
|
DECLARE cur1 CURSOR(t int(10) unsigned) FOR SELECT * FROM t1 WHERE target=t;
|
||||||
|
OPEN cur1(src);
|
||||||
|
CLOSE cur1;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
CREATE TABLE t2 LIKE t1;
|
||||||
|
INSERT INTO t2 VALUES ();
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
DECLARE dst int(10) unsigned DEFAULT NULL;
|
||||||
|
DECLARE cur2 CURSOR FOR SELECT source FROM t2 ORDER BY source LIMIT 1;
|
||||||
|
OPEN cur2;
|
||||||
|
FETCH cur2 INTO dst;
|
||||||
|
CLOSE cur2;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL p1();
|
||||||
|
ERROR HY000: Illegal parameter data types int unsigned and uuid for operation 'SET'
|
||||||
|
DROP PROCEDURE p1;
|
||||||
|
DROP TABLE t2;
|
||||||
# End of type_store_assignment_incompatible.inc
|
# End of type_store_assignment_incompatible.inc
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
@@ -1453,7 +1453,7 @@ bool Field::sp_prepare_and_store_item(THD *thd, Item **value)
|
|||||||
|
|
||||||
Item *expr_item;
|
Item *expr_item;
|
||||||
|
|
||||||
if (!(expr_item= thd->sp_prepare_func_item(value, 1)))
|
if (!(expr_item= thd->sp_fix_func_item_for_assignment(this, value)))
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -9892,9 +9892,11 @@ void Item_trigger_field::set_required_privilege(bool rw)
|
|||||||
|
|
||||||
bool Item_trigger_field::set_value(THD *thd, sp_rcontext * /*ctx*/, Item **it)
|
bool Item_trigger_field::set_value(THD *thd, sp_rcontext * /*ctx*/, Item **it)
|
||||||
{
|
{
|
||||||
Item *item= thd->sp_prepare_func_item(it);
|
if (fix_fields_if_needed(thd, NULL))
|
||||||
|
return true;
|
||||||
|
|
||||||
if (!item || fix_fields_if_needed(thd, NULL))
|
Item *item= thd->sp_fix_func_item_for_assignment(field, it);
|
||||||
|
if (!item)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
// NOTE: field->table->copy_blobs should be false here, but let's
|
// NOTE: field->table->copy_blobs should be false here, but let's
|
||||||
|
@@ -410,6 +410,26 @@ Item *THD::sp_fix_func_item(Item **it_addr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
Prepare an Item for evaluation as an assignment source,
|
||||||
|
for assignment to the given target.
|
||||||
|
|
||||||
|
@param to - the assignment target
|
||||||
|
@param it_addr - a pointer on item refernce
|
||||||
|
|
||||||
|
@retval - NULL on error
|
||||||
|
@retval - a prepared item pointer on success
|
||||||
|
*/
|
||||||
|
Item *THD::sp_fix_func_item_for_assignment(const Field *to, Item **it_addr)
|
||||||
|
{
|
||||||
|
DBUG_ENTER("THD::sp_fix_func_item_for_assignment");
|
||||||
|
Item *res= sp_fix_func_item(it_addr);
|
||||||
|
if (res && (!res->check_assignability_to(to)))
|
||||||
|
DBUG_RETURN(res);
|
||||||
|
DBUG_RETURN(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Evaluate an expression and store the result in the field.
|
Evaluate an expression and store the result in the field.
|
||||||
|
|
||||||
@@ -4071,7 +4091,7 @@ sp_instr_jump_if_not::exec_core(THD *thd, uint *nextp)
|
|||||||
Item *it;
|
Item *it;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
it= thd->sp_prepare_func_item(&m_expr);
|
it= thd->sp_prepare_func_item(&m_expr, 1);
|
||||||
if (! it)
|
if (! it)
|
||||||
{
|
{
|
||||||
res= -1;
|
res= -1;
|
||||||
|
@@ -715,7 +715,7 @@ Item_cache *sp_rcontext::create_case_expr_holder(THD *thd,
|
|||||||
bool sp_rcontext::set_case_expr(THD *thd, int case_expr_id,
|
bool sp_rcontext::set_case_expr(THD *thd, int case_expr_id,
|
||||||
Item **case_expr_item_ptr)
|
Item **case_expr_item_ptr)
|
||||||
{
|
{
|
||||||
Item *case_expr_item= thd->sp_prepare_func_item(case_expr_item_ptr);
|
Item *case_expr_item= thd->sp_prepare_func_item(case_expr_item_ptr, 1);
|
||||||
if (!case_expr_item)
|
if (!case_expr_item)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
@@ -5493,7 +5493,8 @@ public:
|
|||||||
bool restore_from_local_lex_to_old_lex(LEX *oldlex);
|
bool restore_from_local_lex_to_old_lex(LEX *oldlex);
|
||||||
|
|
||||||
Item *sp_fix_func_item(Item **it_addr);
|
Item *sp_fix_func_item(Item **it_addr);
|
||||||
Item *sp_prepare_func_item(Item **it_addr, uint cols= 1);
|
Item *sp_fix_func_item_for_assignment(const Field *to, Item **it_addr);
|
||||||
|
Item *sp_prepare_func_item(Item **it_addr, uint cols);
|
||||||
bool sp_eval_expr(Field *result_field, Item **expr_item_ptr);
|
bool sp_eval_expr(Field *result_field, Item **expr_item_ptr);
|
||||||
|
|
||||||
bool sql_parser(LEX *old_lex, LEX *lex,
|
bool sql_parser(LEX *old_lex, LEX *lex,
|
||||||
|
Reference in New Issue
Block a user