diff --git a/README.md b/README.md index 0907e5d..441ac89 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,8 @@ # Sqlighte.Rs * rust version of https://gitlab.com/sander-hautvast/sqlighter -* still work in progress -Creating a database will be as simple as: +Creating a database is as simple as: ```rust fn test_build() -> Result<(), Error> { let mut builder = Builder::new(); @@ -18,7 +17,7 @@ fn test_build() -> Result<(), Error> { let database: Database = builder.into(); let file = File::create("foo.db")?; let writer = BufWriter::new(file); - write(database, writer)?; + write_sqlite(database, writer)?; Ok(()) } ``` \ No newline at end of file diff --git a/src/builder.rs b/src/builder.rs index d51c3b5..5a14828 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -37,8 +37,7 @@ impl DatabaseBuilder { self.current_page.key = record.rowid; //clone? let bytes: Vec = record.into(); self.current_page.put_bytes_bw(&bytes); - self.current_page - .put_u16(self.current_page.bw_position as u16); + self.current_page.put_u16(self.current_page.bw_position); self.n_records_on_current_page += 1; } diff --git a/src/database.rs b/src/database.rs index ba0cb41..dc81042 100644 --- a/src/database.rs +++ b/src/database.rs @@ -33,7 +33,7 @@ impl From for Database { } } -pub fn write(database: Database, mut writer: BufWriter) -> Result<(), Error> { +pub fn write_sqlite(database: Database, mut writer: BufWriter) -> Result<(), Error> { let mut current_top_layer = database.leaf_pages; let mut n_pages = current_top_layer.len(); while current_top_layer.len() > 1 { @@ -48,7 +48,11 @@ pub fn write(database: Database, mut writer: BufWriter) -> Result<( set_childrefs_write(table_root_page, &mut writer, 3) } -fn set_childrefs_write(page: &mut Page, writer: &mut BufWriter, mut page_counter: u32) -> Result<(), Error> { +fn set_childrefs_write( + page: &mut Page, + writer: &mut BufWriter, + mut page_counter: u32, +) -> Result<(), Error> { if let PageType::Interior = page.page_type { page.fw_position = page::POSITION_CELL_COUNT; page.put_u16((page.children.len() - 1) as u16); @@ -67,7 +71,7 @@ fn set_childrefs_write(page: &mut Page, writer: &mut BufWriter, mut writer.write_all(&page.data)?; - for child in page.children.iter_mut() { + for child in &mut page.children { set_childrefs_write(child, writer, page_counter)?; } Ok(()) @@ -213,4 +217,3 @@ pub const TABLE_LEAF_PAGE: u8 = 0x0d; pub const TABLE_INTERIOR_PAGE: u8 = 0x05; const INDEX_LEAF_PAGE: u8 = 0x0a; const INDEX_INTERIOR_PAGE: u8 = 0x02; - diff --git a/src/lib.rs b/src/lib.rs index c6ba83b..cc68f07 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -10,7 +10,7 @@ mod varint; #[cfg(test)] mod tests { use crate::builder::DatabaseBuilder; - use crate::database::{write, Database}; + use crate::database::{write_sqlite, Database}; use crate::record::Record; use crate::values; use std::fs::File; @@ -28,7 +28,7 @@ mod tests { let database: Database = builder.into(); let file = File::create("foo.db")?; let writer = BufWriter::new(file); - write(database, writer)?; + write_sqlite(database, writer)?; Ok(()) } } diff --git a/src/record.rs b/src/record.rs index 49506b6..f83a539 100644 --- a/src/record.rs +++ b/src/record.rs @@ -1,5 +1,5 @@ use crate::database::SchemaRecord; -use crate::values::{Value, integer, string}; +use crate::values::{integer, string, Value}; use crate::varint; pub struct Record {