Browse Source

Remove unnecessary updates to issue indexer (#3212)

for-closed-social
Ethan Koenig 7 years ago
committed by Lauris BH
parent
commit
6abfa48c0e
3 changed files with 22 additions and 2 deletions
  1. +1
    -1
      models/issue.go
  2. +20
    -0
      models/issue_indexer.go
  3. +1
    -1
      models/issue_milestone.go

+ 1
- 1
models/issue.go View File

@ -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 {
return err
}
UpdateIssueIndexer(issue.ID)
UpdateIssueIndexerCols(issue.ID, cols...)
return nil
}

+ 20
- 0
models/issue_indexer.go View File

@ -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
func UpdateIssueIndexer(issueID int64) {
select {

+ 1
- 1
models/issue_milestone.go View File

@ -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.

Loading…
Cancel
Save