class_docstr: Base test class for ML engines
docstr: Execute SQL and return a DataFrame, raising an AssertionError if an error occurs
code: def run_sql(self, sql: str) -> pd.DataFrame:
      """Execute SQL and return a DataFrame, raising an AssertionError if an error occurs"""
      ret = self.command_executor.execute_command(
          parse_sql(sql, dialect="mindsdb")
      )
      assert (
          ret.error_code is None
      ), f"SQL execution failed with error: {ret.error_code}"
      if ret.data is not None:
          columns = [
              col.alias if col.alias else col.name
              for col in ret.columns
          ]
          return pd.DataFrame(ret.data, columns=columns)
  
file_path: mindsdb/tests/unit/ml_handlers/base_ml_test.py
imports: import os
  import time
  import pandas
  from mindsdb_sql import parse_sql
  from ..executor_test_base import BaseExecutorTest
label_desc: Use image node_id 2 for calling the BaseMLTest obj's underlying member method code with example usage: obj.run_sql(sql) and returns: pd