-
Christophe de Vienne authoredChristophe de Vienne authored
sequence.go 647 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, isCalled bool) sq.SelectBuilder {
return sq.Select().Column("setval(?, ?, ?)", s.name, value, isCalled)
}
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)
}
func (s SequenceBuilder) Last() sq.SelectBuilder {
return sq.Select("last_value").From(s.name)
}