Introduction

Accomplishments: the End Product

The Minirel II system is not yet completed. As of May 15, simple joins could be performed, indicies created and destroyed, relations created and destroyed, and optimization observed. These systems are not yet integrated with one another, however.

The concurrency side of Minirel II has not been introduced yet. Once the single user version is running, the cooncurrency subsystems can be added.

Status of Integration

All work is done on HPs. Currently, two different compilers are being used in the integratin process. It is recommended that the project switch to Suns as the HPs are far too slow for this work.

Parser - Optimizer - Relational Operators - Heap Files: Linked together. Faked relations allow testing of joins. Catalog information is needed before the relational operators can be tested as a true query run through the parser / optimizer / planner.

Operating System - Catalogs - HeapFiles - Linear hashing - Buffer Manager - Disk Space Management: These systems are all linked together. The utilities for creating indicies, relations, and destroying them have been implemented. The transaction logic that is needed for the multi-user version has been implemented.

Next Step

The next step for the integration process is to integrate heap files, access methods and the relational operators. Once this is done, the utlities can create a database on which to perform simple queries.
Compiler incompatibilities need to be addressed. Currently the optimizer can be compiled only using version 2.6.0 of GNU g++. An attempt at compiling it using 2.6.2 failed.
BTrees need to be integrated.

Multi-user

The multi-user systems have been tested together far more than the single-user systems, so it is hoped that their integration will be straight forward. The teams that wrote the multi-user code have a good grasp of the problems at had and it seems that they have addressed them appropriately.