Bug #64523 Can't alter routine for stored procedures
Submitted: 2 Mar 2012 13:19 Modified: 13 Mar 2012 11:48
Reporter: Caio Cunha Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Workbench: SQL Editor Severity:S2 (Serious)
Version:5.2.37, 5.2.38 OS:Windows (7)
Assigned to: CPU Architecture:Any
Tags: alter routine stored procedure

[2 Mar 2012 13:19] Caio Cunha
Description:
Hi there.

I'm using Workbench on Windows 7 and editing a database in a CentOS server.

When issuing Right Click > Alter Routine... nothing happens. If I Right Click > Copy to Clipboard > Create statement and paste the only content is:

delimiter $$

$$

I'm able to alter functions tough. The problem seems to be similar to this one 
http://bugs.mysql.com/bug.php?id=60354

But as you can see, I'm using version 5.2.37. What could be the problem?

MySQL Version on server:
# mysql -V
mysql  Ver 14.14 Distrib 5.1.46, for pc-linux-gnu (i686) using  EditLine wrapper

How to repeat:
1) Connect to a database
2) Right click a stored procedure
3) Alter Routine...

or

1) Connect to a database
2) Right click a store procedure
3) Copy to Clipboard
4) Create statement
5) Paste it at the editor
[2 Mar 2012 13:23] Valeriy Kravchuk
Please, check if the same problem still happens with a newer version, 5.2.38.
[2 Mar 2012 13:36] Caio Cunha
Still not working on 5.3.28 Rev 8753.

Even if I query "SHOW CREATE PROCEDURE procedure_name;" I get null for the "Create Procedure" column.

If I access the database through the terminal and issue the same query, everything works perfectly.
[2 Mar 2012 13:50] Caio Cunha
I just found that if I drop and recreate the procedure into Workbench, I can alter it later.
[2 Mar 2012 19:01] Alfredo Kojima
Do you still have the original definition of the table (from before you dropped and recreated it)? 
If so, can you paste it here? Apparently there was something in it that was confusing WB.
[12 Mar 2012 19:07] Caio Cunha
Sorry the delay. I was in a rush last days. 

I've found one problem following your suggestion. The procedure was very simple, look:

 CREATE DEFINER=`uuu`@`localhost` PROCEDURE `normalize`( name text )
begin select lower(name); end

I was using the default DEFINER, and as I'm using Workbench from a remote machine I'm accessing as `uuu`@`%`. I dropped the procedure and recreated it with `uuu`@`%` DEFINER and now I'm able to edit the procedure with Workbench.

I understand the reasons of the problem, but why this problem started happening now? I'm used to edit procedures from this same machine on the remote server with MySQL Query Browser and this problem had never happened.

And opposed to what I said before, I'm having this problem for both procedures and functions. In the earlier tests I must have been testing with functions created using the Workbench.

Is this a bug or it's the expected behavior? What about all the procedures I've created with default definer?
[13 Mar 2012 11:48] Caio Cunha
Seems like this is the expected behavior, despite the fact it worked before on MySQL Query Browser, probably because something was different on the databases tested.