package clause

Import Path
	gorm.io/gorm/clause (on go.dev)

Dependency Relation
	imports 7 packages, and imported by 8 packages


Package-Level Type Names (total 47)
/* sort by: | */
Exprs []Expression ( AndConditions) Build(builder Builder) AndConditions : Expression
Assigner assignments provider interface ( Assigner) Assignments() []Assignment Assignment Association Set func gorm.io/gorm.ChainInterface.Set(assignments ...Assigner) gorm.SetUpdateOnlyInterface[T] func gorm.io/gorm.CreateInterface.Set(assignments ...Assigner) gorm.SetCreateOrUpdateInterface[T] func gorm.io/gorm.Interface.Set(assignments ...Assigner) gorm.SetCreateOrUpdateInterface[T]
Column Column Value interface{} Assignments implements Assigner for a single Assignment. Assignment : Assigner func Assigner.Assignments() []Assignment func Assignment.Assignments() []Assignment func Association.Assignments() []Assignment func Set.Assignments() []Assignment
Association represents an association operation // Association name // Filter conditions // Assignment operations (for Update and Create) // Operation type // Values for Create operation Assignments implements the Assigner interface so that AssociationOperation can be used as a Set method parameter AssociationAssignments implements the AssociationAssigner interface Association : Assigner Association : AssociationAssigner func Association.AssociationAssignments() []Association func AssociationAssigner.AssociationAssignments() []Association
AssociationAssigner is an interface for association operation providers ( AssociationAssigner) AssociationAssignments() []Association Association
AssociationOpType represents association operation types const OpCreate const OpDelete const OpUnlink const OpUpdate
Builder builder interface ( Builder) AddError(error) error ( Builder) AddVar(Writer, ...interface{}) ( Builder) WriteByte(byte) error ( Builder) WriteQuoted(field interface{}) ( Builder) WriteString(string) (int, error) *gorm.io/gorm.Statement Builder : Writer Builder : io.ByteWriter Builder : io.StringWriter func AndConditions.Build(builder Builder) func Clause.Build(builder Builder) func CommaExpression.Build(builder Builder) func Delete.Build(builder Builder) func Eq.Build(builder Builder) func Eq.NegationBuild(builder Builder) func Expr.Build(builder Builder) func Expression.Build(builder Builder) func From.Build(builder Builder) func GroupBy.Build(builder Builder) func Gt.Build(builder Builder) func Gt.NegationBuild(builder Builder) func Gte.Build(builder Builder) func Gte.NegationBuild(builder Builder) func IN.Build(builder Builder) func IN.NegationBuild(builder Builder) func Insert.Build(builder Builder) func Interface.Build(Builder) func Join.Build(builder Builder) func Like.Build(builder Builder) func Like.NegationBuild(builder Builder) func Limit.Build(builder Builder) func Locking.Build(builder Builder) func Lt.Build(builder Builder) func Lt.NegationBuild(builder Builder) func Lte.Build(builder Builder) func Lte.NegationBuild(builder Builder) func NamedExpr.Build(builder Builder) func NegationExpressionBuilder.NegationBuild(builder Builder) func Neq.Build(builder Builder) func Neq.NegationBuild(builder Builder) func NotConditions.Build(builder Builder) func OnConflict.Build(builder Builder) func OrConditions.Build(builder Builder) func OrderBy.Build(builder Builder) func Returning.Build(builder Builder) func Select.Build(builder Builder) func Set.Build(builder Builder) func Update.Build(builder Builder) func Values.Build(builder Builder) func Where.Build(builder Builder) func gorm.io/gorm.ChainInterface.Build(builder Builder) func gorm.io/gorm.CreateInterface.Build(builder Builder) func gorm.io/gorm.Interface.Build(builder Builder) func gorm.io/gorm.SoftDeleteDeleteClause.Build(Builder) func gorm.io/gorm.SoftDeleteQueryClause.Build(Builder) func gorm.io/gorm.SoftDeleteUpdateClause.Build(Builder) func gorm.io/datatypes.(*JSONArrayExpression).Build(builder Builder) func gorm.io/datatypes.(*JSONOverlapsExpression).Build(builder Builder) func gorm.io/datatypes.(*JSONQueryExpression).Build(builder Builder) func gorm.io/datatypes.(*JSONSetExpression).Build(builder Builder)
Clause AfterExpression Expression AfterNameExpression Expression BeforeExpression Expression Builder ClauseBuilder Expression Expression // WHERE Build build clause Clause : Expression func Delete.MergeClause(clause *Clause) func From.MergeClause(clause *Clause) func GroupBy.MergeClause(clause *Clause) func Insert.MergeClause(clause *Clause) func Interface.MergeClause(*Clause) func Limit.MergeClause(clause *Clause) func Locking.MergeClause(clause *Clause) func OnConflict.MergeClause(clause *Clause) func OrderBy.MergeClause(clause *Clause) func Returning.MergeClause(clause *Clause) func Select.MergeClause(clause *Clause) func Set.MergeClause(clause *Clause) func Update.MergeClause(clause *Clause) func Values.MergeClause(clause *Clause) func Where.MergeClause(clause *Clause) func gorm.io/gorm.SoftDeleteDeleteClause.MergeClause(*Clause) func gorm.io/gorm.SoftDeleteQueryClause.MergeClause(*Clause) func gorm.io/gorm.SoftDeleteUpdateClause.MergeClause(*Clause)
ClauseBuilder clause builder, allows to customize how to build clause func gorm.io/driver/mysql.Dialector.ClauseBuilders() map[string]ClauseBuilder
Column quote with name Alias string Name string Raw bool Table string var PrimaryColumn
CommaExpression represents a group of expressions separated by commas. Exprs []Expression ( CommaExpression) Build(builder Builder) CommaExpression : Expression
Modifier string ( Delete) Build(builder Builder) ( Delete) MergeClause(clause *Clause) ( Delete) Name() string Delete : Expression Delete : Interface Delete : github.com/polarsignals/frostdb/query/logicalplan.Named
Eq equal to for where Column interface{} Value interface{} ( Eq) Build(builder Builder) ( Eq) NegationBuild(builder Builder) Eq : Expression Eq : NegationExpressionBuilder
Expr raw expression SQL string Vars []interface{} WithoutParentheses bool Build build raw expression Expr : Expression func gorm.io/gorm.Expr(expr string, args ...interface{}) Expr func gorm.io/gorm.Migrator.FullDataTypeOf(*schema.Field) Expr func gorm.io/gorm.Valuer.GormValue(context.Context, *gorm.DB) Expr func gorm.io/gorm/migrator.Migrator.FullDataTypeOf(field *schema.Field) (expr Expr) func gorm.io/datatypes.JSON.GormValue(ctx context.Context, db *gorm.DB) Expr func gorm.io/datatypes.JSONMap.GormValue(ctx context.Context, db *gorm.DB) Expr func gorm.io/datatypes.JSONSlice[T].GormValue(ctx context.Context, db *gorm.DB) Expr func gorm.io/datatypes.JSONType[T].GormValue(ctx context.Context, db *gorm.DB) Expr func gorm.io/driver/mysql.Migrator.FullDataTypeOf(field *schema.Field) Expr
Expression expression interface ( Expression) Build(builder Builder) AndConditions Clause CommaExpression Delete Eq Expr From GroupBy Gt Gte IN Insert Interface (interface) Join Like Limit Locking Lt Lte NamedExpr Neq NotConditions OnConflict OrConditions OrderBy Returning Select Set Update Values Where gorm.io/gorm.ChainInterface[...] (interface) gorm.io/gorm.CreateInterface[...] (interface) gorm.io/gorm.Interface[...] (interface) gorm.io/gorm.SoftDeleteDeleteClause gorm.io/gorm.SoftDeleteQueryClause gorm.io/gorm.SoftDeleteUpdateClause *gorm.io/datatypes.JSONArrayExpression *gorm.io/datatypes.JSONOverlapsExpression *gorm.io/datatypes.JSONQueryExpression *gorm.io/datatypes.JSONSetExpression func And(exprs ...Expression) Expression func Not(exprs ...Expression) Expression func Or(exprs ...Expression) Expression func gorm.io/gorm.Dialector.DefaultValueOf(*schema.Field) Expression func gorm.io/gorm.(*Statement).BuildCondition(query interface{}, args ...interface{}) []Expression func gorm.io/gorm/schema.(*Relationship).ToQueryConditions(ctx context.Context, reflectValue reflect.Value) (conds []Expression) func gorm.io/driver/mysql.Dialector.DefaultValueOf(field *schema.Field) Expression func And(exprs ...Expression) Expression func Not(exprs ...Expression) Expression func Or(exprs ...Expression) Expression func JoinType.AssociationFrom(name string, subquery Expression) JoinTarget func gorm.io/gorm.G[T](db *gorm.DB, opts ...Expression) gorm.Interface[T] func gorm.io/gorm.(*DB).Clauses(conds ...Expression) (tx *gorm.DB) func gorm.io/datatypes.JSONOverlaps(column Expression, value string) *datatypes.JSONOverlapsExpression
From from clause Joins []Join Tables []Table Build build from clause MergeClause merge from clause Name from clause name From : Expression From : Interface From : github.com/polarsignals/frostdb/query/logicalplan.Named
GroupBy group by clause Columns []Column Having []Expression Build build group by clause MergeClause merge group by clause Name from clause name GroupBy : Expression GroupBy : Interface GroupBy : github.com/polarsignals/frostdb/query/logicalplan.Named
Gt greater than for where Column interface{} Value interface{} ( Gt) Build(builder Builder) ( Gt) NegationBuild(builder Builder) Gt : Expression Gt : NegationExpressionBuilder
Gte greater than or equal to for where Column interface{} Value interface{} ( Gte) Build(builder Builder) ( Gte) NegationBuild(builder Builder) Gte : Expression Gte : NegationExpressionBuilder
IN Whether a value is within a set of values Column interface{} Values []interface{} ( IN) Build(builder Builder) ( IN) NegationBuild(builder Builder) IN : Expression IN : NegationExpressionBuilder
Modifier string Table Table Build build insert clause MergeClause merge insert clause Name insert clause name Insert : Expression Insert : Interface Insert : github.com/polarsignals/frostdb/query/logicalplan.Named
Interface clause interface ( Interface) Build(Builder) ( Interface) MergeClause(*Clause) ( Interface) Name() string Delete From GroupBy Insert Limit Locking OnConflict OrderBy Returning Select Set Update Values Where gorm.io/gorm.SoftDeleteDeleteClause gorm.io/gorm.SoftDeleteQueryClause gorm.io/gorm.SoftDeleteUpdateClause Interface : Expression Interface : github.com/polarsignals/frostdb/query/logicalplan.Named func gorm.io/gorm.DeletedAt.DeleteClauses(f *schema.Field) []Interface func gorm.io/gorm.DeletedAt.QueryClauses(f *schema.Field) []Interface func gorm.io/gorm.DeletedAt.UpdateClauses(f *schema.Field) []Interface func gorm.io/gorm/schema.CreateClausesInterface.CreateClauses(*schema.Field) []Interface func gorm.io/gorm/schema.DeleteClausesInterface.DeleteClauses(*schema.Field) []Interface func gorm.io/gorm/schema.QueryClausesInterface.QueryClauses(*schema.Field) []Interface func gorm.io/gorm/schema.UpdateClausesInterface.UpdateClauses(*schema.Field) []Interface func gorm.io/gorm.(*Statement).AddClause(v Interface) func gorm.io/gorm.(*Statement).AddClauseIfNotExists(v Interface)
Join clause for from Expression Expression ON Where Table Table Type JoinType Using []string ( Join) Build(builder Builder) Join : Expression
Association string Subquery Expression Table string Type JoinType ( JoinTarget) As(name string) JoinTarget func Has(name string) JoinTarget func JoinTarget.As(name string) JoinTarget func JoinType.Association(name string) JoinTarget func JoinType.AssociationFrom(name string, subquery Expression) JoinTarget func gorm.io/gorm.ChainInterface.Joins(query JoinTarget, on func(db gorm.JoinBuilder, joinTable Table, curTable Table) error) gorm.ChainInterface[T] func gorm.io/gorm.CreateInterface.Joins(query JoinTarget, on func(db gorm.JoinBuilder, joinTable Table, curTable Table) error) gorm.ChainInterface[T] func gorm.io/gorm.Interface.Joins(query JoinTarget, on func(db gorm.JoinBuilder, joinTable Table, curTable Table) error) gorm.ChainInterface[T]
( JoinType) Association(name string) JoinTarget ( JoinType) AssociationFrom(name string, subquery Expression) JoinTarget const CrossJoin const InnerJoin const LeftJoin const RightJoin
Like whether string matches regular expression Column interface{} Value interface{} ( Like) Build(builder Builder) ( Like) NegationBuild(builder Builder) Like : Expression Like : NegationExpressionBuilder
Limit limit clause Limit *int Offset int Build build where clause MergeClause merge order by clauses Name where clause name Limit : Expression Limit : Interface Limit : github.com/polarsignals/frostdb/query/logicalplan.Named
Options string Strength string Table Table Build build where clause MergeClause merge order by clauses Name where clause name Locking : Expression Locking : Interface Locking : github.com/polarsignals/frostdb/query/logicalplan.Named
Lt less than for where Column interface{} Value interface{} ( Lt) Build(builder Builder) ( Lt) NegationBuild(builder Builder) Lt : Expression Lt : NegationExpressionBuilder
Lte less than or equal to for where Column interface{} Value interface{} ( Lte) Build(builder Builder) ( Lte) NegationBuild(builder Builder) Lte : Expression Lte : NegationExpressionBuilder
NamedExpr raw expression for named expr SQL string Vars []interface{} Build build raw expression NamedExpr : Expression
NegationExpressionBuilder negation expression builder ( NegationExpressionBuilder) NegationBuild(builder Builder) Eq Gt Gte IN Like Lt Lte Neq
Neq not equal to for where Column interface{} Value interface{} ( Neq) Build(builder Builder) ( Neq) NegationBuild(builder Builder) Neq : Expression Neq : NegationExpressionBuilder
Exprs []Expression ( NotConditions) Build(builder Builder) NotConditions : Expression
Columns []Column DoNothing bool DoUpdates Set OnConstraint string TargetWhere Where UpdateAll bool Where Where Build build onConflict clause MergeClause merge onConflict clauses ( OnConflict) Name() string OnConflict : Expression OnConflict : Interface OnConflict : github.com/polarsignals/frostdb/query/logicalplan.Named
Exprs []Expression ( OrConditions) Build(builder Builder) OrConditions : Expression
Columns []OrderByColumn Expression Expression Build build where clause MergeClause merge order by clauses Name where clause name OrderBy : Expression OrderBy : Interface OrderBy : github.com/polarsignals/frostdb/query/logicalplan.Named
Column Column Desc bool Reorder bool
Columns []Column Build build where clause MergeClause merge order by clauses Name where clause name Returning : Expression Returning : Interface Returning : github.com/polarsignals/frostdb/query/logicalplan.Named
Select select attrs when querying, updating, creating Columns []Column Distinct bool Expression Expression ( Select) Build(builder Builder) ( Select) MergeClause(clause *Clause) ( Select) Name() string Select : Expression Select : Interface Select : github.com/polarsignals/frostdb/query/logicalplan.Named
Assignments implements Assigner for Set. ( Set) Build(builder Builder) MergeClause merge assignments clauses ( Set) Name() string Set : Assigner Set : Expression Set : Interface Set : github.com/polarsignals/frostdb/query/logicalplan.Named func AssignmentColumns(values []string) Set func Assignments(values map[string]interface{}) Set func gorm.io/gorm/callbacks.ConvertToAssignments(stmt *gorm.Statement) (set Set)
Table quote with name Alias string Name string Raw bool func JoinTable(names ...string) Table
Modifier string Table Table Build build update clause MergeClause merge update clause Name update clause name Update : Expression Update : Interface Update : github.com/polarsignals/frostdb/query/logicalplan.Named
Columns []Column Values [][]interface{} Build build from clause MergeClause merge values clauses Name from clause name Values : Expression Values : Interface Values : github.com/polarsignals/frostdb/query/logicalplan.Named func gorm.io/gorm/callbacks.ConvertMapToValuesForCreate(stmt *gorm.Statement, mapValue map[string]interface{}) (values Values) func gorm.io/gorm/callbacks.ConvertSliceOfMapToValuesForCreate(stmt *gorm.Statement, mapValues []map[string]interface{}) (values Values) func gorm.io/gorm/callbacks.ConvertToCreateValues(stmt *gorm.Statement) (values Values)
Where where clause Exprs []Expression Build build where clause MergeClause merge where clauses Name where clause name Where : Expression Where : Interface Where : github.com/polarsignals/frostdb/query/logicalplan.Named
type With (struct)
( Writer) WriteByte(byte) error ( Writer) WriteString(string) (int, error) Builder (interface) *gorm.io/gorm.Statement bufio.ReadWriter *bufio.Writer *bytes.Buffer *github.com/apache/thrift/lib/go/thrift.RichTransport *github.com/apache/thrift/lib/go/thrift.StreamTransport github.com/apache/thrift/lib/go/thrift.TBufferedTransport *github.com/apache/thrift/lib/go/thrift.TFramedTransport *github.com/apache/thrift/lib/go/thrift.THttpClient github.com/apache/thrift/lib/go/thrift.TMemoryBuffer github.com/apache/thrift/lib/go/thrift.TRichTransport (interface) *github.com/libp2p/go-buffer-pool.Buffer *github.com/libp2p/go-buffer-pool.Writer github.com/redis/go-redis/v9/internal/proto.Writer github.com/yuin/goldmark/util.BufWriter (interface) *go.uber.org/zap/buffer.Buffer *hash/maphash.Hash *log/slog/internal/buffer.Buffer mvdan.cc/sh/v3/syntax.Printer net/http/internal.FlushAfterChunkWriter *strings.Builder Writer : io.ByteWriter Writer : io.StringWriter func Builder.AddVar(Writer, ...interface{}) func gorm.io/gorm.Dialector.BindVarTo(writer Writer, stmt *gorm.Statement, v interface{}) func gorm.io/gorm.Dialector.QuoteTo(Writer, string) func gorm.io/gorm.(*Statement).AddVar(writer Writer, vars ...interface{}) func gorm.io/gorm.(*Statement).QuoteTo(writer Writer, field interface{}) func gorm.io/driver/mysql.Dialector.BindVarTo(writer Writer, stmt *gorm.Statement, v interface{}) func gorm.io/driver/mysql.Dialector.QuoteTo(writer Writer, str string)
Package-Level Functions (total 7)
func And(exprs ...Expression) Expression
func AssignmentColumns(values []string) Set
func Assignments(values map[string]interface{}) Set
func Has(name string) JoinTarget
func JoinTable(names ...string) Table
func Not(exprs ...Expression) Expression
func Or(exprs ...Expression) Expression
Package-Level Variables (only one)
Package-Level Constants (total 17)
const AndWithSpace = " AND "
const Associations string = "~~~as~~~" // associations
const CrossJoin JoinType = "CROSS"
const CurrentTable string = "~~~ct~~~" // current table
const InnerJoin JoinType = "INNER"
const LeftJoin JoinType = "LEFT"
const LockingOptionsNoWait = "NOWAIT"
const LockingOptionsSkipLocked = "SKIP LOCKED"
const LockingStrengthShare = "SHARE"
const LockingStrengthUpdate = "UPDATE"
const OpCreate AssociationOpType = 3 // Create association records with assignments
const OpDelete AssociationOpType = 1 // Delete association records
const OpUpdate AssociationOpType = 2 // Update association records
const OrWithSpace = " OR "
const PrimaryKey string = "~~~py~~~" // primary key
const RightJoin JoinType = "RIGHT"