Skip to content

Table and B+ tree implementations of brute force, file based, primitive pseudo-database

Notifications You must be signed in to change notification settings

michaelhollman/raik378h-project1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ee38b15 · Mar 15, 2014

History

89 Commits
Mar 15, 2014
Mar 13, 2014
Mar 14, 2014
Mar 14, 2014
Mar 14, 2014
Mar 14, 2014
Mar 13, 2014
Mar 13, 2014
Mar 14, 2014
Mar 2, 2014
Mar 14, 2014
Mar 2, 2014
Mar 13, 2014
Mar 13, 2014
Mar 13, 2014
Feb 28, 2014
Mar 14, 2014
Mar 14, 2014
Mar 14, 2014
Mar 14, 2014
Mar 15, 2014
Mar 14, 2014
Mar 14, 2014
Mar 15, 2014
Mar 15, 2014
Mar 15, 2014
Mar 15, 2014
Mar 15, 2014
Feb 27, 2014
Mar 2, 2014
Mar 3, 2014
Mar 14, 2014
Mar 14, 2014
Mar 2, 2014
Mar 14, 2014
Mar 2, 2014
Mar 14, 2014
Mar 2, 2014

Repository files navigation

Raik378h
Project 1

Team Members:

Michael Hollman
Cassey Lottman
Scott Johnson
Darren Johnson

- - - - - - - - - -

Brief description of files:

record.h /.c		- Slightly modified provided files from assignment 1.
user.h /.c		- Model for user objects.
message.h /.c		- Model for message objects, which reference user,
				timestamp, and datestamp objects.
city.h /.c		- Model for city objects, which reference a state object.
state.h /.c		- Model for state objects.
timestamp.h /.c		- Model for timestamp objects.
datestamp.h /.c		- Model for datestamp objects.
file_count.h /.c	- Helper model for keeping track of the number of files
				generated by make_tables.
make_tables.h /.c	- Program to generate user, message, city, state,
				timestamp, and datestamp files. This program
				must be run first!
sort_tables.h /.c	- Program to read in generated files, sort them based on
				comparisons defined in model files, then re-
				writes files accordingly.

emancipate_tables.c	- Helper program to clean up all generated files.
emancipate_bplus.c	- Helper program to clean up all generated files.

query_a.c		- Program to execute query A for the project.
query_b.c		- Program to execute query B for the project.
query_c.c		- Program to execute query C for the project.
query_d.c		- Program to execute query D for the project.

bplus_query_a.c		- Program to execute query A for the project against B+ trees.
bplus_query_b.c		- Program to execute query B for the project against B+ trees.
bplus_query_c.c		- Program to execute query C for the project against B+ trees.
bplus_query_d.c		- Program to execute query D for the project against B+ trees.

bplus_roots.h / .c      - Helper file to keep track of B+ tree roots.
int_node.h / .c         - An individual node of a B+ tree.
make_bplus_trees.h / .c - Program to generate the B+ trees.


- - - - - - - - - -

Notes:

The included makefile will compile all of the programs for this assignment.

The only program that requires any arguments is make_tables. All other programs rely on the file_count.dat file generated by make_tables. Therefore, make_tables **must** be run first.

make_tables and make_bplus_trees will dump created files in obviously named subdirectories. This is to avoid bogging down the filesystem by having over 2 million files in a single directory.

To change the fanout of the B+ trees, change the defined constant in int_node.h and recompile the programs.