This is my implementation of an SQL engine during an undergraduate direct
independent study, spring 2003.  I used Flex and Bison to define the SQL
grammar and parser generation.  Inner joins were implemented with
conditional predicates.  I called my engine Object Oriented because I
envisioned the engine storing and manipulating objects: images, sound, graphs,
etc.  The internal API was extensible to allow for other objects and
manipulation algorithms.  For example, store and manipulated images files
with an image processing algorithm.  In one semester's time I was only
able to implement the base SQL engine, image viewing, and graph generation
based on table data.