code: def _read_sql_connectorx(
      query: str | list[str],
      connection_uri: str,
      partition_on: str | None = None,
      partition_range: tuple[int, int] | None = None,
      partition_num: int | None = None,
      protocol: str | None = None,
      schema_overrides: SchemaDict | None = None,
  ) -> DataFrame:
      try:
          import connectorx as cx
      except ModuleNotFoundError:
          raise ModuleNotFoundError(
              "connectorx is not installed"
              "\n\nPlease run: pip install connectorx"
          ) from None
  
      try:
          tbl = cx.read_sql(
              conn=connection_uri,
              query=query,
              return_type="arrow2",
              partition_on=partition_on,
              partition_range=partition_range,
              partition_num=partition_num,
              protocol=protocol,
          )
      except BaseException as err:
          # basic sanitisation of /user:pass/ credentials exposed in connectorx errs
          errmsg = re.sub("://[^:]+:[^:]+@", "://***:***@", str(err))
          raise type(err)(errmsg) from err
  
      return from_arrow(tbl, schema_overrides=schema_overrides)
  
imports: from __future__ import annotations
  import re
  import sys
  from importlib import import_module
  from inspect import Parameter, signature
  from typing import TYPE_CHECKING, Any, Iterable, Literal, Sequence, TypedDict, overload
  from polars.convert import from_arrow
  from polars.exceptions import InvalidOperationError, UnsuitableSQLError
  from polars.utils.deprecation import issue_deprecation_warning
label_desc: Use image node_id 5 for calling a global function with example usage: _read_sql_connectorx(query, connection_uri, partition_on, partition_range, partition_num, protocol, schema_overrides) and returns: from_arrow