MCPcopy Create free account
hub / github.com/apache/paimon-rust / datums_to_binary_row

Function datums_to_binary_row

crates/paimon/src/spec/binary_row.rs:628–645  ·  view source on GitHub ↗

Build a serialized BinaryRow from optional Datum values. Returns empty vec if all values are None.

(datums: &[(&Option<Datum>, &DataType)])

Source from the content-addressed store, hash-verified

626/// Build a serialized BinaryRow from optional Datum values.
627/// Returns empty vec if all values are None.
628pub fn datums_to_binary_row(datums: &[(&Option<Datum>, &DataType)]) -> Vec<u8> {
629 if datums.iter().all(|(d, _)| d.is_none()) {
630 return vec![];
631 }
632 let arity = datums.len() as i32;
633 let mut builder = BinaryRowBuilder::new(arity);
634 for (pos, (datum_opt, data_type)) in datums.iter().enumerate() {
635 match datum_opt {
636 Some(datum) => {
637 builder.write_datum(pos, datum, data_type);
638 }
639 None => {
640 builder.set_null_at(pos);
641 }
642 }
643 }
644 builder.build_serialized()
645}
646
647/// Extract a Datum from an Arrow RecordBatch column at the given row index.
648pub fn extract_datum_from_arrow(

Calls 5

write_datumMethod · 0.80
build_serializedMethod · 0.80
iterMethod · 0.45
lenMethod · 0.45
set_null_atMethod · 0.45

Tested by

no test coverage detected