Bug #19939 AUTHORS not documented as a reserved word
Submitted: 19 May 2006 11:09 Modified: 15 Aug 2006 13:03
Reporter: Hartmut Holzgraefe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.1 OS:Any (*)
Assigned to: Antony Curtis CPU Architecture:Any

[19 May 2006 11:09] Hartmut Holzgraefe
Description:
Even if we keep up the decision not to document 
SHOW AUTHORS (which i still tend to object) we 
need to document AUTHORS as a reserved keyword 
now as the following code works in 5.0 but fails 
in 5.1:

CREATE PROCEDURE foo()
BEGIN
   DECLARE n INT DEFAULT 2;
   AUTHORS: WHILE n > 0 DO
     SET n = n -1;
   END WHILE AUTHORS;
END

ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near 'AUTHORS: WHILE n > 0 DO        SET n = n -1;      END WHILE AUTHORS;      END' at line 1

How to repeat:
CREATE PROCEDURE foo()
BEGIN
   DECLARE n INT DEFAULT 2;
   AUTHORS: WHILE n > 0 DO
     SET n = n -1;
   END WHILE AUTHORS;
END
[25 May 2006 16:38] Paul DuBois
This is not a documentation issue, at least not yet.

AUTHORS is in fact not a reserved word. The behavior reported
results because AUTHORS is listed as a keyword in lex.h, but in
sql_yacc.yy AUTHORS_SYM is listed in the keyword production
and not in the keyword_sp production. Moving it to the keyword_sp
production would allow AUTHORS to be used as a label.

By the way, we now have a SHOW CONTRIBUTORS statement, which
is inconsistent with SHOW AUTHORS in yet a different way: CONTRIBUTORS
_is_ a reserved word.  I don't know if there is any reason for AUTHORS and
CONTRIBUTORS to be treated differently, but I suspect not. And if not, then
perhaps both should be listed in the keyword_sp production.

Changing category from Documentation to Server, and unassigning
myself, and unassigning Stefan as Lead.
[31 May 2006 8:27] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/7077
[11 Jul 2006 22:14] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/9072
[20 Jul 2006 19:54] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/9396
[20 Jul 2006 20:02] Antony Curtis
Pushed to 5.1 engines team tree.
[11 Aug 2006 8:56] Tomash Brechko
Pushed to 5.1.12.
[15 Aug 2006 13:03] Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.

If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html

Documented in 5.1.12 changelog.