From d3f630110135978d6568ced3e151a53d8e6498df Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Mon, 13 Oct 2025 13:13:45 +1100 Subject: [PATCH] Use natural sort for related tags (#6128) --- pkg/sqlite/tables.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkg/sqlite/tables.go b/pkg/sqlite/tables.go index 3b0cbe094..8d798d913 100644 --- a/pkg/sqlite/tables.go +++ b/pkg/sqlite/tables.go @@ -76,7 +76,7 @@ var ( }, fkColumn: imagesTagsJoinTable.Col(tagIDColumn), foreignTable: tagTableMgr, - orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), + orderBy: tagTableSort, } imagesPerformersTableMgr = &joinTable{ @@ -116,7 +116,7 @@ var ( }, fkColumn: galleriesTagsJoinTable.Col(tagIDColumn), foreignTable: tagTableMgr, - orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), + orderBy: tagTableSort, } galleriesPerformersTableMgr = &joinTable{ @@ -174,7 +174,7 @@ var ( }, fkColumn: scenesTagsJoinTable.Col(tagIDColumn), foreignTable: tagTableMgr, - orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), + orderBy: tagTableSort, } scenesPerformersTableMgr = &joinTable{ @@ -282,7 +282,7 @@ var ( }, fkColumn: performersTagsJoinTable.Col(tagIDColumn), foreignTable: tagTableMgr, - orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), + orderBy: tagTableSort, } performersStashIDsTableMgr = &stashIDTable{ @@ -314,7 +314,7 @@ var ( }, fkColumn: studiosTagsJoinTable.Col(tagIDColumn), foreignTable: tagTableMgr, - orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), + orderBy: tagTableSort, } studiosStashIDsTableMgr = &stashIDTable{ @@ -331,6 +331,9 @@ var ( idColumn: goqu.T(tagTable).Col(idColumn), } + // formerly: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc() + tagTableSort = goqu.L("COALESCE(tags.sort_name, tags.name) COLLATE NATURAL_CI").Asc() + tagsAliasesTableMgr = &stringTable{ table: table{ table: tagsAliasesJoinTable, @@ -346,7 +349,7 @@ var ( }, fkColumn: tagRelationsJoinTable.Col(tagParentIDColumn), foreignTable: tagTableMgr, - orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), + orderBy: tagTableSort, } tagsChildTagsTableMgr = *tagsParentTagsTableMgr.invert() @@ -373,7 +376,7 @@ var ( }, fkColumn: groupsTagsJoinTable.Col(tagIDColumn), foreignTable: tagTableMgr, - orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), + orderBy: tagTableSort, } groupRelationshipTableMgr = &table{