diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Change.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Change.java index 26d31da32f..d2906d39e3 100644 --- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Change.java +++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Change.java @@ -39,8 +39,6 @@ import java.util.Arrays; * | * +- {@link PatchSetApproval}: a +/- vote on the change's current state. * | - * +- {@link PatchSetAncestor}: parents of this change's commit. - * | * +- {@link PatchLineComment}: comment about a specific line * *

@@ -51,11 +49,6 @@ import java.util.Arrays; * {@link Account} is usually also listed as the author and committer in the * PatchSetInfo. *

- * The {@link PatchSetAncestor} entities are a mirror of the Git commit - * metadata, providing access to the information without needing direct - * accessing Git. These entities are actually legacy artifacts from Gerrit 1.x - * and could be removed, replaced by direct RevCommit access. - *

* Each PatchSet contains zero or more Patch records, detailing the file paths * impacted by the change (otherwise known as, the file paths the author * added/deleted/modified). Sometimes a merge commit can contain zero patches, diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/PatchSetAncestor.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/PatchSetAncestor.java deleted file mode 100644 index 8412788fa0..0000000000 --- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/PatchSetAncestor.java +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (C) 2008 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.gerrit.reviewdb.client; - -import com.google.gwtorm.client.Column; -import com.google.gwtorm.client.IntKey; - -/** Ancestors of a {@link PatchSet} that the PatchSet depends upon. */ -public final class PatchSetAncestor { - public static class Id extends IntKey { - private static final long serialVersionUID = 1L; - - @Column(id = 1, name = Column.NONE) - protected PatchSet.Id patchSetId; - - @Column(id = 2) - protected int position; - - protected Id() { - patchSetId = new PatchSet.Id(); - } - - public Id(final PatchSet.Id psId, final int pos) { - this.patchSetId = psId; - this.position = pos; - } - - @Override - public PatchSet.Id getParentKey() { - return patchSetId; - } - - @Override - public int get() { - return position; - } - - @Override - protected void set(int newValue) { - position = newValue; - } - } - - @Column(id = 1, name = Column.NONE) - protected Id key; - - @Column(id = 2) - protected RevId ancestorRevision; - - protected PatchSetAncestor() { - } - - public PatchSetAncestor(final PatchSetAncestor.Id k) { - key = k; - } - - public PatchSetAncestor.Id getId() { - return key; - } - - public PatchSet.Id getPatchSet() { - return key.patchSetId; - } - - public int getPosition() { - return key.position; - } - - public RevId getAncestorRevision() { - return ancestorRevision; - } - - public void setAncestorRevision(final RevId id) { - ancestorRevision = id; - } -} diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetAncestorAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetAncestorAccess.java deleted file mode 100644 index 02459d97f9..0000000000 --- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/PatchSetAncestorAccess.java +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (C) 2008 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.gerrit.reviewdb.server; - -import com.google.gerrit.reviewdb.client.Change; -import com.google.gerrit.reviewdb.client.PatchSet; -import com.google.gerrit.reviewdb.client.PatchSetAncestor; -import com.google.gerrit.reviewdb.client.RevId; -import com.google.gwtorm.server.Access; -import com.google.gwtorm.server.OrmException; -import com.google.gwtorm.server.PrimaryKey; -import com.google.gwtorm.server.Query; -import com.google.gwtorm.server.ResultSet; - -public interface PatchSetAncestorAccess extends - Access { - @Override - @PrimaryKey("key") - PatchSetAncestor get(PatchSetAncestor.Id key) throws OrmException; - - @Query("WHERE key.patchSetId = ? ORDER BY key.position") - ResultSet ancestorsOf(PatchSet.Id id) throws OrmException; - - @Query("WHERE key.patchSetId.changeId = ?") - ResultSet byChange(Change.Id id) throws OrmException; - - @Query("WHERE key.patchSetId = ?") - ResultSet byPatchSet(PatchSet.Id id) throws OrmException; - - @Query("WHERE ancestorRevision = ?") - ResultSet descendantsOf(RevId revision) - throws OrmException; -} diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ReviewDb.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ReviewDb.java index 85f2b26ade..37dcc59857 100644 --- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ReviewDb.java +++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/ReviewDb.java @@ -92,8 +92,7 @@ public interface ReviewDb extends Schema { @Relation(id = 24) PatchSetAccess patchSets(); - @Relation(id = 25) - PatchSetAncestorAccess patchSetAncestors(); + // Deleted @Relation(id = 25) @Relation(id = 26) PatchLineCommentAccess patchComments(); diff --git a/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_generic.sql b/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_generic.sql index a62c762f5a..1162a5f15e 100644 --- a/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_generic.sql +++ b/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_generic.sql @@ -87,14 +87,6 @@ ON patch_comments (status, author_id); CREATE INDEX patch_sets_byRevision ON patch_sets (revision); --- ********************************************************************* --- PatchSetAncestorAccess --- @PrimaryKey covers: ancestorsOf --- covers: descendantsOf -CREATE INDEX patch_set_ancestors_desc -ON patch_set_ancestors (ancestor_revision); - - -- ********************************************************************* -- StarredChangeAccess -- @PrimaryKey covers: byAccount diff --git a/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_maxdb.sql b/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_maxdb.sql index f88c169656..258b7be2d6 100644 --- a/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_maxdb.sql +++ b/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_maxdb.sql @@ -96,15 +96,6 @@ CREATE INDEX patch_sets_byRevision ON patch_sets (revision) # --- ********************************************************************* --- PatchSetAncestorAccess --- @PrimaryKey covers: ancestorsOf --- covers: descendantsOf -CREATE INDEX patch_set_ancestors_desc -ON patch_set_ancestors (ancestor_revision) -# - - -- ********************************************************************* -- StarredChangeAccess -- @PrimaryKey covers: byAccount diff --git a/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_postgres.sql b/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_postgres.sql index a6b21ee78e..1fe7dce031 100644 --- a/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_postgres.sql +++ b/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/server/index_postgres.sql @@ -136,13 +136,6 @@ WHERE status = 'd'; CREATE INDEX patch_sets_byRevision ON patch_sets (revision); --- ********************************************************************* --- PatchSetAncestorAccess --- @PrimaryKey covers: ancestorsOf --- covers: descendantsOf -CREATE INDEX patch_set_ancestors_desc -ON patch_set_ancestors (ancestor_revision); - -- ********************************************************************* -- StarredChangeAccess -- @PrimaryKey covers: byAccount diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java index 0de7e38e9a..1c4b77f13c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/ChangeUtil.java @@ -25,9 +25,7 @@ import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.RestApiException; import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.PatchSet; -import com.google.gerrit.reviewdb.client.PatchSetAncestor; import com.google.gerrit.reviewdb.client.Project; -import com.google.gerrit.reviewdb.client.RevId; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.change.ChangeInserter; import com.google.gerrit.server.change.ChangeMessages; @@ -72,7 +70,6 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.text.MessageFormat; -import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @@ -149,19 +146,6 @@ public class ChangeUtil { c.setLastUpdatedOn(TimeUtil.nowTs()); } - public static void insertAncestors(ReviewDb db, PatchSet.Id id, RevCommit src) - throws OrmException { - int cnt = src.getParentCount(); - List toInsert = new ArrayList<>(cnt); - for (int p = 0; p < cnt; p++) { - PatchSetAncestor a = - new PatchSetAncestor(new PatchSetAncestor.Id(id, p + 1)); - a.setAncestorRevision(new RevId(src.getParent(p).getId().getName())); - toInsert.add(a); - } - db.patchSetAncestors().insert(toInsert); - } - public static PatchSet.Id nextPatchSetId(Map allRefs, PatchSet.Id id) { PatchSet.Id next = nextPatchSetId(id); @@ -354,7 +338,6 @@ public class ChangeUtil { db.patchComments().delete(db.patchComments().byChange(changeId)); db.patchSetApprovals().delete(db.patchSetApprovals().byChange(changeId)); - db.patchSetAncestors().delete(db.patchSetAncestors().byChange(changeId)); db.patchSets().delete(patchSets); db.changeMessages().delete(db.changeMessages().byChange(changeId)); db.starredChanges().delete(db.starredChanges().byChange(changeId)); @@ -461,7 +444,6 @@ public class ChangeUtil { // No need to delete from notedb; draft patch sets will be filtered out. db.patchComments().delete(db.patchComments().byPatchSet(patchSetId)); db.patchSetApprovals().delete(db.patchSetApprovals().byPatchSet(patchSetId)); - db.patchSetAncestors().delete(db.patchSetAncestors().byPatchSet(patchSetId)); db.patchSets().delete(Collections.singleton(patch)); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java index 344eda1719..90d6aae431 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java @@ -245,7 +245,6 @@ public class ChangeInserter extends BatchUpdate.InsertChangeOp { ReviewDb db = ctx.getDb(); ChangeControl ctl = ctx.getChangeControl(); ChangeUpdate update = ctx.getChangeUpdate(); - ChangeUtil.insertAncestors(db, patchSet.getId(), commit); if (patchSet.getGroups() == null) { patchSet.setGroups(GroupCollector.getDefaultGroups(patchSet)); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ConsistencyChecker.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ConsistencyChecker.java index 8a0a47ecfb..ddeb5c0948 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ConsistencyChecker.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ConsistencyChecker.java @@ -583,8 +583,6 @@ public class ConsistencyChecker { // historical information. db.accountPatchReviews().delete( db.accountPatchReviews().byPatchSet(psId)); - db.patchSetAncestors().delete( - db.patchSetAncestors().byPatchSet(psId)); db.patchSetApprovals().delete( db.patchSetApprovals().byPatchSet(psId)); db.patchComments().delete( diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PatchSetInserter.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PatchSetInserter.java index 68f14973b3..d4737bd685 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PatchSetInserter.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PatchSetInserter.java @@ -221,7 +221,6 @@ public class PatchSetInserter extends BatchUpdate.Op { patchSet.setRevision(new RevId(commit.name())); patchSet.setDraft(draft); - ChangeUtil.insertAncestors(db, patchSet.getId(), commit); if (groups != null) { patchSet.setGroups(groups); } else { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java index c87ed00ae4..5da4ec7e3c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java @@ -2252,7 +2252,6 @@ public class ReceiveCommits { return null; } - ChangeUtil.insertAncestors(db, newPatchSet.getId(), newCommit); if (newPatchSet.getGroups() == null) { newPatchSet.setGroups(GroupCollector.getCurrentGroups(db, change)); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/CherryPick.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/CherryPick.java index a2e9c03ddd..566a73075a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/CherryPick.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/CherryPick.java @@ -19,11 +19,9 @@ import com.google.gerrit.common.TimeUtil; import com.google.gerrit.extensions.restapi.RestApiException; import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.PatchSet; -import com.google.gerrit.reviewdb.client.PatchSetAncestor; import com.google.gerrit.reviewdb.client.PatchSetApproval; import com.google.gerrit.reviewdb.client.PatchSetInfo; import com.google.gerrit.reviewdb.client.RevId; -import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.ChangeUtil; import com.google.gerrit.server.git.BatchUpdate; import com.google.gerrit.server.git.BatchUpdate.ChangeContext; @@ -42,11 +40,9 @@ import com.google.gwtorm.server.OrmException; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.PersonIdent; -import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.transport.ReceiveCommand; import java.io.IOException; -import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -187,7 +183,6 @@ public class CherryPick extends SubmitStrategy { Change c = toMerge.change(); ps.setGroups(GroupCollector.getCurrentGroups(args.db, c)); args.db.patchSets().insert(Collections.singleton(ps)); - insertAncestors(args.db, ps.getId(), newCommit); c.setCurrentPatchSet(patchSetInfo); args.db.changes().update(Collections.singletonList(c)); @@ -247,20 +242,6 @@ public class CherryPick extends SubmitStrategy { } } - private static void insertAncestors(ReviewDb db, PatchSet.Id id, - RevCommit src) throws OrmException { - int cnt = src.getParentCount(); - List toInsert = new ArrayList<>(cnt); - for (int p = 0; p < cnt; p++) { - PatchSetAncestor a; - - a = new PatchSetAncestor(new PatchSetAncestor.Id(id, p + 1)); - a.setAncestorRevision(new RevId(src.getParent(p).getId().name())); - toInsert.add(a); - } - db.patchSetAncestors().insert(toInsert); - } - @Override public Map getNewCommits() { return newCommits; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersion.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersion.java index a4a7ddc949..1c2998821a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersion.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaVersion.java @@ -32,7 +32,7 @@ import java.util.List; /** A version of the database schema. */ public abstract class SchemaVersion { /** The current schema version. */ - public static final Class C = Schema_113.class; + public static final Class C = Schema_114.class; public static int getBinaryVersion() { return guessVersion(C); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_114.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_114.java new file mode 100644 index 0000000000..85c93d2fee --- /dev/null +++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_114.java @@ -0,0 +1,25 @@ +// Copyright (C) 2015 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.gerrit.server.schema; + +import com.google.inject.Inject; +import com.google.inject.Provider; + +public class Schema_114 extends SchemaVersion { + @Inject + Schema_114(Provider prior) { + super(prior); + } +} diff --git a/gerrit-server/src/test/java/com/google/gerrit/testutil/DisabledReviewDb.java b/gerrit-server/src/test/java/com/google/gerrit/testutil/DisabledReviewDb.java index d5444e3f47..c059416eca 100644 --- a/gerrit-server/src/test/java/com/google/gerrit/testutil/DisabledReviewDb.java +++ b/gerrit-server/src/test/java/com/google/gerrit/testutil/DisabledReviewDb.java @@ -30,7 +30,6 @@ import com.google.gerrit.reviewdb.server.ChangeAccess; import com.google.gerrit.reviewdb.server.ChangeMessageAccess; import com.google.gerrit.reviewdb.server.PatchLineCommentAccess; import com.google.gerrit.reviewdb.server.PatchSetAccess; -import com.google.gerrit.reviewdb.server.PatchSetAncestorAccess; import com.google.gerrit.reviewdb.server.PatchSetApprovalAccess; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.reviewdb.server.SchemaVersionAccess; @@ -159,11 +158,6 @@ public class DisabledReviewDb implements ReviewDb { throw new AssertionError(MESSAGE); } - @Override - public PatchSetAncestorAccess patchSetAncestors() { - throw new AssertionError(MESSAGE); - } - @Override public PatchLineCommentAccess patchComments() { throw new AssertionError(MESSAGE);