Versions in this module Expand all Collapse all v0 v0.0.2 Sep 5, 2019 Changes in this version + var JoinTypes = [...]string + var LogicalBinaryExpTypes = [...]string + var OrderTypes = [...]string + type AliasedRelation struct + Alias *Identifier + ColumnNames []*Identifier + Relation IRelation + func NewAliasedRelation(location *NodeLocation, relation IRelation, alias *Identifier, ...) *AliasedRelation + func (n *AliasedRelation) Accept(visitor AstVisitor, ctx interface{}) interface{} + type AllColumns struct + Prefix *QualifiedName + func NewAllColumns(location *NodeLocation, prefix *QualifiedName) *AllColumns + func (n *AllColumns) Accept(visitor AstVisitor, ctx interface{}) interface{} + type AstVisitor interface + VisitAliasedRelation func(aliasedRelation *AliasedRelation, ctx interface{}) interface{} + VisitAllColumns func(allColumns *AllColumns, ctx interface{}) interface{} + VisitExpression func(exp IExpression, ctx interface{}) interface{} + VisitGroupBy func(groupby *GroupBy, ctx interface{}) interface{} + VisitGroupingElement func(groupElement IGroupingElement, ctx interface{}) interface{} + VisitIdentifier func(identifier *Identifier, ctx interface{}) interface{} + VisitJoin func(join *Join, ctx interface{}) interface{} + VisitLogicalBinaryExpression func(logicalBinaryExpr *LogicalBinaryExpression, ctx interface{}) interface{} + VisitOrderBy func(orderBy *OrderBy, ctx interface{}) interface{} + VisitQuery func(query *Query, ctx interface{}) interface{} + VisitQueryBody func(queryBody IQueryBody, ctx interface{}) interface{} + VisitQuerySpecification func(querySpec *QuerySpecification, ctx interface{}) interface{} + VisitRelation func(relation IRelation, ctx interface{}) interface{} + VisitSelect func(sel *Select, ctx interface{}) interface{} + VisitSelectItem func(selectItem ISelectItem, ctx interface{}) interface{} + VisitSimpleGroupBy func(simpleGroupBy *SimpleGroupBy, ctx interface{}) interface{} + VisitSingleColumn func(singleColumn *SingleColumn, ctx interface{}) interface{} + VisitSortItem func(sortItem *SortItem, ctx interface{}) interface{} + VisitStatement func(statement IStatement, ctx interface{}) interface{} + VisitTable func(table *Table, ctx interface{}) interface{} + VisitTableSubquery func(tableSubquery *TableSubquery, ctx interface{}) interface{} + VisitWith func(with *With, ctx interface{}) interface{} + VisitWithQuery func(with *WithQuery, ctx interface{}) interface{} + type Expression struct + func NewExpression(location *NodeLocation) *Expression + func (e *Expression) Accept(visitor AstVisitor, ctx interface{}) interface{} + type GroupBy struct + GroupingElements []IGroupingElement + IsDistinct bool + func NewGroupBy(location *NodeLocation, distinct bool, elements []IGroupingElement) *GroupBy + func (e *GroupBy) Accept(visitor AstVisitor, ctx interface{}) interface{} + type GroupingElement struct + func NewGroupingElement(location *NodeLocation) *GroupingElement + func (g *GroupingElement) Accept(visitor AstVisitor, ctx interface{}) interface{} + type IExpression interface + type IGroupingElement interface + type IJoinCriteria interface + GetNodes func() []INode + type INode interface + Accept func(visitor AstVisitor, ctx interface{}) interface{} + GetValue func() string + SetValue func(value string) + type IQueryBody interface + type IRelation interface + type ISelectItem interface + type IStatement interface + type Identifier struct + Delimited bool + Value string + func NewIdentifier(location *NodeLocation, value string, delimited bool) *Identifier + func (e *Identifier) Accept(visitor AstVisitor, ctx interface{}) interface{} + type Join struct + Criteria IJoinCriteria + Left IRelation + Right IRelation + Type JoinType + func NewJoin(location *NodeLocation, joinType JoinType, left, right IRelation, ...) *Join + func (e *Join) Accept(visitor AstVisitor, ctx interface{}) interface{} + type JoinOn struct + Expr IExpression + func NewJoinOn(expr IExpression) *JoinOn + func (j *JoinOn) GetNodes() []INode + type JoinType int + const CROSS + const FULL + const IMPLICIT + const INNER + const LEFT + const RIGHT + type JoinUsing struct + Columns []*Identifier + func NewJoinUsing(columns []*Identifier) *JoinUsing + func (j *JoinUsing) GetNodes() []INode + type LogicalBinaryExpType int + const AND + const NOOP + const OR + type LogicalBinaryExpression struct + Left IExpression + LogicType LogicalBinaryExpType + Right IExpression + func NewLogicalBinaryExpression(location *NodeLocation, logicType LogicalBinaryExpType, ...) *LogicalBinaryExpression + func (e *LogicalBinaryExpression) Accept(visitor AstVisitor, ctx interface{}) interface{} + type NaturalJoin struct + func NewNaturalJoin() *NaturalJoin + func (n *NaturalJoin) GetNodes() []INode + type Node struct + Location *NodeLocation + func NewNode(location *NodeLocation) *Node + func (n *Node) Accept(visitor AstVisitor, ctx interface{}) interface{} + func (n *Node) GetValue() string + func (n *Node) SetValue(value string) + type NodeLocation struct + CharPosition int + Line int + type OrderBy struct + SortItems []*SortItem + func NewOrderBy(location *NodeLocation, sortItems []*SortItem) *OrderBy + func (n *OrderBy) Accept(visitor AstVisitor, ctx interface{}) interface{} + type OrderType int + const ASC + const DESC + type QualifiedName struct + OriginalParts []string + Parts []string + func NewQualifiedName(originalParts, parts []string) *QualifiedName + func (n *QualifiedName) String() string + type Query struct + Limit string + OrderBy *OrderBy + QueryBody IQueryBody + With *With + func NewQuery(location *NodeLocation, with *With, queryBody IQueryBody, order *OrderBy, ...) *Query + func (n *Query) Accept(visitor AstVisitor, ctx interface{}) interface{} + type QueryBody struct + func NewQueryBody(location *NodeLocation) *QueryBody + func (q *QueryBody) Accept(visitor AstVisitor, ctx interface{}) interface{} + type QuerySpecification struct + From IRelation + GroupBy *GroupBy + Having IExpression + Limit string + OrderBy *OrderBy + Select *Select + Where IExpression + func NewQuerySpecification(location *NodeLocation, sel *Select, from IRelation, where IExpression, ...) *QuerySpecification + func (e *QuerySpecification) Accept(visitor AstVisitor, ctx interface{}) interface{} + type Relation struct + func NewRelation(location *NodeLocation) *Relation + func (r *Relation) Accept(visitor AstVisitor, ctx interface{}) interface{} + type Select struct + Distinct bool + SelectItems []ISelectItem + func NewSelect(location *NodeLocation, distinct bool, selectItems []ISelectItem) *Select + func (r *Select) Accept(visitor AstVisitor, ctx interface{}) interface{} + type SelectItem struct + func NewSelectItem(location *NodeLocation) *SelectItem + func (r *SelectItem) Accept(visitor AstVisitor, ctx interface{}) interface{} + type SimpleGroupBy struct + Columns []IExpression + func NewSimpleGroupBy(location *NodeLocation, expressions []IExpression) *SimpleGroupBy + func (q *SimpleGroupBy) Accept(visitor AstVisitor, ctx interface{}) interface{} + type SingleColumn struct + Alias *Identifier + Expression IExpression + func NewSingleColumn(location *NodeLocation, expr IExpression, alias *Identifier) *SingleColumn + func (q *SingleColumn) Accept(visitor AstVisitor, ctx interface{}) interface{} + type SortItem struct + Expr IExpression + Order OrderType + func NewSortItem(location *NodeLocation, expr IExpression, order OrderType) *SortItem + func (q *SortItem) Accept(visitor AstVisitor, ctx interface{}) interface{} + type Statement struct + func NewStatement(location *NodeLocation) *Statement + func (q *Statement) Accept(visitor AstVisitor, ctx interface{}) interface{} + type Table struct + Name *QualifiedName + func NewTable(location *NodeLocation, name *QualifiedName) *Table + func (q *Table) Accept(visitor AstVisitor, ctx interface{}) interface{} + type TableSubquery struct + Query *Query + func NewTableSubquery(location *NodeLocation, query *Query) *TableSubquery + func (q *TableSubquery) Accept(visitor AstVisitor, ctx interface{}) interface{} + type With struct + Queries []*WithQuery + Recursive bool + func NewWith(location *NodeLocation, recursive bool, queries []*WithQuery) *With + func (n *With) Accept(visitor AstVisitor, ctx interface{}) interface{} + type WithQuery struct + ColumnAliases []*Identifier + Name *Identifier + Query *Query + func NewWithQuery(location *NodeLocation, name *Identifier, query *Query, ...) *WithQuery + func (q *WithQuery) Accept(visitor AstVisitor, ctx interface{}) interface{}