Skip to content

Commit fc6ae35

Browse files
h3n4lclaude
andauthored
feat: add MySQL parser to monorepo (#30)
This commit adds the MySQL parser from the standalone mysql-parser repository into the unified parser monorepo. Changes: - Added MySQL grammar files (MySQLLexer.g4, MySQLParser.g4) - Added helper files (builtin_functions.go, keywords.go, mysql_base_lexer.go) - Added predefined.tokens file for lexer - Added test infrastructure with 24 example SQL files - Created Makefile for building and testing the parser - Updated package names from 'parser' to 'mysql' - Updated import paths to github.com/bytebase/parser/mysql - Updated CI workflow to include mysql in the test matrix - Generated parser files using ANTLR 4 with Go target - All 24 tests passing successfully 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <[email protected]>
1 parent e845353 commit fc6ae35

39 files changed

+182619
-1
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
id: set-matrix
3535
run: |
3636
# List of all available parsers
37-
ALL_PARSERS="redshift postgresql cql snowflake tsql doris trino plsql googlesql"
37+
ALL_PARSERS="redshift postgresql cql snowflake tsql doris trino plsql googlesql mysql"
3838
# Add more parsers here as they are added to the repository
3939
# ALL_PARSERS="redshift mysql postgresql"
4040

mysql/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
all: build test
2+
3+
build:
4+
antlr -Dlanguage=Go -package mysql -visitor -o . MySQLLexer.g4 MySQLParser.g4
5+
6+
test:
7+
go test -v -run TestMySQLDBSQLParser

mysql/MySQLLexer.g4

Lines changed: 1178 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)