starocean999 opened a new pull request, #64026:
URL: https://github.com/apache/doris/pull/64026
- Summary: Refactors partition literal handling to store typed LiteralExpr
(removing string/long PartitionValue ctors), tightens literal comparison
semantics, ensures Nereids partition expressions are cast to partition-column
types before legacy conversion, fixes timezone-aware TIMESTAMPTZ microsecond
rounding overflow, and resolves related build/checkstyle/test failures
introduced during the refactor.
- Partition API changes: PartitionValue now only accepts typed LiteralExpr
(string/long constructors removed). Call sites updated to use
LiteralExprUtils.createLiteral(...) or NullLiteral.create(type) for
null/default partition values. This reduces late-parsing bugs and enforces
consistent types.
- Nereids → catalog conversion: Nereids partition nodes (e.g., InPartition,
StepPartition, LessThanPartition, AlterMultiPartitionOp) now cast expressions
to the table partition column types before converting to PartitionValue/legacy
formats. This fixes partition-boundary/regression issues.
- TIMESTAMPTZ fix: Prevents timezone-unsafe reparsing during microsecond
rounding. DateTimeLiteral overflow/rounding now advances using internal
date/time fields (not getStringValue() reparse), and TimestampTzLiteral
behavior is kept timezone-correct. Added unit coverage (focused test) for the
boundary case '9999-12-31 23:59:59.999999+08:00'.
### 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]