From a0d07f51a552f84e48f0a94219eae336ec18dc80 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 26 Apr 2026 23:14:24 +0000 Subject: [PATCH 1/2] Reformat README for hard fork Remove sections that referenced the upstream pingcap/parser project (CI/coverage badges, TiDB-specific support channels, upstream user list, contribution guide link, and TiDB resources). Add a TODO section at the top for fork-specific details to be filled in. --- README.md | 71 +++++++------------------------------------------------ 1 file changed, 9 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 5bdb476..90fd915 100644 --- a/README.md +++ b/README.md @@ -1,70 +1,17 @@ -# Parser - A MySQL Compatible SQL Parser +# Marino - A MySQL Compatible SQL Parser -[![Go Report Card](https://goreportcard.com/badge/github.com/pingcap/parser)](https://goreportcard.com/report/github.com/pingcap/parser) -[![CircleCI Status](https://circleci.com/gh/pingcap/parser.svg?style=shield)](https://circleci.com/gh/pingcap/parser) -[![GoDoc](https://godoc.org/github.com/pingcap/parser?status.svg)](https://godoc.org/github.com/pingcap/parser) -[![codecov](https://codecov.io/gh/pingcap/parser/branch/master/graph/badge.svg)](https://codecov.io/gh/pingcap/parser) +## TODO -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](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). -- 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). -- 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. - -## How to use it - -Please read the [quickstart](https://github.com/pingcap/tidb/blob/master/pkg/parser/docs/quickstart.md). - -## 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 - -## Getting Help - -- [GitHub Issue](https://github.com/pingcap/tidb/issues) -- [Stack Overflow](https://stackoverflow.com/questions/tagged/tidb) -- [User Group (Chinese)](https://asktug.com/) - -If you have any questions, feel free to discuss in sig-ddl. Here are the steps to join: -1. Join [TiDB Slack community](https://pingcap.com/tidbslack/), and then -2. Join [sig-ddl Slack channel](https://slack.tidb.io/invite?team=tidb-community&channel=sig-ddl&ref=github_sig). + -## Users +## About -These projects use this parser. Please feel free to extend this list if you -found you are one of the users but not listed here: - -- [pingcap/tidb](https://github.com/pingcap/tidb) -- [XiaoMi/soar](https://github.com/XiaoMi/soar) -- [XiaoMi/Gaea](https://github.com/XiaoMi/Gaea) -- [sql-machine-learning/sqlflow](https://github.com/sql-machine-learning/sqlflow) -- [nooncall/shazam](https://github.com/nooncall/shazam) -- [bytebase/bytebase](https://github.com/bytebase/bytebase) -- [kyleconroy/sqlc](https://github.com/kyleconroy/sqlc) -- [block/spirit](https://github.com/block/spirit) - -## Contributing - -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. - -## Acknowledgments +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: -Thanks [cznic](https://github.com/cznic) for providing some great open-source tools. +- Highly compatible with MySQL: it supports almost all features of MySQL. +- Extensible: adding a new syntax requires only a few lines of Yacc and Golang code changes. +- 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. ## License -Parser is under the Apache 2.0 license. See the LICENSE file for details. - -## More resources - -- TiDB documentation - - - [English](https://docs.pingcap.com/tidb/stable) - - [简体中文](https://docs.pingcap.com/zh/tidb/stable) - -- TiDB blog - - [English](https://pingcap.com/blog/) - - [简体中文](https://pingcap.com/blog-cn/) +Marino is under the Apache 2.0 license. See the LICENSE file for details. From 1ebdf0da17dd7a821524ff0fddd653a1e6393467 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 26 Apr 2026 23:19:46 +0000 Subject: [PATCH 2/2] Acknowledge TiDB upstream in README Add an Acknowledgments section calling out that Marino is a hard fork of pingcap/parser and thanking the TiDB team and upstream contributors. --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 90fd915..5b0cef0 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,13 @@ The goal of this project is to build a Golang parser that is fully compatible wi - Extensible: adding a new syntax requires only a few lines of Yacc and Golang code changes. - 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. +## Acknowledgments + +Marino is a hard fork of [pingcap/parser](https://github.com/pingcap/parser), +the MySQL-compatible SQL parser developed as part of [TiDB](https://github.com/pingcap/tidb). +Huge thanks to the TiDB team and all the upstream contributors whose work this +project is built on. + ## License Marino is under the Apache 2.0 license. See the LICENSE file for details.