app/imageoper, app/maindb: one image - one arch; app/storage: blob to name subdir

This commit is contained in:
2026-03-17 09:40:53 +02:00
parent 13b1905e05
commit 791e04cdf1
28 changed files with 680 additions and 569 deletions
+3 -3
View File
@@ -103,12 +103,12 @@ func (db *Database) GetBlobsByReferense(ctx context.Context, name, reference str
return blobs, err
}
func (db *Database) GetBlobUsage(ctx context.Context, digest string) (int64, error) {
func (db *Database) GetBlobUsage(ctx context.Context, name, digest string) (int64, error) {
var err error
var usage int64
count := make([]int64, 0)
request := `SELECT count(id) AS count FROM blobs WHERE digest = $1`
err = db.db.Select(&count, request, digest)
request := `SELECT count(id) AS count FROM blobs WHERE name = $1 AND digest = $2`
err = db.db.Select(&count, request, name, digest)
if err != nil {
return usage, err
}
+6 -5
View File
@@ -209,23 +209,24 @@ func (db *Database) GetManifestByDigest(ctx context.Context, name, digest string
return exists, manifest, err
}
func (db *Database) GetManifestsByReference(ctx context.Context, name, reference string) (bool, []descr.Manifest, error) {
func (db *Database) GetManifestByReference(ctx context.Context, name, reference string) (bool, descr.Manifest, error) {
var err error
exists := false
manifest := descr.Manifest{}
manifests := make([]descr.Manifest, 0)
request := `SELECT * FROM manifests WHERE name = $1 AND reference = $2 LIMIT 1`
err = db.db.Select(&manifests, request, name, reference)
if err != nil {
return exists, manifests, err
return exists, manifest, err
}
if len(manifests) > 0 {
manifest = manifests[0]
exists = true
}
return exists, manifests, err
return exists, manifest, err
}
func (db *Database) GetManifestsByReferenceArchitecture(ctx context.Context, name, reference, architecture, os, variant string) (bool, descr.Manifest, error) {
func (db *Database) xxxGetManifestsByReferenceArchitecture(ctx context.Context, name, reference, architecture, os, variant string) (bool, descr.Manifest, error) {
var err error
exists := false
manifest := descr.Manifest{}
+4 -1
View File
@@ -43,8 +43,11 @@ const schema = `
os VARCHAR(255) NOT NULL,
variant VARCHAR(255) NOT NULL
);
CREATE UNIQUE INDEX IF NOT EXISTS manifests_index
CREATE UNIQUE INDEX IF NOT EXISTS manifests_index01
ON manifests(name, reference, architecture, os, variant);
CREATE UNIQUE INDEX IF NOT EXISTS manifests_index02
ON manifests(name, reference);
CREATE TABLE IF NOT EXISTS blobs (
id VARCHAR(255) NOT NULL,