Skip to content

Commit

Permalink
chore(trino): remove unnecessary index checks (apache#25211)
Browse files Browse the repository at this point in the history
  • Loading branch information
villebro authored Sep 9, 2023
1 parent 4f37efa commit a77ccb4
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
10 changes: 7 additions & 3 deletions superset/db_engine_specs/presto.py
Original file line number Diff line number Diff line change
Expand Up @@ -527,12 +527,13 @@ def _latest_partition_from_df(cls, df: pd.DataFrame) -> list[str] | None:

@classmethod
@cache_manager.data_cache.memoize(timeout=60)
def latest_partition(
def latest_partition( # pylint: disable=too-many-arguments
cls,
table_name: str,
schema: str | None,
database: Database,
show_first: bool = False,
indexes: list[dict[str, Any]] | None = None,
) -> tuple[list[str], list[str] | None]:
"""Returns col name and the latest (max) partition value for a table
Expand All @@ -542,12 +543,15 @@ def latest_partition(
:type database: models.Database
:param show_first: displays the value for the first partitioning key
if there are many partitioning keys
:param indexes: indexes from the database
:type show_first: bool
>>> latest_partition('foo_table')
(['ds'], ('2018-01-01',))
"""
indexes = database.get_indexes(table_name, schema)
if indexes is None:
indexes = database.get_indexes(table_name, schema)

if not indexes:
raise SupersetTemplateException(
f"Error getting partition for {schema}.{table_name}. "
Expand Down Expand Up @@ -1221,7 +1225,7 @@ def extra_table_metadata(

if indexes := database.get_indexes(table_name, schema_name):
col_names, latest_parts = cls.latest_partition(
table_name, schema_name, database, show_first=True
table_name, schema_name, database, show_first=True, indexes=indexes
)

if not latest_parts:
Expand Down
6 changes: 5 additions & 1 deletion superset/db_engine_specs/trino.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,11 @@ def extra_table_metadata(

if indexes := database.get_indexes(table_name, schema_name):
col_names, latest_parts = cls.latest_partition(
table_name, schema_name, database, show_first=True
table_name,
schema_name,
database,
show_first=True,
indexes=indexes,
)

if not latest_parts:
Expand Down

0 comments on commit a77ccb4

Please sign in to comment.