Uploaded image for project: 'Doctrine 2 - ORM'
  1. Doctrine 2 - ORM
  2. DDC-546

New fetch mode EXTRA_LAZY for collections

    Details

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

      Description

      A new fetch mode EXTRA_LAZY for one-to-many and many-to-many associations could have the following effects on PersistentCollection methods:

      • count() : Does not initialize the collection but issues a straight SQL count query.
      • remove($key) : Does not initialize the collection but issues straight SQL instead.
      • removeElement($element) : Does not initialize the collection but issues straight SQL instead.
      • contains($element) : Does not initialize the collection but issues straight SQL instead.
      • containsKey($key) : Does not initialize the collection but issues straight SQL instead.

      This mode would usually be useful for (potentially) large collections.

      We need to work out concrete use-case examples and implementation proposals before implementation.

      The semantics of the mentioned methods with EXTRA_LAZY need to be carefully worked out, i.e. what happens to already managed instances in case of the remove operations and stuff like that.

        Issue Links

          Activity

          romanb Roman S. Borschel created issue -
          romanb Roman S. Borschel made changes -
          Field Original Value New Value
          Description A new fetch mode EXTRA_LAZY for one-to-many and many-to-many associations could have the following effects on PersistentCollection methods:

           * count() : Does not initialize the collection but issues a straight SQL count query.
           * remove($key) : Does not initialize the collection but issues straight SQL instead.
           * removeElement($element) : Does not initialize the collection but issues straight SQL instead.
           * contains($element) : Does not initialize the collection but issues straight SQL instead.
           * containsKey($key) : Does not initialize the collection but issues straight SQL instead.

          This mode would usually be useful for (potentially) large collections.

          We need to work out concrete use-case examples and implementation proposals before implementation.
          A new fetch mode EXTRA_LAZY for one-to-many and many-to-many associations could have the following effects on PersistentCollection methods:

           * count() : Does not initialize the collection but issues a straight SQL count query.
           * remove($key) : Does not initialize the collection but issues straight SQL instead.
           * removeElement($element) : Does not initialize the collection but issues straight SQL instead.
           * contains($element) : Does not initialize the collection but issues straight SQL instead.
           * containsKey($key) : Does not initialize the collection but issues straight SQL instead.

          This mode would usually be useful for (potentially) large collections.

          We need to work out concrete use-case examples and implementation proposals before implementation.

          The semantics of the mentioned methods with EXTRA_LAZY need to be carefully worked out, i.e. what happens to already managed instances in case of the remove operations and stuff like that.
          romanb Roman S. Borschel made changes -
          Fix Version/s 2.0-BETA3 [ 10060 ]
          Fix Version/s 2.0-BETA2 [ 10050 ]
          beberlei Benjamin Eberlei made changes -
          Link This issue is referenced by DDC-80 [ DDC-80 ]
          romanb Roman S. Borschel made changes -
          Fix Version/s 2.0-BETA4 [ 10072 ]
          Fix Version/s 2.0-BETA3 [ 10060 ]
          romanb Roman S. Borschel made changes -
          Fix Version/s 2.1 [ 10022 ]
          Fix Version/s 2.0-BETA4 [ 10072 ]
          beberlei Benjamin Eberlei made changes -
          Assignee Roman S. Borschel [ romanb ] Benjamin Eberlei [ beberlei ]
          beberlei Benjamin Eberlei made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          beberlei Benjamin Eberlei made changes -
          Link This issue relates to DDC-128 [ DDC-128 ]
          beberlei Benjamin Eberlei made changes -
          Status In Progress [ 3 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          beberlei Benjamin Eberlei made changes -
          Workflow jira [ 11277 ] jira-feedback [ 14403 ]
          beberlei Benjamin Eberlei made changes -
          Workflow jira-feedback [ 14403 ] jira-feedback2 [ 16267 ]
          beberlei Benjamin Eberlei made changes -
          Workflow jira-feedback2 [ 16267 ] jira-feedback3 [ 18520 ]

            People

            • Assignee:
              beberlei Benjamin Eberlei
              Reporter:
              romanb Roman S. Borschel
            • Votes:
              3 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: