From 3a9652b1fca862f4d73959a7d1ce94bf3bcbeb2c Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Thu, 23 Sep 2021 16:16:19 +0200 Subject: [PATCH] simplify SQL statement --- utils.go | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/utils.go b/utils.go index f340bd9..f4ded8f 100644 --- a/utils.go +++ b/utils.go @@ -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) }