Consider having `SessionCatalog` also implement `FunctionRegistry` rather than providing access to the hash maps directly
- Dominant language
- Rust
- Stars
- 9.3k
- Forks
- 2.4k
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 344
Description
### Is your feature request related to a problem or challenge?
_No response_
### Describe the solution you'd like
from https://github.com/apache/datafusion/pull/11516#discussion_r1685352155
> As a follow on PR we may want to consider having SessionCatalog also implement FunctionRegistry rather than providing access to the hash maps directly
>
> https://docs.rs/datafusion/latest/datafusion/execution/trait.FunctionRegistry.html
>
> So that would mean
>
> ```
> pub trait CatalogSession: FunctionRegistry + Send + Sync {
> ...
> }
> ```
> And removing these functions
### Describe alternatives you've considered
_No response_
### Additional context
- https://github.com/apache/datafusion/pull/11516
Contributor guide
Research direction
Start by reading SessionCatalog and CatalogSession in the DataFusion source, the FunctionRegistry trait in the linked docs, and the discussion in PR 11516. Identify the hash-map accessors referenced there and verify the affected catalog implementations and tests. Done means CatalogSession incorporates FunctionRegistry without exposing those maps directly, with the existing behavior preserved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100