Skip to content

Commit be06dee

Browse files
lunnytechknowlogick
authored andcommitted
Move code indexer related code to a new package (#9191)
* move code indexer related code to a new package * fix lint * fix tests * fix fmt * GetMaxID support interface parameter
1 parent baf089e commit be06dee

File tree

9 files changed

+434
-379
lines changed

9 files changed

+434
-379
lines changed

integrations/repo_search_test.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"time"
1111

1212
"code.gitea.io/gitea/models"
13+
code_indexer "code.gitea.io/gitea/modules/indexer/code"
1314
"code.gitea.io/gitea/modules/setting"
1415

1516
"github.com/PuerkitoBio/goquery"
@@ -34,7 +35,7 @@ func TestSearchRepo(t *testing.T) {
3435
repo, err := models.GetRepositoryByOwnerAndName("user2", "repo1")
3536
assert.NoError(t, err)
3637

37-
executeIndexer(t, repo, models.UpdateRepoIndexer)
38+
executeIndexer(t, repo, code_indexer.UpdateRepoIndexer)
3839

3940
testSearch(t, "/user2/repo1/search?q=Description&page=1", []string{"README.md"})
4041

@@ -44,8 +45,8 @@ func TestSearchRepo(t *testing.T) {
4445
repo, err = models.GetRepositoryByOwnerAndName("user2", "glob")
4546
assert.NoError(t, err)
4647

47-
executeIndexer(t, repo, models.DeleteRepoFromIndexer)
48-
executeIndexer(t, repo, models.UpdateRepoIndexer)
48+
executeIndexer(t, repo, code_indexer.DeleteRepoFromIndexer)
49+
executeIndexer(t, repo, code_indexer.UpdateRepoIndexer)
4950

5051
testSearch(t, "/user2/glob/search?q=loren&page=1", []string{"a.txt"})
5152
testSearch(t, "/user2/glob/search?q=file3&page=1", []string{"x/b.txt"})

models/models.go

+25
Original file line numberDiff line numberDiff line change
@@ -254,3 +254,28 @@ func MaxBatchInsertSize(bean interface{}) int {
254254
func Count(bean interface{}) (int64, error) {
255255
return x.Count(bean)
256256
}
257+
258+
// IsTableNotEmpty returns true if table has at least one record
259+
func IsTableNotEmpty(tableName string) (bool, error) {
260+
return x.Table(tableName).Exist()
261+
}
262+
263+
// DeleteAllRecords will delete all the records of this table
264+
func DeleteAllRecords(tableName string) error {
265+
_, err := x.Exec(fmt.Sprintf("DELETE FROM %s", tableName))
266+
return err
267+
}
268+
269+
// GetMaxID will return max id of the table
270+
func GetMaxID(beanOrTableName interface{}) (maxID int64, err error) {
271+
_, err = x.Select("MAX(id)").Table(beanOrTableName).Get(&maxID)
272+
return
273+
}
274+
275+
// FindByMaxID filled results as the condition from database
276+
func FindByMaxID(maxID int64, limit int, results interface{}) error {
277+
return x.Where("id <= ?", maxID).
278+
OrderBy("id DESC").
279+
Limit(limit).
280+
Find(results)
281+
}

models/repo.go

-4
Original file line numberDiff line numberDiff line change
@@ -1112,10 +1112,6 @@ func MigrateRepositoryGitData(doer, u *User, repo *Repository, opts api.MigrateR
11121112
repo, err = CleanUpMigrateInfo(repo)
11131113
}
11141114

1115-
if err != nil && !repo.IsEmpty {
1116-
UpdateRepoIndexer(repo)
1117-
}
1118-
11191115
return repo, err
11201116
}
11211117

0 commit comments

Comments
 (0)