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

   ### What changes were proposed in this pull request?
   
   **Depends on #58033** 
([SPARK-58794](https://issues.apache.org/jira/browse/SPARK-58794) foundation). 
Please review/merge that first; rebase this onto `master` afterward. Delta vs 
foundation is a single commit: 
https://github.com/srielau/spark/compare/SPARK-58794...SPARK-58802
   
   Expands HybridAnalyzer dual-run coverage under 
`spark.sql.charVarchar.standardSemantics.enabled` so fixed-point and 
single-pass analyzers are proven to agree on (D19):
   
   - CAST / try_cast type introduction (R3)
   - LCT: COALESCE / CASE / NULL / CHAR+VARCHAR / CHAR+STRING / IN / UNION / 
INTERSECT (R2)
   - R1 transforming exprs: 
upper/lower/`||`/concat/substr/trim/regexp_replace/mask/split, including R1 
after LCT
   - Nested ARRAY/STRUCT of CHAR
   - Collated CAST
   - Bare column references from a CHAR/VARCHAR table
   
   The single-pass resolver has no Char/Varchar-specific logic; it inherits 
`Expression.dataType` and shared TypeCoercion. Dual-run with sample rate 1.0 is 
the proof of parity.
   
   ### Why are the changes needed?
   
   Parent design decision D19: single-pass must match fixed-point on 
LCT/CAST/R1 before calling the standardSemantics foundation complete. #58033 
only had a small smoke test.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No.
   
   ### How was this patch tested?
   
   ```
   ./build/sbt "sql/testOnly org.apache.spark.sql.BasicCharVarcharTestSuite -- 
-z SPARK-58802"
   ```
   
   Result: 1 test succeeded (dual-run matrix under standardSemantics).


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