Bug #61028 | Synchronize problem when table name and routine name is similar | ||
---|---|---|---|
Submitted: | 2 May 2011 18:32 | Modified: | 17 Nov 2011 16:26 |
Reporter: | Istvan Borsanyi | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Workbench: Modeling | Severity: | S3 (Non-critical) |
Version: | 5.2.33 7508 | OS: | Windows (Windows 7 x86 Ultimate) |
Assigned to: | CPU Architecture: | Any | |
Tags: | synchronize, synchronizing |
[2 May 2011 18:32]
Istvan Borsanyi
[2 May 2011 18:44]
Istvan Borsanyi
Link to a screenshot: http://img834.imageshack.us/i/syncwizard.jpg/ I modified the name of the routine. Check the row at down below.
[7 Jun 2011 17:07]
Armando Lopez Valencia
Hello Istvan. Thanks for your report. Can you please provide us with a drop of your source DB and a copy of your model?
[13 Jun 2011 15:49]
Istvan Borsanyi
Try this sample and the .mwb file. When you modify the procedure - e.g. add a new comment row - the synchronization will confused. SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; CREATE SCHEMA IF NOT EXISTS `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ; USE `test` ; -- ----------------------------------------------------- -- Table `test`.`proba` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `test`.`proba` ( `idproba` INT(11) NOT NULL , PRIMARY KEY (`idproba`) ) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8 COLLATE = utf8_unicode_ci; -- ----------------------------------------------------- -- procedure proba -- ----------------------------------------------------- DELIMITER $$ USE `test`$$ CREATE DEFINER=`root`@`%` PROCEDURE `proba`() BEGIN #nothing #nothing two END $$ DELIMITER ; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
[13 Jun 2011 15:53]
Istvan Borsanyi
Confused sync
Attachment: 2011.06.13.jpg (image/jpeg, text), 141.93 KiB.
[13 Jun 2011 15:58]
Istvan Borsanyi
Check the attached picture. The difference between the model and the databse is the second comment row in the procedure. The sync thinks the difference in the table not in the procedure. This is clearly visible when you see the icons at the front of the table and function name.
[14 Jun 2011 1:49]
MySQL Verification Team
Thank you for the feedback.
[17 Nov 2011 16:26]
Philip Olson
Fixed as of 5.2.37: + Database synchronization would sometimes confuse similar table and + routine names.