apache / apache/arrow-adbc

format: add a generalized self-describing metadata API

Open
#4,400 2 comments 3 reactions 0 assignees View on GitHub
Type: enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.