Remove all references to deleted change fields
We had lots of hard-coded logic to do slightly different things depending on which version of a particular field was present in a schema. For every field that has now been completely removed, we can remove references including these bits of extra logic. The difference is especially striking in the sortkey query path. Note that queries containing sortkeys have already been failing since servers upgraded to schema version 8 (2.9), which no longer uses this field. Change-Id: Ib1fbc9f3aa45bf068b7869ca3aada40dbe4cb1bb
This commit is contained in:
@@ -41,8 +41,6 @@ import com.google.gerrit.server.query.Predicate;
|
||||
import com.google.gerrit.server.query.QueryParseException;
|
||||
import com.google.gerrit.server.query.change.ChangeData;
|
||||
import com.google.gerrit.server.query.change.ChangeDataSource;
|
||||
import com.google.gerrit.server.query.change.ChangeQueryBuilder;
|
||||
import com.google.gerrit.server.query.change.SortKeyPredicate;
|
||||
import com.google.gwtorm.server.OrmException;
|
||||
import com.google.gwtorm.server.ResultSet;
|
||||
import com.google.inject.Provider;
|
||||
@@ -108,7 +106,7 @@ class SolrChangeIndex implements ChangeIndex, LifecycleListener {
|
||||
}
|
||||
|
||||
queryBuilder = new QueryBuilder(
|
||||
schema, new StandardAnalyzer(CharArraySet.EMPTY_SET));
|
||||
new StandardAnalyzer(CharArraySet.EMPTY_SET));
|
||||
|
||||
base = Strings.nullToEmpty(base);
|
||||
openIndex = new CloudSolrServer(url);
|
||||
@@ -199,23 +197,15 @@ class SolrChangeIndex implements ChangeIndex, LifecycleListener {
|
||||
indexes.add(closedIndex);
|
||||
}
|
||||
return new QuerySource(indexes, queryBuilder.toQuery(p), start, limit,
|
||||
getSorts(schema, p));
|
||||
getSorts());
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private static List<SortClause> getSorts(Schema<ChangeData> schema,
|
||||
Predicate<ChangeData> p) {
|
||||
if (SortKeyPredicate.hasSortKeyField(schema)) {
|
||||
boolean reverse = ChangeQueryBuilder.hasNonTrivialSortKeyAfter(schema, p);
|
||||
return ImmutableList.of(new SortClause(ChangeField.SORTKEY.getName(),
|
||||
!reverse ? SolrQuery.ORDER.desc : SolrQuery.ORDER.asc));
|
||||
} else {
|
||||
return ImmutableList.of(
|
||||
new SortClause(
|
||||
ChangeField.UPDATED.getName(), SolrQuery.ORDER.desc),
|
||||
new SortClause(
|
||||
ChangeField.LEGACY_ID.getName(), SolrQuery.ORDER.desc));
|
||||
}
|
||||
private static List<SortClause> getSorts() {
|
||||
return ImmutableList.of(
|
||||
new SortClause(
|
||||
ChangeField.UPDATED.getName(), SolrQuery.ORDER.desc),
|
||||
new SortClause(
|
||||
ChangeField.LEGACY_ID.getName(), SolrQuery.ORDER.desc));
|
||||
}
|
||||
|
||||
private void commit(SolrServer server) throws IOException {
|
||||
@@ -319,17 +309,8 @@ class SolrChangeIndex implements ChangeIndex, LifecycleListener {
|
||||
doc.addField(name, value);
|
||||
}
|
||||
} else if (type == FieldType.TIMESTAMP) {
|
||||
@SuppressWarnings("deprecation")
|
||||
boolean legacy = values.getField() == ChangeField.LEGACY_UPDATED;
|
||||
if (legacy) {
|
||||
for (Object value : values.getValues()) {
|
||||
int t = queryBuilder.toIndexTimeInMinutes((Timestamp) value);
|
||||
doc.addField(name, t);
|
||||
}
|
||||
} else {
|
||||
for (Object value : values.getValues()) {
|
||||
doc.addField(name, ((Timestamp) value).getTime());
|
||||
}
|
||||
for (Object value : values.getValues()) {
|
||||
doc.addField(name, ((Timestamp) value).getTime());
|
||||
}
|
||||
} else if (type == FieldType.EXACT
|
||||
|| type == FieldType.PREFIX
|
||||
|
||||
Reference in New Issue
Block a user