hdmf
hdmf copied to clipboard
Have VectorData expandable by default
Motivation
What was the reasoning behind this change? Please explain the changes briefly.
Have VectorData expandable by default:
- [ ] Check that reading existing non-expandable data into the now expandable VectorData is not a problem (due to shape).
- [ ] Make to test that the data is wrapped with H5DataIO on read
- [ ] Update VectorData
- [ ] Add tests
- [ ] Investigate VectorIndex. When indexing vector index that has a wrapped target vector data, an error arises.
- [ ] TBD
Questions to look into:
- Do we have tests where we look at add_row when the data is wrapped with H5DataIO? ---> Yes
- If a user wanted to make a EnumData column extendable, would they wrap both data and elements with H5DataIO?
Ideas:
- We support Zarr, so wrapping with H5DataIO for every instance does not work. Do we instead want a field that is default to True that will wrap data if true. In hdmf-zarr, we will override this to False (similar to how we import HERD in pynwb into a pynwb version in order to reset the typemap). We will also have logic that says if the user provides their own instance of DataIO, it will not wrap automatically either. We could also just skip the field and within HDMF-zarr just unwrap and reset data, but I understand if that is a little messy.
How to test the behavior?
Show how to reproduce the new behavior (can be a bug fix or a new feature)
Checklist
- [ ] Did you update
CHANGELOG.md
with your changes? - [ ] Does the PR clearly describe the problem and the solution?
- [ ] Have you reviewed our Contributing Guide?
- [ ] Does the PR use "Fix #XXX" notation to tell GitHub to close the relevant issue numbered XXX when the PR is merged?