fresh-borzoni opened a new pull request, #330:
URL: https://github.com/apache/fluss-rust/pull/330

   ## Summary
   
     closes #87
   
    Replace value-copying FFI layer with opaque Rust-backed types for zero-copy 
reads and cheaper writes in CPP bindings.                                       
                                                                                
       
                     
     ## Changes                                                                 
                                                                                
                                                                                
        
                     
     - **Opaque types**: replace 
`Datum`/`FfiDatum`/`FfiGenericRow`/`FfiScanRecord` copying infrastructure with 
three opaque Rust types — `GenericRowInner` (writes), `ScanResultInner` (scan 
reads), `LookupResultInner` (lookup reads)
     - **Zero-copy reads**: new `RowView` class borrows directly from Rust scan 
results; `LookupResult` class replaces `(bool found, GenericRow out)` pattern
     - **`ScanRecord` metadata**: add `change_type` and `partition_id` fields, 
matching Python client
     - **`AppendArrowBatch`**: write Arrow RecordBatch directly via C Data 
Interface
     - **`custom_properties`**: support custom table properties in 
`TableDescriptor` and `TableInfo`
     - **`SetLogFormat` / `SetKvFormat`**: convenience builder methods for 
table descriptor
     - **`TypeId::Char` / `TypeId::Binary`**: new type support with `DataType` 
factory methods
     - **Rename `DecimalToString` -> `GetDecimalString`**: consistent getter 
naming
     - **Remove `DatumType` enum and `Datum` struct**: replaced entirely by 
`TypeId` and opaque types
     - **Name-based getters via CRTP `NamedGetters` mixin**: shared across 
`RowView` and `LookupResult`
     - **Examples updated**: demonstrate new APIs including Arrow batch writes, 
name-based getters, and `LookupResult`
   
   


-- 
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