clippies resolved, formatted, readme fixed
This commit is contained in:
parent
149a7a7110
commit
5e2536e207
5 changed files with 13 additions and 12 deletions
|
|
@ -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(())
|
||||
}
|
||||
```
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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(())
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue