Bug #70701 DatabaseMetaData.getSQLKeywords() doesn't match MySQL 5.6 reserved words
Submitted: 23 Oct 2013 12:21 Modified: 21 Jan 2014 20:35
Reporter: Filipe Silva Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / J Severity:S3 (Non-critical)
Version:5.1.26 OS:Any
Assigned to: Filipe Silva CPU Architecture:Any

[23 Oct 2013 12:21] Filipe Silva
Description:
DatabaseMetaData.getSQLKeywords() keywords list doesn't match with list from http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html.

Also the keywords list should be server version dependant.

How to repeat:
Just call DatabaseMetaData.getSQLKeywords() and compare the result with the list in http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html.

Suggested fix:
Update keywords list.
[23 Oct 2013 12:24] Filipe Silva
Verified by reporter.
[20 Jan 2014 22:46] Daniel So
Added the following entry into the Connector/J 5.1.29 changelog:

"DatabaseMetaData.getKeywords() did not generate the same list of reserved words as found in the MySQL Server's documentation (for example, in http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html). This fix makes the function generate the latest MySQL and SQL standards keywords. "
[21 Jan 2014 20:35] Daniel So
Revised changelog entry:

"DatabaseMetaData.getKeywords() did not return the latest reserved words as
found in MySQL Server's documentation (for example, in
http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html). This fix makes
the function generate, as per the JDBC API specification, a list of the
latest MySQL and SQL standard keywords that are not also SQL92 (or, depending
on the JDBC version in use, SQL2003) keywords."