Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-1696

String support in THEN and ELSE part of CASE expression is broken

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.2
    • Fix Version/s: 2.3
    • Component/s: DQL
    • Security Level: All
    • Labels:
      None

      Description

      The SQL generated when using strings in the THEN and ELSE parts of the CASE expression are not valid.

      This testcase will fail:
      $this->assertSqlGeneration(
      "SELECT g.id, CASE WHEN ((g.id / 2) > 18) THEN 'Foo' ELSE 'Bar' END AS test FROM Doctrine\Tests\Models\CMS\CmsGroup g",
      "SELECT c0_.id AS id0, CASE WHEN (c0_.id / 2 > 18) THEN 'Foo' ELSE 'Bar' END AS sclr1 FROM cms_groups c0_"
      );

      Noticed by a user at github:
      https://github.com/doctrine/doctrine2/pull/277
      https://github.com/doctrine/doctrine2/pull/278

        Activity

        Hide
        Guilherme Blanco added a comment -
        Show
        Guilherme Blanco added a comment - Fixed by https://github.com/doctrine/doctrine2/commit/795438670517cd7a4e76bca6dd33fdc9bbb5d988 @beberlei please merge in 2.2! =D

          People

          • Assignee:
            Guilherme Blanco
            Reporter:
            Alexander
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: