shoemoney opened a new pull request, #5223:
URL: https://github.com/apache/calcite/pull/5223

   Sibling of CALCITE-7731.
   
   Bug: Primitive.checkOverflow calls BigDecimal.toPlainString on a value with 
scale < 0 without bounding the plain-notation expansion. A large negative scale 
can force toPlainString to materialize gigabytes and OOM, same pattern bounded 
elsewhere in CALCITE-7731.
   
   Fix: Gate the toPlainString call with isBoundedDecimal. This mirrors 
SqlUtil.isBoundedDecimal in core but is inlined in linq4j to avoid a circular 
linq4j -> core dependency. The bound reads 
calcite.parser.maxDecimalLiteralPlainDigits (default 10000) and checks 
precision + abs(scale) <= limit. If exceeded, throw IllegalArgumentException 
before allocation.
   
   Evidence: RED->GREEN verified. Both :linq4j:compileJava configurations 
succeed. Formatter blast radius is one file.


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

Reply via email to