Feature #32156

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

Added by Peter Russ over 1 year ago. Updated 6 months ago.

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

0%

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

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 (1.3 kB) Peter Russ, 2011-11-29 12:14

History

Updated by Peter Russ over 1 year ago

Please find patch attached

Updated by Karsten Dambekalns over 1 year ago

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

Updated by Karsten Dambekalns over 1 year ago

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

Updated by Karsten Dambekalns over 1 year ago

  • Has patch changed from No to Yes

Updated by Karsten Dambekalns over 1 year ago

  • Status changed from New to Accepted

Updated by Karsten Dambekalns 12 months ago

  • Target version changed from 1.1 to 1.1 RC1

Updated by Karsten Dambekalns 11 months 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?

Updated by Karsten Dambekalns 11 months ago

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

Updated by Karsten Dambekalns 11 months 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.

Updated by Karsten Dambekalns 11 months ago

  • Tracker changed from Bug to Feature

Updated by Karsten Dambekalns 11 months ago

  • Target version changed from 1.1 RC1 to 2.0 beta 1

Updated by Gerrit Code Review 11 months 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

Updated by Karsten Dambekalns 6 months ago

  • Status changed from Under Review to Rejected

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

Also available in: Atom PDF