Commit da582e11 authored by romanb's avatar romanb

[2.0] Fixed hardcoded version field access in optimistic locking.

parent 6356886c
...@@ -253,7 +253,7 @@ class StandardEntityPersister ...@@ -253,7 +253,7 @@ class StandardEntityPersister
$versionField = $this->_class->versionField; $versionField = $this->_class->versionField;
$versionFieldType = $this->_class->getTypeOfField($versionField); $versionFieldType = $this->_class->getTypeOfField($versionField);
$where[$versionField] = Type::getType($versionFieldType) $where[$versionField] = Type::getType($versionFieldType)
->convertToDatabaseValue($entity->version, $this->_platform); ->convertToDatabaseValue($this->_class->reflFields[$versionField]->getValue($entity), $this->_platform);
$versionFieldColumnName = $this->_class->getQuotedColumnName($versionField, $this->_platform); $versionFieldColumnName = $this->_class->getQuotedColumnName($versionField, $this->_platform);
if ($versionFieldType == 'integer') { if ($versionFieldType == 'integer') {
$set[] = $versionFieldColumnName . ' = ' . $versionFieldColumnName . ' + 1'; $set[] = $versionFieldColumnName . ' = ' . $versionFieldColumnName . ' + 1';
......
...@@ -94,7 +94,7 @@ class OptimisticTest extends \Doctrine\Tests\OrmFunctionalTestCase ...@@ -94,7 +94,7 @@ class OptimisticTest extends \Doctrine\Tests\OrmFunctionalTestCase
$this->_em->persist($test); $this->_em->persist($test);
$this->_em->flush(); $this->_em->flush();
$this->assertEquals(1, $test->version); $this->assertEquals(1, $test->getVersion());
} }
/** /**
...@@ -205,7 +205,9 @@ class OptimisticStandard ...@@ -205,7 +205,9 @@ class OptimisticStandard
/** /**
* @Version @Column(type="integer") * @Version @Column(type="integer")
*/ */
public $version; private $version;
function getVersion() {return $this->version;}
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment