[chore] Implement datatype conversion for all types in arrow.rs#81
Conversation
There was a problem hiding this comment.
Pull request overview
This PR implements Arrow datatype conversions for previously unimplemented Fluss types (Decimal, Time, Timestamp, TimestampLTz, Bytes, Binary) in the to_arrow_type function. This completes the type mapping functionality needed for Arrow serialization/deserialization, addressing issue #78.
Key changes:
- Adds Decimal128 conversion with precision/scale mapping
- Implements Time/Timestamp type conversions with precision-based TimeUnit selection
- Adds Binary and Bytes type mappings to Arrow binary types
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| .expect("length exceeds i32::MAX"), | ||
| ), | ||
| DataType::Array(arrow_type) => ArrowDataType::List( | ||
| arrow_schema::Field::new_list_field(to_arrow_type(arrow_type.get_element_type()), true) |
There was a problem hiding this comment.
nit:
consider nullable of arrow_type
| let key_type = to_arrow_type(map_type.key_type()); | ||
| let value_type = to_arrow_type(map_type.value_type()); | ||
| let entry_fields = vec![ | ||
| arrow_schema::Field::new("key", key_type, false), |
|
@beryllw I append a small fix. Will merge if ci pass |
Thanks for fixing the issue I overlooked. |
Purpose
Linked issue: close #78
Brief change log
Tests
API and Format
Documentation