OPTGEN is a tool for writing query optimizers for both relational and object-oriented databases. It is based on a highly declarative language, OPTL, in which you can specify query transformation rules as rules in an attribute grammar. You can find more information in the following manuals:
Before you install OPTGEN, you need to install the GC garbage collector (directions: after you copy GC in your home directory and extract the files, you need to execute both make and make c++ to create the C++ garbage collector).
The OPTGEN source files (in tar form) can be retrieved from here (latest version on 8/7/98). They have been tested on Linux and Solaris. After you copy this file in your home directory, you extract the files using:
tar xvf opt.tarThis will create four directories: optgen, sqlopt, oqlopt, and manual. Then you edit the first lines of the Makefile of each directory to point at your local directories. Finally you execute the following unix commands:
cd optgen make cd ../sqlopt make sql <company.sql
The last command builds the company database as it is described in Elmasri-Navathe's book. To test this database, execute the command:
sql <queries.sqlTo install the OQL optimizer, you do the following:
cd ../oqlopt make oql <test.oql
The last command tests the OQL optimizer.
The benchmarks of the query unnesting algorithm, which is a major component of the OQL optimizer, are described here.
Last modified: 8/7/98 by Leonidas Fegaras