xxx0624 / 5300-Jackal

DB Relation Manager project for CPSC5300/4300 at Seattle U, Spring 2020

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

5300-Jackal

DB Relation Manager project for CPSC5300/4300 at Seattle U, Spring 2020;

Milestone 3/4 Authors

Jietao Zhan and Thomas Ficca

Milestone 3

Functions for CREATE TABLE, DROP TABLE, SHOW TABLE and SHOW COLUMNS have been added, we need to resolve some compiler issues before we can complete testing.

Milestone 4

Functions for CREATE INDEX, SHOW INDEX, and DROP INDEX have been added, Milestone 3 works perfectly now, unfortunately problems with CREATE INDEX kept us from fully testing Milestone 4

Milestone5

create table goober (x integer, y integer, z integer)
insert into goober (z,y,x) VALUES (9,8,7)
select * from goober

Milestone6

Implementation of B+ Tree Index -- just insert and lookup.

#Handover video for Milestone4 https://seattleu.instructuremedia.com/embed/f63a4267-6299-4ac7-be2c-9195aab7b987

Tags

  • Milestone1 is playing around with the AST returned by the HyLine parser and general setup of the command loop.
  • Milestone2h has the instructor-provided files for Milestone 2. (Note that heap_storage.cpp is just a stub.)
  • Milestone2 is the instructor's attempt to complete the Milestone 2 assignment.
  • Milestone3_prep has the instructor-provided files for Milestone 3.
  • Milestone4_prep has the instructor-provided files for Milestone 4.
  • Milestone6 implemented the b-tree index.

The students' work is in SQLExec.cpp labeled with FIXME.

Unit Tests

Program is started by ./sql5300 ../data

There are some tests for SlottedPage and HeapTable. They can be invoked from the SQL prompt:

SQL> test

Be aware that failed tests may leave garbage Berkeley DB files lingering in your data directory. If you don't care about any data in there, you are advised to just delete them all after a failed test.

$ rm -f data/*

Valgrind (Linux)

To run valgrind (files must be compiled with -ggdb):

$ valgrind --leak-check=full --suppressions=valgrind.supp ./sql5300 data

Note that we've added suppression for the known issues with the Berkeley DB library vis-à-vis valgrind.

About

DB Relation Manager project for CPSC5300/4300 at Seattle U, Spring 2020

License:MIT License


Languages

Language:C++ 98.5%Language:Makefile 1.3%Language:C 0.2%