Documentation
¶
Index ¶
- func AdaptField(field string) string
- func AdaptTable(table string) string
- func BuildDelete(builder *sqlbuilder.DeleteBuilder, conditions ...Condition) (string, []any)
- func BuildDeleteWithFlavor(flavor sqlbuilder.Flavor, builder *sqlbuilder.DeleteBuilder, ...) (string, []any)
- func BuildSelect(builder *sqlbuilder.SelectBuilder, conditions ...Condition) (string, []any)
- func BuildSelectWithFlavor(flavor sqlbuilder.Flavor, builder *sqlbuilder.SelectBuilder, ...) (string, []any)
- func BuildUpdate(builder *sqlbuilder.UpdateBuilder, data map[string]any, ...) (string, []any)
- func BuildUpdateWithFlavor(flavor sqlbuilder.Flavor, builder *sqlbuilder.UpdateBuilder, ...) (string, []any)
- func Delete(builder sqlbuilder.DeleteBuilder, conditions ...Condition) sqlbuilder.DeleteBuilder
- func DeleteWithFlavor(flavor sqlbuilder.Flavor, builder sqlbuilder.DeleteBuilder, ...) sqlbuilder.DeleteBuilder
- func QuoteWithFlavor(flavor sqlbuilder.Flavor, str string) string
- func RawFieldNames(in any) []string
- func RawFieldNamesWithFlavor(flavor sqlbuilder.Flavor, in any) []string
- func RemoveIgnoreColumns(columns []string, ignoreColumns ...string) []string
- func RemoveIgnoreColumnsWithFlavor(flavor sqlbuilder.Flavor, columns []string, ignoreColumns ...string) []string
- func Select(builder sqlbuilder.SelectBuilder, conditions ...Condition) sqlbuilder.SelectBuilder
- func SelectByWhereRawSql(sb *sqlbuilder.SelectBuilder, originalField string, args ...any)
- func SelectByWhereRawSqlWithFlavor(flavor sqlbuilder.Flavor, sb *sqlbuilder.SelectBuilder, originalField string, ...)
- func SelectWithFlavor(flavor sqlbuilder.Flavor, builder sqlbuilder.SelectBuilder, ...) sqlbuilder.SelectBuilder
- func ToSlice(i any) []any
- func Unquote(s string) string
- func Update(builder sqlbuilder.UpdateBuilder, conditions ...Condition) sqlbuilder.UpdateBuilder
- func UpdateWithFlavor(flavor sqlbuilder.Flavor, builder sqlbuilder.UpdateBuilder, ...) sqlbuilder.UpdateBuilder
- func WithOrValuesFunc(valueFunc func() []any) opts.Opt[ChainOperatorOpts]
- func WithSkip(skip bool) opts.Opt[ChainOperatorOpts]
- func WithSkipFunc(skipFunc func() bool) opts.Opt[ChainOperatorOpts]
- func WithUpdateFieldSkip(skip bool) opts.Opt[UpdateFieldChainOpts]
- func WithUpdateFieldSkipFunc(skipFunc func() bool) opts.Opt[UpdateFieldChainOpts]
- func WithUpdateFieldValueFunc(valueFunc func() any) opts.Opt[UpdateFieldChainOpts]
- func WithValueFunc(valueFunc func() any) opts.Opt[ChainOperatorOpts]
- type Chain
- func (c Chain) AddCondition(condition Condition) Chain
- func (c Chain) Between(field Field, value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) Build() []Condition
- func (c Chain) Equal(field Field, value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) ForShare(op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) ForUpdate(op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) GreaterEqualThan(field Field, value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) GreaterThan(field Field, value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) GroupBy(field Field, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) In(field Field, values any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) IsNotNull(field Field, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) IsNull(field Field, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) Join(option sqlbuilder.JoinOption, table string, onExpr ...string) Chain
- func (c Chain) LessEqualThan(field Field, value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) LessThan(field Field, value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) Like(field Field, value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) Limit(value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) NotEqual(field Field, value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) NotIn(field Field, value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) NotLike(field Field, value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) Offset(value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) Or(fields []Field, operators []Operator, values []any, ...) Chain
- func (c Chain) OrderBy(value any, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) OrderByAsc(field Field, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) OrderByDesc(field Field, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) Page(page, pageSize int, op ...opts.Opt[ChainOperatorOpts]) Chain
- func (c Chain) WhereClause(whereClause *sqlbuilder.WhereClause) Chain
- type ChainOperatorOpts
- type Condition
- type Field
- type JoinCondition
- type Operator
- type UpdateField
- type UpdateFieldChain
- func (u UpdateFieldChain) Add(field Field, value any, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
- func (u UpdateFieldChain) Assign(field Field, value any, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
- func (u UpdateFieldChain) Build() map[string]any
- func (u UpdateFieldChain) Decr(field Field, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
- func (u UpdateFieldChain) Div(field Field, value any, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
- func (u UpdateFieldChain) Incr(field Field, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
- func (u UpdateFieldChain) Mul(field Field, value any, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
- func (u UpdateFieldChain) Sub(field Field, value any, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
- type UpdateFieldChainOpts
- type UpdateFieldOperator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AdaptField ¶ added in v0.40.0
AdaptField: return quote field Deprecated use Quote instead
func AdaptTable ¶ added in v0.40.0
AdaptTable: return quote table Deprecated use Quote instead
func BuildDelete ¶ added in v1.0.0
func BuildDelete(builder *sqlbuilder.DeleteBuilder, conditions ...Condition) (string, []any)
func BuildDeleteWithFlavor ¶ added in v1.0.0
func BuildDeleteWithFlavor(flavor sqlbuilder.Flavor, builder *sqlbuilder.DeleteBuilder, conditions ...Condition) (string, []any)
func BuildSelect ¶ added in v1.0.0
func BuildSelect(builder *sqlbuilder.SelectBuilder, conditions ...Condition) (string, []any)
func BuildSelectWithFlavor ¶ added in v1.0.0
func BuildSelectWithFlavor(flavor sqlbuilder.Flavor, builder *sqlbuilder.SelectBuilder, conditions ...Condition) (string, []any)
func BuildUpdate ¶ added in v1.0.0
func BuildUpdate(builder *sqlbuilder.UpdateBuilder, data map[string]any, conditions ...Condition) (string, []any)
func BuildUpdateWithFlavor ¶ added in v1.0.0
func BuildUpdateWithFlavor(flavor sqlbuilder.Flavor, builder *sqlbuilder.UpdateBuilder, data map[string]any, conditions ...Condition) (string, []any)
func Delete ¶
func Delete(builder sqlbuilder.DeleteBuilder, conditions ...Condition) sqlbuilder.DeleteBuilder
Delete return delete with condition builder Deprecated: Use BuildUDelete instead
func DeleteWithFlavor ¶ added in v0.64.0
func DeleteWithFlavor(flavor sqlbuilder.Flavor, builder sqlbuilder.DeleteBuilder, conditions ...Condition) sqlbuilder.DeleteBuilder
DeleteWithFlavor return delete with condition builder Deprecated: Use BuildUDeleteWithFlavor instead
func QuoteWithFlavor ¶ added in v0.64.0
func QuoteWithFlavor(flavor sqlbuilder.Flavor, str string) string
func RawFieldNames ¶
RawFieldNames converts golang struct field into slice string.
func RawFieldNamesWithFlavor ¶ added in v0.64.0
func RawFieldNamesWithFlavor(flavor sqlbuilder.Flavor, in any) []string
RawFieldNamesWithFlavor converts golang struct field into slice string.
func RemoveIgnoreColumns ¶
func RemoveIgnoreColumnsWithFlavor ¶ added in v0.64.0
func RemoveIgnoreColumnsWithFlavor(flavor sqlbuilder.Flavor, columns []string, ignoreColumns ...string) []string
func Select ¶
func Select(builder sqlbuilder.SelectBuilder, conditions ...Condition) sqlbuilder.SelectBuilder
Select return select with condition builder Deprecated: Use BuildSelect instead
func SelectByWhereRawSql ¶
func SelectByWhereRawSql(sb *sqlbuilder.SelectBuilder, originalField string, args ...any)
func SelectByWhereRawSqlWithFlavor ¶ added in v0.64.0
func SelectByWhereRawSqlWithFlavor(flavor sqlbuilder.Flavor, sb *sqlbuilder.SelectBuilder, originalField string, args ...any)
func SelectWithFlavor ¶ added in v0.64.0
func SelectWithFlavor(flavor sqlbuilder.Flavor, builder sqlbuilder.SelectBuilder, conditions ...Condition) sqlbuilder.SelectBuilder
SelectWithFlavor return flavor select with condition builder Deprecated: Use BuildSelectWithFlavor instead
func Update ¶
func Update(builder sqlbuilder.UpdateBuilder, conditions ...Condition) sqlbuilder.UpdateBuilder
Update return update with condition builder Deprecated: Use BuildUpdate instead
func UpdateWithFlavor ¶ added in v0.64.0
func UpdateWithFlavor(flavor sqlbuilder.Flavor, builder sqlbuilder.UpdateBuilder, conditions ...Condition) sqlbuilder.UpdateBuilder
UpdateWithFlavor return flavor update with condition builder Deprecated: Use BuildUpdateWithFlavor instead
func WithOrValuesFunc ¶
func WithOrValuesFunc(valueFunc func() []any) opts.Opt[ChainOperatorOpts]
func WithSkipFunc ¶
func WithSkipFunc(skipFunc func() bool) opts.Opt[ChainOperatorOpts]
func WithUpdateFieldSkip ¶ added in v1.0.0
func WithUpdateFieldSkip(skip bool) opts.Opt[UpdateFieldChainOpts]
func WithUpdateFieldSkipFunc ¶ added in v1.0.0
func WithUpdateFieldSkipFunc(skipFunc func() bool) opts.Opt[UpdateFieldChainOpts]
func WithUpdateFieldValueFunc ¶ added in v1.0.0
func WithUpdateFieldValueFunc(valueFunc func() any) opts.Opt[UpdateFieldChainOpts]
func WithValueFunc ¶
func WithValueFunc(valueFunc func() any) opts.Opt[ChainOperatorOpts]
Types ¶
type Chain ¶
type Chain struct {
// contains filtered or unexported fields
}
func NewChainWithConditions
deprecated
func (Chain) AddCondition ¶
func (Chain) ForShare ¶ added in v1.2.0
func (c Chain) ForShare(op ...opts.Opt[ChainOperatorOpts]) Chain
func (Chain) ForUpdate ¶ added in v1.2.0
func (c Chain) ForUpdate(op ...opts.Opt[ChainOperatorOpts]) Chain
func (Chain) GreaterEqualThan ¶
func (Chain) GreaterThan ¶
func (Chain) Join ¶
func (c Chain) Join(option sqlbuilder.JoinOption, table string, onExpr ...string) Chain
func (Chain) LessEqualThan ¶
func (Chain) OrderByAsc ¶ added in v0.63.0
func (Chain) OrderByDesc ¶ added in v0.63.0
func (Chain) WhereClause ¶
func (c Chain) WhereClause(whereClause *sqlbuilder.WhereClause) Chain
type ChainOperatorOpts ¶
type ChainOperatorOpts struct {
Skip bool
SkipFunc func() bool
ValueFunc func() any
OrValuesFunc func() []any
}
func (ChainOperatorOpts) DefaultOptions ¶
func (opts ChainOperatorOpts) DefaultOptions() ChainOperatorOpts
type Condition ¶
type Condition struct {
// Skip indicates whether the condition is effective.
Skip bool
// SkipFunc The priority is higher than Skip.
SkipFunc func() bool
// Or indicates an or condition
Or bool
OrOperators []Operator
OrFields []Field
OrValues []any
OrValuesFunc func() []any
// Field for default and condition
Field Field
Operator Operator
Value any
// ValueFunc The priority is higher than Value.
ValueFunc func() any
// JoinCondition
JoinCondition
WhereClause *sqlbuilder.WhereClause
}
type JoinCondition ¶
type JoinCondition struct {
Option sqlbuilder.JoinOption
Table string
OnExpr []string
}
type Operator ¶
type Operator string
const ( Equal Operator = "=" NotEqual Operator = "!=" IsNull Operator = "IS NULL" IsNotNull Operator = "IS NOT NULL" GreaterThan Operator = ">" LessThan Operator = "<" GreaterEqualThan Operator = ">=" LessEqualThan Operator = "<=" In Operator = "IN" NotIn Operator = "NOT IN" Like Operator = "LIKE" NotLike Operator = "NOT LIKE" Limit Operator = "LIMIT" Offset Operator = "OFFSET" Between Operator = "BETWEEN" NotBetween Operator = "NOT BETWEEN" ForUpdate Operator = "FOR UPDATE" // only take effective for select builder // OrderBy Deprecated Use OrderByDesc or OrderByAsc instead. OrderBy Operator = "ORDER BY" OrderByDesc Operator = "ORDER BY DESC" OrderByAsc Operator = "ORDER BY ASC" GroupBy Operator = "GROUP BY" Join Operator = "JOIN" )
type UpdateField ¶ added in v1.0.0
type UpdateField struct {
// Skip indicates whether the UpdateField is effective.
Skip bool
// SkipFunc The priority is higher than Skip.
SkipFunc func() bool
Operator UpdateFieldOperator
Value any
// ValueFunc The priority is higher than Value.
ValueFunc func() any
// contains filtered or unexported fields
}
type UpdateFieldChain ¶ added in v1.0.0
type UpdateFieldChain struct {
// contains filtered or unexported fields
}
func NewUpdateFieldChain ¶ added in v1.0.0
func NewUpdateFieldChain() UpdateFieldChain
func (UpdateFieldChain) Add ¶ added in v1.0.0
func (u UpdateFieldChain) Add(field Field, value any, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
func (UpdateFieldChain) Assign ¶ added in v1.0.0
func (u UpdateFieldChain) Assign(field Field, value any, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
func (UpdateFieldChain) Build ¶ added in v1.0.0
func (u UpdateFieldChain) Build() map[string]any
func (UpdateFieldChain) Decr ¶ added in v1.0.0
func (u UpdateFieldChain) Decr(field Field, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
func (UpdateFieldChain) Div ¶ added in v1.0.0
func (u UpdateFieldChain) Div(field Field, value any, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
func (UpdateFieldChain) Incr ¶ added in v1.0.0
func (u UpdateFieldChain) Incr(field Field, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
func (UpdateFieldChain) Mul ¶ added in v1.0.0
func (u UpdateFieldChain) Mul(field Field, value any, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
func (UpdateFieldChain) Sub ¶ added in v1.0.0
func (u UpdateFieldChain) Sub(field Field, value any, op ...opts.Opt[UpdateFieldChainOpts]) UpdateFieldChain
type UpdateFieldChainOpts ¶ added in v1.0.0
func (UpdateFieldChainOpts) DefaultOptions ¶ added in v1.0.0
func (opts UpdateFieldChainOpts) DefaultOptions() UpdateFieldChainOpts
type UpdateFieldOperator ¶ added in v1.0.0
type UpdateFieldOperator string
const ( Incr UpdateFieldOperator = "INCR" Decr UpdateFieldOperator = "DECR" Assign UpdateFieldOperator = "ASSIGN" Add UpdateFieldOperator = "ADD" Sub UpdateFieldOperator = "SUB" Mul UpdateFieldOperator = "MUL" Div UpdateFieldOperator = "DIV" )