From 849a368d3d119cd068374af3c3a908d81d8c88f1 Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Fri, 20 Jun 2025 16:03:56 +1000 Subject: [PATCH] Fix ordering of tags (#5945) --- pkg/sqlite/tables.go | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/pkg/sqlite/tables.go b/pkg/sqlite/tables.go index c6ab6a4d4..3b0cbe094 100644 --- a/pkg/sqlite/tables.go +++ b/pkg/sqlite/tables.go @@ -74,7 +74,9 @@ var ( table: imagesTagsJoinTable, idColumn: imagesTagsJoinTable.Col(imageIDColumn), }, - fkColumn: imagesTagsJoinTable.Col(tagIDColumn), + fkColumn: imagesTagsJoinTable.Col(tagIDColumn), + foreignTable: tagTableMgr, + orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), } imagesPerformersTableMgr = &joinTable{ @@ -112,7 +114,9 @@ var ( table: galleriesTagsJoinTable, idColumn: galleriesTagsJoinTable.Col(galleryIDColumn), }, - fkColumn: galleriesTagsJoinTable.Col(tagIDColumn), + fkColumn: galleriesTagsJoinTable.Col(tagIDColumn), + foreignTable: tagTableMgr, + orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), } galleriesPerformersTableMgr = &joinTable{ @@ -168,7 +172,9 @@ var ( table: scenesTagsJoinTable, idColumn: scenesTagsJoinTable.Col(sceneIDColumn), }, - fkColumn: scenesTagsJoinTable.Col(tagIDColumn), + fkColumn: scenesTagsJoinTable.Col(tagIDColumn), + foreignTable: tagTableMgr, + orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), } scenesPerformersTableMgr = &joinTable{ @@ -274,7 +280,9 @@ var ( table: performersTagsJoinTable, idColumn: performersTagsJoinTable.Col(performerIDColumn), }, - fkColumn: performersTagsJoinTable.Col(tagIDColumn), + fkColumn: performersTagsJoinTable.Col(tagIDColumn), + foreignTable: tagTableMgr, + orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), } performersStashIDsTableMgr = &stashIDTable{ @@ -304,7 +312,9 @@ var ( table: studiosTagsJoinTable, idColumn: studiosTagsJoinTable.Col(studioIDColumn), }, - fkColumn: studiosTagsJoinTable.Col(tagIDColumn), + fkColumn: studiosTagsJoinTable.Col(tagIDColumn), + foreignTable: tagTableMgr, + orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), } studiosStashIDsTableMgr = &stashIDTable{ @@ -336,7 +346,7 @@ var ( }, fkColumn: tagRelationsJoinTable.Col(tagParentIDColumn), foreignTable: tagTableMgr, - orderBy: tagTableMgr.table.Col("name").Asc(), + orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), } tagsChildTagsTableMgr = *tagsParentTagsTableMgr.invert() @@ -363,7 +373,7 @@ var ( }, fkColumn: groupsTagsJoinTable.Col(tagIDColumn), foreignTable: tagTableMgr, - orderBy: tagTableMgr.table.Col("name").Asc(), + orderBy: goqu.COALESCE(tagTableMgr.table.Col("sort_name"), tagTableMgr.table.Col("name")).Asc(), } groupRelationshipTableMgr = &table{