// 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 batchUpdateFinanceCategorySortNumber = `-- name: BatchUpdateFinanceCategorySortNumber :batchexec UPDATE finance_category_space SET sort_number = $1,update_by = $2,update_time = NOW() WHERE id = $3 ` type BatchUpdateFinanceCategorySortNumberBatchResults struct { br pgx.BatchResults tot int closed bool } type BatchUpdateFinanceCategorySortNumberParams struct { SortNumber int32 UpdateBy int64 ID int64 } func (q *Queries) BatchUpdateFinanceCategorySortNumber(ctx context.Context, arg []BatchUpdateFinanceCategorySortNumberParams) *BatchUpdateFinanceCategorySortNumberBatchResults { batch := &pgx.Batch{} for _, a := range arg { vals := []interface{}{ a.SortNumber, a.UpdateBy, a.ID, } batch.Queue(batchUpdateFinanceCategorySortNumber, vals...) } br := q.db.SendBatch(ctx, batch) return &BatchUpdateFinanceCategorySortNumberBatchResults{br, len(arg), false} } func (b *BatchUpdateFinanceCategorySortNumberBatchResults) 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 *BatchUpdateFinanceCategorySortNumberBatchResults) Close() error { b.closed = true return b.br.Close() } const batchUpdateSpaceSortNumber = `-- name: BatchUpdateSpaceSortNumber :batchexec UPDATE space_member SET sort_number = $1 WHERE user_id = $2 AND space_id = $3 ` type BatchUpdateSpaceSortNumberBatchResults struct { br pgx.BatchResults tot int closed bool } type BatchUpdateSpaceSortNumberParams struct { SortNumber int32 UserID int64 SpaceID int64 } // 更新空间顺序 func (q *Queries) BatchUpdateSpaceSortNumber(ctx context.Context, arg []BatchUpdateSpaceSortNumberParams) *BatchUpdateSpaceSortNumberBatchResults { batch := &pgx.Batch{} for _, a := range arg { vals := []interface{}{ a.SortNumber, a.UserID, a.SpaceID, } batch.Queue(batchUpdateSpaceSortNumber, vals...) } br := q.db.SendBatch(ctx, batch) return &BatchUpdateSpaceSortNumberBatchResults{br, len(arg), false} } func (b *BatchUpdateSpaceSortNumberBatchResults) 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 *BatchUpdateSpaceSortNumberBatchResults) Close() error { b.closed = true return b.br.Close() }