# Manual

This script is used to generate any SQL plan checker groovy in batch.

You need to pass two parameter to this script:

* The path of the directory which contains the SQL files.
* The path of the directory where you expect to save the generated groovy test file,if there doesn't exists such directory, script would try to create it.

Note that you must pass the parameters as above showed order.

Below is a example:

```
python3 plan_checker_generator.py {YOUR_DORIS_HOME}/regression-test/suites/tpch_sf1/sql {YOUR_DORIS_HOME}/regression-test/suites/tpch_sf1/explain
```
