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: Binary File Full Functionality #11

Closed tom6311tom6311 closed 5 years ago

tom6311tom6311 commented 5 years ago

Brief

Features:

  1. Modify File::fetch_rows, File::delete_rows, File::modify_rows to support table and row level operations on binary files.
  2. Extract the logics of conversion between row and byte vectors to BytesCoder
    • BytesCoder::bytes_to_row converts a byte vector to a row of specified TableMeta (schema)
    • BytesCoder::row_to_bytes converts a row of specified TableMeta (schema) to a byte vector
  3. Remove dependency on .tsv files. The program can work normally without I/O of .tsv files
    • To run the program without tsv, go to .env and set ENABLE_TSV to false
  4. Design test cases for the functionalities above.
  5. Revise all the unwrap() in file.rs and bytescoder.rs that might let program crash