summaryrefslogtreecommitdiffstats
path: root/java/com/google/gerrit/server/index/change/IndexedChangeQuery.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/google/gerrit/server/index/change/IndexedChangeQuery.java')
-rw-r--r--java/com/google/gerrit/server/index/change/IndexedChangeQuery.java27
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();
+ }
};
}