hutiefang76 opened a new pull request, #4427:
URL: https://github.com/apache/amoro/pull/4427

   ## Why are the changes needed?
   
   HiveSchemaUtil.changeFieldNameToLowercase uses one collision set for the 
entire schema. A valid schema with col1.X and col2.X throws an 
IllegalArgumentException although the fields belong to different structs. 
Struct fields nested inside lists/maps are also left unchanged.
   
   Closes #4425.
   
   ## Brief change log
   
   Keep collision detection within each struct and visit list elements and map 
keys/values, retaining IDs, docs and requiredness. Same-struct collisions still 
fail.
   
   ## How was this patch tested?
   
   - [x] Added positive and negative regression tests.
   - [x] Ran the affected tests locally.
   
   JDK 17: TestHiveSchemaUtil, 5 tests passed. The same tests against the 
original implementation produced 1 failure and 2 errors. Root ./mvnw -q 
-Pskip-dashboard-build validate passed.
   
   ```shell
   ./mvnw -q -Pskip-dashboard-build -pl amoro-format-mixed/amoro-mixed-hive -am 
-Dtest=TestHiveSchemaUtil -Dsurefire.failIfNoSpecifiedTests=false test
   ```
   
   ## Documentation
   
   No new feature or configuration. Existing conversion behavior is corrected.
   
   AI assistance: implementation and initial review used DeepSeek; Codex 
coordinated final review and local verification.
   


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