1
0
mirror of synced 2025-01-09 02:27:10 +03:00
Commit Graph

365 Commits

Author SHA1 Message Date
Marco Pivetta
fc72b41953 #1240 DDC-3479 - Using a static proxy constructor rather than the default constructor 2015-01-13 02:51:47 +01:00
Lars Strojny
8e4092750d Include IDs in the exception message to ease debugging 2015-01-13 02:41:05 +01:00
Carnage
00b6f62287 Fixed issue 2015-01-13 02:36:58 +01:00
Marco Pivetta
516d04c391 #1001 DDC-3005 - Removing useless dependency from the HydrationCompleteHandler to the UnitOfWork 2015-01-13 00:31:32 +01:00
Strate
35ea399d33 DDC-3005 Defer invoking of postLoad event to the end of hydration cycle.
1. Refactor handling of hydration complete: delegate this task to special object
2. Write test case for situation, when inside postLoad listener other entity is loading.
3. Make test, written on second step, be able to pass :)
2015-01-12 22:34:24 +01:00
Strate
f3b31c2807 DDC-3005 Defer invoking of postLoad event to the end of hydration cycle.
This feature makes guarantee, that postLoad event fires after all associations are populated
2015-01-12 22:33:40 +01:00
Marco Pivetta
511893e182 #1173 - applying CS fixes on top of the patch 2014-11-11 12:27:57 +01:00
Mathieu De Zutter
2ead9e23ab Fix merging of entities with associations to identical entities.
Without this patch, when an entity that refers multiple times to the same
associated entity gets merged, the second references becomes null.

The main issue is that even though doMerge returns a managed copy, that value
is not used while cascading the merge. These identicial entities are already
detected through the visitor map, but they are ignored.  There should be some
refactoring so cascadeMerge calls a function that checks if the parent must be
updated, based on the return value of its call to doMerge.  However, this patch
tries to impact the code as little as possible, and only introduces a new
function to avoid duplicate code.

The secondary issue arises when using inverted associations. In that case, it
is possible that an entity to be merged is already merged, so the the visitor
map is looked up by the hash of a managed copy instead of the original entity.
This means that in this case the visitor map entries should also be set to the
entity, instead of being set to 'true'.
2014-11-11 12:12:25 +01:00
Rob Caiger
dd398ce577 - Fixed the basic entity persister so that versioned OneToOne entities can be created
- Created an IdentifierFlattener utility class
- Moved the logic for the flatten identifier method into the new utility class
- Replaced calls for private flattenIdentifier to use new utility
- Added appropriate unit tests
2014-10-01 14:01:44 +01:00
Justin Zimmerman
65e7cc9143 [DDC-3160] Change to fix that was implemented for DDC-2996.
A fix for DDC-2996 was implemented that broke quite a few extensions.

This commit is an attempt to fix the DDC-2996 bug without the adverse side effects seen in DDC-3160.

Basically, if changes are detected that would cause a changeset to be made, but the entity is awaiting insertion, the code will not save the changeset nor flag the entity as awaiting updating in the Unit of Work.

Some styling tweaks based on Pull Request guidelines.
2014-07-04 10:51:04 -04:00
Dawid Spiechowicz
9c24e0b510 I can't look at those semicolons, sorry ;-) 2014-05-27 09:37:40 +02:00
Marco Pivetta
ccc789eadd DDC-3123 - the UoW should clear extra updates immediately 2014-05-15 00:18:50 +02:00
flack
5cf906d76b Remove some redundant clauses 2014-05-02 21:52:00 +02:00
Guilherme Blanco
6e9b15a48f Merge pull request #951 from md2perpe/MoreInformationalEntityNotFoundException
More informational entity not found exception
2014-04-16 01:40:02 -04:00
Guilherme Blanco
1cd0b26a40 DDC-3068 EntityManager clear() calls now follow cascade detach configuration. 2014-04-16 04:47:57 +00:00
Guilherme Blanco
5ce6dabe9b Fixes DDC-2984. Made DDC-742 more resilient to recurring failures. 2014-04-16 04:20:18 +00:00
Benjamin Eberlei
a03c8da683 Merge pull request #962 from netiul/master
Stop executeDeletions when there is nothing to to delete anymore
2014-03-23 15:32:28 +01:00
Benjamin Eberlei
d473824279 [DDC-2996] Fix bug in UnitOfWork#recomputeSingleEntityChangeSet
When calling UnitOfWork#recomputeSingleEntityChangeSet on an entity
that didn't have a changeset before, the computation was ignored.
This method however is suggested to be used in "onFlush" and "preFlush"
events in the documentation.

Also fix a bug where recomputeSingleEntityChangeSet was used
before calculating a real changeset for an object.
2014-03-23 13:16:33 +01:00
Benjamin Eberlei
396337bd0d [DDC-3033] Fix bug in UnitOfWork#recomputeSingleEntityChangeSet.
The fix for DDC-2624 had a side effect on recomputation of
changesets in preUpdate events. The method wasn't adjusted
to the changes in its sister method computeChangeSet() and
had wrong assumptions about the computation.

