stellarsql / StellarSQL

🚧 (Archived) StellarSQL: a minimal SQL DBMS written in Rust
https://stellarsql.github.io/StellarSQL/stellar_sql/
MIT License
86 stars 16 forks source link

Feature/file storage: DiskInterface and Index #21

Closed tom6311tom6311 closed 5 years ago

tom6311tom6311 commented 5 years ago

Brief

Features:

  1. Functions for file-related index operations:
    • DiskInterface::build_index_from_table_bin
    • DiskInterface::load_index
    • DiskInterface::save_index
  2. Functions for memory-related index operations:
    • Index::insert
    • Index::delete
  3. Implement Index ordering by raw bytes of primary key, rather than attr value with data type
    • RowPair: { row: u32, key_value: Vec\<u8> }
  4. Design test cases for the new functionalities
  5. Merge TableMeta of Index and File into one at DiskInterface
  6. Merge FileError and IndexError into DiskError
  7. Extract storage info structs and hierarchy checking logics to DiskInterface

Known Issues

todo[bot] commented 5 years ago

add table-level folders to storage hierarchy

https://github.com/tigercosmos/StellarSQL/blob/6e63d272a276fe6a7cfff64f35f22132c20cd063/src/storage/file.rs#L19-L24


This comment was generated by todo based on a TODO comment in 6e63d272a276fe6a7cfff64f35f22132c20cd063 in #21. cc @tom6311tom6311.