Closed johnkerl closed 1 year ago
For future consideration:
Since we allow floating-point and string dimensions, it would make sense to me that we should allow users to store data with a domain that goes into the negative numbers in a DataFrame.
To be clear, I do not think this is a change we would need to make right now or even necessarily soon, just a thought for future development. I am fine with saying “no negative numbers” in the current state.
the "no negative numbers" is a misunderstanding - it was "no negative soma_joinid", a statement that was necessary because soma_joinid is always int64
.
So this affects only:
I don't recall that we ever discussed (much less concluded) that negative values could not be indexed for user-defined columns. I feel pretty strongly that we need the ability to index the full domain of any user-defined column.
Thanks for the clarify, @bkmartinjr !!
Tracking issue for https://github.com/single-cell-data/SOMA/pull/119#discussion_r1102882763 in the event that feedback needs addressing in a separate PR.
See also https://github.com/single-cell-data/TileDB-SOMA/issues/519.
Analysis results in support of https://github.com/single-cell-data/SOMA/pull/124 and https://github.com/single-cell-data/TileDB-SOMA/pull/932:
int64
type and a domain of[0, 2^63-1)
. In other words, positiveint64
values are used for offset indexing. All this needs is the typo positive to be changed to non-negative: https://github.com/single-cell-data/SOMA/pull/124TileDB-SOMA
Python impl:soma_joinid
, contrary to the spec: fixed by https://github.com/single-cell-data/TileDB-SOMA/pull/932TileDB-SOMA
R impl:Dim(name='soma_joinid', domain=(0, 9223372036854775807), ...)