diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-30 17:08:33 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-30 17:08:33 +0000 |
commit | 75d158890b303b701c51f12b34c422fb823ba9aa (patch) | |
tree | 5f10a4a1eb612918ea94a934cfc9b9893ea19442 /sqlglot/optimizer/isolate_table_selects.py | |
parent | Adding upstream version 10.5.6. (diff) | |
download | sqlglot-75d158890b303b701c51f12b34c422fb823ba9aa.tar.xz sqlglot-75d158890b303b701c51f12b34c422fb823ba9aa.zip |
Adding upstream version 10.5.10.upstream/10.5.10
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/optimizer/isolate_table_selects.py')
-rw-r--r-- | sqlglot/optimizer/isolate_table_selects.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sqlglot/optimizer/isolate_table_selects.py b/sqlglot/optimizer/isolate_table_selects.py index 652cdef..5bd7b30 100644 --- a/sqlglot/optimizer/isolate_table_selects.py +++ b/sqlglot/optimizer/isolate_table_selects.py @@ -1,15 +1,18 @@ from sqlglot import alias, exp from sqlglot.errors import OptimizeError from sqlglot.optimizer.scope import traverse_scope +from sqlglot.schema import ensure_schema -def isolate_table_selects(expression): +def isolate_table_selects(expression, schema=None): + schema = ensure_schema(schema) + 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): + if not isinstance(source, exp.Table) or not schema.column_names(source): continue if not source.alias: |