4ktLuffy commented on issue #5328:
URL: 
https://github.com/apache/datafusion-comet/issues/5328#issuecomment-5256575980

   To sharpen the distinction above, since it is the obvious first question: 
**what this suite adds is population coverage, not a new instance.**
   
   `CometCodegenSuite`'s `(#5218)` test guards *that* instance — `add_months` 
over `('notadate', NULL)` with ANSI on — and it guards it well. But the 
mechanism it protects against is general: `canShortCircuitNulls` gates on 
`isNullIntolerant(expr) && allNullIntolerant(expr)` plus the ordinal count, so 
the same short-circuit reasoning applies to **any** multi-input 
`NullIntolerant` tree. `CometCodegenSourceSuite`'s two guards already 
demonstrate that generality by using different expressions for the same shape 
(`Add(Cast(..), ..)` and `MakeTimestamp(Cast(..), ..)`).
   
   What is missing is mechanical: nothing sweeps error-class parity under 
forced fallback for the other 292 registered expressions. Each existing guard 
was written because someone already knew where to look. The invariant here does 
not need to know — it compares outcomes for whatever is in the corpus, and 
reports a named witness when they diverge.
   
   So the honest accounting is: the replay validated the harness, `#5218`'s own 
tests own that instance, and the contribution is the sweep that would cover the 
rest of the population as the corpus grows. If maintainers would rather see the 
corpus widened substantially before this is worth merging, I am happy to do 
that in this PR — widening is mechanical, and the bind gate is what keeps the 
coverage number honest as it does.
   


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