Bug #79041 MySQL Workbench stored procedure editor does not detect correctly changes
Submitted: 30 Oct 2015 22:43 Modified: 3 Nov 2015 12:58
Reporter: Mario Diethelm Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Workbench: SQL Editor Severity:S2 (Serious)
Version:6.3.5 OS:Windows (Microsoft Windows 10 Home Single Language)
Assigned to: CPU Architecture:Any
Tags: WBBugReporter

[30 Oct 2015 22:43] Mario Diethelm
Description:
----[For better reports, please attach the log file after submitting. You can find it in C:\Users\marioma\AppData\Roaming\MySQL\Workbench\log\wb.log]

After upgrading to MySQL Workbench 6.3.5, I am not able to edit already recorded stored procedures. When you request to alter an existing stored procedure, the editor opens it correctly, but after doing changes and clicking the Apply button, the system does not detect any changes, and of course the actual changes are not saved.

I tried creating a new stored procedure, copying and pasting the same text from an existing one and it works. Any way after clicking the Apply button, the editor still ask you to save the unchanged (?) data.

How to repeat:
Selecting any existing stored procedure for alter, make some changes and then trying to apply the changes using the Apply button
[30 Oct 2015 22:45] Mario Diethelm
log file

Attachment: wb.log (application/octet-stream, text), 10.09 KiB.

[31 Oct 2015 2:29] MySQL Verification Team
Thank you for the bug report. Please provide the SQL to create a stored procedure then the change you want to perform.
[1 Nov 2015 15:06] Mario Diethelm
I uninstalled version 6.3.5 and have installed back version 6.2.5. Everything is working ok now.
[3 Nov 2015 8:46] Audrius P
same bug #78924
[3 Nov 2015 9:04] MySQL Verification Team
As prior comment: https://bugs.mysql.com/bug.php?id=78924.
[3 Nov 2015 12:56] Mario Diethelm
Workbench log file

Attachment: wb.log (application/octet-stream, text), 8.81 KiB.

[3 Nov 2015 12:58] Mario Diethelm
The problem appears with any stored procedure that you try to modify. For instance, I tried to modify the film_in_stock stored procedure from the sakila data base (schema). I tried modifying the SELECT inventory_id clause to SELECT inventory_id, last_update. When you push the Apply button, you get the answer "No changes detected".

Additionally, I tried to generate a dump file with the sakila data base to a single file in order to attach to this post, but the process failed with the following error (the same happens with any other data base):

09:49:31 Dumping sakila (all tables)
Running: mysqldump.exe --defaults-file="c:\users\marioma\appdata\local\temp\tmpvtdh_v.cnf"  --delayed-insert=FALSE --host=localhost --protocol=tcp --user=root --port=3306 --default-character-set=utf8 --routines "sakila"
mysqldump: [ERROR] unknown variable 'delayed-insert=FALSE'

Operation failed with exitcode 7
09:49:31 Export of C:\Users\marioma\Documents\dump files\sakila.sql has finished with 1 errors

As I commented in a previous post, installing a previous MySQL Workbench version ( 6.2.5 in this case) solves all the issues.
[11 Nov 2015 12:57] Prefiero No darlo
I have the same problem. It does not work with any procedure. I created:

CREATE DEFINER=`root`@`%` PROCEDURE `cander`()
BEGIN

select now();

END

And if I open it after a program restart and I try to change it to:

CREATE DEFINER=`root`@`%` PROCEDURE `cander`()
BEGIN

select now();

select now();

END

The response is:

13:55:57	Apply changes to cander	No changes detected
[19 Jan 2016 6:24] Mark Hoekstra
Same problem.  When correcting copy/paste oversight:

CREATE DEFINER=`root`@`localhost` PROCEDURE `wf_Company_Insert`(
	IN $co_name varchar(50),
   OUT $ret_guid varchar(64)
)
BEGIN
INSERT INTO wf_company (co_name)
	 VALUES ($co_name);
SELECT co_guid INTO $ret_guid FROM wf_Session WHERE se_id= LAST_INSERT_ID();

END

Corrected to 

CREATE DEFINER=`root`@`localhost` PROCEDURE `wf_Company_Insert`(
	IN $co_name varchar(50),
   OUT $ret_guid varchar(64)
)
BEGIN
INSERT INTO wf_company (co_name)
	 VALUES ($co_name);
SELECT co_guid INTO $ret_guid FROM wf_Compaany WHERE se_id= LAST_INSERT_ID();

END

Message in output:

Apply changes to wf_Company_insert (action column)
No changes detected (message column)

Only workaround seems to be to drop procedure and recreate it.
[19 Jan 2016 6:28] Mark Hoekstra
Sorry, forgot to add that this is MySql Workbench 6.3.5 64bit on Windows 10.

Also, before someone calls me out -- yep -- had a typo when I typed "wf_Compaany " which should have read "wf_Company"  :)  

Unfortunately correcting that has no effect on the problem we're discussing.