Feature #32156

No detach() for Doctrine possible, memory problem with large data sets

Added by Peter Russ over 3 years ago. Updated over 2 years ago.

Status:Rejected Start date:2011-11-29
Priority:Must have Due date:
Assigned To:Karsten Dambekalns % Done:

0%

Category:Persistence
Target version:TYPO3 Flow Base Distribution - 2.0 beta 1
PHP Version: Complexity:
Has patch:Yes

Description

Running huge queries (i.e. some 10k results) we found that detaching an object isn't available in FLOw3 although there is such a method in Doctrine.
So we decided to add that to the persistence layer. This helps a lot also not completly solving problem of growing memory usage.

patch.32156.diff Magnifier (1.3 kB) Peter Russ, 2011-11-29 12:14

History

#1 Updated by Peter Russ over 3 years ago

Please find patch attached

#2 Updated by Karsten Dambekalns over 3 years ago

  • Project changed from TYPO3 Flow Base Distribution to TYPO3.Flow

#3 Updated by Karsten Dambekalns over 3 years ago

  • Category set to Persistence
  • Target version changed from 1.0.2 to 1.1
  • Has patch set to No

#4 Updated by Karsten Dambekalns over 3 years ago

  • Has patch changed from No to Yes

#5 Updated by Karsten Dambekalns over 3 years ago

  • Status changed from New to Accepted

#6 Updated by Karsten Dambekalns about 3 years ago

  • Target version changed from 1.1 to 1.1 RC1

#7 Updated by Karsten Dambekalns about 3 years ago

  • Status changed from Accepted to Needs Feedback

Sorry this took so long. I'd rather not make this part of the PersistenceManagerInterface, as it is something specific for Doctrine. Instead it could be part of TYPO3\FLOW3\Persistence\Doctrine\Repository - would that work for your use case?

#8 Updated by Karsten Dambekalns about 3 years ago

  • Subject changed from Memory problem with large data sets to No detach() for Doctrine possible, memory problem with large data sets

#9 Updated by Karsten Dambekalns about 3 years ago

Karsten Dambekalns wrote:

Sorry this took so long. I'd rather not make this part of the PersistenceManagerInterface, as it is something specific for Doctrine. Instead it could be part of TYPO3\FLOW3\Persistence\Doctrine\Repository - would that work for your use case?

Or, even less intrusive - you could just use $this->entityManager->detach() in your repositories where needed. Let me know what would work better for you.

#10 Updated by Karsten Dambekalns about 3 years ago

  • Tracker changed from Bug to Feature

#11 Updated by Karsten Dambekalns about 3 years ago

  • Target version changed from 1.1 RC1 to 2.0 beta 1

#12 Updated by Gerrit Code Review about 3 years ago

  • Status changed from Needs Feedback to Under Review

Patch set 1 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/12362

#13 Updated by Karsten Dambekalns over 2 years ago

  • Status changed from Under Review to Rejected

In any Doctrine\Repository instance one can use $this->entityManager->detach().

Also available in: Atom PDF