Bug #3806
Persistence fails when objects and/or lazy loading are involved...
| Status: | Resolved | Start: | 2009-06-30 | |
| Priority: | Must have | Due date: | ||
| Assigned to: | Karsten Dambekalns | % Done: | 100% |
|
| Category: | Persistence | |||
| Target version: | 1.0.0 alpha 2 | |||
Description
The fix for #3451 in r2591 has some side effects - even after adding something to a proxied SplObjectStorage it is not marked as dirty, thus the content is no longer persisted.
- activating a lazy loading proxy multiple times (as can happen if it is handed out without being activated first) marks it clean in the parent multiple times
- memorizeCleanState() needs to clone objects not just copy them, so comparison later makes sense
- isDirty() must not use strict comparison on objects - a clone is never same, but can only be equal
Associated revisions
[FIX] FLOW3 (Persistence): dirty checking and activation of lazy loading work as intended now, fixes #3806