Skip to content

Automated query fuzzing #13279

Open
Open
@systay

Description

We need better ways of comparing the results produced by Vitess and vanilla MySQL. It would be great if we could produce random queries and be able to run them against both mysql and vitess and check that the results are the same.

Prioritised list of query patterns to test:

  • Inner joins
  • Grouping
  • LIMIT
  • Aggregations
  • ORDER BY
  • Outer joins
  • Random expressions
  • OFFSET
  • WHERE predicates
  • HAVING
  • DERIVED tables
  • Column aliases
  • Prevent LIMIT with no ORDER BY
  • Possibility to ignore all problems except invalid results and panics
  • Derived table columns without alias
  • Complex aggregation arguments (SUM(a + b))
  • Complex expressions containing aggregations (SUM(a)+SUM(b))
  • Minimizing error
  • SUBQUERIES (EXISTS, IN, SCALAR)
  • Distinct aggregation arguments (count(distinct x)
  • UNION
  • Tuple comparisons
  • Tuple subqueries
  • Complicate schema

Activity

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

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions