1
0
mirror of https://github.com/muety/wakapi.git synced 2023-08-10 21:12:56 +03:00

fix: batch insert conflict bug (resolve #139)

This commit is contained in:
Ferdinand Mütsch
2021-03-05 21:39:21 +01:00
parent 4f86f67716
commit 292ae41c58
3 changed files with 14 additions and 3 deletions

View File

@ -27,7 +27,18 @@ func (srv *HeartbeatService) Insert(heartbeat *models.Heartbeat) error {
}
func (srv *HeartbeatService) InsertBatch(heartbeats []*models.Heartbeat) error {
return srv.repository.InsertBatch(heartbeats)
hashes := make(map[string]bool)
// https://github.com/muety/wakapi/issues/139
filteredHeartbeats := make([]*models.Heartbeat, 0, len(heartbeats))
for _, hb := range heartbeats {
if _, ok := hashes[hb.Hash]; !ok {
filteredHeartbeats = append(filteredHeartbeats, hb)
hashes[hb.Hash] = true
}
}
return srv.repository.InsertBatch(filteredHeartbeats)
}
func (srv *HeartbeatService) Count() (int64, error) {