From 362e64fd626acf630a0c7c107afebe2a51afa9ed Mon Sep 17 00:00:00 2001 From: Arvind Choudhary Date: Tue, 14 Jan 2025 06:19:29 +0000 Subject: [PATCH] feat: [AH-786]: Updated Layer query to fix allowing duplicate layers (#3253) * [AH-786]: Updated Layer query to fix allowing duplicate layers --- registry/app/store/database/layer.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/registry/app/store/database/layer.go b/registry/app/store/database/layer.go index f483cbdb0..e8745cdf7 100644 --- a/registry/app/store/database/layer.go +++ b/registry/app/store/database/layer.go @@ -56,8 +56,10 @@ type layersDB struct { UpdatedBy int64 `db:"layer_updated_by"` } -func (l layersDao) AssociateLayerBlob(ctx context.Context, m *types.Manifest, - b *types.Blob) error { +func (l layersDao) AssociateLayerBlob( + ctx context.Context, m *types.Manifest, + b *types.Blob, +) error { const sqlQuery = ` INSERT INTO layers ( layer_registry_id @@ -80,7 +82,7 @@ func (l layersDao) AssociateLayerBlob(ctx context.Context, m *types.Manifest, ,:layer_created_by ,:layer_updated_by ) ON CONFLICT (layer_registry_id, layer_manifest_id, layer_blob_id) - DO NOTHING + DO UPDATE SET layer_registry_id = EXCLUDED.layer_registry_id RETURNING layer_id` mediaTypeID, err := l.mtRepository.MapMediaType(ctx, b.MediaType)