gerrit/gerrit-reviewdb
Logan Hanks 296cd898f3 Add hasReviewStarted, pendingReviewers to Change
The introduction of the WIP property on changes gives us the ability to
define a new concept: whether a change has started review. A change
starts review as soon as its WIP property is set to false. Starting
review is permanent; hasReviewStarted remains true even if the change
returns to WIP. Review also starts immediately on any change that
is not WIP at creation time. This makes it possible to suppress
notifications on WIP changes according to whether notifications have
previously been sent.

Another two properties we can add now are pendingReviewers and
pendingReviewersByEmail. These are the sets of reviewer mutations that
have occurred since the change entered its current WIP phase. This is
necessary so we can correctly address all modified reviewers in
notifications when the change leaves WIP, and so PolyGerrit can indicate
to the change owner which reviewers haven't been notified yet.

The hasReviewStarted property is a simple boolean column in ReviewDb,
and is derived by NoteDb from Work-in-progress footers.

The pendingReviewers and pendingReviewersByEmail properties are only
available when changes are read from NoteDb (they reset to empty when a
change is read or rebuilt from ReviewDb). They are also derived from
Work-in-progress footers. Changes that are ready for review have no
pending reviewers. Pending reviewers are indexed, but we do not provide
any new search operators for them at this time.

Change-Id: I05c7a21b078e5b1a49940d16c1196c296cd3e25c
2017-06-14 14:13:29 -07:00
..
src Add hasReviewStarted, pendingReviewers to Change 2017-06-14 14:13:29 -07:00
BUILD Bazel: Reformat build files 2016-12-07 11:33:07 +00:00