Skip to content

Conversation

@Alex-PLACET
Copy link
Collaborator

No description provided.

@Alex-PLACET Alex-PLACET self-assigned this Nov 3, 2025
@codecov
Copy link

codecov bot commented Nov 3, 2025

Codecov Report

❌ Patch coverage is 75.41667% with 59 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.10%. Comparing base (d06e5f4) to head (9d697cc).

Files with missing lines Patch % Lines
src/arrow_interface/arrow_array_stream.cpp 71.42% 22 Missing ⚠️
src/arrow_interface/arrow_array_stream_proxy.cpp 63.15% 21 Missing ⚠️
src/arrow_interface/arrow_schema.cpp 80.95% 8 Missing ⚠️
...rrow_interface/arrow_array_stream/private_data.hpp 84.78% 7 Missing ⚠️
...arrow/arrow_interface/arrow_array_stream_proxy.hpp 94.44% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #608      +/-   ##
==========================================
- Coverage   88.45%   88.10%   -0.36%     
==========================================
  Files         104      108       +4     
  Lines        8041     8286     +245     
==========================================
+ Hits         7113     7300     +187     
- Misses        928      986      +58     
Flag Coverage Δ
unittests 88.10% <75.41%> (-0.36%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Alex-PLACET Alex-PLACET force-pushed the add_arrow_array_stream branch from 0ba41f3 to 9d697cc Compare November 5, 2025 13:47
@Alex-PLACET Alex-PLACET marked this pull request as ready for review November 5, 2025 13:56
@Alex-PLACET Alex-PLACET requested review from JohanMabille and Copilot and removed request for Copilot November 5, 2025 14:46
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements support for the Arrow C Stream Interface specification, enabling streaming data exchange between different libraries within a single process. The implementation provides both low-level C interface callbacks and a high-level C++ proxy class for managing ArrowArrayStream objects.

Key changes:

  • Added arrow_array_stream_proxy class for RAII-based stream management with push/pop operations
  • Implemented all mandatory ArrowArrayStream callbacks (get_schema, get_next, get_last_error, release)
  • Added check_compatible_schema function to validate schema compatibility when adding arrays to streams

Reviewed Changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
include/sparrow/c_stream_interface.hpp Defines the ArrowArrayStream C structure per the Arrow C Stream Interface specification
include/sparrow/arrow_interface/arrow_array_stream.hpp Declares stream callback functions and helper functions
include/sparrow/arrow_interface/arrow_array_stream/private_data.hpp Implements private data class managing schema and array queue for streams
include/sparrow/arrow_interface/arrow_array_stream_proxy.hpp Provides C++ proxy class with templated push/pop operations
src/arrow_interface/arrow_array_stream.cpp Implements stream callback functions
src/arrow_interface/arrow_array_stream_proxy.cpp Implements proxy class methods including lifecycle management
include/sparrow/arrow_interface/arrow_schema.hpp Declares new check_compatible_schema function and removes unused include
src/arrow_interface/arrow_schema.cpp Implements schema comparison logic with recursive checking and explicit null assignments
test/test_arrow_array_stream_proxy.cpp Comprehensive test suite covering stream operations and edge cases
test/test_arrow_schema.cpp Tests for check_compatible_schema covering various mismatch scenarios
test/CMakeLists.txt Adds new test file to build configuration
CMakeLists.txt Adds new source and header files, reorganizes file order alphabetically

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Alex-PLACET Alex-PLACET force-pushed the add_arrow_array_stream branch from d007e8a to 9d697cc Compare November 7, 2025 14:55
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.

1 participant