Bug #9684
Datamapper fails to thaw reused objects if in certain order
Status: | Resolved | Start date: | 2010-09-10 | |
---|---|---|---|---|
Priority: | Should have | Due date: | ||
Assigned To: | Karsten Dambekalns | % Done: | 100% |
|
Category: | Persistence | |||
Target version: | TYPO3 Flow Base Distribution - 1.0 alpha 12 | |||
PHP Version: | Complexity: | |||
Has patch: | Affected Flow version: |
Description
Consider the following properties of an entity:
/** * Paths of this workspace, indexed by nodes * * @var \SplObjectStorage */ protected $nodesAndPaths; /** * Nodes of this workspace, indexed by their absolute path * * @var array<\F3\TYPO3CR\Domain\Model\Node> */ protected $pathsAndNodes = array();
If I put a Node object into both containers at the same time, it works if the properties are defined in the above order but it does not if they are defined the other way around.
Associated revisions
[+BUGFIX] FLOW3 (Persistence): Make property thawing order independent
Thawing of objects could fail if the same object was referenced inside
two properties of an object but the order in which these were returned
from the persistence backend differed from the order in the classschema.
Change-Id: I5bd71c9ad4a4dd847dda7b229f206a55b580c04b
Fixes: #9684
[+BUGFIX] FLOW3 (Persistence): Make property thawing order independent
Thawing of objects could fail if the same object was referenced inside
two properties of an object but the order in which these were returned
from the persistence backend differed from the order in the classschema.
The last fix introduced in Change I5bd71c9a contained a bug: properties
of type object which originally contained NULL, contained an empty array
after thawing. This patch should fix that problem.
Change-Id: I6b4635081f00d90b95ecef0555265803ce7c92c8
Fixes: #9684
History
#1 Updated by Robert Lemke almost 5 years ago
- Status changed from Accepted to Under Review
#2 Updated by Karsten Dambekalns almost 5 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 672626bb94d37656afa2e8d6e82d5af3eea056c1.