Documentation ¶
Index ¶
- Constants
- Variables
- func CreateNewGetLock(ls *sql.LockSubsystem) func(e1, e2 sql.Expression) sql.Expression
- func GetLockingFuncs(ls *sql.LockSubsystem) []sql.Function
- func IsFreeLockFunc(_ *sql.Context, ls *sql.LockSubsystem, lockName string) (interface{}, error)
- func IsUsedLockFunc(ctx *sql.Context, ls *sql.LockSubsystem, lockName string) (interface{}, error)
- func NewAbsVal(e sql.Expression) sql.Expression
- func NewAcos(arg sql.Expression) sql.Expression
- func NewArrayLength(array sql.Expression) sql.Expression
- func NewAscii(arg sql.Expression) sql.Expression
- func NewAsin(arg sql.Expression) sql.Expression
- func NewAtan(arg sql.Expression) sql.Expression
- func NewBin(arg sql.Expression) sql.Expression
- func NewBinToUUID(args ...sql.Expression) (sql.Expression, error)
- func NewBitlength(arg sql.Expression) sql.Expression
- func NewCeil(num sql.Expression) sql.Expression
- func NewCharLength(e sql.Expression) sql.Expression
- func NewCoalesce(args ...sql.Expression) (sql.Expression, error)
- func NewConcat(args ...sql.Expression) (sql.Expression, error)
- func NewConcatWithSeparator(args ...sql.Expression) (sql.Expression, error)
- func NewConnectionID() sql.Expression
- func NewCos(arg sql.Expression) sql.Expression
- func NewCot(arg sql.Expression) sql.Expression
- func NewCrc32(arg sql.Expression) sql.Expression
- func NewCurrDate() sql.Expression
- func NewCurrTime() sql.Expression
- func NewCurrTimestamp() sql.Expression
- func NewCurrentDate() sql.Expression
- func NewCurrentTime() sql.Expression
- func NewCurrentUser() sql.Expression
- func NewDatabase(c *sql.Catalog) func() sql.Expression
- func NewDate(date sql.Expression) sql.Expression
- func NewDateAdd(args ...sql.Expression) (sql.Expression, error)
- func NewDateFormat(ex, value sql.Expression) sql.Expression
- func NewDateSub(args ...sql.Expression) (sql.Expression, error)
- func NewDatetime(args ...sql.Expression) (sql.Expression, error)
- func NewDay(date sql.Expression) sql.Expression
- func NewDayName(arg sql.Expression) sql.Expression
- func NewDayOfWeek(date sql.Expression) sql.Expression
- func NewDayOfYear(date sql.Expression) sql.Expression
- func NewDegrees(arg sql.Expression) sql.Expression
- func NewExplode(child sql.Expression) sql.Expression
- func NewFloor(num sql.Expression) sql.Expression
- func NewFoundRows() sql.Expression
- func NewFromBase64(e sql.Expression) sql.Expression
- func NewGenerate(child sql.Expression) sql.Expression
- func NewGreatest(args ...sql.Expression) (sql.Expression, error)
- func NewHex(arg sql.Expression) sql.Expression
- func NewHour(date sql.Expression) sql.Expression
- func NewIf(expr, ifTrue, ifFalse sql.Expression) sql.Expression
- func NewIfNull(ex, value sql.Expression) sql.Expression
- func NewInstr(str, substr sql.Expression) sql.Expression
- func NewIsBinary(e sql.Expression) sql.Expression
- func NewIsFreeLock(ls *sql.LockSubsystem) sql.CreateFunc1Args
- func NewIsNull(e sql.Expression) sql.Expression
- func NewIsUUID(arg sql.Expression) sql.Expression
- func NewIsUsedLock(ls *sql.LockSubsystem) sql.CreateFunc1Args
- func NewJSONArray(args ...sql.Expression) (sql.Expression, error)
- func NewJSONArrayAppend(args ...sql.Expression) (sql.Expression, error)
- func NewJSONArrayInsert(args ...sql.Expression) (sql.Expression, error)
- func NewJSONContains(args ...sql.Expression) (sql.Expression, error)
- func NewJSONContainsPath(args ...sql.Expression) (sql.Expression, error)
- func NewJSONDepth(args ...sql.Expression) (sql.Expression, error)
- func NewJSONExtract(args ...sql.Expression) (sql.Expression, error)
- func NewJSONInsert(args ...sql.Expression) (sql.Expression, error)
- func NewJSONKeys(args ...sql.Expression) (sql.Expression, error)
- func NewJSONLength(args ...sql.Expression) (sql.Expression, error)
- func NewJSONMergePatch(args ...sql.Expression) (sql.Expression, error)
- func NewJSONMergePreserve(args ...sql.Expression) (sql.Expression, error)
- func NewJSONObject(args ...sql.Expression) (sql.Expression, error)
- func NewJSONOverlaps(args ...sql.Expression) (sql.Expression, error)
- func NewJSONPretty(args ...sql.Expression) (sql.Expression, error)
- func NewJSONQuote(args ...sql.Expression) (sql.Expression, error)
- func NewJSONRemove(args ...sql.Expression) (sql.Expression, error)
- func NewJSONReplace(args ...sql.Expression) (sql.Expression, error)
- func NewJSONSchemaValid(args ...sql.Expression) (sql.Expression, error)
- func NewJSONSchemaValidationReport(args ...sql.Expression) (sql.Expression, error)
- func NewJSONSearch(args ...sql.Expression) (sql.Expression, error)
- func NewJSONSet(args ...sql.Expression) (sql.Expression, error)
- func NewJSONStorageFree(args ...sql.Expression) (sql.Expression, error)
- func NewJSONStorageSize(args ...sql.Expression) (sql.Expression, error)
- func NewJSONTable(args ...sql.Expression) (sql.Expression, error)
- func NewJSONType(args ...sql.Expression) (sql.Expression, error)
- func NewJSONUnquote(json sql.Expression) sql.Expression
- func NewJSONValid(args ...sql.Expression) (sql.Expression, error)
- func NewJSONValue(args ...sql.Expression) (sql.Expression, error)
- func NewLastInsertId() sql.Expression
- func NewLeast(args ...sql.Expression) (sql.Expression, error)
- func NewLeft(str, len sql.Expression) sql.Expression
- func NewLength(e sql.Expression) sql.Expression
- func NewLog(args ...sql.Expression) (sql.Expression, error)
- func NewLogBase(base float64, e sql.Expression) sql.Expression
- func NewLogBaseFunc(base float64) func(e sql.Expression) sql.Expression
- func NewLower(e sql.Expression) sql.Expression
- func NewMD5(arg sql.Expression) sql.Expression
- func NewMicrosecond(arg sql.Expression) sql.Expression
- func NewMinute(date sql.Expression) sql.Expression
- func NewMonth(date sql.Expression) sql.Expression
- func NewMonthName(arg sql.Expression) sql.Expression
- func NewNow(args ...sql.Expression) (sql.Expression, error)
- func NewNullIf(ex1, ex2 sql.Expression) sql.Expression
- func NewPad(pType padType, args ...sql.Expression) (sql.Expression, error)
- func NewPadFunc(pType padType) func(e ...sql.Expression) (sql.Expression, error)
- func NewPower(e1, e2 sql.Expression) sql.Expression
- func NewRadians(arg sql.Expression) sql.Expression
- func NewRand(exprs ...sql.Expression) (sql.Expression, error)
- func NewRegexpLike(args ...sql.Expression) (sql.Expression, error)
- func NewReleaseAllLocks(ls *sql.LockSubsystem) func() sql.Expression
- func NewReleaseLock(ls *sql.LockSubsystem) sql.CreateFunc1Args
- func NewRepeat(str sql.Expression, count sql.Expression) sql.Expression
- func NewReplace(str sql.Expression, fromStr sql.Expression, toStr sql.Expression) sql.Expression
- func NewReverse(e sql.Expression) sql.Expression
- func NewRound(args ...sql.Expression) (sql.Expression, error)
- func NewRowCount() sql.Expression
- func NewSHA1(arg sql.Expression) sql.Expression
- func NewSHA2(arg, count sql.Expression) sql.Expression
- func NewSecond(date sql.Expression) sql.Expression
- func NewSign(arg sql.Expression) sql.Expression
- func NewSin(arg sql.Expression) sql.Expression
- func NewSleep(e sql.Expression) sql.Expression
- func NewSoundex(e sql.Expression) sql.Expression
- func NewSplit(str, delimiter sql.Expression) sql.Expression
- func NewSqrt(e sql.Expression) sql.Expression
- func NewSubstring(args ...sql.Expression) (sql.Expression, error)
- func NewSubstringIndex(str, delim, count sql.Expression) sql.Expression
- func NewTan(arg sql.Expression) sql.Expression
- func NewTimeDiff(e1, e2 sql.Expression) sql.Expression
- func NewTimeToSec(arg sql.Expression) sql.Expression
- func NewTimestamp(args ...sql.Expression) (sql.Expression, error)
- func NewToBase64(e sql.Expression) sql.Expression
- func NewTrim(tType trimType, str sql.Expression) sql.Expression
- func NewTrimFunc(tType trimType) func(e sql.Expression) sql.Expression
- func NewUTCTimestamp(args ...sql.Expression) (sql.Expression, error)
- func NewUUIDFunc() sql.Expression
- func NewUUIDToBin(args ...sql.Expression) (sql.Expression, error)
- func NewUnhex(arg sql.Expression) sql.Expression
- func NewUnixTimestamp(args ...sql.Expression) (sql.Expression, error)
- func NewUpper(e sql.Expression) sql.Expression
- func NewUser() sql.Expression
- func NewValues(col sql.Expression) sql.Expression
- func NewVersion(versionPostfix string) func(...sql.Expression) (sql.Expression, error)
- func NewWeek(args ...sql.Expression) (sql.Expression, error)
- func NewWeekOfYear(arg sql.Expression) sql.Expression
- func NewWeekday(date sql.Expression) sql.Expression
- func NewYear(date sql.Expression) sql.Expression
- func NewYearWeek(args ...sql.Expression) (sql.Expression, error)
- func NoArgFuncWithChildren(fn sql.Expression, children []sql.Expression) (sql.Expression, error)
- func ReleaseAllLocksForLS(ls *sql.LockSubsystem) sql.EvalLogic
- func ReleaseLockFunc(ctx *sql.Context, ls *sql.LockSubsystem, lockName string) (interface{}, error)
- type AbsVal
- type Acos
- type AppendFuncWrapper
- type ArrayLength
- type Ascii
- type Asin
- type Atan
- type Bin
- type BinToUUID
- func (bu BinToUUID) Children() []sql.Expression
- func (bu BinToUUID) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (bu BinToUUID) FunctionName() string
- func (bu BinToUUID) IsNullable() bool
- func (bu BinToUUID) Resolved() bool
- func (bu BinToUUID) String() string
- func (bu BinToUUID) Type() sql.Type
- func (bu BinToUUID) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Bitlength
- type Ceil
- type Coalesce
- func (c *Coalesce) Children() []sql.Expression
- func (c *Coalesce) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (c *Coalesce) FunctionName() string
- func (c *Coalesce) IsNullable() bool
- func (c *Coalesce) Resolved() bool
- func (c *Coalesce) String() string
- func (c *Coalesce) Type() sql.Type
- func (*Coalesce) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Concat
- func (f *Concat) Children() []sql.Expression
- func (f *Concat) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (c *Concat) FunctionName() string
- func (f *Concat) IsNullable() bool
- func (f *Concat) Resolved() bool
- func (f *Concat) String() string
- func (f *Concat) Type() sql.Type
- func (*Concat) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type ConcatWithSeparator
- func (f *ConcatWithSeparator) Children() []sql.Expression
- func (f *ConcatWithSeparator) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (f *ConcatWithSeparator) FunctionName() string
- func (f *ConcatWithSeparator) IsNullable() bool
- func (f *ConcatWithSeparator) Resolved() bool
- func (f *ConcatWithSeparator) String() string
- func (f *ConcatWithSeparator) Type() sql.Type
- func (*ConcatWithSeparator) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type ConnectionID
- type Cos
- type Cot
- type CountType
- type Crc32
- type CurrDate
- type CurrTime
- type CurrTimestamp
- type Database
- func (db *Database) Children() []sql.Expression
- func (db *Database) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (db *Database) FunctionName() string
- func (db *Database) IsNullable() bool
- func (db *Database) Resolved() bool
- func (*Database) String() string
- func (db *Database) Type() sql.Type
- func (d *Database) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Date
- type DateAdd
- func (d *DateAdd) Children() []sql.Expression
- func (d *DateAdd) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (d *DateAdd) FunctionName() string
- func (d *DateAdd) IsNullable() bool
- func (d *DateAdd) Resolved() bool
- func (d *DateAdd) String() string
- func (d *DateAdd) Type() sql.Type
- func (d *DateAdd) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type DateFormat
- func (f *DateFormat) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (f *DateFormat) FunctionName() string
- func (f *DateFormat) IsNullable() bool
- func (f *DateFormat) String() string
- func (f *DateFormat) Type() sql.Type
- func (f *DateFormat) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type DateSub
- func (d *DateSub) Children() []sql.Expression
- func (d *DateSub) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (d *DateSub) FunctionName() string
- func (d *DateSub) IsNullable() bool
- func (d *DateSub) Resolved() bool
- func (d *DateSub) String() string
- func (d *DateSub) Type() sql.Type
- func (d *DateSub) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type DatetimeConversion
- func (t *DatetimeConversion) Children() []sql.Expression
- func (t *DatetimeConversion) Eval(ctx *sql.Context, r sql.Row) (interface{}, error)
- func (t *DatetimeConversion) FunctionName() string
- func (t *DatetimeConversion) IsNullable() bool
- func (t *DatetimeConversion) Resolved() bool
- func (t *DatetimeConversion) String() string
- func (t *DatetimeConversion) Type() sql.Type
- func (t *DatetimeConversion) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Day
- type DayName
- type DayOfWeek
- type DayOfYear
- type Degrees
- type Explode
- func (e *Explode) Children() []sql.Expression
- func (e *Explode) Eval(*sql.Context, sql.Row) (interface{}, error)
- func (e *Explode) FunctionName() string
- func (e *Explode) IsNullable() bool
- func (e *Explode) Resolved() bool
- func (e *Explode) String() string
- func (e *Explode) Type() sql.Type
- func (e *Explode) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Floor
- type FoundRows
- func (r FoundRows) Children() []sql.Expression
- func (r FoundRows) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (r FoundRows) FunctionName() string
- func (r FoundRows) IsNullable() bool
- func (r FoundRows) Resolved() bool
- func (r FoundRows) String() string
- func (r FoundRows) Type() sql.Type
- func (r FoundRows) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type FromBase64
- func (t *FromBase64) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (t *FromBase64) FunctionName() string
- func (t *FromBase64) IsNullable() bool
- func (t *FromBase64) String() string
- func (t *FromBase64) Type() sql.Type
- func (t *FromBase64) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Generate
- func (e *Generate) Children() []sql.Expression
- func (e *Generate) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (e *Generate) IsNullable() bool
- func (e *Generate) Resolved() bool
- func (e *Generate) String() string
- func (e *Generate) Type() sql.Type
- func (e *Generate) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type GetLock
- func (gl *GetLock) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (gl *GetLock) FunctionName() string
- func (gl *GetLock) IsNullable() bool
- func (gl *GetLock) String() string
- func (gl *GetLock) Type() sql.Type
- func (gl *GetLock) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Greatest
- func (f *Greatest) Children() []sql.Expression
- func (f *Greatest) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (f *Greatest) FunctionName() string
- func (f *Greatest) IsNullable() bool
- func (f *Greatest) Resolved() bool
- func (f *Greatest) String() string
- func (f *Greatest) Type() sql.Type
- func (f *Greatest) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Hex
- type Hour
- type If
- func (f *If) Children() []sql.Expression
- func (f *If) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (f *If) FunctionName() string
- func (f *If) IsNullable() bool
- func (f *If) Resolved() bool
- func (f *If) String() string
- func (f *If) Type() sql.Type
- func (f *If) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type IfNull
- type Instr
- func (i Instr) Children() []sql.Expression
- func (i Instr) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (i Instr) FunctionName() string
- func (i Instr) IsNullable() bool
- func (i Instr) Resolved() bool
- func (i Instr) String() string
- func (Instr) Type() sql.Type
- func (i Instr) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type IsBinary
- type IsFreeLock
- type IsNull
- type IsUUID
- func (u IsUUID) Children() []sql.Expression
- func (u IsUUID) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (u IsUUID) FunctionName() string
- func (u IsUUID) IsNullable() bool
- func (u IsUUID) Resolved() bool
- func (u IsUUID) String() string
- func (u IsUUID) Type() sql.Type
- func (u IsUUID) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type IsUsedLock
- type JSONArray
- type JSONArrayAppend
- type JSONArrayInsert
- type JSONContains
- func (j *JSONContains) Children() []sql.Expression
- func (j *JSONContains) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (j *JSONContains) FunctionName() string
- func (j *JSONContains) IsNullable() bool
- func (j *JSONContains) Resolved() bool
- func (j *JSONContains) String() string
- func (j *JSONContains) Type() sql.Type
- func (j *JSONContains) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type JSONContainsPath
- type JSONDepth
- type JSONExtract
- func (j *JSONExtract) Children() []sql.Expression
- func (j *JSONExtract) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (j *JSONExtract) FunctionName() string
- func (j *JSONExtract) IsNullable() bool
- func (j *JSONExtract) Resolved() bool
- func (j *JSONExtract) String() string
- func (j *JSONExtract) Type() sql.Type
- func (j *JSONExtract) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type JSONInsert
- type JSONKeys
- type JSONLength
- type JSONMerge
- type JSONMergePatch
- type JSONMergePreserve
- type JSONObject
- type JSONOverlaps
- type JSONPretty
- type JSONQuote
- type JSONRemove
- type JSONReplace
- type JSONSchemaValid
- type JSONSchemaValidationReport
- type JSONSearch
- type JSONSet
- type JSONStorageFree
- type JSONStorageSize
- type JSONTable
- type JSONType
- type JSONUnquote
- type JSONValid
- type JSONValue
- type LastInsertId
- func (r LastInsertId) Children() []sql.Expression
- func (r LastInsertId) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (r LastInsertId) FunctionName() string
- func (r LastInsertId) IsNullable() bool
- func (r LastInsertId) Resolved() bool
- func (r LastInsertId) String() string
- func (r LastInsertId) Type() sql.Type
- func (r LastInsertId) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Least
- func (f *Least) Children() []sql.Expression
- func (f *Least) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (f *Least) FunctionName() string
- func (f *Least) IsNullable() bool
- func (f *Least) Resolved() bool
- func (f *Least) String() string
- func (f *Least) Type() sql.Type
- func (f *Least) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Left
- func (l Left) Children() []sql.Expression
- func (l Left) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (l Left) FunctionName() string
- func (l Left) IsNullable() bool
- func (l Left) Resolved() bool
- func (l Left) String() string
- func (Left) Type() sql.Type
- func (l Left) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Length
- type LockFuncLogic
- type Log
- func (l *Log) Children() []sql.Expression
- func (l *Log) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (l *Log) FunctionName() string
- func (l *Log) IsNullable() bool
- func (l *Log) String() string
- func (l *Log) Type() sql.Type
- func (l *Log) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type LogBase
- func (l *LogBase) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (l *LogBase) FunctionName() string
- func (l *LogBase) IsNullable() bool
- func (l *LogBase) String() string
- func (l *LogBase) Type() sql.Type
- func (l *LogBase) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Lower
- type MD5
- type Microsecond
- type Minute
- type Month
- type MonthName
- type NamedLockFunction
- type NoArgFunc
- type Now
- func (n *Now) Children() []sql.Expression
- func (n *Now) Eval(ctx *sql.Context, _ sql.Row) (interface{}, error)
- func (n *Now) FunctionName() string
- func (n *Now) IsNullable() bool
- func (n *Now) Resolved() bool
- func (n *Now) String() string
- func (n *Now) Type() sql.Type
- func (n *Now) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type NullIf
- type Pad
- func (p *Pad) Children() []sql.Expression
- func (p *Pad) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (p *Pad) FunctionName() string
- func (p *Pad) IsNullable() bool
- func (p *Pad) Resolved() bool
- func (p *Pad) String() string
- func (p *Pad) Type() sql.Type
- func (p *Pad) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Power
- type Radians
- type Rand
- func (r *Rand) Children() []sql.Expression
- func (r *Rand) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (r *Rand) FunctionName() string
- func (r *Rand) IsNonDeterministic() bool
- func (r *Rand) IsNullable() bool
- func (r *Rand) Resolved() bool
- func (r *Rand) String() string
- func (r *Rand) Type() sql.Type
- func (r *Rand) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type RegexpLike
- func (r *RegexpLike) Children() []sql.Expression
- func (r *RegexpLike) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (r *RegexpLike) FunctionName() string
- func (r *RegexpLike) IsNullable() bool
- func (r *RegexpLike) Resolved() bool
- func (r *RegexpLike) String() string
- func (r *RegexpLike) Type() sql.Type
- func (r *RegexpLike) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type ReleaseAllLocks
- type ReleaseLock
- type Repeat
- type Replace
- func (r *Replace) Children() []sql.Expression
- func (r *Replace) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (r *Replace) FunctionName() string
- func (r *Replace) IsNullable() bool
- func (r *Replace) Resolved() bool
- func (r *Replace) String() string
- func (r *Replace) Type() sql.Type
- func (r *Replace) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Reverse
- type Round
- func (r *Round) Children() []sql.Expression
- func (r *Round) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (r *Round) FunctionName() string
- func (r *Round) IsNullable() bool
- func (r *Round) Resolved() bool
- func (r *Round) String() string
- func (r *Round) Type() sql.Type
- func (r *Round) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type RowCount
- func (r RowCount) Children() []sql.Expression
- func (r RowCount) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (r RowCount) FunctionName() string
- func (r RowCount) IsNullable() bool
- func (r RowCount) Resolved() bool
- func (r RowCount) String() string
- func (r RowCount) Type() sql.Type
- func (r RowCount) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type SHA1
- type SHA2
- type Second
- type Sign
- type Sin
- type Sleep
- type Soundex
- type Split
- type Sqrt
- type Substring
- func (s *Substring) Children() []sql.Expression
- func (s *Substring) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (s *Substring) FunctionName() string
- func (s *Substring) IsNullable() bool
- func (s *Substring) Resolved() bool
- func (s *Substring) String() string
- func (*Substring) Type() sql.Type
- func (*Substring) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type SubstringIndex
- func (s *SubstringIndex) Children() []sql.Expression
- func (s *SubstringIndex) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (s *SubstringIndex) FunctionName() string
- func (s *SubstringIndex) IsNullable() bool
- func (s *SubstringIndex) Resolved() bool
- func (s *SubstringIndex) String() string
- func (*SubstringIndex) Type() sql.Type
- func (s *SubstringIndex) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Tan
- type TimeDiff
- func (td *TimeDiff) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (td *TimeDiff) FunctionName() string
- func (td *TimeDiff) IsNullable() bool
- func (td *TimeDiff) String() string
- func (td *TimeDiff) Type() sql.Type
- func (td *TimeDiff) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type TimeToSec
- type TimestampConversion
- func (t *TimestampConversion) Children() []sql.Expression
- func (t *TimestampConversion) Eval(ctx *sql.Context, r sql.Row) (interface{}, error)
- func (t *TimestampConversion) FunctionName() string
- func (t *TimestampConversion) IsNullable() bool
- func (t *TimestampConversion) Resolved() bool
- func (t *TimestampConversion) String() string
- func (t *TimestampConversion) Type() sql.Type
- func (t *TimestampConversion) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type ToBase64
- func (t *ToBase64) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (t *ToBase64) FunctionName() string
- func (t *ToBase64) IsNullable() bool
- func (t *ToBase64) String() string
- func (t *ToBase64) Type() sql.Type
- func (t *ToBase64) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Trim
- type UTCTimestamp
- func (ut *UTCTimestamp) Children() []sql.Expression
- func (ut *UTCTimestamp) Eval(ctx *sql.Context, _ sql.Row) (interface{}, error)
- func (ut *UTCTimestamp) FunctionName() string
- func (ut *UTCTimestamp) IsNullable() bool
- func (ut *UTCTimestamp) Resolved() bool
- func (ut *UTCTimestamp) String() string
- func (ut *UTCTimestamp) Type() sql.Type
- func (ut *UTCTimestamp) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type UUIDFunc
- func (u UUIDFunc) Children() []sql.Expression
- func (u UUIDFunc) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (u UUIDFunc) FunctionName() string
- func (u UUIDFunc) IsNullable() bool
- func (u UUIDFunc) Resolved() bool
- func (u UUIDFunc) String() string
- func (u UUIDFunc) Type() sql.Type
- func (u UUIDFunc) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type UUIDToBin
- func (ub UUIDToBin) Children() []sql.Expression
- func (ub UUIDToBin) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (ub UUIDToBin) FunctionName() string
- func (ub UUIDToBin) IsNullable() bool
- func (ub UUIDToBin) Resolved() bool
- func (ub UUIDToBin) String() string
- func (ub UUIDToBin) Type() sql.Type
- func (ub UUIDToBin) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type UnaryDatetimeFunc
- type UnaryFunc
- type Unhex
- type UnixTimestamp
- func (ut *UnixTimestamp) Children() []sql.Expression
- func (ut *UnixTimestamp) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (ut *UnixTimestamp) FunctionName() string
- func (ut *UnixTimestamp) IsNullable() bool
- func (ut *UnixTimestamp) Resolved() bool
- func (ut *UnixTimestamp) String() string
- func (ut *UnixTimestamp) Type() sql.Type
- func (ut *UnixTimestamp) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Upper
- type User
- type Values
- type Version
- func (f Version) Children() []sql.Expression
- func (f Version) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (f Version) FunctionName() string
- func (f Version) IsNullable() bool
- func (f Version) Resolved() bool
- func (f Version) String() string
- func (f Version) Type() sql.Type
- func (f Version) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type Week
- func (d *Week) Children() []sql.Expression
- func (d *Week) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (d *Week) FunctionName() string
- func (d *Week) IsNullable() bool
- func (d *Week) Resolved() bool
- func (d *Week) String() string
- func (d *Week) Type() sql.Type
- func (*Week) WithChildren(children ...sql.Expression) (sql.Expression, error)
- type WeekOfYear
- type Weekday
- type Year
- type YearWeek
- func (d *YearWeek) Children() []sql.Expression
- func (d *YearWeek) Eval(ctx *sql.Context, row sql.Row) (interface{}, error)
- func (d *YearWeek) FunctionName() string
- func (d *YearWeek) IsNullable() bool
- func (d *YearWeek) Resolved() bool
- func (d *YearWeek) String() string
- func (d *YearWeek) Type() sql.Type
- func (*YearWeek) WithChildren(children ...sql.Expression) (sql.Expression, error)
Constants ¶
const ( // NumBytes counts the number of bytes in a string or binary content. NumBytes = CountType(false) // NumChars counts the number of characters in a string or binary content. NumChars = CountType(true) )
Variables ¶
var Defaults = []sql.Function{}/* 156 elements not displayed */
Defaults is the function map with all the default functions.
var ErrConcatArrayWithOthers = errors.NewKind("can't concat a string array with any other elements")
ErrConcatArrayWithOthers is returned when there are more than 1 argument in concat and any of them is an array.
var ErrDivisionByZero = errors.NewKind("division by zero")
var ErrIllegalLockNameArgType = errors.NewKind("Illegal parameter data type %s for operation '%s'")
ErrIllegalLockNameArgType is a kind of error that is thrown when the parameter passed as a lock name is not a string.
var ErrInvalidArgument = errors.NewKind("invalid argument to function %s. %s.")
var ErrInvalidArgumentForLogarithm = errors.NewKind("invalid argument value for logarithm: %v")
ErrInvalidArgumentForLogarithm is returned when an invalid argument value is passed to a logarithm function
var ErrInvalidArgumentType = errors.NewKind("function '%s' received invalid argument types")
ErrInvalidArgumentType is thrown when a function receives invalid argument types
var ErrNegativeRepeatCount = errors.NewKind("negative Repeat count: %v")
var ErrTimeUnexpectedlyNil = errors.NewKind("time in function '%s' unexpectedly nil")
ErrTimeUnexpectedlyNil is thrown when a function encounters and unexpectedly nil time
var ErrUintOverflow = errors.NewKind(
"Unsigned integer too big to fit on signed integer")
var ErrUnknownType = errors.NewKind("function '%s' encountered unknown type %T")
ErrUnknownType is thrown when a function encounters and unknown type
var ErrUnsupportedJSONFunction = errors.NewKind("unsupported JSON function: %s")
ErrUnsupportedJSONFunction is returned when a unsupported JSON function is called.
var ErrUnsupportedType = errors.NewKind("unsupported type for greatest/least argument: %T")
ErrUnsupportedType is returned when an argument to Greatest or Latest is not numeric or string
Functions ¶
func CreateNewGetLock ¶
func CreateNewGetLock(ls *sql.LockSubsystem) func(e1, e2 sql.Expression) sql.Expression
CreateNewGetLock returns a new GetLock object
func GetLockingFuncs ¶
func GetLockingFuncs(ls *sql.LockSubsystem) []sql.Function
func IsFreeLockFunc ¶
IsFreeLockFunc is the function logic that is executed when the is_free_lock function is called.
func IsUsedLockFunc ¶
IsUsedLockFunc is the function logic that is executed when the is_used_lock function is called.
func NewAbsVal ¶
func NewAbsVal(e sql.Expression) sql.Expression
NewAbsVal creates a new AbsVal expression.
func NewAcos ¶
func NewAcos(arg sql.Expression) sql.Expression
NewAcos returns a new ACOS function expression
func NewArrayLength ¶
func NewArrayLength(array sql.Expression) sql.Expression
NewArrayLength creates a new ArrayLength UDF.
func NewAscii ¶
func NewAscii(arg sql.Expression) sql.Expression
func NewAsin ¶
func NewAsin(arg sql.Expression) sql.Expression
NewAsin returns a new ASIN function expression
func NewAtan ¶
func NewAtan(arg sql.Expression) sql.Expression
NewAtan returns a new ATAN function expression
func NewBin ¶
func NewBin(arg sql.Expression) sql.Expression
func NewBinToUUID ¶ added in v0.9.0
func NewBinToUUID(args ...sql.Expression) (sql.Expression, error)
func NewBitlength ¶
func NewBitlength(arg sql.Expression) sql.Expression
func NewCeil ¶
func NewCeil(num sql.Expression) sql.Expression
NewCeil creates a new Ceil expression.
func NewCharLength ¶
func NewCharLength(e sql.Expression) sql.Expression
NewCharLength returns a new CHAR_LENGTH function.
func NewCoalesce ¶
func NewCoalesce(args ...sql.Expression) (sql.Expression, error)
NewCoalesce creates a new Coalesce sql.Expression.
func NewConcat ¶
func NewConcat(args ...sql.Expression) (sql.Expression, error)
NewConcat creates a new Concat UDF.
func NewConcatWithSeparator ¶
func NewConcatWithSeparator(args ...sql.Expression) (sql.Expression, error)
NewConcatWithSeparator creates a new NewConcatWithSeparator UDF.
func NewConnectionID ¶
func NewConnectionID() sql.Expression
func NewCos ¶
func NewCos(arg sql.Expression) sql.Expression
NewCos returns a new COS function expression
func NewCot ¶
func NewCot(arg sql.Expression) sql.Expression
NewCot returns a new COT function expression
func NewCrc32 ¶
func NewCrc32(arg sql.Expression) sql.Expression
NewCrc32 returns a new CRC32 function expression
func NewCurrDate ¶
func NewCurrDate() sql.Expression
func NewCurrTime ¶
func NewCurrTime() sql.Expression
func NewCurrTimestamp ¶
func NewCurrTimestamp() sql.Expression
func NewCurrentDate ¶
func NewCurrentDate() sql.Expression
func NewCurrentTime ¶
func NewCurrentTime() sql.Expression
func NewCurrentUser ¶
func NewCurrentUser() sql.Expression
func NewDatabase ¶
func NewDatabase(c *sql.Catalog) func() sql.Expression
NewDatabase returns a new Database function
func NewDateAdd ¶
func NewDateAdd(args ...sql.Expression) (sql.Expression, error)
NewDateAdd creates a new date add function.
func NewDateFormat ¶
func NewDateFormat(ex, value sql.Expression) sql.Expression
NewDateFormat returns a new DateFormat UDF
func NewDateSub ¶
func NewDateSub(args ...sql.Expression) (sql.Expression, error)
NewDateSub creates a new date add function.
func NewDatetime ¶
func NewDatetime(args ...sql.Expression) (sql.Expression, error)
NewDatetime returns a DatetimeConversion instance to handle the sql function "datetime". This is not a standard mysql function, but provides a shorthand for datetime conversions.
func NewDayName ¶
func NewDayName(arg sql.Expression) sql.Expression
func NewDayOfWeek ¶
func NewDayOfWeek(date sql.Expression) sql.Expression
NewDayOfWeek creates a new DayOfWeek UDF.
func NewDayOfYear ¶
func NewDayOfYear(date sql.Expression) sql.Expression
NewDayOfYear creates a new DayOfYear UDF.
func NewDegrees ¶
func NewDegrees(arg sql.Expression) sql.Expression
NewDegrees returns a new DEGREES function expression
func NewExplode ¶
func NewExplode(child sql.Expression) sql.Expression
NewExplode creates a new Explode function.
func NewFloor ¶
func NewFloor(num sql.Expression) sql.Expression
NewFloor returns a new Floor expression.
func NewFoundRows ¶ added in v0.9.0
func NewFoundRows() sql.Expression
func NewFromBase64 ¶
func NewFromBase64(e sql.Expression) sql.Expression
NewFromBase64 creates a new FromBase64 expression.
func NewGenerate ¶
func NewGenerate(child sql.Expression) sql.Expression
NewGenerate creates a new Generate function.
func NewGreatest ¶
func NewGreatest(args ...sql.Expression) (sql.Expression, error)
NewGreatest creates a new Greatest UDF
func NewHex ¶
func NewHex(arg sql.Expression) sql.Expression
func NewIf ¶
func NewIf(expr, ifTrue, ifFalse sql.Expression) sql.Expression
NewIf returns a new IF UDF
func NewIfNull ¶
func NewIfNull(ex, value sql.Expression) sql.Expression
NewIfNull returns a new IFNULL UDF
func NewInstr ¶
func NewInstr(str, substr sql.Expression) sql.Expression
NewInstr creates a new instr UDF.
func NewIsBinary ¶
func NewIsBinary(e sql.Expression) sql.Expression
NewIsBinary creates a new IsBinary expression.
func NewIsFreeLock ¶
func NewIsFreeLock(ls *sql.LockSubsystem) sql.CreateFunc1Args
func NewIsNull ¶ added in v0.10.0
func NewIsNull(e sql.Expression) sql.Expression
NewIsNull creates a new IsNull expression.
func NewIsUUID ¶ added in v0.9.0
func NewIsUUID(arg sql.Expression) sql.Expression
func NewIsUsedLock ¶
func NewIsUsedLock(ls *sql.LockSubsystem) sql.CreateFunc1Args
func NewJSONArray ¶ added in v0.9.0
func NewJSONArray(args ...sql.Expression) (sql.Expression, error)
NewJSONArray creates a new JSONArray function.
func NewJSONArrayAppend ¶ added in v0.9.0
func NewJSONArrayAppend(args ...sql.Expression) (sql.Expression, error)
NewJSONArrayAppend creates a new JSONArrayAppend function.
func NewJSONArrayInsert ¶ added in v0.9.0
func NewJSONArrayInsert(args ...sql.Expression) (sql.Expression, error)
NewJSONArrayInsert creates a new JSONArrayInsert function.
func NewJSONContains ¶ added in v0.9.0
func NewJSONContains(args ...sql.Expression) (sql.Expression, error)
NewJSONContains creates a new JSONContains function.
func NewJSONContainsPath ¶ added in v0.9.0
func NewJSONContainsPath(args ...sql.Expression) (sql.Expression, error)
NewJSONContainsPath creates a new JSONContainsPath function.
func NewJSONDepth ¶ added in v0.9.0
func NewJSONDepth(args ...sql.Expression) (sql.Expression, error)
NewJSONDepth creates a new JSONDepth function.
func NewJSONExtract ¶
func NewJSONExtract(args ...sql.Expression) (sql.Expression, error)
NewJSONExtract creates a new JSONExtract UDF.
func NewJSONInsert ¶ added in v0.9.0
func NewJSONInsert(args ...sql.Expression) (sql.Expression, error)
NewJSONInsert creates a new JSONInsert function.
func NewJSONKeys ¶ added in v0.9.0
func NewJSONKeys(args ...sql.Expression) (sql.Expression, error)
NewJSONKeys creates a new JSONKeys function.
func NewJSONLength ¶ added in v0.9.0
func NewJSONLength(args ...sql.Expression) (sql.Expression, error)
NewJSONLength creates a new JSONLength function.
func NewJSONMergePatch ¶ added in v0.9.0
func NewJSONMergePatch(args ...sql.Expression) (sql.Expression, error)
NewJSONMergePatch creates a new JSONMergePatch function.
func NewJSONMergePreserve ¶ added in v0.9.0
func NewJSONMergePreserve(args ...sql.Expression) (sql.Expression, error)
NewJSONMergePreserve creates a new JSONMergePreserve function.
func NewJSONObject ¶ added in v0.9.0
func NewJSONObject(args ...sql.Expression) (sql.Expression, error)
NewJSONObject creates a new JSONObject function.
func NewJSONOverlaps ¶ added in v0.9.0
func NewJSONOverlaps(args ...sql.Expression) (sql.Expression, error)
NewJSONOverlaps creates a new JSONOverlaps function.
func NewJSONPretty ¶ added in v0.9.0
func NewJSONPretty(args ...sql.Expression) (sql.Expression, error)
NewJSONPretty creates a new JSONPretty function.
func NewJSONQuote ¶ added in v0.9.0
func NewJSONQuote(args ...sql.Expression) (sql.Expression, error)
NewJSONQuote creates a new JSONQuote function.
func NewJSONRemove ¶ added in v0.9.0
func NewJSONRemove(args ...sql.Expression) (sql.Expression, error)
NewJSONRemove creates a new JSONRemove function.
func NewJSONReplace ¶ added in v0.9.0
func NewJSONReplace(args ...sql.Expression) (sql.Expression, error)
NewJSONReplace creates a new JSONReplace function.
func NewJSONSchemaValid ¶ added in v0.9.0
func NewJSONSchemaValid(args ...sql.Expression) (sql.Expression, error)
NewJSONSchemaValid creates a new JSONSchemaValid function.
func NewJSONSchemaValidationReport ¶ added in v0.9.0
func NewJSONSchemaValidationReport(args ...sql.Expression) (sql.Expression, error)
NewJSONSchemaValidationReport creates a new JSONSchemaValidationReport function.
func NewJSONSearch ¶ added in v0.9.0
func NewJSONSearch(args ...sql.Expression) (sql.Expression, error)
NewJSONSearch creates a new NewJSONSearch function.
func NewJSONSet ¶ added in v0.9.0
func NewJSONSet(args ...sql.Expression) (sql.Expression, error)
NewJSONSet creates a new JSONSet function.
func NewJSONStorageFree ¶ added in v0.9.0
func NewJSONStorageFree(args ...sql.Expression) (sql.Expression, error)
NewJSONStorageFree creates a new JSONStorageFree function.
func NewJSONStorageSize ¶ added in v0.9.0
func NewJSONStorageSize(args ...sql.Expression) (sql.Expression, error)
NewJSONStorageSize creates a new JSONStorageSize function.
func NewJSONTable ¶ added in v0.9.0
func NewJSONTable(args ...sql.Expression) (sql.Expression, error)
NewJSONTable creates a new JSONTable function.
func NewJSONType ¶ added in v0.9.0
func NewJSONType(args ...sql.Expression) (sql.Expression, error)
NewJSONType creates a new JSONType function.
func NewJSONUnquote ¶
func NewJSONUnquote(json sql.Expression) sql.Expression
NewJSONUnquote creates a new JSONUnquote UDF.
func NewJSONValid ¶ added in v0.9.0
func NewJSONValid(args ...sql.Expression) (sql.Expression, error)
NewJSONValid creates a new JSONValid function.
func NewJSONValue ¶ added in v0.9.0
func NewJSONValue(args ...sql.Expression) (sql.Expression, error)
NewJSONValue creates a new JSONValue function.
func NewLastInsertId ¶ added in v0.9.0
func NewLastInsertId() sql.Expression
func NewLeast ¶
func NewLeast(args ...sql.Expression) (sql.Expression, error)
NewLeast creates a new Least UDF
func NewLeft ¶
func NewLeft(str, len sql.Expression) sql.Expression
NewLeft creates a new LEFT function.
func NewLength ¶
func NewLength(e sql.Expression) sql.Expression
NewLength returns a new LENGTH function.
func NewLog ¶
func NewLog(args ...sql.Expression) (sql.Expression, error)
NewLog creates a new Log expression.
func NewLogBase ¶
func NewLogBase(base float64, e sql.Expression) sql.Expression
NewLogBase creates a new LogBase expression.
func NewLogBaseFunc ¶
func NewLogBaseFunc(base float64) func(e sql.Expression) sql.Expression
NewLogBaseFunc returns LogBase creator function with a specific base.
func NewLower ¶
func NewLower(e sql.Expression) sql.Expression
NewLower creates a new Lower expression.
func NewMD5 ¶
func NewMD5(arg sql.Expression) sql.Expression
NewMD5 returns a new MD5 function expression
func NewMicrosecond ¶
func NewMicrosecond(arg sql.Expression) sql.Expression
func NewMinute ¶
func NewMinute(date sql.Expression) sql.Expression
NewMinute creates a new Minute UDF.
func NewMonthName ¶
func NewMonthName(arg sql.Expression) sql.Expression
func NewNow ¶
func NewNow(args ...sql.Expression) (sql.Expression, error)
NewNow returns a new Now node.
func NewNullIf ¶
func NewNullIf(ex1, ex2 sql.Expression) sql.Expression
NewNullIf returns a new NULLIF UDF
func NewPad ¶
func NewPad(pType padType, args ...sql.Expression) (sql.Expression, error)
NewPad creates a new Pad expression.
func NewPadFunc ¶
func NewPadFunc(pType padType) func(e ...sql.Expression) (sql.Expression, error)
NewPadFunc returns a Pad creator function with a specific padType.
func NewPower ¶
func NewPower(e1, e2 sql.Expression) sql.Expression
NewPower creates a new Power expression.
func NewRadians ¶
func NewRadians(arg sql.Expression) sql.Expression
NewRadians returns a new RADIANS function expression
func NewRand ¶
func NewRand(exprs ...sql.Expression) (sql.Expression, error)
NewRand creates a new Rand expression.
func NewRegexpLike ¶ added in v0.10.0
func NewRegexpLike(args ...sql.Expression) (sql.Expression, error)
NewRegexpLike creates a new RegexpLike expression.
func NewReleaseAllLocks ¶
func NewReleaseAllLocks(ls *sql.LockSubsystem) func() sql.Expression
func NewReleaseLock ¶
func NewReleaseLock(ls *sql.LockSubsystem) sql.CreateFunc1Args
func NewRepeat ¶
func NewRepeat(str sql.Expression, count sql.Expression) sql.Expression
NewRepeat creates a new Repeat expression.
func NewReplace ¶
func NewReplace(str sql.Expression, fromStr sql.Expression, toStr sql.Expression) sql.Expression
NewReplace creates a new Replace expression.
func NewReverse ¶
func NewReverse(e sql.Expression) sql.Expression
NewReverse creates a new Reverse expression.
func NewRound ¶
func NewRound(args ...sql.Expression) (sql.Expression, error)
NewRound returns a new Round expression.
func NewRowCount ¶ added in v0.9.0
func NewRowCount() sql.Expression
func NewSHA1 ¶
func NewSHA1(arg sql.Expression) sql.Expression
NewSHA1 returns a new SHA1 function expression
func NewSHA2 ¶
func NewSHA2(arg, count sql.Expression) sql.Expression
NewSHA2 returns a new SHA2 function expression
func NewSecond ¶
func NewSecond(date sql.Expression) sql.Expression
NewSecond creates a new Second UDF.
func NewSign ¶
func NewSign(arg sql.Expression) sql.Expression
NewSign returns a new SIGN function expression
func NewSin ¶
func NewSin(arg sql.Expression) sql.Expression
NewSin returns a new SIN function expression
func NewSleep ¶
func NewSleep(e sql.Expression) sql.Expression
NewSleep creates a new Sleep expression.
func NewSoundex ¶
func NewSoundex(e sql.Expression) sql.Expression
NewSoundex creates a new Soundex expression.
func NewSplit ¶
func NewSplit(str, delimiter sql.Expression) sql.Expression
NewSplit creates a new Split UDF.
func NewSubstring ¶
func NewSubstring(args ...sql.Expression) (sql.Expression, error)
NewSubstring creates a new substring UDF.
func NewSubstringIndex ¶
func NewSubstringIndex(str, delim, count sql.Expression) sql.Expression
NewSubstringIndex creates a new SubstringIndex UDF.
func NewTan ¶
func NewTan(arg sql.Expression) sql.Expression
NewTan returns a new TAN function expression
func NewTimeDiff ¶
func NewTimeDiff(e1, e2 sql.Expression) sql.Expression
NewTimeDiff creates a new NewTimeDiff expression.
func NewTimeToSec ¶
func NewTimeToSec(arg sql.Expression) sql.Expression
func NewTimestamp ¶
func NewTimestamp(args ...sql.Expression) (sql.Expression, error)
func NewToBase64 ¶
func NewToBase64(e sql.Expression) sql.Expression
NewToBase64 creates a new ToBase64 expression.
func NewTrim ¶
func NewTrim(tType trimType, str sql.Expression) sql.Expression
NewTrim creates a new Trim expression.
func NewTrimFunc ¶
func NewTrimFunc(tType trimType) func(e sql.Expression) sql.Expression
NewTrimFunc returns a Trim creator function with a specific trimType.
func NewUTCTimestamp ¶
func NewUTCTimestamp(args ...sql.Expression) (sql.Expression, error)
NewUTCTimestamp returns a new UTCTimestamp node.
func NewUUIDFunc ¶ added in v0.9.0
func NewUUIDFunc() sql.Expression
func NewUUIDToBin ¶ added in v0.9.0
func NewUUIDToBin(args ...sql.Expression) (sql.Expression, error)
func NewUnhex ¶
func NewUnhex(arg sql.Expression) sql.Expression
func NewUnixTimestamp ¶
func NewUnixTimestamp(args ...sql.Expression) (sql.Expression, error)
func NewUpper ¶
func NewUpper(e sql.Expression) sql.Expression
NewUpper creates a new Lower expression.
func NewUser ¶
func NewUser() sql.Expression
func NewValues ¶
func NewValues(col sql.Expression) sql.Expression
NewValues creates a new Values function.
func NewVersion ¶
func NewVersion(versionPostfix string) func(...sql.Expression) (sql.Expression, error)
NewVersion creates a new Version UDF.
func NewWeek ¶
func NewWeek(args ...sql.Expression) (sql.Expression, error)
NewWeek creates a new Week UDF
func NewWeekOfYear ¶
func NewWeekOfYear(arg sql.Expression) sql.Expression
func NewWeekday ¶
func NewWeekday(date sql.Expression) sql.Expression
NewWeekday creates a new Weekday UDF.
func NewYearWeek ¶
func NewYearWeek(args ...sql.Expression) (sql.Expression, error)
NewYearWeek creates a new YearWeek UDF
func NoArgFuncWithChildren ¶
func NoArgFuncWithChildren(fn sql.Expression, children []sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
func ReleaseAllLocksForLS ¶
func ReleaseAllLocksForLS(ls *sql.LockSubsystem) sql.EvalLogic
ReleaseAllLocksForLS returns the logic to execute when the sql function release_all_locks is executed
func ReleaseLockFunc ¶
ReleaseLockFunc is the function logic that is executed when the release_lock function is called.
Types ¶
type AbsVal ¶
type AbsVal struct {
expression.UnaryExpression
}
AbsVal is a function that takes the absolute value of a number
func (*AbsVal) FunctionName ¶
func (*AbsVal) IsNullable ¶
IsNullable implements the Expression interface.
func (*AbsVal) WithChildren ¶
func (t *AbsVal) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Acos ¶
type Acos struct {
*UnaryFunc
}
func (*Acos) WithChildren ¶
func (a *Acos) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type AppendFuncWrapper ¶
type AppendFuncWrapper struct {
// contains filtered or unexported fields
}
type ArrayLength ¶
type ArrayLength struct {
expression.UnaryExpression
}
ArrayLength returns the length of an array.
func (*ArrayLength) FunctionName ¶
func (f *ArrayLength) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*ArrayLength) String ¶
func (f *ArrayLength) String() string
func (*ArrayLength) Type ¶
func (*ArrayLength) Type() sql.Type
Type implements the Expression interface.
func (*ArrayLength) WithChildren ¶
func (f *ArrayLength) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Ascii ¶
type Ascii struct {
*UnaryFunc
}
Ascii implements the sql function "ascii" which returns the numeric value of the leftmost character
func (*Ascii) WithChildren ¶
func (a *Ascii) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the sql.Expression interface
type Asin ¶
type Asin struct {
*UnaryFunc
}
func (*Asin) WithChildren ¶
func (a *Asin) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Atan ¶
type Atan struct {
*UnaryFunc
}
func (*Atan) WithChildren ¶
func (a *Atan) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Bin ¶
type Bin struct {
*UnaryFunc
}
Bin implements the sql function "bin" which returns the binary representation of a number
func (*Bin) WithChildren ¶
func (h *Bin) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the sql.Expression interface
type BinToUUID ¶ added in v0.9.0
type BinToUUID struct {
// contains filtered or unexported fields
}
func (BinToUUID) Children ¶ added in v0.9.0
func (bu BinToUUID) Children() []sql.Expression
Children returns the children expressions of this expression.
func (BinToUUID) FunctionName ¶ added in v0.9.0
func (BinToUUID) IsNullable ¶ added in v0.9.0
IsNullable returns whether the expression can be null.
func (BinToUUID) WithChildren ¶ added in v0.9.0
func (bu BinToUUID) WithChildren(children ...sql.Expression) (sql.Expression, error)
type Bitlength ¶
type Bitlength struct {
*UnaryFunc
}
Bitlength implements the sql function "bit_length" which returns the data length of the argument in bits
func (*Bitlength) WithChildren ¶
func (h *Bitlength) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the sql.Expression interface
type Ceil ¶
type Ceil struct {
expression.UnaryExpression
}
Ceil returns the smallest integer value not less than X.
func (*Ceil) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Ceil) WithChildren ¶
func (c *Ceil) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Coalesce ¶
type Coalesce struct {
// contains filtered or unexported fields
}
Coalesce returns the first non-NULL value in the list, or NULL if there are no non-NULL values.
func (*Coalesce) Children ¶
func (c *Coalesce) Children() []sql.Expression
Children implements the sql.Expression interface.
func (*Coalesce) Eval ¶
Eval implements the sql.Expression interface. The function evaluates the first non-nil argument. If the value is nil, then we keep going, otherwise we return the first non-nil value.
func (*Coalesce) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Coalesce) IsNullable ¶
IsNullable implements the sql.Expression interface. Returns true if all arguments are nil or of the first non-nil argument is nullable, otherwise false.
func (*Coalesce) Resolved ¶
Resolved implements the sql.Expression interface. The function checks if first non-nil argument is resolved.
func (*Coalesce) Type ¶
Type implements the sql.Expression interface. The return type of Type() is the aggregated type of the argument types.
func (*Coalesce) WithChildren ¶
func (*Coalesce) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Concat ¶
type Concat struct {
// contains filtered or unexported fields
}
Concat joins several strings together.
func (*Concat) Children ¶
func (f *Concat) Children() []sql.Expression
Children implements the Expression interface.
func (*Concat) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Concat) IsNullable ¶
IsNullable implements the Expression interface.
func (*Concat) WithChildren ¶
func (*Concat) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type ConcatWithSeparator ¶
type ConcatWithSeparator struct {
// contains filtered or unexported fields
}
ConcatWithSeparator joins several strings together. The first argument is the separator for the rest of the arguments. The separator is added between the strings to be concatenated. The separator can be a string, as can the rest of the arguments. If the separator is NULL, the result is NULL.
func (*ConcatWithSeparator) Children ¶
func (f *ConcatWithSeparator) Children() []sql.Expression
Children implements the Expression interface.
func (*ConcatWithSeparator) FunctionName ¶
func (f *ConcatWithSeparator) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*ConcatWithSeparator) IsNullable ¶
func (f *ConcatWithSeparator) IsNullable() bool
IsNullable implements the Expression interface.
func (*ConcatWithSeparator) Resolved ¶
func (f *ConcatWithSeparator) Resolved() bool
Resolved implements the Expression interface.
func (*ConcatWithSeparator) String ¶
func (f *ConcatWithSeparator) String() string
func (*ConcatWithSeparator) Type ¶
func (f *ConcatWithSeparator) Type() sql.Type
Type implements the Expression interface.
func (*ConcatWithSeparator) WithChildren ¶
func (*ConcatWithSeparator) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type ConnectionID ¶
type ConnectionID struct {
NoArgFunc
}
func (ConnectionID) WithChildren ¶
func (c ConnectionID) WithChildren(expressions ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Cos ¶
type Cos struct {
*UnaryFunc
}
func (*Cos) WithChildren ¶
func (c *Cos) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Cot ¶
type Cot struct {
*UnaryFunc
}
func (*Cot) WithChildren ¶
func (c *Cot) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Crc32 ¶
type Crc32 struct {
*UnaryFunc
}
func (*Crc32) WithChildren ¶
func (c *Crc32) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type CurrDate ¶
type CurrDate struct {
NoArgFunc
}
func (CurrDate) WithChildren ¶
func (c CurrDate) WithChildren(expressions ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type CurrTime ¶
type CurrTime struct {
NoArgFunc
}
func (CurrTime) WithChildren ¶
func (c CurrTime) WithChildren(expressions ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type CurrTimestamp ¶
type CurrTimestamp struct {
NoArgFunc
}
func (CurrTimestamp) WithChildren ¶
func (c CurrTimestamp) WithChildren(expressions ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Database ¶
type Database struct {
// contains filtered or unexported fields
}
Database stands for DATABASE() function
func (*Database) Children ¶
func (db *Database) Children() []sql.Expression
Children implements the sql.Expression interface.
func (*Database) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Database) IsNullable ¶
IsNullable implements the sql.Expression interface. The function returns always true
func (*Database) WithChildren ¶
func (d *Database) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Date ¶
type Date struct {
expression.UnaryExpression
}
Date a function takes the DATE part out from a datetime expression.
func (*Date) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Date) WithChildren ¶
func (d *Date) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type DateAdd ¶
type DateAdd struct { Date sql.Expression Interval *expression.Interval }
DateAdd adds an interval to a date.
func (*DateAdd) Children ¶
func (d *DateAdd) Children() []sql.Expression
Children implements the sql.Expression interface.
func (*DateAdd) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*DateAdd) IsNullable ¶
IsNullable implements the sql.Expression interface.
func (*DateAdd) WithChildren ¶
func (d *DateAdd) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type DateFormat ¶
type DateFormat struct {
expression.BinaryExpression
}
DateFormat function returns a string representation of the date specified in the format specified
func (*DateFormat) FunctionName ¶
func (f *DateFormat) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*DateFormat) IsNullable ¶
func (f *DateFormat) IsNullable() bool
IsNullable implements the Expression interface.
func (*DateFormat) String ¶
func (f *DateFormat) String() string
func (*DateFormat) Type ¶
func (f *DateFormat) Type() sql.Type
Type implements the Expression interface.
func (*DateFormat) WithChildren ¶
func (f *DateFormat) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type DateSub ¶
type DateSub struct { Date sql.Expression Interval *expression.Interval }
DateSub subtracts an interval from a date.
func (*DateSub) Children ¶
func (d *DateSub) Children() []sql.Expression
Children implements the sql.Expression interface.
func (*DateSub) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*DateSub) IsNullable ¶
IsNullable implements the sql.Expression interface.
func (*DateSub) WithChildren ¶
func (d *DateSub) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type DatetimeConversion ¶
type DatetimeConversion struct {
Date sql.Expression
}
DatetimeConversion is a shorthand function for CONVERT(expr, DATETIME)
func (*DatetimeConversion) Children ¶
func (t *DatetimeConversion) Children() []sql.Expression
func (*DatetimeConversion) FunctionName ¶
func (t *DatetimeConversion) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*DatetimeConversion) IsNullable ¶
func (t *DatetimeConversion) IsNullable() bool
func (*DatetimeConversion) Resolved ¶
func (t *DatetimeConversion) Resolved() bool
func (*DatetimeConversion) String ¶
func (t *DatetimeConversion) String() string
func (*DatetimeConversion) Type ¶
func (t *DatetimeConversion) Type() sql.Type
func (*DatetimeConversion) WithChildren ¶
func (t *DatetimeConversion) WithChildren(children ...sql.Expression) (sql.Expression, error)
type Day ¶
type Day struct {
expression.UnaryExpression
}
Day is a function that returns the day of a date.
func (*Day) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Day) WithChildren ¶
func (d *Day) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type DayName ¶
type DayName struct {
*UnaryDatetimeFunc
}
DayName implements the DAYNAME function
func (*DayName) WithChildren ¶
func (d *DayName) WithChildren(children ...sql.Expression) (sql.Expression, error)
type DayOfWeek ¶
type DayOfWeek struct {
expression.UnaryExpression
}
DayOfWeek is a function that returns the day of the week from a date where 1 = Sunday, ..., 7 = Saturday.
func (*DayOfWeek) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*DayOfWeek) WithChildren ¶
func (d *DayOfWeek) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type DayOfYear ¶
type DayOfYear struct {
expression.UnaryExpression
}
DayOfYear is a function that returns the day of the year from a date.
func (*DayOfYear) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*DayOfYear) WithChildren ¶
func (d *DayOfYear) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Degrees ¶
type Degrees struct {
*UnaryFunc
}
func (*Degrees) WithChildren ¶
func (d *Degrees) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Explode ¶
type Explode struct {
Child sql.Expression
}
Explode is a function that generates a row for each value of its child. It is a placeholder expression node.
func (*Explode) Children ¶
func (e *Explode) Children() []sql.Expression
Children implements the sql.Expression interface.
func (*Explode) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Explode) IsNullable ¶
IsNullable implements the sql.Expression interface.
func (*Explode) WithChildren ¶
func (e *Explode) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Floor ¶
type Floor struct {
expression.UnaryExpression
}
Floor returns the biggest integer value not less than X.
func (*Floor) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Floor) WithChildren ¶
func (f *Floor) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type FoundRows ¶ added in v0.9.0
type FoundRows struct{}
FoundRows implements the FOUND_ROWS() function
func (FoundRows) Children ¶ added in v0.9.0
func (r FoundRows) Children() []sql.Expression
Children implements sql.Expression
func (FoundRows) FunctionName ¶ added in v0.9.0
FunctionName implements sql.FunctionExpression
func (FoundRows) IsNullable ¶ added in v0.9.0
IsNullable implements sql.Expression
func (FoundRows) WithChildren ¶ added in v0.9.0
func (r FoundRows) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type FromBase64 ¶
type FromBase64 struct {
expression.UnaryExpression
}
FromBase64 is a function to decode a Base64-formatted string using the same dialect that MySQL's FROM_BASE64 uses
func (*FromBase64) FunctionName ¶
func (t *FromBase64) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*FromBase64) IsNullable ¶
func (t *FromBase64) IsNullable() bool
IsNullable implements the Expression interface.
func (*FromBase64) String ¶
func (t *FromBase64) String() string
String implements the fmt.Stringer interface.
func (*FromBase64) Type ¶
func (t *FromBase64) Type() sql.Type
Type implements the Expression interface.
func (*FromBase64) WithChildren ¶
func (t *FromBase64) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Generate ¶
type Generate struct {
Child sql.Expression
}
Generate is a function that generates a row for each value of its child. This is the non-placeholder counterpart of Explode.
func (*Generate) Children ¶
func (e *Generate) Children() []sql.Expression
Children implements the sql.Expression interface.
func (*Generate) IsNullable ¶
IsNullable implements the sql.Expression interface.
func (*Generate) WithChildren ¶
func (e *Generate) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type GetLock ¶
type GetLock struct { expression.BinaryExpression // contains filtered or unexported fields }
GetLock is a SQL function implementing get_lock
func (*GetLock) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*GetLock) IsNullable ¶
IsNullable implements the Expression interface.
func (*GetLock) WithChildren ¶
func (gl *GetLock) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Greatest ¶
type Greatest struct { Args []sql.Expression // contains filtered or unexported fields }
Greatest returns the argument with the greatest numerical or string value. It allows for numeric (ints and floats) and string arguments and will return the used type when all arguments are of the same type or floats if there are numerically convertible strings or integers mixed with floats. When ints or floats are mixed with non numerically convertible strings, those are ignored.
func (*Greatest) Children ¶
func (f *Greatest) Children() []sql.Expression
Children implements the Expression interface.
func (*Greatest) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Greatest) IsNullable ¶
IsNullable implements the Expression interface.
func (*Greatest) WithChildren ¶
func (f *Greatest) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Hex ¶
type Hex struct {
*UnaryFunc
}
Hex implements the sql function "hex" which returns the hexadecimal representation of the string or numeric value
func (*Hex) WithChildren ¶
func (h *Hex) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the sql.Expression interface
type Hour ¶
type Hour struct {
expression.UnaryExpression
}
Hour is a function that returns the hour of a date.
func (*Hour) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Hour) WithChildren ¶
func (h *Hour) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type If ¶
type If struct {
// contains filtered or unexported fields
}
If function returns the second value if the first is true, the third value otherwise.
func (*If) Children ¶
func (f *If) Children() []sql.Expression
func (*If) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*If) IsNullable ¶
IsNullable implements the Expression interface.
func (*If) WithChildren ¶
func (f *If) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type IfNull ¶
type IfNull struct {
expression.BinaryExpression
}
IfNull function returns the specified value IF the expression is NULL, otherwise return the expression.
func (*IfNull) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*IfNull) IsNullable ¶
IsNullable implements the Expression interface.
func (*IfNull) WithChildren ¶
func (f *IfNull) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Instr ¶
type Instr struct {
// contains filtered or unexported fields
}
func (Instr) Children ¶
func (i Instr) Children() []sql.Expression
Children implements the Expression interface.
func (Instr) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (Instr) IsNullable ¶
IsNullable implements the Expression interface.
func (Instr) WithChildren ¶
func (i Instr) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type IsBinary ¶
type IsBinary struct {
expression.UnaryExpression
}
IsBinary is a function that returns whether a blob is binary or not.
func (*IsBinary) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*IsBinary) WithChildren ¶
func (ib *IsBinary) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type IsFreeLock ¶
type IsFreeLock struct {
NamedLockFunction
}
func (*IsFreeLock) WithChildren ¶
func (i *IsFreeLock) WithChildren(children ...sql.Expression) (sql.Expression, error)
type IsNull ¶ added in v0.10.0
type IsNull struct {
expression.UnaryExpression
}
IsNull is a function that returns whether a value is null or not.
func (*IsNull) FunctionName ¶ added in v0.10.0
FunctionName implements sql.FunctionExpression
func (*IsNull) WithChildren ¶ added in v0.10.0
func (ib *IsNull) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type IsUUID ¶ added in v0.9.0
type IsUUID struct {
// contains filtered or unexported fields
}
func (IsUUID) Children ¶ added in v0.9.0
func (u IsUUID) Children() []sql.Expression
Children returns the children expressions of this expression.
func (IsUUID) FunctionName ¶ added in v0.9.0
func (IsUUID) IsNullable ¶ added in v0.9.0
IsNullable returns whether the expression can be null.
func (IsUUID) WithChildren ¶ added in v0.9.0
func (u IsUUID) WithChildren(children ...sql.Expression) (sql.Expression, error)
type IsUsedLock ¶
type IsUsedLock struct {
NamedLockFunction
}
func (*IsUsedLock) WithChildren ¶
func (i *IsUsedLock) WithChildren(children ...sql.Expression) (sql.Expression, error)
type JSONArray ¶ added in v0.9.0
type JSONArray struct {
sql.Expression
}
JSON_ARRAY([val[, val] ...])
JSONArray Evaluates a (possibly empty) list of values and returns a JSON array containing those values.
https://dev.mysql.com/doc/refman/8.0/en/json-creation-functions.html#function_json-array
func (JSONArray) FunctionName ¶ added in v0.9.0
FunctionName implements sql.FunctionExpression
type JSONArrayAppend ¶ added in v0.9.0
type JSONArrayAppend struct {
sql.Expression
}
JSON_ARRAY_APPEND(json_doc, path, val[, path, val] ...)
JSONArrayAppend Appends values to the end of the indicated arrays within a JSON document and returns the result. Returns NULL if any argument is NULL. An error occurs if the json_doc argument is not a valid JSON document or any path argument is not a valid path expression or contains a * or ** wildcard. The path-value pairs are evaluated left to right. The document produced by evaluating one pair becomes the new value against which the next pair is evaluated. If a path selects a scalar or object value, that value is autowrapped within an array and the new value is added to that array. Pairs for which the path does not identify any value in the JSON document are ignored.
https://dev.mysql.com/doc/refman/8.0/en/json-modification-functions.html#function_json-array-append
func (JSONArrayAppend) FunctionName ¶ added in v0.9.0
func (j JSONArrayAppend) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONArrayInsert ¶ added in v0.9.0
type JSONArrayInsert struct {
sql.Expression
}
JSON_ARRAY_INSERT(json_doc, path, val[, path, val] ...)
JSONArrayInsert Updates a JSON document, inserting into an array within the document and returning the modified document. Returns NULL if any argument is NULL. An error occurs if the json_doc argument is not a valid JSON document or any path argument is not a valid path expression or contains a * or ** wildcard or does not end with an array element identifier. The path-value pairs are evaluated left to right. The document produced by evaluating one pair becomes the new value against which the next pair is evaluated. Pairs for which the path does not identify any array in the JSON document are ignored. If a path identifies an array element, the corresponding value is inserted at that element position, shifting any following values to the right. If a path identifies an array position past the end of an array, the value is inserted at the end of the array.
https://dev.mysql.com/doc/refman/8.0/en/json-modification-functions.html#function_json-array-insert
func (JSONArrayInsert) FunctionName ¶ added in v0.9.0
func (j JSONArrayInsert) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONContains ¶ added in v0.9.0
type JSONContains struct { JSONTarget sql.Expression JSONCandidate sql.Expression Path sql.Expression }
JSON_CONTAINS(target, candidate[, path])
JSONContains indicates by returning 1 or 0 whether a given candidate JSON document is contained within a target JSON document, or, if a path argument was supplied, whether the candidate is found at a specific path within the target. Returns NULL if any argument is NULL, or if the path argument does not identify a section of the target document. An error occurs if target or candidate is not a valid JSON document, or if the path argument is not a valid path expression or contains a * or ** wildcard. To check only whether any data exists at the path, use JSON_CONTAINS_PATH() instead.
The following rules define containment:
- A candidate scalar is contained in a target scalar if and only if they are comparable and are equal. Two scalar values are comparable if they have the same JSON_TYPE() types, with the exception that values of types INTEGER and DECIMAL are also comparable to each other.
- A candidate array is contained in a target array if and only if every element in the candidate is contained in some element of the target.
- A candidate non-array is contained in a target array if and only if the candidate is contained in some element of the target.
/ - A candidate object is contained in a target object if and only if for each key in the candidate there is a key
with the same name in the target and the value associated with the candidate key is contained in the value associated with the target key.
Otherwise, the candidate value is not contained in the target document.
https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#function_json-contains TODO: Add multi index optimization -> https://dev.mysql.com/doc/refman/8.0/en/create-index.html#create-index-multi-valued
func (*JSONContains) Children ¶ added in v0.10.0
func (j *JSONContains) Children() []sql.Expression
func (*JSONContains) FunctionName ¶ added in v0.9.0
func (j *JSONContains) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*JSONContains) IsNullable ¶ added in v0.10.0
func (j *JSONContains) IsNullable() bool
func (*JSONContains) Resolved ¶ added in v0.10.0
func (j *JSONContains) Resolved() bool
func (*JSONContains) String ¶ added in v0.10.0
func (j *JSONContains) String() string
func (*JSONContains) Type ¶ added in v0.10.0
func (j *JSONContains) Type() sql.Type
func (*JSONContains) WithChildren ¶ added in v0.10.0
func (j *JSONContains) WithChildren(children ...sql.Expression) (sql.Expression, error)
type JSONContainsPath ¶ added in v0.9.0
type JSONContainsPath struct {
sql.Expression
}
JSON_CONTAINS_PATH(json_doc, one_or_all, path[, path] ...)
JSONContainsPath Returns 0 or 1 to indicate whether a JSON document contains data at a given path or paths. Returns NULL if any argument is NULL. An error occurs if the json_doc argument is not a valid JSON document, any path argument is not a valid path expression, or one_or_all is not 'one' or 'all'. To check for a specific value at a path, use JSON_CONTAINS() instead.
The return value is 0 if no specified path exists within the document. Otherwise, the return value depends on the one_or_all argument:
- 'one': 1 if at least one path exists within the document, 0 otherwise.
- 'all': 1 if all paths exist within the document, 0 otherwise.
https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#function_json-contains-path
func (JSONContainsPath) FunctionName ¶ added in v0.9.0
func (j JSONContainsPath) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONDepth ¶ added in v0.9.0
type JSONDepth struct {
sql.Expression
}
JSON_DEPTH(json_doc)
JSONDepth Returns the maximum depth of a JSON document. Returns NULL if the argument is NULL. An error occurs if the argument is not a valid JSON document. An empty array, empty object, or scalar value has depth 1. A nonempty array containing only elements of depth 1 or nonempty object containing only member values of depth 1 has depth 2. Otherwise, a JSON document has depth greater than 2.
https://dev.mysql.com/doc/refman/8.0/en/json-attribute-functions.html#function_json-depth
func (JSONDepth) FunctionName ¶ added in v0.9.0
FunctionName implements sql.FunctionExpression
type JSONExtract ¶
type JSONExtract struct { JSON sql.Expression Paths []sql.Expression }
JSON_EXTRACT(json_doc, path[, path] ...)
JSONExtract extracts data from a json document using json paths. https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#function_json-extract
func (*JSONExtract) Children ¶
func (j *JSONExtract) Children() []sql.Expression
Children implements the sql.Expression interface.
func (*JSONExtract) FunctionName ¶
func (j *JSONExtract) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*JSONExtract) IsNullable ¶
func (j *JSONExtract) IsNullable() bool
IsNullable implements the sql.Expression interface.
func (*JSONExtract) Resolved ¶
func (j *JSONExtract) Resolved() bool
Resolved implements the sql.Expression interface.
func (*JSONExtract) String ¶
func (j *JSONExtract) String() string
func (*JSONExtract) Type ¶
func (j *JSONExtract) Type() sql.Type
Type implements the sql.Expression interface.
func (*JSONExtract) WithChildren ¶
func (j *JSONExtract) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type JSONInsert ¶ added in v0.9.0
type JSONInsert struct {
sql.Expression
}
JSON_INSERT(json_doc, path, val[, path, val] ...)
JSONInsert Inserts data into a JSON document and returns the result. Returns NULL if any argument is NULL. An error occurs if the json_doc argument is not a valid JSON document or any path argument is not a valid path expression or contains a * or ** wildcard. The path-value pairs are evaluated left to right. The document produced by evaluating one pair becomes the new value against which the next pair is evaluated. A path-value pair for an existing path in the document is ignored and does not overwrite the existing document value. A path-value pair for a nonexisting path in the document adds the value to the document if the path identifies one of these types of values:
- A member not present in an existing object. The member is added to the object and associated with the new value.
- A position past the end of an existing array. The array is extended with the new value. If the existing value is not an array, it is autowrapped as an array, then extended with the new value.
Otherwise, a path-value pair for a nonexisting path in the document is ignored and has no effect.
https://dev.mysql.com/doc/refman/8.0/en/json-modification-functions.html#function_json-insert
func (JSONInsert) FunctionName ¶ added in v0.9.0
func (j JSONInsert) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONKeys ¶ added in v0.9.0
type JSONKeys struct {
sql.Expression
}
JSON_KEYS(json_doc[, path])
JSONKeys Returns the keys from the top-level value of a JSON object as a JSON array, or, if a path argument is given, the top-level keys from the selected path. Returns NULL if any argument is NULL, the json_doc argument is not an object, or path, if given, does not locate an object. An error occurs if the json_doc argument is not a valid JSON document or the path argument is not a valid path expression or contains a * or ** wildcard. The result array is empty if the selected object is empty. If the top-level value has nested subobjects, the return value does not include keys from those subobjects.
https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#function_json-keys
func (JSONKeys) FunctionName ¶ added in v0.9.0
FunctionName implements sql.FunctionExpression
type JSONLength ¶ added in v0.9.0
type JSONLength struct {
sql.Expression
}
JSON_LENGTH(json_doc[, path])
JSONLength Returns the length of a JSON document, or, if a path argument is given, the length of the value within the document identified by the path. Returns NULL if any argument is NULL or the path argument does not identify a value in the document. An error occurs if the json_doc argument is not a valid JSON document or the path argument is not a valid path expression or contains a * or ** wildcard. The length of a document is determined as follows:
- The length of a scalar is 1.
- The length of an array is the number of array elements.
- The length of an object is the number of object members.
- The length does not count the length of nested arrays or objects.
https://dev.mysql.com/doc/refman/8.0/en/json-attribute-functions.html#function_json-length
func (JSONLength) FunctionName ¶ added in v0.9.0
func (j JSONLength) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONMerge ¶ added in v0.9.0
type JSONMerge struct {
sql.Expression
}
JSON_MERGE(json_doc, json_doc[, json_doc] ...)
JSONMerge Merges two or more JSON documents. Synonym for JSONMergePreserve(); deprecated in MySQL 8.0.3 and subject to removal in a future release.
https://dev.mysql.com/doc/refman/8.0/en/json-modification-functions.html#function_json-merge
type JSONMergePatch ¶ added in v0.9.0
type JSONMergePatch struct {
sql.Expression
}
JSON_MERGE_PATCH(json_doc, json_doc[, json_doc] ...)
JSONMergePatch Performs an RFC 7396 compliant merge of two or more JSON documents and returns the merged result, without preserving members having duplicate keys. Raises an error if at least one of the documents passed as arguments to this function is not valid. JSONMergePatch performs a merge as follows:
- If the first argument is not an object, the result of the merge is the same as if an empty object had been merged with the second argument.
- If the second argument is not an object, the result of the merge is the second argument.
- If both arguments are objects, the result of the merge is an object with the following members:
- All members of the first object which do not have a corresponding member with the same key in the second object.
- All members of the second object which do not have a corresponding key in the first object, and whose value is not the JSON null literal.
- All members with a key that exists in both the first and the second object, and whose value in the second object is not the JSON null literal. The values of these members are the results of recursively merging the value in the first object with the value in the second object.
The behavior of JSONMergePatch is the same as that of JSONMergePreserve, with the following two exceptions:
- JSONMergePatch removes any member in the first object with a matching key in the second object, provided that the value associated with the key in the second object is not JSON null.
- If the second object has a member with a key matching a member in the first object, JSONMergePatch replaces the value in the first object with the value in the second object, whereas JSONMergePreserve appends the second value to the first value.
https://dev.mysql.com/doc/refman/8.0/en/json-modification-functions.html#function_json-merge-patch
func (JSONMergePatch) FunctionName ¶ added in v0.9.0
func (j JSONMergePatch) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONMergePreserve ¶ added in v0.9.0
type JSONMergePreserve struct {
sql.Expression
}
JSON_MERGE_PRESERVE(json_doc, json_doc[, json_doc] ...)
JSONMergePreserve Merges two or more JSON documents and returns the merged result. Returns NULL if any argument is NULL. An error occurs if any argument is not a valid JSON document. Merging takes place according to the following rules:
- Adjacent arrays are merged to a single array.
- Adjacent objects are merged to a single object.
- A scalar value is autowrapped as an array and merged as an array.
- An adjacent array and object are merged by autowrapping the object as an array and merging the two arrays.
This function was added in MySQL 8.0.3 as a synonym for JSONMerge. The JSONMerge function is now deprecated, and is subject to removal in a future release of MySQL.
The behavior of JSONMergePatch is the same as that of JSONMergePreserve, with the following two exceptions:
- JSONMergePatch removes any member in the first object with a matching key in the second object, provided that the value associated with the key in the second object is not JSON null.
- If the second object has a member with a key matching a member in the first object, JSONMergePatch replaces the value in the first object with the value in the second object, whereas JSONMergePreserve appends the second value to the first value.
func (JSONMergePreserve) FunctionName ¶ added in v0.9.0
func (j JSONMergePreserve) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONObject ¶ added in v0.9.0
type JSONObject struct {
sql.Expression
}
JSON_OBJECT([key, val[, key, val] ...])
JSONObject Evaluates a (possibly empty) list of key-value pairs and returns a JSON object containing those pairs. An error occurs if any key name is NULL or the number of arguments is odd.
https://dev.mysql.com/doc/refman/8.0/en/json-creation-functions.html#function_json-object
func (JSONObject) FunctionName ¶ added in v0.9.0
func (j JSONObject) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONOverlaps ¶ added in v0.9.0
type JSONOverlaps struct {
sql.Expression
}
JSON_OVERLAPS(json_doc1, json_doc2)
JSONOverlaps Compares two JSON documents. Returns true (1) if the two document have any key-value pairs or array elements in common. If both arguments are scalars, the function performs a simple equality test.
This function serves as counterpart to JSON_CONTAINS(), which requires all elements of the array searched for to be present in the array searched in. Thus, JSON_CONTAINS() performs an AND operation on search keys, while JSON_OVERLAPS() performs an OR operation.
Queries on JSON columns of InnoDB tables using JSON_OVERLAPS() in the WHERE clause can be optimized using multi-valued indexes. Multi-Valued Indexes, provides detailed information and examples.
https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#function_json-overlaps
func (JSONOverlaps) FunctionName ¶ added in v0.9.0
func (j JSONOverlaps) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONPretty ¶ added in v0.9.0
type JSONPretty struct {
sql.Expression
}
JSON_PRETTY(json_val)
JSONPretty Provides pretty-printing of JSON values similar to that implemented in PHP and by other languages and database systems. The value supplied must be a JSON value or a valid string representation of a JSON value. Extraneous whitespaces and newlines present in this value have no effect on the output. For a NULL value, the function returns NULL. If the value is not a JSON document, or if it cannot be parsed as one, the function fails with an error. Formatting of the output from this function adheres to the following rules:
- Each array element or object member appears on a separate line, indented by one additional level as compared to its parent.
- Each level of indentation adds two leading spaces.
- A comma separating individual array elements or object members is printed before the newline that separates the two elements or members.
- The key and the value of an object member are separated by a colon followed by a space (': ').
- An empty object or array is printed on a single line. No space is printed between the opening and closing brace.
- Special characters in string scalars and key names are escaped employing the same rules used by JSONQuote.
https://dev.mysql.com/doc/refman/8.0/en/json-utility-functions.html#function_json-pretty
func (JSONPretty) FunctionName ¶ added in v0.9.0
func (j JSONPretty) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONQuote ¶ added in v0.9.0
type JSONQuote struct {
sql.Expression
}
JSON_QUOTE(string)
JSONQuote Quotes a string as a JSON value by wrapping it with double quote characters and escaping interior quote and other characters, then returning the result as a utf8mb4 string. Returns NULL if the argument is NULL. This function is typically used to produce a valid JSON string literal for inclusion within a JSON document. Certain special characters are escaped with backslashes per the escape sequences shown in Table 12.23, “JSON_UNQUOTE() Special Character Escape Sequences”: https://dev.mysql.com/doc/refman/8.0/en/json-modification-functions.html#json-unquote-character-escape-sequences
https://dev.mysql.com/doc/refman/8.0/en/json-creation-functions.html#function_json-quote
func (JSONQuote) FunctionName ¶ added in v0.9.0
FunctionName implements sql.FunctionExpression
type JSONRemove ¶ added in v0.9.0
type JSONRemove struct {
sql.Expression
}
JSON_REMOVE(json_doc, path[, path] ...)
JSONRemove Removes data from a JSON document and returns the result. Returns NULL if any argument is NULL. An error occurs if the json_doc argument is not a valid JSON document or any path argument is not a valid path expression or is $ or contains a * or ** wildcard. The path arguments are evaluated left to right. The document produced by evaluating one path becomes the new value against which the next path is evaluated. It is not an error if the element to be removed does not exist in the document; in that case, the path does not affect the document.
https://dev.mysql.com/doc/refman/8.0/en/json-modification-functions.html#function_json-remove
func (JSONRemove) FunctionName ¶ added in v0.9.0
func (j JSONRemove) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONReplace ¶ added in v0.9.0
type JSONReplace struct {
sql.Expression
}
JSON_REPLACE(json_doc, path, val[, path, val] ...)
JSONReplace Replaces existing values in a JSON document and returns the result. Returns NULL if any argument is NULL. An error occurs if the json_doc argument is not a valid JSON document or any path argument is not a valid path expression or contains a * or ** wildcard. The path-value pairs are evaluated left to right. The document produced by evaluating one pair becomes the new value against which the next pair is evaluated. A path-value pair for an existing path in the document overwrites the existing document value with the new value. A path-value pair for a non-existing path in the document is ignored and has no effect.
https://dev.mysql.com/doc/refman/8.0/en/json-modification-functions.html#function_json-replace
func (JSONReplace) FunctionName ¶ added in v0.9.0
func (j JSONReplace) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONSchemaValid ¶ added in v0.9.0
type JSONSchemaValid struct {
sql.Expression
}
JSON_SCHEMA_VALID(schema,document)
JSONSchemaValid Validates a JSON document against a JSON schema. Both schema and document are required. The schema must be a valid JSON object; the document must be a valid JSON document. Provided that these conditions are met: If the document validates against the schema, the function returns true (1); otherwise, it returns false (0). https://dev.mysql.com/doc/refman/8.0/en/json-validation-functions.html#function_json-schema-valid
func (JSONSchemaValid) FunctionName ¶ added in v0.9.0
func (j JSONSchemaValid) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONSchemaValidationReport ¶ added in v0.9.0
type JSONSchemaValidationReport struct {
sql.Expression
}
JSON_SCHEMA_VALIDATION_REPORT(schema,document)
JSONSchemaValidationReport Validates a JSON document against a JSON schema. Both schema and document are required. As with JSONSchemaValid, the schema must be a valid JSON object, and the document must be a valid JSON document. Provided that these conditions are met, the function returns a report, as a JSON document, on the outcome of the validation. If the JSON document is considered valid according to the JSON Schema, the function returns a JSON object with one property valid having the value "true". If the JSON document fails validation, the function returns a JSON object which includes the properties listed here:
- valid: Always "false" for a failed schema validation
- reason: A human-readable string containing the reason for the failure
- schema-location: A JSON pointer URI fragment identifier indicating where in the JSON schema the validation failed (see Note following this list)
- document-location: A JSON pointer URI fragment identifier indicating where in the JSON document the validation failed (see Note following this list)
- schema-failed-keyword: A string containing the name of the keyword or property in the JSON schema that was violated
func (JSONSchemaValidationReport) FunctionName ¶ added in v0.9.0
func (j JSONSchemaValidationReport) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONSearch ¶ added in v0.9.0
type JSONSearch struct {
sql.Expression
}
JSON_SEARCH(json_doc, one_or_all, search_str[, escape_char[, path] ...])
JSONSearch Returns the path to the given string within a JSON document. Returns NULL if any of the json_doc, search_str, or path arguments are NULL; no path exists within the document; or search_str is not found. An error occurs if the json_doc argument is not a valid JSON document, any path argument is not a valid path expression, one_or_all is not 'one' or 'all', or escape_char is not a constant expression. The one_or_all argument affects the search as follows:
- 'one': The search terminates after the first match and returns one path string. It is undefined which match is considered first.
- 'all': The search returns all matching path strings such that no duplicate paths are included. If there are multiple strings, they are autowrapped as an array. The order of the array elements is undefined.
Within the search_str search string argument, the % and _ characters work as for the LIKE operator: % matches any number of characters (including zero characters), and _ matches exactly one character.
To specify a literal % or _ character in the search string, precede it by the escape character. The default is \ if the escape_char argument is missing or NULL. Otherwise, escape_char must be a constant that is empty or one character. For more information about matching and escape character behavior, see the description of LIKE in Section 12.8.1, “String Comparison Functions and Operators”: https://dev.mysql.com/doc/refman/8.0/en/string-comparison-functions.html For escape character handling, a difference from the LIKE behavior is that the escape character for JSON_SEARCH() must evaluate to a constant at compile time, not just at execution time. For example, if JSON_SEARCH() is used in a prepared statement and the escape_char argument is supplied using a ? parameter, the parameter value might be constant at execution time, but is not at compile time.
https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#function_json-search
func (JSONSearch) FunctionName ¶ added in v0.9.0
func (j JSONSearch) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONSet ¶ added in v0.9.0
type JSONSet struct {
sql.Expression
}
JSON_SET(json_doc, path, val[, path, val] ...)
JSONSet Inserts or updates data in a JSON document and returns the result. Returns NULL if any argument is NULL or path, if given, does not locate an object. An error occurs if the json_doc argument is not a valid JSON document or any path argument is not a valid path expression or contains a * or ** wildcard. The path-value pairs are evaluated left to right. The document produced by evaluating one pair becomes the new value against which the next pair is evaluated. A path-value pair for an existing path in the document overwrites the existing document value with the new value. A path-value pair for a non-existing path in the document adds the value to the document if the path identifies one of these types of values:
- A member not present in an existing object. The member is added to the object and associated with the new value.
- A position past the end of an existing array. The array is extended with the new value. If the existing value is not an array, it is auto-wrapped as an array, then extended with the new value.
Otherwise, a path-value pair for a non-existing path in the document is ignored and has no effect.
https://dev.mysql.com/doc/refman/8.0/en/json-modification-functions.html#function_json-set
func (JSONSet) FunctionName ¶ added in v0.9.0
FunctionName implements sql.FunctionExpression
type JSONStorageFree ¶ added in v0.9.0
type JSONStorageFree struct {
sql.Expression
}
JSON_STORAGE_FREE(json_val)
JSONStorageFree For a JSON column value, this function shows how much storage space was freed in its binary representation after it was updated in place using JSON_SET(), JSON_REPLACE(), or JSON_REMOVE(). The argument can also be a valid JSON document or a string which can be parsed as one—either as a literal value or as the value of a user variable—in which case the function returns 0. It returns a positive, nonzero value if the argument is a JSON column value which has been updated as described previously, such that its binary representation takes up less space than it did prior to the update. For a JSON column which has been updated such that its binary representation is the same as or larger than before, or if the update was not able to take advantage of a partial update, it returns 0; it returns NULL if the argument is NULL. If json_val is not NULL, and neither is a valid JSON document nor can be successfully parsed as one, an error results.
https://dev.mysql.com/doc/refman/8.0/en/json-utility-functions.html#function_json-storage-size
func (JSONStorageFree) FunctionName ¶ added in v0.9.0
func (j JSONStorageFree) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONStorageSize ¶ added in v0.9.0
type JSONStorageSize struct {
sql.Expression
}
JSON_STORAGE_SIZE(json_val)
JSONStorageSize This function returns the number of bytes used to store the binary representation of a JSON document. When the argument is a JSON column, this is the space used to store the JSON document as it was inserted into the column, prior to any partial updates that may have been performed on it afterwards. json_val must be a valid JSON document or a string which can be parsed as one. In the case where it is string, the function returns the amount of storage space in the JSON binary representation that is created by parsing the string as JSON and converting it to binary. It returns NULL if the argument is NULL. An error results when json_val is not NULL, and is not—or cannot be successfully parsed as—a JSON document.
https://dev.mysql.com/doc/refman/8.0/en/json-utility-functions.html#function_json-storage-size
func (JSONStorageSize) FunctionName ¶ added in v0.9.0
func (j JSONStorageSize) FunctionName() string
FunctionName implements sql.FunctionExpression
type JSONTable ¶ added in v0.9.0
type JSONTable struct {
sql.Expression
}
JSON_TABLE(expr, path COLUMNS (column_list) [AS] alias)
JSONTable Extracts data from a JSON document and returns it as a relational table having the specified columns. TODO(andy): this doc was heavily truncated
https://dev.mysql.com/doc/refman/8.0/en/json-table-functions.html#function_json-table
func (JSONTable) FunctionName ¶ added in v0.9.0
FunctionName implements sql.FunctionExpression
type JSONType ¶ added in v0.9.0
type JSONType struct {
sql.Expression
}
JSON_TYPE(json_val)
Returns a utf8mb4 string indicating the type of a JSON value. This can be an object, an array, or a scalar type. JSONType returns NULL if the argument is NULL. An error occurs if the argument is not a valid JSON value
https://dev.mysql.com/doc/refman/8.0/en/json-attribute-functions.html#function_json-type
func (JSONType) FunctionName ¶ added in v0.9.0
FunctionName implements sql.FunctionExpression
type JSONUnquote ¶
type JSONUnquote struct {
expression.UnaryExpression
}
JSONUnquote unquotes JSON value and returns the result as a utf8mb4 string. Returns NULL if the argument is NULL. An error occurs if the value starts and ends with double quotes but is not a valid JSON string literal.
func (*JSONUnquote) FunctionName ¶
func (js *JSONUnquote) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*JSONUnquote) String ¶
func (js *JSONUnquote) String() string
func (*JSONUnquote) Type ¶
func (*JSONUnquote) Type() sql.Type
Type implements the Expression interface.
func (*JSONUnquote) WithChildren ¶
func (js *JSONUnquote) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type JSONValid ¶ added in v0.9.0
type JSONValid struct {
sql.Expression
}
JSON_VALID(val)
Returns 0 or 1 to indicate whether a value is valid JSON. Returns NULL if the argument is NULL.
https://dev.mysql.com/doc/refman/8.0/en/json-attribute-functions.html#function_json-valid
func (JSONValid) FunctionName ¶ added in v0.9.0
FunctionName implements sql.FunctionExpression
type JSONValue ¶ added in v0.9.0
type JSONValue struct {
sql.Expression
}
JSON_VALUE(json_doc, path)
JSONValue Extracts a value from a JSON document at the path given in the specified document, and returns the extracted value, optionally converting it to a desired type.
https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#function_json-value
func (JSONValue) FunctionName ¶ added in v0.9.0
FunctionName implements sql.FunctionExpression
type LastInsertId ¶ added in v0.9.0
type LastInsertId struct{}
LastInsertId implements the LAST_INSERT_ID() function
func (LastInsertId) Children ¶ added in v0.9.0
func (r LastInsertId) Children() []sql.Expression
Children implements sql.Expression
func (LastInsertId) FunctionName ¶ added in v0.9.0
func (r LastInsertId) FunctionName() string
FunctionName implements sql.FunctionExpression
func (LastInsertId) IsNullable ¶ added in v0.9.0
func (r LastInsertId) IsNullable() bool
IsNullable implements sql.Expression
func (LastInsertId) Resolved ¶ added in v0.9.0
func (r LastInsertId) Resolved() bool
Resolved implements sql.Expression
func (LastInsertId) String ¶ added in v0.9.0
func (r LastInsertId) String() string
String implements sql.Expression
func (LastInsertId) Type ¶ added in v0.9.0
func (r LastInsertId) Type() sql.Type
Type implements sql.Expression
func (LastInsertId) WithChildren ¶ added in v0.9.0
func (r LastInsertId) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Least ¶
type Least struct { Args []sql.Expression // contains filtered or unexported fields }
Least returns the argument with the least numerical or string value. It allows for numeric (ints anf floats) and string arguments and will return the used type when all arguments are of the same type or floats if there are numerically convertible strings or integers mixed with floats. When ints or floats are mixed with non numerically convertible strings, those are ignored.
func (*Least) Children ¶
func (f *Least) Children() []sql.Expression
Children implements the Expression interface.
func (*Least) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Least) IsNullable ¶
IsNullable implements the Expression interface.
func (*Least) WithChildren ¶
func (f *Least) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Left ¶
type Left struct {
// contains filtered or unexported fields
}
Left is a function that returns the first N characters of a string expression.
func (Left) Children ¶
func (l Left) Children() []sql.Expression
Children implements the Expression interface.
func (Left) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (Left) IsNullable ¶
IsNullable implements the Expression interface.
func (Left) WithChildren ¶
func (l Left) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Length ¶
type Length struct { expression.UnaryExpression CountType CountType }
Length returns the length of a string or binary content, either in bytes or characters.
func (*Length) DebugString ¶ added in v0.9.0
func (*Length) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Length) WithChildren ¶
func (l *Length) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type LockFuncLogic ¶
type LockFuncLogic func(ctx *sql.Context, ls *sql.LockSubsystem, lockName string) (interface{}, error)
LockFuncLogic is the logic executed when one of the single argument named lock functions is executeed
type Log ¶
type Log struct {
expression.BinaryExpression
}
Log is a function that returns the natural logarithm of a value.
func (*Log) Children ¶
func (l *Log) Children() []sql.Expression
Children implements the Expression interface.
func (*Log) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Log) IsNullable ¶
IsNullable implements the Expression interface.
func (*Log) WithChildren ¶
func (l *Log) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type LogBase ¶
type LogBase struct { expression.UnaryExpression // contains filtered or unexported fields }
LogBase is a function that returns the logarithm of a value with a specific base.
func (*LogBase) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*LogBase) IsNullable ¶
IsNullable implements the sql.Expression interface.
func (*LogBase) WithChildren ¶
func (l *LogBase) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Lower ¶
type Lower struct {
expression.UnaryExpression
}
Lower is a function that returns the lowercase of the text provided.
func (*Lower) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Lower) WithChildren ¶
func (l *Lower) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type MD5 ¶
type MD5 struct {
*UnaryFunc
}
MD5 function returns the MD5 hash of the input. https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html#function_md5
func (*MD5) WithChildren ¶
func (f *MD5) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Microsecond ¶
type Microsecond struct {
*UnaryDatetimeFunc
}
Microsecond implements the MICROSECOND function
func (*Microsecond) WithChildren ¶
func (m *Microsecond) WithChildren(children ...sql.Expression) (sql.Expression, error)
type Minute ¶
type Minute struct {
expression.UnaryExpression
}
Minute is a function that returns the minute of a date.
func (*Minute) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Minute) WithChildren ¶
func (m *Minute) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Month ¶
type Month struct {
expression.UnaryExpression
}
Month is a function that returns the month of a date.
func (*Month) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Month) WithChildren ¶
func (m *Month) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type MonthName ¶
type MonthName struct {
*UnaryDatetimeFunc
}
MonthName implements the MONTHNAME function
func (*MonthName) WithChildren ¶
func (d *MonthName) WithChildren(children ...sql.Expression) (sql.Expression, error)
type NamedLockFunction ¶
type NamedLockFunction struct { expression.UnaryExpression // contains filtered or unexported fields }
NamedLockFunction is a sql function that takes just the name of a lock as an argument
func (*NamedLockFunction) FunctionName ¶
func (nl *NamedLockFunction) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*NamedLockFunction) GetLockName ¶
Eval implements the Expression interface.
func (*NamedLockFunction) IsNullable ¶
func (nl *NamedLockFunction) IsNullable() bool
IsNullable implements the Expression interface.
func (*NamedLockFunction) String ¶
func (nl *NamedLockFunction) String() string
String implements the fmt.Stringer interface.
func (*NamedLockFunction) Type ¶
func (nl *NamedLockFunction) Type() sql.Type
Type implements the Expression interface.
type NoArgFunc ¶
NoArgFunc is a helper type to reduce boilerplate in functions that take no arguments. Implements most of sql.FunctionExpression.
func (NoArgFunc) Children ¶
func (fn NoArgFunc) Children() []sql.Expression
Children implements the Expression interface.
func (NoArgFunc) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (NoArgFunc) IsNullable ¶
IsNullable implements the Expression interface.
type Now ¶
type Now struct {
// contains filtered or unexported fields
}
Now is a function that returns the current time.
func (*Now) Children ¶
func (n *Now) Children() []sql.Expression
Children implements the sql.Expression interface.
func (*Now) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Now) IsNullable ¶
IsNullable implements the sql.Expression interface.
func (*Now) WithChildren ¶
func (n *Now) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type NullIf ¶
type NullIf struct {
expression.BinaryExpression
}
NullIf function compares two expressions and returns NULL if they are equal. Otherwise, the first expression is returned.
func (*NullIf) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*NullIf) IsNullable ¶
IsNullable implements the Expression interface.
func (*NullIf) WithChildren ¶
func (f *NullIf) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Pad ¶
type Pad struct {
// contains filtered or unexported fields
}
Pad is a function that pads a string with another string.
func (*Pad) Children ¶
func (p *Pad) Children() []sql.Expression
Children implements the Expression interface.
func (*Pad) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Pad) IsNullable ¶
IsNullable implements the Expression interface.
func (*Pad) WithChildren ¶
func (p *Pad) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Power ¶
type Power struct {
expression.BinaryExpression
}
Power is a function that returns value of X raised to the power of Y.
func (*Power) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Power) IsNullable ¶
IsNullable implements the Expression interface.
func (*Power) WithChildren ¶
func (p *Power) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Radians ¶
type Radians struct {
*UnaryFunc
}
func (*Radians) WithChildren ¶
func (r *Radians) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Rand ¶
type Rand struct {
Child sql.Expression
}
Rand returns a random float 0 <= x < 1. If it has an argument, that argument will be used to seed the random number generator, effectively turning it into a hash on that value.
func (*Rand) Children ¶
func (r *Rand) Children() []sql.Expression
Children implements sql.Expression
func (*Rand) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Rand) IsNonDeterministic ¶
IsNonDeterministic implements sql.NonDeterministicExpression
func (*Rand) WithChildren ¶
func (r *Rand) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression.
type RegexpLike ¶ added in v0.10.0
type RegexpLike struct { Text sql.Expression Pattern sql.Expression Flags sql.Expression // contains filtered or unexported fields }
RegexpLike implements the REGEXP_LIKE function. https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-like
func (*RegexpLike) Children ¶ added in v0.10.0
func (r *RegexpLike) Children() []sql.Expression
Children implements the sql.Expression interface.
func (*RegexpLike) FunctionName ¶ added in v0.10.0
func (r *RegexpLike) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*RegexpLike) IsNullable ¶ added in v0.10.0
func (r *RegexpLike) IsNullable() bool
IsNullable implements the sql.Expression interface.
func (*RegexpLike) Resolved ¶ added in v0.10.0
func (r *RegexpLike) Resolved() bool
Resolved implements the sql.Expression interface.
func (*RegexpLike) String ¶ added in v0.10.0
func (r *RegexpLike) String() string
func (*RegexpLike) Type ¶ added in v0.10.0
func (r *RegexpLike) Type() sql.Type
Type implements the sql.Expression interface.
func (*RegexpLike) WithChildren ¶ added in v0.10.0
func (r *RegexpLike) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the sql.Expression interface.
type ReleaseAllLocks ¶
type ReleaseAllLocks struct { NoArgFunc // contains filtered or unexported fields }
func (ReleaseAllLocks) WithChildren ¶
func (r ReleaseAllLocks) WithChildren(expressions ...sql.Expression) (sql.Expression, error)
type ReleaseLock ¶
type ReleaseLock struct {
NamedLockFunction
}
func (*ReleaseLock) WithChildren ¶
func (i *ReleaseLock) WithChildren(children ...sql.Expression) (sql.Expression, error)
type Repeat ¶
type Repeat struct {
expression.BinaryExpression
}
Repeat is a function that returns the string repeated n times.
func (*Repeat) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Repeat) WithChildren ¶
func (r *Repeat) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Replace ¶
type Replace struct {
// contains filtered or unexported fields
}
Replace is a function that returns a string with all occurrences of fromStr replaced by the string toStr
func (*Replace) Children ¶
func (r *Replace) Children() []sql.Expression
Children implements the Expression interface.
func (*Replace) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Replace) IsNullable ¶
IsNullable implements the Expression interface.
func (*Replace) WithChildren ¶
func (r *Replace) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Reverse ¶
type Reverse struct {
expression.UnaryExpression
}
Reverse is a function that returns the reverse of the text provided.
func (*Reverse) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Reverse) WithChildren ¶
func (r *Reverse) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Round ¶
type Round struct {
expression.BinaryExpression
}
Round returns the number (x) with (d) requested decimal places. If d is negative, the number is returned with the (abs(d)) least significant digits of it's integer part set to 0. If d is not specified or nil/null it defaults to 0.
func (*Round) Children ¶
func (r *Round) Children() []sql.Expression
Children implements the Expression interface.
func (*Round) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Round) IsNullable ¶
IsNullable implements the Expression interface.
func (*Round) WithChildren ¶
func (r *Round) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type RowCount ¶ added in v0.9.0
type RowCount struct{}
RowCount implements the ROW_COUNT() function
func (RowCount) Children ¶ added in v0.9.0
func (r RowCount) Children() []sql.Expression
Children implements sql.Expression
func (RowCount) FunctionName ¶ added in v0.9.0
FunctionName implements sql.FunctionExpression
func (RowCount) IsNullable ¶ added in v0.9.0
IsNullable implements sql.Expression
func (RowCount) WithChildren ¶ added in v0.9.0
func (r RowCount) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type SHA1 ¶
type SHA1 struct {
*UnaryFunc
}
SHA1 function returns the SHA1 hash of the input. https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html#function_sha1
func (*SHA1) WithChildren ¶
func (f *SHA1) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type SHA2 ¶
type SHA2 struct {
expression.BinaryExpression
}
SHA2 function returns the SHA-224/256/384/512 hash of the input. https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html#function_sha2
func (*SHA2) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*SHA2) WithChildren ¶
func (f *SHA2) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Second ¶
type Second struct {
expression.UnaryExpression
}
Second is a function that returns the second of a date.
func (*Second) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Second) WithChildren ¶
func (s *Second) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Sign ¶
type Sign struct {
*UnaryFunc
}
func (*Sign) WithChildren ¶
func (s *Sign) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Sin ¶
type Sin struct {
*UnaryFunc
}
Sin is the SIN function
func (*Sin) WithChildren ¶
func (s *Sin) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Sleep ¶
type Sleep struct {
expression.UnaryExpression
}
Sleep is a function that just waits for the specified number of seconds and returns 0. It can be useful to test timeouts or long queries.
func (*Sleep) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Sleep) IsNullable ¶
IsNullable implements the Expression interface.
func (*Sleep) WithChildren ¶
func (s *Sleep) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Soundex ¶
type Soundex struct {
expression.UnaryExpression
}
Soundex is a function that returns the soundex of a string. Two strings that sound almost the same should have identical soundex strings. A standard soundex string is four characters long, but the SOUNDEX() function returns an arbitrarily long string.
func (*Soundex) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Soundex) WithChildren ¶
func (s *Soundex) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Split ¶
type Split struct {
expression.BinaryExpression
}
Split receives a string and returns the parts of it splitted by a delimiter.
func (*Split) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Split) IsNullable ¶
IsNullable implements the Expression interface.
func (*Split) WithChildren ¶
func (f *Split) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Sqrt ¶
type Sqrt struct {
expression.UnaryExpression
}
Sqrt is a function that returns the square value of the number provided.
func (*Sqrt) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Sqrt) IsNullable ¶
IsNullable implements the Expression interface.
func (*Sqrt) WithChildren ¶
func (s *Sqrt) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Substring ¶
type Substring struct {
// contains filtered or unexported fields
}
Substring is a function to return a part of a string. This function behaves as the homonym MySQL function. Since Go strings are UTF8, this function does not return a direct sub string str[start:start+length], instead returns the substring of rune s. That is, "á"[0:1] does not return a partial unicode glyph, but "á" itself.
func (*Substring) Children ¶
func (s *Substring) Children() []sql.Expression
Children implements the Expression interface.
func (*Substring) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Substring) IsNullable ¶
IsNullable implements the Expression interface.
func (*Substring) WithChildren ¶
func (*Substring) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type SubstringIndex ¶
type SubstringIndex struct {
// contains filtered or unexported fields
}
SubstringIndex returns the substring from string str before count occurrences of the delimiter delim. If count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned. SUBSTRING_INDEX() performs a case-sensitive match when searching for delim.
func (*SubstringIndex) Children ¶
func (s *SubstringIndex) Children() []sql.Expression
Children implements the Expression interface.
func (*SubstringIndex) FunctionName ¶
func (s *SubstringIndex) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*SubstringIndex) IsNullable ¶
func (s *SubstringIndex) IsNullable() bool
IsNullable implements the Expression interface.
func (*SubstringIndex) Resolved ¶
func (s *SubstringIndex) Resolved() bool
Resolved implements the Expression interface.
func (*SubstringIndex) String ¶
func (s *SubstringIndex) String() string
func (*SubstringIndex) Type ¶
func (*SubstringIndex) Type() sql.Type
Type implements the Expression interface.
func (*SubstringIndex) WithChildren ¶
func (s *SubstringIndex) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Tan ¶
type Tan struct {
*UnaryFunc
}
func (*Tan) WithChildren ¶
func (t *Tan) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type TimeDiff ¶
type TimeDiff struct {
expression.BinaryExpression
}
TimeDiff subtracts the second argument from the first expressed as a time value.
func (*TimeDiff) FunctionName ¶
func (*TimeDiff) IsNullable ¶
IsNullable implements the Expression interface.
func (*TimeDiff) WithChildren ¶
func (td *TimeDiff) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type TimeToSec ¶
type TimeToSec struct {
*UnaryDatetimeFunc
}
TimeToSec implements the time_to_sec function
func (*TimeToSec) WithChildren ¶
func (m *TimeToSec) WithChildren(children ...sql.Expression) (sql.Expression, error)
type TimestampConversion ¶
type TimestampConversion struct {
Date sql.Expression
}
TimestampConversion is a shorthand function for CONVERT(expr, TIMESTAMP)
func (*TimestampConversion) Children ¶
func (t *TimestampConversion) Children() []sql.Expression
func (*TimestampConversion) FunctionName ¶
func (t *TimestampConversion) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*TimestampConversion) IsNullable ¶
func (t *TimestampConversion) IsNullable() bool
func (*TimestampConversion) Resolved ¶
func (t *TimestampConversion) Resolved() bool
func (*TimestampConversion) String ¶
func (t *TimestampConversion) String() string
func (*TimestampConversion) Type ¶
func (t *TimestampConversion) Type() sql.Type
func (*TimestampConversion) WithChildren ¶
func (t *TimestampConversion) WithChildren(children ...sql.Expression) (sql.Expression, error)
type ToBase64 ¶
type ToBase64 struct {
expression.UnaryExpression
}
ToBase64 is a function to encode a string to the Base64 format using the same dialect that MySQL's TO_BASE64 uses
func (*ToBase64) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*ToBase64) IsNullable ¶
IsNullable implements the Expression interface.
func (*ToBase64) WithChildren ¶
func (t *ToBase64) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Trim ¶
type Trim struct { expression.UnaryExpression // contains filtered or unexported fields }
Trim is a function that returns the string with prefix or suffix spaces removed based on the trimType
func (*Trim) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Trim) IsNullable ¶
IsNullable implements the Expression interface.
func (*Trim) WithChildren ¶
func (t *Trim) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type UTCTimestamp ¶
type UTCTimestamp struct {
// contains filtered or unexported fields
}
UTCTimestamp is a function that returns the current time.
func (*UTCTimestamp) Children ¶
func (ut *UTCTimestamp) Children() []sql.Expression
Children implements the sql.Expression interface.
func (*UTCTimestamp) FunctionName ¶
func (ut *UTCTimestamp) FunctionName() string
func (*UTCTimestamp) IsNullable ¶
func (ut *UTCTimestamp) IsNullable() bool
IsNullable implements the sql.Expression interface.
func (*UTCTimestamp) Resolved ¶
func (ut *UTCTimestamp) Resolved() bool
Resolved implements the sql.Expression interface.
func (*UTCTimestamp) String ¶
func (ut *UTCTimestamp) String() string
func (*UTCTimestamp) Type ¶
func (ut *UTCTimestamp) Type() sql.Type
Type implements the sql.Expression interface.
func (*UTCTimestamp) WithChildren ¶
func (ut *UTCTimestamp) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type UUIDFunc ¶ added in v0.9.0
type UUIDFunc struct{}
func (UUIDFunc) Children ¶ added in v0.9.0
func (u UUIDFunc) Children() []sql.Expression
Children returns the children expressions of this expression.
func (UUIDFunc) FunctionName ¶ added in v0.9.0
func (UUIDFunc) IsNullable ¶ added in v0.9.0
IsNullable returns whether the expression can be null.
func (UUIDFunc) WithChildren ¶ added in v0.9.0
func (u UUIDFunc) WithChildren(children ...sql.Expression) (sql.Expression, error)
type UUIDToBin ¶ added in v0.9.0
type UUIDToBin struct {
// contains filtered or unexported fields
}
func (UUIDToBin) Children ¶ added in v0.9.0
func (ub UUIDToBin) Children() []sql.Expression
Children returns the children expressions of this expression.
func (UUIDToBin) FunctionName ¶ added in v0.9.0
func (UUIDToBin) IsNullable ¶ added in v0.9.0
IsNullable returns whether the expression can be null.
func (UUIDToBin) WithChildren ¶ added in v0.9.0
func (ub UUIDToBin) WithChildren(children ...sql.Expression) (sql.Expression, error)
type UnaryDatetimeFunc ¶
type UnaryDatetimeFunc struct { expression.UnaryExpression // Name is the name of the function Name string // SQLType is the return type of the function SQLType sql.Type }
UnaryDatetimeFunc is a sql.Function which takes a single datetime argument
func NewUnaryDatetimeFunc ¶
func NewUnaryDatetimeFunc(arg sql.Expression, name string, sqlType sql.Type) *UnaryDatetimeFunc
func (*UnaryDatetimeFunc) FunctionName ¶
func (dtf *UnaryDatetimeFunc) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*UnaryDatetimeFunc) String ¶
func (dtf *UnaryDatetimeFunc) String() string
String implements the fmt.Stringer interface.
func (*UnaryDatetimeFunc) Type ¶
func (dtf *UnaryDatetimeFunc) Type() sql.Type
Type implements the Expression interface.
type UnaryFunc ¶
type UnaryFunc struct { expression.UnaryExpression // Name is the name of the function Name string // The type returned by the function RetType sql.Type }
func NewUnaryFunc ¶
func (*UnaryFunc) EvalChild ¶
EvalChild is a convenience function for safely evaluating a child expression
func (*UnaryFunc) FunctionName ¶
FunctionName implements sql.FunctionExpression
type Unhex ¶
type Unhex struct {
*UnaryFunc
}
Unhex implements the sql function "unhex" which returns the integer representation of a hexadecimal string
func (*Unhex) WithChildren ¶
func (h *Unhex) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the sql.Expression interface
type UnixTimestamp ¶
type UnixTimestamp struct {
Date sql.Expression
}
UnixTimestamp converts the argument to the number of seconds since 1970-01-01 00:00:00 UTC. With no argument, returns number of seconds since unix epoch for the current time.
func (*UnixTimestamp) Children ¶
func (ut *UnixTimestamp) Children() []sql.Expression
func (*UnixTimestamp) FunctionName ¶
func (ut *UnixTimestamp) FunctionName() string
FunctionName implements sql.FunctionExpression
func (*UnixTimestamp) IsNullable ¶
func (ut *UnixTimestamp) IsNullable() bool
func (*UnixTimestamp) Resolved ¶
func (ut *UnixTimestamp) Resolved() bool
func (*UnixTimestamp) String ¶
func (ut *UnixTimestamp) String() string
func (*UnixTimestamp) Type ¶
func (ut *UnixTimestamp) Type() sql.Type
func (*UnixTimestamp) WithChildren ¶
func (ut *UnixTimestamp) WithChildren(children ...sql.Expression) (sql.Expression, error)
type Upper ¶
type Upper struct {
expression.UnaryExpression
}
Upper is a function that returns the UPPERCASE of the text provided.
func (*Upper) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Upper) WithChildren ¶
func (u *Upper) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type User ¶
type User struct {
NoArgFunc
}
func (User) WithChildren ¶
func (c User) WithChildren(expressions ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.Expression
type Values ¶
type Values struct { expression.UnaryExpression Value interface{} }
Values is used in an ON DUPLICATE KEY UPDATE statement to return the value stated in the to-be-inserted column. For example, given the following statement: INSERT INTO table (pk, v1, v2) VALUES (1, 3, 5), (2, 4, 6) ON DUPLICATE KEY UPDATE v2 = values(v1) * 10; the values inserted into v2 would be 30 and 40.
func (*Values) FunctionName ¶
FunctionName implements sql.FunctionExpression.
func (*Values) WithChildren ¶
func (v *Values) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements sql.FunctionExpression.
type Version ¶
type Version string
Version is a function that returns server version.
func (Version) Children ¶
func (f Version) Children() []sql.Expression
Children implements the Expression interface.
func (Version) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (Version) IsNullable ¶
IsNullable implements the Expression interface.
func (Version) WithChildren ¶
func (f Version) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Week ¶
type Week struct {
// contains filtered or unexported fields
}
Week is a function that returns year and week for a date. The year in the result may be different from the year in the date argument for the first and the last week of the year. Details: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_yearweek
func (*Week) Children ¶
func (d *Week) Children() []sql.Expression
Children implements the Expression interface.
func (*Week) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Week) IsNullable ¶
IsNullable implements the Expression interface.
func (*Week) WithChildren ¶
func (*Week) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type WeekOfYear ¶
type WeekOfYear struct {
*UnaryDatetimeFunc
}
WeekOfYear implements the weekofyear function
func (*WeekOfYear) WithChildren ¶
func (m *WeekOfYear) WithChildren(children ...sql.Expression) (sql.Expression, error)
type Weekday ¶
type Weekday struct {
expression.UnaryExpression
}
Weekday is a function that returns the weekday of a date where 0 = Monday, ..., 6 = Sunday.
func (*Weekday) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Weekday) WithChildren ¶
func (d *Weekday) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type Year ¶
type Year struct {
expression.UnaryExpression
}
Year is a function that returns the year of a date.
func (*Year) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*Year) WithChildren ¶
func (y *Year) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
type YearWeek ¶
type YearWeek struct {
// contains filtered or unexported fields
}
YearWeek is a function that returns year and week for a date. The year in the result may be different from the year in the date argument for the first and the last week of the year. Details: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_yearweek
func (*YearWeek) Children ¶
func (d *YearWeek) Children() []sql.Expression
Children implements the Expression interface.
func (*YearWeek) FunctionName ¶
FunctionName implements sql.FunctionExpression
func (*YearWeek) IsNullable ¶
IsNullable implements the Expression interface.
func (*YearWeek) WithChildren ¶
func (*YearWeek) WithChildren(children ...sql.Expression) (sql.Expression, error)
WithChildren implements the Expression interface.
Source Files ¶
- absval.go
- arraylength.go
- ceil_round_floor.go
- coalesce.go
- concat.go
- concat_ws.go
- database.go
- date.go
- date_format.go
- explode.go
- function.go
- greatest_least.go
- hash.go
- if.go
- ifnull.go
- isbinary.go
- isnull.go
- json_contains.go
- json_extract.go
- json_unquote.go
- json_unsupported.go
- length.go
- locks.go
- logarithm.go
- lower_upper.go
- math.go
- noarg_funcs.go
- nullif.go
- queryinfo.go
- regexp_like.go
- registry.go
- reverse_repeat_replace.go
- rpad_lpad.go
- sleep.go
- soundex.go
- split.go
- sqrt_power.go
- string.go
- substring.go
- system.go
- time.go
- tobase64_frombase64.go
- trim_ltrim_rtrim.go
- uuid.go
- values.go
- version.go