IterateSequences iterates over all sequences in the collection.
(ctx context.Context, f func(seq *Sequence) (stop bool, err error))
| 257 | |
| 258 | // IterateSequences iterates over all sequences in the collection. |
| 259 | func (pgs *Collection) IterateSequences(ctx context.Context, f func(seq *Sequence) (stop bool, err error)) (err error) { |
| 260 | // For now, this function isn't used in a critical path, so we're not too worried about performance |
| 261 | if err = pgs.cacheAllSequences(ctx); err != nil { |
| 262 | return err |
| 263 | } |
| 264 | for _, seq := range pgs.accessedMap { |
| 265 | if stop, err := f(seq); err != nil { |
| 266 | return err |
| 267 | } else if stop { |
| 268 | break |
| 269 | } |
| 270 | } |
| 271 | return nil |
| 272 | } |
| 273 | |
| 274 | // NextVal returns the next value in the sequence. |
| 275 | func (pgs *Collection) NextVal(ctx context.Context, name id.Sequence) (int64, error) { |
no test coverage detected