MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / extract_float64

Function extract_float64

nodedb-strict/src/arrow_extract.rs:123–149  ·  view source on GitHub ↗
(
    decoder: &TupleDecoder,
    tuples: &[&[u8]],
    col_idx: usize,
    n: usize,
)

Source from the content-addressed store, hash-verified

121}
122
123fn extract_float64(
124 decoder: &TupleDecoder,
125 tuples: &[&[u8]],
126 col_idx: usize,
127 n: usize,
128) -> Result<ArrayRef, StrictError> {
129 let (null_buf, null_count) = build_null_buffer(decoder, tuples, col_idx)?;
130 let mut values = Vec::with_capacity(n);
131
132 for tuple in tuples {
133 if let Some(raw) = decoder.extract_fixed_raw(tuple, col_idx)? {
134 values.push(f64::from_le_bytes(
135 raw[..8]
136 .try_into()
137 .expect("extract_fixed_raw guarantees exact size"),
138 ));
139 } else {
140 values.push(0.0);
141 }
142 }
143
144 let array = Float64Array::new(
145 values.into(),
146 if null_count > 0 { Some(null_buf) } else { None },
147 );
148 Ok(Arc::new(array))
149}
150
151fn extract_bool(
152 decoder: &TupleDecoder,

Callers 1

extract_column_to_arrowFunction · 0.85

Calls 4

build_null_bufferFunction · 0.85
extract_fixed_rawMethod · 0.80
pushMethod · 0.45
expectMethod · 0.45

Tested by

no test coverage detected