diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-17 10:32:12 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-17 10:32:12 +0000 |
commit | 244a05de60c9417daab9528b51788c3d2a00dc5f (patch) | |
tree | 89a9c82aa41d397e1b81c320ad7a287b6c80f313 /sqlglot/optimizer/pushdown_projections.py | |
parent | Adding upstream version 10.4.2. (diff) | |
download | sqlglot-244a05de60c9417daab9528b51788c3d2a00dc5f.tar.xz sqlglot-244a05de60c9417daab9528b51788c3d2a00dc5f.zip |
Adding upstream version 10.5.2.upstream/10.5.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/optimizer/pushdown_projections.py')
-rw-r--r-- | sqlglot/optimizer/pushdown_projections.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sqlglot/optimizer/pushdown_projections.py b/sqlglot/optimizer/pushdown_projections.py index 49789ac..a73647c 100644 --- a/sqlglot/optimizer/pushdown_projections.py +++ b/sqlglot/optimizer/pushdown_projections.py @@ -79,6 +79,7 @@ def _remove_unused_selections(scope, parent_selections): order_refs = set() new_selections = [] + removed = False for i, selection in enumerate(scope.selects): if ( SELECT_ALL in parent_selections @@ -88,12 +89,15 @@ def _remove_unused_selections(scope, parent_selections): new_selections.append(selection) else: removed_indexes.append(i) + removed = True # If there are no remaining selections, just select a single constant if not new_selections: new_selections.append(DEFAULT_SELECTION.copy()) scope.expression.set("expressions", new_selections) + if removed: + scope.clear_cache() return removed_indexes |