Description
Ferry Table Algebra.
Description
The Ferry 2.0 Table Algebra library
The table algebra [2] is an intermediate language used by Ferry 2.0 [3] and DSH [4]. It forms the input for the pathfinder [1] optimiser that can translate it into SQL. The library exposes a monadic interface to construct algebraic plans, it automatically performs common sub-tree elimination so that the resulting plan is as small as possible and the optimiser can do it's work better. XML rendering is present and needed for interfacing with DSH-Pathfinder, and for debugging plans with the standalone Pathfinder.