diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2019-12-09 03:15:35 +0800 |
---|---|---|
committer | techknowlogick <techknowlogick@gitea.io> | 2019-12-08 14:15:35 -0500 |
commit | be06dee04ce46de2da222fc9b2be4fc3b68b816d (patch) | |
tree | 01dacbca7efd24412c7762b41d34f08afcca3e87 /models/models.go | |
parent | baf089e5b918fd967503e79022d3429b945359ef (diff) | |
download | gitea-be06dee04ce46de2da222fc9b2be4fc3b68b816d.tar.gz gitea-be06dee04ce46de2da222fc9b2be4fc3b68b816d.zip |
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
Diffstat (limited to 'models/models.go')
-rw-r--r-- | models/models.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/models/models.go b/models/models.go index 854cb33b14..8c10e7abfc 100644 --- a/models/models.go +++ b/models/models.go @@ -254,3 +254,28 @@ func MaxBatchInsertSize(bean interface{}) int { func Count(bean interface{}) (int64, error) { return x.Count(bean) } + +// IsTableNotEmpty returns true if table has at least one record +func IsTableNotEmpty(tableName string) (bool, error) { + return x.Table(tableName).Exist() +} + +// DeleteAllRecords will delete all the records of this table +func DeleteAllRecords(tableName string) error { + _, err := x.Exec(fmt.Sprintf("DELETE FROM %s", tableName)) + return err +} + +// GetMaxID will return max id of the table +func GetMaxID(beanOrTableName interface{}) (maxID int64, err error) { + _, err = x.Select("MAX(id)").Table(beanOrTableName).Get(&maxID) + return +} + +// FindByMaxID filled results as the condition from database +func FindByMaxID(maxID int64, limit int, results interface{}) error { + return x.Where("id <= ?", maxID). + OrderBy("id DESC"). + Limit(limit). + Find(results) +} |