Safe Haskell | None |
---|---|
Language | Haskell2010 |
Modular finally tagless extension of SQL99 and SQL92 syntaxes for various SQL2003 core and optional features.
- module Database.Beam.Backend.SQL.SQL99
- class IsSql92FromSyntax from => IsSql2003FromSyntax from where
- type Sql2003FromSampleMethodSyntax from :: *
- class IsSql92OrderingSyntax ord => IsSql2003OrderingElementaryOLAPOperationsSyntax ord where
- class (IsSql99ExpressionSyntax expr, IsSql2003WindowFrameSyntax (Sql2003ExpressionWindowFrameSyntax expr)) => IsSql2003ExpressionSyntax expr where
- type Sql2003ExpressionWindowFrameSyntax expr :: *
- class IsSql2003ExpressionSyntax expr => IsSql2003ExpressionElementaryOLAPOperationsSyntax expr where
- class IsSql2003ExpressionSyntax expr => IsSql2003ExpressionAdvancedOLAPOperationsSyntax expr where
- class IsSql99DataTypeSyntax dataType => IsSql2003BinaryAndVarBinaryDataTypeSyntax dataType where
- class IsSql2003WindowFrameBoundsSyntax (Sql2003WindowFrameBoundsSyntax frame) => IsSql2003WindowFrameSyntax frame where
- type Sql2003WindowFrameExpressionSyntax frame :: *
- type Sql2003WindowFrameOrderingSyntax frame :: *
- type Sql2003WindowFrameBoundsSyntax frame :: *
- class IsSql2003WindowFrameBoundSyntax (Sql2003WindowFrameBoundsBoundSyntax bounds) => IsSql2003WindowFrameBoundsSyntax bounds where
- type Sql2003WindowFrameBoundsBoundSyntax bounds :: *
- class IsSql2003WindowFrameBoundSyntax bound where
- class IsSql99ExpressionSyntax expr => IsSql2003EnhancedNumericFunctionsExpressionSyntax expr where
- class IsSql99AggregationExpressionSyntax agg => IsSql2003EnhancedNumericFunctionsAggregationExpressionSyntax agg where
- class IsSql99AggregationExpressionSyntax agg => IsSql2003FirstValueAndLastValueExpressionSyntax agg where
- class IsSql99AggregationExpressionSyntax agg => IsSql2003NtileExpressionSyntax agg where
- class IsSql99AggregationExpressionSyntax agg => IsSql2003NthValueExpressionSyntax agg where
- class IsSql99AggregationExpressionSyntax agg => IsSql2003LeadAndLagExpressionSyntax agg where
- class IsSql99DataTypeSyntax dataType => IsSql2008BigIntDataTypeSyntax dataType where
- type Sql2003ExpressionSanityCheck syntax = syntax ~ Sql2003WindowFrameExpressionSyntax (Sql2003ExpressionWindowFrameSyntax syntax)
Documentation
class IsSql92FromSyntax from => IsSql2003FromSyntax from where Source #
type Sql2003FromSampleMethodSyntax from :: * Source #
fromTableSample :: Sql92FromTableSourceSyntax from -> Sql2003FromSampleMethodSyntax from -> Maybe Double -> Maybe Integer -> Maybe Text -> from Source #
class IsSql92OrderingSyntax ord => IsSql2003OrderingElementaryOLAPOperationsSyntax ord where Source #
Optional SQL2003 "Elementary OLAP operations" T611 support
nullsFirstOrdering, nullsLastOrdering :: ord -> ord Source #
class (IsSql99ExpressionSyntax expr, IsSql2003WindowFrameSyntax (Sql2003ExpressionWindowFrameSyntax expr)) => IsSql2003ExpressionSyntax expr where Source #
type Sql2003ExpressionWindowFrameSyntax expr :: * Source #
overE :: expr -> Sql2003ExpressionWindowFrameSyntax expr -> expr Source #
class IsSql2003ExpressionSyntax expr => IsSql2003ExpressionElementaryOLAPOperationsSyntax expr where Source #
Optional SQL2003 "Elementary OLAP operations" T611 support
class IsSql2003ExpressionSyntax expr => IsSql2003ExpressionAdvancedOLAPOperationsSyntax expr where Source #
Optional SQL2003 "Advanced OLAP operations" T612 support
class IsSql99DataTypeSyntax dataType => IsSql2003BinaryAndVarBinaryDataTypeSyntax dataType where Source #
Optional SQL2003 "BINARY AND VARBINARY data type" T021 support
binaryType :: Maybe Word -> dataType Source #
varBinaryType :: Maybe Word -> dataType Source #
class IsSql2003WindowFrameBoundsSyntax (Sql2003WindowFrameBoundsSyntax frame) => IsSql2003WindowFrameSyntax frame where Source #
type Sql2003WindowFrameExpressionSyntax frame :: * Source #
type Sql2003WindowFrameOrderingSyntax frame :: * Source #
type Sql2003WindowFrameBoundsSyntax frame :: * Source #
frameSyntax :: Maybe [Sql2003WindowFrameExpressionSyntax frame] -> Maybe [Sql2003WindowFrameOrderingSyntax frame] -> Maybe (Sql2003WindowFrameBoundsSyntax frame) -> frame Source #
class IsSql2003WindowFrameBoundSyntax (Sql2003WindowFrameBoundsBoundSyntax bounds) => IsSql2003WindowFrameBoundsSyntax bounds where Source #
type Sql2003WindowFrameBoundsBoundSyntax bounds :: * Source #
fromToBoundSyntax :: Sql2003WindowFrameBoundsBoundSyntax bounds -> Maybe (Sql2003WindowFrameBoundsBoundSyntax bounds) -> bounds Source #
class IsSql2003WindowFrameBoundSyntax bound where Source #
unboundedSyntax :: bound Source #
nrowsBoundSyntax :: Int -> bound Source #
class IsSql99ExpressionSyntax expr => IsSql2003EnhancedNumericFunctionsExpressionSyntax expr where Source #
Optional SQL2003 "Enhanced numeric functions" T621 support
class IsSql99AggregationExpressionSyntax agg => IsSql2003EnhancedNumericFunctionsAggregationExpressionSyntax agg where Source #
stddevPopE, stddevSampE, varPopE, varSampE, covarPopE, covarSampE, corrE, regrSlopeE, regrInterceptE, regrCountE, regrRSquaredE, regrAvgXE, regrAvgYE, regrSXXE, regrSXYE, regrSYYE
stddevPopE, stddevSampE, varPopE, varSampE :: Maybe (Sql92AggregationSetQuantifierSyntax agg) -> agg -> agg Source #
covarPopE, covarSampE, corrE, regrSlopeE, regrInterceptE, regrCountE, regrRSquaredE, regrAvgXE, regrAvgYE, regrSXXE, regrSXYE, regrSYYE :: Maybe (Sql92AggregationSetQuantifierSyntax agg) -> agg -> agg -> agg Source #
class IsSql99AggregationExpressionSyntax agg => IsSql2003FirstValueAndLastValueExpressionSyntax agg where Source #
Optional SQL2003 "FIRST_VALUE and LAST_VALUE function" T616 support
firstValueE, lastValueE :: agg -> agg Source #
class IsSql99AggregationExpressionSyntax agg => IsSql2003NtileExpressionSyntax agg where Source #
Optional SQL2003 "NTILE function" T614 support
class IsSql99AggregationExpressionSyntax agg => IsSql2003NthValueExpressionSyntax agg where Source #
Optional SQL2003 "NTH_VALUE function" T618 support
class IsSql99AggregationExpressionSyntax agg => IsSql2003LeadAndLagExpressionSyntax agg where Source #
Optional SQL2003 "LEAD and LAG function" T615 support
class IsSql99DataTypeSyntax dataType => IsSql2008BigIntDataTypeSyntax dataType where Source #
Optional SQL2008 "BIGINT data type" T071 support
bigIntType :: dataType Source #
type Sql2003ExpressionSanityCheck syntax = syntax ~ Sql2003WindowFrameExpressionSyntax (Sql2003ExpressionWindowFrameSyntax syntax) Source #