Query History: Count using SQL, not post query (#82208)

* Count in SQL, not externally

* Fix linter
This commit is contained in:
Kristina
2024-02-20 07:32:40 -06:00
committed by GitHub
parent 1c8a2f136d
commit 9d6da82e36
2 changed files with 27 additions and 16 deletions
+5 -5
View File
@@ -45,7 +45,7 @@ func (s QueryHistoryService) createQuery(ctx context.Context, user *user.SignedI
// searchQueries searches for queries in query history based on provided parameters
func (s QueryHistoryService) searchQueries(ctx context.Context, user *user.SignedInUser, query SearchInQueryHistoryQuery) (QueryHistorySearchResult, error) {
var dtos []QueryHistoryDTO
var allQueries []any
var totalCount int
if query.To <= 0 {
query.To = s.now().Unix()
@@ -73,7 +73,7 @@ func (s QueryHistoryService) searchQueries(ctx context.Context, user *user.Signe
query_history.comment,
query_history.queries,
`)
writeStarredSQL(query, s.store, &dtosBuilder)
writeStarredSQL(query, s.store, &dtosBuilder, false)
writeFiltersSQL(query, user, s.store, &dtosBuilder)
writeSortSQL(query, s.store, &dtosBuilder)
writeLimitSQL(query, s.store, &dtosBuilder)
@@ -87,9 +87,9 @@ func (s QueryHistoryService) searchQueries(ctx context.Context, user *user.Signe
countBuilder := db.SQLBuilder{}
countBuilder.Write(`SELECT
`)
writeStarredSQL(query, s.store, &countBuilder)
writeStarredSQL(query, s.store, &countBuilder, true)
writeFiltersSQL(query, user, s.store, &countBuilder)
err = session.SQL(countBuilder.GetSQLString(), countBuilder.GetParams()...).Find(&allQueries)
_, err = session.SQL(countBuilder.GetSQLString(), countBuilder.GetParams()...).Get(&totalCount)
return err
})
@@ -99,7 +99,7 @@ func (s QueryHistoryService) searchQueries(ctx context.Context, user *user.Signe
response := QueryHistorySearchResult{
QueryHistory: dtos,
TotalCount: len(allQueries),
TotalCount: totalCount,
Page: query.Page,
PerPage: query.Limit,
}