Cleanup
This commit is contained in:
parent
c0a3ee08b8
commit
1618bffb85
6 changed files with 22 additions and 152 deletions
|
|
@ -2,7 +2,6 @@ use tokio::io::{AsyncReadExt, AsyncWriteExt};
|
|||
use tokio::fs::{File, OpenOptions, DirBuilder};
|
||||
use tokio::fs;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::marker::PhantomData;
|
||||
use bincode::{Decode, Encode};
|
||||
|
||||
use crate::error::Error;
|
||||
|
|
@ -25,9 +24,6 @@ pub struct Store<T> {
|
|||
|
||||
pub type StoreIndexes<T> = Vec<Option<Index<T, FilePosition>>>;
|
||||
|
||||
pub type PositionOfValue = FilePosition;
|
||||
pub type PositionOfRow = FilePosition;
|
||||
|
||||
|
||||
//===Store===
|
||||
pub async fn store_exists(table_folder: &str) -> Result<bool> {
|
||||
|
|
@ -197,6 +193,7 @@ impl <T>Store<T> {
|
|||
}
|
||||
|
||||
// For debugging.
|
||||
#[allow(dead_code)]
|
||||
pub async fn read_all_bytes(&mut self) -> std::result::Result<Vec<u8>, std::io::Error>
|
||||
where T: Send + Sync
|
||||
{
|
||||
|
|
@ -205,99 +202,3 @@ impl <T>Store<T> {
|
|||
Ok(bytes)
|
||||
}
|
||||
}
|
||||
|
||||
// ===Store Header===
|
||||
|
||||
// ====Entry====
|
||||
|
||||
|
||||
// impl StorageEngine for ColumnStore {
|
||||
// async fn append(&mut self, id: Index, entry: Row<T>) -> Result<???, Error>
|
||||
|
||||
// async fn get_all(&self) -> ???
|
||||
// async fn get_eq(&self, column: Column, value: T) -> ???
|
||||
|
||||
// async fn delete_all(&mut self)
|
||||
// async fn delete_eq(&mut self, column: Column, value: T) -> ???
|
||||
// }
|
||||
|
||||
// struct Error {
|
||||
// }
|
||||
|
||||
|
||||
// Selected(
|
||||
// &'a TableSchema,
|
||||
// ColumnSelection,
|
||||
// TODO: Don't do the Box(dyn Iterator<...>)
|
||||
// you'll have a concrete implementation of Iterator, and that's what you'll use
|
||||
// Box<dyn Iterator<Item = RestrictedRow> + 'a + Send>,
|
||||
// ),
|
||||
|
||||
|
||||
|
||||
// #[async_trait]
|
||||
// trait StorageEngine<T>
|
||||
// where T: Encode + Decode
|
||||
// {
|
||||
// async fn append(&mut self, id: Index, entry: Row<T>) -> Result<???, Error>
|
||||
|
||||
// async fn get_all(&self) -> ???
|
||||
// async fn get_eq(&self, column: Column, value: T) -> ???
|
||||
|
||||
// async fn delete_all(&mut self)
|
||||
// async fn delete_eq(&mut self, column: Column, value: T) -> ???
|
||||
// }
|
||||
|
||||
// #[cfg(test)]
|
||||
// mod tests {
|
||||
// #[test]
|
||||
// fn hello_test() {
|
||||
// assert!(true);
|
||||
// }
|
||||
// }
|
||||
|
||||
// let sroage_engine = STorageEngine::new("users")
|
||||
// let mut next_position = 0
|
||||
|
||||
|
||||
// type FilePosition = usize;
|
||||
|
||||
|
||||
// type StoreFile = Vec<Entry>;
|
||||
// type IndexFile = ???
|
||||
|
||||
// struct IndexEntry {
|
||||
|
||||
// }
|
||||
|
||||
|
||||
// #00000 [false, u26, "Arnold", "schwarzenegger", "gettothechoppa@yahoo.com"] #5120000 [true, u27, "Arnold", "Vosloo", "avosloo@aol.com"]
|
||||
// #00000 [true, u27, "Arnold", "Vosloo", "avosloo@aol.com"]
|
||||
|
||||
|
||||
// at #00000 512 kb deleted,
|
||||
// ...
|
||||
|
||||
|
||||
|
||||
|
||||
// [(u26, [#00000]), (u27, [#5120000])]
|
||||
// [("Arnold", [#000000, #5120000]), ("Arnfsdaf", []), ("Adasdsd", []), ("Bdsad", [])]
|
||||
// // basically always keep indexes in memory and on write always sync on disk
|
||||
|
||||
|
||||
|
||||
|
||||
// CREATE INDEX usersname ON "users" (name);
|
||||
|
||||
// INSERT INTO users (id, name, surname, email) VALUES (u26, "Arnold", "schwarzenegger", "gettothechoppa@yahoo.com");
|
||||
// INSERT INTO users (id, name, surname, email) VALUES (u27, "Arnold", "Vosloo", "avosloo@aol.com");
|
||||
|
||||
|
||||
// SELECT * FROM users WHERE id=u26;
|
||||
|
||||
// SELECT * FROM users WHERE name="Arnold";
|
||||
|
||||
|
||||
// SELECT * FROM cars;
|
||||
// DELETE FROM users WHERE name="Arnold";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue