Bug #3806

Persistence fails when objects and/or lazy loading are involved...

Added by Karsten Dambekalns over 12 years ago. Updated about 11 years ago.

Status:
Resolved
Priority:
Must have
Category:
Persistence
Start date:
2009-06-30
Due date:
% Done:

100%

Estimated time:
PHP Version:
Has patch:
Complexity:

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

Also available in: Atom PDF