HappenLee opened a new pull request, #68930:
URL: https://github.com/apache/doris/pull/68930
### What problem does this PR solve?
Issue Number: None
Problem Summary: With the condition cache enabled, a valid scan predicate
such as `bitmap_count(IF(id = 1, to_bitmap(1), CAST(NULL AS BITMAP))) > 0`
fails while preparing its digest. VLiteral delegates to the column's xxHash
interface, which ColumnComplexType does not implement, including through
nullable/constant wrappers.
Return the existing unsupported-digest sentinel (0) for BITMAP, HLL and
QUANTILE_STATE literals. Parent expressions propagate zero and the scan
evaluates its predicates without using the condition cache. Keep the general
column hashing contract unchanged: it also serves aggregation and does not
define zero as an unsupported value.
### Release note
Fix valid queries containing complex object literals in scan predicates
failing when the condition cache is enabled. Such scans now bypass the
condition cache.
### Check List (For Author)
- Test:
- Unit Test: Add typed NULL and non-NULL object literals, parent digest
propagation, and scalar digest controls.
- Regression test: Add IF/CASE predicate execution with the condition
cache toggled on/off/on, plus a projection control.
- Local validation: clang-format 16, build hygiene and clang-tidy
passed. clang-tidy used the generated UT compilation flags with the missing PCH
removed and the toolchain resource directory supplied.
- BE UT execution was blocked before compilation/linking by missing
local third-party archives libsimdutf.a and libpaimon_c.a. The regression was
not run locally; the reported test host is unreachable. No runtime pass is
claimed.
- Behavior changed: Yes. Unsupported literal digests disable the affected
scan's condition cache instead of failing the query.
- Does this need documentation: No.
--
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]