-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Description
It has been suggested in the past a few times already and it was discussed in issue #4412: keeping two different MySQL grammars leads to confusion and unnecessary work. There are:
- Oracle - A complete MySQL grammar including the latest language features of MySQL. This grammar is directly derived from the MySQL Yacc server grammar and is updated at least once a year to stay in sync with the MySQL server enhancements.
- Positive Technologies - A grammar created from the official documentation (5.6, 5.7, 8.0)
The first one is the preferred one as it includes all language features starting with MySQL 8.0, while the other one still supports version 5.6 and 5.7 (which are already EOL'd).
We can see occasional pull requests to add newer language features to the PT grammar, but they are always only selectively, not going the full way (and sometimes they are plain wrong).
Since the Oracle grammar supports the full MySQL language properly, is released under a very permissive license and is maintained by Oracle, it makes sense to keep that grammar as the only one for MySQL and deprecate the grammar from Positive Technologies.
I'm not a maintainer of this repository, so I can only suggest a deprecation process:
- Add a prominent text about the deprecation to the readme in the
sql/mysqlfolder and to the readme in thesql/mysql/Positive-Technologies. - Add a prominent note in the grammars (lexer/parser) that also inform about the deprecation.
- Reject all future PRs for this grammar with a note that it is deprecated.
- Give it a few months (maybe 3?) to let this sink in.
- Remove the PT grammar and restructure the
mysqlfolder and its associated tests.
It's important to stick to such a plan, once decided, to make downstream planning possible. Users of the PT grammar have to plan some time for migration.
An additional option could be to add a DEPRECATED folder in the root of this repository and move this and future deprecated grammars to that. Grammars in this folder are not tested and no PRs will be accepted for them.