clippies resolved, formatted, readme fixed

This commit is contained in:
Shautvast 2023-03-30 21:28:35 +02:00
parent 149a7a7110
commit 5e2536e207
5 changed files with 13 additions and 12 deletions

View file

@ -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(())
}
```

View file

@ -37,8 +37,7 @@ impl DatabaseBuilder {
self.current_page.key = record.rowid; //clone?
let bytes: Vec<u8> = 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;
}

View file

@ -33,7 +33,7 @@ impl From<DatabaseBuilder> for Database {
}
}
pub fn write<W: Write>(database: Database, mut writer: BufWriter<W>) -> Result<(), Error> {
pub fn write_sqlite<W: Write>(database: Database, mut writer: BufWriter<W>) -> 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<W: Write>(database: Database, mut writer: BufWriter<W>) -> Result<(
set_childrefs_write(table_root_page, &mut writer, 3)
}
fn set_childrefs_write<W: Write>(page: &mut Page, writer: &mut BufWriter<W>, mut page_counter: u32) -> Result<(), Error> {
fn set_childrefs_write<W: Write>(
page: &mut Page,
writer: &mut BufWriter<W>,
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<W: Write>(page: &mut Page, writer: &mut BufWriter<W>, 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;

View file

@ -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(())
}
}

View file

@ -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 {