Skip to content

Commit b7daf4c

Browse files
committed
Refactor expression handling in DataFrame to improve type checking and error handling
1 parent 527042f commit b7daf4c

1 file changed

Lines changed: 7 additions & 8 deletions

File tree

python/datafusion/dataframe.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -478,15 +478,14 @@ def _simplify_expression(
478478
) -> list[expr_internal.Expr]:
479479
expr_list = []
480480
for expr in exprs:
481-
if isinstance(expr, Expr):
482-
expr_list.append(expr.expr)
483-
elif isinstance(expr, Iterable) and not isinstance(expr, (str, Expr)):
484-
for inner_expr in expr:
485-
if not isinstance(inner_expr, Expr):
486-
raise TypeError(_EXPR_TYPE_ERROR)
487-
expr_list.append(inner_expr.expr)
488-
else:
481+
if isinstance(expr, str):
489482
raise TypeError(_EXPR_TYPE_ERROR)
483+
if isinstance(expr, Iterable) and not isinstance(expr, Expr):
484+
if any(not isinstance(inner_expr, Expr) for inner_expr in expr):
485+
raise TypeError(_EXPR_TYPE_ERROR)
486+
elif not isinstance(expr, Expr):
487+
raise TypeError(_EXPR_TYPE_ERROR)
488+
expr_list.extend(expr_list_to_raw_expr_list(expr))
490489
if named_exprs:
491490
for alias, expr in named_exprs.items():
492491
if not isinstance(expr, Expr):

0 commit comments

Comments
 (0)