dajiaohuang opened a new pull request, #1815:
URL: https://github.com/apache/datafusion-python/pull/1815

   Closes #1708
   
   ## Rationale
   
   `enable_url_table()` previously returned a handle backed by a separate 
`SessionContext` allocation while retaining the session ID. This allowed live 
handles to diverge in state and could invalidate weak FFI task-context 
providers when callers reassigned the returned handle.
   
   ## Changes
   
   - Rebuild the URL-table catalog through the existing session's `state_ref()` 
and return a handle sharing the same `Arc<SessionContext>`.
   - Preserve the session ID and make repeated calls idempotent.
   - Add Python state-sharing and FFI-provider regression coverage, and update 
the user guide, extension/contributor documentation, and FFI capsule protocol 
guidance.
   
   ## User-facing change
   
   Both the original handle and the returned handle now observe URL-table 
enablement and subsequent state changes. Reassigning the result remains valid. 
This is a behavioral API change; the `api change` label is required.
   
   ## Validation
   
   - `cargo check --features substrait --package datafusion-python` — passed.
   - Focused Python and FFI regression tests — 2 passed.
   - `pytest python/` on Windows — 1,626 passed, 11 skipped, 2 failed. The 
failures are in the `read_arrow` and `register_arrow` doctests: 
`TemporaryDirectory` cleanup raises `WinError 32` while `data.arrow` is still 
held open.
   - Selected pre-commit hooks passed: Ruff, Ruff format, `ty`, Rust fmt, and 
codespell.
   


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