cboumalh opened a new pull request, #52836:
URL: https://github.com/apache/spark/pull/52836

   ### What changes were proposed in this pull request?
   This PR enforces that the sketch configuration parameter 
(lgConfigK/lgNomEntries) in both HllSketchAgg and ThetaSketchAgg must be a 
constant value.
   If the parameter expression (right) is not foldable, a 
QueryExecutionErrors.*MustBeConstantError(prettyName) is thrown.
   
   This change ensures that the aggregation configuration is validated at 
analysis time rather than runtime, preventing inconsistent or invalid sketch 
behavior.
   
   ### Why are the changes needed?
   The configuration parameter determines the accuracy and memory footprint of 
the sketch.
   Allowing it to vary dynamically at runtime could lead to nondeterministic 
aggregation results and incorrect computations.
   By enforcing it as a constant expression, we ensure deterministic behavior, 
predictable memory use, and alignment with the expected semantics of 
sketch-based aggregations.
   
   ### Does this PR introduce _any_ user-facing change?
   No
   
   
   ### How was this patch tested?
   Added tests in SQLQueryTestSuite
   
   
   ### Was this patch authored or co-authored using generative AI tooling?
   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