diff --git a/swh/indexer/sql/40-swh-func.sql b/swh/indexer/sql/40-swh-func.sql --- a/swh/indexer/sql/40-swh-func.sql +++ b/swh/indexer/sql/40-swh-func.sql @@ -420,7 +420,10 @@ on conflict(id, indexer_configuration_id) do update set metadata = excluded.metadata, - mappings = excluded.mappings; + metadata_tsvector = excluded.metadata_tsvector, + mappings = excluded.mappings, + origin_url = excluded.origin_url, + from_revision = excluded.from_revision; else insert into origin_intrinsic_metadata (id, origin_url, metadata, indexer_configuration_id, from_revision, metadata_tsvector, mappings) diff --git a/swh/indexer/tests/storage/test_storage.py b/swh/indexer/tests/storage/test_storage.py --- a/swh/indexer/tests/storage/test_storage.py +++ b/swh/indexer/tests/storage/test_storage.py @@ -1197,7 +1197,14 @@ metadata_rev_v2 = metadata_rev_v1.copy() metadata_origin_v2 = metadata_origin_v1.copy() metadata_rev_v2['metadata'] = metadata_v2 - metadata_origin_v2['metadata'] = metadata_v2 + metadata_origin_v2 = { + 'id': self.origin_id_1, + 'origin_url': 'file:///dev/null', + 'metadata': metadata_v2.copy(), + 'indexer_configuration_id': tool_id, + 'mappings': ['npm'], + 'from_revision': self.revision_id_1, + } self.storage.revision_intrinsic_metadata_add( [metadata_rev_v2], conflict_update=True) @@ -1209,11 +1216,11 @@ expected_metadata_v2 = [{ 'id': self.origin_id_1, - 'origin_url': 'file:///dev/zero', + 'origin_url': 'file:///dev/null', 'metadata': metadata_v2, 'tool': self.tools['swh-metadata-detector'], - 'from_revision': self.revision_id_2, - 'mappings': [], + 'from_revision': self.revision_id_1, + 'mappings': ['npm'], }] # metadata did change as the v2 was used to overwrite v1