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) }