Skip to content

branch-4.0: [fix](fe) Fix datediff folding for zero date #64084#64222

Merged
morningman merged 1 commit into
branch-4.0from
auto-pick-64084-branch-4.0
Jun 25, 2026
Merged

branch-4.0: [fix](fe) Fix datediff folding for zero date #64084#64222
morningman merged 1 commit into
branch-4.0from
auto-pick-64084-branch-4.0

Conversation

@github-actions

@github-actions github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Cherry-picked from #64084

@github-actions
github-actions Bot requested a review from morningman as a code owner June 8, 2026 09:21
@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?

@hello-stephen

Copy link
Copy Markdown
Contributor

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 100.00% (6/6) 🎉
Increment coverage report
Complete coverage report

@github-actions github-actions Bot added the approved Indicates a PR has been approved by one committer. label Jun 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor Author

PR approved by at least one committer and no changes requested.

@github-actions

Copy link
Copy Markdown
Contributor Author

PR approved by anyone and no changes requested.

### What problem does this PR solve?

Problem Summary: FE constant folding for DATEDIFF used Java proleptic
date arithmetic, while BE runtime evaluates DATEDIFF by subtracting
Doris day numbers. For zero-date inputs such as 0000-01-01, Java date
arithmetic disagrees with Doris day-number semantics, so folded DATEDIFF
could return a different result from runtime execution and from
TO_DAYS(a) - TO_DAYS(b). This change reuses the FE day-number
calculation used by TO_DAYS for DATEDIFF folding, keeping folded and
runtime semantics consistent for zero-date boundary cases.
@morningman

Copy link
Copy Markdown
Contributor

run buildall

@morningman
morningman force-pushed the auto-pick-64084-branch-4.0 branch from a19fed5 to 8d7e06d Compare June 24, 2026 09:47
@morningman
morningman merged commit 2cee51f into branch-4.0 Jun 25, 2026
28 of 32 checks passed
@github-actions
github-actions Bot deleted the auto-pick-64084-branch-4.0 branch June 25, 2026 01:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants