Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[c++] Resize for variant-indexed DataFrame #2917

Merged
merged 7 commits into from
Sep 3, 2024
Merged

[c++] Resize for variant-indexed DataFrame #2917

merged 7 commits into from
Sep 3, 2024

Conversation

johnkerl
Copy link
Member

@johnkerl johnkerl commented Aug 18, 2024

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.shape does 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.

Notes for Reviewer:

Copy link

codecov bot commented Aug 18, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.02%. Comparing base (f5ae258) to head (0c863d9).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2917      +/-   ##
==========================================
+ Coverage   89.87%   90.02%   +0.15%     
==========================================
  Files          38       38              
  Lines        3999     3999              
==========================================
+ Hits         3594     3600       +6     
+ Misses        405      399       -6     
Flag Coverage Δ
python 90.02% <ø> (+0.15%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
python_api 90.02% <ø> (+0.15%) ⬆️
libtiledbsoma ∅ <ø> (∅)

@johnkerl johnkerl force-pushed the kerl/cpp-resizes branch 3 times, most recently from b915255 to e7e8cc2 Compare August 19, 2024 02:59
@johnkerl johnkerl force-pushed the kerl/cpp-resizes branch 3 times, most recently from 5d38f9f to 8a949db Compare August 19, 2024 03:11
@johnkerl johnkerl force-pushed the kerl/sdf-shape branch 2 times, most recently from 0cd5ce5 to 0831bdb Compare August 20, 2024 19:55
@johnkerl johnkerl force-pushed the kerl/cpp-resizes branch 2 times, most recently from 10d1add to 976c398 Compare August 20, 2024 20:07
@johnkerl johnkerl force-pushed the kerl/sdf-shape branch 3 times, most recently from 982b541 to 2f01e04 Compare August 30, 2024 21:55
@johnkerl johnkerl force-pushed the kerl/cpp-resizes branch 4 times, most recently from ba690fb to 0ffd904 Compare August 31, 2024 17:02
@johnkerl johnkerl changed the title [c++] Resize for variant-indexed DataFrame [WIP] [c++] Resize for variant-indexed DataFrame Aug 31, 2024
@johnkerl johnkerl requested a review from nguyenv August 31, 2024 17:04
@johnkerl johnkerl marked this pull request as ready for review August 31, 2024 17:04
@johnkerl johnkerl force-pushed the kerl/cpp-resizes branch 3 times, most recently from 046fdbf to d27a748 Compare August 31, 2024 23:06
Base automatically changed from kerl/sdf-shape to main September 3, 2024 19:21
@johnkerl johnkerl merged commit 7983df0 into main Sep 3, 2024
15 checks passed
@johnkerl johnkerl deleted the kerl/cpp-resizes branch September 3, 2024 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants