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]

Reply via email to