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]

Reply via email to