[release/7.0] Fix to #30273 - EF7 generating incorrect SQL for the Concat/Union All #30451
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.
Port of #30452
Fixes #30273
Description
Projecting subset of properties from a set operation where one of the sources has distinct (but other doesn't) generates invalid sql.
Customer impact
Affected queries result in invalid sql.
How found
Customer report on 7.0
Regression
Yes. This scenario worked correctly in previous version of EF Core.
Testing
Added regression tests for affected scenario and similar types of queries.
Risk
Low: Fix is isolated - only affects pruning logic for set operators. Fix disables the optimization (pruning of redundant columns), that was being applied too aggressively. Worst case, the change results is uglier sql (i.e. optimization is not applied where it should), but it should never have functional impact. Added quirk to revert to old behavior if necessary.