Marco Pivetta
cb7a77cc03
Removing usage of ClassUtil where not strictly needed
...
Optimizing the ClassMetadataFactory API instead and using ClassMetadata to check actual class names as da962f2e and c27b4de0 introduced too much overhead
2012-04-07 18:53:34 +02:00
Marco Pivetta
c4a2eaea49
Adding additional missing calls to classutils instead of get_class
2012-04-07 18:53:34 +02:00
Marco Pivetta
cbe4987e18
Using Doctrine\Common\Util\ClassUtil for class_name resolutionThis avoids exceptions when passing a Proxy instance to the public API of the EntityManager, ClassMetadataFactory or UnitOfWork when the Proxy itself isn't generated by the EntityManager itself, while discovering the correct ClassMetadata instance for the proxy
2012-04-07 18:53:33 +02:00
Jonathan H. Wage
24e808844b
Allow flushing of many entities by passing an array of entities.
2012-03-15 17:45:25 -05:00
Klein Florian
ac1ffaf7e9
make merge copy non persited properties too
2012-03-12 23:18:56 +01:00
Benjamin Eberlei
9cddaf3075
Merge pull request #256 from F5/many_to_many_listeners
...
When using a ManyToMany relationship no listener is notified about any change to the owning entity
2012-03-03 13:13:09 -08:00
Benjamin Eberlei
35764c2402
[DDC-1659] Remove read only marker when clearing entities.
2012-02-20 09:36:35 +01:00
Benjamin Eberlei
9fc1d85e8d
[DDC-1643] Fix bugs when cloning PersistentCollection and re-using it.
2012-02-18 00:42:21 +01:00
Benjamin Eberlei
d995c6dbdc
[DDC-1655][DDC-1650][DDC-1556] Fix issues with @postLoad Callback being not fired, or fired multiple times.
2012-02-17 23:27:16 +01:00
Benjamin Eberlei
6c24251452
[DDC-1612] Fix bug with EntityManager#flush($entity) on new entities.
2012-01-21 13:06:30 +01:00
Guilherme Blanco
74f3ed7e29
Fixing CS.
2012-01-18 23:27:28 -05:00
Guilherme Blanco
b98280a504
Quick optimizations are always good.
2012-01-18 23:09:23 -05:00
Benjamin Eberlei
56ea4872ca
DDC-1594 - Fix problem with merge and an existing managed proxy instance.
2012-01-15 15:48:44 +01:00
Benjamin Eberlei
36ce26691d
DDC-1585 - Throw exception if setting target entity of the wrong type to an assocation.
2012-01-15 14:59:20 +01:00
Francisco Facioni
e7a6d87990
When using a ManyToMany relationship no listener is notified about any change to the owning entity.
...
What I'm doing with this patch is marking the entity for update when there is a modification in the ManyToMany relationship so the listeners are notified about it.
The main reason for this is for hooking up services like Solr or other indexers to update the entities even for ManyToMany relationships.
2012-01-12 14:38:07 -03:00
Benjamin Eberlei
f6f2acad4c
Merge Improve Error Messages into 2.2
2011-12-21 23:56:25 +01:00
Benjamin Eberlei
b1b10042d2
Revert "Fixed issue with fetched association not being considered during changeSet calculation. Fixes DDC-1545."
...
This reverts commit a8478d5766
.
2011-12-19 16:31:26 +01:00
Guilherme Blanco
a8478d5766
Fixed issue with fetched association not being considered during changeSet calculation. Fixes DDC-1545.
2011-12-19 01:39:48 -05:00
Benjamin Eberlei
e8a47b3921
DDC-1519 - Fix bug in merging of entities that contain foreign identifiers
2011-12-15 20:49:25 +01:00
Benjamin Eberlei
99e46a23c6
Bugfix in UnitOfWorklib/Doctrine/ORM/UnitOfWork.phptriggerEagerLoads()
2011-12-13 21:26:04 +01:00
Andrew Mackrodt
2fdb55a878
Added absolute namespace paths to phpdoc annotations - issue DDC-1025.
2011-12-11 21:56:26 +00:00
Guilherme Blanco
954b5077e4
Fixed nesting recursion error in some situations. Complement to DDC-1276.
2011-12-09 10:59:53 -05:00
Guilherme Blanco
a26990c3e8
DDC-1457: Fixed wrong docblock.
2011-12-04 02:14:47 -05:00
Guilherme Blanco
5e3e8b3957
More refactorings and optimizations.
2011-12-01 10:00:26 -05:00
Guilherme Blanco
24f6b74427
Refactored UnitOfWork::createEntity, improving its performance.
2011-11-29 10:36:32 -05:00
Benjamin Eberlei
f2f32ca70f
DDC-1509 - Fix regression in doMerge() introduced with the DDC-1383 bugfix
2011-11-28 10:04:33 +01:00
Guilherme Blanco
ef33454301
Reverted PR which broke suite. Issue is still valid, but it requires more investigation.
2011-11-23 08:40:47 -05:00
Jonathan Ingram
248c9bdeff
Fixed typo
2011-11-21 12:34:20 +11:00
Benjamin Eberlei
bda593a66d
DDC-1448 - Add support for ObjectManagerAware interface and PersistentObject in ORM
2011-11-19 13:06:24 +01:00
Benjamin Eberlei
34c94dbd94
DDC-1452 - Fixed bug with multiple fetch joins of the same "propery-path" of Class+field name combinations
2011-11-14 23:05:33 +01:00
Benjamin Eberlei
6520211df3
Merge everzet/PreFlush-event
2011-11-13 16:51:23 +01:00
Alexander
1f55351f19
Cleanup
2011-11-10 16:16:55 +01:00
Alexander
9c9f85ed4b
Only refresh the given entity if an entity is specified in the query hints
2011-11-09 22:52:48 +01:00
Guilherme Blanco
32b8d77580
Fixed CS issues. More tiny optimizations in UnitOfWork.
2011-11-07 01:27:20 -02:00
Guilherme Blanco
96aa25fb3e
Optimized more pieces of code in UnitOfWork.
2011-11-06 02:03:34 -02:00
Guilherme Blanco
ea69d9ca0c
Fixed wrong optimization. Optimized more pieces of code in UnitOfWork.
2011-11-05 19:21:35 -02:00
Guilherme Blanco
c6a3ff4da5
Optimizations in UnitOfWork.
2011-11-05 03:09:14 -02:00
everzet
9c4c06c422
optimized PreFlush (moved into computeChangeSet function)
2011-11-03 16:24:47 +02:00
Guilherme Blanco
3cfa479c01
Micro optimization in computeChangeSet when using readOnly entities.
2011-10-30 15:46:07 -02:00
Guilherme Blanco
c5ef21864f
Fixed bug with fetch=EAGER associations that have already been hydrated during querying.
2011-10-26 15:04:49 -02:00
everzet
66e2a9260e
added PreFlush lifetime event and lifecycle callback
2011-10-23 18:39:16 +03:00
Benjamin Eberlei
9b8d2d512b
Merge pull request #168 from dfreudenberger/master
...
postFlush event implementation
2011-10-23 01:12:27 -07:00
Benjamin Eberlei
5d3298e706
DDC-720 - Correct mentioned issues by @asm89
2011-10-23 10:05:46 +02:00
Daniel Freudenberger
fa8000fa5c
dispatch the event after the snapshot was taken
2011-10-23 01:27:09 +02:00
Daniel Freudenberger
46a3fecb4f
added the postFlush event
2011-10-22 18:38:51 +02:00
Benjamin Eberlei
f569a2a389
DDC-720 - Add support to flush only one entity (within cascade rules) through EntityManager#flush()
2011-10-22 13:44:33 +02:00
Benjamin Eberlei
719e05e53e
Extract more messages into ORMInvalidArgumentException
2011-10-22 12:57:55 +02:00
Benjamin Eberlei
a8906ce572
Stringify entity in all UnitOfWork exceptions
2011-10-22 12:49:33 +02:00
Benjamin Eberlei
5392737de4
Improved and extracted UnitOfWork error messages
2011-10-22 12:40:12 +02:00
Benjamin Eberlei
dba8360166
Merge master into ImproveErrorMessages
2011-10-22 11:06:51 +02:00
Benjamin Eberlei
939fbf9c24
DDC-1278 - Clean up event handling of new clear functionality.
2011-10-16 22:45:06 +02:00
Benjamin Eberlei
22a04fd6de
Merge dominikl/DDC-1278 into doctrine/DDC-1278
2011-10-16 22:41:16 +02:00
Benjamin Eberlei
4474d305cb
DDC-1210 - Optimize UnitOfWork collection handling internally.
2011-10-15 21:47:16 +02:00
Benjamin Eberlei
b6c49863e8
Merge branch 'master' of github.com:doctrine/doctrine2
2011-10-15 19:14:53 +02:00
Benjamin Eberlei
08716d9f72
DDC-1383 - Proxy Generation in merge was flawed with inheritance
2011-10-15 19:14:30 +02:00
Benjamin Eberlei
73101be422
Merge pull request #143 from craue/patch-2
...
added missing type hint
2011-10-15 10:05:53 -07:00
Benjamin Eberlei
6f3667201c
Add @ignore and @internal to UnitOfWork#computeChangeSet
2011-10-15 18:11:14 +02:00
Benjamin Eberlei
cb21f3c5ff
DDC-1414 - Missing push to $newNodes
2011-10-15 17:47:09 +02:00
Benjamin Eberlei
cb28bfd484
Improve Error Messages in ClassMetadata and UnitOfWork
2011-10-15 17:38:55 +02:00
Benjamin Eberlei
dd6f6cb097
Fix notice
2011-10-15 16:03:50 +02:00
Benjamin Eberlei
640facd26a
Remove unncessary line
2011-10-15 15:51:11 +02:00
Benjamin Eberlei
3801e0c230
Add way to keep track of read only objects in the UnitOfWork which are never updated during flush.
...
Changed the behavior of EntityManager#getPartialReference to be read-only. No changes are ever
done to this entities. Changed UnitOfWork#computeChangeSet to never create a changeset for
fields that are partially omitted from a DQL or NativeQuery.
To check if an entity is read only use the new API:
if ($entityManager->getUnitOfWork()->isReadOnly($entity))
2011-10-15 15:42:02 +02:00
Christian Raue
689aaef4dc
added missing type hint
2011-10-10 09:44:17 +03:00
Benjamin Eberlei
9f96d4a31a
DDC-1392 - Fix bug with merging unitialized proxies
2011-09-25 18:08:41 +02:00
Guilherme Blanco
e3d133af04
Added getQuotedTableName() in missing places of Doctrine ORM. Fixes DDC-1365.
2011-09-07 01:48:19 -03:00
Benjamin Eberlei
b145f061c9
DDC-1348 - Fix bug with UnitOfWork::getEntityState()
2011-08-28 15:58:08 +02:00
Benjamin Eberlei
e6a73803a4
Merge branch 'DDC-1306'
2011-08-27 20:44:15 +02:00
Benjamin Eberlei
3b4b38e184
DDC-1306, DDC-1113 - Fix issues with inheritance and commit order
2011-08-27 20:41:52 +02:00
Benjamin Eberlei
8c2db89f2b
DDC-1340 - Fix bug with merge() and optimistic lock exception
2011-08-21 15:01:57 +02:00
Dominik Liebler
6e47d7b16d
DDC-1278 - EntityManager::clear($entity) support
...
added test case and modified test data CmsUser to cascade detach address and articles (testing collections and single entites)
2011-08-14 16:12:12 +02:00
Dominik Liebler
25f5ff0ca1
DDC-1278 - EntityManager::clear($entity) support
...
cascade detach operation only on entity name entities
2011-08-13 20:22:23 +02:00
Dominik Liebler
745535d269
fixed typo
2011-08-12 20:15:32 +02:00
Dominik Liebler
05fb0b913a
DDC-1278 - EntityManager::clear($entity) support
...
added new parameter $entityName for UnitOfWork::clear()
removed not implemented exception in EntityManager:clear()
2011-08-11 23:03:26 +02:00
Benjamin Eberlei
a99ffc126f
DDC-1276 - Fix bug where merge managed and new entitiy share the same collection that is cascaded, cleared during the process and then empty afterwards.
2011-07-26 22:15:27 +02:00
Benjamin Eberlei
2858b8290f
DDC-1238 - Fixed a bug introduced when refactoring persisters hydration. This occurs when you call $em->clear() and you start accessing a proxy.
2011-07-04 23:19:08 +02:00
Benjamin Eberlei
66e92b147d
Minor spelling mistake, thanks Alexandre Mathieu for reporting
2011-06-28 22:30:17 +02:00
Benjamin Eberlei
551f6d05d9
DDC-1230 - Fix bug where UnitOfWork does not set STATE_REMOVE when calling EntityManager#remove() on an entity
2011-06-28 21:37:53 +02:00
Benjamin Eberlei
a73a1e8437
DDC-1226, DDC-1228 - Bugfix with refereshing proxy references not setting the originalEntityData.
2011-06-25 14:38:44 +02:00
Benjamin Eberlei
decd1482de
Fix bug in ChangeTrackingNotify code
2011-06-18 23:06:07 +02:00
Benjamin Eberlei
32b146ea8a
Switch testsuite to run with phpunit.ini.dist from main folder, not using AllTests approach. Fixed global state problem in tests that was caused by EventManager being reused. Significantly enhanced error message about cascade persist
2011-06-18 22:47:21 +02:00
Benjamin Eberlei
4371e8fab0
DDC-1163 - Fix nasty bug with inheritance in UnitOfWork::executeUpdates() and executeRemovals()
2011-06-05 16:21:23 +02:00
Benjamin Eberlei
ddb647f39f
DDC-1173 - Fix bug when calling UnitOfWork::clearEntityChangeSet() in listener
2011-06-05 13:34:07 +02:00
Benjamin Eberlei
bda4165bf8
DDC-1193 - Fix previous commit.
2011-06-05 10:02:57 +02:00
Benjamin Eberlei
acaf08d4b7
DDC-1193 - Fix bug with cascade remove and proxy classes.
2011-06-05 09:59:16 +02:00
Benjamin Eberlei
875912bffd
DDC-733 - Add UnitOfWork::initializeObject() method.
2011-06-05 08:44:38 +02:00
Benjamin Eberlei
d4569baa11
[DDC-1129] Fix bug in version changeset computation aswell as inline ClassMetadata::isCollectionValuedAssociation to increase performance by 2-5%
2011-05-01 11:44:31 +02:00
Benjamin Eberlei
7a068c206e
DDC-1043 - Make computeChangeSet() algorithm more strict, possible leading to more updates to to values that are not exactly the same. However this is necessary to avoid bugs with certain PHP casting rules, i.e. +44 = 44
2011-05-01 10:21:47 +02:00
Benjamin Eberlei
9a75277dd4
[DDC-692] Add ClassMetadataInfo::isReadOnly flag and ignore these entities in Change Tracking.
2011-03-29 20:04:14 +02:00
Michael Ridgway
1f50dee8a8
DDC-696: Added onClear event
2011-03-21 23:17:08 -04:00
Benjamin Eberlei
5192306d39
[DDC-952] One last commit with some refactorings, additional comments and two new tests. Also added convenience method Query::setFetchMode($className, $assocName)
2011-03-16 22:51:32 +01:00
Benjamin Eberlei
4b98e3ea8e
DDC-952 - Remove unnecessary instance variable and comment on one feature.
2011-03-16 00:03:43 +01:00
Benjamin Eberlei
8794d35867
DDC-952 - Woah this still needs tons of tests.
2011-03-09 23:30:35 +01:00
Benjamin Eberlei
077ae9cee9
[DDC-914] Fetch join many-to-one/one-to-one associations configured as FETCH_EAGER inside the persisters.
2011-03-09 23:14:54 +01:00
Benjamin Eberlei
fd502631c7
DDC-734 - REname query hint to fetchEager.
2011-03-08 22:28:55 +01:00
Benjamin Eberlei
60eb755fe9
DDC-952, DDC-734 Add DQL query hint to switch associations from lazy to eager for deferred initialization optimizations.
2011-03-08 22:22:54 +01:00
Benjamin Eberlei
112f9d1480
[DDC-1050] Change refresh of collection back
2011-03-06 21:49:02 +01:00
Benjamin Eberlei
851f44a066
[DDC-952] [DDC-1050] Use ObjectHydrator inside Persisters, removing a bunch of duplicate code (step1, more necessary)
2011-03-06 21:26:54 +01:00
Benjamin Eberlei
03630df20d
Add support for IN(?) queries in repositories using the DBAL support for parameter lists.
2011-03-06 11:15:56 +01:00
Benjamin Eberlei
3d37e436dd
DDC-952 - Refactor eager loading entities, it is only allowed for non composite primary key entities.
2011-03-05 11:09:38 +01:00
Benjamin Eberlei
32df9451fd
DDC-952 - Implemented first approach for batching eager loads of ToOne associations.
2011-03-05 11:08:41 +01:00