| 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: | |
| 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 | |
[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.

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.