c/driver/postgresql: implement hybrid/auto type resolution
- Dominant language
- C#
- Stars
- 627
- Forks
- 217
- Avg merge
- 17h
- Merged PRs (30d)
- 57
Description
### What feature or improvement would you like to see?
Follow-on to https://github.com/apache/arrow-adbc/issues/1755.
PostgreSQL tells us type OIDs when what we need is typrecv/typsend. We have to resolve OIDs to their "type shape"; currently we do this by querying system tables on first connection to build a cache, but this is expensive for various reasons. After #1755 we have the option of using a hardcoded list, but this does not handle composite types and user-defined types. We should implement a third option which starts with the hardcoded list, but queries system tables on-demand to resolve and cache type information for unknown types.
Contributor guide
Research direction
Start in c/driver/postgresql and read the linked #1755 for the hardcoded type-list behavior. Trace the existing first-connection system-table lookup and cache, then identify the entry point for resolving unknown OIDs. Done means known types use the hardcoded list while unknown, composite, and user-defined types are queried on demand and cached.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, postgresql
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100