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

Function write_test_segment

nodedb-columnar/src/reader/block_decode.rs:310–336  ·  view source on GitHub ↗
(rows: usize)

Source from the content-addressed store, hash-verified

308 use crate::writer::SegmentWriter;
309
310 fn write_test_segment(rows: usize) -> Vec<u8> {
311 let schema = ColumnarSchema::new(vec![
312 ColumnDef::required("id", ColumnType::Int64).with_primary_key(),
313 ColumnDef::required("name", ColumnType::String),
314 ColumnDef::nullable("score", ColumnType::Float64),
315 ])
316 .expect("valid");
317
318 let mut mt = ColumnarMemtable::new(&schema);
319 for i in 0..rows {
320 mt.append_row(&[
321 Value::Integer(i as i64),
322 Value::String(format!("user_{i}")),
323 if i % 5 == 0 {
324 Value::Null
325 } else {
326 Value::Float(i as f64 * 0.5)
327 },
328 ])
329 .expect("append");
330 }
331
332 let (schema, columns, row_count) = mt.drain();
333 SegmentWriter::plain()
334 .write_segment(&schema, &columns, row_count, None)
335 .expect("write")
336 }
337
338 // ── ResolvedColumnCodec reader tests ──────────────────────────────────────
339

Callers 7

read_int64_columnFunction · 0.70
read_string_columnFunction · 0.70
read_float64_with_nullsFunction · 0.70
read_multiple_columnsFunction · 0.70
column_out_of_rangeFunction · 0.70

Calls 4

append_rowMethod · 0.80
expectMethod · 0.45
drainMethod · 0.45
write_segmentMethod · 0.45

Tested by 7

read_int64_columnFunction · 0.56
read_string_columnFunction · 0.56
read_float64_with_nullsFunction · 0.56
read_multiple_columnsFunction · 0.56
column_out_of_rangeFunction · 0.56