Browse Source

Remove unnecessary updates to issue indexer (#3212)

tags/v1.21.12.1
Ethan Koenig Lauris BH 8 years ago
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