Fix status:closed query
There was no rewrite rule matching this so the query processor helpfully ANDed in status:open. Add one. Change-Id: Ia9afcf0661d6e89d633588db3d0e7f4f60488477
This commit is contained in:
@@ -557,18 +557,24 @@ public class ChangeQueryBuilder extends QueryBuilder<ChangeData> {
|
||||
return limit(Integer.parseInt(limit));
|
||||
}
|
||||
|
||||
public Predicate<ChangeData> limit(int limit) {
|
||||
return new IntPredicate<ChangeData>(FIELD_LIMIT, limit) {
|
||||
@Override
|
||||
public boolean match(ChangeData object) {
|
||||
return true;
|
||||
}
|
||||
static class LimitPredicate extends IntPredicate<ChangeData> {
|
||||
LimitPredicate(int limit) {
|
||||
super(FIELD_LIMIT, limit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCost() {
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
@Override
|
||||
public boolean match(ChangeData object) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCost() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public Predicate<ChangeData> limit(int limit) {
|
||||
return new LimitPredicate(limit);
|
||||
}
|
||||
|
||||
@Operator
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.google.gerrit.server.query.IntPredicate;
|
||||
import com.google.gerrit.server.query.Predicate;
|
||||
import com.google.gerrit.server.query.QueryRewriter;
|
||||
import com.google.gerrit.server.query.RewritePredicate;
|
||||
import com.google.gerrit.server.query.change.ChangeQueryBuilder.LimitPredicate;
|
||||
import com.google.gwtorm.server.OrmException;
|
||||
import com.google.gwtorm.server.ResultSet;
|
||||
import com.google.inject.Inject;
|
||||
@@ -538,6 +539,13 @@ public class SqlRewriterImpl extends BasicChangeRewrites
|
||||
return or(r30_byReviewerOpen(r), r30_byReviewerClosed(r));
|
||||
}
|
||||
|
||||
@Rewrite("status:closed")
|
||||
public Predicate<ChangeData> r99_allClosed() {
|
||||
return r20_byClosedNext(
|
||||
new SortKeyPredicate.Before(null, dbProvider, "z"),
|
||||
new LimitPredicate(Integer.MAX_VALUE));
|
||||
}
|
||||
|
||||
@Rewrite("status:submitted")
|
||||
public Predicate<ChangeData> r99_allSubmitted() {
|
||||
return new ChangeSource(50) {
|
||||
|
||||
Reference in New Issue
Block a user