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++] Integrate SOMAColumn: Update domain accessors inside SOMAArray, part 2 #3407

Open
wants to merge 28 commits into
base: main
Choose a base branch
from

Conversation

XanthosXanthopoulos
Copy link
Collaborator

During the SOMAArray object construction and open the SOMAColumn objects are initialized and used througout the lifetime of the SOMAArray object to access the different domain types for the object. The complexity of transforming the data to an ArrowTable has been transferred to each SOMAColumn and that makes SOMAArray implementation agnostic of any column specific restrictions.

@XanthosXanthopoulos XanthosXanthopoulos changed the title [c++] Use SOMAColumn to access domain inside SOMAArray Part 3 [c++] Use SOMAColumn to access domain inside SOMAArray Part 3 [WIP] Dec 9, 2024
@XanthosXanthopoulos XanthosXanthopoulos marked this pull request as draft December 9, 2024 08:48
@johnkerl johnkerl changed the title [c++] Use SOMAColumn to access domain inside SOMAArray Part 3 [WIP] [c++] Use SOMAColumn to access domain inside SOMAArray part 3 [WIP] Dec 9, 2024
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-somarray-integration branch from cbe3cf0 to 29448a2 Compare December 10, 2024 11:16
@XanthosXanthopoulos XanthosXanthopoulos marked this pull request as ready for review December 10, 2024 16:10
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-arrow-integration branch from b1bd03c to 5485141 Compare December 11, 2024 11:44
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-somarray-integration branch from 29448a2 to d4e4d7e Compare December 11, 2024 11:45
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-arrow-integration branch 2 times, most recently from 0e69ed7 to d6d6187 Compare December 13, 2024 16:10
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-somarray-integration branch from d4e4d7e to e746f3b Compare December 13, 2024 16:17
@XanthosXanthopoulos XanthosXanthopoulos changed the title [c++] Use SOMAColumn to access domain inside SOMAArray part 3 [WIP] [c++] Integrate SOMAColumn: Update domain accessors inside SOMAArray, part 2 Dec 13, 2024
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-arrow-integration branch 3 times, most recently from 2401416 to 77a01e1 Compare January 15, 2025 12:02
@XanthosXanthopoulos XanthosXanthopoulos marked this pull request as draft January 15, 2025 12:29
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-somarray-integration branch from e746f3b to 9ce6608 Compare January 15, 2025 12:34
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-arrow-integration branch from d7077d2 to 31b8bbe Compare January 22, 2025 10:35
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-somarray-integration branch 2 times, most recently from ee9ea66 to 3bd49bc Compare January 23, 2025 19:21
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-arrow-integration branch from e9db109 to 533247c Compare January 23, 2025 20:28
Base automatically changed from xan/sc-59427/soma-column-arrow-integration to main January 23, 2025 21:18
XanthosXanthopoulos and others added 15 commits January 24, 2025 01:02
* Add minimal testing for dimensions

* Add minimal testing for dimensions

* Add read test case

* Remove current_domain flag

* Do not export soma column [skip ci]

* Replace string_view with string when returning column name, add current domain checks, replace vector with span when selecting points

* Add serialization/deserelization methods

* Serialize SOMAColumn on schema generation

* Update unit tests

* Generate columns on array open

* Add deserialization and default initialization on array open

* Write SOMAColumn metadata if array is open in `write` mode

* Write metadata directly to TileDB array

* Fix error in tests after rebase

* Handle addition and deletion of attributes

* Fix R tests
#3621)

* Make SOMAColumn metadata only required by GeometryDataframe

* Update tests
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-somarray-integration branch from 3bd49bc to d9cc97a Compare January 23, 2025 23:49
Copy link

codecov bot commented Jan 24, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 86.28%. Comparing base (fe8e64d) to head (deae609).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3407      +/-   ##
==========================================
+ Coverage   86.23%   86.28%   +0.04%     
==========================================
  Files          55       55              
  Lines        6378     6378              
==========================================
+ Hits         5500     5503       +3     
+ Misses        878      875       -3     
Flag Coverage Δ
python 86.28% <ø> (+0.04%) ⬆️

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

Components Coverage Δ
python_api 86.28% <ø> (+0.04%) ⬆️
libtiledbsoma ∅ <ø> (∅)

@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-somarray-integration branch 8 times, most recently from 5a65d15 to aef4d9b Compare January 24, 2025 14:41
@XanthosXanthopoulos XanthosXanthopoulos force-pushed the xan/sc-59427/soma-column-somarray-integration branch from aef4d9b to deae609 Compare January 24, 2025 16:47
@XanthosXanthopoulos XanthosXanthopoulos marked this pull request as ready for review January 24, 2025 17:51
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.

[c++] Add an abstraction layer between SOMA columns and TileDB dimensions and attributes
1 participant