HippoBaro opened a new pull request, #12036:
URL: https://github.com/apache/arrow-rs/pull/12036

   # Which issue does this PR close?
   
   Follow-up to #11971, as discussed in 
https://github.com/apache/arrow-rs/pull/11971#issuecomment-6529022949.
   
   # Rationale for this change
   
   #11971 introduced `ArrowRowGroupWriterFactory::try_new` and deprecated the 
infallible `new` constructor. Keeping `new` required storing schema-planning 
failures and replaying them when column writers were created. This follow-up 
removes the deprecated API and its compatibility machinery as a breaking change 
for a future major release.
   
   # What changes are included in this PR?
   
   - Remove `ArrowRowGroupWriterFactory::new`.
   - Store the validated `Arc<ArrowWriteSchemaPlan>` directly and remove the 
deferred-error representation and helper indirection.
   - Retain construction-time error assertions for mismatched leaf counts and 
invalid map-key schemas; remove tests specific to deferred-error replay.
   
   # Are these changes tested?
   
   Existing tests cover immediate schema-validation errors, shared schema 
plans, column-writer creation, row-group writing, and encrypted writing. The 
error-validation tests now exercise only `try_new`. Existing documentation 
examples already use `try_new`.
   
   # Are there any significant user-facing changes?
   
   **Breaking API change (`api-change`):** replace 
`ArrowRowGroupWriterFactory::new(&file_writer, schema)` with 
`ArrowRowGroupWriterFactory::try_new(&file_writer, schema)?` (or otherwise 
handle the returned `Result`). Schema-planning errors are returned during 
construction rather than deferred until column-writer creation.
   
   ---
   
   AI assistance was used to prepare the API removal, simplify the 
compatibility code, update tests, and draft this description. This PR is opened 
as a draft for author review.
   


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