Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0.19
-
None
-
Windows 8.1
Description
ERROR_FOR_DIVISION_BY_ZERO doesn't appear to be honored.
Welcome to the MariaDB monitor. Commands end with ; or \g.
|
Your MariaDB connection id is 1043
|
Server version: 10.0.19-MariaDB mariadb.org binary distribution
|
|
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
|
|
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
|
|
MariaDB [(none)]> SHOW VARIABLES LIKE 'sql_mode';
|
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| Variable_name | Value |
|
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| sql_mode | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
|
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
1 row in set (0.00 sec)
|
|
MariaDB [(none)]> SELECT 1/0;
|
+------+
|
| 1/0 |
|
+------+
|
| NULL |
|
+------+
|
1 row in set, 1 warning (0.00 sec)
|
|
MariaDB [(none)]> show warnings;
|
+---------+------+---------------+
|
| Level | Code | Message |
|
+---------+------+---------------+
|
| Warning | 1365 | Division by 0 |
|
+---------+------+---------------+
|
1 row in set (0.00 sec)
|
There is a warning, but according to https://mariadb.com/kb/en/mariadb/sql_mode/ it should "Return a 1365 'Division by 0' error (instead of a warning)"
I am not sure what the intended behaviour is - to me it looks like a bug, as you would expect an option called "ERROR_*" to actually return an error, at least in strict mode. I have tested the behaviour on MariaDB 5.5, MySQL 5.6.19 and it works in the same undocumented way as well. The option has also been deprecated in MySQL 5.6. I'll update the documentation to reflect what happens now, but leaving the task open for re-assigning if its seen as a bug rather than intentional.