| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | Haskell2010 | 
Language.SQL.SimpleSQL.Syntax
Description
The AST for SQL.
Synopsis
- data ScalarExpr- = NumLit Text
- | StringLit Text Text Text
- | IntervalLit { }
- | TypedLit TypeName Text
- | Iden [Name]
- | Star
- | QStar [Name]
- | Parameter
- | PositionalArg Int
- | HostParameter Text (Maybe Text)
- | BinOp ScalarExpr [Name] ScalarExpr
- | PrefixOp [Name] ScalarExpr
- | PostfixOp [Name] ScalarExpr
- | SpecialOp [Name] [ScalarExpr]
- | App [Name] [ScalarExpr]
- | AggregateApp { - aggName :: [Name]
- aggDistinct :: SetQuantifier
- aggArgs :: [ScalarExpr]
- aggOrderBy :: [SortSpec]
- aggFilter :: Maybe ScalarExpr
 
- | AggregateAppGroup { }
- | WindowApp { - wnName :: [Name]
- wnArgs :: [ScalarExpr]
- wnPartition :: [ScalarExpr]
- wnOrderBy :: [SortSpec]
- wnFrame :: Maybe Frame
 
- | SpecialOpK [Name] (Maybe ScalarExpr) [(Text, ScalarExpr)]
- | Cast ScalarExpr TypeName
- | Convert TypeName ScalarExpr (Maybe Integer)
- | Case { - caseTest :: Maybe ScalarExpr
- caseWhens :: [([ScalarExpr], ScalarExpr)]
- caseElse :: Maybe ScalarExpr
 
- | Parens ScalarExpr
- | In Bool ScalarExpr InPredValue
- | SubQueryExpr SubQueryExprType QueryExpr
- | QuantifiedComparison ScalarExpr [Name] CompPredQuantifier QueryExpr
- | Match ScalarExpr Bool QueryExpr
- | Array ScalarExpr [ScalarExpr]
- | ArrayCtor QueryExpr
- | Collate ScalarExpr [Name]
- | MultisetBinOp ScalarExpr SetOperatorName SetQuantifier ScalarExpr
- | MultisetCtor [ScalarExpr]
- | MultisetQueryCtor QueryExpr
- | NextValueFor [Name]
- | VEComment [Comment] ScalarExpr
- | OdbcLiteral OdbcLiteralType Text
- | OdbcFunc ScalarExpr
 
- data Name = Name (Maybe (Text, Text)) Text
- data TypeName- = TypeName [Name]
- | PrecTypeName [Name] Integer
- | PrecScaleTypeName [Name] Integer Integer
- | PrecLengthTypeName [Name] Integer (Maybe PrecMultiplier) (Maybe PrecUnits)
- | CharTypeName [Name] (Maybe Integer) [Name] [Name]
- | TimeTypeName [Name] (Maybe Integer) Bool
- | RowTypeName [(Name, TypeName)]
- | IntervalTypeName IntervalTypeField (Maybe IntervalTypeField)
- | ArrayTypeName TypeName (Maybe Integer)
- | MultisetTypeName TypeName
 
- data IntervalTypeField = Itf Text (Maybe (Integer, Maybe Integer))
- data Sign
- data PrecMultiplier
- data PrecUnits
- data SetQuantifier
- data SortSpec = SortSpec ScalarExpr Direction NullsOrder
- data Direction- = DirDefault
- | Asc
- | Desc
 
- data NullsOrder
- data InPredValue
- data SubQueryExprType
- data CompPredQuantifier
- data Frame
- data FrameRows
- data FramePos
- data OdbcLiteralType- = OLDate
- | OLTime
- | OLTimestamp
 
- data QueryExpr- = Select { - qeSetQuantifier :: SetQuantifier
- qeSelectList :: [(ScalarExpr, Maybe Name)]
- qeFrom :: [TableRef]
- qeWhere :: Maybe ScalarExpr
- qeGroupBy :: [GroupingExpr]
- qeHaving :: Maybe ScalarExpr
- qeOrderBy :: [SortSpec]
- qeOffset :: Maybe ScalarExpr
- qeFetchFirst :: Maybe ScalarExpr
 
- | QueryExprSetOp { }
- | With { - qeWithRecursive :: Bool
- qeViews :: [(Alias, QueryExpr)]
- qeQueryExpression :: QueryExpr
 
- | Values [[ScalarExpr]]
- | Table [Name]
- | QueryExprParens QueryExpr
- | QEComment [Comment] QueryExpr
 
- = Select { 
- data SetOperatorName
- data Corresponding
- data Alias = Alias Name (Maybe [Name])
- data GroupingExpr
- data TableRef
- data JoinType
- data JoinCondition- = JoinOn ScalarExpr
- | JoinUsing [Name]
 
- data Statement- = CreateSchema [Name]
- | DropSchema [Name] DropBehaviour
- | CreateTable [Name] [TableElement] Bool
- | AlterTable [Name] AlterTableAction
- | DropTable [Name] DropBehaviour
- | CreateIndex Bool [Name] [Name] [Name]
- | CreateView Bool [Name] (Maybe [Name]) QueryExpr (Maybe CheckOption)
- | DropView [Name] DropBehaviour
- | CreateDomain [Name] TypeName (Maybe ScalarExpr) [(Maybe [Name], ScalarExpr)]
- | AlterDomain [Name] AlterDomainAction
- | DropDomain [Name] DropBehaviour
- | CreateAssertion [Name] ScalarExpr
- | DropAssertion [Name] DropBehaviour
- | CreateSequence [Name] [SequenceGeneratorOption]
- | AlterSequence [Name] [SequenceGeneratorOption]
- | DropSequence [Name] DropBehaviour
- | SelectStatement QueryExpr
- | Delete [Name] (Maybe Name) (Maybe ScalarExpr)
- | Truncate [Name] IdentityRestart
- | Insert [Name] (Maybe [Name]) InsertSource
- | Update [Name] (Maybe Name) [SetClause] (Maybe ScalarExpr)
- | GrantPrivilege [PrivilegeAction] PrivilegeObject [Name] GrantOption
- | GrantRole [Name] [Name] AdminOption
- | CreateRole Name
- | DropRole Name
- | RevokePrivilege GrantOptionFor [PrivilegeAction] PrivilegeObject [Name] DropBehaviour
- | RevokeRole AdminOptionFor [Name] [Name] DropBehaviour
- | StartTransaction
- | Savepoint Name
- | ReleaseSavepoint Name
- | Commit
- | Rollback (Maybe Name)
- | StatementComment [Comment]
- | EmptyStatement
 
- data DropBehaviour
- data IdentityRestart
- data InsertSource
- data SetClause- = Set [Name] ScalarExpr
- | SetMultiple [[Name]] [ScalarExpr]
 
- data TableElement
- data ColumnDef = ColumnDef Name (Maybe TypeName) [ColConstraintDef]
- data DefaultClause
- data IdentityWhen
- data SequenceGeneratorOption
- data ColConstraintDef = ColConstraintDef (Maybe [Name]) ColConstraint
- type AutoincrementClause = Bool
- data ColConstraint
- data TableConstraint
- data ReferenceMatch
- data ReferentialAction
- data AlterTableAction- = AddColumnDef ColumnDef
- | AlterColumnSetDefault Name ScalarExpr
- | AlterColumnDropDefault Name
- | AlterColumnSetNotNull Name
- | AlterColumnDropNotNull Name
- | AlterColumnSetDataType Name TypeName
- | DropColumn Name DropBehaviour
- | AddTableConstraintDef (Maybe [Name]) TableConstraint
- | DropTableConstraintDef [Name] DropBehaviour
 
- data CheckOption
- data AlterDomainAction
- data AdminOption
- data GrantOption
- data PrivilegeObject- = PrivTable [Name]
- | PrivDomain [Name]
- | PrivType [Name]
- | PrivSequence [Name]
- | PrivFunction [Name]
 
- data PrivilegeAction- = PrivAll
- | PrivSelect [Name]
- | PrivDelete
- | PrivInsert [Name]
- | PrivUpdate [Name]
- | PrivReferences [Name]
- | PrivUsage
- | PrivTrigger
- | PrivExecute
 
- data AdminOptionFor
- data GrantOptionFor
- newtype Comment = BlockComment Text
- makeSelect :: MakeSelect
- toQueryExpr :: MakeSelect -> QueryExpr
- data MakeSelect = MakeSelect {- msSetQuantifier :: SetQuantifier
- msSelectList :: [(ScalarExpr, Maybe Name)]
- msFrom :: [TableRef]
- msWhere :: Maybe ScalarExpr
- msGroupBy :: [GroupingExpr]
- msHaving :: Maybe ScalarExpr
- msOrderBy :: [SortSpec]
- msOffset :: Maybe ScalarExpr
- msFetchFirst :: Maybe ScalarExpr
 
Scalar expressions
data ScalarExpr Source #
Represents a value expression. This is used for the expressions in select lists. It is also used for expressions in where, group by, having, order by and so on.
Constructors
| NumLit Text | a numeric literal optional decimal point, e+- integral exponent, e.g 
 | 
| StringLit Text Text Text | string literal, with the start and end quote
 e.g.  | 
| IntervalLit | text of interval literal, units of interval precision, e.g. interval 3 days (3) | 
| Fields 
 | |
| TypedLit TypeName Text | prefix 'typed literal', e.g. int '42' | 
| Iden [Name] | identifier with parts separated by dots | 
| Star | star, as in select *, count(*) | 
| QStar [Name] | qualified star, as in a.*, b.c.* | 
| Parameter | Represents a ? in a parameterized query | 
| PositionalArg Int | Represents an e.g. $1 in a parameterized query | 
| HostParameter Text (Maybe Text) | represents a host parameter, e.g. :a. The Maybe Text is for the indicator, e.g. :var indicator :nl | 
| BinOp ScalarExpr [Name] ScalarExpr | Infix binary operators. This is used for symbol operators (a + b), keyword operators (a and b) and multiple keyword operators (a is similar to b) | 
| PrefixOp [Name] ScalarExpr | Prefix unary operators. This is used for symbol operators, keyword operators and multiple keyword operators. | 
| PostfixOp [Name] ScalarExpr | Postfix unary operators. This is used for symbol operators, keyword operators and multiple keyword operators. | 
| SpecialOp [Name] [ScalarExpr] | Used for ternary, mixfix and other non orthodox operators. Currently used for row constructors, and for between. | 
| App [Name] [ScalarExpr] | function application (anything that looks like c style function application syntactically) | 
| AggregateApp | aggregate application, which adds distinct or all, and order by, to regular function application | 
| Fields 
 | |
| AggregateAppGroup | aggregates with within group | 
| WindowApp | window application, which adds over (partition by a order by b) to regular function application. Explicit frames are not currently supported | 
| Fields 
 | |
| SpecialOpK [Name] (Maybe ScalarExpr) [(Text, ScalarExpr)] | Used for the operators which look like functions except the arguments are separated by keywords instead of commas. The maybe is for the first unnamed argument if it is present, and the list is for the keyword argument pairs. | 
| Cast ScalarExpr TypeName | cast(a as typename) | 
| Convert TypeName ScalarExpr (Maybe Integer) | convert expression to given datatype  | 
| Case | case expression. both flavours supported | 
| Fields 
 | |
| Parens ScalarExpr | |
| In Bool ScalarExpr InPredValue | in list literal and in subquery, if the bool is false it means not in was used ('a not in (1,2)') | 
| SubQueryExpr SubQueryExprType QueryExpr | exists, all, any, some subqueries | 
| QuantifiedComparison ScalarExpr [Name] CompPredQuantifier QueryExpr | |
| Match ScalarExpr Bool QueryExpr | |
| Array ScalarExpr [ScalarExpr] | represents an array access expression, or an array ctor e.g. a[3]. The first scalarExpr is the array, the second is the subscripts/ctor args | 
| ArrayCtor QueryExpr | this is used for the query expression version of array constructors, e.g. array(select * from t) | 
| Collate ScalarExpr [Name] | |
| MultisetBinOp ScalarExpr SetOperatorName SetQuantifier ScalarExpr | |
| MultisetCtor [ScalarExpr] | |
| MultisetQueryCtor QueryExpr | |
| NextValueFor [Name] | |
| VEComment [Comment] ScalarExpr | |
| OdbcLiteral OdbcLiteralType Text | an odbc literal e.g. {d '2000-01-01'} | 
| OdbcFunc ScalarExpr | an odbc function call e.g. {fn CHARACTER_LENGTH( | 
Instances
| Data ScalarExpr Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ScalarExpr -> c ScalarExpr # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ScalarExpr # toConstr :: ScalarExpr -> Constr # dataTypeOf :: ScalarExpr -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ScalarExpr) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ScalarExpr) # gmapT :: (forall b. Data b => b -> b) -> ScalarExpr -> ScalarExpr # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ScalarExpr -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ScalarExpr -> r # gmapQ :: (forall d. Data d => d -> u) -> ScalarExpr -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ScalarExpr -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ScalarExpr -> m ScalarExpr # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ScalarExpr -> m ScalarExpr # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ScalarExpr -> m ScalarExpr # | |
| Read ScalarExpr Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods readsPrec :: Int -> ReadS ScalarExpr # readList :: ReadS [ScalarExpr] # readPrec :: ReadPrec ScalarExpr # readListPrec :: ReadPrec [ScalarExpr] # | |
| Show ScalarExpr Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods showsPrec :: Int -> ScalarExpr -> ShowS # show :: ScalarExpr -> String # showList :: [ScalarExpr] -> ShowS # | |
| Eq ScalarExpr Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax | |
Represents an identifier name, which can be quoted or unquoted. examples:
- test -> Name Nothing "test"
- "test" -> Name (Just """,""") "test"
- something-> Name (Just ("`","`") "something"
- [ms] -> Name (Just ("[","]") "ms"
Instances
| Data Name Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Name -> c Name # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Name # dataTypeOf :: Name -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Name) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Name) # gmapT :: (forall b. Data b => b -> b) -> Name -> Name # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r # gmapQ :: (forall d. Data d => d -> u) -> Name -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Name -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Name -> m Name # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name # | |
| Read Name Source # | |
| Show Name Source # | |
| Eq Name Source # | |
Represents a type name, used in casts.
Constructors
Instances
| Data TypeName Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeName -> c TypeName # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeName # toConstr :: TypeName -> Constr # dataTypeOf :: TypeName -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TypeName) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeName) # gmapT :: (forall b. Data b => b -> b) -> TypeName -> TypeName # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeName -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeName -> r # gmapQ :: (forall d. Data d => d -> u) -> TypeName -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeName -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeName -> m TypeName # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeName -> m TypeName # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeName -> m TypeName # | |
| Read TypeName Source # | |
| Show TypeName Source # | |
| Eq TypeName Source # | |
data IntervalTypeField Source #
Instances
Instances
| Data Sign Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sign -> c Sign # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Sign # dataTypeOf :: Sign -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Sign) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Sign) # gmapT :: (forall b. Data b => b -> b) -> Sign -> Sign # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sign -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sign -> r # gmapQ :: (forall d. Data d => d -> u) -> Sign -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Sign -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sign -> m Sign # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign -> m Sign # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign -> m Sign # | |
| Read Sign Source # | |
| Show Sign Source # | |
| Eq Sign Source # | |
data PrecMultiplier Source #
Instances
Constructors
| PrecCharacters | |
| PrecOctets | 
Instances
| Data PrecUnits Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PrecUnits -> c PrecUnits # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PrecUnits # toConstr :: PrecUnits -> Constr # dataTypeOf :: PrecUnits -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PrecUnits) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PrecUnits) # gmapT :: (forall b. Data b => b -> b) -> PrecUnits -> PrecUnits # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PrecUnits -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PrecUnits -> r # gmapQ :: (forall d. Data d => d -> u) -> PrecUnits -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PrecUnits -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PrecUnits -> m PrecUnits # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PrecUnits -> m PrecUnits # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PrecUnits -> m PrecUnits # | |
| Read PrecUnits Source # | |
| Show PrecUnits Source # | |
| Eq PrecUnits Source # | |
data SetQuantifier Source #
Represents the Distinct or All keywords, which can be used before a select list, in an aggregate/window function application, or in a query expression set operator.
Instances
Represents one field in an order by list.
Constructors
| SortSpec ScalarExpr Direction NullsOrder | 
Instances
| Data SortSpec Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SortSpec -> c SortSpec # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SortSpec # toConstr :: SortSpec -> Constr # dataTypeOf :: SortSpec -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SortSpec) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SortSpec) # gmapT :: (forall b. Data b => b -> b) -> SortSpec -> SortSpec # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SortSpec -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SortSpec -> r # gmapQ :: (forall d. Data d => d -> u) -> SortSpec -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SortSpec -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SortSpec -> m SortSpec # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SortSpec -> m SortSpec # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SortSpec -> m SortSpec # | |
| Read SortSpec Source # | |
| Show SortSpec Source # | |
| Eq SortSpec Source # | |
The direction for a column in order by.
Constructors
| DirDefault | |
| Asc | |
| Desc | 
Instances
| Data Direction Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Direction -> c Direction # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Direction # toConstr :: Direction -> Constr # dataTypeOf :: Direction -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Direction) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Direction) # gmapT :: (forall b. Data b => b -> b) -> Direction -> Direction # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Direction -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Direction -> r # gmapQ :: (forall d. Data d => d -> u) -> Direction -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Direction -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Direction -> m Direction # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Direction -> m Direction # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Direction -> m Direction # | |
| Read Direction Source # | |
| Show Direction Source # | |
| Eq Direction Source # | |
data NullsOrder Source #
Represents 'nulls first' or 'nulls last' in an order by clause.
Constructors
| NullsOrderDefault | |
| NullsFirst | |
| NullsLast | 
Instances
| Data NullsOrder Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NullsOrder -> c NullsOrder # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NullsOrder # toConstr :: NullsOrder -> Constr # dataTypeOf :: NullsOrder -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NullsOrder) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NullsOrder) # gmapT :: (forall b. Data b => b -> b) -> NullsOrder -> NullsOrder # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NullsOrder -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NullsOrder -> r # gmapQ :: (forall d. Data d => d -> u) -> NullsOrder -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NullsOrder -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NullsOrder -> m NullsOrder # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NullsOrder -> m NullsOrder # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NullsOrder -> m NullsOrder # | |
| Read NullsOrder Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods readsPrec :: Int -> ReadS NullsOrder # readList :: ReadS [NullsOrder] # readPrec :: ReadPrec NullsOrder # readListPrec :: ReadPrec [NullsOrder] # | |
| Show NullsOrder Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods showsPrec :: Int -> NullsOrder -> ShowS # show :: NullsOrder -> String # showList :: [NullsOrder] -> ShowS # | |
| Eq NullsOrder Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax | |
data InPredValue Source #
Used for 'expr in (scalar expression list)', and 'expr in (subquery)' syntax.
Constructors
| InList [ScalarExpr] | |
| InQueryExpr QueryExpr | 
Instances
data SubQueryExprType Source #
A subquery in a scalar expression.
Instances
data CompPredQuantifier Source #
Instances
Represents the frame clause of a window this can be [range | rows] frame_start or [range | rows] between frame_start and frame_end
Instances
| Data Frame Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Frame -> c Frame # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Frame # dataTypeOf :: Frame -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Frame) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Frame) # gmapT :: (forall b. Data b => b -> b) -> Frame -> Frame # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Frame -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Frame -> r # gmapQ :: (forall d. Data d => d -> u) -> Frame -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Frame -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Frame -> m Frame # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Frame -> m Frame # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Frame -> m Frame # | |
| Read Frame Source # | |
| Show Frame Source # | |
| Eq Frame Source # | |
Represents whether a window frame clause is over rows or ranges.
Constructors
| FrameRows | |
| FrameRange | 
Instances
| Data FrameRows Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FrameRows -> c FrameRows # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FrameRows # toConstr :: FrameRows -> Constr # dataTypeOf :: FrameRows -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FrameRows) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FrameRows) # gmapT :: (forall b. Data b => b -> b) -> FrameRows -> FrameRows # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FrameRows -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FrameRows -> r # gmapQ :: (forall d. Data d => d -> u) -> FrameRows -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FrameRows -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FrameRows -> m FrameRows # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FrameRows -> m FrameRows # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FrameRows -> m FrameRows # | |
| Read FrameRows Source # | |
| Show FrameRows Source # | |
| Eq FrameRows Source # | |
represents the start or end of a frame
Instances
| Data FramePos Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FramePos -> c FramePos # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FramePos # toConstr :: FramePos -> Constr # dataTypeOf :: FramePos -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FramePos) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FramePos) # gmapT :: (forall b. Data b => b -> b) -> FramePos -> FramePos # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FramePos -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FramePos -> r # gmapQ :: (forall d. Data d => d -> u) -> FramePos -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FramePos -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FramePos -> m FramePos # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FramePos -> m FramePos # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FramePos -> m FramePos # | |
| Read FramePos Source # | |
| Show FramePos Source # | |
| Eq FramePos Source # | |
data OdbcLiteralType Source #
the type of an odbc literal (e.g. {d '2000-01-01'}), correpsonding to the letter after the opening {
Constructors
| OLDate | |
| OLTime | |
| OLTimestamp | 
Instances
Query expressions
Represents a query expression, which can be:
- a regular select;
- a set operator (union, except, intersect);
- a common table expression (with);
- a table value constructor (values (1,2),(3,4)); or
- an explicit table (table t).
Constructors
| Select | |
| Fields 
 | |
| QueryExprSetOp | |
| Fields | |
| With | |
| Fields 
 | |
| Values [[ScalarExpr]] | |
| Table [Name] | |
| QueryExprParens QueryExpr | |
| QEComment [Comment] QueryExpr | |
Instances
| Data QueryExpr Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> QueryExpr -> c QueryExpr # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c QueryExpr # toConstr :: QueryExpr -> Constr # dataTypeOf :: QueryExpr -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c QueryExpr) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c QueryExpr) # gmapT :: (forall b. Data b => b -> b) -> QueryExpr -> QueryExpr # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> QueryExpr -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> QueryExpr -> r # gmapQ :: (forall d. Data d => d -> u) -> QueryExpr -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> QueryExpr -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> QueryExpr -> m QueryExpr # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> QueryExpr -> m QueryExpr # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> QueryExpr -> m QueryExpr # | |
| Read QueryExpr Source # | |
| Show QueryExpr Source # | |
| Eq QueryExpr Source # | |
data SetOperatorName Source #
Query expression set operators.
Instances
data Corresponding Source #
Corresponding, an option for the set operators.
Constructors
| Corresponding | |
| Respectively | 
Instances
Represents an alias for a table valued expression, used in with queries and in from alias, e.g. select a from t u, select a from t u(b), with a(c) as select 1, select * from a.
Instances
| Data Alias Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Alias -> c Alias # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Alias # dataTypeOf :: Alias -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Alias) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Alias) # gmapT :: (forall b. Data b => b -> b) -> Alias -> Alias # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Alias -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Alias -> r # gmapQ :: (forall d. Data d => d -> u) -> Alias -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Alias -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Alias -> m Alias # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Alias -> m Alias # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Alias -> m Alias # | |
| Read Alias Source # | |
| Show Alias Source # | |
| Eq Alias Source # | |
data GroupingExpr Source #
Represents an item in a group by clause.
Constructors
| GroupingParens [GroupingExpr] | |
| Cube [GroupingExpr] | |
| Rollup [GroupingExpr] | |
| GroupingSets [GroupingExpr] | |
| SimpleGroup ScalarExpr | 
Instances
| Data GroupingExpr Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GroupingExpr -> c GroupingExpr # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GroupingExpr # toConstr :: GroupingExpr -> Constr # dataTypeOf :: GroupingExpr -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GroupingExpr) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GroupingExpr) # gmapT :: (forall b. Data b => b -> b) -> GroupingExpr -> GroupingExpr # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GroupingExpr -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GroupingExpr -> r # gmapQ :: (forall d. Data d => d -> u) -> GroupingExpr -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> GroupingExpr -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> GroupingExpr -> m GroupingExpr # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GroupingExpr -> m GroupingExpr # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GroupingExpr -> m GroupingExpr # | |
| Read GroupingExpr Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods readsPrec :: Int -> ReadS GroupingExpr # readList :: ReadS [GroupingExpr] # | |
| Show GroupingExpr Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods showsPrec :: Int -> GroupingExpr -> ShowS # show :: GroupingExpr -> String # showList :: [GroupingExpr] -> ShowS # | |
| Eq GroupingExpr Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax | |
From
Represents a entry in the csv of tables in the from clause.
Constructors
| TRSimple [Name] | from t / from s.t | 
| TRJoin TableRef Bool JoinType TableRef (Maybe JoinCondition) | from a join b, the bool is true if natural was used | 
| TRParens TableRef | from (a) | 
| TRAlias TableRef Alias | from a as b(c,d) | 
| TRQueryExpr QueryExpr | from (query expr) | 
| TRFunction [Name] [ScalarExpr] | from function(args) | 
| TRLateral TableRef | from lateral t | 
| TROdbc TableRef | ODBC {oj t1 left outer join t2 on expr} syntax | 
Instances
| Data TableRef Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TableRef -> c TableRef # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TableRef # toConstr :: TableRef -> Constr # dataTypeOf :: TableRef -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TableRef) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TableRef) # gmapT :: (forall b. Data b => b -> b) -> TableRef -> TableRef # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TableRef -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TableRef -> r # gmapQ :: (forall d. Data d => d -> u) -> TableRef -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TableRef -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TableRef -> m TableRef # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TableRef -> m TableRef # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TableRef -> m TableRef # | |
| Read TableRef Source # | |
| Show TableRef Source # | |
| Eq TableRef Source # | |
The type of a join.
Instances
| Data JoinType Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JoinType -> c JoinType # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JoinType # toConstr :: JoinType -> Constr # dataTypeOf :: JoinType -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JoinType) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JoinType) # gmapT :: (forall b. Data b => b -> b) -> JoinType -> JoinType # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JoinType -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JoinType -> r # gmapQ :: (forall d. Data d => d -> u) -> JoinType -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> JoinType -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> JoinType -> m JoinType # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JoinType -> m JoinType # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JoinType -> m JoinType # | |
| Read JoinType Source # | |
| Show JoinType Source # | |
| Eq JoinType Source # | |
data JoinCondition Source #
The join condition.
Constructors
| JoinOn ScalarExpr | on expr | 
| JoinUsing [Name] | using (column list) | 
Instances
Statements
Constructors
Instances
| Data Statement Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Statement -> c Statement # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Statement # toConstr :: Statement -> Constr # dataTypeOf :: Statement -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Statement) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Statement) # gmapT :: (forall b. Data b => b -> b) -> Statement -> Statement # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Statement -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Statement -> r # gmapQ :: (forall d. Data d => d -> u) -> Statement -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Statement -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Statement -> m Statement # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Statement -> m Statement # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Statement -> m Statement # | |
| Read Statement Source # | |
| Show Statement Source # | |
| Eq Statement Source # | |
data DropBehaviour Source #
Constructors
| Restrict | |
| Cascade | |
| DefaultDropBehaviour | 
Instances
data IdentityRestart Source #
Constructors
| ContinueIdentity | |
| RestartIdentity | |
| DefaultIdentityRestart | 
Instances
data InsertSource Source #
Constructors
| InsertQuery QueryExpr | |
| DefaultInsertValues | 
Instances
| Data InsertSource Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InsertSource -> c InsertSource # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InsertSource # toConstr :: InsertSource -> Constr # dataTypeOf :: InsertSource -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InsertSource) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InsertSource) # gmapT :: (forall b. Data b => b -> b) -> InsertSource -> InsertSource # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InsertSource -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InsertSource -> r # gmapQ :: (forall d. Data d => d -> u) -> InsertSource -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> InsertSource -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> InsertSource -> m InsertSource # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InsertSource -> m InsertSource # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InsertSource -> m InsertSource # | |
| Read InsertSource Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods readsPrec :: Int -> ReadS InsertSource # readList :: ReadS [InsertSource] # | |
| Show InsertSource Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods showsPrec :: Int -> InsertSource -> ShowS # show :: InsertSource -> String # showList :: [InsertSource] -> ShowS # | |
| Eq InsertSource Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax | |
Constructors
| Set [Name] ScalarExpr | |
| SetMultiple [[Name]] [ScalarExpr] | 
Instances
| Data SetClause Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetClause -> c SetClause # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetClause # toConstr :: SetClause -> Constr # dataTypeOf :: SetClause -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetClause) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetClause) # gmapT :: (forall b. Data b => b -> b) -> SetClause -> SetClause # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetClause -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetClause -> r # gmapQ :: (forall d. Data d => d -> u) -> SetClause -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SetClause -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetClause -> m SetClause # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetClause -> m SetClause # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetClause -> m SetClause # | |
| Read SetClause Source # | |
| Show SetClause Source # | |
| Eq SetClause Source # | |
data TableElement Source #
Constructors
| TableColumnDef ColumnDef | |
| TableConstraintDef (Maybe [Name]) TableConstraint | 
Instances
| Data TableElement Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TableElement -> c TableElement # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TableElement # toConstr :: TableElement -> Constr # dataTypeOf :: TableElement -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TableElement) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TableElement) # gmapT :: (forall b. Data b => b -> b) -> TableElement -> TableElement # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TableElement -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TableElement -> r # gmapQ :: (forall d. Data d => d -> u) -> TableElement -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TableElement -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TableElement -> m TableElement # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TableElement -> m TableElement # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TableElement -> m TableElement # | |
| Read TableElement Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods readsPrec :: Int -> ReadS TableElement # readList :: ReadS [TableElement] # | |
| Show TableElement Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods showsPrec :: Int -> TableElement -> ShowS # show :: TableElement -> String # showList :: [TableElement] -> ShowS # | |
| Eq TableElement Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax | |
Constructors
| ColumnDef Name (Maybe TypeName) [ColConstraintDef] | 
Instances
| Data ColumnDef Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ColumnDef -> c ColumnDef # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ColumnDef # toConstr :: ColumnDef -> Constr # dataTypeOf :: ColumnDef -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ColumnDef) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ColumnDef) # gmapT :: (forall b. Data b => b -> b) -> ColumnDef -> ColumnDef # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ColumnDef -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ColumnDef -> r # gmapQ :: (forall d. Data d => d -> u) -> ColumnDef -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ColumnDef -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ColumnDef -> m ColumnDef # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ColumnDef -> m ColumnDef # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ColumnDef -> m ColumnDef # | |
| Read ColumnDef Source # | |
| Show ColumnDef Source # | |
| Eq ColumnDef Source # | |
data DefaultClause Source #
Constructors
| DefaultClause ScalarExpr | |
| IdentityColumnSpec IdentityWhen [SequenceGeneratorOption] | |
| GenerationClause ScalarExpr | 
Instances
data IdentityWhen Source #
Constructors
| GeneratedAlways | |
| GeneratedByDefault | 
Instances
| Data IdentityWhen Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IdentityWhen -> c IdentityWhen # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IdentityWhen # toConstr :: IdentityWhen -> Constr # dataTypeOf :: IdentityWhen -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IdentityWhen) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IdentityWhen) # gmapT :: (forall b. Data b => b -> b) -> IdentityWhen -> IdentityWhen # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IdentityWhen -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IdentityWhen -> r # gmapQ :: (forall d. Data d => d -> u) -> IdentityWhen -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> IdentityWhen -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IdentityWhen -> m IdentityWhen # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IdentityWhen -> m IdentityWhen # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IdentityWhen -> m IdentityWhen # | |
| Read IdentityWhen Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods readsPrec :: Int -> ReadS IdentityWhen # readList :: ReadS [IdentityWhen] # | |
| Show IdentityWhen Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods showsPrec :: Int -> IdentityWhen -> ShowS # show :: IdentityWhen -> String # showList :: [IdentityWhen] -> ShowS # | |
| Eq IdentityWhen Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax | |
data SequenceGeneratorOption Source #
Constructors
| SGODataType TypeName | |
| SGOStartWith Integer | |
| SGORestart (Maybe Integer) | |
| SGOIncrementBy Integer | |
| SGOMaxValue Integer | |
| SGONoMaxValue | |
| SGOMinValue Integer | |
| SGONoMinValue | |
| SGOCycle | |
| SGONoCycle | 
Instances
data ColConstraintDef Source #
Constructors
| ColConstraintDef (Maybe [Name]) ColConstraint | 
Instances
type AutoincrementClause = Bool Source #
data ColConstraint Source #
Constructors
Instances
data TableConstraint Source #
Constructors
| TableUniqueConstraint [Name] | |
| TablePrimaryKeyConstraint [Name] | |
| TableReferencesConstraint [Name] [Name] (Maybe [Name]) ReferenceMatch ReferentialAction ReferentialAction | |
| TableCheckConstraint ScalarExpr | 
Instances
data ReferenceMatch Source #
Constructors
| DefaultReferenceMatch | |
| MatchFull | |
| MatchPartial | |
| MatchSimple | 
Instances
data ReferentialAction Source #
Instances
data AlterTableAction Source #
Constructors
Instances
data CheckOption Source #
Constructors
| DefaultCheckOption | |
| CascadedCheckOption | |
| LocalCheckOption | 
Instances
data AlterDomainAction Source #
Constructors
| ADSetDefault ScalarExpr | |
| ADDropDefault | |
| ADAddConstraint (Maybe [Name]) ScalarExpr | |
| ADDropConstraint [Name] | 
Instances
data AdminOption Source #
Constructors
| WithAdminOption | |
| WithoutAdminOption | 
Instances
data GrantOption Source #
Constructors
| WithGrantOption | |
| WithoutGrantOption | 
Instances
data PrivilegeObject Source #
Constructors
| PrivTable [Name] | |
| PrivDomain [Name] | |
| PrivType [Name] | |
| PrivSequence [Name] | |
| PrivFunction [Name] | 
Instances
data PrivilegeAction Source #
Constructors
| PrivAll | |
| PrivSelect [Name] | |
| PrivDelete | |
| PrivInsert [Name] | |
| PrivUpdate [Name] | |
| PrivReferences [Name] | |
| PrivUsage | |
| PrivTrigger | |
| PrivExecute | 
Instances
data AdminOptionFor Source #
Constructors
| AdminOptionFor | |
| NoAdminOptionFor | 
Instances
data GrantOptionFor Source #
Constructors
| GrantOptionFor | |
| NoGrantOptionFor | 
Instances
Comment
Comment. Useful when generating SQL code programmatically. The parser doesn't produce these.
Constructors
| BlockComment Text | 
Instances
| Data Comment Source # | |
| Defined in Language.SQL.SimpleSQL.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Comment -> c Comment # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Comment # toConstr :: Comment -> Constr # dataTypeOf :: Comment -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Comment) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Comment) # gmapT :: (forall b. Data b => b -> b) -> Comment -> Comment # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Comment -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Comment -> r # gmapQ :: (forall d. Data d => d -> u) -> Comment -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Comment -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Comment -> m Comment # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Comment -> m Comment # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Comment -> m Comment # | |
| Read Comment Source # | |
| Show Comment Source # | |
| Eq Comment Source # | |
makeSelect :: MakeSelect Source #
Helper/'default' value for query exprs to make creating query expr values a little easier. It is defined like this:
makeSelect :: MakeSelect
makeSelect
    = MakeSelect
    {msSetQuantifier = SQDefault
    ,msSelectList = []
    ,msFrom = []
    ,msWhere = Nothing
    ,msGroupBy = []
    ,msHaving = Nothing
    ,msOrderBy = []
    ,msOffset = Nothing
    ,msFetchFirst = Nothing}
Example, to create a select query expression with a select list 'sl':
  toQueryExpr $ makeSelect {msSelectList = sl}toQueryExpr :: MakeSelect -> QueryExpr Source #
data MakeSelect Source #
Constructors
| MakeSelect | |
| Fields 
 | |