{
  "repo": "pingcap/benchmarksql",
  "binary": "run-sql",
  "binary_path": "run/runSQL.sh",
  "dependencies": {
    "RunSQLCLI.Execute": {
      "infrastructure": {
        "filesystem": {
          "conditions": [
            "Always when the command is invoked"
          ],
          "operations": [
            {
              "operation": "READ FILE",
              "trigger": "Load benchmark properties and resolve the SQL file to execute",
              "conditions": [
                "PROPS_FILE and SQL_FILE arguments are present"
              ],
              "implementation": "source funcs.sh $1; resolve ./sql.$(getProp db)/${2}.sql or ./sql.common/${2}.sql"
            }
          ]
        },
        "jvm": {
          "conditions": [
            "Only after classpath resolution succeeds"
          ],
          "operations": [
            {
              "operation": "EXECUTE JVM MAIN",
              "trigger": "Run ExecJDBC against the configured JDBC target",
              "conditions": [
                "setCP succeeded"
              ],
              "implementation": "java -cp \"$myCP\" -Dprop=$1 -DcommandFile=${SQL_FILE} ExecJDBC"
            }
          ]
        }
      },
      "services": []
    }
  }
}
