gerrit/gerrit-sshd
Edwin Kempin c89c21cd6d Load change in ChangeNotes.Factory
ChangeNotes.Factory now loads the change from the database. This
should become the only place where changes are loaded from the
database, but for this more work is required in follow-up changes.

We need to load the change for the database also when notedb is
enabled. This is because for now we still want to write updates to the
database when notedb is enabled. In order to write update to the
database the change instance must be created by loading it from the
database because otherwise its row version is not set and then all
updates to the database fail with OrmConcurrencyException.

The signature of the ChangeNotes.Factory#create is changed to require
project name and a change ID instead of a change. Project name is not
needed yet, since the change is always loaded by change ID from the
database, but later when reviewdb is gone we will need the project
name to instantiate the change from notedb.

For changes that have been loaded from the secondary index we don't
want to reload them from the database. This is why a new
ChangeNotes.Factory#createFromIndexedChange method is added that still
takes a change as input.

Change-Id: Idc274d6938f989b4d7fa49ee496d7ac84c749455
Signed-off-by: Edwin Kempin <ekempin@google.com>
2016-02-05 10:59:51 +01:00
..
2016-02-05 10:59:51 +01:00