Remove unnecessary updates to issue indexer (#3212)
This commit is contained in:
parent
eb2b4df0ed
commit
6abfa48c0e
3 changed files with 22 additions and 2 deletions
|
@ -582,7 +582,7 @@ func updateIssueCols(e Engine, issue *Issue, cols ...string) error {
|
||||||
if _, err := e.ID(issue.ID).Cols(cols...).Update(issue); err != nil {
|
if _, err := e.ID(issue.ID).Cols(cols...).Update(issue); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
UpdateIssueIndexer(issue.ID)
|
UpdateIssueIndexerCols(issue.ID, cols...)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -102,6 +102,26 @@ func (issue *Issue) update() indexer.IssueIndexerUpdate {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// updateNeededCols whether a change to the specified columns requires updating
|
||||||
|
// the issue indexer
|
||||||
|
func updateNeededCols(cols []string) bool {
|
||||||
|
for _, col := range cols {
|
||||||
|
switch col {
|
||||||
|
case "name", "content":
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// UpdateIssueIndexerCols update an issue in the issue indexer, given changes
|
||||||
|
// to the specified columns
|
||||||
|
func UpdateIssueIndexerCols(issueID int64, cols ...string) {
|
||||||
|
if updateNeededCols(cols) {
|
||||||
|
UpdateIssueIndexer(issueID)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// UpdateIssueIndexer add/update an issue to the issue indexer
|
// UpdateIssueIndexer add/update an issue to the issue indexer
|
||||||
func UpdateIssueIndexer(issueID int64) {
|
func UpdateIssueIndexer(issueID int64) {
|
||||||
select {
|
select {
|
||||||
|
|
|
@ -282,7 +282,7 @@ func changeMilestoneAssign(e *xorm.Session, doer *User, issue *Issue, oldMilesto
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return updateIssue(e, issue)
|
return updateIssueCols(e, issue, "milestone_id")
|
||||||
}
|
}
|
||||||
|
|
||||||
// ChangeMilestoneAssign changes assignment of milestone for issue.
|
// ChangeMilestoneAssign changes assignment of milestone for issue.
|
||||||
|
|
Reference in a new issue