HomeSoftware Heritage

extid: remove unicity on (extid_type, extid) and (target_type, target)

This commit no longer exists in the repository. It may have been part of a branch which was deleted.

Description

extid: remove unicity on (extid_type, extid) and (target_type, target)

It did not make sense for multiple reasons:

  1. two extids can point to the same target (eg. extids with type git and git-sha256; or two package managers with different checksums)
  2. inserting two objects with the same target or extid in a single call actually wrote both, but would crash when reading
  3. inserting extid1 then extid2 would write both to Kafka, but only extid1 would be inserted. When replaying on a new DB, extid2 may be inserted and extid1 ignored

Points 2 and 3 are simply fixable bugs, but 1 is an issue by design,
and this commit fixes all of them at once.

Details

Provenance
vlorentzAuthored on Mar 26 2021, 4:03 PM
vlorentzPushed on Mar 29 2021, 2:32 PM
Differential Revision
D5363: extid: remove unicity on (extid_type, extid) and (target_type, target)
Build Status
Buildable 20319
Build 31545: test-and-buildJenkins console · Jenkins

Commit No Longer Exists

This commit no longer exists in the repository.