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

Use sparse global ordered reader for unordered queries with no dups. #3207

Merged

Conversation

KiterLuc
Copy link
Contributor

This change modifies the sparse global order reader to process unordered
queries made on arrays with duplicates. As we don't care about the
order of the data, we can ignore the constraint that we only support
one range for global order.

This also fixes an issue in bitmap computation for multiplicities,
where the relevant ranges were not computed properly for count bitmaps.


TYPE: IMPROVEMENT
DESC: Use sparse global ordered reader for unordered queries with no dups.

@KiterLuc KiterLuc requested review from Shelnutt2 and ypatia May 24, 2022 12:04
@shortcut-integration
Copy link

@KiterLuc KiterLuc force-pushed the lr/sparse-global-order-reader-unordered-queries/ch10997 branch from 9252f1f to d1abd13 Compare May 24, 2022 12:05
@Shelnutt2
Copy link
Member

Is it possible to separate the fix from the feature change of using global order reader? In general I think it's best to have a separation of concerns in PRs.

@KiterLuc KiterLuc force-pushed the lr/sparse-global-order-reader-unordered-queries/ch10997 branch 2 times, most recently from e331097 to e082ed2 Compare May 24, 2022 12:23
@KiterLuc KiterLuc marked this pull request as draft May 24, 2022 13:00
@KiterLuc
Copy link
Contributor Author

KiterLuc commented May 24, 2022

Is it possible to separate the fix from the feature change of using global order reader? In general I think it's best to have a separation of concerns in PRs.

@Shelnutt2 Yeah you are right, it would be nice to include this in the current release and possibly back port without the other change. I opened #3208 and converted this to draft. Once it is merged, I'll rebase this.

test/src/helpers.cc Show resolved Hide resolved
test/src/helpers.h Outdated Show resolved Hide resolved
test/src/helpers.cc Show resolved Hide resolved
tiledb/sm/array_schema/test/unit_dimension.cc Outdated Show resolved Hide resolved
@KiterLuc KiterLuc force-pushed the lr/sparse-global-order-reader-unordered-queries/ch10997 branch 2 times, most recently from dab78c3 to b630d08 Compare May 25, 2022 08:33
@KiterLuc KiterLuc marked this pull request as ready for review May 26, 2022 05:49
num_cells--;
} else {
// For overlapping ranges, create as many slabs as there are counts.
auto num = to_process_dup.tile_->bitmap_[to_process_dup.pos_];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am trying to understand how this works: the bitmap_ value can be something different than 0 or 1 ?

tiledb/sm/query/result_coords.h Outdated Show resolved Hide resolved
This change modifies the sparse global order reader to process unordered
queries made on arrays with duplicates. As we don't care about the
order of the data, we can ignore the constraint that we only support
one range for global order.

This also fixes an issue in bitmap computation for multiplicities,
where the relevant ranges were not computed properly for count bitmaps.

---
TYPE: IMPROVEMENT
DESC: Use sparse global ordered reader for unordered queries with no dups.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants