Skip to content

Commit

Permalink
fixup! Specify update semantics (DataBiosphere/azul#2884)
Browse files Browse the repository at this point in the history
Allow multiple versions of same entity or subgraph in non-delta staging areas.

#6 (comment)
#6 (comment)
  • Loading branch information
hannes-ucsc committed May 25, 2021
1 parent 422301f commit 63a924c
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions docs/dcp2_system_design.rst
Original file line number Diff line number Diff line change
Expand Up @@ -720,9 +720,13 @@ descriptors, one for metadata files and one for subgraphs.
DSS version of the metadata file, converting it to this restricted ISO
syntax.

A staging area may only contain exactly one entity object with a given
``entity_id``. This precludes more than one version of any entity or
assigning the same ``entity_id`` to entities of different types.
Entity objects that share a given ``entity_id`` in a staging area must all
have the same ``entity_type``. This precludes assigning the same
``entity_id`` to entities of different types, but allows several versions
of one entity to coexist in a non-delta staging area. A delta staging area,
on the other hand, must contain at most one object with a given
``entity_id``, and therefore only one version of that entity.

The ``.remove`` suffix is used to request the removal of an entity. It can
only be used in staging areas that have the ``is_delta`` property set to
Expand Down Expand Up @@ -757,6 +761,10 @@ descriptors, one for metadata files and one for subgraphs.
assigning the same ``entity_id`` to descriptors for file entities of
different types.

Descriptor objects that share a given ``entity_id`` in a staging area must
all have the same ``entity_type``. A delta staging area may contain at most
one object with a given ``entity_id``.

- The object name of a data file is::

data/{file_name}
Expand Down Expand Up @@ -800,6 +808,12 @@ descriptors, one for metadata files and one for subgraphs.
``links_id``. This precludes more than one version of any subgraph or
using the same ``links_id`` in subgraphs for different projects.

Subgraph objects that share a given ``links_id`` in a staging area must all
have the same ``project_id``. This precludes assigning the same
``links_id`` to subgraphs for different projects, but allows several
versions of one subgraph to coexist in a non-delta staging area. A delta
staging area, on the other hand, must contain at most one object with a
given ``links_id``, and therefore only one version of that subgraph.

.. [#]
The staging area URI is guaranteed to end in a slash.
Expand Down

0 comments on commit 63a924c

Please sign in to comment.