Skip to content

Commit a38d982

Browse files
committed
fix: ensure _get_data_objects respects snapshots with different schema or catalog
1 parent 6919e69 commit a38d982

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

sqlmesh/core/snapshot/evaluator.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1593,14 +1593,14 @@ def _get_data_objects(
15931593
tables_by_gateway_and_schema: t.Dict[t.Union[str, None], t.Dict[exp.Table, set[str]]] = (
15941594
defaultdict(lambda: defaultdict(set))
15951595
)
1596-
snapshots_by_table_name: t.Dict[str, Snapshot] = {}
1596+
snapshots_by_table_name: t.Dict[exp.Table, Snapshot] = {}
15971597
for snapshot in target_snapshots:
15981598
if not snapshot.is_model or snapshot.is_symbolic:
15991599
continue
16001600
table = table_name_callable(snapshot)
16011601
table_schema = d.schema_(table.db, catalog=table.catalog)
16021602
tables_by_gateway_and_schema[snapshot.model_gateway][table_schema].add(table.name)
1603-
snapshots_by_table_name[table.name] = snapshot
1603+
snapshots_by_table_name[table] = snapshot
16041604

16051605
def _get_data_objects_in_schema(
16061606
schema: exp.Table,
@@ -1629,7 +1629,9 @@ def _get_data_objects_in_schema(
16291629
]
16301630
existing_objects.extend(objs_for_gateway)
16311631

1632-
return {snapshots_by_table_name[obj.name].snapshot_id: obj for obj in existing_objects}
1632+
return {
1633+
snapshots_by_table_name[obj.to_table()].snapshot_id: obj for obj in existing_objects
1634+
}
16331635

16341636

16351637
def _evaluation_strategy(snapshot: SnapshotInfoLike, adapter: EngineAdapter) -> EvaluationStrategy:

0 commit comments

Comments
 (0)