Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is MySQL compatiblity a goal for the sqlparser package? #6228

Closed
kyleconroy opened this issue May 27, 2020 · 2 comments
Closed

Is MySQL compatiblity a goal for the sqlparser package? #6228

kyleconroy opened this issue May 27, 2020 · 2 comments

Comments

@kyleconroy
Copy link

Hey there!

I'm the maintainer of https://github.com/kyleconroy/sqlc, a SQL compiler for Go. We currently use the sqlparser package from Vitess to power our MySQL support. Over the last few months, we've run into issues where the parser doesn't support a certain MySQL syntax (#5705, #5686, #5685, #5682, #5760).

We've been discussing (sqlc-dev/sqlc#150) switching to the https://github.com/pingcap/parser package, but that package has a different set of incompatibilities.

Is it a goal of the sqlparser package to be 100% compatible with MySQL? I'm happy to continue using the package and contribute bug fixes and features, but I'd like to make sure that those contributions are wanted. I completely understand in the answer is no. Vitess is not MySQL and isn't aiming to support all of its features.

@sougou
Copy link
Contributor

sougou commented May 27, 2020

Yes. The goal is to be mysql compatible, with a caveat: The vitess parser will likely remain more permissive than mysql. This is because we often rely on pass-through and rely on mysql to fail such queries. Will this be a problem?

@mattlord
Copy link
Contributor

mattlord commented Sep 22, 2021

I'm closing this for now as I believe the question has been answered. The goal is to be 100% compatible but we're also not close to that yet with MySQL 8.0 (window functions, [Recursive] Common Table Expressions, etc). If there are any specific requests that may impact our scheduling/priority of adding support for anything specific we should use a dedicate issue for that if possible. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants