Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/databricks/labs/ucx/hive_metastore/view_migrate.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ def _view_dependencies(self):
try:
statements = sqlglot.parse(self.src.view_text, read='databricks')
except ParseError as e:
raise ValueError(f"Could not analyze view SQL: {self.src.view_text}") from e
raise ValueError(f"Could not analyze view SQL: {self.src.view_text} for view {self.src.key}") from e
if len(statements) != 1 or statements[0] is None:
raise ValueError(f"Could not analyze view SQL: {self.src.view_text}")
raise ValueError(f"Could not analyze view SQL: {self.src.view_text} for view {self.src.key}")
statement = statements[0]
aliases = self._read_aliases(statement)
for old_table in statement.find_all(expressions.Table):
Expand All @@ -40,7 +40,7 @@ def _view_dependencies(self):
continue
src_db = old_table.db if old_table.db else self.src.database
if not src_db:
logger.error(f"Could not determine schema for table {old_table.name}")
logger.error(f"Could not determine schema for table {old_table.name} in view {self.src.key}")
continue
yield TableView("hive_metastore", src_db, old_table.name)

Expand Down
2 changes: 2 additions & 0 deletions tests/unit/hive_metastore/test_view_migrate.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,8 @@ def test_sequence_view_with_invalid_query_raises_value_error(tables) -> None:
with pytest.raises(ValueError) as error:
sequencer.sequence_batches()
assert "Could not analyze view SQL:" in str(error)
# The offending view name must be included in the error to aid troubleshooting (issue #4438)
assert tables[0].src.key in str(error)


@pytest.mark.parametrize("tables", [("db1.v9",)], indirect=True)
Expand Down