scanner: refactor cleaning

This commit is contained in:
sentriz
2020-05-01 02:03:46 +01:00
parent 5686517737
commit 08e775c9dd
3 changed files with 116 additions and 83 deletions

View File

@@ -102,8 +102,22 @@ func (db *DB) GetUserFromName(name string) *User {
return user
}
func (db *DB) WithTx(cb func(tx *gorm.DB)) {
func (db *DB) WithTx(cb func(*gorm.DB)) {
tx := db.Begin()
defer tx.Commit()
cb(tx)
}
func (db *DB) WithTxChunked(data []int64, cb func(*gorm.DB, []int64)) {
// https://sqlite.org/limits.html
const size = 999
tx := db.Begin()
defer tx.Commit()
for i := 0; i < len(data); i += size {
end := i + size
if end > len(data) {
end = len(data)
}
cb(tx, data[i:end])
}
}