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

KeySet-based pagination #1299

Closed
yangwenliang123 opened this issue Jul 26, 2022 · 6 comments
Closed

KeySet-based pagination #1299

yangwenliang123 opened this issue Jul 26, 2022 · 6 comments
Labels
status: duplicate A duplicate of another issue

Comments

@yangwenliang123
Copy link

ReactiveQueryByExampleExecutor when can range lookup be supported,Because my paging optimization may be id > 100 limit 20

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Jul 26, 2022
@mp911de
Copy link
Member

mp911de commented Jul 26, 2022

Care to elaborate on what you're trying to achieve? The initial description isn't helpful. Feel free to post a bit of code to help illustrate how you're using the repository.

@mp911de mp911de added the status: waiting-for-feedback We need additional information before we can continue label Jul 26, 2022
@yangwenliang123
Copy link
Author

The default paging implementation is select * from table limit 0,10. The higher the offset, the longer the query time I should do this: select * from table where id > 100 limit 20. this is a pointer based paging. But it depends on range query, but I see that reactivequerybyexampleexecutor does not support range query

@mp911de mp911de changed the title ReactiveQueryByExampleExecutor range lookup KeySet-based pagination Jul 26, 2022
@mp911de
Copy link
Member

mp911de commented Jul 26, 2022

Thanks for the details. What you're referring to is known as key-set based pagination. It isn't tied to query by example so I updated the title to reflect that aspect. Before we can provide key-set pagination, we need to have some infrastructure in place so spring-projects/spring-data-commons#2151 is a pre-requisite.

@spring-projects-issues spring-projects-issues added status: feedback-provided Feedback has been provided and removed status: waiting-for-feedback We need additional information before we can continue labels Jul 26, 2022
@mp911de mp911de added status: blocked An issue that's blocked on an external project change type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged status: feedback-provided Feedback has been provided labels Jul 26, 2022
@yangwenliang123
Copy link
Author

If the sample query supports range search, the paging based on ketset will be solved automatically.
For example:
the paging condition is always pagerequest of (0, PageSize),
The query criteria are: user user = new user();
user.setId(10L);
Example userExample = Example.of(user);

@schauder schauder added the in: r2dbc Spring Data R2DBC label Aug 25, 2022
@schauder
Copy link
Contributor

Since this metiones ReactiveQueryByExampleExecutor I marked this as in:R2DBC although an analogous feature would be nice for all JDBC as well.

@mp911de
Copy link
Member

mp911de commented Sep 13, 2023

Closing as duplicate of #1605. Keyset-based pagination will come along with offset-based scrolling.

@mp911de mp911de closed this as not planned Won't fix, can't repro, duplicate, stale Sep 13, 2023
@mp911de mp911de added status: duplicate A duplicate of another issue and removed status: blocked An issue that's blocked on an external project change type: enhancement A general enhancement in: jdbc Spring Data JDBC in: r2dbc Spring Data R2DBC labels Sep 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: duplicate A duplicate of another issue
Projects
None yet
Development

No branches or pull requests

4 participants