1
0
mirror of synced 2024-12-15 15:46:02 +03:00

DDC-178 DQL Optimistic Lock now requires ALL classes to be versioned, otherwise throws exception

This commit is contained in:
Benjamin Eberlei 2010-05-15 11:53:28 +02:00
parent 10312494f1
commit ad402c6ded

View File

@ -372,18 +372,13 @@ class SqlWalker implements TreeWalker
} else if ($lockMode == \Doctrine\DBAL\LockMode::PESSIMISTIC_WRITE) { } else if ($lockMode == \Doctrine\DBAL\LockMode::PESSIMISTIC_WRITE) {
$sql .= " " . $this->_platform->getWriteLockSQL(); $sql .= " " . $this->_platform->getWriteLockSQL();
} else if ($lockMode == \Doctrine\DBAL\LockMode::OPTIMISTIC) { } else if ($lockMode == \Doctrine\DBAL\LockMode::OPTIMISTIC) {
$versionedClassFound = false;
foreach ($this->_selectedClasses AS $class) { foreach ($this->_selectedClasses AS $class) {
if ($class->isVersioned) { if (!$class->isVersioned) {
$versionedClassFound = true;
}
}
if (!$versionedClassFound) {
throw \Doctrine\ORM\OptimisticLockException::lockFailed(); throw \Doctrine\ORM\OptimisticLockException::lockFailed();
} }
} }
} }
}
return $sql; return $sql;
} }