apache / apache/arrow-adbc

csharp/src/Drivers/Apache: Implement primary/foreign keys lookup and improve performance of GetObjects

Open
#2,768 0 comments 0 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?

Currently, the GetObjects implementation in the Thrift-based drivers does not include the primary or foreign key lookup. This needs to be implemented.

Additionally, the GetObjects implementation can benefit from reducing the number of Thrift API calls, since the more details calls include the information of the less-detailed calls. That is, GetColumns includes all the information from `GetCatalogs`, `GetSchemas`, and `GetTables`.

Contributor guide

Open the contributing guide

Research direction

Start in csharp/src/Drivers/Apache and trace the Thrift-based drivers' GetObjects implementation. Compare the metadata returned by GetCatalogs, GetSchemas, GetTables, and GetColumns to identify where primary and foreign key lookup belongs and which calls overlap. Done means GetObjects includes primary and foreign keys while reducing redundant Thrift API calls.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
database
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.