From 4c019ca19c365f6d0d66ec4a9d3db105624e83d6 Mon Sep 17 00:00:00 2001 From: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com> Date: Sat, 11 Jan 2025 06:24:54 -0800 Subject: [PATCH] fix: remove unnecessary joins in search --- tagstudio/src/core/library/alchemy/library.py | 4 ---- tagstudio/tests/test_library.py | 19 ------------------- 2 files changed, 23 deletions(-) diff --git a/tagstudio/src/core/library/alchemy/library.py b/tagstudio/src/core/library/alchemy/library.py index ecbe9304..5c819435 100644 --- a/tagstudio/src/core/library/alchemy/library.py +++ b/tagstudio/src/core/library/alchemy/library.py @@ -585,19 +585,15 @@ class Library: elif extensions: statement = statement.where(Entry.suffix.in_(extensions)) - statement = statement.options( selectinload(Entry.text_fields), selectinload(Entry.datetime_fields), - selectinload(Entry.tags).options( selectinload(Tag.aliases), selectinload(Tag.parent_tags) ), ) statement = statement.distinct(Entry.id) - query_count = select(func.count()).select_from(statement.alias("entries")) count_all: int = session.execute(query_count).scalar() - statement = statement.limit(search.limit).offset(search.offset) logger.info( diff --git a/tagstudio/tests/test_library.py b/tagstudio/tests/test_library.py index ad4321fa..3f0f3ce2 100644 --- a/tagstudio/tests/test_library.py +++ b/tagstudio/tests/test_library.py @@ -101,25 +101,6 @@ def test_tag_self_parent(library, generate_tag): assert len(tag.parent_ids) == 0 -def test_library_search(library, generate_tag, entry_full): - assert library.entries_count == 2 - tag = list(entry_full.tags)[0] - - results = library.search_library( - FilterState.from_tag_name(tag.name), - ) - - assert results.total_count == 1 - assert len(results) == 1 - - entry = results[0] - assert {x.name for x in entry.tags} == { - "foo", - } - - assert entry.tags - - def test_tag_search(library): tag = library.tags[0]