code: def _read_sql(
      table_or_sql,
      con,
      schema=None,
      index_col=None,
      coerce_float=True,
      params=None,
      parse_dates=None,
      columns=None,
      chunksize=None,
      incremental_index=False,
      use_arrow_dtype=None,
      test_rows=None,
      chunk_size=None,
      engine_kwargs=None,
      partition_col=None,
      num_partitions=None,
      low_limit=None,
      high_limit=None,
  ):
      if chunksize is not None:
          raise NotImplementedError(
              "read_sql_query with chunksize not supported"
          )
      method = "offset" if partition_col is None else "partition"
  
      op = DataFrameReadSQL(
          table_or_sql=table_or_sql,
          selectable=None,
          con=con,
          schema=schema,
          index_col=index_col,
          coerce_float=coerce_float,
          params=params,
          parse_dates=parse_dates,
          columns=columns,
          engine_kwargs=engine_kwargs,
          incremental_index=incremental_index,
          use_arrow_dtype=use_arrow_dtype,
          method=method,
          partition_col=partition_col,
          num_partitions=num_partitions,
          low_limit=low_limit,
          high_limit=high_limit,
          chunk_size=chunk_size,
      )
      return op(test_rows, chunk_size)
  
imports: import binascii
  import datetime
  import pickle
  import uuid
  from typing import List, Union
  import numpy
  import pandas
  import cloudpickle
  from ...None import opcodes
  from ...config import options
  from ...core.context import Context
  from ...core.operand import OperatorLogicKeyGeneratorMixin
  from ...serialization.serializables import StringField, AnyField, BoolField, ListField, Int64Field, Float64Field, BytesField
  from ...tensor.utils import normalize_chunk_sizes
  from ...typing import OperandType, TileableType
  from ..arrays import ArrowStringDtype
  from ..utils import parse_index, create_sa_connection, to_arrow_dtypes, patch_sa_engine_execute
  from .core import IncrementalIndexDatasource, ColumnPruneSupportedDataSourceMixin, IncrementalIndexDataSourceMixin
label_desc: Use image node_id 1 for calling a global function with example usage: _read_sql(table_or_sql, con, schema, index_col, coerce_float, params, parse_dates, columns, chunksize, incremental_index, use_arrow_dtype, test_rows, chunk_size, engine_kwargs, partition_col, num_partitions, low_limit, high_limit) and returns: op