/bustub

The BusTub Relational Database Management System (Educational)

Primary LanguageC++MIT LicenseMIT

BusTub Logo


Build Status CircleCI

BusTub is a relational database management system built at Carnegie Mellon University for the Introduction to Database Systems (15-445/645) course. This system was developed for educational purposes and should not be used in production environments.

Build

Linux / Mac

To ensure that you have the proper packages installed on your machine, run sudo build_support/packages.sh. Then run

mkdir build
cd build
cmake ..
make

Debug mode:

cmake -DCMAKE_BUILD_TYPE=Debug ..
make

Testing

cd build
make check-tests

TODO

  • update: when size exceed that page, table heap returns false and delete/insert tuple (rid will change and need to delete/insert from index)
  • delete empty page from table heap when delete tuple
  • implement delete table, with empty page bitmap in disk manager (how to persistent?)
  • index: unique/dup key, variable key