class_docstr: Abstract implementation that other SQL clients are based on.
docstr: Sub-classes should implement this to check a query will run successfully without actually running the query.
docstr_tok: ["Sub-classes","should","implement","this","to","check","a","query","will","run","successfully","without","actually","running","the","query","."]
code: def _engine_specific_dry_run_implementation(
      self, stmt: str, bind_params: SqlBindParameters
  ) -> None:
      """Sub-classes should implement this to check a query will run successfully without actually running the query."""
      pass
  
imports: from __future__ import annotations
  import logging
  import time
  from abc import ABC, abstractmethod
  from typing import Optional
  import pandas
  from dbt_semantic_interfaces.pretty_print import pformat_big_objects
  from metricflow.dataflow.sql_table import SqlTable
  from metricflow.mf_logging.formatting import indent
  from metricflow.protocols.sql_client import SqlClient
  from metricflow.random_id import random_id
  from metricflow.sql.sql_bind_parameters import SqlBindParameters
  from metricflow.sql_request.sql_request_attributes import SqlJsonTag, SqlRequestId, SqlRequestTagSet
  from metricflow.sql_request.sql_statement_metadata import CombinedSqlTags, SqlStatementCommentMetadata
label_desc: Use image node_id 7 for calling the BaseSqlClientImplementation obj's underlying member method code with example usage: obj._engine_specific_dry_run_implementation(stmt, bind_params) without return types