kosiew commented on code in PR #26086:
URL: https://github.com/apache/datafusion/pull/26086#discussion_r4347057350


##########
datafusion/core/tests/fuzz_cases/equivalence/ordering.rs:
##########
@@ -127,10 +171,21 @@ fn 
test_ordering_satisfy_with_equivalence_complex_random() -> Result<()> {
             col("f", &test_schema)?,
             floor_a,
             a_plus_b,
+            a_gt_b,
+            a_gt_e_and_b_gt_e,
+            a_gt_e_or_b_gt_e,
         ];
 
+        let mut options_rng = StdRng::seed_from_u64(seed as u64);
         for n_req in 1..=exprs.len() {
             for exprs in exprs.iter().combinations(n_req) {

Review Comment:
   Optional follow-up: could we measure this loop under the CI profile? The 
expansion from 8 to 11 expressions and three NULL rates increases fixed-option 
cases from 25,500 to 614,100 (about 24x), plus one random-option inference 
check per case. This is not a measured runtime increase. If CI cost warrants 
it, consider retaining exhaustive coverage of the original expressions while 
testing singleton/pair combinations of new expressions and deterministically 
sampling longer combinations. Please verify that historical NULL-ordering 
regressions remain detectable.



##########
datafusion/core/tests/fuzz_cases/equivalence/utils.rs:
##########
@@ -503,16 +561,25 @@ pub fn generate_table_for_orderings(
     Ok(batch)
 }
 
+pub const NULL_PCTS: &[f64] = &[0.0, 0.1, 0.5];

Review Comment:
   Optional follow-up: could we add deterministic cases for an all-NULL ordered 
column and an explicitly NULL constant operand, with matching schema 
nullability and both sort directions/NULL placements? The current 0%, 10%, and 
50% matrix does not guarantee these boundaries, and generated constant columns 
remain non-NULL. Use the one-way soundness assertion rather than adding 100% 
NULLs to bidirectional checks, and explicitly assert expected singleton 
inference where guaranteed so rejection cannot make the test vacuous.



-- 
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