From 12b6b530e6577509192a9e88068872ab50485619 Mon Sep 17 00:00:00 2001 From: racerand Date: Tue, 2 Dec 2025 03:09:06 +0100 Subject: [PATCH] fix (sql): Use more optimal SQL --- src/tagstudio/core/library/alchemy/library.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/tagstudio/core/library/alchemy/library.py b/src/tagstudio/core/library/alchemy/library.py index 1ce4fc85f..8574c48f0 100644 --- a/src/tagstudio/core/library/alchemy/library.py +++ b/src/tagstudio/core/library/alchemy/library.py @@ -1041,7 +1041,11 @@ def search_library( ast = search.ast if not search.show_hidden_entries: - statement = statement.where(~Entry.tags.any(Tag.is_hidden)) + hidden_tag_ids = select(Tag.id).where(Tag.is_hidden) + hidden_entry_ids = select(TagEntry.entry_id).where( + TagEntry.tag_id.in_(hidden_tag_ids) + ) + statement = statement.where(Entry.id.not_in(hidden_entry_ids)) if ast: start_time = time.time()