gratus00 opened a new pull request, #21944:
URL: https://github.com/apache/datafusion/pull/21944

   ## Which issue does this PR close?
   
   - Closes #21778.
   
   ## Rationale for this change
   
   Several `CatalogProvider` and `SchemaProvider` methods are fallible in 
practice, but their signatures do not currently return `Result`. That forces 
implementations and callers to either hide errors or treat fallible operations 
as infallible.
   
   This change makes those fallible paths explicit so errors can be propagated 
correctly through the catalog API and its downstream callers.
   
   ## What changes are included in this PR?
   This PR updates the following methods to return `Result`:
   
   - `CatalogProvider::schema_names`
   - `CatalogProvider::schema`
   - `SchemaProvider::table_names`
   - `SchemaProvider::table_exist`
   
   It also propagates those signature changes through the relevant 
implementations and call sites, including:
   
   - in-memory and listing catalog/schema providers
   - async catalog/schema wrappers
   - information schema and dynamic file catalog code
   - session/context catalog access paths
   - FFI catalog/schema wrappers
   - sqllogictest and example code
   - affected tests
   
   ## Are these changes tested?
   
   Yes.
   
   The following commands were run locally:
   ```bash
   cargo fmt --all
   TMPDIR=/tmp cargo check -p datafusion-catalog -p datafusion-ffi -p 
datafusion-cli -p datafusion-examples -p datafusion-sqllogictest -p datafusion
   TMPDIR=/tmp cargo test -p datafusion-catalog --lib
   TMPDIR=/tmp cargo test -p datafusion-ffi --lib
   TMPDIR=/tmp cargo test -p datafusion memory_catalog_dereg_nonempty_schema
   TMPDIR=/tmp cargo test -p datafusion test_mem_provider
   TMPDIR=/tmp cargo check -p datafusion-examples --example udf
   TMPDIR=/tmp cargo clippy -p datafusion --lib -- -D warnings
   ```
   
   ## Are there any user-facing changes?
   
   There are no end-user SQL or CLI behavior changes.
   
   This is a public API change for implementers of CatalogProvider and 
SchemaProvider, so the api change label should be added.
   


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