[CBRD-23600] Unexpected rounding up a numeric value when the case expressions are used recursively #2180
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
http://jira.cubrid.org/browse/CBRD-23600
When the CASE expressions are used recursively and values specified in the THEN clause are numeric and integer types order repeatedly, one of the numeric values is rounded up unexpectedly.
this bug causes because the arg1 pointer variable for PT_NODE is incorrectly re-used at the part of checking the next case clause. please see the changes in this PR. To make a common data type of expression, pt_upd_domain_info () is invoked with the possibly wrong assigned arg1. As a consequence, the data type is going to be updated incorrect precision and scale.
It fixes to keep the arg1 from being re-used incorrectly.