expression: fix the const prop over ENUM type (#50208)
This is an automated cherry-pick of #50208
What problem does this PR solve?
Issue Number: close #49440
Problem Summary:
ENUM is a hybrid type and has two possible evaluation ways.
This pull give a correct behavior for the enum and disables the propagation for other two hybrid type SET and BIT.
What changed and how does it work?
Check List
Tests
- [ ] Unit test
- [x] Integration test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test
- [ ] I checked and no code files have been changed.
Side effects
- [ ] Performance regression: Consumes more CPU
- [ ] Performance regression: Consumes more Memory
- [ ] Breaking backward compatibility
Documentation
- [ ] Affects user behaviors
- [ ] Contains syntax changes
- [ ] Contains variable changes
- [ ] Contains experimental features
- [ ] Changes MySQL compatibility
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.
Do the right constant propagation when the column is a ENUM
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: fixdb, winoros
The full list of commands accepted by this bot can be found here.
The pull request process is described here
- ~~OWNERS~~ [winoros]
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
[LGTM Timeline notifier]
Timeline:
Codecov Report
:exclamation: No coverage uploaded for pull request base (
release-7.1@061a7da). Click here to learn what that means. The diff coverage is51.1111%.
Additional details and impacted files
@@ Coverage Diff @@
## release-7.1 #50273 +/- ##
================================================
Coverage ? 73.4354%
================================================
Files ? 1209
Lines ? 378982
Branches ? 0
================================================
Hits ? 278307
Misses ? 82921
Partials ? 17754
/retest