diff --git a/sql/mysql/Positive-Technologies/MySqlLexer.g4 b/_deprecated/sql/mysql/Positive-Technologies/MySqlLexer.g4
similarity index 100%
rename from sql/mysql/Positive-Technologies/MySqlLexer.g4
rename to _deprecated/sql/mysql/Positive-Technologies/MySqlLexer.g4
diff --git a/sql/mysql/Positive-Technologies/MySqlParser.g4 b/_deprecated/sql/mysql/Positive-Technologies/MySqlParser.g4
similarity index 100%
rename from sql/mysql/Positive-Technologies/MySqlParser.g4
rename to _deprecated/sql/mysql/Positive-Technologies/MySqlParser.g4
diff --git a/sql/mysql/Positive-Technologies/README.md b/_deprecated/sql/mysql/Positive-Technologies/README.md
similarity index 100%
rename from sql/mysql/Positive-Technologies/README.md
rename to _deprecated/sql/mysql/Positive-Technologies/README.md
diff --git a/sql/mysql/Positive-Technologies/desc.xml b/_deprecated/sql/mysql/Positive-Technologies/desc.xml
similarity index 100%
rename from sql/mysql/Positive-Technologies/desc.xml
rename to _deprecated/sql/mysql/Positive-Technologies/desc.xml
diff --git a/sql/mysql/Oracle/examples/admin.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/admin.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/admin.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/admin.sql
diff --git a/sql/mysql/Positive-Technologies/examples/analyze.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/analyze.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/analyze.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/analyze.sql
diff --git a/sql/mysql/Oracle/examples/bitrix_queries_cut.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/bitrix_queries_cut.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/bitrix_queries_cut.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/bitrix_queries_cut.sql
diff --git a/sql/mysql/Oracle/examples/case_sensitive_sql.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/case_sensitive_sql.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/case_sensitive_sql.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/case_sensitive_sql.sql
diff --git a/sql/mysql/Positive-Technologies/examples/ddl_alter.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/ddl_alter.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/ddl_alter.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/ddl_alter.sql
diff --git a/sql/mysql/Positive-Technologies/examples/ddl_create.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/ddl_create.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/ddl_create.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/ddl_create.sql
diff --git a/sql/mysql/Positive-Technologies/examples/ddl_drop.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/ddl_drop.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/ddl_drop.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/ddl_drop.sql
diff --git a/sql/mysql/Positive-Technologies/examples/ddl_flush.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/ddl_flush.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/ddl_flush.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/ddl_flush.sql
diff --git a/sql/mysql/Oracle/examples/dml_delete.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/dml_delete.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/dml_delete.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/dml_delete.sql
diff --git a/sql/mysql/Positive-Technologies/examples/dml_insert.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/dml_insert.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/dml_insert.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/dml_insert.sql
diff --git a/sql/mysql/Oracle/examples/dml_replace.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/dml_replace.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/dml_replace.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/dml_replace.sql
diff --git a/sql/mysql/Positive-Technologies/examples/dml_select.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/dml_select.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/dml_select.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/dml_select.sql
diff --git a/sql/mysql/Positive-Technologies/examples/dml_table.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/dml_table.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/dml_table.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/dml_table.sql
diff --git a/sql/mysql/Oracle/examples/dml_test_arithmetic_expression.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/dml_test_arithmetic_expression.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/dml_test_arithmetic_expression.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/dml_test_arithmetic_expression.sql
diff --git a/sql/mysql/Oracle/examples/dml_union.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/dml_union.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/dml_union.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/dml_union.sql
diff --git a/sql/mysql/Positive-Technologies/examples/dml_update.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/dml_update.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/dml_update.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/dml_update.sql
diff --git a/sql/mysql/Positive-Technologies/examples/dml_with.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/dml_with.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/dml_with.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/dml_with.sql
diff --git a/sql/mysql/Positive-Technologies/examples/expressions.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/expressions.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/expressions.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/expressions.sql
diff --git a/sql/mysql/Positive-Technologies/examples/expressions.sql.tree b/_deprecated/sql/mysql/Positive-Technologies/examples/expressions.sql.tree
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/expressions.sql.tree
rename to _deprecated/sql/mysql/Positive-Technologies/examples/expressions.sql.tree
diff --git a/sql/mysql/Positive-Technologies/examples/ext_tests.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/ext_tests.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/ext_tests.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/ext_tests.sql
diff --git a/sql/mysql/Positive-Technologies/examples/grant.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/grant.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/grant.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/grant.sql
diff --git a/sql/mysql/Oracle/examples/kill.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/kill.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/kill.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/kill.sql
diff --git a/sql/mysql/Oracle/examples/mysql_spec_comment.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/mysql_spec_comment.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/mysql_spec_comment.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/mysql_spec_comment.sql
diff --git a/sql/mysql/Positive-Technologies/examples/optimize.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/optimize.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/optimize.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/optimize.sql
diff --git a/sql/mysql/Positive-Technologies/examples/smoke_tests.sql b/_deprecated/sql/mysql/Positive-Technologies/examples/smoke_tests.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/smoke_tests.sql
rename to _deprecated/sql/mysql/Positive-Technologies/examples/smoke_tests.sql
diff --git a/sql/mysql/Positive-Technologies/pom.xml b/_deprecated/sql/mysql/Positive-Technologies/pom.xml
similarity index 100%
rename from sql/mysql/Positive-Technologies/pom.xml
rename to _deprecated/sql/mysql/Positive-Technologies/pom.xml
diff --git a/_deprecated/sql/mysql/README.md b/_deprecated/sql/mysql/README.md
new file mode 100644
index 0000000000..66f6ad044d
--- /dev/null
+++ b/_deprecated/sql/mysql/README.md
@@ -0,0 +1,3 @@
+# Deprecated MySQL Grammars
+
+This folder contains MySQL grammars which have been deprecated and are no longer maintained.
diff --git a/sql/mysql/Oracle/Antlr4ng/MySQLLexerBase.ts b/sql/mysql/Antlr4ng/MySQLLexerBase.ts
similarity index 100%
rename from sql/mysql/Oracle/Antlr4ng/MySQLLexerBase.ts
rename to sql/mysql/Antlr4ng/MySQLLexerBase.ts
diff --git a/sql/mysql/Oracle/Antlr4ng/MySQLParserBase.ts b/sql/mysql/Antlr4ng/MySQLParserBase.ts
similarity index 100%
rename from sql/mysql/Oracle/Antlr4ng/MySQLParserBase.ts
rename to sql/mysql/Antlr4ng/MySQLParserBase.ts
diff --git a/sql/mysql/Oracle/Antlr4ng/SqlMode.ts b/sql/mysql/Antlr4ng/SqlMode.ts
similarity index 100%
rename from sql/mysql/Oracle/Antlr4ng/SqlMode.ts
rename to sql/mysql/Antlr4ng/SqlMode.ts
diff --git a/sql/mysql/Oracle/Antlr4ng/SqlModes.ts b/sql/mysql/Antlr4ng/SqlModes.ts
similarity index 100%
rename from sql/mysql/Oracle/Antlr4ng/SqlModes.ts
rename to sql/mysql/Antlr4ng/SqlModes.ts
diff --git a/sql/mysql/Oracle/Antlr4ng/build.ps1 b/sql/mysql/Antlr4ng/build.ps1
similarity index 100%
rename from sql/mysql/Oracle/Antlr4ng/build.ps1
rename to sql/mysql/Antlr4ng/build.ps1
diff --git a/sql/mysql/Oracle/Antlr4ng/build.sh b/sql/mysql/Antlr4ng/build.sh
similarity index 100%
rename from sql/mysql/Oracle/Antlr4ng/build.sh
rename to sql/mysql/Antlr4ng/build.sh
diff --git a/sql/mysql/Oracle/Antlr4ng/transformGrammar.py b/sql/mysql/Antlr4ng/transformGrammar.py
similarity index 100%
rename from sql/mysql/Oracle/Antlr4ng/transformGrammar.py
rename to sql/mysql/Antlr4ng/transformGrammar.py
diff --git a/sql/mysql/Oracle/CSharp/MySQLLexerBase.cs b/sql/mysql/CSharp/MySQLLexerBase.cs
similarity index 100%
rename from sql/mysql/Oracle/CSharp/MySQLLexerBase.cs
rename to sql/mysql/CSharp/MySQLLexerBase.cs
diff --git a/sql/mysql/Oracle/CSharp/MySQLParserBase.cs b/sql/mysql/CSharp/MySQLParserBase.cs
similarity index 100%
rename from sql/mysql/Oracle/CSharp/MySQLParserBase.cs
rename to sql/mysql/CSharp/MySQLParserBase.cs
diff --git a/sql/mysql/Oracle/CSharp/SqlMode.cs b/sql/mysql/CSharp/SqlMode.cs
similarity index 100%
rename from sql/mysql/Oracle/CSharp/SqlMode.cs
rename to sql/mysql/CSharp/SqlMode.cs
diff --git a/sql/mysql/Oracle/CSharp/SqlModes.cs b/sql/mysql/CSharp/SqlModes.cs
similarity index 100%
rename from sql/mysql/Oracle/CSharp/SqlModes.cs
rename to sql/mysql/CSharp/SqlModes.cs
diff --git a/sql/mysql/Oracle/Cpp/MySQLLexerBase.cpp b/sql/mysql/Cpp/MySQLLexerBase.cpp
similarity index 100%
rename from sql/mysql/Oracle/Cpp/MySQLLexerBase.cpp
rename to sql/mysql/Cpp/MySQLLexerBase.cpp
diff --git a/sql/mysql/Oracle/Cpp/MySQLLexerBase.h b/sql/mysql/Cpp/MySQLLexerBase.h
similarity index 100%
rename from sql/mysql/Oracle/Cpp/MySQLLexerBase.h
rename to sql/mysql/Cpp/MySQLLexerBase.h
diff --git a/sql/mysql/Oracle/Cpp/MySQLParserBase.cpp b/sql/mysql/Cpp/MySQLParserBase.cpp
similarity index 100%
rename from sql/mysql/Oracle/Cpp/MySQLParserBase.cpp
rename to sql/mysql/Cpp/MySQLParserBase.cpp
diff --git a/sql/mysql/Oracle/Cpp/MySQLParserBase.h b/sql/mysql/Cpp/MySQLParserBase.h
similarity index 100%
rename from sql/mysql/Oracle/Cpp/MySQLParserBase.h
rename to sql/mysql/Cpp/MySQLParserBase.h
diff --git a/sql/mysql/Oracle/Cpp/SqlMode.h b/sql/mysql/Cpp/SqlMode.h
similarity index 100%
rename from sql/mysql/Oracle/Cpp/SqlMode.h
rename to sql/mysql/Cpp/SqlMode.h
diff --git a/sql/mysql/Oracle/Cpp/SqlModes.cpp b/sql/mysql/Cpp/SqlModes.cpp
similarity index 100%
rename from sql/mysql/Oracle/Cpp/SqlModes.cpp
rename to sql/mysql/Cpp/SqlModes.cpp
diff --git a/sql/mysql/Oracle/Cpp/SqlModes.h b/sql/mysql/Cpp/SqlModes.h
similarity index 100%
rename from sql/mysql/Oracle/Cpp/SqlModes.h
rename to sql/mysql/Cpp/SqlModes.h
diff --git a/sql/mysql/Oracle/Cpp/transformGrammar.py b/sql/mysql/Cpp/transformGrammar.py
similarity index 100%
rename from sql/mysql/Oracle/Cpp/transformGrammar.py
rename to sql/mysql/Cpp/transformGrammar.py
diff --git a/sql/mysql/Oracle/Dart/MySQLLexerBase.dart b/sql/mysql/Dart/MySQLLexerBase.dart
similarity index 100%
rename from sql/mysql/Oracle/Dart/MySQLLexerBase.dart
rename to sql/mysql/Dart/MySQLLexerBase.dart
diff --git a/sql/mysql/Oracle/Dart/MySQLParserBase.dart b/sql/mysql/Dart/MySQLParserBase.dart
similarity index 100%
rename from sql/mysql/Oracle/Dart/MySQLParserBase.dart
rename to sql/mysql/Dart/MySQLParserBase.dart
diff --git a/sql/mysql/Oracle/Dart/SqlMode.dart b/sql/mysql/Dart/SqlMode.dart
similarity index 100%
rename from sql/mysql/Oracle/Dart/SqlMode.dart
rename to sql/mysql/Dart/SqlMode.dart
diff --git a/sql/mysql/Oracle/Dart/SqlModes.dart b/sql/mysql/Dart/SqlModes.dart
similarity index 100%
rename from sql/mysql/Oracle/Dart/SqlModes.dart
rename to sql/mysql/Dart/SqlModes.dart
diff --git a/sql/mysql/Oracle/Go/MySQLLexerBase.go b/sql/mysql/Go/MySQLLexerBase.go
similarity index 100%
rename from sql/mysql/Oracle/Go/MySQLLexerBase.go
rename to sql/mysql/Go/MySQLLexerBase.go
diff --git a/sql/mysql/Oracle/Go/MySQLParserBase.go b/sql/mysql/Go/MySQLParserBase.go
similarity index 100%
rename from sql/mysql/Oracle/Go/MySQLParserBase.go
rename to sql/mysql/Go/MySQLParserBase.go
diff --git a/sql/mysql/Oracle/Go/SqlMode.go b/sql/mysql/Go/SqlMode.go
similarity index 100%
rename from sql/mysql/Oracle/Go/SqlMode.go
rename to sql/mysql/Go/SqlMode.go
diff --git a/sql/mysql/Oracle/Go/SqlModes.go b/sql/mysql/Go/SqlModes.go
similarity index 100%
rename from sql/mysql/Oracle/Go/SqlModes.go
rename to sql/mysql/Go/SqlModes.go
diff --git a/sql/mysql/Oracle/Go/transformGrammar.py b/sql/mysql/Go/transformGrammar.py
similarity index 100%
rename from sql/mysql/Oracle/Go/transformGrammar.py
rename to sql/mysql/Go/transformGrammar.py
diff --git a/sql/mysql/Oracle/Java/MySQLLexerBase.java b/sql/mysql/Java/MySQLLexerBase.java
similarity index 100%
rename from sql/mysql/Oracle/Java/MySQLLexerBase.java
rename to sql/mysql/Java/MySQLLexerBase.java
diff --git a/sql/mysql/Oracle/Java/MySQLParserBase.java b/sql/mysql/Java/MySQLParserBase.java
similarity index 100%
rename from sql/mysql/Oracle/Java/MySQLParserBase.java
rename to sql/mysql/Java/MySQLParserBase.java
diff --git a/sql/mysql/Oracle/Java/SqlMode.java b/sql/mysql/Java/SqlMode.java
similarity index 100%
rename from sql/mysql/Oracle/Java/SqlMode.java
rename to sql/mysql/Java/SqlMode.java
diff --git a/sql/mysql/Oracle/Java/SqlModes.java b/sql/mysql/Java/SqlModes.java
similarity index 100%
rename from sql/mysql/Oracle/Java/SqlModes.java
rename to sql/mysql/Java/SqlModes.java
diff --git a/sql/mysql/Oracle/JavaScript/MySQLLexerBase.js b/sql/mysql/JavaScript/MySQLLexerBase.js
similarity index 100%
rename from sql/mysql/Oracle/JavaScript/MySQLLexerBase.js
rename to sql/mysql/JavaScript/MySQLLexerBase.js
diff --git a/sql/mysql/Oracle/JavaScript/MySQLParserBase.js b/sql/mysql/JavaScript/MySQLParserBase.js
similarity index 100%
rename from sql/mysql/Oracle/JavaScript/MySQLParserBase.js
rename to sql/mysql/JavaScript/MySQLParserBase.js
diff --git a/sql/mysql/Oracle/JavaScript/SqlMode.js b/sql/mysql/JavaScript/SqlMode.js
similarity index 100%
rename from sql/mysql/Oracle/JavaScript/SqlMode.js
rename to sql/mysql/JavaScript/SqlMode.js
diff --git a/sql/mysql/Oracle/JavaScript/SqlModes.js b/sql/mysql/JavaScript/SqlModes.js
similarity index 100%
rename from sql/mysql/Oracle/JavaScript/SqlModes.js
rename to sql/mysql/JavaScript/SqlModes.js
diff --git a/sql/mysql/Oracle/MySQLLexer.g4 b/sql/mysql/MySQLLexer.g4
similarity index 100%
rename from sql/mysql/Oracle/MySQLLexer.g4
rename to sql/mysql/MySQLLexer.g4
diff --git a/sql/mysql/Oracle/MySQLParser.g4 b/sql/mysql/MySQLParser.g4
similarity index 100%
rename from sql/mysql/Oracle/MySQLParser.g4
rename to sql/mysql/MySQLParser.g4
diff --git a/sql/mysql/Oracle/README.md b/sql/mysql/Oracle/README.md
deleted file mode 100644
index 825e2ecc20..0000000000
--- a/sql/mysql/Oracle/README.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Oracle's MySQL Grammar
-
-## General
-
-This parser grammar is derived from the official Oracle grammar posted here in original/,
-which is derived from sources in the MySQL Shell for VS Code extension.
-https://github.com/mysql/mysql-shell-plugins/tree/8928ada7d9e37a4075291880738983752b315fee/gui/frontend/src/parsing/mysql
-
-This grammar is set to recognize version "8.0.200".
-
-Includes updates to commit https://github.com/mysql/mysql-shell-plugins/commit/d0271b1244d9686c30ce95bae92f4cf4c135d36d.
-
-## License
-
-* [BSD3](https://opensource.org/license/bsd-3-clause)
-* Copyright © 2025, Oracle and/or its affiliates
-
-## Target Agnostic
-
-This grammar is "target agnostic." Unaltered, the .g4 files will not work for
-Antlr4ng, Cpp, Go, and Python3. You will need to first run `python transformGrammar.py`
-provided in the target-specific directory. The script modifies the .g4 files
-for the port.
-
-## Modifying this grammar
-This grammar is current hand-written. The plan is to generate the ports directly
-from the sources at https://github.com/mysql/mysql-shell-plugins.
-
-## Issues
-* The grammar is ambiguous, but generally performs well, except for bitrix_queries_cut.sql, which contains ~3000 ambiguities.
-
-## Performance
-
diff --git a/sql/mysql/Oracle/pom.xml b/sql/mysql/Oracle/pom.xml
deleted file mode 100644
index dc34687ce7..0000000000
--- a/sql/mysql/Oracle/pom.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-
- 4.0.0
- mysql
- jar
- MySQL grammar
-
- org.antlr.grammars
- mysqlparent
- 1.0-SNAPSHOT
-
-
-
-
- org.antlr
- antlr4-maven-plugin
- ${antlr.version}
-
- ${basedir}
-
- MySQLLexer.g4
- MySQLParser.g4
-
- true
- true
-
-
-
-
- antlr4
-
-
-
-
-
- com.khubla.antlr
- antlr4test-maven-plugin
- ${antlr4test-maven-plugin.version}
-
- false
- false
- queries
- MySQL
-
- examples
-
-
-
-
- test
-
-
-
-
-
-
-
diff --git a/sql/mysql/Oracle/Python3/MySQLLexerBase.py b/sql/mysql/Python3/MySQLLexerBase.py
similarity index 100%
rename from sql/mysql/Oracle/Python3/MySQLLexerBase.py
rename to sql/mysql/Python3/MySQLLexerBase.py
diff --git a/sql/mysql/Oracle/Python3/MySQLParserBase.py b/sql/mysql/Python3/MySQLParserBase.py
similarity index 100%
rename from sql/mysql/Oracle/Python3/MySQLParserBase.py
rename to sql/mysql/Python3/MySQLParserBase.py
diff --git a/sql/mysql/Oracle/Python3/SqlMode.py b/sql/mysql/Python3/SqlMode.py
similarity index 100%
rename from sql/mysql/Oracle/Python3/SqlMode.py
rename to sql/mysql/Python3/SqlMode.py
diff --git a/sql/mysql/Oracle/Python3/SqlModes.py b/sql/mysql/Python3/SqlModes.py
similarity index 100%
rename from sql/mysql/Oracle/Python3/SqlModes.py
rename to sql/mysql/Python3/SqlModes.py
diff --git a/sql/mysql/Oracle/Python3/transformGrammar.py b/sql/mysql/Python3/transformGrammar.py
similarity index 100%
rename from sql/mysql/Oracle/Python3/transformGrammar.py
rename to sql/mysql/Python3/transformGrammar.py
diff --git a/sql/mysql/README.md b/sql/mysql/README.md
index fae141e706..248c4d77ce 100644
--- a/sql/mysql/README.md
+++ b/sql/mysql/README.md
@@ -1,6 +1,31 @@
-# MySQL Grammars
+# Oracle's MySQL Grammar
-This folder contains MySQL grammars from different authors. See the specific sub folders for more details:
+## General
-* [Oracle](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 twice a year to stay in sync with the MySQL server enhancements. It supports all server versions starting from 8.0 and is driving the parsers in the [MySQL Shell for VS Code](https://marketplace.visualstudio.com/items?itemName=Oracle.mysql-shell-for-vs-code).
A **special feature** of this grammar is that you can switch the MySQL server version used at runtime, to adjust things like code completion and syntax checking for the server you are connected to.
-* [Positive Technologies](Positive-Technologies) - A grammar created from the official documentation (5.6, 5.7, 8.0)
+This parser grammar is derived from the official Oracle grammar posted here in original/, which is derived from sources in the MySQL Shell for VS Code extension.
+
+https://github.com/mysql/mysql-shell-plugins/tree/8928ada7d9e37a4075291880738983752b315fee/gui/frontend/src/parsing/mysql
+
+This grammar is set to recognize version "8.0.20".
+
+Includes updates to commit https://github.com/mysql/mysql-shell-plugins/commit/d0271b1244d9686c30ce95bae92f4cf4c135d36d.
+
+## License
+
+* [BSD3](https://opensource.org/license/bsd-3-clause)
+
+## Target Agnostic
+
+This grammar is "target agnostic". Unaltered, the .g4 files will not work for Antlr4ng, Cpp, Go, and Python3. You will need to first run `python transformGrammar.py` provided in the target-specific directory. The script modifies the .g4 files for the port.
+
+## Modifying this grammar
+
+This grammar is current hand-written. The plan is to generate the ports directly from the sources at https://github.com/mysql/mysql-shell-plugins.
+
+## Issues
+
+* The grammar is ambiguous, but generally performs well, except for bitrix_queries_cut.sql, which contains ~3000 ambiguities.
+
+## Performance
+
+
diff --git a/sql/mysql/Oracle/TypeScript/MySQLLexerBase.ts b/sql/mysql/TypeScript/MySQLLexerBase.ts
similarity index 100%
rename from sql/mysql/Oracle/TypeScript/MySQLLexerBase.ts
rename to sql/mysql/TypeScript/MySQLLexerBase.ts
diff --git a/sql/mysql/Oracle/TypeScript/MySQLParserBase.ts b/sql/mysql/TypeScript/MySQLParserBase.ts
similarity index 100%
rename from sql/mysql/Oracle/TypeScript/MySQLParserBase.ts
rename to sql/mysql/TypeScript/MySQLParserBase.ts
diff --git a/sql/mysql/Oracle/TypeScript/SqlMode.ts b/sql/mysql/TypeScript/SqlMode.ts
similarity index 100%
rename from sql/mysql/Oracle/TypeScript/SqlMode.ts
rename to sql/mysql/TypeScript/SqlMode.ts
diff --git a/sql/mysql/Oracle/TypeScript/SqlModes.ts b/sql/mysql/TypeScript/SqlModes.ts
similarity index 100%
rename from sql/mysql/Oracle/TypeScript/SqlModes.ts
rename to sql/mysql/TypeScript/SqlModes.ts
diff --git a/sql/mysql/Oracle/TypeScript/build.ps1 b/sql/mysql/TypeScript/build.ps1
similarity index 100%
rename from sql/mysql/Oracle/TypeScript/build.ps1
rename to sql/mysql/TypeScript/build.ps1
diff --git a/sql/mysql/Oracle/TypeScript/build.sh b/sql/mysql/TypeScript/build.sh
similarity index 100%
rename from sql/mysql/Oracle/TypeScript/build.sh
rename to sql/mysql/TypeScript/build.sh
diff --git a/sql/mysql/Oracle/desc.xml b/sql/mysql/desc.xml
similarity index 100%
rename from sql/mysql/Oracle/desc.xml
rename to sql/mysql/desc.xml
diff --git a/sql/mysql/Positive-Technologies/examples/admin.sql b/sql/mysql/examples/admin.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/admin.sql
rename to sql/mysql/examples/admin.sql
diff --git a/sql/mysql/Oracle/examples/analyze.sql b/sql/mysql/examples/analyze.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/analyze.sql
rename to sql/mysql/examples/analyze.sql
diff --git a/sql/mysql/Positive-Technologies/examples/bitrix_queries_cut.sql b/sql/mysql/examples/bitrix_queries_cut.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/bitrix_queries_cut.sql
rename to sql/mysql/examples/bitrix_queries_cut.sql
diff --git a/sql/mysql/Positive-Technologies/examples/case_sensitive_sql.sql b/sql/mysql/examples/case_sensitive_sql.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/case_sensitive_sql.sql
rename to sql/mysql/examples/case_sensitive_sql.sql
diff --git a/sql/mysql/Oracle/examples/ddl_alter.sql b/sql/mysql/examples/ddl_alter.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/ddl_alter.sql
rename to sql/mysql/examples/ddl_alter.sql
diff --git a/sql/mysql/Oracle/examples/ddl_create.sql b/sql/mysql/examples/ddl_create.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/ddl_create.sql
rename to sql/mysql/examples/ddl_create.sql
diff --git a/sql/mysql/Oracle/examples/ddl_drop.sql b/sql/mysql/examples/ddl_drop.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/ddl_drop.sql
rename to sql/mysql/examples/ddl_drop.sql
diff --git a/sql/mysql/Oracle/examples/ddl_flush.sql b/sql/mysql/examples/ddl_flush.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/ddl_flush.sql
rename to sql/mysql/examples/ddl_flush.sql
diff --git a/sql/mysql/Positive-Technologies/examples/dml_delete.sql b/sql/mysql/examples/dml_delete.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/dml_delete.sql
rename to sql/mysql/examples/dml_delete.sql
diff --git a/sql/mysql/Oracle/examples/dml_insert.sql b/sql/mysql/examples/dml_insert.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/dml_insert.sql
rename to sql/mysql/examples/dml_insert.sql
diff --git a/sql/mysql/Positive-Technologies/examples/dml_replace.sql b/sql/mysql/examples/dml_replace.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/dml_replace.sql
rename to sql/mysql/examples/dml_replace.sql
diff --git a/sql/mysql/Oracle/examples/dml_select.sql b/sql/mysql/examples/dml_select.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/dml_select.sql
rename to sql/mysql/examples/dml_select.sql
diff --git a/sql/mysql/Oracle/examples/dml_table.sql b/sql/mysql/examples/dml_table.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/dml_table.sql
rename to sql/mysql/examples/dml_table.sql
diff --git a/sql/mysql/Positive-Technologies/examples/dml_test_arithmetic_expression.sql b/sql/mysql/examples/dml_test_arithmetic_expression.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/dml_test_arithmetic_expression.sql
rename to sql/mysql/examples/dml_test_arithmetic_expression.sql
diff --git a/sql/mysql/Positive-Technologies/examples/dml_union.sql b/sql/mysql/examples/dml_union.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/dml_union.sql
rename to sql/mysql/examples/dml_union.sql
diff --git a/sql/mysql/Oracle/examples/dml_update.sql b/sql/mysql/examples/dml_update.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/dml_update.sql
rename to sql/mysql/examples/dml_update.sql
diff --git a/sql/mysql/Oracle/examples/dml_with.sql b/sql/mysql/examples/dml_with.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/dml_with.sql
rename to sql/mysql/examples/dml_with.sql
diff --git a/sql/mysql/Oracle/examples/expressions.sql b/sql/mysql/examples/expressions.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/expressions.sql
rename to sql/mysql/examples/expressions.sql
diff --git a/sql/mysql/Oracle/examples/ext_tests.sql b/sql/mysql/examples/ext_tests.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/ext_tests.sql
rename to sql/mysql/examples/ext_tests.sql
diff --git a/sql/mysql/Oracle/examples/grant.sql b/sql/mysql/examples/grant.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/grant.sql
rename to sql/mysql/examples/grant.sql
diff --git a/sql/mysql/Positive-Technologies/examples/kill.sql b/sql/mysql/examples/kill.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/kill.sql
rename to sql/mysql/examples/kill.sql
diff --git a/sql/mysql/Positive-Technologies/examples/mysql_spec_comment.sql b/sql/mysql/examples/mysql_spec_comment.sql
similarity index 100%
rename from sql/mysql/Positive-Technologies/examples/mysql_spec_comment.sql
rename to sql/mysql/examples/mysql_spec_comment.sql
diff --git a/sql/mysql/Oracle/examples/optimize.sql b/sql/mysql/examples/optimize.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/optimize.sql
rename to sql/mysql/examples/optimize.sql
diff --git a/sql/mysql/Oracle/examples/smoke_tests.sql b/sql/mysql/examples/smoke_tests.sql
similarity index 100%
rename from sql/mysql/Oracle/examples/smoke_tests.sql
rename to sql/mysql/examples/smoke_tests.sql
diff --git a/sql/mysql/Oracle/original/MySQLLexer.g4 b/sql/mysql/original/MySQLLexer.g4
similarity index 100%
rename from sql/mysql/Oracle/original/MySQLLexer.g4
rename to sql/mysql/original/MySQLLexer.g4
diff --git a/sql/mysql/Oracle/original/MySQLParser.g4 b/sql/mysql/original/MySQLParser.g4
similarity index 100%
rename from sql/mysql/Oracle/original/MySQLParser.g4
rename to sql/mysql/original/MySQLParser.g4
diff --git a/sql/mysql/Oracle/original/README.md b/sql/mysql/original/README.md
similarity index 100%
rename from sql/mysql/Oracle/original/README.md
rename to sql/mysql/original/README.md
diff --git a/sql/mysql/Oracle/original/TypeScript/MySQLBaseLexer.ts b/sql/mysql/original/TypeScript/MySQLBaseLexer.ts
similarity index 100%
rename from sql/mysql/Oracle/original/TypeScript/MySQLBaseLexer.ts
rename to sql/mysql/original/TypeScript/MySQLBaseLexer.ts
diff --git a/sql/mysql/Oracle/original/TypeScript/MySQLBaseRecognizer.ts b/sql/mysql/original/TypeScript/MySQLBaseRecognizer.ts
similarity index 100%
rename from sql/mysql/Oracle/original/TypeScript/MySQLBaseRecognizer.ts
rename to sql/mysql/original/TypeScript/MySQLBaseRecognizer.ts
diff --git a/sql/mysql/Oracle/original/TypeScript/demo.ts b/sql/mysql/original/TypeScript/demo.ts
similarity index 100%
rename from sql/mysql/Oracle/original/TypeScript/demo.ts
rename to sql/mysql/original/TypeScript/demo.ts
diff --git a/sql/mysql/Oracle/original/TypeScript/package.json b/sql/mysql/original/TypeScript/package.json
similarity index 100%
rename from sql/mysql/Oracle/original/TypeScript/package.json
rename to sql/mysql/original/TypeScript/package.json
diff --git a/sql/mysql/Oracle/original/TypeScript/tsconfig.json b/sql/mysql/original/TypeScript/tsconfig.json
similarity index 100%
rename from sql/mysql/Oracle/original/TypeScript/tsconfig.json
rename to sql/mysql/original/TypeScript/tsconfig.json
diff --git a/sql/mysql/pom.xml b/sql/mysql/pom.xml
index 439eaabea0..dc34687ce7 100644
--- a/sql/mysql/pom.xml
+++ b/sql/mysql/pom.xml
@@ -1,17 +1,57 @@
-
- 4.0.0
- mysqlparent
- pom
- MySQL Grammars
-
- org.antlr.grammars
- sqlparent
- 1.0-SNAPSHOT
-
-
- Oracle
- Positive-Technologies
-
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+ mysql
+ jar
+ MySQL grammar
+
+ org.antlr.grammars
+ mysqlparent
+ 1.0-SNAPSHOT
+
+
+
+
+ org.antlr
+ antlr4-maven-plugin
+ ${antlr.version}
+
+ ${basedir}
+
+ MySQLLexer.g4
+ MySQLParser.g4
+
+ true
+ true
+
+
+
+
+ antlr4
+
+
+
+
+
+ com.khubla.antlr
+ antlr4test-maven-plugin
+ ${antlr4test-maven-plugin.version}
+
+ false
+ false
+ queries
+ MySQL
+
+ examples
+
+
+
+
+ test
+
+
+
+
+
+
diff --git a/sql/mysql/Oracle/times.svg b/sql/mysql/times.svg
similarity index 100%
rename from sql/mysql/Oracle/times.svg
rename to sql/mysql/times.svg