Par2 size matching 100x faster; release bookkeeping once per statement
matchPar2Releases checked every same-size release_files row's set and date (18 s per batch of body-derived binaries); now an index on release_files (release_id, size) drops the repeated sizes first: 0.16 s. File inserts updated their release in four row triggers; one statement trigger now updates each release once per INSERT. Completeness is noted in release_dirty and recomputed by gc:scheduler every 30 minutes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
288a6bab8d
commit
be2112f4ad
9 files changed
+208
-11
No files matched your search
@@ -391,6 +391,13 @@ export class PartSchema extends BaseModel {
|
||||
declare pcrc32: string | null
|
||||
}
|
||||
|
||||
export class ReleaseDirtySchema extends BaseModel {
|
||||
static $columns = ['releaseId'] as const
|
||||
$columns = ReleaseDirtySchema.$columns
|
||||
@column()
|
||||
declare releaseId: bigint | number
|
||||
}
|
||||
|
||||
export class ReleaseFileSchema extends BaseModel {
|
||||
static $columns = ['md5', 'md516K', 'name', 'par2FileId', 'releaseId', 'setId', 'size'] as const
|
||||
$columns = ReleaseFileSchema.$columns
|
||||
|
||||
Reference in new issue
Block a user