code: def get_query_details(self) -> str:
      with contextlib.suppress(DetachedInstanceError):
          if hasattr(self, "query"):
              if self.query.id:
                  return f"query '{self.query.id}' - '{self.query.sql}'"
      return f"query '{self.sql}'"
  
imports: from __future__ import annotations
  import contextlib
  import json
  import logging
  from dataclasses import dataclass
  from typing import Any, cast, TYPE_CHECKING
  from flask import g
  from sqlalchemy.orm.exc import DetachedInstanceError
  from superset import is_feature_enabled
  from superset.models.sql_lab import Query
  from superset.sql_parse import CtasMethod
  from superset.utils import core
  from superset.utils.core import apply_max_row_limit, get_user_id
  from superset.utils.dates import now_as_float
  from superset.views.utils import get_cta_schema_name
label_desc: Use image node_id 14 for calling the SqlJsonExecutionContext obj's underlying member method code with example usage: obj.get_query_details() and returns: str, self, str, str, self, str, self, str