code: def __init__(
      self,
      sql: Union[str, "sqlalchemy.sql.Selectable"],
      con: Union[
          str,
          "sqlalchemy.engine.Connection",
          "sqlalchemy.engine.Engine",
          "sqlite3.Connection",
      ],
      features: Optional[Features] = None,
      cache_dir: str = None,
      keep_in_memory: bool = False,
      **kwargs,
  ):
      super().__init__(
          features=features,
          cache_dir=cache_dir,
          keep_in_memory=keep_in_memory,
          **kwargs,
      )
      self.builder = Sql(
          cache_dir=cache_dir,
          features=features,
          sql=sql,
          con=con,
          **kwargs,
      )
  
file_path: datasets/src/datasets/io/sql.py
imports: import multiprocessing
  from typing import TYPE_CHECKING, Optional, Union
  from ..None import Dataset, Features, config
  from ..formatting import query_table
  from ..packaged_modules.sql.sql import Sql
  from ..utils import tqdm
  from .abc import AbstractDatasetInputStream
label_desc: Use image node_id 1 to create a new SqlDatasetReader object from inherited base classes: AbstractDatasetInputStream with example: obj = SqlDatasetReader(sql, con, features, cache_dir, keep_in_memory)