From e81444b74c8d2d420c943f5f1b0d0a5737a7a461 Mon Sep 17 00:00:00 2001 From: ckt1031 <65409152+ckt1031@users.noreply.github.com> Date: Thu, 19 Oct 2023 21:13:41 +0800 Subject: [PATCH] fix: SumUsedToken --- model/log.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/model/log.go b/model/log.go index 134bb44c..ce5e7cf0 100644 --- a/model/log.go +++ b/model/log.go @@ -166,7 +166,14 @@ func SumUsedQuota(logType int, startTimestamp int64, endTimestamp int64, modelNa } func SumUsedToken(logType int, startTimestamp int64, endTimestamp int64, modelName string, username string, tokenName string) (token int) { - tx := DB.Table("logs").Select("ifnull(sum(prompt_tokens),0) + ifnull(sum(completion_tokens),0)") + var tx *gorm.DB + if common.UsingPostgreSQL { + // PostgreSQL does not support the ISNULL function + tx = DB.Table("logs").Select("COALESCE(sum(prompt_tokens),0) + COALESCE(sum(completion_tokens),0)") + } else { + tx = DB.Table("logs").Select("ifnull(sum(prompt_tokens),0) + ifnull(sum(completion_tokens),0)") + } + if username != "" { tx = tx.Where("username = ?", username) }