Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 0 additions & 28 deletions rust/segment/src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -497,34 +497,6 @@ impl MaterializeLogsResult {
index: 0,
}
}

/// Create a MaterializeLogsResult from log records for testing purposes.
/// Each log record is treated as a new insertion with a unique offset_id.
///
/// # Note
/// This is primarily intended for testing and should not be used in production code.
/// Use the `materialize_logs` function instead for proper log materialization.
pub fn from_logs_for_test(logs: Chunk<LogRecord>) -> Result<Self, LogMaterializerError> {
let mut materialized = Vec::new();
for (index, (log_record, _)) in logs.iter().enumerate() {
let offset_id = (index + 1) as u32;
let mut mat_record =
MaterializedLogRecord::from_log_record(offset_id, index, log_record)?;

// Override the operation for delete records
if log_record.record.operation == Operation::Delete {
mat_record.final_operation = MaterializedLogOperation::DeleteExisting;
mat_record.final_document_at_log_index = None;
mat_record.final_embedding_at_log_index = None;
}

materialized.push(mat_record);
}
Ok(Self {
logs,
materialized: Chunk::new(materialized.into()),
})
}
}

// IntoIterator is implemented for &'a MaterializeLogsResult rather than MaterializeLogsResult because the iterator needs to hand out values with a lifetime of 'a.
Expand Down
Loading
Loading