1
0
Fork 0

Adding upstream version 6.0.4.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-13 06:15:54 +01:00
parent d01130b3f1
commit 527597d2af
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
122 changed files with 23162 additions and 0 deletions

View file

@ -0,0 +1,31 @@
from sqlglot import alias, exp
from sqlglot.errors import OptimizeError
from sqlglot.optimizer.scope import traverse_scope
def isolate_table_selects(expression):
for scope in traverse_scope(expression):
if len(scope.selected_sources) == 1:
continue
for (_, source) in scope.selected_sources.values():
if not isinstance(source, exp.Table):
continue
if not isinstance(source.parent, exp.Alias):
raise OptimizeError(
"Tables require an alias. Run qualify_tables optimization."
)
parent = source.parent
parent.replace(
exp.select("*")
.from_(
alias(source, source.name or parent.alias, table=True),
copy=False,
)
.subquery(parent.alias, copy=False)
)
return expression