diff --git a/lea/app/run.py b/lea/app/run.py index 887e506..2fa00c7 100644 --- a/lea/app/run.py +++ b/lea/app/run.py @@ -195,7 +195,7 @@ def run( console_log(f"{len(whitelist):,d} view(s) selected") # Remove orphan views - for key in client.list_existing_view_names(): + for key, (schema, table) in client.list_existing_view_names().items(): if key in dag: continue if not dry: diff --git a/lea/clients/duckdb.py b/lea/clients/duckdb.py index 9f44e87..455b9af 100644 --- a/lea/clients/duckdb.py +++ b/lea/clients/duckdb.py @@ -68,10 +68,13 @@ def list_existing_view_names(self) -> list[tuple[str, str]]: if self.is_motherduck: database = self.path.split(":")[1] query += f"\nWHERE table_catalog = '{database}'" - return [ - (r["table_schema"], *r["table_name"].split(lea._SEP)) + return { + (r["table_schema"], *r["table_name"].split(lea._SEP)): ( + r["table_schema"], + r["table_name"], + ) for r in self.con.sql(query).df().to_dict(orient="records") - ] + } def get_tables(self): query = """