in evalbench/work/sqlexecwork.py [0:0]
def run(self, work_config: Any = None) -> dict:
"""Runs the work item.
Args:
work_config:
Returns:
"""
generated_result = None
generated_eval_result = None
generated_error = None
golden_result = None
golden_eval_result = None
golden_error = None
if (
self.eval_result["sql_generator_error"] is None
and self.eval_result["generated_sql"]
):
query_type = self.eval_result["query_type"]
eval_query = self._get_eval_query()
sanitized_generated_sql = self._sanitize_sql()
golden_sql = self._get_golden_sql()
if sanitized_generated_sql:
generated_result, generated_eval_result, generated_error = (
self._evaluate_execution_results(
sanitized_generated_sql, eval_query, query_type, is_golden=False
)
)
golden_result, golden_eval_result, golden_error = (
self._evaluate_execution_results(
golden_sql, eval_query, query_type, is_golden=True
)
)
self.eval_result["generated_result"] = generated_result
self.eval_result["eval_results"] = generated_eval_result
self.eval_result["generated_error"] = generated_error
self.eval_result["golden_result"] = golden_result
self.eval_result["golden_eval_results"] = golden_eval_result
self.eval_result["golden_error"] = golden_error
self.db_queue.put(self.db)
return self.eval_result