Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-1314

DQL permits partial select using SQL

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Duplicate
    • Affects Version/s: 2.1
    • Fix Version/s: 3.0
    • Component/s: DQL
    • Security Level: All
    • Labels:
      None
    • Environment:
      Mac OS X 10.6.7, PHP 5.3.5, Doctrine 2.1.0

      Description

      The following code is not correct DQL and should (I think?) throw an error:

      $query = $em->createQuery("SELECT g.id, g.name FROM Entity\Group g ORDER BY g.name ASC");

      ...to force the user to use SELECT partial g.

      {id,name}

      ...

      Instead, it causes very funny behaviour. eg. when iterating, objects are passed to the foreach in the following pattern:

      $groups = $query->iterate();
      foreach(...) {
      1st time: $groups = array( [0] => object )
      2nd time: $groups = array( [1] => object )
      3rd time: $groups = array( [2] => object )
      }

        Issue Links

          Activity

          Hide
          Benjamin Eberlei added a comment -

          The incrementation of the return value is a bug, but SELECT g.id, g.name is valid DQL. You hydrate the values as scalars. What is funny is why it even returns an object in this case.

          Show
          Benjamin Eberlei added a comment - The incrementation of the return value is a bug, but SELECT g.id, g.name is valid DQL. You hydrate the values as scalars. What is funny is why it even returns an object in this case.
          Hide
          Guilherme Blanco added a comment -

          Added failing test case.
          Currently it is not easily doable without larger refactoring of Hydrators.
          I'll keep this opened, but my 2 attempts failed.

          Show
          Guilherme Blanco added a comment - Added failing test case. Currently it is not easily doable without larger refactoring of Hydrators. I'll keep this opened, but my 2 attempts failed.
          Hide
          Guilherme Blanco added a comment -

          Scheduled for 3.0 since we're going to refactor the hydrators

          Show
          Guilherme Blanco added a comment - Scheduled for 3.0 since we're going to refactor the hydrators
          Hide
          Benjamin Eberlei added a comment -

          Duplicate of DDC-2133 (better description)

          Show
          Benjamin Eberlei added a comment - Duplicate of DDC-2133 (better description)

            People

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

              Dates

              • Created:
                Updated:
                Resolved: