code: def __init__(
      self, sql: str, connection_factory: Callable[[], Connection]
  ):
      self.sql = sql
      self.connection_factory = connection_factory
  
file_path: ray/python/ray/data/datasource/sql_datasource.py
imports: import math
  from contextlib import contextmanager
  from typing import Any, Callable, Iterable, Iterator, List, Optional
  from ray.data.block import Block, BlockAccessor, BlockMetadata
  from ray.data.datasource.datasource import Datasource, ReadTask
  from ray.util.annotations import PublicAPI
label_desc: Use image node_id 1 to create a new SQLDatasource object from inherited base classes: Datasource with example: obj = SQLDatasource(sql, connection_factory)