Feature #32156

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

Added by Peter Russ about 8 years ago. Updated about 7 years ago.

Status:
Rejected
Priority:
Must have
Category:
Persistence
Start date:
2011-11-29
Due date:
% Done:

0%

PHP Version:
Has patch:
Yes
Complexity:

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 View (1.32 KB) Peter Russ, 2011-11-29 12:14

History

#1 Updated by Peter Russ about 8 years ago

Please find patch attached

#2 Updated by Karsten Dambekalns about 8 years ago

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

#3 Updated by Karsten Dambekalns about 8 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 about 8 years ago

  • Has patch changed from No to Yes

#5 Updated by Karsten Dambekalns about 8 years ago

  • Status changed from New to Accepted

#6 Updated by Karsten Dambekalns over 7 years ago

  • Target version changed from 1.1 to 1.1 RC1

#7 Updated by Karsten Dambekalns over 7 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 over 7 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 over 7 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 over 7 years ago

  • Tracker changed from Bug to Feature

#11 Updated by Karsten Dambekalns over 7 years ago

  • Target version changed from 1.1 RC1 to 2.0 beta 1

#12 Updated by Gerrit Code Review over 7 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 about 7 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