Skip to content

arana-db/parser

This branch is up to date with dev.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0546e3a · Jan 4, 2024

History

38 Commits
Sep 23, 2022
Jan 4, 2024
Apr 8, 2023
Jun 24, 2022
Mar 27, 2022
Apr 8, 2023
Apr 8, 2023
Apr 8, 2023
Jun 24, 2022
Mar 27, 2022
Jun 24, 2022
Apr 8, 2023
Mar 27, 2022
Apr 8, 2023
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
Apr 8, 2023
Apr 8, 2023
Apr 8, 2023
Mar 27, 2022
Sep 4, 2022
Mar 27, 2022
Mar 27, 2022
Jan 4, 2024
Jan 4, 2024
Jan 4, 2024
Jan 4, 2024
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.