1
0
mirror of synced 2024-12-14 23:26:04 +03:00
Commit Graph

330 Commits

Author SHA1 Message Date
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