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

Function merge_multiple_segments

nodedb-columnar/src/compaction/tests.rs:110–135  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

108
109#[test]
110fn merge_multiple_segments() {
111 let seg1 = write_segment(50);
112 let seg2 = write_segment(30);
113
114 let mut del1 = DeleteBitmap::new();
115 del1.mark_deleted_batch(&[0, 1, 2]); // Delete 3 from seg1.
116
117 let del2 = DeleteBitmap::new(); // No deletes from seg2.
118
119 let result = compact_segments(
120 &[(&seg1, &del1), (&seg2, &del2)],
121 &test_schema(),
122 0,
123 None,
124 None,
125 )
126 .expect("merge");
127
128 assert_eq!(result.live_rows, 77); // 50-3 + 30 = 77.
129 assert_eq!(result.removed_rows, 3);
130 assert!(result.segment.is_some());
131
132 let new_seg = result.segment.as_ref().expect("segment");
133 let reader = SegmentReader::open(new_seg).expect("open");
134 assert_eq!(reader.row_count(), 77);
135}
136
137#[test]
138fn compact_preserves_string_data() {

Callers

nothing calls this directly

Calls 7

compact_segmentsFunction · 0.85
mark_deleted_batchMethod · 0.80
write_segmentFunction · 0.70
test_schemaFunction · 0.70
openFunction · 0.50
expectMethod · 0.45
as_refMethod · 0.45

Tested by

no test coverage detected