-
Notifications
You must be signed in to change notification settings - Fork 578
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
Tracking Issue: Port sqlsmith to rust for sql fuzzy testing #2571
Comments
cc @sumittal |
Wondering if something like Perhaps can be used for other fuzzers we eventually use too. If a generated test case fails, Quickcheck's shrink takes the input and shrinks it as much as possible, to make it easier to debug. Some ways I can think of shrinking, off the top of my head:
|
As part of fuzzy test, we should also generate invalid sql, can sqlsmit support that? |
Currently, no. Invalid sql is too random. If there's unlimited time, surely you can do that. |
No, actually. The cockroach version has parameters to control the overall complexity of the generated sql. It will limit the recursions (subqueries), select items, and tables in a join. So generally, we can let the sql adapt to our wishes. |
Remaining refinements / workarounds / bugs are tracked in #3896 . Closing this issue. |
SQLsmith is a random SQL query generator. It has found many bugs across the database industry.
The original Sqlsmith was licensed under gplv2 which is unfriendly to use. https://github.com/anse1/sqlsmith
CockroachDB has implemented a golang version of sqlsmith:
The remaining work of Sqlsmith:
ORDER BY
#4462Test suite:
RisingWave bugs reported:
mview
onmview
withSELF JOIN
fails #4083expr::Subquery
#4404(left == right)
, src/frontend/src/optimizer/plan_node/logical_expand.rs:156:13 #4218sum(interval)
#4508Tracking issue for workarounds:
Other Notes:
Thank you for your contributions!
The text was updated successfully, but these errors were encountered: