Skip to content
TiDB SQL Parser
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
model model: increase table and column version (#254) Mar 22, 2019
mysql parser, ast: add `SET ROLE` support (#228) Mar 20, 2019
terror *: Support ENGINE TokuDB and it's ROW_FORMAT (#222) Mar 4, 2019
types types: Fix description for year type (#200) Mar 11, 2019
LICENSE Initial commit Oct 20, 2018
Makefile makefile: add fmt command in Makefile (#121) Dec 25, 2018 parser: tiny update (#163) Feb 11, 2019
circle.yml *: skip 'go mod tidy' check in integration test (#250) Mar 21, 2019
digester.go normalize and generate digest at same time (#215) Feb 27, 2019
go.mod1 parser: finish the restore function of all ast node (#206) Feb 18, 2019
lexer_test.go parser: fix lexer that treat 9eTSs as a float (#208) Feb 14, 2019
parser.y ast: add GrantRoleStmt to support `GRANT ROLE` (#242) Mar 21, 2019
parser_example_test.go ignore hint when meet unknow token in hint (#80) Dec 21, 2018
parser_test.go ast: add GrantRoleStmt to support `GRANT ROLE` (#242) Mar 21, 2019 update, fix `make test`, add circle.yml (#23) Nov 8, 2018


Go Report Card CircleCI Status GoDoc

TiDB SQL Parser

How to use it


How to update parser for TiDB

Assuming that you want to file a PR (pull request) to TiDB, and your PR includes a change in the parser, follow these steps to update the parser in TiDB.

Step 1: Make changes in your parser repository

Fork this repository to your own account and commit the changes to your repository.


  • Don't forget to run make test before you commit!
  • Make sure parser.go is updated.

Suppose the forked repository is

Step 2: Make your parser changes take effect in TiDB and run CI

  1. In your TiDB repository, execute the replace instruction to make your parser changes take effect:

    GO111MODULE=on go mod edit -replace
  2. make dev to run CI in TiDB.

  3. File a PR to TiDB.

Step 3: Merge the PR about the parser to this repository

File a PR to this repository. Link the related PR in TiDB in your PR description or comment.

This PR will be reviewed, and if everything goes well, it will be merged.

Step 4: Update TiDB to use the latest parser

In your TiDB pull request, modify the go.mod file manually or use this command:

GO111MODULE=on go get -u

Make sure the replace instruction is changed back to the require instruction and the version is the latest.

You can’t perform that action at this time.