Prepare for garbage collection
This commit is contained in:
parent
0f98903759
commit
daa39850f0
3 changed files with 115 additions and 28 deletions
|
|
@ -5,6 +5,8 @@ use std::mem::size_of;
|
|||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct StoreHeader {
|
||||
pub table_folder: String, // This one is not encoded into the file
|
||||
|
||||
pub number_of_columns: usize,
|
||||
pub deleted_count: usize,
|
||||
pub total_count: usize,
|
||||
|
|
@ -35,7 +37,7 @@ impl StoreHeader {
|
|||
[0; StoreHeader::SIZE]
|
||||
}
|
||||
|
||||
pub async fn decode(result: &mut [u8]) -> Result<StoreHeader> {
|
||||
pub async fn decode(table_folder: &str, result: &mut [u8]) -> Result<StoreHeader> {
|
||||
let (number_of_columns, _) =
|
||||
decode::<usize>(&result[Self::NUMBER_OF_COLUMNS_OFFSET..Self::NUMBER_OF_COLUMNS_OFFSET + Self::NUMBER_OF_COLUMNS_SIZE])
|
||||
.map_err(|e| Error::DecodeError(DecodeErrorKind::StoreHeaderNumberOfColumns, e))?;
|
||||
|
|
@ -49,6 +51,7 @@ impl StoreHeader {
|
|||
decode::<Column>(&result[Self::PRIMARY_COLUMN_OFFSET..Self::PRIMARY_COLUMN_OFFSET + Self::PRIMARY_COLUMN_SIZE])
|
||||
.map_err(|e| Error::DecodeError(DecodeErrorKind::StoreHeaderPrimaryColumn, e))?;
|
||||
let header = StoreHeader {
|
||||
table_folder: table_folder.to_string(),
|
||||
number_of_columns,
|
||||
deleted_count,
|
||||
total_count,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue