Bug #119904 In MySQL 9.6.0, Reserved is set 0 for SETS
Submitted: 11 Feb 19:27 Modified: 17 Feb 7:49
Reporter: Sabalesh Mahajan Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Parser Severity:S3 (Non-critical)
Version:9.6.0 OS:Any
Assigned to: CPU Architecture:Any

[11 Feb 19:27] Sabalesh Mahajan
Description:
In MySQL 9.6.0, 2 new reserved keywords were added and one of them is set to 0 in information_schema.keywords

SETS
VALIDATE

Reserved is set to 0 for SETS instead of 1.

How to repeat:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 9.6.0

Copyright (c) 2000, 2026, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SELECT * FROM information_schema.keywords where word IN ('SETS');
+------+----------+
| WORD | RESERVED |
+------+----------+
| SETS |        0 |
+------+----------+
1 row in set (0.003 sec)

Test
----------
mysql> create table sets (col1 int);
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 'sets (col1 int)' at line 1

Suggested fix:
Fix
-------------------
Set reserved = 1 in the Information_schema.keywords
[11 Feb 19:29] Sabalesh Mahajan
Small correction, 1 Reserve instead of 2 reserve.
1 Reserve and 1 Keyword is added.
[17 Feb 7:49] Roy Lyseng
Thank you for the bug report.
According to the SQL standard, SETS should be a non-reserved word.