Source File
clean.go
Belonging Package
golang.org/x/pkgsite/internal/postgres
package postgres
import (
)
type ModuleVersion struct {
ModulePath string
Version string
}
func ( ModuleVersion) () string {
return .ModulePath + "@" + .Version
}
:= `
SELECT module_path, version
FROM modules
WHERE version_type = 'pseudo'
AND CURRENT_TIMESTAMP - updated_at > make_interval(days => $1)
EXCEPT (
SELECT p.path, l.good_version
FROM latest_module_versions l
INNER JOIN paths p ON p.id = l.module_path_id
WHERE good_version != ''
)
EXCEPT (
SELECT module_path, version
FROM search_documents
)
EXCEPT (
SELECT module_path, resolved_version
FROM version_map
WHERE requested_version IN ('master', 'main')
)
LIMIT $2
`
= .db.RunQuery(, , func( *sql.Rows) error {
var ModuleVersion
if := .Scan(&.ModulePath, &.Version); != nil {
return
}
= append(, )
return nil
}, , )
if != nil {
return nil,
}
return , nil
}
func ( *DB) ( context.Context, []ModuleVersion, string) ( error) {
defer derrors.Wrap(&, "CleanModuleVersions(%d modules)", len())
:= derrors.ToStatus(derrors.Cleaned)
for , := range {
if := .UpdateModuleVersionStatus(, .ModulePath, .Version, , ); != nil {
return
}
if := .DeleteModule(, .ModulePath, .Version); != nil {
return
}
}
return nil
}
func ( *DB) ( context.Context, , string) ( error) {
defer derrors.Wrap(&, "CleanModule(%q)", )
var []ModuleVersion
= .db.RunQuery(, `
SELECT version
FROM modules
WHERE module_path = $1
`, func( *sql.Rows) error {
var string
if := .Scan(&); != nil {
return
}
= append(, ModuleVersion{, })
return nil
}, )
if != nil {
return
}
return .CleanModuleVersions(, , )
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |