Skip to content

Commit fa81f1e

Browse files
authored
Fix GetUserFeedback on ClickHouse with HAVING clause (#1157)
1 parent 7c37252 commit fa81f1e

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

storage/data/database_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,12 @@ func (suite *baseTestSuite) TestFeedback() {
392392
suite.NoError(err)
393393
err = suite.Database.Optimize()
394394
suite.NoError(err)
395+
// Get feedback by user with value filter
396+
ret, err = suite.Database.GetUserFeedback(ctx, "0", lo.ToPtr(time.Now()),
397+
expression.FeedbackTypeExpression{FeedbackType: positiveFeedbackType, Value: 50, ExprType: expression.Greater})
398+
suite.NoError(err)
399+
suite.Equal(1, len(ret))
400+
suite.Equal(float64(100), ret[0].Value)
395401
ret, err = suite.Database.GetUserFeedback(ctx, "0", lo.ToPtr(time.Now()), expression.MustParseFeedbackTypeExpression(positiveFeedbackType))
396402
suite.NoError(err)
397403
suite.Equal(1, len(ret))

storage/data/sql.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -972,7 +972,11 @@ func (d *SQLDatabase) GetUserFeedback(ctx context.Context, userId string, endTim
972972
for _, feedbackType := range feedbackTypes {
973973
db = FeedbackTypeExpressionToSQL(db, feedbackType)
974974
}
975-
tx.Where(db)
975+
if d.driver == ClickHouse {
976+
tx.Having(db)
977+
} else {
978+
tx.Where(db)
979+
}
976980
}
977981
result, err := tx.Rows()
978982
if err != nil {

0 commit comments

Comments
 (0)