Documentation ¶
Index ¶
- Constants
- func Float64ToStr(f float64) string
- func FormatTableName(s string) string
- func Int64ToStr(i int64) string
- func IsNull(v Primary) bool
- func IsPrimary(e Expression) bool
- func SetDebugLevel(level int, verbose bool)
- func StrToTime(s string) (time.Time, error)
- func TokenLiteral(token int) string
- type AddColumns
- type All
- type AllColumns
- type AnalyticClause
- type AnalyticFunction
- type Any
- type Arithmetic
- type Between
- type Boolean
- type Case
- type CaseElse
- type CaseWhen
- type CloseCursor
- type ColumnDefault
- type ColumnPosition
- type CommonTable
- type CommonTableClause
- type Comparison
- type Concat
- type CreateTable
- type CursorDeclaration
- type Datetime
- type DeleteQuery
- type DisposeCursor
- type DropColumns
- type Dual
- type Else
- type ElseIf
- type Exists
- type Expression
- type FetchCursor
- type Field
- type FieldReference
- type Float
- type FlowControl
- type FromClause
- type Function
- type GroupByClause
- type GroupConcat
- type HavingClause
- type Identifier
- type If
- type In
- type InsertQuery
- type Integer
- type Is
- type Join
- type JoinCondition
- type Lexer
- type Like
- type LimitClause
- type LimitWith
- type Logic
- type Null
- type OffsetClause
- type OpenCursor
- type Option
- type OrderByClause
- type OrderItem
- type Parentheses
- type Partition
- type Primary
- type Print
- type ProcExpr
- type RenameColumn
- type RowValue
- type RowValueList
- type Scanner
- type SelectClause
- type SelectEntity
- type SelectQuery
- type SelectSet
- type SetFlag
- type Statement
- type Stdin
- type String
- type Subquery
- type Table
- type Ternary
- type Token
- type TransactionControl
- type UpdateQuery
- type UpdateSet
- type ValueList
- type Variable
- type VariableAssignment
- type VariableDeclaration
- type VariableSubstitution
- type WhereClause
- type While
- type WhileInCursor
Examples ¶
Constants ¶
View Source
const ( EOF = -(iota + 1) UNCATEGORIZED )
View Source
const ( TOKEN_FROM = IDENTIFIER TOKEN_TO = SUBSTITUTION_OP KEYWORD_FROM = SELECT KEYWORD_TO = VAR )
View Source
const ( SUBSTITUTION_OPERATOR = ":=" VARIABLE_SIGN = '@' )
View Source
const ADD = 57369
View Source
const AFTER = 57375
View Source
const ALL = 57403
View Source
const ALTER = 57371
View Source
const AND = 57407
View Source
const ANY = 57404
View Source
const AS = 57364
View Source
const ASC = 57384
View Source
const BEFORE = 57376
View Source
const BETWEEN = 57410
View Source
const BOOLEAN = 57350
View Source
const BREAK = 57440
View Source
const BY = 57383
View Source
const CASE = 57417
View Source
const CLOSE = 57431
View Source
const COMMIT = 57437
View Source
const COMPARISON_OP = 57444
View Source
const CONTINUE = 57439
View Source
const CREATE = 57368
View Source
const CROSS = 57396
View Source
const CURSOR = 57427
View Source
const DATETIME = 57352
View Source
const DATETIME_FORMAT = "2006-01-02 15:04:05.999999999"
View Source
const DECLARE = 57426
View Source
const DEFAULT = 57377
View Source
const DELETE = 57359
View Source
const DESC = 57385
View Source
const DISPOSE = 57432
View Source
const DISTINCT = 57415
View Source
const DO = 57424
View Source
const DROP = 57370
View Source
const DUAL = 57365
View Source
const ELSE = 57423
View Source
const ELSEIF = 57419
View Source
const END = 57425
View Source
const EXCEPT = 57402
View Source
const EXISTS = 57405
View Source
const EXIT = 57441
View Source
const FETCH = 57429
View Source
const FIRST = 57373
View Source
const FLAG = 57354
View Source
const FLOAT = 57349
View Source
const FOR = 57428
View Source
const FROM = 57356
View Source
const FULL = 57395
View Source
const GROUP = 57381
View Source
const GROUP_CONCAT = 57433
View Source
const HAVING = 57382
View Source
const IDENTIFIER = 57346
View Source
const IF = 57418
View Source
const IN = 57406
View Source
const INNER = 57391
View Source
const INSERT = 57361
View Source
const INTEGER = 57348
View Source
const INTERSECT = 57401
View Source
const INTO = 57362
View Source
const IS = 57412
View Source
const JOIN = 57390
View Source
const LAST = 57374
View Source
const LEFT = 57393
View Source
const LIKE = 57411
View Source
const LIMIT = 57386
View Source
const NATURAL = 57399
View Source
const NOT = 57409
View Source
const NULL = 57413
View Source
const NULLS = 57414
View Source
const OFFSET = 57387
View Source
const ON = 57397
View Source
const OPEN = 57430
View Source
const OR = 57408
View Source
const ORDER = 57380
View Source
const OUTER = 57392
View Source
const OVER = 57436
View Source
const PARTITION = 57435
View Source
const PERCENT = 57389
View Source
const PRINT = 57442
View Source
const RECURSIVE = 57367
View Source
const RENAME = 57378
View Source
const RIGHT = 57394
View Source
const ROLLBACK = 57438
View Source
const SELECT = 57355
View Source
const SEPARATOR = 57434
View Source
const SET = 57358
View Source
const STDIN = 57366
View Source
const STRING = 57347
View Source
const STRING_OP = 57445
View Source
const SUBSTITUTION_OP = 57446
View Source
const TABLE = 57372
View Source
const TERNARY = 57351
View Source
const THEN = 57422
View Source
const TIES = 57388
View Source
const TO = 57379
View Source
const TOKEN_UNDEFINED = 0
View Source
const UNION = 57400
View Source
const UPDATE = 57357
View Source
const USING = 57398
View Source
const VALUES = 57363
View Source
const VAR = 57443
View Source
const VARIABLE = 57353
View Source
const WHEN = 57421
View Source
const WHERE = 57360
View Source
const WHILE = 57420
View Source
const WITH = 57416
Variables ¶
This section is empty.
Functions ¶
func Float64ToStr ¶
func FormatTableName ¶ added in v0.1.6
func Int64ToStr ¶
func IsPrimary ¶
func IsPrimary(e Expression) bool
func SetDebugLevel ¶
Example ¶
SetDebugLevel(0, false) _, err := Parse("select select") fmt.Println(err) SetDebugLevel(0, true) _, err = Parse("select select") fmt.Println(err)
Output: syntax error syntax error: unexpected SELECT
func TokenLiteral ¶
Types ¶
type AddColumns ¶ added in v0.1.6
type AddColumns struct { AlterTable string Table Identifier Add string Columns []Expression Position Expression }
func (AddColumns) String ¶ added in v0.1.6
func (e AddColumns) String() string
type All ¶
type All struct { All string LHS Expression Operator Token Values Expression }
type AllColumns ¶
type AllColumns struct { }
func (AllColumns) String ¶
func (ac AllColumns) String() string
type AnalyticClause ¶ added in v0.2.3
type AnalyticClause struct { Partition Expression OrderByClause Expression }
func (AnalyticClause) OrderValues ¶ added in v0.2.3
func (e AnalyticClause) OrderValues() []Expression
func (AnalyticClause) PartitionValues ¶ added in v0.2.3
func (e AnalyticClause) PartitionValues() []Expression
func (AnalyticClause) String ¶ added in v0.2.3
func (e AnalyticClause) String() string
type AnalyticFunction ¶ added in v0.2.3
type AnalyticFunction struct { Name string Option Option Over string AnalyticClause AnalyticClause }
func (AnalyticFunction) String ¶ added in v0.2.3
func (e AnalyticFunction) String() string
type Any ¶
type Any struct { Any string LHS Expression Operator Token Values Expression }
type Arithmetic ¶
type Arithmetic struct { LHS Expression Operator int RHS Expression }
func (Arithmetic) String ¶
func (a Arithmetic) String() string
type Between ¶
type Between struct { Between string And string LHS Expression Low Expression High Expression Negation Token }
type Case ¶
type Case struct { Case string End string Value Expression When []Expression Else Expression }
type CaseElse ¶
type CaseElse struct { Else string Result Expression }
type CaseWhen ¶
type CaseWhen struct { When string Then string Condition Expression Result Expression }
type CloseCursor ¶ added in v0.1.8
type CloseCursor struct {
Cursor Identifier
}
type ColumnDefault ¶ added in v0.1.6
type ColumnDefault struct { Column Identifier Default string Value Expression }
func (ColumnDefault) String ¶ added in v0.1.6
func (e ColumnDefault) String() string
type ColumnPosition ¶ added in v0.1.6
type ColumnPosition struct { Position Token Column Expression }
func (ColumnPosition) String ¶ added in v0.1.6
func (e ColumnPosition) String() string
type CommonTable ¶ added in v0.2.4
type CommonTable struct { Recursive Token Name Identifier Columns []Expression As string Query SelectQuery }
func (CommonTable) IsRecursive ¶ added in v0.2.4
func (e CommonTable) IsRecursive() bool
func (CommonTable) String ¶ added in v0.2.4
func (e CommonTable) String() string
type CommonTableClause ¶ added in v0.2.4
type CommonTableClause struct { With string CommonTables []Expression }
func (CommonTableClause) String ¶ added in v0.2.4
func (e CommonTableClause) String() string
type Comparison ¶
type Comparison struct { LHS Expression Operator Token RHS Expression }
func (Comparison) String ¶
func (c Comparison) String() string
type Concat ¶
type Concat struct {
Items []Expression
}
type CreateTable ¶ added in v0.1.6
type CreateTable struct { CreateTable string Table Identifier Fields []Expression }
func (CreateTable) String ¶ added in v0.1.6
func (e CreateTable) String() string
type CursorDeclaration ¶ added in v0.1.8
type CursorDeclaration struct { Cursor Identifier Query SelectQuery }
type Datetime ¶
type Datetime struct {
// contains filtered or unexported fields
}
func NewDatetime ¶
func NewDatetimeFromString ¶
type DeleteQuery ¶ added in v0.1.6
type DeleteQuery struct { CommonTableClause Expression Delete string Tables []Expression FromClause Expression WhereClause Expression }
func (DeleteQuery) String ¶ added in v0.1.6
func (e DeleteQuery) String() string
type DisposeCursor ¶ added in v0.1.8
type DisposeCursor struct {
Cursor Identifier
}
type DropColumns ¶ added in v0.1.6
type DropColumns struct { AlterTable string Table Identifier Drop string Columns []Expression }
func (DropColumns) String ¶ added in v0.1.6
func (e DropColumns) String() string
type ElseIf ¶ added in v0.1.8
type ElseIf struct { Condition Expression Statements []Statement }
type Expression ¶
type Expression interface {
String() string
}
type FetchCursor ¶ added in v0.1.8
type FetchCursor struct { Cursor Identifier Variables []Variable }
type Field ¶
type Field struct { Object Expression As Token Alias Expression }
type FieldReference ¶ added in v0.1.8
type FieldReference struct { View Expression Column Identifier }
func (FieldReference) String ¶ added in v0.1.8
func (e FieldReference) String() string
type Float ¶
type Float struct {
// contains filtered or unexported fields
}
func NewFloatFromString ¶
type FlowControl ¶ added in v0.1.8
type FlowControl struct {
Token int
}
type FromClause ¶
type FromClause struct { From string Tables []Expression }
func (FromClause) String ¶
func (f FromClause) String() string
type GroupByClause ¶
type GroupByClause struct { GroupBy string Items []Expression }
func (GroupByClause) String ¶
func (gb GroupByClause) String() string
type GroupConcat ¶
type GroupConcat struct { GroupConcat string Option Option OrderBy Expression SeparatorLit string Separator string }
func (GroupConcat) String ¶
func (gc GroupConcat) String() string
type HavingClause ¶
type HavingClause struct { Having string Filter Expression }
func (HavingClause) String ¶
func (h HavingClause) String() string
type Identifier ¶
func (Identifier) String ¶
func (i Identifier) String() string
type If ¶ added in v0.1.8
type If struct { Condition Expression Statements []Statement ElseIf []ProcExpr Else ProcExpr }
type In ¶
type In struct { In string LHS Expression Values Expression Negation Token }
type InsertQuery ¶ added in v0.1.6
type InsertQuery struct { CommonTableClause Expression Insert string Into string Table Identifier Fields []Expression Values string ValuesList []Expression Query Expression }
func (InsertQuery) String ¶ added in v0.1.6
func (e InsertQuery) String() string
type Integer ¶
type Integer struct {
// contains filtered or unexported fields
}
func NewInteger ¶
func NewIntegerFromString ¶
type Is ¶
type Is struct { Is string LHS Expression RHS Expression Negation Token }
type Join ¶
type JoinCondition ¶
type JoinCondition struct { Literal string On Expression Using []Expression }
func (JoinCondition) String ¶
func (jc JoinCondition) String() string
type Like ¶
type Like struct { Like string LHS Expression Pattern Expression Negation Token }
type LimitClause ¶
type LimitClause struct { Limit string Value Expression Percent string With Expression }
func (LimitClause) IsPercentage ¶ added in v0.2.3
func (e LimitClause) IsPercentage() bool
func (LimitClause) IsWithTies ¶ added in v0.2.3
func (e LimitClause) IsWithTies() bool
func (LimitClause) String ¶
func (e LimitClause) String() string
type Logic ¶
type Logic struct { LHS Expression Operator Token RHS Expression }
type OffsetClause ¶ added in v0.2.2
type OffsetClause struct { Offset string Value Expression }
func (OffsetClause) String ¶ added in v0.2.2
func (e OffsetClause) String() string
type OpenCursor ¶ added in v0.1.8
type OpenCursor struct {
Cursor Identifier
}
type OrderByClause ¶
type OrderByClause struct { OrderBy string Items []Expression }
func (OrderByClause) String ¶
func (ob OrderByClause) String() string
type OrderItem ¶
type OrderItem struct { Value Expression Direction Token Nulls string Position Token }
type Parentheses ¶
type Parentheses struct {
Expr Expression
}
func (Parentheses) String ¶
func (p Parentheses) String() string
type Partition ¶ added in v0.2.3
type Partition struct { PartitionBy string Values []Expression }
type Primary ¶
func Float64ToPrimary ¶
func PrimaryToBoolean ¶
func PrimaryToDatetime ¶
func PrimaryToFloat ¶
func PrimaryToInteger ¶
func PrimaryToString ¶
type Print ¶ added in v0.1.6
type Print struct {
Value Expression
}
type RenameColumn ¶ added in v0.1.6
type RenameColumn struct { AlterTable string Table Identifier Rename string Old FieldReference To string New Identifier }
func (RenameColumn) String ¶ added in v0.1.6
func (e RenameColumn) String() string
type RowValue ¶ added in v0.2.2
type RowValue struct {
Value Expression
}
type RowValueList ¶ added in v0.2.2
type RowValueList struct {
RowValues []Expression
}
func (RowValueList) String ¶ added in v0.2.2
func (e RowValueList) String() string
type SelectClause ¶
type SelectClause struct { Select string Distinct Token Fields []Expression }
func (SelectClause) IsDistinct ¶
func (sc SelectClause) IsDistinct() bool
func (SelectClause) String ¶
func (sc SelectClause) String() string
type SelectEntity ¶ added in v0.2.1
type SelectEntity struct { SelectClause Expression FromClause Expression WhereClause Expression GroupByClause Expression HavingClause Expression }
func (SelectEntity) String ¶ added in v0.2.1
func (e SelectEntity) String() string
type SelectQuery ¶
type SelectQuery struct { CommonTableClause Expression SelectEntity Expression OrderByClause Expression LimitClause Expression OffsetClause Expression }
func (SelectQuery) String ¶
func (e SelectQuery) String() string
type SelectSet ¶ added in v0.2.1
type SelectSet struct { LHS Expression Operator Token All Token RHS Expression }
type Subquery ¶
type Subquery struct {
Query SelectQuery
}
type Table ¶
type Table struct { Object Expression As Token Alias Expression }
type Ternary ¶
type Ternary struct {
// contains filtered or unexported fields
}
func NewTernary ¶
func NewTernaryFromString ¶
type TransactionControl ¶ added in v0.1.8
type TransactionControl struct {
Token int
}
type UpdateQuery ¶ added in v0.1.6
type UpdateQuery struct { CommonTableClause Expression Update string Tables []Expression Set string SetList []Expression FromClause Expression WhereClause Expression }
func (UpdateQuery) String ¶ added in v0.1.6
func (e UpdateQuery) String() string
type UpdateSet ¶ added in v0.1.6
type UpdateSet struct { Field FieldReference Value Expression }
type ValueList ¶ added in v0.2.2
type ValueList struct {
Values []Expression
}
type VariableAssignment ¶
type VariableAssignment struct { Name string Value Expression }
func (VariableAssignment) String ¶
func (va VariableAssignment) String() string
type VariableDeclaration ¶
type VariableDeclaration struct {
Assignments []Expression
}
type VariableSubstitution ¶
type VariableSubstitution struct { Variable Variable Value Expression }
func (VariableSubstitution) String ¶
func (vs VariableSubstitution) String() string
type WhereClause ¶
type WhereClause struct { Where string Filter Expression }
func (WhereClause) String ¶
func (w WhereClause) String() string
type While ¶ added in v0.1.8
type While struct { Condition Expression Statements []Statement }
type WhileInCursor ¶ added in v0.1.8
type WhileInCursor struct { Variables []Variable Cursor Identifier Statements []Statement }
Click to show internal directories.
Click to hide internal directories.