class_docstr: Reuses PrestoEngineSpec functionality.
class_docstr_tok: ["Reuses","PrestoEngineSpec","functionality","."]
docstr: Get all the view names within the specified schema.
  
  Per the SQLAlchemy definition if the schema is omitted the database’s default
  schema is used, however some dialects infer the request as schema agnostic.
  
  Note that PyHive's Hive SQLAlchemy dialect does not adhere to the specification
  where the `get_view_names` method returns both real tables and views. Futhermore
  the dialect wrongfully infers the request as schema agnostic when the schema is
  omitted.
  
  :param database: The database to inspect
  :param inspector: The SQLAlchemy inspector
  :param schema: The schema to inspect
  :returns: The view names
docstr_tok: ["Get","all","the","view","names","within","the","specified","schema",".","Per","the","SQLAlchemy","definition","if","the","schema","is","omitted","the","database","\u2019","s","default","schema","is","used",",","however","some","dialects","infer","the","request","as","schema","agnostic",".","Note","that","PyHive","'s","Hive","SQLAlchemy","dialect","does","not","adhere","to","the","specification","where","the","`","get_view_names","`","method","returns","both","real","tables","and","views",".","Futhermore","the","dialect","wrongfully","infers","the","request","as","schema","agnostic","when","the","schema","is","omitted",".",":","param","database",":","The","database","to","inspect",":","param","inspector",":","The","SQLAlchemy","inspector",":","param","schema",":","The","schema","to","inspect",":","returns",":","The","view","names"]
code: def get_view_names(
      cls,
      database: Database,
      inspector: Inspector,
      schema: str | None,
  ) -> set[str]:
      """
      Get all the view names within the specified schema.
  
      Per the SQLAlchemy definition if the schema is omitted the database’s default
      schema is used, however some dialects infer the request as schema agnostic.
  
      Note that PyHive's Hive SQLAlchemy dialect does not adhere to the specification
      where the `get_view_names` method returns both real tables and views. Futhermore
      the dialect wrongfully infers the request as schema agnostic when the schema is
      omitted.
  
      :param database: The database to inspect
      :param inspector: The SQLAlchemy inspector
      :param schema: The schema to inspect
      :returns: The view names
      """
  
      sql = "SHOW VIEWS"
  
      if schema:
          sql += f" IN `{schema}`"
  
      with database.get_raw_connection(schema=schema) as conn:
          cursor = conn.cursor()
          cursor.execute(sql)
          results = cursor.fetchall()
          return {row[0] for row in results}
  
imports: from __future__ import annotations
  import logging
  import os
  import re
  import tempfile
  import time
  from datetime import datetime
  from typing import Any, TYPE_CHECKING
  from urllib import parse
  import numpy
  import pandas
  import pyarrow
  import pyarrow.parquet
  from flask import current_app, g
  from sqlalchemy import Column, text, types
  from sqlalchemy.engine.base import Engine
  from sqlalchemy.engine.reflection import Inspector
  from sqlalchemy.engine.url import URL
  from sqlalchemy.sql.expression import ColumnClause, Select
  from superset import db
  from superset.common.db_query_status import QueryStatus
  from superset.constants import TimeGrain
  from superset.databases.utils import make_url_safe
  from superset.db_engine_specs.base import BaseEngineSpec
  from superset.db_engine_specs.presto import PrestoEngineSpec
  from superset.exceptions import SupersetException
  from superset.extensions import cache_manager
  from superset.models.sql_lab import Query
  from superset.sql_parse import ParsedQuery, Table
  from superset.superset_typing import ResultSetColumnType
label_desc: Use image node_id 24 for calling the HiveEngineSpec obj's underlying member method code with example usage: obj.get_view_names(cls, database, inspector, schema) and returns: unknown