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]
