remove members of deleted relation from InsertedWaysCache
parent
c38105b3d1
commit
b5d578175f
|
@ -133,6 +133,20 @@ func (p *InsertedWaysCache) PutMembers(members []element.Member) error {
|
|||
return p.db.Write(p.wo, batch)
|
||||
}
|
||||
|
||||
func (p *InsertedWaysCache) DeleteMembers(members []element.Member) error {
|
||||
batch := levigo.NewWriteBatch()
|
||||
defer batch.Close()
|
||||
|
||||
for _, m := range members {
|
||||
if m.Type != element.WAY {
|
||||
continue
|
||||
}
|
||||
keyBuf := idToKeyBuf(m.Id)
|
||||
batch.Delete(keyBuf)
|
||||
}
|
||||
return p.db.Write(p.wo, batch)
|
||||
}
|
||||
|
||||
func (p *InsertedWaysCache) IsInserted(id int64) (bool, error) {
|
||||
keyBuf := idToKeyBuf(id)
|
||||
data, err := p.db.Get(p.ro, keyBuf)
|
||||
|
|
|
@ -58,6 +58,7 @@ func (d *Deleter) deleteRelation(id int64) {
|
|||
d.delDb.Delete(m.Table.Name, elem.Id)
|
||||
deleted = true
|
||||
}
|
||||
d.osmCache.InsertedWays.DeleteMembers(elem.Members)
|
||||
if deleted && d.expireTiles != nil {
|
||||
for _, m := range elem.Members {
|
||||
if m.Way == nil {
|
||||
|
|
Loading…
Reference in New Issue