jacktengg opened a new pull request, #69396:
URL: https://github.com/apache/doris/pull/69396
Issue Number: None
Related PR: None
Problem Summary: Comparing a DATETIMEV2 column with a TIMESTAMP_NS literal
that has sub-microsecond precision can leave different physical operand types
after coercion. OLAP scan predicate normalization then reads the TIMESTAMP_NS
Field as DATETIMEV2 and fails instead of returning matching rows. Promote DATE,
DATEV2, DATETIME, DATETIMEV2 and TIMESTAMPTZ peers to TIMESTAMP_NS through the
existing strict casts. Apply the same rule to comparisons, IN, common temporal
result types and temporal functions. Preserve narrowing casts during comparison
simplification so overflow cannot be bypassed. Remove the literal-dependent
mixed-type fallbacks and heterogeneous temporal function signatures.
Mixed TIMESTAMP_NS temporal expressions use TIMESTAMP_NS as their common
type. Conversions outside its signed Int64 epoch-nanosecond range raise errors
even when enable_strict_cast is false. Functions such as NULLIF also return the
common TIMESTAMP_NS type for mixed temporal inputs. Casting temporal columns
may reduce storage predicate pushdown.
- Test: Unit Test / Regression test / Manual test
- run-fe-ut.sh: 72 tests pass across TypeCoercionUtilsTest,
TimestampNsFunctionSignatureTest, SimplifyComparisonPredicateTest and
TimestampNsMonotonicityTest.
- build.sh --fe and FE Checkstyle pass.
- run-regression-test.sh: mixed_temporal_filter, mixed_datetime_coercion and
mixed_datetime_expressions pass; generate result files through the runner, then
verify them.
- Original three-row OLAP reproducer returns only id=1 and EXPLAIN retains
CAST(dt AS timestamp_ns). Local validation uses the existing worktree ASAN BE
with compatible be_exec_version=17.
- Behavior changed: Yes; mixed temporal coercion and overflow handling are
normalized as described in the release note.
- Does this need documentation: No; this corrects implicit coercion using
existing casts, with the compatibility changes recorded above.
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
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:
https://github.com/apache/doris-website/pull/1214 -->
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR should
merge into -->
Backport notes for branch-4.2:
- Apply ASOF index utility changes in join_utils.h.
- Preserve the existing checkedCastWithFallback API and propagate strictness
through its nested literal conversions.
- Use nullable STRUCT fields in the new folding tests to respect this
branch's existing required-field cast checks.
(cherry picked from commit 351d9388d5b945e656f5f91df17d81b5bd4205b3)
### What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
### 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]