Add For query mod
This commit is contained in:
parent
bc602811a8
commit
d735c3df36
3 changed files with 17 additions and 0 deletions
|
@ -136,3 +136,10 @@ func Offset(offset int) QueryMod {
|
||||||
boil.SetOffset(q, offset)
|
boil.SetOffset(q, offset)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For inserts a concurrency locking clause at the end of your statement
|
||||||
|
func For(clause string) QueryMod {
|
||||||
|
return func(q *boil.Query) {
|
||||||
|
boil.SetFor(q, clause)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ type Query struct {
|
||||||
having []having
|
having []having
|
||||||
limit int
|
limit int
|
||||||
offset int
|
offset int
|
||||||
|
forlock string
|
||||||
}
|
}
|
||||||
|
|
||||||
type where struct {
|
type where struct {
|
||||||
|
@ -150,6 +151,11 @@ func SetOffset(q *Query, offset int) {
|
||||||
q.offset = offset
|
q.offset = offset
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetFor on the query.
|
||||||
|
func SetFor(q *Query, clause string) {
|
||||||
|
q.forlock = clause
|
||||||
|
}
|
||||||
|
|
||||||
// SetUpdate on the query.
|
// SetUpdate on the query.
|
||||||
func SetUpdate(q *Query, cols map[string]interface{}) {
|
func SetUpdate(q *Query, cols map[string]interface{}) {
|
||||||
q.update = cols
|
q.update = cols
|
||||||
|
|
|
@ -205,6 +205,10 @@ func writeModifiers(q *Query, buf *bytes.Buffer, args *[]interface{}) {
|
||||||
if q.offset != 0 {
|
if q.offset != 0 {
|
||||||
fmt.Fprintf(buf, " OFFSET %d", q.offset)
|
fmt.Fprintf(buf, " OFFSET %d", q.offset)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(q.forlock) != 0 {
|
||||||
|
fmt.Fprintf(buf, " FOR %s", q.forlock)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeStars(q *Query) []string {
|
func writeStars(q *Query) []string {
|
||||||
|
|
Loading…
Reference in a new issue