starrocks icon indicating copy to clipboard operation
starrocks copied to clipboard

[Enhancement] Change the parameter strict_mode to null_if_not_found of dict_mapping function(#40897)

Open srlch opened this issue 1 year ago • 3 comments

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

srlch avatar Feb 23 '24 07:02 srlch

[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% []

github-actions[bot] avatar Mar 20 '24 04:03 github-actions[bot]

[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% []

github-actions[bot] avatar Mar 20 '24 04:03 github-actions[bot]

@Mergifyio backport branch-3.2

github-actions[bot] avatar Mar 20 '24 05:03 github-actions[bot]

backport branch-3.2

✅ Backports have been created

mergify[bot] avatar Mar 20 '24 05:03 mergify[bot]