Skip to content

[fix](be) Use shortest round-trip floating-point strings (#65609) - #66425

Merged
yiguolei merged 4 commits into
apache:branch-4.1from
jacktengg:4.1-pick-260804
Aug 4, 2026
Merged

[fix](be) Use shortest round-trip floating-point strings (#65609)#66425
yiguolei merged 4 commits into
apache:branch-4.1from
jacktengg:4.1-pick-260804

Conversation

@jacktengg

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Pick #65609 and #66375

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • 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
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

jacktengg and others added 2 commits August 4, 2026 10:27
Issue Number: close #xxx

Related PR: #xxx

Problem Summary:
Formatting float and double values with max_digits10 preserves
round-trip precision but emits redundant digits such as
1.1000000000000001. Use fmt Dragonbox shortest-round-trip formatting in
BE and bit-exact matching formatting in FE, and synchronize affected
tests and expected results.

Float and double values now use shortest round-trip string formatting
consistently in FE and BE.

- 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:
apache/doris-website#1214 -->

- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->

---------

Co-authored-by: lidongyang <lidongyang@selectdb.com>
Issue Number: close #xxx

Related PR: apache#65302

Problem Summary:

Floating number to string is now handled correctly by
CastToString::from_number in PR
apache#65609, special handing in
DataTypeNumberSerDe<T>::to_olap_string is not necessary now.

None

- 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:
apache/doris-website#1214 -->

- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
@jacktengg
jacktengg requested a review from yiguolei as a code owner August 4, 2026 07:33
@hello-stephen

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@jacktengg

Copy link
Copy Markdown
Contributor Author

run buildall

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Possible file(s) that should be tracked in LFS detected: 🚨

The following file(s) exceeds the file size limit: 1048576 bytes, as set in the .yml configuration files:

  • regression-test/data/datatype_p0/nested_types/base_cases/one_level_nestedtypes_with_s3data.out
  • regression-test/data/datatype_p0/nested_types/query/test_nested_types_insert_into_with_s3.out

Consider using git-lfs to manage large files.

@github-actions github-actions Bot added the lfs-detected! Warning Label for use when LFS is detected in the commits of a Pull Request label Aug 4, 2026
@jacktengg

Copy link
Copy Markdown
Contributor Author

run buildall

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Possible file(s) that should be tracked in LFS detected: 🚨

The following file(s) exceeds the file size limit: 1048576 bytes, as set in the .yml configuration files:

  • regression-test/data/datatype_p0/nested_types/base_cases/one_level_nestedtypes_with_s3data.out
  • regression-test/data/datatype_p0/nested_types/query/test_nested_types_insert_into_with_s3.out

Consider using git-lfs to manage large files.

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 54.80% (97/177) 🎉
Increment coverage report
Complete coverage report

@jacktengg

Copy link
Copy Markdown
Contributor Author

run buildall

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Possible file(s) that should be tracked in LFS detected: 🚨

The following file(s) exceeds the file size limit: 1048576 bytes, as set in the .yml configuration files:

  • regression-test/data/datatype_p0/nested_types/base_cases/one_level_nestedtypes_with_s3data.out
  • regression-test/data/datatype_p0/nested_types/query/test_nested_types_insert_into_with_s3.out

Consider using git-lfs to manage large files.

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100.00% (2/2) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 61.39% (25281/41178)
Line Coverage 45.45% (262779/578197)
Region Coverage 41.91% (213211/508756)
Branch Coverage 42.85% (95825/223617)

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 98.98% (97/98) 🎉
Increment coverage report
Complete coverage report

@yiguolei
yiguolei merged commit 78c1626 into apache:branch-4.1 Aug 4, 2026
27 of 31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lfs-detected! Warning Label for use when LFS is detected in the commits of a Pull Request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants