Defect #32404

Group results is different between MySQL and PostgreSQL

Added by Simon Hori over 3 years ago. Updated about 3 years ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:


Category:Issues filter
Target version:-
Resolution: Affected version:


Recently we've migrated a huge DB from MySQL to PostgreSQL. And noticed a small difference with Group results by function.

As you see the screenshot below, MySQL shows (blank) group first but PostgreSQL shows (blank) group last.

I guess it is because `NULLS LAST` is the default for ASC order in PostgreSQL.
Can you enforce `NULLS FIRST` in the SQL query to postgres?

We believe that it would be very much appreciated since many of our users want to group issues by assignee to find unassigned issues. Also it would be nice if Redmine works consistently irrespective of db engines.

  Redmine version                3.4.11.stable
  Ruby version                   2.4.6-p354 (2019-04-01) [x86_64-linux]
  Rails version        
  Database adapter               PostgreSQL

Thank you.

PostgreSQL-MySQL-NULL.png (94.8 KB) Simon Hori, 2019-11-04 15:28

Related issues

Related to Redmine - Patch #25066: Sort order with null placement (NULLS FIRST, NULLS LAST) New


#1 Updated by Simon Hori over 3 years ago

I found a patch #25066 which is for a similar point but it is doing more than fixing the diff.

#2 Updated by Marius BALTEANU over 3 years ago

  • Related to Patch #25066: Sort order with null placement (NULLS FIRST, NULLS LAST) added

#3 Updated by Yuichi HARADA about 3 years ago
I think the reason why the test failed with TimelogControllerTest#test_index_grouped_by_issue is the same.

Also available in: Atom PDF