Weixin-Xu opened a new pull request, #13380:
URL: https://github.com/apache/gluten/pull/13380

     ## What changes are proposed in this pull request?
   
     This PR fixes expression translation and generator rewrites in the Bolt 
backend to preserve Spark behavior.
   
     - Preserve exact `from_json` schema field names recursively, including 
nested structs, arrays, and maps.
     - Forward Spark's Base64 chunking configuration to Bolt and fall back when 
an expression's bound option differs from the native query configuration.
     - Preserve the resolved expression time zone and null-format behavior for 
DATE unix-timestamp expressions.
     - Translate empty maps as literals, align Bloom filter capacity with the 
native aggregate, and allow `bitmap_construct_agg` through native aggregate 
validation.
     - Apply generator project rewrites after transformation, preserving 
aliases, metadata, output order, and input/filter bindings. Keep 
nondeterministic and potentially throwing expressions in their original
     evaluation positions.
     - Correct `json_tuple` post-projection handling and assign native stage 
IDs after stage collapse.
     - Replace the missing explode test resource with a temporary fixture.
   
     Add an opt-in backend hook for Spark version StaticInvoke expressions. Its 
default returns `None`, preserving the existing fallback behavior for other 
backends; Bolt opts into the existing Spark version
     literal.
   
     ## How was this patch tested?
   
     These changes were validated as part of the integrated Bolt CI candidate 
using Bolt revision `071e54764f887dfb4337260e440f2f12f6ab82f5` with the 
recorded engine fixes applied.
   
     Added regression coverage includes:
   
     - JSON field-name casing, nested schemas, and unchanged generic schema 
serialization.
     - Base64 defaults, explicit settings, and expression-bound options after 
session configuration changes.
     - DATE time-zone handling and preservation of existing TIMESTAMP and 
STRING overloads.
     - Spark version translation and fallback for unrelated signatures or 
backends using the default hook.
     - Generator aliases, bindings, output order, nondeterministic evaluation, 
and errors in discarded rows.
     - `json_tuple` projection handling and native stage-ID assignment.
   
     The integrated candidate completed the reference Spark test coverage.
   
     After rebasing this topic onto Apache Gluten main, `range-diff` and stable 
patch IDs confirmed that the patch was preserved. Applying the original patch 
to the new base reproduced the rebased tree exactly, and
     `git diff --check` passed.
   
     The standalone rebased branch has not been rebuilt or runtime-tested 
independently.
   
     ## Was this patch authored or co-authored using generative AI tooling?
   
     Generated-by: Codex (GPT-6)


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