Mryange opened a new pull request, #53272:
URL: https://github.com/apache/doris/pull/53272

   ### What problem does this PR solve?
   
   The simdjson library supports four types of numbers:
   1. floating_point_number: A binary64 number, which will be converted to 
jsonb's double type.
   2. signed_integer: A signed integer that fits in a 64-bit word using two's 
complement.
   3. unsigned_integer: A positive integer larger or equal to 1<<63.
      For these two integer types, we will convert them to jsonb's 
int8/int16/int32/int64/int128 types according to the specific value.
   4. big_integer: An integer that does not fit in a 64-bit word.
      For this type, simdjson cannot handle it directly. We first try to 
convert it to jsonb's int128 type.
      If conversion fails, we attempt to convert it to a double type.
      If conversion to double also fails, an error is returned.
   
   
   
   before
   ```
   mysql> select cast('18446744073709551616' as json);
   +--------------------------------------+
   | cast('18446744073709551616' as json) |
   +--------------------------------------+
   | NULL                                 |
   +--------------------------------------+
   ```
   
   now
   ```
   mysql> select cast('18446744073709551616' as json);
   +--------------------------------------+
   | cast('18446744073709551616' as json) |
   +--------------------------------------+
   | 18446744073709551616                 |
   +--------------------------------------+
   ```
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test <!-- At least one of them must be included. -->
       - [ ] Regression test
       - [ ] Unit Test
       - [ ] Manual test (add detailed scripts or steps below)
       - [ ] No need to test or manual test. Explain why:
           - [ ] This is a refactor/code format and no logic has been changed.
           - [ ] Previous test can cover this change.
           - [ ] No code files have been changed.
           - [ ] Other reason <!-- Add your reason?  -->
   
   - Behavior changed:
       - [ ] No.
       - [ ] Yes. <!-- Explain the behavior change -->
   
   - Does this need documentation?
       - [ ] No.
       - [ ] Yes. <!-- Add document PR link here. eg: 
https://github.com/apache/doris-website/pull/1214 -->
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label <!-- Add branch pick label that this PR should 
merge into -->
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to