Open jwgmeligmeyling opened 4 years ago
We already support select aliases for order by, yes. There are a few things for this we have to take care of though. The implicit group by generation should obviously also make use of aliases if possible. We have a de-duplication in place for group bys which should probably also work on expression level rather than alias level.
I am getting back into TimescaleDB again, so I am considering to pick this issue up.
Any pointers for classes I should have a look at? (i.e. where the same behaviour for order by is currently implemented?)
com.blazebit.persistence.impl.OrderByManager#buildOrderBy
is handling the rendering to aliases, but it's a bit involved 😅
You'd have to implement something similar for com.blazebit.persistence.impl.GroupByManager#buildGroupBy
Just scribbling down a couple of notes that were still lying around my desk
Description
Since Hibernate 5.4.10 (HHH-9301) Hibernate supports grouping by select aliases - similar to ordering by select aliases - for dialects that support it (AFAIK H2, MySQL and PostgreSQL).
It would be nice if we could pass these aliases through for combinations of dialects and ORMs that do support it. Do we already allow aliases from the select clause in the order by clause?
A complicating factor here might be the nullability and uniqueness checks derived from the group by expressions. This case should probably be treated specially.
Expected behavior
Actual behavior
Steps to reproduce
Environment
Version:
JPA-Provider: Hibernate 5.4.10 DBMS: PostgreSQL, H2, MySQL Application Server: