mirror of
https://github.com/stashapp/stash.git
synced 2026-05-09 05:05:29 +02:00
Replaces the per-file SQL QueryForAutoTag prefilter with an in-memory
2-rune prefix index over performers/studios/tags, preloaded once at job
start. Also:
- runs file processing through job.TaskQueue so scenes/images/
galleries tag in parallel instead of one file at a time
- keyset-paginates the query loop so batch N+1 doesn't pay the
O(offset) scan past large tables
- bulk-loads studio/tag aliases via a new optional AllAliasLoader
interface, avoiding N+1 GetAliases calls during preload
- caches compiled name regexps (same candidate names repeat across
thousands of files)
- hoists strings.ToLower(path) and allASCII(path) out of the per-
candidate match loop
- opens a fresh write txn per applied match instead of holding one
for every tagger phase
Tagger gains *AtPath methods that own the cache + txn manager, letting
the task code stay slim.
|
||
|---|---|---|
| .. | ||
| exec | ||
| ffmpeg | ||
| file | ||
| fsutil | ||
| gallery | ||
| group | ||
| hash | ||
| image | ||
| javascript | ||
| job | ||
| logger | ||
| match | ||
| models | ||
| performer | ||
| pkg | ||
| plugin | ||
| python | ||
| savedfilter | ||
| scene | ||
| scraper | ||
| session | ||
| sliceutil | ||
| sqlite | ||
| stashbox | ||
| studio | ||
| tag | ||
| txn | ||
| utils | ||