def METHOD_NAME(  # noqa: PLR0913
    cls,
    execution_engine: SqlAlchemyExecutionEngine,
    metric_domain_kwargs: dict,
    metric_value_kwargs: dict,
    metrics: Dict[str, Any],
    runtime_configuration: dict,
) -> List[dict]:
    query = metric_value_kwargs.get("query") or cls.default_kwarg_values.get(
        "query"
    )
    selectable: Union[sa.sql.Selectable, str]
    selectable, _, _ = execution_engine.get_compute_domain(
        metric_domain_kwargs, domain_type=MetricDomainTypes.TABLE
    )
    if not isinstance(query, str):
        raise TypeError("Query must be supplied as a string")
    template_dict = metric_value_kwargs.get("template_dict")
    if not isinstance(template_dict, dict):
        raise TypeError("template_dict supplied by the expectation must be a dict")
    if isinstance(selectable, sa.Table):
        query = cls.get_query(query, template_dict, selectable)
    elif isinstance(
        selectable, get_sqlalchemy_subquery_type()
    ):  # Specifying a runtime query in a RuntimeBatchRequest returns the active batch as a Subquery; sectioning
        # the active batch off w/ parentheses ensures flow of operations doesn't break
        query = cls.get_query(query, template_dict, f"({selectable})")
    elif isinstance(
        selectable, sa.sql.Select
    ):  # Specifying a row_condition returns the active batch as a Select object, requiring compilation &
        # aliasing when formatting the parameterized query
        query = cls.get_query(
            query,
            template_dict,
            f'({selectable.compile(compile_kwargs={"literal_binds": True})}) AS subselect',
        )
    else:
        query = cls.get_query(query, template_dict, f"({selectable})")
    try:
        result: List[sqlalchemy.Row] = execution_engine.execute_query(
            sa.text(query)
        ).fetchall()
    except Exception as e:
        if hasattr(e, "_query_id"):
            # query_id removed because it duplicates the validation_results
            e._query_id = None
        raise e
    return [element._asdict() for element in result]