Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-952

Several features to batch eager selects more efficently

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.2
    • Component/s: ORM
    • Security Level: All
    • Labels:
      None

      Description

      This ticket aggregates several strategies to optimize batching of eager selects.

        Activity

        Benjamin Eberlei created issue -
        Hide
        Benjamin Eberlei added a comment - - edited

        Requirements for batching of eager loads:

        1. Since we are using an IN() query for this we can only support this feature for entities that have a single column primary key.
        2. If we want to support composite keys we need to build it as WHERE ( (id1 = ? AND id2 = ?) OR (id1 = ? AND id2 = ?)) but this is currently not possible with the way how internally the $criteria array is used.

        Show
        Benjamin Eberlei added a comment - - edited Requirements for batching of eager loads: 1. Since we are using an IN() query for this we can only support this feature for entities that have a single column primary key. 2. If we want to support composite keys we need to build it as WHERE ( (id1 = ? AND id2 = ?) OR (id1 = ? AND id2 = ?)) but this is currently not possible with the way how internally the $criteria array is used.
        Hide
        Benjamin Eberlei added a comment -

        Next item to think about: What if an exception or event breaks the flow and "triggerEagerLoads()" is never called?

        Show
        Benjamin Eberlei added a comment - Next item to think about: What if an exception or event breaks the flow and "triggerEagerLoads()" is never called?
        Benjamin Eberlei made changes -
        Field Original Value New Value
        Fix Version/s 2.x [ 10090 ]
        Fix Version/s 2.1 [ 10022 ]
        Benjamin Eberlei made changes -
        Workflow jira [ 12257 ] jira-feedback [ 13895 ]
        Benjamin Eberlei made changes -
        Workflow jira-feedback [ 13895 ] jira-feedback2 [ 15759 ]
        Benjamin Eberlei made changes -
        Workflow jira-feedback2 [ 15759 ] jira-feedback3 [ 18016 ]
        Benjamin Eberlei made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 2.2 [ 10157 ]
        Fix Version/s 2.x [ 10090 ]
        Resolution Fixed [ 1 ]

        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-952, expand=changesets[0:20].revisions[0:29],reviews}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Benjamin Eberlei
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: