1
0
forked from ALHP/ALHP.GO

simplify SQL statement

This commit is contained in:
2021-09-23 16:16:19 +02:00
parent 8612837c43
commit 3a9652b1fc

View File

@@ -409,30 +409,15 @@ func getPkgbaseFromPkgfile(pkg string) (*ent.DbPackage, error) {
dbLock.RLock()
defer dbLock.RUnlock()
dbPkg, dbErr := db.DbPackage.Query().Where(dbpackage.Pkgbase(pkgname)).Only(context.Background())
if dbErr != nil {
switch dbErr.(type) {
case *ent.NotFoundError:
log.Debugf("Not found as a pkgbase: %s. Assuming split-package", pkgname)
break
default:
log.Errorf("Problem querying db for package %s: %v", pkgname, dbErr)
}
} else {
return dbPkg, nil
}
// search in split-packages
dbPkg, dbErr = db.DbPackage.Query().Where(func(s *sql.Selector) {
s.Where(sqljson.ValueContains(dbpackage.FieldPackages, sqljson.Path(pkgname)))
dbPkg, dbErr := db.DbPackage.Query().Where(func(s *sql.Selector) {
s.Where(sqljson.ValueContains(dbpackage.FieldPackages, pkgname)).Or().Where(sql.EQ(s.C(dbpackage.FieldPkgbase), pkgname))
}).Only(context.Background())
if dbErr != nil {
switch dbErr.(type) {
case *ent.NotFoundError:
log.Warningf("Not a split-package: %s: Package not found!", pkgname)
break
log.Debugf("Not found in database: %s", pkgname)
return nil, fmt.Errorf("package not found in DB: %s", pkgname)
default:
log.Errorf("Problem querying db for package %s: %v", pkgname, dbErr)
}