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

db: set operations on paginated Data API iterators #2429

Merged
merged 6 commits into from
Oct 22, 2024

Conversation

canepat
Copy link
Member

@canepat canepat commented Oct 17, 2024

Add support for intersection/union set operations on E3 Data API paginated iterators and change the paginated iterator API exposing has_next/next stream-like methods, notably:

PaginatedUint64& paginated = ...;
auto it = co_await paginated.begin();
while (const auto value = co_await it.next()) {
    // use *value;
}

Furthermore, conceptualise and improve PaginatedIterator abstraction and increase test coverage.

Extra

  • cleanup RemoteTransactionTest

@canepat canepat added the erigon3 Erigon3 feature label Oct 17, 2024
@canepat canepat mentioned this pull request Oct 17, 2024
39 tasks
@canepat canepat marked this pull request as ready for review October 18, 2024 21:47
Copy link
Contributor

@battlmonstr battlmonstr left a comment

Choose a reason for hiding this comment

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

👍

@battlmonstr battlmonstr merged commit 2f55528 into master Oct 22, 2024
6 checks passed
@battlmonstr battlmonstr deleted the db_kv_paginated_it_set_functions branch October 22, 2024 07:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
erigon3 Erigon3 feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants