Bug #4624 mysql_fix_privilege_tables.sql syntax errors
Submitted: 19 Jul 2004 13:13 Modified: 26 Jul 2004 13:05
Reporter: [ name withheld ] Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:5.0.0alpha OS:MacOS (MacOS 10.3.4)
Assigned to: CPU Architecture:Any

[19 Jul 2004 13:13] [ name withheld ]
Description:
When trying to run the mysql_fix_privilege_tables.sql, I run into two syntax errors, both when 
creating the proc table.  One of the column names used is "returns    char(64) NOT NULL".  It 
must not like the name "returns"...being new to mysql I can only assume that it is a reserved 
word.  Changing it to something like "retturns" allows the column to be created, but I'm sure this 
will have a negative effect on using CREATE PROCEDURE to update this table.

Second, the column sql_mode is defined as a set off strings, but defaults to 0, not a string.  This 
also returns a syntax error.  Changing it to a string fixes it.

How to repeat:
Using the said version of mysql, and perhaps only OS 10.whatever (I used 10.3.4), try to execute  
said .sql file in mysql.  

Suggested fix:
I fixed it as above, but like I said, I'm sure it is not the proper way to fix it...it only actually 
allows the table to be created.  But I'm still having en error 1064 trying to create stored 
procedures, even after installing this proc table with a "retturns" column.
[26 Jul 2004 13:05] Per-Erik Martin
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.mysql.com/how-to-report.php

If you can provide more information, feel free to add it
to this bug and change the status back to 'Open'.

Thank you for your interest in MySQL.

Additional info:

This works on both MacOS X and Linux, both running the script
mysql_fix_privilege_tables (which is preferred) and running the .sql file in the client.

(And, no, changing a system table definition is fatal, it will not wok, and
 sql_mode is a 'set' (of flags), which is a number, so the default 0 is correct.)