anshulsingh-py commented on PR #19853:
URL: https://github.com/apache/hudi/pull/19853#issuecomment-5597650686

   Addressed the two substantive findings from the last review round:
   
   - `applyImplicitCasts` only ran `ImplicitTypeCasts`, missing the other 
analyzer rules a filter is likely to hit — `concat(id, 'x')` was rejected even 
though real Spark accepts it (`ConcatCoercion` casts the Int to String). Now 
also runs `FunctionArgumentConversion` (greatest/least/array_contains) and 
`IfCoercion` (then/else branch types), in the same order `TypeCoercion`'s own 
rule list does. A genuine mismatch (concat against a Map argument) still gets 
rejected — widening the coercion didn't loosen the underlying type check.
   - The `Unevaluable` guard added to protect a direct `eval()` on an 
unsupported function had also narrowed the three pre-existing ANSI 
cast/arithmetic exception types, which used to rethrow unconditionally. Split 
back into two cases so only the two new exception types 
(`SparkThrowable`/`IllegalArgumentException`) get the guard — an ANSI error 
OR'd with an unrelated unsupported function now correctly surfaces instead of 
being swallowed.
   
   Also applied both nits: trimmed the dense comment block, and split 
`resolveViaFunctionRegistry` into 
`lookupBuiltin`/`finalizeRegistryResolution`/`isUsableOutsideQueryPlan`, each a 
single responsibility.
   
   Full `procedure` package suite: 268/268 passing, BUILD SUCCESS. Rebased onto 
current master.


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