class_docstr: Execute statements against Amazon Redshift.
  
  This hook requires the redshift_conn_id connection.
  
  Note: For AWS IAM authentication, use iam in the extra connection parameters
  and set it to true. Leave the password field empty. This will use the
  "aws_default" connection to get the temporary token unless you override
  with aws_conn_id when initializing the hook.
  The cluster-identifier is extracted from the beginning of
  the host field, so is optional. It can however be overridden in the extra field.
  extras example: ``{"iam":true}``
  
  :param redshift_conn_id: reference to
      :ref:`Amazon Redshift connection id<howto/connection:redshift>`
  
  .. note::
      get_sqlalchemy_engine() and get_uri() depend on sqlalchemy-amazon-redshift
class_docstr_tok: ["Execute","statements","against","Amazon","Redshift",".","This","hook","requires","the","redshift_conn_id","connection",".","Note",":","For","AWS","IAM","authentication",",","use","iam","in","the","extra","connection","parameters","and","set","it","to","true",".","Leave","the","password","field","empty",".","This","will","use","the","''","aws_default","''","connection","to","get","the","temporary","token","unless","you","override","with","aws_conn_id","when","initializing","the","hook",".","The","cluster-identifier","is","extracted","from","the","beginning","of","the","host","field",",","so","is","optional",".","It","can","however","be","overridden","in","the","extra","field",".","extras","example",":","``","{","``","iam","''",":","true","}","``",":","param","redshift_conn_id",":","reference","to",":","ref",":","`","Amazon","Redshift","connection","id","<","howto\/connection",":","redshift",">","`","..","note",":",":","get_sqlalchemy_engine","(",")","and","get_uri","(",")","depend","on","sqlalchemy-amazon-redshift"]
docstr: Returns current schema. This is usually changed with ``SEARCH_PATH`` parameter.
docstr_tok: ["Returns","current","schema",".","This","is","usually","changed","with","``","SEARCH_PATH","``","parameter","."]
code: def get_openlineage_default_schema(self) -> str | None:
      """Returns current schema. This is usually changed with ``SEARCH_PATH`` parameter."""
      return self.get_first("SELECT CURRENT_SCHEMA();")[0]
  
imports: from __future__ import annotations
  from functools import cached_property
  from typing import TYPE_CHECKING
  import redshift_connector
  from redshift_connector import Connection
  from sqlalchemy import create_engine
  from sqlalchemy.engine.url import URL
  from airflow.exceptions import AirflowException
  from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
  from airflow.providers.common.sql.hooks.sql import DbApiHook
label_desc: Use image node_id 14 for calling the RedshiftSQLHook obj's underlying member method code with example usage: obj.get_openlineage_default_schema() and returns: self