|
1 | | -# Parser - A MySQL Compatible SQL Parser |
| 1 | +# Marino - A MySQL Compatible SQL Parser |
2 | 2 |
|
3 | | -[](https://goreportcard.com/report/github.com/pingcap/parser) |
4 | | -[](https://circleci.com/gh/pingcap/parser) |
5 | | -[](https://godoc.org/github.com/pingcap/parser) |
6 | | -[](https://codecov.io/gh/pingcap/parser) |
| 3 | +## TODO |
7 | 4 |
|
8 | | -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: |
9 | | - |
10 | | -- Highly compatible with MySQL: it supports almost all features of MySQL. For the complete details, see [parser.y](https://github.com/pingcap/tidb/blob/master/pkg/parser/parser.y) and [hintparser.y](https://github.com/pingcap/tidb/blob/master/pkg/parser/hintparser.y). |
11 | | -- Extensible: adding a new syntax requires only a few lines of Yacc and Golang code changes. As an example, see [PR-680](https://github.com/pingcap/parser/pull/680/files). |
12 | | -- 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. |
13 | | - |
14 | | -## How to use it |
15 | | - |
16 | | -Please read the [quickstart](https://github.com/pingcap/tidb/blob/master/pkg/parser/docs/quickstart.md). |
17 | | - |
18 | | -## Future |
19 | | - |
20 | | -- Support more MySQL syntax |
21 | | -- Optimize the code structure, make it easier to extend |
22 | | -- Improve performance and benchmark |
23 | | -- Improve the quality of code and comments |
24 | | - |
25 | | -## Getting Help |
26 | | - |
27 | | -- [GitHub Issue](https://github.com/pingcap/tidb/issues) |
28 | | -- [Stack Overflow](https://stackoverflow.com/questions/tagged/tidb) |
29 | | -- [User Group (Chinese)](https://asktug.com/) |
| 5 | +<!-- TODO: fill in fork-specific details (origin of the fork, scope of changes, maintainers, support channels, etc.) --> |
30 | 6 |
|
31 | | -If you have any questions, feel free to discuss in sig-ddl. Here are the steps to join: |
32 | | -1. Join [TiDB Slack community](https://pingcap.com/tidbslack/), and then |
33 | | -2. Join [sig-ddl Slack channel](https://slack.tidb.io/invite?team=tidb-community&channel=sig-ddl&ref=github_sig). |
| 7 | +## About |
34 | 8 |
|
35 | | -## Users |
36 | | - |
37 | | -These projects use this parser. Please feel free to extend this list if you |
38 | | -found you are one of the users but not listed here: |
39 | | - |
40 | | -- [pingcap/tidb](https://github.com/pingcap/tidb) |
41 | | -- [XiaoMi/soar](https://github.com/XiaoMi/soar) |
42 | | -- [XiaoMi/Gaea](https://github.com/XiaoMi/Gaea) |
43 | | -- [sql-machine-learning/sqlflow](https://github.com/sql-machine-learning/sqlflow) |
44 | | -- [nooncall/shazam](https://github.com/nooncall/shazam) |
45 | | -- [bytebase/bytebase](https://github.com/bytebase/bytebase) |
46 | | -- [kyleconroy/sqlc](https://github.com/kyleconroy/sqlc) |
47 | | -- [block/spirit](https://github.com/block/spirit) |
48 | | - |
49 | | -## Contributing |
| 9 | +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: |
50 | 10 |
|
51 | | -Contributions are welcomed and greatly appreciated. See [Contribution Guide](https://github.com/pingcap/community/blob/master/contributors/README.md) for details on submitting patches and the contribution workflow. |
| 11 | +- Highly compatible with MySQL: it supports almost all features of MySQL. |
| 12 | +- Extensible: adding a new syntax requires only a few lines of Yacc and Golang code changes. |
| 13 | +- 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. |
52 | 14 |
|
53 | 15 | ## Acknowledgments |
54 | 16 |
|
55 | | -Thanks [cznic](https://github.com/cznic) for providing some great open-source tools. |
| 17 | +Marino is a hard fork of [pingcap/parser](https://github.com/pingcap/parser), |
| 18 | +the MySQL-compatible SQL parser developed as part of [TiDB](https://github.com/pingcap/tidb). |
| 19 | +Huge thanks to the TiDB team and all the upstream contributors whose work this |
| 20 | +project is built on. |
56 | 21 |
|
57 | 22 | ## License |
58 | | -Parser is under the Apache 2.0 license. See the LICENSE file for details. |
59 | | - |
60 | | -## More resources |
61 | | - |
62 | | -- TiDB documentation |
63 | | - |
64 | | - - [English](https://docs.pingcap.com/tidb/stable) |
65 | | - - [简体中文](https://docs.pingcap.com/zh/tidb/stable) |
66 | | - |
67 | | -- TiDB blog |
68 | 23 |
|
69 | | - - [English](https://pingcap.com/blog/) |
70 | | - - [简体中文](https://pingcap.com/blog-cn/) |
| 24 | +Marino is under the Apache 2.0 license. See the LICENSE file for details. |
0 commit comments