Hi, Holyfoot! On Sep 27, Sergei Golubchik wrote:
On Sep 26, Sergei Golubchik wrote:
Hi, Holyfoot!
revision-id: 1d92131613770b505fa462b33c1091e00d9475be (mariadb-10.1.7-61-g1d92131) parent(s): e5418942609833edb681d16c4e2705f8c338bfee committer: Alexey Botchkov timestamp: 2015-09-24 14:31:06 +0500 message:
MDEV-4829 BEFORE INSERT triggers dont issue 1406 error. Fixed as it's done in MySQL 5.7. The Strict_error_handler introduced to intercept such states and is activated in the sp_head::execute_trigger() ...
On Sep 24, holyfoot@askmonty.org wrote: 2. strict mode may change the sql_errno, handle_condition_ext doesn't support it.
Now I think that this is a fundamentally flawed idea. When a warning is changed to an error this affects not only the level, but also the errno, and - that's the difficult part - the error message. And the error handler cannot replace the error message, because it does not have values for all printf parameters that the error message might need.
On the other hand, if we say that STRICT mode and IGNORE should only change the level (which changes the existing behavior), then this approach will work perfectly. I might agree that changing the error text and number in the STRICT mode (or in IGNORE) was a strange idea and we'd be better off without it. Regards, Sergei