cockroach
cockroach copied to clipboard
release-22.2: opt: include optional columns when remapping Project provided ordering
Backport 1/1 commits from #87888.
/cc @cockroachdb/release
This commit fixes a bug that was recently introduced in #86193 that can cause an internal panic when remapping an ordering from the input to the output of a Project
operator. #86193 modified the logic to ensure that the remapping only refers to columns from the required ordering; however, it failed to add the optional columns to the allowed set of columns. This could cause a panic if the provided ordering contains columns from the optional set. This is fixed by adding the optional columns when remapping.
Fixes #87806
Release note: None (only on master)
Release justification: bug fix for bug introduced by a previous backport
Thanks for opening a backport.
Please check the backport criteria before merging:
- [x] Patches should only be created for serious issues or test-only changes.
- [x] Patches should not break backwards-compatibility.
- [x] Patches should change as little code as possible.
- [x] Patches should not change on-disk formats or node communication protocols.
- [x] Patches should not add new functionality.
- [x] Patches must not add, edit, or otherwise modify cluster versions; or add version gates.
If some of the basic criteria cannot be satisfied, ensure that the exceptional criteria are satisfied within.
- [ ] There is a high priority need for the functionality that cannot wait until the next release and is difficult to address in another way.
- [ ] The new functionality is additive-only and only runs for clusters which have specifically “opted in” to it (e.g. by a cluster setting).
- [ ] New code is protected by a conditional check that is trivial to verify and ensures that it only runs for opt-in clusters.
- [ ] The PM and TL on the team that owns the changed code have signed off that the change obeys the above rules.
Add a brief release justification to the body of your PR to justify this backport.
Some other things to consider:
- What did we do to ensure that a user that doesn’t know & care about this backport, has no idea that it happened?
- Will this work in a cluster of mixed patch versions? Did we test that?
- If a user upgrades a patch version, uses this feature, and then downgrades, what happens?
Test failure is a flake.
TFTR!