module Database.Relational.SqlSyntax.Aggregate (
aggregateColumnRef,
aggregatePowerKey, aggregateGroupingSet,
aggregateRollup, aggregateCube, aggregateSets,
aggregateKeyRecord, aggregateKeyElement, unsafeAggregateKey,
) where
import Database.Relational.SqlSyntax.Types
(AggregateBitKey (..), AggregateSet (..), AggregateElem (..),
AggregateColumnRef, AggregateKey (..), )
aggregateColumnRef :: AggregateColumnRef -> AggregateElem
aggregateColumnRef :: AggregateColumnRef -> AggregateElem
aggregateColumnRef = AggregateColumnRef -> AggregateElem
ColumnRef
aggregatePowerKey :: [AggregateColumnRef] -> AggregateBitKey
aggregatePowerKey :: [AggregateColumnRef] -> AggregateBitKey
aggregatePowerKey = [AggregateColumnRef] -> AggregateBitKey
AggregateBitKey
aggregateGroupingSet :: [AggregateElem] -> AggregateSet
aggregateGroupingSet :: [AggregateElem] -> AggregateSet
aggregateGroupingSet = [AggregateElem] -> AggregateSet
AggregateSet
aggregateRollup :: [AggregateBitKey] -> AggregateElem
aggregateRollup :: [AggregateBitKey] -> AggregateElem
aggregateRollup = [AggregateBitKey] -> AggregateElem
Rollup
aggregateCube :: [AggregateBitKey] -> AggregateElem
aggregateCube :: [AggregateBitKey] -> AggregateElem
aggregateCube = [AggregateBitKey] -> AggregateElem
Cube
aggregateSets :: [AggregateSet] -> AggregateElem
aggregateSets :: [AggregateSet] -> AggregateElem
aggregateSets = [AggregateSet] -> AggregateElem
GroupingSets
aggregateKeyRecord :: AggregateKey a -> a
aggregateKeyRecord :: AggregateKey a -> a
aggregateKeyRecord (AggregateKey (a
p, AggregateElem
_c)) = a
p
aggregateKeyElement :: AggregateKey a -> AggregateElem
aggregateKeyElement :: AggregateKey a -> AggregateElem
aggregateKeyElement (AggregateKey (a
_p, AggregateElem
c)) = AggregateElem
c
unsafeAggregateKey :: (a, AggregateElem) -> AggregateKey a
unsafeAggregateKey :: (a, AggregateElem) -> AggregateKey a
unsafeAggregateKey = (a, AggregateElem) -> AggregateKey a
forall a. (a, AggregateElem) -> AggregateKey a
AggregateKey