hssqlppp-0.3.1: SQL parser and type checker




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


Main nodes

data Statement Source


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