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.

        Issue Links

          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 ]
          Marco Pivetta made changes -
          Link This issue is referenced by DDC-3368 [ DDC-3368 ]

          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: