refactor: extract a new crate arrow-pg #89
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #88
In this change, I extracted all data encoding and type mapping code from datafusion-postgres crate to a new one called arrow-pg.
The interface of arrow-pg is designed to work with arrow data and pgwire encoders, which is backed by
ToSql
from postgres-types andToSqlText
from pgwire itself. This also means we won't include datafusion APIs likeDFSchema
,RecordBatchStream
andScalarValue
in this library, code related to these types are kept in datafusion-postgres for now. But in next patch, I have plan to add a feature gatedatafusion
toarrow-pg
so we can include them optionally, for those using arrow with datafusion.This is just the first version of arrow-pg, APIs will definitely change to support new features, encoding options.