From a9671fdc2e211e9e6490f2989a361905691be751 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Tue, 27 Jan 2015 09:04:00 +0100 Subject: [PATCH] #1169 DDC-3343 - eagerly evicting cache if a persister passes a delete operation down to the DB --- .../Entity/NonStrictReadWriteCachedEntityPersister.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/Doctrine/ORM/Cache/Persister/Entity/NonStrictReadWriteCachedEntityPersister.php b/lib/Doctrine/ORM/Cache/Persister/Entity/NonStrictReadWriteCachedEntityPersister.php index b120ae2fa..d50d8c500 100644 --- a/lib/Doctrine/ORM/Cache/Persister/Entity/NonStrictReadWriteCachedEntityPersister.php +++ b/lib/Doctrine/ORM/Cache/Persister/Entity/NonStrictReadWriteCachedEntityPersister.php @@ -78,9 +78,13 @@ class NonStrictReadWriteCachedEntityPersister extends AbstractEntityPersister */ public function delete($entity) { - $this->persister->delete($entity); + $key = new EntityCacheKey($this->class->rootEntityName, $this->uow->getEntityIdentifier($entity)); - $this->queuedCache['delete'][] = new EntityCacheKey($this->class->rootEntityName, $this->uow->getEntityIdentifier($entity)); + if ($this->persister->delete($entity)) { + $this->region->evict($key); + } + + $this->queuedCache['delete'][] = $key; } /**