def run()

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