GeorgeLeePatterson opened a new pull request, #320: URL: https://github.com/apache/arrow-js/pull/320
## What's Changed This PR adds read support for BinaryView and Utf8View types (Arrow format 1.4.0+), enabling arrow-js to consume IPC data from systems like InfluxDB 3.0 and DataFusion that use view types for efficient string handling. ## Implementation Details ### Core Type Support - Added BinaryView and Utf8View type classes with view struct layout constants - Type enum entries: Type.BinaryView = 23, Type.Utf8View = 24 - Data class support for variadic buffer management ### Visitor Pattern - Get visitor: Implements proper view semantics (16-byte structs, inline/out-of-line data) - Set visitor: Marks as immutable (read-only) - VectorLoader: Reads from IPC format with variadicBufferCounts - TypeComparator, TypeCtor: Type system integration - JSON visitors: Explicitly unsupported (throws error) ### FlatBuffers - Generated schema files for BinaryView, Utf8View, ListView, LargeListView - Introduced `scripts/update_flatbuffers.sh` to regenerate from Arrow format definitions ## What Works - Reading BinaryView/Utf8View columns from Arrow IPC files - Accessing values with proper inline/out-of-line handling - Variadic buffer management - Type checking and comparison ## Testing - [X] Unit tests for BinaryView and Utf8View (test/unit/ipc/view-types-tests.ts) - [X] Tests verify both inline (≤12 bytes) and out-of-line data handling - [X] TypeScript compiles without errors - [X] All existing tests pass - [X] Verified against DataFusion 50.0.3 integration, not included in this PR (enables native view types, removing need for configuration change in DataFusion's SessionConfig) ## Future Work (Separate PRs) - Builders for write operations - ListView/LargeListView type implementation - Additional test coverage Closes #311 Related to #225 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
