1
0
mirror of synced 2025-02-13 18:53:15 +03:00

1212 Commits

Author SHA1 Message Date
Mathieu De Zutter
95dcf51ad5 Avoid conflicts due to spl_object_hash().
When merging an entity with a to-many association, it will store the
original entity data using the object hash of the to-be-merged entity
instead of the managed entity. Since this to-be-merged entity is not
managed by Doctrine, it can disappear from the memory. A new object
can reuse the same memory location and thus have the same object hash.
When one tries to persist this object as new, Doctrine will refuse it
because it thinks that the entity is managed+dirty.

This patch is a very naive fix: it just disables storing the original
entity data in case of to-many associations. It may not be the ideal
or even a good solution at all, but it solves the problem of object
hash reuse.

The test case relies on the immediate reusing of memory locations by
PHP. The variable $user has twice the same object hash, though referring
a different object. Tested on PHP 5.6.17

Without the fix, the test fails on the last line with:
A managed+dirty entity Doctrine\Tests\Models\CMS\CmsUser@[...] can not
be scheduled for insertion.
2016-09-10 20:16:28 +02:00
Marco Pivetta
5365a418e9 Removed non-existing CLASSNAME reference 2016-09-09 23:25:54 +02:00
Marco Pivetta
47ce079b64 Removing ::class usage (PHP 5.5 is not yet required on ORM 2.5) 2016-09-09 22:52:54 +02:00
Marco Pivetta
8e95672f49 Removing ::class usage (PHP 5.5 is not yet required on ORM 2.5) 2016-09-09 22:51:42 +02:00
Luís Cobucci
88567ea395 Evict query cache when entities are updated 2016-09-08 13:56:46 +02:00
Carl Vuorinen
33e23cdddb PR fixes (public properties & correct letter case in annotations) 2016-09-08 13:38:31 +02:00
Carl Vuorinen
dce0aeaa15 Create a failing test for issue #5989
Field with type=simple_array in a joined inheritance gets overridden by empty array in the hydrator
2016-09-08 13:38:18 +02:00
Marco Pivetta
aa6dc9695d #5975 minor test cleanups 2016-09-07 23:20:47 +02:00
Alexander Kurilo
6ab27993fc Use ::class const instead of FQCN string (#5762) 2016-09-07 23:20:27 +02:00
Alexander Kurilo
5eedccc22a Remove irrelevant accessors (#5762) 2016-09-07 23:20:22 +02:00
John Keller
592122fbcb add functional test and bug fix for issue #5762 2016-09-07 23:20:17 +02:00
Marco Pivetta
b183818fa8 #5867 s/::class/::CLASSNAME for PHP 5.4 compat 2016-06-19 12:48:15 +02:00
Marco Pivetta
2af84c6025 #5867 @group annotations, describing scenario 2016-06-19 12:47:05 +02:00
Marco Pivetta
f181cf6c6b #5867 simplifying test case by inlining all required models into the test case 2016-06-19 12:45:54 +02:00
Luís Cobucci
62431ae477 Allow the usage of embedded objects on parent classes.
The `ClassMetadataInfo` was always using the "current class" to
fetch the reflection of a property even when a field is declared
on the parent class (which causes `ReflectionProperty` to throw
an exception).
2016-06-19 12:45:47 +02:00
Guido Contreras Woda
5092da074a Test that reflects the issue described in http://www.doctrine-project.org/jira/browse/DDC-3967 2016-01-05 22:12:55 +01:00
Marco Pivetta
0086d17afe Common 2.6 compatibility
Internal structure of the ArrayCache has changed, therefore we should fix the tests depending on it instead
2015-12-25 15:24:32 +01:00
Marco Pivetta
66770c5bfe #1573 - correcting test asset namespace, removing unused properties and bi-directional association 2015-12-11 20:18:53 +01:00
Marco Pivetta
42691c21b4 Removing empty newline 2015-12-11 20:18:48 +01:00
bilouwan
e173c930ec Fix superflous whitespaces & empty lines 2015-12-11 20:18:25 +01:00
bilouwan
7071984559 Fix compatibility with php5.4 2015-12-11 20:18:19 +01:00
bilouwan
216c466233 Unit test & fix for merge versionned entity 2015-12-11 20:18:12 +01:00
Pantel
d606efd4eb [DDC-3711] add Test that check if the association key are composite 2015-11-09 03:46:06 +00:00
François-Xavier de Guillebon
1eb9c8a7f6 Added test 2015-11-07 10:35:08 -05:00
Matthias Pigulla
eaf8b1c7ca Fix tests related to caches, as per doctrine/cache 1.5.0 changes
Backports #1510
Fixes DDC-3908

dd47003641 removes the 'DoctrineNamespaceCacheKey[]' entry from the cache. Thus, all tests counting cache entries were off by one.
2015-09-19 10:44:47 +02:00
Bill Schaller
89eed31e79 Merge pull request #1463 from ehimen/paginate-order-by-subselect
Fixed issue when paginator orders by a subselect expression
Conflicts:
	tests/Doctrine/Tests/ORM/Tools/Pagination/LimitSubqueryOutputWalkerTest.php
2015-08-04 14:31:08 -04:00
Marco Pivetta
6bc405455e DDC-3699 - #1387 - leveraging the OrmFunctionalTestCase API 2015-07-15 21:52:25 +01:00
Marco Pivetta
173729e560 DDC-3699 - #1387 - catching specific exceptions 2015-07-15 21:52:20 +01:00
Marco Pivetta
86abbb0e78 DDC-3699 - #1387 - simpifying tests, clarifying on test method names 2015-07-15 21:52:16 +01:00
Lenard Palko
69ef75ff2d Added test cases for both one-to-one and one-to-many cases. 2015-07-15 21:52:08 +01:00
Matteo Beccati
786791b8fe Fix DDC767Test failing on php7 + pg94
The failure happens when running the full suite or even just:

phpunit tests/Doctrine/Tests/ORM/Functional/Ticket
2015-04-06 04:23:03 +01:00
Bill Schaller
aa4b2e59ce fix rare query test failures due to nondeterminism without order by clause 2015-04-05 00:10:11 +01:00
Kristopher Wilson
9d7aa9ba39 Adding failing test case for PaginationTest
The failure comes into play when an entity has an attribute named
differently from its corresponding column name.
2015-03-31 21:39:21 +01:00
Bill Schaller
608dfa2f57 Add more detection in LimitSubqueryWalker for conditions that must be handled by LimitSubqueryOutputWalker 2015-03-31 21:39:20 +01:00
Bill Schaller
edcc0fc024 Fix paginator when ordering by while selecting entities using joined table inheritance 2015-03-31 21:39:20 +01:00
Bill Schaller
af3f5c5c5a Add test for paginating on a query with a subquery in the where clause
Conflicts:
	tests/Doctrine/Tests/ORM/Tools/Pagination/LimitSubqueryOutputWalkerTest.php
2015-03-31 21:38:58 +01:00
Kristopher Wilson
a4aa18f796 test case for joined table inheritance pagination 2015-03-31 21:38:58 +01:00
Alexander Orabey
f92307d06d problem with LimitSubqueryOutputWalker when use InheritanceType
Conflicts:
	tests/Doctrine/Tests/OrmFunctionalTestCase.php
2015-03-31 21:36:32 +01:00
Bill Schaller
ff75a3ad49 Fix paginator issues when ordering by a joined column from a to-many association.
Manual merge testcase from #1351
2015-03-31 21:36:32 +01:00
Marco Pivetta
cf1ecffb14 Merge pull request #1339 from BenMorel/dqlcustomtype
[DDC-2224] Honor convertToDatabaseValueSQL() in DQL query parameters
2015-03-25 01:27:05 +00:00
Bill Schaller
147bdd8ede Fixed nitpicks from @stof 2015-03-24 00:25:12 +00:00
Bill Schaller
81ccd93b74 Add thorough functional tests for Paginator, expand existing ones. 2015-03-24 00:25:12 +00:00
Marco Pivetta
06998d015f Skipping DDC-3634 tests when a post-insert generator is unavailable 2015-03-24 00:20:03 +00:00
Marco Pivetta
70c8591bbe Merge pull request #1343 from karlrixon/master
Support embeddables in partial object query expression [DDC-3621]
2015-03-23 23:43:36 +00:00
Marco Pivetta
4c119c44a1 Completed test coverage for DDC-3634 2015-03-23 23:37:36 +00:00
Marco Pivetta
cbdf23ca65 Verifies that identifiers are kept as strings when dealing with large numbers 2015-03-23 23:29:22 +00:00
Karl Rixon
6070c9395d Functional tests for partial selection with embeddables [DDC-3630] 2015-03-23 15:44:06 +00:00
Marco Pivetta
3b0fb6b4b8 Merge pull request #1274 from doctrine/persistent-collection-as-lazy-collection
PersistentCollection now extends AbstractLazyCollection.
2015-03-17 23:32:17 +00:00
Marco Pivetta
1add0a04fa Merge pull request #1302 from goetas/pr1301
Store column values of not cache-able associations
2015-03-17 23:27:04 +00:00
Benjamin Morel
517cb7e2a2 Honor convertToDatabaseValueSQL() in DQL query parameters 2015-03-18 00:24:41 +01:00