- Data Generator
- Plain Data Generator: generates plain data (e.g. integer/varchar(256)/bool)
- SQL Generator: generates sql according to input plain data
- Executor: Executes input sql and responds with some feedback
- Assertor: Judges query result according to input sql
- Runner: Runs executor and judge
- config data generator (e.g. custom one)
- config executor (e.g. custom one)
- config assertor (e.g. custom one)
- config runner (such as number of runnings, parallelism)
- Generate DDL statements
- Executor logic: refactor the code currently in main function
- Assertion logic: judge whether a command runs correctly
- Runner logic: all of it