Add search fields for # of changed lines.

Based off https://gerrit-review.googlesource.com/#/c/52190, but
implementing the final suggestion of indexing raw delta counts and
allowing arbitrary range queries off of those.

Also upgrade Lucene to 4.8.1 as this was released since the last
schema change (which was on 4.7.0).

Change-Id: Ia8a677e71e133f68eced4c5394df1d23efe7f12a
This commit is contained in:
Jeff Davidson
2014-05-21 18:48:33 -07:00
parent 063f658042
commit 45d0a772e1
19 changed files with 478 additions and 45 deletions

View File

@@ -813,6 +813,44 @@ public abstract class AbstractQueryChangesTest {
assertResultEquals(change1, results.get(1));
}
@Test
public void bySize() throws Exception {
TestRepository<InMemoryRepository> repo = createProject("repo");
// added = 3, deleted = 0, delta = 3
RevCommit commit1 = repo.parseBody(
repo.commit().add("file1", "foo\n\foo\nfoo").create());
// added = 0, deleted = 2, delta = 2
RevCommit commit2 = repo.parseBody(
repo.commit().parent(commit1).add("file1", "foo").create());
Change change1 = newChange(repo, commit1, null, null, null).insert();
Change change2 = newChange(repo, commit2, null, null, null).insert();
assertTrue(query("added:>4").isEmpty());
assertResultEquals(change1, queryOne("added:3"));
assertResultEquals(change1, queryOne("added:>2"));
assertResultEquals(change1, queryOne("added:>=3"));
assertResultEquals(change2, queryOne("added:<1"));
assertResultEquals(change2, queryOne("added:<=0"));
assertTrue(query("deleted:>3").isEmpty());
assertResultEquals(change2, queryOne("deleted:2"));
assertResultEquals(change2, queryOne("deleted:>1"));
assertResultEquals(change2, queryOne("deleted:>=2"));
assertResultEquals(change1, queryOne("deleted:<1"));
assertResultEquals(change1, queryOne("deleted:<=0"));
for (String str : Lists.newArrayList("delta", "size")) {
assertTrue(query(str + ":<2").isEmpty());
assertResultEquals(change1, queryOne(str + ":3"));
assertResultEquals(change1, queryOne(str + ":>2"));
assertResultEquals(change1, queryOne(str + ":>=3"));
assertResultEquals(change2, queryOne(str + ":<3"));
assertResultEquals(change2, queryOne(str + ":<=2"));
}
}
@Test
public void byDefault() throws Exception {
TestRepository<InMemoryRepository> repo = createProject("repo");

View File

@@ -54,6 +54,11 @@ public class LuceneQueryChangesV7Test extends AbstractQueryChangesTest {
@Override
@Test
public void byDefault() {}
@Ignore
@Override
@Test
public void bySize() {}
// End tests for features not supported in V7.
@Test