Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release-22.1: release-22.1: colexec: fixed nullableArgs projection operators #84966

Closed

Conversation

blathers-crl[bot]
Copy link

@blathers-crl blathers-crl bot commented Jul 24, 2022

Backport 2/2 commits from #84615 on behalf of @wenyihu6.

/cc @cockroachdb/release


Backport 2/2 commits from #84159.

/cc @cockroachdb/release


Previously, the Concat projection operators on arrays directly copy nulls into
the output without performing the actual projection whenever either argument was
null. This is incorrect because Concat operator can actually handle null arguments,
and we want the actual projection result instead. Since currently the only
projection operator that needs nullableArgs == true behaviour is
ConcatDatumDatum, this PR fixed this by adding a boolean field nullableArgs
to the logic for operators with Datum, Datum. If we later introduce another
projection operation that has nullableArgs == true, we should update this code
accordingly.

Fixes: #83091

Release note (bug fix): Fixed a bug in Concat projection operators on arrays
that gave output of nulls when the projection operator can actually handle null
arguments and may result in a non-null output.


Release justification: bug fix


Release justification:

wenyihu6 added 2 commits July 18, 2022 03:33
This commit changed some comments in `proj_const_ops_tmpl.go` and
`proj_non_const_ops_tmpl.go` to become template-time only.

Release note: none
Previously, the `Concat` projection operators on arrays directly copy nulls into
the output without performing the actual projection whenever either argument was
null. This is incorrect because `Concat` operator can actually handle null arguments,
and we want the actual projection result instead. Since currently the only
projection operator that needs `nullableArgs == true` behaviour is
`ConcatDatumDatum`, this PR fixed this by adding a boolean field `nullableArgs`
to the logic for operators with `Datum`, `Datum`. If we later introduce another
projection operation that has nullableArgs == true, we should update this code
accordingly.

Fixes: #83091

Release note (bug fix): Fixed a bug in `Concat` projection operators on arrays
that gave output of nulls when the projection operator can actually handle null
arguments and may result in a non-null output.
@blathers-crl blathers-crl bot force-pushed the blathers/backport-release-22.1-84615 branch from 5f29dac to 4be41cb Compare July 24, 2022 02:28
@blathers-crl
Copy link
Author

blathers-crl bot commented Jul 24, 2022

Thanks for opening a backport.

Please check the backport criteria before merging:

  • Patches should only be created for serious issues or test-only changes.
  • Patches should not break backwards-compatibility.
  • Patches should change as little code as possible.
  • Patches should not change on-disk formats or node communication protocols.
  • Patches should not add new functionality.
  • 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?

@blathers-crl blathers-crl bot requested a review from yuzefovich July 24, 2022 02:28
@blathers-crl blathers-crl bot added blathers-backport This is a backport that Blathers created automatically. O-robot Originated from a bot. labels Jul 24, 2022
@cockroach-teamcity
Copy link
Member

This change is Reviewable

@wenyihu6 wenyihu6 closed this Jul 24, 2022
@wenyihu6 wenyihu6 reopened this Jul 24, 2022
@wenyihu6 wenyihu6 closed this Jul 24, 2022
@mgartner mgartner deleted the blathers/backport-release-22.1-84615 branch May 23, 2023 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blathers-backport This is a backport that Blathers created automatically. O-robot Originated from a bot.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants