forked from mirror/gorm
Create a new db in FindInBatches
This commit is contained in:
parent
2ba599e8b7
commit
75720099b5
|
@ -202,7 +202,9 @@ func (db *DB) FindInBatches(dest interface{}, batchSize int, fc func(tx *DB, bat
|
||||||
batch++
|
batch++
|
||||||
|
|
||||||
if result.Error == nil && result.RowsAffected != 0 {
|
if result.Error == nil && result.RowsAffected != 0 {
|
||||||
tx.AddError(fc(result, batch))
|
fcTx := result.Session(&Session{NewDB: true})
|
||||||
|
fcTx.RowsAffected = result.RowsAffected
|
||||||
|
tx.AddError(fc(fcTx, batch))
|
||||||
} else if result.Error != nil {
|
} else if result.Error != nil {
|
||||||
tx.AddError(result.Error)
|
tx.AddError(result.Error)
|
||||||
}
|
}
|
||||||
|
|
3
gorm.go
3
gorm.go
|
@ -300,7 +300,8 @@ func (db *DB) WithContext(ctx context.Context) *DB {
|
||||||
|
|
||||||
// Debug start debug mode
|
// Debug start debug mode
|
||||||
func (db *DB) Debug() (tx *DB) {
|
func (db *DB) Debug() (tx *DB) {
|
||||||
return db.Session(&Session{
|
tx = db.getInstance()
|
||||||
|
return tx.Session(&Session{
|
||||||
Logger: db.Logger.LogMode(logger.Info),
|
Logger: db.Logger.LogMode(logger.Info),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -257,7 +257,7 @@ func TestFindInBatches(t *testing.T) {
|
||||||
totalBatch int
|
totalBatch int
|
||||||
)
|
)
|
||||||
|
|
||||||
if result := DB.Where("name = ?", users[0].Name).FindInBatches(&results, 2, func(tx *gorm.DB, batch int) error {
|
if result := DB.Table("users as u").Where("name = ?", users[0].Name).FindInBatches(&results, 2, func(tx *gorm.DB, batch int) error {
|
||||||
totalBatch += batch
|
totalBatch += batch
|
||||||
|
|
||||||
if tx.RowsAffected != 2 {
|
if tx.RowsAffected != 2 {
|
||||||
|
@ -273,7 +273,7 @@ func TestFindInBatches(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := tx.Save(results).Error; err != nil {
|
if err := tx.Save(results).Error; err != nil {
|
||||||
t.Errorf("failed to save users, got error %v", err)
|
t.Fatalf("failed to save users, got error %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
Loading…
Reference in New Issue