Feature Request
What
DQL supports 2 kinds of joins:
- relation joins, which can either load the full relation or apply an adhoc condition with
WITH
- arbitrary joins, which today also use the
WITH keyword, even though the conditions in this case have exactly the same semantic than the ON conditions of SQL joins
This is about changing that second case (not changing the first one) to support ON as keyword and deprecating the support of WITH for that case
Why
This inconsistency with SQL causes lots of confusion in the ecosystem. The fact that Expr\Join has a ON constant while DQL did not support parsing it causes even more confusion when using the QueryBuilder.
See #7891 and #3544,
How
Change the parsing of JOIN to distinguish the 2 kinds of joins in the handling of conditions.