Skip to content

Commit 62e07b1

Browse files
authored
Fixed TokenError in assessment workflow (#2896)
Previously we were catching parse errors only, but badly tokenized queries were causing failures still. `SqlglotError` is the common ancestor of both `ParseError` and `TokenError`, so we're more safe (in ignorance) now. Fix #2811
1 parent dc6d9c7 commit 62e07b1

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/databricks/labs/ucx/source_code/sql/sql_parser.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
from collections.abc import Callable, Iterable, Iterator
33
from typing import TypeVar
44

5-
from sqlglot import parse, ParseError
5+
from sqlglot import parse
6+
from sqlglot.errors import SqlglotError
67
from sqlglot.expressions import Create, Delete, Drop, Expression, Select, Table, Update, Use
78

89
from databricks.labs.ucx.source_code.base import UsedTable, CurrentSessionState
@@ -72,6 +73,6 @@ def walk_expressions(cls, sql_code: str, callback: Callable[[SqlExpression], Ite
7273
if not expression:
7374
continue
7475
yield from callback(SqlExpression(expression))
75-
except ParseError as e:
76+
except SqlglotError as e:
7677
logger.debug(f"Failed to parse SQL: {sql_code}", exc_info=e)
7778
raise e

0 commit comments

Comments
 (0)