feat: optimize the FindUnreferencedPackages package query
Replace a double select with a simple select. The complication originates from the initial implementation which deleted packages instead of selecting them. It was justified to workaround a problem in MySQL. But it is just a waste of resources when collecting a list of IDs.
This commit is contained in:
parent
dac78913aa
commit
ff6aceaeac
3 changed files with 18 additions and 16 deletions
|
@ -154,15 +154,15 @@ func CleanupExpiredData(outerCtx context.Context, olderThan time.Duration) error
|
|||
return err
|
||||
}
|
||||
|
||||
ps, err := packages_model.FindUnreferencedPackages(ctx)
|
||||
pIDs, err := packages_model.FindUnreferencedPackages(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, p := range ps {
|
||||
if err := packages_model.DeleteAllProperties(ctx, packages_model.PropertyTypePackage, p.ID); err != nil {
|
||||
for _, pID := range pIDs {
|
||||
if err := packages_model.DeleteAllProperties(ctx, packages_model.PropertyTypePackage, pID); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := packages_model.DeletePackageByID(ctx, p.ID); err != nil {
|
||||
if err := packages_model.DeletePackageByID(ctx, pID); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue