summaryrefslogtreecommitdiffstats
path: root/sqlglot/optimizer/isolate_table_selects.py
diff options
context:
space:
mode:
Diffstat (limited to 'sqlglot/optimizer/isolate_table_selects.py')
-rw-r--r--sqlglot/optimizer/isolate_table_selects.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/sqlglot/optimizer/isolate_table_selects.py b/sqlglot/optimizer/isolate_table_selects.py
index e060739..652cdef 100644
--- a/sqlglot/optimizer/isolate_table_selects.py
+++ b/sqlglot/optimizer/isolate_table_selects.py
@@ -12,18 +12,16 @@ def isolate_table_selects(expression):
if not isinstance(source, exp.Table):
continue
- if not isinstance(source.parent, exp.Alias):
+ if not source.alias:
raise OptimizeError("Tables require an alias. Run qualify_tables optimization.")
- parent = source.parent
-
- parent.replace(
+ source.replace(
exp.select("*")
.from_(
- alias(source, source.name or parent.alias, table=True),
+ alias(source.copy(), source.name or source.alias, table=True),
copy=False,
)
- .subquery(parent.alias, copy=False)
+ .subquery(source.alias, copy=False)
)
return expression