Skip to content

Cache ADBC Arrow logical type metadata#26

Merged
adsharma merged 1 commit into
LadybugDB:mainfrom
rahul-iyer:issue-652-arrow-logical-type-info-adbc
Jul 5, 2026
Merged

Cache ADBC Arrow logical type metadata#26
adsharma merged 1 commit into
LadybugDB:mainfrom
rahul-iyer:issue-652-arrow-logical-type-info-adbc

Conversation

@rahul-iyer

Copy link
Copy Markdown
Contributor

This PR updates the ADBC extension to preserve Arrow logical type metadata discovered at bind/query
setup time and reuse it during scan materialization.

The main motivation is Snowflake-style logical decimal metadata carried in Arrow schema metadata. ADBC
drivers can expose decimal semantics through metadata even when the physical Arrow storage is integer-
or float-backed. Before this change, the ADBC extension relied on the generic Arrow type conversion path
alone, which could lose those logical decimal annotations during scan conversion.

At query setup time, the ADBC connector reads the Arrow stream schema once and resolves logical type
metadata for each column. That metadata is stored alongside the query result and later passed into the
scan path for each batch.

This keeps the hot scan loop simple and avoids reparsing schema metadata per batch while preserving vendor-specific logical annotations such as Snowflake decimal metadata.

@adsharma

adsharma commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

CI error will be fixed when LadybugDB/ladybug#653 lands.

@adsharma adsharma merged commit 7d7f90f into LadybugDB:main Jul 5, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants