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

Augment coiteration to work for conjunctive merges when one of the levels is unordered (i.e. hashed level) #20

Closed
adam2392 opened this issue Apr 3, 2023 · 1 comment

Comments

@adam2392
Copy link
Contributor

adam2392 commented Apr 3, 2023

Summary

Augmenting coiteration to deal with unordered levels (i.e. hash maps). Implement conjunctive merge logic when input to co-iteration is a hash map. The current implementation assumes input levels are ordered. We can deal with unordered levels (during a conjunctive merge) relatively straightforward.

The API that calls coiteration should and will eventually perform the following logic: If it is sortable, sort the level. Otw if it is not sortable, then it must be has_locate == True property.

If the unordered level is part of a disjunctive merge, then the current thought is that we will convert it to a compressed level that can be sortable. This will be handled in a future PR.

See below for details

Proposed Implementation

In coiteration, if the unordered level is part of a conjunctive merge, we can iterate through the level that is ordered and use locate to check if the index exists in the hash level. If it returns NULL, then we don't append to the output. If it does not return NULL, then we append the output with this index.

Currently, we want logic that implements this depending on if one of the level formats passed to Coiterate return has_locate == True and is not ordered.

@adam2392
Copy link
Contributor Author

Closed by #25

Augmented with #31

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 a pull request may close this issue.

1 participant