SimpleDB re-written in Rust.
$ git clone https://github.com/mnogu/simpledb-rs.git
$ cd simpledb-rs
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.21s
Running `target/debug/main`
Connect> foo
creating new database
transaction 1 committed
SQL> create table STUDENT(SId int, SName varchar(10), MajorId int, GradYear int)
transaction 2 committed
0 records processed
SQL> insert into STUDENT(SId, SName, MajorId, GradYear) values (1, 'joe', 10, 2021)
transaction 3 committed
1 records processed
SQL> select SId, SName, MajorId, GradYear from student
sid sname majorid gradyear
-----------------------------------
1 joe 10 2021
transaction 4 committed
$ cargo run --bin server
Finished dev [unoptimized + debuginfo] target(s) in 0.14s
Running `target/debug/server`
creating new database
transaction 1 committed
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.13s
Running `target/debug/main`
Connect> //[::1]
SQL> create table STUDENT(SId int, SName varchar(10), MajorId int, GradYear int)
0 records processed
SQL> insert into STUDENT(SId, SName, MajorId, GradYear) values (1, 'joe', 10, 2021)
1 records processed
SQL> select SId, SName, MajorId, GradYear from student
sid sname majorid gradyear
-----------------------------------
1 joe 10 2021
- Disk and File Management
- Memory Management
- Transaction Management
- Record Management
- Metadata Management
- Query Processing
- Parsing
- Planning
- JDBC Interfaces
- Uses gRPC and Protocol Buffers instead
- Indexing
- Materialization and Sorting
- Effective Buffer Utilization
- Query Optimization