TiDB SQL Parser
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.
Fork this repository to your own account and commit the changes to your repository.
Note:
- Don't forget to run
make test
before you commit!- Make sure
parser.go
is updated.
Suppose the forked repository is https://github.com/your-repo/parser
.
-
In your TiDB repository, modify the
go.mod
file, removegithub.com/pingcap/parser
from therequire
instruction, and add a new line at the end of the file like this:replace github.com/pingcap/parser => github.com/your-repo/parser v0.0.0-20181102150703-4acd198f5092
This change tells TiDB to use the modified parser from your repository. You can just use below command to replace the dependent parser version:
GO111MODULE=on go mod edit -replace github.com/pingcap/parser=github.com/your-repo/parser@your-branch
-
You can get correct version information by running this command in your TiDB directory:
GO111MODULE=on go get -u github.com/your-repo/parser@master
If some error is reported, you can ignore it and still edit the
go.mod
file manually. -
File a PR to TiDB.
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.
In your TiDB pull request, modify the go.mod
file manually or use this command:
GO111MODULE=on go get -u github.com/pingcap/parser@master
Make sure the replace
instruction is changed back to the require
instruction and the version is the latest.