Persistance of position relocations moved to other events to fix issue #1209 #1214
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes issue #1209. Please refer this issue to understand the background of this patch.
onFlushevent, which is called before database transaction started, to the first call ofpostPersist,preUpdateorpreRemove. So that the update query is executed within the transaction and if errors happen during queries the position changes will be rolled back.postFlush).The only thing I don't like with this solution is, that it will only work with entities that have identifiers. I am not sure if this is a problem.
I had to use these because the INSERTs are executed before the UPDATE query for the relocation of the positions. And that will manipulate the positions of inserted records. But I cannot use another event in this case.
Doctrine lacks an event which is fired between the beginning of a transaction and the inserts :-( This would have made the patch much simpler.