diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-05-10 06:44:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-05-10 06:44:58 +0000 |
commit | beba715b97dd2349e01dde9b077d2535680ebdca (patch) | |
tree | 0c54accb48c28eb54d2f48f88d149492717b30e5 /sqlglot/optimizer/scope.py | |
parent | Releasing debian version 11.7.1-1. (diff) | |
download | sqlglot-beba715b97dd2349e01dde9b077d2535680ebdca.tar.xz sqlglot-beba715b97dd2349e01dde9b077d2535680ebdca.zip |
Merging upstream version 12.2.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/optimizer/scope.py')
-rw-r--r-- | sqlglot/optimizer/scope.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sqlglot/optimizer/scope.py b/sqlglot/optimizer/scope.py index b582eb0..e00b3c9 100644 --- a/sqlglot/optimizer/scope.py +++ b/sqlglot/optimizer/scope.py @@ -510,6 +510,9 @@ def _traverse_scope(scope): yield from _traverse_union(scope) elif isinstance(scope.expression, exp.Subquery): yield from _traverse_subqueries(scope) + elif isinstance(scope.expression, exp.Table): + # This case corresponds to a "join construct", i.e. (tbl1 JOIN tbl2 ON ..) + yield from _traverse_tables(scope) elif isinstance(scope.expression, exp.UDTF): pass else: @@ -587,6 +590,9 @@ def _traverse_tables(scope): for join in scope.expression.args.get("joins") or []: expressions.append(join.this) + if isinstance(scope.expression, exp.Table): + expressions.append(scope.expression) + expressions.extend(scope.expression.args.get("laterals") or []) for expression in expressions: |