mirror of
https://github.com/TagStudioDev/TagStudio.git
synced 2026-05-21 00:05:13 +00:00
perf: Optimize searching tags with DB indexes (#1129)
* perf: create sqlite indexes for common columns * perf: optimize Library.search_tags * fix(tag_search): do ordering before applying limit * tag_search: order shorter tag names first * update tests * cleanup * tag_search: use same sorting order when returning all tags * use dict for deduplicating tags * fix(tag_search): return descendants instead of ancestors * perf(tag_search): remove slow calls to method `Library.tags`
This commit is contained in:
@@ -130,10 +130,10 @@ def test_library_search(library: Library, entry_full: Entry):
|
||||
def test_tag_search(library: Library):
|
||||
tag = library.tags[0]
|
||||
|
||||
assert library.search_tags(tag.name.lower())
|
||||
assert library.search_tags(tag.name.upper())
|
||||
assert library.search_tags(tag.name[2:-2])
|
||||
assert library.search_tags(tag.name * 2) == [set(), set()]
|
||||
assert library.search_tags(tag.name.lower())[0]
|
||||
assert library.search_tags(tag.name.upper())[0]
|
||||
assert library.search_tags(tag.name[2:-2])[0]
|
||||
assert library.search_tags(tag.name * 2) == ([], [])
|
||||
|
||||
|
||||
def test_get_entry(library: Library, entry_min: Entry):
|
||||
|
||||
Reference in New Issue
Block a user