use crate::db::{catalog::collection::RawDocument, collection::Collection, operation_context::{ensure_capacity, OperationContext}, recovery_unit::RecoveryUnit, storage::start_storage::StartStorage};
pub fn insert(
op_ctx: &mut OperationContext,
col: Collection,
data: &[u8]
) -> usize {
col.insert_document(op_ctx, data)
}
pub fn insert_one_by_offset(
op_ctx: &mut OperationContext,
offset: usize,
raw_document: RawDocument
) {
let rc_unit = op_ctx.rc_unit();
ensure_capacity(&mut op_ctx.storage().borrow_mut(), offset + raw_document.len()).unwrap();
RawDocument::write_next_document(rc_unit.borrow_mut(), offset, 0);
RawDocument::write_content_length(rc_unit.borrow_mut(), offset, raw_document.content_length as usize);
RawDocument::write_content(rc_unit.borrow_mut(), offset, &raw_document.content);
}