-
Christophe de Vienne authored
Made it generic too.
Christophe de Vienne authoredMade it generic too.
sequence.go 626 B
package database
import (
sq "github.com/Masterminds/squirrel"
)
type SequenceBuilder struct {
name string
}
func Sequence(name string) SequenceBuilder {
return SequenceBuilder{name}
}
func (s SequenceBuilder) Set(value int) sq.SelectBuilder {
return sq.Select().Column("setval(?, ?)", s.name, value)
}
func (s SequenceBuilder) Last() sq.SelectBuilder {
return sq.Select().Column("last_value").From(s.name)
}
func (s SequenceBuilder) Next() sq.SelectBuilder {
return sq.Select().Column("nextval(?)", s.name)
}
func (s SequenceBuilder) Current() sq.SelectBuilder {
return sq.Select().Column("currval(?)", s.name)
}