mirror of
https://github.com/doctrine/orm.git
synced 2026-03-23 22:42:18 +01:00
DDC-2208: CASE WHEN ... WHEN doesn't work #2776
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @doctrinebot on GitHub (Dec 19, 2012).
Originally assigned to: @guilhermeblanco on GitHub.
Jira issue originally created by user mvrhov:
Having the following part in select DQL throws an exception.
exception:
It seems that it's failing inside the second THEN
This one also seems to fail:
exception:
Another one:
exception:
@doctrinebot commented on GitHub (Dec 20, 2012):
Comment created by mvrhov:
I've added two more cases where the parsing fails. Do you want a separate tickets for that?
@doctrinebot commented on GitHub (Dec 20, 2012):
Comment created by @FabioBatSilva:
Don't worry, I'll spend some time over this...
But I'm not sure about the last one.
@doctrinebot commented on GitHub (Dec 20, 2012):
Comment created by mvrhov:
The 3rd case seems work just fine as a part of a HAVING clause.
I haven't tried it but It might be that it fails with something simpler like SELECT COUNT( ** ) = :foo FROM ... or SELECT COUNT( ** ) = 2 FROM ...
@doctrinebot commented on GitHub (Jan 8, 2013):
Comment created by mvrhov:
Fabio I have two more...
It doesn't like NULL and subselect after then part
:edit replaced with real query
@doctrinebot commented on GitHub (Jan 8, 2013):
Comment created by mvrhov:
addon: well the subquery part can be full query with joins ....
@doctrinebot commented on GitHub (May 22, 2013):
Comment created by @guilhermeblanco:
After further investigation, JPA 2.0 and 2.1 do not support NULL as part of ScalarExpression.
There are many underlying problems by adding this straight to ScalarExpression, such as the example I showed.
I don't think supporting this will bring benefits, but too many headaches.
As a workaround, create your own function that generates "NULL" as SQL. It would work perfectly here.
Closing the PR as we will not support it.
@doctrinebot commented on GitHub (May 22, 2013):
Issue was closed with resolution "Won't Fix"
@doctrinebot commented on GitHub (May 22, 2013):
Comment created by mvrhov:
Not to sound rude but, the answer is far fetched. So what if JPA is not supporting it. Yes I understand that the Doctrine is modeled after JPA but this shouldn't mean that it's not better in some regards.
This is really a low blow especially if there is a need to use a query builder to build the queries. And as I said it's not only the IS NULL but the CASE statement can contain a whole subquery with it's own CASE statements etc...