jet/mysql/expressions.go

122 lines
4.2 KiB
Go
Raw Normal View History

2019-08-03 14:10:47 +02:00
package mysql
import "source.gleipnir.technology/Gleipnir/jet/internal/jet"
2019-08-03 14:10:47 +02:00
2019-08-17 10:43:16 +02:00
// Expression is common interface for all expressions.
2021-02-22 13:58:28 -05:00
// Can be Bool, Int, Float, String, Date, Time or Timestamp expressions.
type Expression = jet.Expression
2019-08-03 14:10:47 +02:00
2019-08-17 10:43:16 +02:00
// BoolExpression interface
type BoolExpression = jet.BoolExpression
2019-08-03 14:10:47 +02:00
2019-08-17 10:43:16 +02:00
// StringExpression interface
type StringExpression = jet.StringExpression
2019-08-03 14:10:47 +02:00
2025-02-28 18:23:15 +01:00
// BlobExpression interface
type BlobExpression = jet.BlobExpression
2019-08-17 10:43:16 +02:00
// IntegerExpression interface
type IntegerExpression = jet.IntegerExpression
2019-08-03 14:10:47 +02:00
2019-08-17 10:43:16 +02:00
// FloatExpression interface
type FloatExpression = jet.FloatExpression
2019-08-03 14:10:47 +02:00
2019-08-17 10:43:16 +02:00
// TimeExpression interface
type TimeExpression = jet.TimeExpression
2019-08-17 10:43:16 +02:00
// DateExpression interface
type DateExpression = jet.DateExpression
2019-08-03 14:10:47 +02:00
2019-08-17 10:43:16 +02:00
// DateTimeExpression interface
type DateTimeExpression = jet.TimestampExpression
2019-08-03 14:10:47 +02:00
2019-08-17 10:43:16 +02:00
// TimestampExpression interface
type TimestampExpression = jet.TimestampExpression
2019-08-03 14:10:47 +02:00
2024-10-06 14:21:42 +02:00
// RowExpression interface
type RowExpression = jet.RowExpression
2019-08-17 10:43:16 +02:00
// BoolExp is bool expression wrapper around arbitrary expression.
// Allows go compiler to see any expression as bool expression.
// Does not add sql cast to generated sql builder output.
var BoolExp = jet.BoolExp
2019-08-17 10:43:16 +02:00
// StringExp is string expression wrapper around arbitrary expression.
// Allows go compiler to see any expression as string expression.
// Does not add sql cast to generated sql builder output.
var StringExp = jet.StringExp
2019-08-17 10:43:16 +02:00
2025-02-28 18:23:15 +01:00
// BlobExp is blob expression wrapper around arbitrary expression.
// Allows go compiler to see any expression as blob expression.
// Does not add sql cast to generated sql builder output.
var BlobExp = jet.BlobExp
2019-08-17 10:43:16 +02:00
// IntExp is int expression wrapper around arbitrary expression.
// Allows go compiler to see any expression as int expression.
// Does not add sql cast to generated sql builder output.
var IntExp = jet.IntExp
2019-08-17 10:43:16 +02:00
// FloatExp is date expression wrapper around arbitrary expression.
// Allows go compiler to see any expression as float expression.
// Does not add sql cast to generated sql builder output.
var FloatExp = jet.FloatExp
2019-08-17 10:43:16 +02:00
// TimeExp is time expression wrapper around arbitrary expression.
// Allows go compiler to see any expression as time expression.
// Does not add sql cast to generated sql builder output.
var TimeExp = jet.TimeExp
2019-08-17 10:43:16 +02:00
// DateExp is date expression wrapper around arbitrary expression.
// Allows go compiler to see any expression as date expression.
// Does not add sql cast to generated sql builder output.
var DateExp = jet.DateExp
2019-08-17 10:43:16 +02:00
// DateTimeExp is timestamp expression wrapper around arbitrary expression.
// Allows go compiler to see any expression as timestamp expression.
// Does not add sql cast to generated sql builder output.
var DateTimeExp = jet.TimestampExp
2019-08-17 10:43:16 +02:00
// TimestampExp is timestamp expression wrapper around arbitrary expression.
// Allows go compiler to see any expression as timestamp expression.
// Does not add sql cast to generated sql builder output.
var TimestampExp = jet.TimestampExp
2024-10-06 14:21:42 +02:00
// RowExp serves as a wrapper for an arbitrary expression, treating it as a row expression.
// This enables the Go compiler to interpret any expression as a row expression
// Note: This does not modify the generated SQL builder output by adding a SQL CAST operation.
var RowExp = jet.RowExp
// CustomExpression is used to define custom expressions.
var CustomExpression = jet.CustomExpression
// Token is used to define custom token in a custom expression.
type Token = jet.Token
// RawArgs is type used to pass optional arguments to Raw method
type RawArgs = map[string]interface{}
2021-05-16 19:10:43 +02:00
// Raw can be used for any unsupported functions, operators or expressions.
// For example: Raw("current_database()")
// Raw helper methods for each of the mysql types
var (
Raw = jet.Raw
2023-04-17 12:46:11 +02:00
RawBool = jet.RawBool
RawInt = jet.RawInt
RawFloat = jet.RawFloat
RawString = jet.RawString
RawTime = jet.RawTime
RawTimestamp = jet.RawTimestamp
RawDate = jet.RawDate
2025-02-28 18:23:15 +01:00
RawBlob = jet.RawBlob
)
2019-08-16 11:19:06 +02:00
// Func can be used to call custom or unsupported database functions.
var Func = jet.Func
2019-08-17 10:43:16 +02:00
// NewEnumValue creates new named enum value
2019-08-16 11:19:06 +02:00
var NewEnumValue = jet.NewEnumValue
2024-03-26 15:49:17 +01:00
// BinaryOperator can be used to use custom or unsupported operators that take two operands.
var BinaryOperator = jet.BinaryOperator