Skip to content

Commit f7c5534

Browse files
authored
Merge pull request #248 from jbms/remove-fallback-data-type
Remove fallback data types from specification
2 parents f7f7a2e + cc1d163 commit f7c5534

File tree

1 file changed

+10
-24
lines changed

1 file changed

+10
-24
lines changed

docs/v3/core/v3.0.rst

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -485,25 +485,11 @@ mandatory names:
485485

486486
The ``data_type`` value is an extension point and may be defined by a data
487487
type extension. If the data type is defined by an extension, then the value
488-
must be an object containing the names ``name`` and optionally
489-
``configuration`` and ``fallback``. The ``name`` is required and its value
490-
must refer to a v3 data type specification. ``configuration`` is optional
491-
and its value is defined by the extension. The ``fallback`` is optional and,
492-
if provided, its value must be one or a list of the data type identifiers
493-
defined in this specification or an extension. Fallback extension datatypes
494-
are specified as an object with ``name`` and (optionally) ``configuration``.
495-
496-
If an implementation does not recognise the extension or specific data type,
497-
but a ``fallback`` is present, then the implementation may proceed using the
498-
first known ``fallback`` value as the data type. For fixed-sized data types,
499-
if there is no more specific fallback available, a raw number of bytes using
500-
the raw type (``r*``) should be given.
501-
502-
The default list of fallbacks to put into the metadata should be defined by
503-
the data type extension, but it may be overridden by the user. *Note for
504-
implementations*: Silently using a fallback without explicit approval might
505-
cause problems for users, please consider options to (de-)activate fallback
506-
behavior and/or appropriate warnings.
488+
may be either a plain string or an object containing the members ``name``
489+
and optionally ``configuration``. A plain string is equivalent to
490+
specifying an object with just a ``name`` member. The ``name`` is required
491+
and its value must refer to a v3 data type specification. ``configuration``
492+
is optional and its value is defined by the extension.
507493

508494
``chunk_grid``
509495
^^^^^^^^^^^^^^
@@ -767,8 +753,7 @@ above, but using a (currently made up) extension data type::
767753
"name": "datetime",
768754
"configuration": {
769755
"unit": "ns"
770-
},
771-
"fallback": "int64"
756+
}
772757
},
773758
"chunk_grid": {
774759
"name": "regular",
@@ -963,7 +948,7 @@ Core data types
963948
* - ``complex128``
964949
- real and complex components are each IEEE 754 double-precision floating point
965950
* - ``r*`` (Optional)
966-
- raw bits, use for extension type fallbacks
951+
- raw bits, variable size given by ``*``, limited to be a multiple of 8
967952

968953
Additionally to these base types, an implementation should also handle the
969954
raw/opaque pass-through type designated by the lower-case letter ``r`` followed
@@ -1650,8 +1635,7 @@ array codecs `codecs`_
16501635
array storage transformer `storage_transformers`_
16511636
=========== ======================= ================================================
16521637

1653-
If such extension points are used by groups or arrays, they are required, except
1654-
for data types specifying fallback data types.
1638+
If such extension points are used by groups or arrays, they are required.
16551639

16561640
See https://github.com/zarr-developers/zarr-specs/issues/49 for a list of
16571641
potential extensions.
@@ -1758,6 +1742,8 @@ by time.
17581742
Changes after Provisional Acceptance
17591743
------------------------------------
17601744

1745+
- Fallback data type support was removed. `PR #248
1746+
<https://github.com/zarr-developers/zarr-specs/pull/248/>`_
17611747
- It is now required to specify an ``array -> bytes`` codec in the ``codecs``
17621748
array metadata field. `PR #249
17631749
<https://github.com/zarr-developers/zarr-specs/pull/249>`_

0 commit comments

Comments
 (0)