Issue and/or context: This follows on #2917 for issue #2407 / [sc-51048]. Here we implement resize.
Note that the intended Python and R API changes are all agreed on and finalized as described in #2407.
Changes:
While SOMASparseNDArray and SOMADenseNDArray must always and only have int64 dims within the SOMA data model, SOMADataFrame is different. The default behavior -- which almost everyone uses -- has a single soma_joinid dim which is indeed of type int64. (Also note that exp.obs.shapedoes exist within TileDB-SOMA-Py, and people do call it.) However, the spec only requires that soma_joinid exist as a dim or an attr: it can be a dim along with others, or it can not be a dim at all. Here we do the right thing, without and with current-domain support, to allow people to resize the soma_joinid dim, and only that, whether it's the sole dimension, a dimension but not the sole one, or not a dim at all.
Issue and/or context: This follows on #2917 for issue #2407 / [sc-51048]. Here we implement
resize
.Note that the intended Python and R API changes are all agreed on and finalized as described in #2407.
Changes:
While
SOMASparseNDArray
andSOMADenseNDArray
must always and only haveint64
dims within the SOMA data model,SOMADataFrame
is different. The default behavior -- which almost everyone uses -- has a singlesoma_joinid
dim which is indeed of typeint64
. (Also note thatexp.obs.shape
does exist within TileDB-SOMA-Py, and people do call it.) However, the spec only requires thatsoma_joinid
exist as a dim or an attr: it can be a dim along with others, or it can not be a dim at all. Here we do the right thing, without and with current-domain support, to allow people to resize thesoma_joinid
dim, and only that, whether it's the sole dimension, a dimension but not the sole one, or not a dim at all.Notes for Reviewer: