working commit
This commit is contained in:
+18
-18
@@ -20,6 +20,23 @@ func (db *Database) InsertBlob(ctx context.Context, layer *descr.Blob) error {
|
||||
return err
|
||||
}
|
||||
|
||||
func (db *Database) GetBlobByDigest(ctx context.Context, digest string) (bool, descr.Blob, error) {
|
||||
var err error
|
||||
blobs := make([]descr.Blob, 0)
|
||||
res := descr.Blob{}
|
||||
exists := false
|
||||
request := `SELECT * FROM blobs WHERE digest = $1 LIMIT 1`
|
||||
err = db.db.Select(&blobs, request, digest)
|
||||
if err != nil {
|
||||
return exists, res, err
|
||||
}
|
||||
if len(blobs) > 0 {
|
||||
res = blobs[0]
|
||||
exists = true
|
||||
}
|
||||
return exists, res, err
|
||||
}
|
||||
|
||||
func (db *Database) ListAllBlobs(ctx context.Context) ([]descr.Blob, error) {
|
||||
var err error
|
||||
blobs := make([]descr.Blob, 0)
|
||||
@@ -31,7 +48,7 @@ func (db *Database) ListAllBlobs(ctx context.Context) ([]descr.Blob, error) {
|
||||
return blobs, err
|
||||
}
|
||||
|
||||
func (db *Database) BlobExists(ctx context.Context, name, reference, digest string) (bool, error) {
|
||||
func (db *Database) xxxBlobExists(ctx context.Context, name, reference, digest string) (bool, error) {
|
||||
var err error
|
||||
blobs := make([]descr.Blob, 0)
|
||||
request := `
|
||||
@@ -58,23 +75,6 @@ func (db *Database) GetBlobsByReferense(ctx context.Context, name, reference str
|
||||
return blobs, err
|
||||
}
|
||||
|
||||
func (db *Database) GetBlobByDigest(ctx context.Context, digest string) (bool, descr.Blob, error) {
|
||||
var err error
|
||||
blobs := make([]descr.Blob, 0)
|
||||
res := descr.Blob{}
|
||||
exists := false
|
||||
request := `SELECT * FROM blobs WHERE digest = $1 LIMIT 1`
|
||||
err = db.db.Select(&blobs, request, digest)
|
||||
if err != nil {
|
||||
return exists, res, err
|
||||
}
|
||||
if len(blobs) > 0 {
|
||||
res = blobs[0]
|
||||
exists = true
|
||||
}
|
||||
return exists, res, err
|
||||
}
|
||||
|
||||
func (db *Database) GetBlobUsage(ctx context.Context, digest string) (int64, error) {
|
||||
var err error
|
||||
var usage int64
|
||||
|
||||
@@ -15,4 +15,36 @@ const schema = `
|
||||
);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS file_index
|
||||
ON file(collection, name);
|
||||
|
||||
--- DROP TABLE IF EXISTS manifests;
|
||||
CREATE TABLE IF NOT EXISTS manifests (
|
||||
id VARCHAR(255) NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
reference VARCHAR(255) NOT NULL,
|
||||
digest VARCHAR(1024) NOT NULL,
|
||||
contentType VARCHAR(255) NOT NULL,
|
||||
payload VARCHAR(4096) NOT NULL,
|
||||
created_at VARCHAR(255) NOT NULL,
|
||||
updated_at VARCHAR(255) NOT NULL,
|
||||
created_by VARCHAR(255) NOT NULL,
|
||||
updated_by VARCHAR(255) NOT NULL
|
||||
);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS manifest_index
|
||||
ON manifests(name, reference);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS blobs (
|
||||
id VARCHAR(255) NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
reference VARCHAR(255) NOT NULL,
|
||||
mediaType VARCHAR(255) NOT NULL,
|
||||
digest VARCHAR(255) NOT NULL,
|
||||
size INTEGER NOT NULL,
|
||||
created_at VARCHAR(255) NOT NULL,
|
||||
updated_at VARCHAR(255) NOT NULL,
|
||||
created_by VARCHAR(255) NOT NULL,
|
||||
updated_by VARCHAR(255) NOT NULL
|
||||
);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS blobs_index
|
||||
ON blobs(name, reference, digest);
|
||||
|
||||
`
|
||||
|
||||
Reference in New Issue
Block a user