Merge "docs: Expand on definition of document uniqueness"
This commit is contained in:
commit
1981eaeb99
@ -52,19 +52,34 @@ and ``data``.
|
|||||||
|
|
||||||
* ``metadata`` - Defines details that Deckhand will inspect and understand.
|
* ``metadata`` - Defines details that Deckhand will inspect and understand.
|
||||||
There are multiple schemas for this section as discussed below. All the
|
There are multiple schemas for this section as discussed below. All the
|
||||||
various types of metadata include a `name` field which must be unique for
|
various types of metadata include a ``metadata.name`` field which must be
|
||||||
each document ``schema``.
|
unique for each document ``schema``.
|
||||||
* ``data`` - Data to be validated by the schema described by the ``schema``
|
* ``data`` - Data to be validated by the schema described by the ``schema``
|
||||||
field. Deckhand only interacts with content here as instructed to do so by
|
field. Deckhand only interacts with content here as instructed to do so by
|
||||||
the ``metadata`` section. The form of this section is considered to be
|
the ``metadata`` section. The form of this section is considered to be
|
||||||
completely owned by the ``namespace`` in the ``schema``.
|
completely owned by the ``namespace`` in the ``schema``.
|
||||||
|
|
||||||
Furthermore, documents are uniquely identified by the combination of:
|
At the **database** level, documents are uniquely identified by the combination
|
||||||
|
of:
|
||||||
|
|
||||||
#. ``metadata.name``
|
#. ``metadata.name``
|
||||||
#. ``schema``
|
#. ``schema``
|
||||||
#. ``metadata.layeringDefinition.layer``
|
#. ``metadata.layeringDefinition.layer``
|
||||||
|
|
||||||
|
This means that raw revision documents -- which are persisted in Deckhand's
|
||||||
|
database -- require that the combination of all 3 parameters be unique.
|
||||||
|
|
||||||
|
However, **post-rendered documents** are only uniquely identified by the
|
||||||
|
combination of:
|
||||||
|
|
||||||
|
#. ``metadata.name``
|
||||||
|
#. ``schema``
|
||||||
|
|
||||||
|
Because collisions with respect to the the third parameter --
|
||||||
|
``metadata.layeringDefinition.layer`` -- can only occur with
|
||||||
|
:ref:`replacement`. But after document rendering, the replacement-parent
|
||||||
|
documents are never returned.
|
||||||
|
|
||||||
Below is a fictitious example of a complete document, which illustrates all the
|
Below is a fictitious example of a complete document, which illustrates all the
|
||||||
valid fields in the ``metadata`` section:
|
valid fields in the ``metadata`` section:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user