diff options
Diffstat (limited to 'java/com/google/gerrit/server/index/change/IndexedChangeQuery.java')
-rw-r--r-- | java/com/google/gerrit/server/index/change/IndexedChangeQuery.java | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/java/com/google/gerrit/server/index/change/IndexedChangeQuery.java b/java/com/google/gerrit/server/index/change/IndexedChangeQuery.java index be5f803495..1d9bbcd4a3 100644 --- a/java/com/google/gerrit/server/index/change/IndexedChangeQuery.java +++ b/java/com/google/gerrit/server/index/change/IndexedChangeQuery.java @@ -52,24 +52,40 @@ import java.util.Set; public class IndexedChangeQuery extends IndexedQuery<Change.Id, ChangeData> implements ChangeDataSource, Matchable<ChangeData> { public static QueryOptions oneResult() { - return createOptions(IndexConfig.createDefault(), 0, 1, ImmutableSet.of()); + IndexConfig config = IndexConfig.createDefault(); + return createOptions(config, 0, 1, config.pageSizeMultiplier(), 1, ImmutableSet.of()); } public static QueryOptions createOptions( IndexConfig config, int start, int limit, Set<String> fields) { + return createOptions(config, start, limit, config.pageSizeMultiplier(), limit, fields); + } + + public static QueryOptions createOptions( + IndexConfig config, + int start, + int pageSize, + int pageSizeMultiplier, + int limit, + Set<String> fields) { // Always include project since it is needed to load the change from NoteDb. if (!fields.contains(CHANGE.getName()) && !fields.contains(PROJECT.getName())) { fields = new HashSet<>(fields); fields.add(PROJECT.getName()); } - return QueryOptions.create(config, start, limit, fields); + return QueryOptions.create(config, start, pageSize, pageSizeMultiplier, limit, fields); } @VisibleForTesting static QueryOptions convertOptions(QueryOptions opts) { opts = opts.convertForBackend(); return IndexedChangeQuery.createOptions( - opts.config(), opts.start(), opts.limit(), opts.fields()); + opts.config(), + opts.start(), + opts.pageSize(), + opts.pageSizeMultiplier(), + opts.limit(), + opts.fields()); } private final Map<ChangeData, DataSource<ChangeData>> fromSource; @@ -110,6 +126,11 @@ public class IndexedChangeQuery extends IndexedQuery<Change.Id, ChangeData> public void close() { rs.close(); } + + @Override + public Object searchAfter() { + return rs.searchAfter(); + } }; } |