format: add a generalized self-describing metadata API
- Dominant language
- C#
- Stars
- 627
- Forks
- 217
- Avg merge
- 17h
- Merged PRs (30d)
- 57
Description
### What feature or improvement would you like to see?
One of the only innovations in ADO.NET versus other database connectivity APIs is that it supports an extensible collection of metadata results. So instead of needing separate APIs for "tables", "views", "procedures", "functions", etc., there's just a single `GetSchema` which is parameterized by a collection name and a filter collection. There's also a meta-collection named "MetaDataCollections" which returns the list of supported collections, and for each collection it also returns the list of supported filters or properties for that collection.
Without yet specifying exactly how this would look for ADBC, I propose adopting this approach for any new metadata APIs we add. Its primary advantage is that we can add new standard metadata definitions without having to revise the C API.
Contributor guide
Research direction
Start by reading the issue's comparison with ADO.NET GetSchema and its MetaDataCollections concept. No files or tests are named; the work is not ready to implement until the generalized metadata API, collection definitions, filters, and C API compatibility are specified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- api, database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100