Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0.4, 5.5.33
-
None
-
None
Description
In MariaDB 5.5.28 (and merged into 10.0.0) the following change was made by Monty:
http://bazaar.launchpad.net/~maria-captains/maria/10.0-base/revision/3413.16.2#sql/sql_insert.cc
This causes warnings to be emitted by INSERT IGNORE, which differs from MySQL behavior and specifically contradicts the documentation for INSERT IGNORE which says:
http://dev.mysql.com/doc/refman/5.5/en/insert.html
"If you use the IGNORE keyword, errors that occur while executing the INSERT statement are ignored. For example, without IGNORE, a row that duplicates an existing UNIQUE index or PRIMARY KEY value in the table causes a duplicate-key error and the statement is aborted. With IGNORE, the row still is not inserted, but no error occurs. Ignored errors may generate warnings instead, although duplicate-key errors do not."
The MariaDB page on IGNORE doesn't mention this difference:
https://mariadb.com/kb/en/ignore/
This new behavior is not actually desired and causes incompatibilities in some cases (e.g. clients who use INSERT IGNORE and actually check warnings). This should have been gated behind a SQL_MODE at least.
Is there any chance this change could be reverted or corrected?
Attachments
Activity
Field | Original Value | New Value |
---|---|---|
Fix Version/s | 10.0.6 [ 13202 ] | |
Fix Version/s | 5.5.34 [ 13700 ] | |
Assignee | Michael Widenius [ monty ] |
Fix Version/s | 10.0.7 [ 14100 ] | |
Fix Version/s | 10.0.6 [ 13202 ] |
Fix Version/s | 5.5.35 [ 14000 ] | |
Fix Version/s | 5.5.34 [ 13700 ] |
Fix Version/s | 10.0.8 [ 14200 ] | |
Fix Version/s | 10.0.7 [ 14100 ] |
Fix Version/s | 10.0.8 [ 14200 ] | |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Workflow | defaullt [ 29405 ] | MariaDB v2 [ 42778 ] |
Workflow | MariaDB v2 [ 42778 ] | MariaDB v3 [ 61787 ] |
Workflow | MariaDB v3 [ 61787 ] | MariaDB v4 [ 147150 ] |
I remember it being an intentional change, assigning to Monty in case he wants to reconsider.