qb: tuple support

This commit is contained in:
Henrik Johansson
2019-05-13 11:30:19 +02:00
committed by Michal Matczuk
parent 31ae81aba6
commit 219bceab51
9 changed files with 238 additions and 0 deletions

View File

@@ -105,6 +105,7 @@ func (b *UpdateBuilder) TimestampNamed(name string) *UpdateBuilder {
}
// Set adds SET clauses to the query.
// To set a tuple column use SetTuple instead.
func (b *UpdateBuilder) Set(columns ...string) *UpdateBuilder {
for _, c := range columns {
b.assignments = append(b.assignments, assignment{
@@ -136,6 +137,18 @@ func (b *UpdateBuilder) SetFunc(column string, fn *Func) *UpdateBuilder {
return b
}
// SetTuple adds a SET clause for a tuple to the query.
func (b *UpdateBuilder) SetTuple(column string, count int) *UpdateBuilder {
b.assignments = append(b.assignments, assignment{
column: column,
value: tupleParam{
param: param(column),
count: count,
},
})
return b
}
// Add adds SET column=column+? clauses to the query.
func (b *UpdateBuilder) Add(column string) *UpdateBuilder {
return b.addValue(column, param(column))