fix: always sort nulls last

This commit is contained in:
kolaente 2022-05-28 11:04:50 +02:00
parent 34275d9178
commit 9421f1848f
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
1 changed files with 2 additions and 12 deletions

View File

@ -301,12 +301,7 @@ func getRawTasksForLists(s *xorm.Session, lists []*List, a web.Auth, opts *taskO
// Because it does not have support for NULLS FIRST or NULLS LAST we work around this by
// first sorting for null (or not null) values and then the order we actually want to.
if db.Type() == schemas.MYSQL {
if param.orderBy == orderAscending {
orderby += param.sortBy + " IS NULL, "
}
if param.orderBy == orderDescending {
orderby += param.sortBy + " IS NOT NULL, "
}
orderby += param.sortBy + " IS NULL, "
}
orderby += param.sortBy + " " + param.orderBy.String()
@ -314,12 +309,7 @@ func getRawTasksForLists(s *xorm.Session, lists []*List, a web.Auth, opts *taskO
// Postgres and sqlite allow us to control how columns with null values are sorted.
// To make that consistent with the sort order we have and other dbms, we're adding a separate clause here.
if db.Type() == schemas.POSTGRES || db.Type() == schemas.SQLITE {
if param.orderBy == orderAscending {
orderby += " NULLS LAST"
}
if param.orderBy == orderDescending {
orderby += " NULLS FIRST"
}
orderby += " NULLS LAST"
}
if (i + 1) < len(opts.sortby) {