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 Create/Append #9

Closed tom6311tom6311 closed 5 years ago

tom6311tom6311 commented 5 years ago

Brief

Features:

  1. Add attr_offset_ranges to TableMeta struct, which specifies the [start, end] index of each attribute value of each row stored in the binary file.
  2. Modify File::create_table, File::drop_table, File::append_rows to support table and row level operations on binary files.
  3. Implement BytesCoder to perform conversion between attributes value and byte vectors
    • BytesCoder::from_bytes converts a byte vector to string value of specified datatype
    • BytesCoder::to_bytes converts a string value of specified datatype to a byte vector
  4. Design test cases for the functionalities above.