Documentation
¶
Overview ¶
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Package sqlast declares types that used to represent abstract syntax tree of sql. Basically, these definitions are from https://github.com/andygrove/sqlparser-rs and https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_5_lexical_elements. However, in some cases, the syntax is extended to support RDBMS specific syntax such as PGAlterTableAction.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Code generated by genmark. DO NOT EDIT.
Index ¶
- func Inspect(node Node, f func(node Node) bool)
- func NewSize(s uint) *uint
- func Walk(v Visitor, node Node)
- type AddColumnTableAction
- type AddConstraintTableAction
- type AliasSelectItem
- type AlterColumnAction
- type AlterColumnTableAction
- type AlterTableAction
- type AlterTableStmt
- type Array
- type Assignment
- type AutoIncrement
- type Between
- type BigInt
- type Binary
- type BinaryExpr
- type Blob
- type Boolean
- type BooleanValue
- type Bytea
- type CTE
- type CaseExpr
- type Cast
- type CharType
- type CheckColumnSpec
- type CheckTableConstraint
- type Clob
- type ColumnConstraint
- type ColumnConstraintSpec
- type ColumnDef
- type Comment
- type CommentGroup
- type CommentMap
- type CompoundIdent
- type ConstructorSource
- type CopyStmt
- type CreateIndexStmt
- type CreateTableStmt
- type CreateViewStmt
- type CrossJoin
- type CurrentRow
- type Custom
- type Date
- type DateTimeValue
- type DateValue
- type Decimal
- type DeleteStmt
- type Derived
- type Double
- type DoubleValue
- type DropConstraintTableAction
- type DropDefaultColumnAction
- type DropIndexStmt
- type DropTableStmt
- type ExceptOperator
- type Exists
- type ExplainStmt
- type File
- type FileFormat
- type Float
- type Following
- type Function
- type Ident
- type InList
- type InSubQuery
- type InsertSource
- type InsertStmt
- type Int
- type IntersectOperator
- type IsNotNull
- type IsNull
- type JoinCondition
- type JoinElement
- type JoinSpec
- type JoinType
- type JoinTypeCondition
- type LimitExpr
- type LongValue
- type MyCharset
- type MyDataTypeDecoration
- type MyEngine
- type NamedColumnsJoin
- type NationalStringLiteral
- type NaturalJoin
- type Nested
- type Node
- type NotNullColumnSpec
- type NullValue
- type ObjectName
- type Operator
- type OperatorType
- type OrderByExpr
- type PGAlterDataTypeColumnAction
- type PGDropNotNullColumnAction
- type PGSetNotNullColumnAction
- type PartitionedJoinTable
- type Preceding
- type QualifiedJoin
- type QualifiedWildcard
- type QualifiedWildcardSelectItem
- type QueryExpr
- type QueryStmt
- type Real
- type ReferenceKeyExpr
- type ReferencesColumnSpec
- type ReferentialTableConstraint
- type Regclass
- type RemoveColumnTableAction
- type RowValueExpr
- type SQLSelect
- type SQLSelectItem
- type SQLSetExpr
- type SQLSetOperator
- type SQLWindowFrameBound
- type SelectExpr
- type SetDefaultColumnAction
- type SetOperationExpr
- type SingleQuotedString
- type SmallInt
- type Stmt
- type SubQuery
- type SubQuerySource
- type Table
- type TableConstraint
- type TableConstraintSpec
- type TableElement
- type TableFactor
- type TableJoinElement
- type TableOption
- type TableReference
- type Text
- type Time
- type TimeValue
- type Timestamp
- type TimestampValue
- type Type
- type UUID
- type UnaryExpr
- type UnboundedFollowing
- type UnboundedPreceding
- type UnionOperator
- type UniqueColumnSpec
- type UniqueTableConstraint
- type UnnamedSelectItem
- type UpdateStmt
- type Value
- type Varbinary
- type VarcharType
- type Visitor
- type Wildcard
- type WildcardSelectItem
- type WindowFrame
- type WindowFrameUnit
- type WindowFrameUnitType
- type WindowSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AddColumnTableAction ¶
type AddColumnTableAction struct {
Add sqltoken.Pos
Column *ColumnDef
// contains filtered or unexported fields
}
func (*AddColumnTableAction) End ¶
func (a *AddColumnTableAction) End() sqltoken.Pos
func (*AddColumnTableAction) Pos ¶
func (a *AddColumnTableAction) Pos() sqltoken.Pos
func (*AddColumnTableAction) ToSQLString ¶
func (a *AddColumnTableAction) ToSQLString() string
type AddConstraintTableAction ¶
type AddConstraintTableAction struct {
Add sqltoken.Pos
Constraint *TableConstraint
// contains filtered or unexported fields
}
func (*AddConstraintTableAction) End ¶
func (a *AddConstraintTableAction) End() sqltoken.Pos
func (*AddConstraintTableAction) Pos ¶
func (a *AddConstraintTableAction) Pos() sqltoken.Pos
func (*AddConstraintTableAction) ToSQLString ¶
func (a *AddConstraintTableAction) ToSQLString() string
type AliasSelectItem ¶
func (*AliasSelectItem) End ¶
func (a *AliasSelectItem) End() sqltoken.Pos
func (*AliasSelectItem) Pos ¶
func (a *AliasSelectItem) Pos() sqltoken.Pos
func (*AliasSelectItem) ToSQLString ¶
func (a *AliasSelectItem) ToSQLString() string
type AlterColumnAction ¶
type AlterColumnAction interface {
Node
// contains filtered or unexported methods
}
type AlterColumnTableAction ¶
type AlterColumnTableAction struct {
ColumnName *Ident
Alter sqltoken.Pos
Action AlterColumnAction
// contains filtered or unexported fields
}
func (*AlterColumnTableAction) End ¶
func (a *AlterColumnTableAction) End() sqltoken.Pos
func (*AlterColumnTableAction) Pos ¶
func (a *AlterColumnTableAction) Pos() sqltoken.Pos
func (*AlterColumnTableAction) ToSQLString ¶
func (a *AlterColumnTableAction) ToSQLString() string
type AlterTableAction ¶
type AlterTableAction interface {
Node
// contains filtered or unexported methods
}
type AlterTableStmt ¶
type AlterTableStmt struct {
Alter sqltoken.Pos
TableName *ObjectName
Action AlterTableAction
// contains filtered or unexported fields
}
func (*AlterTableStmt) End ¶
func (a *AlterTableStmt) End() sqltoken.Pos
func (*AlterTableStmt) Pos ¶
func (a *AlterTableStmt) Pos() sqltoken.Pos
func (*AlterTableStmt) ToSQLString ¶
func (a *AlterTableStmt) ToSQLString() string
type Array ¶
func (*Array) ToSQLString ¶
type Assignment ¶
func (*Assignment) End ¶
func (a *Assignment) End() sqltoken.Pos
func (*Assignment) Pos ¶
func (a *Assignment) Pos() sqltoken.Pos
func (*Assignment) ToSQLString ¶
func (a *Assignment) ToSQLString() string
type AutoIncrement ¶
type AutoIncrement struct {
Auto sqltoken.Pos
Increment sqltoken.Pos
// contains filtered or unexported fields
}
func (*AutoIncrement) End ¶
func (a *AutoIncrement) End() sqltoken.Pos
func (*AutoIncrement) Pos ¶
func (a *AutoIncrement) Pos() sqltoken.Pos
func (*AutoIncrement) ToSQLString ¶
func (a *AutoIncrement) ToSQLString() string
type BigInt ¶
func (*BigInt) ToSQLString ¶
type Binary ¶
func (*Binary) ToSQLString ¶
type BinaryExpr ¶
`Left Op Right`
func (*BinaryExpr) End ¶
func (s *BinaryExpr) End() sqltoken.Pos
func (*BinaryExpr) Pos ¶
func (s *BinaryExpr) Pos() sqltoken.Pos
func (*BinaryExpr) ToSQLString ¶
func (s *BinaryExpr) ToSQLString() string
type Blob ¶
func (*Blob) ToSQLString ¶
type Boolean ¶
func (*Boolean) ToSQLString ¶
type BooleanValue ¶
func NewBooleanValue ¶
func NewBooleanValue(b bool) *BooleanValue
func (*BooleanValue) End ¶
func (b *BooleanValue) End() sqltoken.Pos
func (*BooleanValue) Pos ¶
func (b *BooleanValue) Pos() sqltoken.Pos
func (*BooleanValue) ToSQLString ¶
func (b *BooleanValue) ToSQLString() string
func (*BooleanValue) Value ¶
func (b *BooleanValue) Value() interface{}
type Bytea ¶
func (*Bytea) ToSQLString ¶
type CaseExpr ¶
type CaseExpr struct {
Case sqltoken.Pos // first position of CASE keyword
CaseEnd sqltoken.Pos // Last position of END keyword
Operand Node
Conditions []Node
Results []Node
ElseResult Node
}
CASE [Operand] WHEN Conditions... THEN Results... [ELSE ElseResult] END
func (*CaseExpr) ToSQLString ¶
type Cast ¶
type Cast struct {
Expr Node
DateType Type
Cast sqltoken.Pos // first position of CAST token
RParen sqltoken.Pos
}
`CAST(Expr AS DataType)`
func (*Cast) ToSQLString ¶
type CharType ¶
func (*CharType) ToSQLString ¶
type CheckColumnSpec ¶
func (*CheckColumnSpec) End ¶
func (c *CheckColumnSpec) End() sqltoken.Pos
func (*CheckColumnSpec) Pos ¶
func (c *CheckColumnSpec) Pos() sqltoken.Pos
func (*CheckColumnSpec) ToSQLString ¶
func (c *CheckColumnSpec) ToSQLString() string
type CheckTableConstraint ¶
type CheckTableConstraint struct {
Check sqltoken.Pos
RParen sqltoken.Pos
Expr Node
// contains filtered or unexported fields
}
func (*CheckTableConstraint) End ¶
func (c *CheckTableConstraint) End() sqltoken.Pos
func (*CheckTableConstraint) Pos ¶
func (c *CheckTableConstraint) Pos() sqltoken.Pos
func (*CheckTableConstraint) ToSQLString ¶
func (c *CheckTableConstraint) ToSQLString() string
type Clob ¶
func (*Clob) ToSQLString ¶
type ColumnConstraint ¶
type ColumnConstraint struct {
Name *Ident
Constraint sqltoken.Pos
Spec ColumnConstraintSpec
}
func (*ColumnConstraint) End ¶
func (c *ColumnConstraint) End() sqltoken.Pos
func (*ColumnConstraint) Pos ¶
func (c *ColumnConstraint) Pos() sqltoken.Pos
func (*ColumnConstraint) ToSQLString ¶
func (c *ColumnConstraint) ToSQLString() string
type ColumnConstraintSpec ¶
type ColumnConstraintSpec interface {
Node
}
https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#column-constraint
type ColumnDef ¶
type ColumnDef struct {
Name *Ident
DataType Type
Default Node
MyDataTypeDecoration []MyDataTypeDecoration // DataType Decoration for MySQL eg. AUTO_INCREMENT currently, only supports AUTO_INCREMENT
Constraints []*ColumnConstraint
// contains filtered or unexported fields
}
func (*ColumnDef) ToSQLString ¶
type Comment ¶
func (*Comment) ToSQLString ¶
type CommentGroup ¶
type CommentGroup struct {
List []*Comment
}
func (*CommentGroup) End ¶
func (c *CommentGroup) End() sqltoken.Pos
func (*CommentGroup) Pos ¶
func (c *CommentGroup) Pos() sqltoken.Pos
func (*CommentGroup) ToSQLString ¶
func (c *CommentGroup) ToSQLString() string
type CommentMap ¶
type CommentMap map[Node][]*CommentGroup
func NewCommentMap ¶
func NewCommentMap(file *File) CommentMap
type CompoundIdent ¶
type CompoundIdent struct {
Idents []*Ident
}
table.column / schema.table.column
func (*CompoundIdent) End ¶
func (s *CompoundIdent) End() sqltoken.Pos
func (*CompoundIdent) Pos ¶
func (s *CompoundIdent) Pos() sqltoken.Pos
func (*CompoundIdent) ToSQLString ¶
func (s *CompoundIdent) ToSQLString() string
type ConstructorSource ¶
type ConstructorSource struct {
Values sqltoken.Pos
Rows []*RowValueExpr
// contains filtered or unexported fields
}
func (*ConstructorSource) End ¶
func (c *ConstructorSource) End() sqltoken.Pos
func (*ConstructorSource) Pos ¶
func (c *ConstructorSource) Pos() sqltoken.Pos
func (*ConstructorSource) ToSQLString ¶
func (c *ConstructorSource) ToSQLString() string
type CopyStmt ¶
type CopyStmt struct {
Copy sqltoken.Pos
TableName *ObjectName
Columns []*Ident
Values []*string
// contains filtered or unexported fields
}
TODO Remove CopyStmt
func (*CopyStmt) ToSQLString ¶
type CreateIndexStmt ¶
type CreateIndexStmt struct {
Create sqltoken.Pos
TableName *ObjectName
IsUnique bool
IndexName *Ident
MethodName *Ident
ColumnNames []*Ident
RParen sqltoken.Pos
Selection Node
// contains filtered or unexported fields
}
func (*CreateIndexStmt) End ¶
func (c *CreateIndexStmt) End() sqltoken.Pos
func (*CreateIndexStmt) Pos ¶
func (c *CreateIndexStmt) Pos() sqltoken.Pos
func (*CreateIndexStmt) ToSQLString ¶
func (c *CreateIndexStmt) ToSQLString() string
type CreateTableStmt ¶
type CreateTableStmt struct {
Create sqltoken.Pos
Name *ObjectName
Elements []TableElement
Location *string
NotExists bool
Options []TableOption
// contains filtered or unexported fields
}
func (*CreateTableStmt) End ¶
func (c *CreateTableStmt) End() sqltoken.Pos
func (*CreateTableStmt) Pos ¶
func (c *CreateTableStmt) Pos() sqltoken.Pos
func (*CreateTableStmt) ToSQLString ¶
func (c *CreateTableStmt) ToSQLString() string
type CreateViewStmt ¶
type CreateViewStmt struct {
Create sqltoken.Pos
Name *ObjectName
Query *QueryStmt
Materialized bool
// contains filtered or unexported fields
}
func (*CreateViewStmt) End ¶
func (c *CreateViewStmt) End() sqltoken.Pos
func (*CreateViewStmt) Pos ¶
func (c *CreateViewStmt) Pos() sqltoken.Pos
func (*CreateViewStmt) ToSQLString ¶
func (c *CreateViewStmt) ToSQLString() string
type CrossJoin ¶
type CrossJoin struct {
Reference TableReference
Factor TableFactor
// contains filtered or unexported fields
}
func (*CrossJoin) ToSQLString ¶
type CurrentRow ¶
type CurrentRow struct {
Current sqltoken.Pos
Row sqltoken.Pos
// contains filtered or unexported fields
}
func (*CurrentRow) End ¶
func (c *CurrentRow) End() sqltoken.Pos
func (*CurrentRow) Pos ¶
func (c *CurrentRow) Pos() sqltoken.Pos
func (*CurrentRow) ToSQLString ¶
func (*CurrentRow) ToSQLString() string
type Date ¶
func (*Date) ToSQLString ¶
type DateTimeValue ¶
func NewDateTimeValue ¶
func NewDateTimeValue(t time.Time) *DateTimeValue
func (*DateTimeValue) End ¶
func (d *DateTimeValue) End() sqltoken.Pos
func (*DateTimeValue) Pos ¶
func (d *DateTimeValue) Pos() sqltoken.Pos
func (*DateTimeValue) ToSQLString ¶
func (d *DateTimeValue) ToSQLString() string
func (*DateTimeValue) Value ¶
func (d *DateTimeValue) Value() interface{}
type DateValue ¶
func (*DateValue) ToSQLString ¶
type Decimal ¶
type Decimal struct {
Precision *uint
Scale *uint
Numeric, RParen sqltoken.Pos
IsUnsigned bool
Unsigned sqltoken.Pos
}
func (*Decimal) ToSQLString ¶
type DeleteStmt ¶
type DeleteStmt struct {
Delete sqltoken.Pos
TableName *ObjectName
Selection Node
// contains filtered or unexported fields
}
func (*DeleteStmt) End ¶
func (d *DeleteStmt) End() sqltoken.Pos
func (*DeleteStmt) Pos ¶
func (d *DeleteStmt) Pos() sqltoken.Pos
func (*DeleteStmt) ToSQLString ¶
func (d *DeleteStmt) ToSQLString() string
type Derived ¶
type Derived struct {
Lateral bool
LateralPos sqltoken.Pos // last position of LATERAL keyword if Lateral is true
LParen sqltoken.Pos
RParen sqltoken.Pos
SubQuery *QueryStmt
Alias *Ident
// contains filtered or unexported fields
}
func (*Derived) ToSQLString ¶
type Double ¶
func (*Double) ToSQLString ¶
type DoubleValue ¶
func NewDoubleValue ¶
func NewDoubleValue(f float64) *DoubleValue
func (*DoubleValue) End ¶
func (d *DoubleValue) End() sqltoken.Pos
func (*DoubleValue) Pos ¶
func (d *DoubleValue) Pos() sqltoken.Pos
func (*DoubleValue) ToSQLString ¶
func (d *DoubleValue) ToSQLString() string
func (*DoubleValue) Value ¶
func (d *DoubleValue) Value() interface{}
type DropConstraintTableAction ¶
type DropConstraintTableAction struct {
Name *Ident
Drop sqltoken.Pos
Cascade bool
CascadePos sqltoken.Pos
// contains filtered or unexported fields
}
func (*DropConstraintTableAction) End ¶
func (d *DropConstraintTableAction) End() sqltoken.Pos
func (*DropConstraintTableAction) Pos ¶
func (d *DropConstraintTableAction) Pos() sqltoken.Pos
func (*DropConstraintTableAction) ToSQLString ¶
func (d *DropConstraintTableAction) ToSQLString() string
type DropDefaultColumnAction ¶
type DropDefaultColumnAction struct {
Drop, Default sqltoken.Pos
// contains filtered or unexported fields
}
func (*DropDefaultColumnAction) End ¶
func (d *DropDefaultColumnAction) End() sqltoken.Pos
func (*DropDefaultColumnAction) Pos ¶
func (d *DropDefaultColumnAction) Pos() sqltoken.Pos
func (*DropDefaultColumnAction) ToSQLString ¶
func (*DropDefaultColumnAction) ToSQLString() string
type DropIndexStmt ¶
type DropIndexStmt struct {
Drop sqltoken.Pos
IndexNames []*Ident
// contains filtered or unexported fields
}
func (*DropIndexStmt) End ¶
func (d *DropIndexStmt) End() sqltoken.Pos
func (*DropIndexStmt) Pos ¶
func (d *DropIndexStmt) Pos() sqltoken.Pos
func (*DropIndexStmt) ToSQLString ¶
func (s *DropIndexStmt) ToSQLString() string
type DropTableStmt ¶
type DropTableStmt struct {
TableNames []*ObjectName
Cascade bool
CascadePos sqltoken.Pos
IfExists bool
Drop sqltoken.Pos
// contains filtered or unexported fields
}
func (*DropTableStmt) End ¶
func (d *DropTableStmt) End() sqltoken.Pos
func (*DropTableStmt) Pos ¶
func (d *DropTableStmt) Pos() sqltoken.Pos
func (*DropTableStmt) ToSQLString ¶
func (d *DropTableStmt) ToSQLString() string
type ExceptOperator ¶
func (*ExceptOperator) End ¶
func (e *ExceptOperator) End() sqltoken.Pos
func (*ExceptOperator) Pos ¶
func (e *ExceptOperator) Pos() sqltoken.Pos
func (*ExceptOperator) ToSQLString ¶
func (*ExceptOperator) ToSQLString() string
type Exists ¶
type Exists struct {
Negated bool
Query *QueryStmt
Not sqltoken.Pos // first position of NOT keyword when Negated is true
Exists sqltoken.Pos // first position of EXISTS keyword
RParen sqltoken.Pos
}
[ NOT ] EXISTS (QueryStmt)
func (*Exists) ToSQLString ¶
type ExplainStmt ¶
type ExplainStmt struct {
Stmt Stmt
Explain sqltoken.Pos
// contains filtered or unexported fields
}
func (*ExplainStmt) End ¶
func (e *ExplainStmt) End() sqltoken.Pos
func (*ExplainStmt) Pos ¶
func (e *ExplainStmt) Pos() sqltoken.Pos
func (*ExplainStmt) ToSQLString ¶
func (e *ExplainStmt) ToSQLString() string
type FileFormat ¶
type FileFormat int
TODO remove
const ( TEXTFILE FileFormat = iota SEQUENCEFILE ORC PARQUET AVRO RCFILE JSONFILE )
func (FileFormat) FromStr ¶
func (FileFormat) FromStr(str string) FileFormat
func (*FileFormat) ToSQLString ¶
func (f *FileFormat) ToSQLString() string
type Float ¶
type Float struct {
Size *uint
From, To, RParen sqltoken.Pos
IsUnsigned bool
Unsigned sqltoken.Pos
}
func (*Float) ToSQLString ¶
type Following ¶
type Following struct {
From sqltoken.Pos // first char position of Bound
Following sqltoken.Pos // last char position of FOLLOWING
Bound *uint64
// contains filtered or unexported fields
}
`Bound FOLLOWING`
func (*Following) ToSQLString ¶
type Function ¶
type Function struct {
Name *ObjectName // Function Name
Args []Node
ArgsRParen sqltoken.Pos // function args RParen position
Over *WindowSpec
OverRparen sqltoken.Pos // Over RParen position (if Over is not nil)
}
Name(Args...) [OVER (Over)]
func (*Function) ToSQLString ¶
type InSubQuery ¶
`Expr [ NOT ] IN SubQuery`
func (*InSubQuery) End ¶
func (s *InSubQuery) End() sqltoken.Pos
func (*InSubQuery) Pos ¶
func (s *InSubQuery) Pos() sqltoken.Pos
func (*InSubQuery) ToSQLString ¶
func (s *InSubQuery) ToSQLString() string
type InsertSource ¶
type InsertSource interface {
Node
// contains filtered or unexported methods
}
type InsertStmt ¶
type InsertStmt struct {
Insert sqltoken.Pos // first position of INSERT keyword
TableName *ObjectName
Columns []*Ident
Source InsertSource // Insert Source [SubQuery or Constructor]
UpdateAssignments []*Assignment // MySQL only (ON DUPLICATED KEYS)
// contains filtered or unexported fields
}
Insert Statement
func (*InsertStmt) End ¶
func (i *InsertStmt) End() sqltoken.Pos
func (*InsertStmt) Pos ¶
func (i *InsertStmt) Pos() sqltoken.Pos
func (*InsertStmt) ToSQLString ¶
func (i *InsertStmt) ToSQLString() string
type Int ¶
func (*Int) ToSQLString ¶
type IntersectOperator ¶
func (*IntersectOperator) End ¶
func (i *IntersectOperator) End() sqltoken.Pos
func (*IntersectOperator) Pos ¶
func (i *IntersectOperator) Pos() sqltoken.Pos
func (IntersectOperator) ToSQLString ¶
func (IntersectOperator) ToSQLString() string
type JoinCondition ¶
type JoinCondition struct {
SearchCondition Node
On sqltoken.Pos
// contains filtered or unexported fields
}
func (*JoinCondition) End ¶
func (j *JoinCondition) End() sqltoken.Pos
func (*JoinCondition) Pos ¶
func (j *JoinCondition) Pos() sqltoken.Pos
func (*JoinCondition) ToSQLString ¶
func (j *JoinCondition) ToSQLString() string
type JoinElement ¶
type JoinElement interface {
Node
// contains filtered or unexported methods
}
type JoinType ¶
type JoinType struct {
Condition JoinTypeCondition
From, To sqltoken.Pos
}
func (*JoinType) ToSQLString ¶
type JoinTypeCondition ¶
type JoinTypeCondition int
const ( INNER JoinTypeCondition = iota LEFT RIGHT FULL LEFTOUTER RIGHTOUTER FULLOUTER IMPLICIT )
type LimitExpr ¶
type LimitExpr struct {
All bool
AllPos sqltoken.Pos // ALL keyword position if All is true
Limit sqltoken.Pos // Limit keyword position
LimitValue *LongValue
OffsetValue *LongValue
}
LIMIT [ALL | LimitValue ] [ OFFSET OffsetValue]
func (*LimitExpr) ToSQLString ¶
type MyCharset ¶
type MyCharset struct {
IsDefault bool
Default sqltoken.Pos
Charset sqltoken.Pos
Equal bool
Name *Ident
// contains filtered or unexported fields
}
func (*MyCharset) ToSQLString ¶
type MyDataTypeDecoration ¶
type MyDataTypeDecoration interface {
Node
// contains filtered or unexported methods
}
type MyEngine ¶
type MyEngine struct {
Engine sqltoken.Pos
Equal bool
Name *Ident
// contains filtered or unexported fields
}
ENGINE option ( = InnoDB, MyISAM ...)
func (*MyEngine) ToSQLString ¶
type NamedColumnsJoin ¶
type NamedColumnsJoin struct {
ColumnList []*Ident
Using sqltoken.Pos
RParen sqltoken.Pos
// contains filtered or unexported fields
}
func (*NamedColumnsJoin) End ¶
func (n *NamedColumnsJoin) End() sqltoken.Pos
func (*NamedColumnsJoin) Pos ¶
func (n *NamedColumnsJoin) Pos() sqltoken.Pos
func (*NamedColumnsJoin) ToSQLString ¶
func (n *NamedColumnsJoin) ToSQLString() string
type NationalStringLiteral ¶
func NewNationalStringLiteral ¶
func NewNationalStringLiteral(str string) *NationalStringLiteral
func (*NationalStringLiteral) End ¶
func (n *NationalStringLiteral) End() sqltoken.Pos
func (*NationalStringLiteral) Pos ¶
func (n *NationalStringLiteral) Pos() sqltoken.Pos
func (*NationalStringLiteral) ToSQLString ¶
func (n *NationalStringLiteral) ToSQLString() string
func (*NationalStringLiteral) Value ¶
func (n *NationalStringLiteral) Value() interface{}
type NaturalJoin ¶
type NaturalJoin struct {
LeftElement *TableJoinElement
Type *JoinType
RightElement *TableJoinElement
// contains filtered or unexported fields
}
func (*NaturalJoin) End ¶
func (n *NaturalJoin) End() sqltoken.Pos
func (*NaturalJoin) Pos ¶
func (n *NaturalJoin) Pos() sqltoken.Pos
func (*NaturalJoin) ToSQLString ¶
func (n *NaturalJoin) ToSQLString() string
type Node ¶
type Node interface {
ToSQLString() string // convert Node as as sql valid string
Pos() sqltoken.Pos // position of first character belonging to the node
End() sqltoken.Pos // position of last character belonging to the node
}
AST Node interface. All node types implements this interface.
type NotNullColumnSpec ¶
func (*NotNullColumnSpec) End ¶
func (n *NotNullColumnSpec) End() sqltoken.Pos
func (*NotNullColumnSpec) Pos ¶
func (n *NotNullColumnSpec) Pos() sqltoken.Pos
func (*NotNullColumnSpec) ToSQLString ¶
func (*NotNullColumnSpec) ToSQLString() string
type ObjectName ¶
type ObjectName struct {
Idents []*Ident
}
Table Names (ex public.table_name)
func NewObjectName ¶
func NewObjectName(strs ...string) *ObjectName
func (*ObjectName) End ¶
func (s *ObjectName) End() sqltoken.Pos
func (*ObjectName) Pos ¶
func (s *ObjectName) Pos() sqltoken.Pos
func (*ObjectName) ToSQLString ¶
func (s *ObjectName) ToSQLString() string
type Operator ¶
type Operator struct {
Type OperatorType
From, To sqltoken.Pos
}
func (*Operator) ToSQLString ¶
type OperatorType ¶
type OperatorType int
const ( Plus OperatorType = iota Minus Multiply Divide Modulus Gt Lt GtEq LtEq Eq NotEq And Or Not Like NotLike None )
type OrderByExpr ¶
type OrderByExpr struct {
Expr Node
OrderingPos sqltoken.Pos // ASC / DESC keyword position if ASC != nil
ASC *bool
}
ORDER BY Expr [ASC | DESC]
func (*OrderByExpr) End ¶
func (o *OrderByExpr) End() sqltoken.Pos
func (*OrderByExpr) Pos ¶
func (o *OrderByExpr) Pos() sqltoken.Pos
func (*OrderByExpr) ToSQLString ¶
func (o *OrderByExpr) ToSQLString() string
type PGAlterDataTypeColumnAction ¶
type PGAlterDataTypeColumnAction struct {
Type sqltoken.Pos
DataType Type
// contains filtered or unexported fields
}
postgres only
func (*PGAlterDataTypeColumnAction) End ¶
func (p *PGAlterDataTypeColumnAction) End() sqltoken.Pos
func (*PGAlterDataTypeColumnAction) Pos ¶
func (p *PGAlterDataTypeColumnAction) Pos() sqltoken.Pos
func (*PGAlterDataTypeColumnAction) ToSQLString ¶
func (p *PGAlterDataTypeColumnAction) ToSQLString() string
type PGDropNotNullColumnAction ¶
type PGDropNotNullColumnAction struct {
Drop, Null sqltoken.Pos
// contains filtered or unexported fields
}
func (*PGDropNotNullColumnAction) End ¶
func (p *PGDropNotNullColumnAction) End() sqltoken.Pos
func (*PGDropNotNullColumnAction) Pos ¶
func (p *PGDropNotNullColumnAction) Pos() sqltoken.Pos
func (*PGDropNotNullColumnAction) ToSQLString ¶
func (p *PGDropNotNullColumnAction) ToSQLString() string
type PGSetNotNullColumnAction ¶
type PGSetNotNullColumnAction struct {
Set, Null sqltoken.Pos
// contains filtered or unexported fields
}
func (*PGSetNotNullColumnAction) End ¶
func (p *PGSetNotNullColumnAction) End() sqltoken.Pos
func (*PGSetNotNullColumnAction) Pos ¶
func (p *PGSetNotNullColumnAction) Pos() sqltoken.Pos
func (*PGSetNotNullColumnAction) ToSQLString ¶
func (p *PGSetNotNullColumnAction) ToSQLString() string
type PartitionedJoinTable ¶
type PartitionedJoinTable struct {
Factor TableFactor
ColumnList []*Ident
RParen sqltoken.Pos
// contains filtered or unexported fields
}
func (*PartitionedJoinTable) End ¶
func (p *PartitionedJoinTable) End() sqltoken.Pos
func (*PartitionedJoinTable) Pos ¶
func (p *PartitionedJoinTable) Pos() sqltoken.Pos
func (*PartitionedJoinTable) ToSQLString ¶
func (p *PartitionedJoinTable) ToSQLString() string
type Preceding ¶
type Preceding struct {
Bound *uint64
From sqltoken.Pos // first char position of Bound
Preceding sqltoken.Pos // last char position of PRECEDING
// contains filtered or unexported fields
}
`Bound PRECEDING`
func (*Preceding) ToSQLString ¶
type QualifiedJoin ¶
type QualifiedJoin struct {
LeftElement *TableJoinElement
Type *JoinType
RightElement *TableJoinElement
Spec JoinSpec
// contains filtered or unexported fields
}
func (*QualifiedJoin) End ¶
func (q *QualifiedJoin) End() sqltoken.Pos
func (*QualifiedJoin) Pos ¶
func (q *QualifiedJoin) Pos() sqltoken.Pos
func (*QualifiedJoin) ToSQLString ¶
func (q *QualifiedJoin) ToSQLString() string
type QualifiedWildcard ¶
type QualifiedWildcard struct {
Idents []*Ident
}
`table.*`, schema.table.*
func (*QualifiedWildcard) End ¶
func (s *QualifiedWildcard) End() sqltoken.Pos
func (*QualifiedWildcard) Pos ¶
func (s *QualifiedWildcard) Pos() sqltoken.Pos
func (*QualifiedWildcard) ToSQLString ¶
func (s *QualifiedWildcard) ToSQLString() string
type QualifiedWildcardSelectItem ¶
type QualifiedWildcardSelectItem struct {
Prefix *ObjectName
// contains filtered or unexported fields
}
schema.*
func (*QualifiedWildcardSelectItem) End ¶
func (q *QualifiedWildcardSelectItem) End() sqltoken.Pos
func (*QualifiedWildcardSelectItem) Pos ¶
func (q *QualifiedWildcardSelectItem) Pos() sqltoken.Pos
func (*QualifiedWildcardSelectItem) ToSQLString ¶
func (q *QualifiedWildcardSelectItem) ToSQLString() string
type QueryExpr ¶
type QueryExpr struct {
LParen, RParen sqltoken.Pos
Query *QueryStmt
// contains filtered or unexported fields
}
(QueryStmt)
func (*QueryExpr) ToSQLString ¶
type QueryStmt ¶
type QueryStmt struct {
With sqltoken.Pos // first char position of WITH if CTEs is not blank
CTEs []*CTE
Body SQLSetExpr
OrderBy []*OrderByExpr
Limit *LimitExpr
// contains filtered or unexported fields
}
QueryStmt stmt
func (*QueryStmt) ToSQLString ¶
type Real ¶
func (*Real) ToSQLString ¶
type ReferenceKeyExpr ¶
func (*ReferenceKeyExpr) End ¶
func (r *ReferenceKeyExpr) End() sqltoken.Pos
func (*ReferenceKeyExpr) Pos ¶
func (r *ReferenceKeyExpr) Pos() sqltoken.Pos
func (*ReferenceKeyExpr) ToSQLString ¶
func (r *ReferenceKeyExpr) ToSQLString() string
type ReferencesColumnSpec ¶
type ReferencesColumnSpec struct {
References sqltoken.Pos
RParen sqltoken.Pos
TableName *ObjectName
Columns []*Ident
}
func (*ReferencesColumnSpec) End ¶
func (r *ReferencesColumnSpec) End() sqltoken.Pos
func (*ReferencesColumnSpec) Pos ¶
func (r *ReferencesColumnSpec) Pos() sqltoken.Pos
func (*ReferencesColumnSpec) ToSQLString ¶
func (r *ReferencesColumnSpec) ToSQLString() string
type ReferentialTableConstraint ¶
type ReferentialTableConstraint struct {
Foreign sqltoken.Pos
Columns []*Ident
KeyExpr *ReferenceKeyExpr
// contains filtered or unexported fields
}
func (*ReferentialTableConstraint) End ¶
func (r *ReferentialTableConstraint) End() sqltoken.Pos
func (*ReferentialTableConstraint) Pos ¶
func (r *ReferentialTableConstraint) Pos() sqltoken.Pos
func (*ReferentialTableConstraint) ToSQLString ¶
func (r *ReferentialTableConstraint) ToSQLString() string
type Regclass ¶
func (*Regclass) ToSQLString ¶
type RemoveColumnTableAction ¶
type RemoveColumnTableAction struct {
Name *Ident
Cascade bool
CascadePos sqltoken.Pos
Drop sqltoken.Pos
// contains filtered or unexported fields
}
func (*RemoveColumnTableAction) End ¶
func (r *RemoveColumnTableAction) End() sqltoken.Pos
func (*RemoveColumnTableAction) Pos ¶
func (r *RemoveColumnTableAction) Pos() sqltoken.Pos
func (*RemoveColumnTableAction) ToSQLString ¶
func (r *RemoveColumnTableAction) ToSQLString() string
type RowValueExpr ¶
func (*RowValueExpr) End ¶
func (r *RowValueExpr) End() sqltoken.Pos
func (*RowValueExpr) Pos ¶
func (r *RowValueExpr) Pos() sqltoken.Pos
func (*RowValueExpr) ToSQLString ¶
func (r *RowValueExpr) ToSQLString() string
type SQLSelect ¶
type SQLSelect struct {
Distinct bool
Projection []SQLSelectItem
FromClause []TableReference
WhereClause Node
GroupByClause []Node
HavingClause Node
Select sqltoken.Pos // first position of SELECT
// contains filtered or unexported fields
}
func (*SQLSelect) ToSQLString ¶
type SQLSelectItem ¶
type SQLSelectItem interface {
Node
// contains filtered or unexported methods
}
type SQLSetExpr ¶
type SQLSetExpr interface {
Node
// contains filtered or unexported methods
}
type SQLSetOperator ¶
type SQLSetOperator interface {
Node
// contains filtered or unexported methods
}
type SQLWindowFrameBound ¶
type SQLWindowFrameBound interface {
Node
// contains filtered or unexported methods
}
type SelectExpr ¶
type SelectExpr struct {
Select *SQLSelect
// contains filtered or unexported fields
}
Select
func (*SelectExpr) End ¶
func (s *SelectExpr) End() sqltoken.Pos
func (*SelectExpr) Pos ¶
func (s *SelectExpr) Pos() sqltoken.Pos
func (*SelectExpr) ToSQLString ¶
func (s *SelectExpr) ToSQLString() string
type SetDefaultColumnAction ¶
type SetDefaultColumnAction struct {
Set sqltoken.Pos
Default Node
// contains filtered or unexported fields
}
func (*SetDefaultColumnAction) End ¶
func (s *SetDefaultColumnAction) End() sqltoken.Pos
func (*SetDefaultColumnAction) Pos ¶
func (s *SetDefaultColumnAction) Pos() sqltoken.Pos
func (*SetDefaultColumnAction) ToSQLString ¶
func (s *SetDefaultColumnAction) ToSQLString() string
type SetOperationExpr ¶
type SetOperationExpr struct {
Op SQLSetOperator
All bool
Left SQLSetExpr
Right SQLSetExpr
// contains filtered or unexported fields
}
func (*SetOperationExpr) End ¶
func (s *SetOperationExpr) End() sqltoken.Pos
func (*SetOperationExpr) Pos ¶
func (s *SetOperationExpr) Pos() sqltoken.Pos
func (*SetOperationExpr) ToSQLString ¶
func (s *SetOperationExpr) ToSQLString() string
type SingleQuotedString ¶
func NewSingleQuotedString ¶
func NewSingleQuotedString(str string) *SingleQuotedString
func (*SingleQuotedString) End ¶
func (s *SingleQuotedString) End() sqltoken.Pos
func (*SingleQuotedString) Pos ¶
func (s *SingleQuotedString) Pos() sqltoken.Pos
func (*SingleQuotedString) ToSQLString ¶
func (s *SingleQuotedString) ToSQLString() string
func (*SingleQuotedString) Value ¶
func (s *SingleQuotedString) Value() interface{}
type SmallInt ¶
func (*SmallInt) ToSQLString ¶
type SubQuerySource ¶
type SubQuerySource struct {
SubQuery *QueryStmt
// contains filtered or unexported fields
}
SubQuery Source
func (*SubQuerySource) End ¶
func (s *SubQuerySource) End() sqltoken.Pos
func (*SubQuerySource) Pos ¶
func (s *SubQuerySource) Pos() sqltoken.Pos
func (*SubQuerySource) ToSQLString ¶
func (s *SubQuerySource) ToSQLString() string
type Table ¶
type Table struct {
Name *ObjectName
Alias *Ident
Args []Node
ArgsRParen sqltoken.Pos
WithHints []Node
WithHintsRParen sqltoken.Pos
// contains filtered or unexported fields
}
Table
func (*Table) ToSQLString ¶
type TableConstraint ¶
type TableConstraint struct {
Constraint sqltoken.Pos
Name *Ident
Spec TableConstraintSpec
// contains filtered or unexported fields
}
func (*TableConstraint) End ¶
func (t *TableConstraint) End() sqltoken.Pos
func (*TableConstraint) Pos ¶
func (t *TableConstraint) Pos() sqltoken.Pos
func (*TableConstraint) ToSQLString ¶
func (t *TableConstraint) ToSQLString() string
type TableConstraintSpec ¶
type TableConstraintSpec interface {
Node
// contains filtered or unexported methods
}
type TableElement ¶
type TableElement interface {
Node
// contains filtered or unexported methods
}
type TableFactor ¶
type TableFactor interface {
TableReference
// contains filtered or unexported methods
}
type TableJoinElement ¶
type TableJoinElement struct {
Ref TableReference
// contains filtered or unexported fields
}
func (*TableJoinElement) End ¶
func (t *TableJoinElement) End() sqltoken.Pos
func (*TableJoinElement) Pos ¶
func (t *TableJoinElement) Pos() sqltoken.Pos
func (*TableJoinElement) ToSQLString ¶
func (t *TableJoinElement) ToSQLString() string
type TableOption ¶
type TableOption interface {
Node
// contains filtered or unexported methods
}
type TableReference ¶
type TableReference interface {
Node
// contains filtered or unexported methods
}
type Text ¶
func (*Text) ToSQLString ¶
type Time ¶
func (*Time) ToSQLString ¶
type Timestamp ¶
func (*Timestamp) ToSQLString ¶
type TimestampValue ¶
func NewTimestampValue ¶
func NewTimestampValue(t time.Time) *TimestampValue
func (*TimestampValue) End ¶
func (t *TimestampValue) End() sqltoken.Pos
func (*TimestampValue) Pos ¶
func (t *TimestampValue) Pos() sqltoken.Pos
func (*TimestampValue) ToSQLString ¶
func (t *TimestampValue) ToSQLString() string
func (*TimestampValue) Value ¶
func (t *TimestampValue) Value() interface{}
type UUID ¶
func (*UUID) ToSQLString ¶
type UnboundedFollowing ¶
type UnboundedFollowing struct {
Unbounded sqltoken.Pos // first char position of UNBOUND
Following sqltoken.Pos // last char position of FOLLOWING
// contains filtered or unexported fields
}
func (*UnboundedFollowing) End ¶
func (u *UnboundedFollowing) End() sqltoken.Pos
func (*UnboundedFollowing) Pos ¶
func (u *UnboundedFollowing) Pos() sqltoken.Pos
func (*UnboundedFollowing) ToSQLString ¶
func (*UnboundedFollowing) ToSQLString() string
type UnboundedPreceding ¶
type UnboundedPreceding struct {
Unbounded sqltoken.Pos // first char position of UNBOUND
Preceding sqltoken.Pos // last char position of PRECEDING
// contains filtered or unexported fields
}
func (*UnboundedPreceding) End ¶
func (u *UnboundedPreceding) End() sqltoken.Pos
func (*UnboundedPreceding) Pos ¶
func (u *UnboundedPreceding) Pos() sqltoken.Pos
func (*UnboundedPreceding) ToSQLString ¶
func (*UnboundedPreceding) ToSQLString() string
type UnionOperator ¶
func (*UnionOperator) End ¶
func (u *UnionOperator) End() sqltoken.Pos
func (*UnionOperator) Pos ¶
func (u *UnionOperator) Pos() sqltoken.Pos
func (*UnionOperator) ToSQLString ¶
func (u *UnionOperator) ToSQLString() string
type UniqueColumnSpec ¶
func (*UniqueColumnSpec) End ¶
func (u *UniqueColumnSpec) End() sqltoken.Pos
func (*UniqueColumnSpec) Pos ¶
func (u *UniqueColumnSpec) Pos() sqltoken.Pos
func (*UniqueColumnSpec) ToSQLString ¶
func (u *UniqueColumnSpec) ToSQLString() string
type UniqueTableConstraint ¶
type UniqueTableConstraint struct {
IsPrimary bool
Primary, Unique sqltoken.Pos
RParen sqltoken.Pos
Columns []*Ident
// contains filtered or unexported fields
}
func (*UniqueTableConstraint) End ¶
func (u *UniqueTableConstraint) End() sqltoken.Pos
func (*UniqueTableConstraint) Pos ¶
func (u *UniqueTableConstraint) Pos() sqltoken.Pos
func (*UniqueTableConstraint) ToSQLString ¶
func (u *UniqueTableConstraint) ToSQLString() string
type UnnamedSelectItem ¶
type UnnamedSelectItem struct {
Node Node
// contains filtered or unexported fields
}
func (*UnnamedSelectItem) End ¶
func (u *UnnamedSelectItem) End() sqltoken.Pos
func (*UnnamedSelectItem) Pos ¶
func (u *UnnamedSelectItem) Pos() sqltoken.Pos
func (*UnnamedSelectItem) ToSQLString ¶
func (u *UnnamedSelectItem) ToSQLString() string
type UpdateStmt ¶
type UpdateStmt struct {
Update sqltoken.Pos
TableName *ObjectName
Assignments []*Assignment
Selection Node
// contains filtered or unexported fields
}
func (*UpdateStmt) End ¶
func (u *UpdateStmt) End() sqltoken.Pos
func (*UpdateStmt) Pos ¶
func (u *UpdateStmt) Pos() sqltoken.Pos
func (*UpdateStmt) ToSQLString ¶
func (u *UpdateStmt) ToSQLString() string
type Varbinary ¶
func (*Varbinary) ToSQLString ¶
type VarcharType ¶
func (*VarcharType) End ¶
func (v *VarcharType) End() sqltoken.Pos
func (*VarcharType) Pos ¶
func (v *VarcharType) Pos() sqltoken.Pos
func (*VarcharType) ToSQLString ¶
func (v *VarcharType) ToSQLString() string
type WildcardSelectItem ¶
func (*WildcardSelectItem) End ¶
func (w *WildcardSelectItem) End() sqltoken.Pos
func (*WildcardSelectItem) Pos ¶
func (w *WildcardSelectItem) Pos() sqltoken.Pos
func (*WildcardSelectItem) ToSQLString ¶
func (w *WildcardSelectItem) ToSQLString() string
type WindowFrame ¶
type WindowFrame struct {
Units *WindowFrameUnit
StartBound SQLWindowFrameBound
EndBound SQLWindowFrameBound
}
func (*WindowFrame) End ¶
func (s *WindowFrame) End() sqltoken.Pos
func (*WindowFrame) Pos ¶
func (s *WindowFrame) Pos() sqltoken.Pos
func (*WindowFrame) ToSQLString ¶
func (s *WindowFrame) ToSQLString() string
type WindowFrameUnit ¶
type WindowFrameUnit struct {
From, To sqltoken.Pos
Type WindowFrameUnitType
}
func (*WindowFrameUnit) End ¶
func (s *WindowFrameUnit) End() sqltoken.Pos
func (WindowFrameUnit) FromStr ¶
func (WindowFrameUnit) FromStr(str string) (*WindowFrameUnit, error)
func (*WindowFrameUnit) Pos ¶
func (s *WindowFrameUnit) Pos() sqltoken.Pos
func (*WindowFrameUnit) ToSQLString ¶
func (s *WindowFrameUnit) ToSQLString() string
type WindowFrameUnitType ¶
type WindowFrameUnitType int
const ( RowsUnit WindowFrameUnitType = iota RangeUnit GroupsUnit )
type WindowSpec ¶
type WindowSpec struct {
PartitionBy []Node
OrderBy []*OrderByExpr
WindowsFrame *WindowFrame
Partition, Order sqltoken.Pos
}
func (*WindowSpec) End ¶
func (s *WindowSpec) End() sqltoken.Pos
func (*WindowSpec) Pos ¶
func (s *WindowSpec) Pos() sqltoken.Pos
func (*WindowSpec) ToSQLString ¶
func (s *WindowSpec) ToSQLString() string
Source Files
¶
- alter_column_action_gen.go
- alter_table_action_gen.go
- ast.go
- comment.go
- commentmap.go
- insert_source_gen.go
- join_element_gen.go
- join_spec_gen.go
- my_data_type_decoration_gen.go
- operator.go
- query.go
- sql_select_item_gen.go
- sql_set_expr_gen.go
- sql_set_operator_gen.go
- sql_window_frame_bound_gen.go
- stmt.go
- stmt_gen.go
- table_constraint_spec_gen.go
- table_element_gen.go
- table_factor_gen.go
- table_option.go
- table_option_gen.go
- table_reference_gen.go
- type.go
- value.go
- walk.go