diff options
author | Alexander Barkov <bar@mariadb.com> | 2022-08-02 16:23:08 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2022-08-05 22:23:40 +0400 |
commit | 3ebbfd88a0360938e3a5a480265beb2a71b1268a (patch) | |
tree | 2168fd64b64e21aa391746019414055b326fb0b8 /mysql-test/main/sp-row.result | |
parent | 97d16c7544c40430facda441dab89fa4b23468a0 (diff) | |
download | mariadb-git-3ebbfd88a0360938e3a5a480265beb2a71b1268a.tar.gz |
MDEV-29159 Patch for MDEV-28918 introduces more inconsistency than it solves, breaks usability
1. Store assignment failures on incompatible data types now raise errors if:
- STRICT_ALL_TABLES or STRICT_TRANS_TABLES sql_mode is used, and
- IGNORE is not used
Otherwise, only a warning is raised and the statement continues.
2. Changing the error/warning test as follows:
-ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET'
+ERROR HY000: Cannot cast 'int' as 'inet6' in assignment of `db`.`t`.`col`
so in case of a big table it's easier to see which column has the problem.
The new error text is also applied to SP variables.
Diffstat (limited to 'mysql-test/main/sp-row.result')
-rw-r--r-- | mysql-test/main/sp-row.result | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/mysql-test/main/sp-row.result b/mysql-test/main/sp-row.result index 1cbfa8c639f..f3c0a9e343a 100644 --- a/mysql-test/main/sp-row.result +++ b/mysql-test/main/sp-row.result @@ -20,7 +20,7 @@ RETURN a; END; $$ SELECT f1(ROW(10,20)); -ERROR HY000: Illegal parameter data types int and row for operation 'SET' +ERROR HY000: Cannot cast 'row' as 'int' in assignment of `f1(ROW(10,20))` DROP FUNCTION f1; # # ROW as an SP parameter @@ -236,7 +236,7 @@ SELECT f1(a); END; $$ CALL p1(); -ERROR HY000: Illegal parameter data types int and row for operation 'SET' +ERROR HY000: Cannot cast 'row' as 'int' in assignment of `a` DROP PROCEDURE p1; DROP FUNCTION f1; # @@ -286,7 +286,7 @@ RETURN rec; END; $$ SELECT f1(10); -ERROR HY000: Illegal parameter data types int and row for operation 'SET' +ERROR HY000: Cannot cast 'row' as 'int' in assignment of `f1(10)` DROP FUNCTION f1; # # Using the entire ROW in SELECT..CREATE |