Skip to content

feat: support PostgreSQL range types across Arrow and Pandas#907

Open
santosh-d3vpl3x wants to merge 3 commits into
sfu-db:mainfrom
santosh-d3vpl3x:feature/support_ranges_for_pg
Open

feat: support PostgreSQL range types across Arrow and Pandas#907
santosh-d3vpl3x wants to merge 3 commits into
sfu-db:mainfrom
santosh-d3vpl3x:feature/support_ranges_for_pg

Conversation

@santosh-d3vpl3x
Copy link
Copy Markdown

Summary

  • add support for PostgreSQL built-in range types: int4range, int8range, numrange, tsrange, tstzrange, daterange
  • map ranges to string outputs in Arrow/ArrowStream/Pandas transports
  • rewrite postgres queries for range columns to cast to ::text so binary/cursor paths deserialize consistently
  • add integration coverage for binary/csv/cursor/simple protocols

What Users Get

  • ConnectorX postgres reads now return range columns successfully instead of failing on unsupported range deserialization
  • behavior is consistent across Arrow and Pandas destinations

Validation

  • cargo build --features src_postgres,dst_arrow -p connectorx
  • cargo test --features src_postgres,dst_arrow --test test_postgres test_range_types -- --nocapture
  • cargo test --features src_postgres,dst_arrow --test test_postgres test_types_binary_postgres
  • cargo test --features src_postgres,dst_arrow --test test_postgres test_types_csv_postgres
  • cargo test --lib --features src_postgres,dst_arrow -p connectorx range_rewrite_tests -- --nocapture

@wangxiaoying
Copy link
Copy Markdown
Contributor

Thank you @santosh-d3vpl3x for the PR! The code looks good, can you also add the corresponding python test to here? We can merge the code after that.

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.

3 participants