Especially:
1. Collections have to be skipped
2. Comparison was changed to strict equality only.
2014-03-23 12:35:54 +01:00
Zacharias Luiten
8a168bb2ce stop executing executeDeletions when there is nothing to to delete anymore 2014-02-25 16:02:02 +01:00
Per Persson
3543ccea7f Pass class name to constructor. 2014-02-11 23:48:31 +01:00
Benjamin Eberlei
53a5a48aed [DDC-2624] Fix bug when persistent collection is cloned and used in a new entity. 2014-02-09 14:27:42 +01:00
Benjamin Eberlei
b76e95cbb9 Merge pull request #917 from doctrine/hotfix/DDC-2931
DDC-2931 - one-to-one self-referencing association broken by DCOM-96
2014-02-08 15:46:07 +01:00
Steve Müller
a6c8ab8a5f make lock mode usage consistent 2014-02-05 15:13:53 +01:00
Marco Pivetta
7a32eca039 DDC-2931 - Safe comparison between proxies and entities when refreshing objects 2014-02-01 01:57:51 +01:00
Benjamin Eberlei
17809abd29 Merge pull request #837 from mnapoli/DDC2775
DDC-2775 Tests and fix
2014-01-02 14:07:14 -08:00
Benjamin Eberlei
ea84cfbdd1 Merge pull request #845 from flack/avoid-update-on-delete
Don't compute changeset for entities that are going to be deleted
2014-01-02 13:59:25 -08:00
Benjamin Eberlei
3a8aaea14a Merge pull request #794 from stefankleff/patch-1
Multiple invokation of listeners on PreFlush event
2014-01-02 13:16:21 -08:00
Matthieu Napoli
c9791fe97f Inlined the model for the DCC2775 test case inside the test class 2013-12-23 09:55:10 +01:00
fabios
cf4c805427 Fix cache misses using one-to-one inverse side 2013-12-20 15:37:07 -05:00
Fabio B. Silva
61bff7d5f6 Fix CS and update docs 2013-12-16 11:05:04 -05:00
fabios
1bfa8f0fc3 Extract cache config 2013-12-16 11:05:04 -05:00
Fabio B. Silva
3140593e9b Second level cache 2013-12-16 11:05:04 -05:00
Pouyan Savoli
a5b7069fd7 [DDC-2645] Apply patch to fix issue 2013-12-15 23:31:35 +01:00
flack
ffd858b238 Merge remote-tracking branch 'upstream/master' into avoid-update-on-delete 2013-11-17 11:36:06 +01:00
flack
9807718100 Also skip entities scheduled for deletion when committing multiple entities 2013-11-17 11:31:21 +01:00
flack
9016a5a854 don't compute changeset for entities that are going to be deleted 2013-11-12 00:11:50 +01:00
Matthieu Napoli
e018bb83f0 [DDC-2775] Bugfix 2013-11-04 12:42:23 +01:00
Peter Kokot
dca09148ca CS fixes 2013-09-22 02:12:30 +02:00
Stefan Kleff
1ec5632a18 Multiple invokation of listeners on PreFlush event
Only lifecycle callbacks and entity listeners should be triggered here. The preFlush listener event is already triggered at the beginning of commit()
2013-09-19 12:13:12 +02:00
Benjamin Eberlei
b6e624b6bf Delete some very old, leftover code. 2013-09-11 22:43:38 +02:00
Guilherme Blanco
e0fd377828 Removed ticket that was breaking the build. DDC-2524 is a circular dependency that is impossible to be fixed with our current codebase. 2013-08-03 19:03:10 -04:00
Benjamin Eberlei
29d6da0fa0 Merge pull request #703 from shulcsm/patch-1
Clear visitedCollections
2013-06-30 01:38:02 -07:00
Benjamin Eberlei
a91050e7f4 [DDC-2350] Eager Collections are not marked as initialized, leading to multiple queries being executed. 2013-06-25 19:34:12 +02:00
shulcsm
3340234785 Clear visitedCollections
Visited collections are cleared only in commit(). Commit clears up only if it actually has something to do. Processing large amounts of records without changing them cause visitedCollections to grow without any way of clearing.
2013-06-19 16:34:44 +03:00
Benjamin Eberlei
5e19e1bed3 [DDC-2267] Allow EntityManager#flush($entity) to be called on entities scheduled for removal. 2013-05-04 13:38:30 +02:00
Benjamin Eberlei
131164b7f6 [DDC-1984] Throw exception if passing null into UnitOfWork#lock() - which can happen when EntityManager#find() tries to lock entity that was just deleted by another process. 2013-05-01 19:39:21 +02:00
Benjamin Eberlei
640a8e58c7 [DDC-2106] Fix entity as parameter value when its managed but not yet with identifier. 2013-05-01 18:46:41 +02:00
Benjamin Eberlei
6505c96ec4 Simplify condition of previous commit (5cdc73e) 2013-05-01 10:58:44 +02:00
Fabio B. Silva
5cdc73e13b Fix DDC-2409 2013-04-28 16:54:44 -03:00