summaryrefslogtreecommitdiffstats
path: root/java/com/google/gerrit/server/query/group/GroupQueryProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/google/gerrit/server/query/group/GroupQueryProcessor.java')
-rw-r--r--java/com/google/gerrit/server/query/group/GroupQueryProcessor.java23
1 files changed, 21 insertions, 2 deletions
diff --git a/java/com/google/gerrit/server/query/group/GroupQueryProcessor.java b/java/com/google/gerrit/server/query/group/GroupQueryProcessor.java
index 9e56807d94..c6683faa87 100644
--- a/java/com/google/gerrit/server/query/group/GroupQueryProcessor.java
+++ b/java/com/google/gerrit/server/query/group/GroupQueryProcessor.java
@@ -30,6 +30,7 @@ import com.google.gerrit.server.account.GroupControl;
import com.google.gerrit.server.index.group.GroupIndexCollection;
import com.google.gerrit.server.index.group.GroupIndexRewriter;
import com.google.gerrit.server.index.group.GroupSchemaDefinitions;
+import com.google.gerrit.server.notedb.Sequences;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -42,6 +43,8 @@ import com.google.inject.Provider;
public class GroupQueryProcessor extends QueryProcessor<InternalGroup> {
private final Provider<CurrentUser> userProvider;
private final GroupControl.GenericFactory groupControlFactory;
+ private final Sequences sequences;
+ private final IndexConfig indexConfig;
static {
// It is assumed that basic rewrites do not touch visibleto predicates.
@@ -58,7 +61,8 @@ public class GroupQueryProcessor extends QueryProcessor<InternalGroup> {
IndexConfig indexConfig,
GroupIndexCollection indexes,
GroupIndexRewriter rewriter,
- GroupControl.GenericFactory groupControlFactory) {
+ GroupControl.GenericFactory groupControlFactory,
+ Sequences sequences) {
super(
metricMaker,
GroupSchemaDefinitions.INSTANCE,
@@ -69,16 +73,31 @@ public class GroupQueryProcessor extends QueryProcessor<InternalGroup> {
() -> limitsFactory.create(userProvider.get()).getQueryLimit());
this.userProvider = userProvider;
this.groupControlFactory = groupControlFactory;
+ this.sequences = sequences;
+ this.indexConfig = indexConfig;
}
@Override
protected Predicate<InternalGroup> enforceVisibility(Predicate<InternalGroup> pred) {
return new AndSource<>(
- pred, new GroupIsVisibleToPredicate(groupControlFactory, userProvider.get()), start);
+ pred,
+ new GroupIsVisibleToPredicate(groupControlFactory, userProvider.get()),
+ start,
+ indexConfig);
}
@Override
protected String formatForLogging(InternalGroup internalGroup) {
return internalGroup.getGroupUUID().get();
}
+
+ @Override
+ protected int getIndexSize() {
+ return sequences.lastGroupId();
+ }
+
+ @Override
+ protected int getBatchSize() {
+ return sequences.groupBatchSize();
+ }
}