[Enhancement] Change the parameter strict_mode to null_if_not_found of dict_mapping function(#40897)
The last optional parameter for dict_mapping is strict_mode(boolean), and its behavior if following:
If strict_mode is True : return an exception if the key is not found in dictionary table. If strict_mode is False(Default) : return null if the key is not found in dictionary table.
We change the strict_mode into null_if_not_found to make more clear for user to use this function, and the behavior of null_if_not_found is following: If null_if_not_found is True : return null if the key is not found in dictionary table. If null_if_not_found is False(Default) : return an exception if the key is not found in dictionary table.
Fixes #40897
What type of PR is this:
- [ ] BugFix
- [ ] Feature
- [x] Enhancement
- [ ] Refactor
- [ ] UT
- [ ] Doc
- [ ] Tool
Does this PR entail a change in behavior?
- [x] Yes, this PR will result in a change in behavior.
- [ ] No, this PR will not result in a change in behavior.
If yes, please specify the type of change:
- [ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
- [x] Parameter changes: default values, similar parameters but with different default values
- [ ] Policy changes: use new policy to replace old one, functionality automatically enabled
- [ ] Feature removed
- [ ] Miscellaneous: upgrade & downgrade compatibility, etc.
Checklist:
- [x] I have added test cases for my bug fix or my new feature
- [ ] This pr needs user documentation (for new or modified features or behaviors)
- [ ] I have added documentation for my new feature or new function
- [ ] This is a backport pr
Bugfix cherry-pick branch check:
- [x] I have checked the version labels which the pr will be auto-backported to the target branch
- [x] 3.2
- [ ] 3.1
- [ ] 3.0
- [ ] 2.5
Quality Gate passed
Issues
6 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code
[FE Incremental Coverage Report]
:white_check_mark: pass : 14 / 14 (100.00%)
file detail
| path | covered_line | new_line | coverage | not_covered_line_detail | |
|---|---|---|---|---|---|
| :large_blue_circle: | com/starrocks/sql/analyzer/ExpressionAnalyzer.java | 14 | 14 | 100.00% | [] |
[BE Incremental Coverage Report]
:white_check_mark: pass : 3 / 3 (100.00%)
file detail
| path | covered_line | new_line | coverage | not_covered_line_detail | |
|---|---|---|---|---|---|
| :large_blue_circle: | be/src/exprs/dict_query_expr.cpp | 3 | 3 | 100.00% | [] |
@Mergifyio backport branch-3.2
backport branch-3.2
✅ Backports have been created
- #42830 [Enhancement] Change the parameter strict_mode to null_if_not_found of dict_mapping function(#40897) (backport #41545) has been created for branch
branch-3.2