Safe Haskell | None |
---|---|
Language | Haskell2010 |
Database.Beam.Backend.SQL.SQL92
Contents
Description
Finally tagless encoding of SQL92 syntax
- class BeamSqlBackend be => BeamSql92Backend be
- class HasSqlValueSyntax expr ty where
- class IsSqlExpressionSyntaxStringType expr ty
- autoSqlValueSyntax :: (HasSqlValueSyntax expr String, Show a) => a -> expr
- type Sql92SelectExpressionSyntax select = Sql92SelectTableExpressionSyntax (Sql92SelectSelectTableSyntax select)
- type Sql92SelectProjectionSyntax select = Sql92SelectTableProjectionSyntax (Sql92SelectSelectTableSyntax select)
- type Sql92SelectGroupingSyntax select = Sql92SelectTableGroupingSyntax (Sql92SelectSelectTableSyntax select)
- type Sql92SelectFromSyntax select = Sql92SelectTableFromSyntax (Sql92SelectSelectTableSyntax select)
- type Sql92InsertExpressionSyntax select = Sql92InsertValuesExpressionSyntax (Sql92InsertValuesSyntax select)
- type Sql92ValueSyntax cmdSyntax = Sql92ExpressionValueSyntax (Sql92ExpressionSyntax cmdSyntax)
- type Sql92ExpressionSyntax cmdSyntax = Sql92SelectExpressionSyntax (Sql92SelectSyntax cmdSyntax)
- type Sql92HasValueSyntax cmdSyntax = HasSqlValueSyntax (Sql92ValueSyntax cmdSyntax)
- type Sql92SelectSanityCheck select = (Sql92FromExpressionSyntax (Sql92SelectTableFromSyntax (Sql92SelectSelectTableSyntax select)) ~ Sql92SelectTableExpressionSyntax (Sql92SelectSelectTableSyntax select), Sql92TableSourceSelectSyntax (Sql92FromTableSourceSyntax (Sql92SelectTableFromSyntax (Sql92SelectSelectTableSyntax select))) ~ select, Sql92ProjectionExpressionSyntax (Sql92SelectTableProjectionSyntax (Sql92SelectSelectTableSyntax select)) ~ Sql92SelectTableExpressionSyntax (Sql92SelectSelectTableSyntax select), Sql92OrderingExpressionSyntax (Sql92SelectOrderingSyntax select) ~ Sql92SelectTableExpressionSyntax (Sql92SelectSelectTableSyntax select))
- type Sql92SanityCheck cmd = (Sql92SelectSanityCheck (Sql92SelectSyntax cmd), Sql92ExpressionValueSyntax (Sql92InsertValuesExpressionSyntax (Sql92InsertValuesSyntax (Sql92InsertSyntax cmd))) ~ Sql92ValueSyntax cmd, Sql92ExpressionValueSyntax (Sql92UpdateExpressionSyntax (Sql92UpdateSyntax cmd)) ~ Sql92ValueSyntax cmd, Sql92ExpressionValueSyntax (Sql92DeleteExpressionSyntax (Sql92DeleteSyntax cmd)) ~ Sql92ValueSyntax cmd, Sql92SelectTableExpressionSyntax (Sql92SelectSelectTableSyntax (Sql92SelectSyntax cmd)) ~ Sql92InsertValuesExpressionSyntax (Sql92InsertValuesSyntax (Sql92InsertSyntax cmd)))
- type Sql92ReasonableMarshaller be = (FromBackendRow be Int, FromBackendRow be SqlNull, FromBackendRow be Text, FromBackendRow be Bool, FromBackendRow be Char, FromBackendRow be Int16, FromBackendRow be Int32, FromBackendRow be Int64, FromBackendRow be LocalTime)
- class (IsSql92SelectSyntax (Sql92SelectSyntax cmd), IsSql92InsertSyntax (Sql92InsertSyntax cmd), IsSql92UpdateSyntax (Sql92UpdateSyntax cmd), IsSql92DeleteSyntax (Sql92DeleteSyntax cmd)) => IsSql92Syntax cmd where
- type Sql92SelectSyntax cmd :: *
- type Sql92InsertSyntax cmd :: *
- type Sql92UpdateSyntax cmd :: *
- type Sql92DeleteSyntax cmd :: *
- class (IsSql92SelectTableSyntax (Sql92SelectSelectTableSyntax select), IsSql92OrderingSyntax (Sql92SelectOrderingSyntax select)) => IsSql92SelectSyntax select where
- type Sql92SelectSelectTableSyntax select :: *
- type Sql92SelectOrderingSyntax select :: *
- class (IsSql92ExpressionSyntax (Sql92SelectTableExpressionSyntax select), IsSql92AggregationExpressionSyntax (Sql92SelectTableExpressionSyntax select), IsSql92ProjectionSyntax (Sql92SelectTableProjectionSyntax select), IsSql92FromSyntax (Sql92SelectTableFromSyntax select), IsSql92GroupingSyntax (Sql92SelectTableGroupingSyntax select), IsSql92AggregationSetQuantifierSyntax (Sql92SelectTableSetQuantifierSyntax select), Sql92GroupingExpressionSyntax (Sql92SelectTableGroupingSyntax select) ~ Sql92SelectTableExpressionSyntax select, Sql92FromExpressionSyntax (Sql92SelectTableFromSyntax select) ~ Sql92SelectTableExpressionSyntax select, Sql92SelectSelectTableSyntax (Sql92SelectTableSelectSyntax select) ~ select, Eq (Sql92SelectTableExpressionSyntax select)) => IsSql92SelectTableSyntax select where
- type Sql92SelectTableSelectSyntax select :: *
- type Sql92SelectTableExpressionSyntax select :: *
- type Sql92SelectTableProjectionSyntax select :: *
- type Sql92SelectTableFromSyntax select :: *
- type Sql92SelectTableGroupingSyntax select :: *
- type Sql92SelectTableSetQuantifierSyntax select :: *
- class IsSql92InsertValuesSyntax (Sql92InsertValuesSyntax insert) => IsSql92InsertSyntax insert where
- type Sql92InsertValuesSyntax insert :: *
- class IsSql92ExpressionSyntax (Sql92InsertValuesExpressionSyntax insertValues) => IsSql92InsertValuesSyntax insertValues where
- type Sql92InsertValuesExpressionSyntax insertValues :: *
- type Sql92InsertValuesSelectSyntax insertValues :: *
- class (IsSql92ExpressionSyntax (Sql92UpdateExpressionSyntax update), IsSql92FieldNameSyntax (Sql92UpdateFieldNameSyntax update)) => IsSql92UpdateSyntax update where
- type Sql92UpdateFieldNameSyntax update :: *
- type Sql92UpdateExpressionSyntax update :: *
- class IsSql92ExpressionSyntax (Sql92DeleteExpressionSyntax delete) => IsSql92DeleteSyntax delete where
- type Sql92DeleteExpressionSyntax delete :: *
- class IsSql92FieldNameSyntax fn where
- class IsSql92QuantifierSyntax quantifier where
- class IsSql92DataTypeSyntax dataType where
- class (HasSqlValueSyntax (Sql92ExpressionValueSyntax expr) Int, HasSqlValueSyntax (Sql92ExpressionValueSyntax expr) Bool, IsSql92FieldNameSyntax (Sql92ExpressionFieldNameSyntax expr), IsSql92QuantifierSyntax (Sql92ExpressionQuantifierSyntax expr), Typeable expr) => IsSql92ExpressionSyntax expr where
- type Sql92ExpressionQuantifierSyntax expr :: *
- type Sql92ExpressionValueSyntax expr :: *
- type Sql92ExpressionSelectSyntax expr :: *
- type Sql92ExpressionFieldNameSyntax expr :: *
- type Sql92ExpressionCastTargetSyntax expr :: *
- type Sql92ExpressionExtractFieldSyntax expr :: *
- class IsSql92AggregationSetQuantifierSyntax (Sql92AggregationSetQuantifierSyntax expr) => IsSql92AggregationExpressionSyntax expr where
- type Sql92AggregationSetQuantifierSyntax expr :: *
- class IsSql92AggregationSetQuantifierSyntax q where
- class IsSql92ExpressionSyntax (Sql92ProjectionExpressionSyntax proj) => IsSql92ProjectionSyntax proj where
- type Sql92ProjectionExpressionSyntax proj :: *
- class IsSql92OrderingSyntax ord where
- type Sql92OrderingExpressionSyntax ord :: *
- class IsSql92TableSourceSyntax tblSource where
- type Sql92TableSourceSelectSyntax tblSource :: *
- class IsSql92GroupingSyntax grouping where
- type Sql92GroupingExpressionSyntax grouping :: *
- class (IsSql92TableSourceSyntax (Sql92FromTableSourceSyntax from), IsSql92ExpressionSyntax (Sql92FromExpressionSyntax from)) => IsSql92FromSyntax from where
- type Sql92FromTableSourceSyntax from :: *
- type Sql92FromExpressionSyntax from :: *
- class IsSql92FromSyntax from => IsSql92FromOuterJoinSyntax from where
Documentation
class BeamSqlBackend be => BeamSql92Backend be Source #
Finally tagless style
class HasSqlValueSyntax expr ty where Source #
Minimal complete definition
Methods
sqlValueSyntax :: ty -> expr Source #
Instances
class IsSqlExpressionSyntaxStringType expr ty Source #
Instances
autoSqlValueSyntax :: (HasSqlValueSyntax expr String, Show a) => a -> expr Source #
type Sql92SelectExpressionSyntax select = Sql92SelectTableExpressionSyntax (Sql92SelectSelectTableSyntax select) Source #
type Sql92SelectProjectionSyntax select = Sql92SelectTableProjectionSyntax (Sql92SelectSelectTableSyntax select) Source #
type Sql92SelectGroupingSyntax select = Sql92SelectTableGroupingSyntax (Sql92SelectSelectTableSyntax select) Source #
type Sql92SelectFromSyntax select = Sql92SelectTableFromSyntax (Sql92SelectSelectTableSyntax select) Source #
type Sql92InsertExpressionSyntax select = Sql92InsertValuesExpressionSyntax (Sql92InsertValuesSyntax select) Source #
type Sql92ValueSyntax cmdSyntax = Sql92ExpressionValueSyntax (Sql92ExpressionSyntax cmdSyntax) Source #
type Sql92ExpressionSyntax cmdSyntax = Sql92SelectExpressionSyntax (Sql92SelectSyntax cmdSyntax) Source #
type Sql92HasValueSyntax cmdSyntax = HasSqlValueSyntax (Sql92ValueSyntax cmdSyntax) Source #
type Sql92SelectSanityCheck select = (Sql92FromExpressionSyntax (Sql92SelectTableFromSyntax (Sql92SelectSelectTableSyntax select)) ~ Sql92SelectTableExpressionSyntax (Sql92SelectSelectTableSyntax select), Sql92TableSourceSelectSyntax (Sql92FromTableSourceSyntax (Sql92SelectTableFromSyntax (Sql92SelectSelectTableSyntax select))) ~ select, Sql92ProjectionExpressionSyntax (Sql92SelectTableProjectionSyntax (Sql92SelectSelectTableSyntax select)) ~ Sql92SelectTableExpressionSyntax (Sql92SelectSelectTableSyntax select), Sql92OrderingExpressionSyntax (Sql92SelectOrderingSyntax select) ~ Sql92SelectTableExpressionSyntax (Sql92SelectSelectTableSyntax select)) Source #
type Sql92SanityCheck cmd = (Sql92SelectSanityCheck (Sql92SelectSyntax cmd), Sql92ExpressionValueSyntax (Sql92InsertValuesExpressionSyntax (Sql92InsertValuesSyntax (Sql92InsertSyntax cmd))) ~ Sql92ValueSyntax cmd, Sql92ExpressionValueSyntax (Sql92UpdateExpressionSyntax (Sql92UpdateSyntax cmd)) ~ Sql92ValueSyntax cmd, Sql92ExpressionValueSyntax (Sql92DeleteExpressionSyntax (Sql92DeleteSyntax cmd)) ~ Sql92ValueSyntax cmd, Sql92SelectTableExpressionSyntax (Sql92SelectSelectTableSyntax (Sql92SelectSyntax cmd)) ~ Sql92InsertValuesExpressionSyntax (Sql92InsertValuesSyntax (Sql92InsertSyntax cmd))) Source #
type Sql92ReasonableMarshaller be = (FromBackendRow be Int, FromBackendRow be SqlNull, FromBackendRow be Text, FromBackendRow be Bool, FromBackendRow be Char, FromBackendRow be Int16, FromBackendRow be Int32, FromBackendRow be Int64, FromBackendRow be LocalTime) Source #
class (IsSql92SelectSyntax (Sql92SelectSyntax cmd), IsSql92InsertSyntax (Sql92InsertSyntax cmd), IsSql92UpdateSyntax (Sql92UpdateSyntax cmd), IsSql92DeleteSyntax (Sql92DeleteSyntax cmd)) => IsSql92Syntax cmd where Source #
Associated Types
type Sql92SelectSyntax cmd :: * Source #
type Sql92InsertSyntax cmd :: * Source #
type Sql92UpdateSyntax cmd :: * Source #
type Sql92DeleteSyntax cmd :: * Source #
Methods
selectCmd :: Sql92SelectSyntax cmd -> cmd Source #
insertCmd :: Sql92InsertSyntax cmd -> cmd Source #
updateCmd :: Sql92UpdateSyntax cmd -> cmd Source #
deleteCmd :: Sql92DeleteSyntax cmd -> cmd Source #
Instances
class (IsSql92SelectTableSyntax (Sql92SelectSelectTableSyntax select), IsSql92OrderingSyntax (Sql92SelectOrderingSyntax select)) => IsSql92SelectSyntax select where Source #
Minimal complete definition
Associated Types
type Sql92SelectSelectTableSyntax select :: * Source #
type Sql92SelectOrderingSyntax select :: * Source #
Methods
Arguments
:: Sql92SelectSelectTableSyntax select | |
-> [Sql92SelectOrderingSyntax select] | |
-> Maybe Integer | LIMIT |
-> Maybe Integer | OFFSET |
-> select |
class (IsSql92ExpressionSyntax (Sql92SelectTableExpressionSyntax select), IsSql92AggregationExpressionSyntax (Sql92SelectTableExpressionSyntax select), IsSql92ProjectionSyntax (Sql92SelectTableProjectionSyntax select), IsSql92FromSyntax (Sql92SelectTableFromSyntax select), IsSql92GroupingSyntax (Sql92SelectTableGroupingSyntax select), IsSql92AggregationSetQuantifierSyntax (Sql92SelectTableSetQuantifierSyntax select), Sql92GroupingExpressionSyntax (Sql92SelectTableGroupingSyntax select) ~ Sql92SelectTableExpressionSyntax select, Sql92FromExpressionSyntax (Sql92SelectTableFromSyntax select) ~ Sql92SelectTableExpressionSyntax select, Sql92SelectSelectTableSyntax (Sql92SelectTableSelectSyntax select) ~ select, Eq (Sql92SelectTableExpressionSyntax select)) => IsSql92SelectTableSyntax select where Source #
Minimal complete definition
Associated Types
type Sql92SelectTableSelectSyntax select :: * Source #
type Sql92SelectTableExpressionSyntax select :: * Source #
type Sql92SelectTableProjectionSyntax select :: * Source #
type Sql92SelectTableFromSyntax select :: * Source #
type Sql92SelectTableGroupingSyntax select :: * Source #
type Sql92SelectTableSetQuantifierSyntax select :: * Source #
Methods
Arguments
:: Maybe (Sql92SelectTableSetQuantifierSyntax select) | |
-> Sql92SelectTableProjectionSyntax select | |
-> Maybe (Sql92SelectTableFromSyntax select) | |
-> Maybe (Sql92SelectTableExpressionSyntax select) | Where clause |
-> Maybe (Sql92SelectTableGroupingSyntax select) | |
-> Maybe (Sql92SelectTableExpressionSyntax select) | having clause |
-> select |
unionTables :: Bool -> select -> select -> select Source #
intersectTables :: Bool -> select -> select -> select Source #
exceptTable :: Bool -> select -> select -> select Source #
class IsSql92InsertValuesSyntax (Sql92InsertValuesSyntax insert) => IsSql92InsertSyntax insert where Source #
Minimal complete definition
Associated Types
type Sql92InsertValuesSyntax insert :: * Source #
Methods
insertStmt :: Text -> [Text] -> Sql92InsertValuesSyntax insert -> insert Source #
class IsSql92ExpressionSyntax (Sql92InsertValuesExpressionSyntax insertValues) => IsSql92InsertValuesSyntax insertValues where Source #
Minimal complete definition
Associated Types
type Sql92InsertValuesExpressionSyntax insertValues :: * Source #
type Sql92InsertValuesSelectSyntax insertValues :: * Source #
Methods
insertSqlExpressions :: [[Sql92InsertValuesExpressionSyntax insertValues]] -> insertValues Source #
insertFromSql :: Sql92InsertValuesSelectSyntax insertValues -> insertValues Source #
class (IsSql92ExpressionSyntax (Sql92UpdateExpressionSyntax update), IsSql92FieldNameSyntax (Sql92UpdateFieldNameSyntax update)) => IsSql92UpdateSyntax update where Source #
Minimal complete definition
Associated Types
type Sql92UpdateFieldNameSyntax update :: * Source #
type Sql92UpdateExpressionSyntax update :: * Source #
Methods
Arguments
:: Text | |
-> [(Sql92UpdateFieldNameSyntax update, Sql92UpdateExpressionSyntax update)] | |
-> Maybe (Sql92UpdateExpressionSyntax update) | WHERE |
-> update |
class IsSql92ExpressionSyntax (Sql92DeleteExpressionSyntax delete) => IsSql92DeleteSyntax delete where Source #
Minimal complete definition
Associated Types
type Sql92DeleteExpressionSyntax delete :: * Source #
Methods
deleteStmt :: Text -> Maybe (Sql92DeleteExpressionSyntax delete) -> delete Source #
class IsSql92FieldNameSyntax fn where Source #
Minimal complete definition
class IsSql92QuantifierSyntax quantifier where Source #
Minimal complete definition
class IsSql92DataTypeSyntax dataType where Source #
Minimal complete definition
domainType, charType, varCharType, nationalCharType, nationalVarCharType, bitType, varBitType, numericType, decimalType, intType, smallIntType, floatType, doubleType, realType, dateType, timeType, timestampType
Methods
domainType :: Text -> dataType Source #
charType :: Maybe Word -> Maybe Text -> dataType Source #
varCharType :: Maybe Word -> Maybe Text -> dataType Source #
nationalCharType :: Maybe Word -> dataType Source #
nationalVarCharType :: Maybe Word -> dataType Source #
bitType :: Maybe Word -> dataType Source #
varBitType :: Maybe Word -> dataType Source #
numericType :: Maybe (Word, Maybe Word) -> dataType Source #
decimalType :: Maybe (Word, Maybe Word) -> dataType Source #
smallIntType :: dataType Source #
floatType :: Maybe Word -> dataType Source #
doubleType :: dataType Source #
class (HasSqlValueSyntax (Sql92ExpressionValueSyntax expr) Int, HasSqlValueSyntax (Sql92ExpressionValueSyntax expr) Bool, IsSql92FieldNameSyntax (Sql92ExpressionFieldNameSyntax expr), IsSql92QuantifierSyntax (Sql92ExpressionQuantifierSyntax expr), Typeable expr) => IsSql92ExpressionSyntax expr where Source #
Minimal complete definition
valueE, rowE, coalesceE, caseE, fieldE, betweenE, andE, orE, addE, subE, mulE, divE, likeE, modE, overlapsE, nullIfE, positionE, eqE, neqE, ltE, gtE, leE, geE, castE, notE, negateE, isNullE, isNotNullE, isTrueE, isNotTrueE, isFalseE, isNotFalseE, isUnknownE, isNotUnknownE, charLengthE, octetLengthE, bitLengthE, lowerE, upperE, trimE, absE, extractE, existsE, uniqueE, subqueryE, currentTimestampE, defaultE, inE
Associated Types
type Sql92ExpressionQuantifierSyntax expr :: * Source #
type Sql92ExpressionValueSyntax expr :: * Source #
type Sql92ExpressionSelectSyntax expr :: * Source #
type Sql92ExpressionFieldNameSyntax expr :: * Source #
type Sql92ExpressionCastTargetSyntax expr :: * Source #
type Sql92ExpressionExtractFieldSyntax expr :: * Source #
Methods
valueE :: Sql92ExpressionValueSyntax expr -> expr Source #
rowE :: [expr] -> expr Source #
quantifierListE :: [expr] -> expr Source #
coalesceE :: [expr] -> expr Source #
caseE :: [(expr, expr)] -> expr -> expr Source #
fieldE :: Sql92ExpressionFieldNameSyntax expr -> expr Source #
betweenE :: expr -> expr -> expr -> expr Source #
andE :: expr -> expr -> expr Source #
orE :: expr -> expr -> expr Source #
addE :: expr -> expr -> expr Source #
subE :: expr -> expr -> expr Source #
mulE :: expr -> expr -> expr Source #
divE :: expr -> expr -> expr Source #
likeE :: expr -> expr -> expr Source #
modE :: expr -> expr -> expr Source #
overlapsE :: expr -> expr -> expr Source #
nullIfE :: expr -> expr -> expr Source #
positionE :: expr -> expr -> expr Source #
eqE :: Maybe (Sql92ExpressionQuantifierSyntax expr) -> expr -> expr -> expr Source #
neqE :: Maybe (Sql92ExpressionQuantifierSyntax expr) -> expr -> expr -> expr Source #
ltE :: Maybe (Sql92ExpressionQuantifierSyntax expr) -> expr -> expr -> expr Source #
gtE :: Maybe (Sql92ExpressionQuantifierSyntax expr) -> expr -> expr -> expr Source #
leE :: Maybe (Sql92ExpressionQuantifierSyntax expr) -> expr -> expr -> expr Source #
geE :: Maybe (Sql92ExpressionQuantifierSyntax expr) -> expr -> expr -> expr Source #
eqMaybeE :: expr -> expr -> expr -> expr Source #
Compare the first and second argument for nullable equality, if they are both not null, return the result of the third expression
Some backends, like beam-postgres
totally ignore the third
result, because all equality there is sensible.
neqMaybeE :: expr -> expr -> expr -> expr Source #
Compare the first and second argument for nullable equality, if they are both not null, return the result of the third expression
Some backends, like beam-postgres
totally ignore the third
result, because all equality there is sensible.
castE :: expr -> Sql92ExpressionCastTargetSyntax expr -> expr Source #
negateE :: expr -> expr Source #
isNullE :: expr -> expr Source #
isNotNullE :: expr -> expr Source #
isTrueE :: expr -> expr Source #
isNotTrueE :: expr -> expr Source #
isFalseE :: expr -> expr Source #
isNotFalseE :: expr -> expr Source #
isUnknownE :: expr -> expr Source #
isNotUnknownE :: expr -> expr Source #
charLengthE :: expr -> expr Source #
octetLengthE :: expr -> expr Source #
bitLengthE :: expr -> expr Source #
lowerE :: expr -> expr Source #
upperE :: expr -> expr Source #
trimE :: expr -> expr Source #
Included so that we can easily write a Num instance, but not defined in SQL92. Implementations that do not support this, should use CASE .. WHEN ..
extractE :: Sql92ExpressionExtractFieldSyntax expr -> expr -> expr Source #
existsE :: Sql92ExpressionSelectSyntax expr -> expr Source #
uniqueE :: Sql92ExpressionSelectSyntax expr -> expr Source #
subqueryE :: Sql92ExpressionSelectSyntax expr -> expr Source #
currentTimestampE :: expr Source #
class IsSql92AggregationSetQuantifierSyntax (Sql92AggregationSetQuantifierSyntax expr) => IsSql92AggregationExpressionSyntax expr where Source #
Associated Types
type Sql92AggregationSetQuantifierSyntax expr :: * Source #
Methods
countE :: Maybe (Sql92AggregationSetQuantifierSyntax expr) -> expr -> expr Source #
avgE :: Maybe (Sql92AggregationSetQuantifierSyntax expr) -> expr -> expr Source #
maxE :: Maybe (Sql92AggregationSetQuantifierSyntax expr) -> expr -> expr Source #
minE :: Maybe (Sql92AggregationSetQuantifierSyntax expr) -> expr -> expr Source #
sumE :: Maybe (Sql92AggregationSetQuantifierSyntax expr) -> expr -> expr Source #
class IsSql92AggregationSetQuantifierSyntax q where Source #
Minimal complete definition
class IsSql92ExpressionSyntax (Sql92ProjectionExpressionSyntax proj) => IsSql92ProjectionSyntax proj where Source #
Minimal complete definition
Associated Types
type Sql92ProjectionExpressionSyntax proj :: * Source #
class IsSql92OrderingSyntax ord where Source #
Minimal complete definition
Associated Types
type Sql92OrderingExpressionSyntax ord :: * Source #
Methods
ascOrdering :: Sql92OrderingExpressionSyntax ord -> ord Source #
descOrdering :: Sql92OrderingExpressionSyntax ord -> ord Source #
class IsSql92TableSourceSyntax tblSource where Source #
Minimal complete definition
Associated Types
type Sql92TableSourceSelectSyntax tblSource :: * Source #
Methods
tableNamed :: Text -> tblSource Source #
tableFromSubSelect :: Sql92TableSourceSelectSyntax tblSource -> tblSource Source #
class IsSql92GroupingSyntax grouping where Source #
Minimal complete definition
Associated Types
type Sql92GroupingExpressionSyntax grouping :: * Source #
Methods
groupByExpressions :: [Sql92GroupingExpressionSyntax grouping] -> grouping Source #
class (IsSql92TableSourceSyntax (Sql92FromTableSourceSyntax from), IsSql92ExpressionSyntax (Sql92FromExpressionSyntax from)) => IsSql92FromSyntax from where Source #
Associated Types
type Sql92FromTableSourceSyntax from :: * Source #
type Sql92FromExpressionSyntax from :: * Source #
Methods
fromTable :: Sql92FromTableSourceSyntax from -> Maybe Text -> from Source #
innerJoin :: from -> from -> Maybe (Sql92FromExpressionSyntax from) -> from Source #
leftJoin :: from -> from -> Maybe (Sql92FromExpressionSyntax from) -> from Source #
rightJoin :: from -> from -> Maybe (Sql92FromExpressionSyntax from) -> from Source #
Instances
class IsSql92FromSyntax from => IsSql92FromOuterJoinSyntax from where Source #
Minimal complete definition
Methods
outerJoin :: from -> from -> Maybe (Sql92FromExpressionSyntax from) -> from Source #