github.com/systematiccaos/gorm@v1.22.6/clause/locking.go (about) 1 package clause 2 3 type Locking struct { 4 Strength string 5 Table Table 6 Options string 7 } 8 9 // Name where clause name 10 func (locking Locking) Name() string { 11 return "FOR" 12 } 13 14 // Build build where clause 15 func (locking Locking) Build(builder Builder) { 16 builder.WriteString(locking.Strength) 17 if locking.Table.Name != "" { 18 builder.WriteString(" OF ") 19 builder.WriteQuoted(locking.Table) 20 } 21 22 if locking.Options != "" { 23 builder.WriteByte(' ') 24 builder.WriteString(locking.Options) 25 } 26 } 27 28 // MergeClause merge order by clauses 29 func (locking Locking) MergeClause(clause *Clause) { 30 clause.Expression = locking 31 }