Fix CTE column key resolution for unlabeled expressions in RETURNING clause #12636
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix CTE column key resolution for unlabeled expressions in RETURNING clause
Description
This PR fixes an issue #12271 where unlabeled expressions in RETURNING clauses lose their column keys when used in CTEs.
Fixes: #12271
Problem
When creating a CTE from DELETE statements with RETURNING clauses containing unlabeled expressions the
_make_proxy
method got AssertionError because key was being None.Solution
Modified
_make_proxy
to ensure key is never None by falling back toself._anon_key_label
To validate this fix, the following two test cases have been added:
Checklist
This pull request is:
must include a complete example of the issue. one line code fixes without an
issue and demonstration will not be accepted.
Fixes: #<issue number>
in the commit messageinclude a complete example of how the feature would look.
Fixes: #<issue number>
in the commit messageHave a nice day!