Change dtype of ElementIdentifiers and DynamicTableRegion to int32 #85
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary of changes
Be explicit about the minimum integer precision required for
ElementIdentifiers
andDynamicTableRegion
being int32. This is in anticipation of a change in the meaning ofdtype: int
to mean int8 instead of int32.If the id columns of a
DynamicTable
(type:ElementIdentifiers
) is initialized to be an int8 dataset and is set to be expandable, then you cannot add more than 128 rows to the table. You would have to delete the dataset and re-create it with a different dtype. Similarly, if aDynamicTableRegion
is initialized to be an int8 dataset, referenced row indices could not be larger than 128. This is rare and may never come up, but is why @oruebel and I would prefer to keep the dtype ofElementIdentifiers
andDynamicTableRegion
to be int32 instead of int8.See
PR checklist for schema changes
docs/source/conf.py
andcommon/namespace.yaml
to the next version with the suffix "-alpha"docs/source/hdmf_common_release_notes.rst
and/ordocs/source/hdmf_experimental_release_notes.rst