Skip to content
Snippets Groups Projects
Unverified Commit cfe66238 authored by Cheuk Pui Lam's avatar Cheuk Pui Lam
Browse files

fix(client-brc): make sure hashtable is fixed

parent 62d2b069
No related branches found
No related tags found
No related merge requests found
pub mod brc_tree {
use std::io::Write;
use indexmap::IndexMap;
#[derive(Debug, Clone)]
......@@ -96,5 +98,17 @@ pub mod brc_tree {
}
hm
}
pub fn write_structure(&self, mut file: &std::fs::File) -> anyhow::Result<()>{
match &self.0 {
Some(node) => {
file.write(format!("{},{};", node.min, node.max).as_bytes())?;
node.left.write_structure(file)?;
node.right.write_structure(file)?;
}
None => {}
}
Ok(())
}
}
}
......@@ -82,11 +82,12 @@ pub fn init(
.push(record.iter().collect::<Vec<&str>>().join(","));
}
debug!("{:?}", hm);
let hashtable = brc_tree::from_sorted_list(hm).to_hm();
hm.sort_keys();
let hashtable = brc_tree::from_sorted_list(hm);
let mut json: HashMap<String, String> = HashMap::new();
let mut file = std::fs::File::create("brc_table.partitions")?;
for (key, value) in hashtable.iter() {
file.write(format!("{},{};", key.0, key.1).as_bytes())?;
let file = std::fs::File::create("brc_table.partitions")?;
hashtable.write_structure(&file)?;
for (key, value) in hashtable.to_hm().iter() {
for (counter, record) in value.iter().enumerate() {
let encrypted = encrypt(&enc_key, record.to_string())?;
let prfd_key = prf(&prf_key, format!("{:?}", key))?;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment