010ric / tinystore

Small exercise from a university course @TUM (Implementation of main memory database systems)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Small exercise from a university course @TUM (Implementation of main memory database systems)

(Programming language used was C++ with C++17)

In this test, you should implement the storage backend tinystore for a relation with three attributes (a, b, and c). Each row is dynamically allocated on the heap. For attribute a, the relation maintains a hash index which stores pointers to the rows. Rows with the same hash value are linked using the next field and can only be accessed through the hash table (to scan all rows, one has to iterate through the hash table). This storage format is used in Hekaton, the main-memory engine of Microsoft SQL Server 2014.

Implement the constructor, destructor, Insert, Lookup and Remove functions of the Relation and make yourself familar with GitLab.

For each commit, our build agents will execute the build script which runs tests and a linter. The linter will check if your code (roughly) conforms to the Google C++ style guide.

Relevant files:

Fork this project into your namespace and commit your solution. The total code required is less than 50 lines.

About

Small exercise from a university course @TUM (Implementation of main memory database systems)


Languages

Language:CMake 50.5%Language:C++ 49.5%