Skip to content

jettcc/parser

This branch is 9 commits behind arana-db/parser:dev.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

df57acd · Mar 6, 2023

History

29 Commits
Sep 23, 2022
Mar 6, 2023
Jun 24, 2022
Jun 24, 2022
Mar 27, 2022
Mar 27, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Mar 27, 2022
Jun 24, 2022
Jun 24, 2022
Mar 27, 2022
Mar 27, 2022
Mar 27, 2022
Mar 27, 2022
Mar 27, 2022
Mar 27, 2022
Feb 3, 2023
Mar 27, 2022
Mar 27, 2022
Mar 27, 2022
Mar 27, 2022
Mar 27, 2022
Mar 27, 2022
Jun 24, 2022
Mar 27, 2022
Mar 27, 2022
Mar 27, 2022
Mar 27, 2022
Mar 27, 2022
Sep 4, 2022
Mar 27, 2022
Mar 27, 2022
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Jun 24, 2022
Mar 27, 2022
Sep 24, 2022

Repository files navigation

Parser - A MySQL Compatible SQL Parser

The goal of this project is to build a Golang parser that is fully compatible with MySQL syntax, easy to extend, and high performance. Currently, features supported by parser are as follows:

  • Highly compatible with MySQL: it supports almost all features of MySQL. For the complete details, see parser.y and hintparser.y.
  • Extensible: adding a new syntax requires only a few lines of Yacc and Golang code changes. As an example, see PR-9.
  • Good performance: the parser is generated by goyacc in a bottom-up approach. It is efficient to build an AST tree with a state machine.

Future

  • Support more MySQL syntax
  • Optimize the code structure, make it easier to extend
  • Improve performance and benchmark
  • Improve the quality of code and comments

License

Parser is under the Apache 2.0 license. See the LICENSE file for details.

About

A MySQL Compatible SQL Parser

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 83.2%
  • Yacc 16.8%