TableAlgebra-0.7.1: src/Database/Ferry/Algebra.hs
{-|
This package provides a convenient interface to construct Table Algebra
plans that can be dealt with by Pathfinder
(http://www-db.informatik.uni-tuebingen.de/research/pathfinder).
A describtion of the algebra can be found at:
http://dbworld.informatik.uni-tuebingen.de/projects/pathfinder/wiki/Logical_Algebra
This module only provides a subset of the complete algebra.
-}
module Database.Ferry.Algebra (
AlgPlan,
union, attach, proj, getLoop, rownum, rownum', eqJoin, rank, eqTJoin, distinct, rowrank, cast, difference, aggr,
select, posSelect, dbTable, notC, cross, oper, emptyTable, tag, litTable, litTable',
withBinding, withContext, getGamma, fromGam,
nat, int, bool, double, string,
natT, intT, surT, boolT, doubleT, stringT,
SortDir(..), AggrType(..),
Column(..), Columns,
ATy(..), AVal(),
SchemaInfos, KeyInfos, AlgNode, GraphM, Gam,
initLoop, runGraph, ProjPair, ProjInf,
module Database.Ferry.Algebra.Monadic.Create)where
import Database.Ferry.Algebra.Data.Algebra
import Database.Ferry.Algebra.Data.Create
import Database.Ferry.Algebra.Data.GraphBuilder
import Database.Ferry.Algebra.Monadic.Create