code: def example_db_provider() -> Callable[[], Database]:  # type: ignore
      class _example_db_provider:
          _db: Database | None = None
  
          def __call__(self) -> Database:
              with app.app_context():
                  if self._db is None:
                      self._db = get_example_database()
                      self._load_lazy_data_to_decouple_from_session()
  
                  return self._db
  
          def _load_lazy_data_to_decouple_from_session(self) -> None:
              self._db._get_sqla_engine()  # type: ignore
              self._db.backend  # type: ignore
  
          def remove(self) -> None:
              if self._db:
                  with app.app_context():
                      remove_database(self._db)
  
      _instance = _example_db_provider()
  
      yield _instance
  
imports: from __future__ import annotations
  import contextlib
  import functools
  import os
  from typing import Any, Callable, TYPE_CHECKING
  from unittest.mock import patch
  import pytest
  from flask.ctx import AppContext
  from flask_appbuilder.security.sqla import models
  from sqlalchemy.engine import Engine
  from superset import db, security_manager
  from superset.extensions import feature_flag_manager
  from superset.utils.core import json_dumps_w_dates
  from superset.utils.database import get_example_database, remove_database
  from tests.integration_tests.test_app import app, login
label_desc: Use image node_id 10 for calling a global function with example usage: example_db_provider() and returns: self