Database.HsSqlPpp.Ast
Contents
Description
This module contains the ast node data types. They are very permissive, in that they allow a lot of invalid SQL to be represented. The type checking process should catch all invalid trees, but doesn't quite manage at the moment. Sorry about all the seemingly pointless type synonyms below, they are an artefact of using UUAGC. You can see labels for the fields by looking at the ag source here: http://jakewheat.github.com/hssqlppp/source/src/Database/HsSqlPpp/Internals/AstInternal.ag.html
- type StatementList = [Statement]
- data Statement
- = AlterSequence Annotation String SQIdentifier
- | AlterTable Annotation String AlterTableActionList
- | Assignment Annotation ScalarExpr ScalarExpr
- | Block Annotation (Maybe String) VarDefList StatementList
- | CaseStatement Annotation ScalarExprListStatementListPairList StatementList
- | CaseStatementSimple Annotation ScalarExpr ScalarExprListStatementListPairList StatementList
- | ContinueStatement Annotation (Maybe String)
- | Copy Annotation String [String] CopySource
- | CopyData Annotation String
- | CreateDomain Annotation String TypeName String MaybeBoolExpr
- | CreateFunction Annotation String ParamDefList TypeName Replace Language FnBody Volatility
- | CreateLanguage Annotation String
- | CreateSequence Annotation String Integer Integer Integer Integer Integer
- | CreateTable Annotation String AttributeDefList ConstraintList
- | CreateTableAs Annotation String QueryExpr
- | CreateTrigger Annotation String TriggerWhen [TriggerEvent] String TriggerFire String ScalarExprList
- | CreateType Annotation String TypeAttributeDefList
- | CreateView Annotation String (Maybe [String]) QueryExpr
- | Delete Annotation SQIdentifier TableRefList MaybeBoolExpr MaybeSelectList
- | DropFunction Annotation IfExists StringTypeNameListPairList Cascade
- | DropSomething Annotation DropType IfExists [String] Cascade
- | Execute Annotation ScalarExpr
- | ExitStatement Annotation (Maybe String)
- | ForIntegerStatement Annotation (Maybe String) ScalarExpr ScalarExpr ScalarExpr StatementList
- | ForQueryStatement Annotation (Maybe String) ScalarExpr QueryExpr StatementList
- | If Annotation ScalarExprStatementListPairList StatementList
- | Insert Annotation SQIdentifier [String] QueryExpr MaybeSelectList
- | Into Annotation Bool ScalarExprList Statement
- | LoopStatement Annotation (Maybe String) StatementList
- | Notify Annotation String
- | NullStatement Annotation
- | Perform Annotation ScalarExpr
- | QueryStatement Annotation QueryExpr
- | Raise Annotation RaiseType String ScalarExprList
- | Return Annotation MaybeScalarExpr
- | ReturnNext Annotation ScalarExpr
- | ReturnQuery Annotation QueryExpr
- | Set Annotation String [SetValue]
- | Truncate Annotation [String] RestartIdentity Cascade
- | Update Annotation SQIdentifier ScalarExprList TableRefList MaybeBoolExpr MaybeSelectList
- | WhileStatement Annotation (Maybe String) ScalarExpr StatementList
- data ScalarExpr
- = BooleanLit Annotation Bool
- | Case Annotation CaseScalarExprListScalarExprPairList MaybeScalarExpr
- | CaseSimple Annotation ScalarExpr CaseScalarExprListScalarExprPairList MaybeScalarExpr
- | Cast Annotation ScalarExpr TypeName
- | Exists Annotation QueryExpr
- | Extract Annotation ExtractField ScalarExpr
- | FunCall Annotation String ScalarExprList
- | Identifier Annotation String
- | InPredicate Annotation ScalarExpr Bool InList
- | Interval Annotation String IntervalField (Maybe Int)
- | LiftOperator Annotation String LiftFlavour ScalarExprList
- | NullLit Annotation
- | NumberLit Annotation String
- | Placeholder Annotation
- | PositionalArg Annotation Integer
- | QIdentifier Annotation ScalarExpr String
- | ScalarSubQuery Annotation QueryExpr
- | StringLit Annotation String
- | TypedStringLit Annotation TypeName String
- | WindowFn Annotation ScalarExpr ScalarExprList ScalarExprList Direction FrameClause
- data QueryExpr
- = CombineQueryExpr Annotation CombineType QueryExpr QueryExpr
- | Select Annotation Distinct SelectList TableRefList MaybeBoolExpr ScalarExprList MaybeBoolExpr ScalarExprDirectionPairList MaybeScalarExpr MaybeScalarExpr
- | Values Annotation ScalarExprListList
- | WithQueryExpr Annotation WithQueryList QueryExpr
- data SelectList = SelectList Annotation SelectItemList
- data SelectItem
- data TableRef
- data TableAlias
- data JoinExpr
- data JoinType
- = Inner
- | LeftOuter
- | RightOuter
- | FullOuter
- | Cross
- data Natural
- data CombineType
- data Direction
- data Distinct
- data InList
- data LiftFlavour
- data FrameClause
- type WithQueryList = [WithQuery]
- data WithQuery = WithQuery Annotation String (Maybe [String]) QueryExpr
- data IntervalField
- data ExtractField
- = ExtractCentury
- | ExtractDay
- | ExtractDecade
- | ExtractDow
- | ExtractDoy
- | ExtractEpoch
- | ExtractHour
- | ExtractIsodow
- | ExtractIsoyear
- | ExtractMicroseconds
- | ExtractMillennium
- | ExtractMilliseconds
- | ExtractMinute
- | ExtractMonth
- | ExtractQuarter
- | ExtractSecond
- | ExtractTimezone
- | ExtractTimezoneHour
- | ExtractTimezoneMinute
- | ExtractWeek
- | ExtractYear
- data SQIdentifier = SQIdentifier Annotation [String]
- data CopySource
- = CopyFilename String
- | Stdin
- data RestartIdentity
- data AttributeDef = AttributeDef Annotation String TypeName MaybeScalarExpr RowConstraintList
- data RowConstraint
- data Constraint
- data AlterTableAction
- data TypeAttributeDef = TypeAttDef Annotation String TypeName
- data TypeName
- data DropType
- data IfExists
- data Replace
- data Cascade
- data TriggerWhen
- data TriggerEvent
- data TriggerFire
- = EachRow
- | EachStatement
- data FnBody
- data ParamDef
- data VarDef
- data RaiseType
- = RNotice
- | RException
- | RError
- data Volatility
- data Language
- data SetValue
- type ScalarExprListStatementListPairList = [ScalarExprListStatementListPair]
- type ScalarExprListStatementListPair = (ScalarExprList, StatementList)
- type ScalarExprList = [ScalarExpr]
- type MaybeSelectList = Maybe SelectList
- type ParamDefList = [ParamDef]
- type AttributeDefList = [AttributeDef]
- type ConstraintList = [Constraint]
- type TypeAttributeDefList = [TypeAttributeDef]
- type TypeNameList = [TypeName]
- type StringTypeNameListPair = (String, TypeNameList)
- type StringTypeNameListPairList = [StringTypeNameListPair]
- type ScalarExprStatementListPairList = [ScalarExprStatementListPair]
- type CaseScalarExprListScalarExprPairList = [CaseScalarExprListScalarExprPair]
- type MaybeScalarExpr = Maybe ScalarExpr
- type MaybeBoolExpr = Maybe ScalarExpr
- type TableRefList = [TableRef]
- type ScalarExprListList = [ScalarExprList]
- type SelectItemList = [SelectItem]
- type OnExpr = Maybe JoinExpr
- type RowConstraintList = [RowConstraint]
- type VarDefList = [VarDef]
- type ScalarExprStatementListPair = (ScalarExpr, StatementList)
- type CaseScalarExprListScalarExprPair = (ScalarExprList, ScalarExpr)
- type ScalarExprDirectionPair = (ScalarExpr, Direction)
- type ScalarExprDirectionPairList = [ScalarExprDirectionPair]
- type AlterTableActionList = [AlterTableAction]
Main nodes
type StatementList = [Statement]Source
Constructors
data ScalarExpr Source
Constructors
Instances
Constructors
Components
Selects
data SelectItem Source
Constructors
SelExp Annotation ScalarExpr | |
SelectItem Annotation ScalarExpr String |
Instances
data TableAlias Source
Constructors
FullAlias Annotation String [String] | |
NoAlias Annotation | |
TableAlias Annotation String |
Instances
Constructors
JoinOn Annotation ScalarExpr | |
JoinUsing Annotation [String] |
Constructors
Inner | |
LeftOuter | |
RightOuter | |
FullOuter | |
Cross |
data CombineType Source
Instances
Constructors
InList Annotation ScalarExprList | |
InQueryExpr Annotation QueryExpr |
data LiftFlavour Source
Instances
data FrameClause Source
Instances
type WithQueryList = [WithQuery]Source
data IntervalField Source
data ExtractField Source
Constructors
data SQIdentifier Source
Constructors
SQIdentifier Annotation [String] |
dml
data RestartIdentity Source
Constructors
RestartIdentity | |
ContinueIdentity |
ddl
data AttributeDef Source
Constructors
AttributeDef Annotation String TypeName MaybeScalarExpr RowConstraintList |
data RowConstraint Source
data Constraint Source
Constructors
Instances
data AlterTableAction Source
data TypeAttributeDef Source
Constructors
TypeAttDef Annotation String TypeName |
data TriggerEvent Source
functions
Constructors
PlpgsqlFnBody Annotation Statement | |
SqlFnBody Annotation StatementList |
Constructors
ParamDef Annotation String TypeName | |
ParamDefTp Annotation TypeName |
Constructors
ParamAlias Annotation String Integer | |
VarAlias Annotation String String | |
VarDef Annotation String TypeName (Maybe ScalarExpr) |
Constructors
RNotice | |
RException | |
RError |
data Volatility Source
Instances
misc
Constructors
SetStr Annotation String | |
SetId Annotation String | |
SetNum Annotation Double |
typedefs
type ScalarExprList = [ScalarExpr]Source
type MaybeSelectList = Maybe SelectListSource
type ParamDefList = [ParamDef]Source
type AttributeDefList = [AttributeDef]Source
type ConstraintList = [Constraint]Source
type TypeNameList = [TypeName]Source
type StringTypeNameListPair = (String, TypeNameList)Source
type MaybeScalarExpr = Maybe ScalarExprSource
type MaybeBoolExpr = Maybe ScalarExprSource
type TableRefList = [TableRef]Source
type ScalarExprListList = [ScalarExprList]Source
type SelectItemList = [SelectItem]Source
type RowConstraintList = [RowConstraint]Source
type VarDefList = [VarDef]Source
type ScalarExprDirectionPair = (ScalarExpr, Direction)Source