CREATE OR REPLACE TABLE t (a INT);
|
INSERT INTO t VALUES (1),(2);
|
SELECT CAST(a AS DECIMAL(2,2)) AS f FROM t;
|
|
get diagnostics condition 2 @n = row_number, @m = message_text;
|
select @n, @m;
|
bb-10.7-row_number cb9002bee
|
+------+--------------------------------------------+
|
| @n | @m |
|
+------+--------------------------------------------+
|
| 2 | Out of range value for column 'f' at row 1 |
|
+------+--------------------------------------------+
|
1 row in set (0.000 sec)
|
|
MariaDB [test]> show warnings;
|
+---------+------+--------------------------------------------+
|
| Level | Code | Message |
|
+---------+------+--------------------------------------------+
|
| Warning | 1264 | Out of range value for column 'f' at row 1 |
|
| Warning | 1264 | Out of range value for column 'f' at row 1 |
|
+---------+------+--------------------------------------------+
|
2 rows in set (0.000 sec)
|
So, ROW_NUMBER looks correct and the error messages don't, but there was a requirement that the error message and the value of ROW_NUMBER must correlate, so probably the message should be fixed. Also, it is suspicious that it differs, if the same counter is supposed to be used.