Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-1392

Merge for not initialized entity proxy object with set ID fails

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.1
    • Fix Version/s: 2.1.2
    • Component/s: ORM
    • Security Level: All
    • Labels:
      None

      Description

      Problem is that UnitOfWork::doMerge() calls ClassMetadata::getIdentifierValues() for the entity but that function doesn't have case for not initialized proxy. It just reads the Id properties from the object's reflection.

      It should load the proxy or get the ID stored inside the proxy object or doMerge must initialize it maybe.

        Activity

        Aigars Gedroics created issue -
        Hide
        Aigars Gedroics added a comment -

        I have taken the DDC353 test as the base for this test case.
        Hopefully it works because I have executed it in slightly different version without the Doctrine tests environment.

        Show
        Aigars Gedroics added a comment - I have taken the DDC353 test as the base for this test case. Hopefully it works because I have executed it in slightly different version without the Doctrine tests environment.
        Aigars Gedroics made changes -
        Field Original Value New Value
        Attachment DDC1392Test.php [ 11066 ]
        Hide
        Benjamin Eberlei added a comment -

        Fixed

        Show
        Benjamin Eberlei added a comment - Fixed
        Benjamin Eberlei made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 2.1.2 [ 10154 ]
        Resolution Fixed [ 1 ]
        Hide
        Aigars Gedroics added a comment -

        I would put the changes inside the method getIdentifierValues not before it's execution.

        Isn't it plausible that it is called with not initialized proxy from somewhere else?

        Show
        Aigars Gedroics added a comment - I would put the changes inside the method getIdentifierValues not before it's execution. Isn't it plausible that it is called with not initialized proxy from somewhere else?
        Benjamin Eberlei made changes -
        Workflow jira [ 13038 ] jira-feedback [ 15039 ]
        Benjamin Eberlei made changes -
        Workflow jira-feedback [ 15039 ] jira-feedback2 [ 16903 ]
        Benjamin Eberlei made changes -
        Workflow jira-feedback2 [ 16903 ] jira-feedback3 [ 19156 ]

        This list may be incomplete, as errors occurred whilst retrieving source from linked applications:

        • Request to http://www.doctrine-project.org/fisheye/ failed: Error in remote call to 'FishEye 0 (http://www.doctrine-project.org/fisheye/)' (http://www.doctrine-project.org/fisheye) [AbstractRestCommand{path='/rest-service-fe/search-v1/crossRepositoryQuery', params={query=DDC-1392, expand=changesets[0:20].revisions[0:29],reviews}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Aigars Gedroics
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: