Bug #60164 Cannot Apply a change to DEFINER clause on Triggers tab of Alter Table dialog.
Submitted: 17 Feb 2011 19:26 Modified: 30 Aug 2012 22:57
Reporter: jah boite Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench: SQL Editor Severity:S3 (Non-critical)
Version:5.2.31 CE r7115 OS:Windows (32bit XP SP3)
Assigned to: CPU Architecture:Any

[17 Feb 2011 19:26] jah boite
Description:
I'm trying to apply a change to the DEFINER clause value in a TRIGGER DDL statement from the Alter Table dialog.

After making the change and clicking the Apply button of the dialog, the message pane reads (in red):
"No changes to object were detected.
SQL: "

The statement concerned:

DELIMITER $$
USE `myschema`$$
CREATE
DEFINER=`someuser`@``
TRIGGER `myschema`.`customer`
BEFORE UPDATE ON `myschema`.`customer`
FOR EACH ROW
BEGIN
  IF  NEW.title != OLD.title OR
    NEW.forename != OLD.forename OR
    NEW.surname <> OLD.surname OR
    NEW.landlineTelephone != OLD.landlineTelephone OR
    NEW.mobileTelephone != OLD.mobileTelephone OR
    NEW.email != OLD.email
  THEN
  INSERT INTO customer_archive
    (`customerId`, `companyId`, `title`, `forename`, `surname`, `gender`,
    `dob`, `addressId`, `landlineTelephone`, `mobileTelephone`, `email`,
    `username`, `password`, `lastInviteId`, `created`, `updatedBy`)
  VALUES
    (OLD.customerId, OLD.companyId, OLD.title, OLD.forename, OLD.surname,
    OLD.gender, OLD.dob, OLD.addressId, OLD.landlineTelephone,
    OLD.mobileTelephone, OLD.email, OLD.username, OLD.password,
    OLD.lastInviteId, OLD.created, OLD.updatedBy);
  END IF;
END$$

Importantly, a change in the statement is detected if I change, for instance, the operator in the line:
NEW.surname <> OLD.surname OR
to
NEW.surname != OLD.surname OR
and in this case I can successfully apply the change (and with it, the new value of the DEFINER clause).

How to repeat:
Select a table in the schema having an already functioning (or an erroneous) CREATE TRIGGER statement.
Right-click the selection and choose 'Alter Table...'
Select the Triggers tab of the resultant dialog.
Edit the DEFINER clause value.
Click Apply.
[18 Feb 2011 8:38] Valeriy Kravchuk
Thank you for the bug report.
[30 Aug 2012 22:57] Philip Olson
Fixed as of the upcoming 5.2.45 version of Workbench, and here's the changelog entry:

 It was not possible to change the definer clause on triggers
 within the "Alter Table" wizard. Clicking on
 "Apply" would not save the result.

Thank you for the report.
[6 Dec 2012 19:20] Philip Olson
The 5.2.45 changelog entry has been updated, and reads as:

Changes to the "DEFINER" clause were not detected by the "Alter Table"
wizard when altering this clause was the only change.