// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: batch.go package repo import ( "context" "errors" "github.com/jackc/pgx/v5" ) var ( ErrBatchAlreadyClosed = errors.New("batch already closed") ) const batchUpdateMoneyCategorySort = `-- name: BatchUpdateMoneyCategorySort :batchexec UPDATE money_user_category SET sort_number = $2 WHERE id = $1 ` type BatchUpdateMoneyCategorySortBatchResults struct { br pgx.BatchResults tot int closed bool } type BatchUpdateMoneyCategorySortParams struct { ID int64 SortNumber int32 } func (q *Queries) BatchUpdateMoneyCategorySort(ctx context.Context, arg []BatchUpdateMoneyCategorySortParams) *BatchUpdateMoneyCategorySortBatchResults { batch := &pgx.Batch{} for _, a := range arg { vals := []interface{}{ a.ID, a.SortNumber, } batch.Queue(batchUpdateMoneyCategorySort, vals...) } br := q.db.SendBatch(ctx, batch) return &BatchUpdateMoneyCategorySortBatchResults{br, len(arg), false} } func (b *BatchUpdateMoneyCategorySortBatchResults) Exec(f func(int, error)) { defer b.br.Close() for t := 0; t < b.tot; t++ { if b.closed { if f != nil { f(t, ErrBatchAlreadyClosed) } continue } _, err := b.br.Exec() if f != nil { f(t, err) } } } func (b *BatchUpdateMoneyCategorySortBatchResults) Close() error { b.closed = true return b.br.Close() }