Bug #3806

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

Added by Karsten Dambekalns about 6 years ago. Updated almost 5 years ago.

Status:Resolved Start date:2009-06-30
Priority:Must have Due date:
Assigned To:Karsten Dambekalns % Done:

100%

Category:Persistence
Target version:TYPO3 Flow Base Distribution - 1.0 alpha 2
PHP Version: Complexity:
Has patch: Affected Flow version:

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

Revision f8e072d4
Added by Karsten Dambekalns about 6 years ago

[FIX] FLOW3 (Persistence): dirty checking and activation of lazy loading work as intended now, fixes #3806

History

#1 Updated by Karsten Dambekalns about 6 years ago

  • Subject changed from Persistence fails (partly) when LazyLoadingProxy is involved to Persistence fails when objects and/or lazy loading are involved...

#2 Updated by Karsten Dambekalns about 6 years ago

  • Status changed from Accepted to Resolved
  • % Done changed from 0 to 100

Applied in changeset r2691.

Also available in: Atom PDF