From 9b20d98b32d17de26780163c8d9d9bc7c8937fff Mon Sep 17 00:00:00 2001 From: XuShuo Date: Tue, 30 Apr 2024 23:54:44 +0800 Subject: [PATCH] test: add test case for 16ddae8dfa --- clause/where_test.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/clause/where_test.go b/clause/where_test.go index ad23a4ed..9b69972e 100644 --- a/clause/where_test.go +++ b/clause/where_test.go @@ -129,6 +129,29 @@ func TestWhere(t *testing.T) { "SELECT * FROM `users` WHERE NOT ((`users`.`id` = ? AND `age` > ?) OR `score` < ?)", []interface{}{"1", 18, 100}, }, + { + []clause.Interface{clause.Select{}, clause.From{}, clause.Where{ + Exprs: []clause.Expression{clause.Expr{ + SQL: "`score` <= ? || `score` > ?", + Vars: []interface{}{100, 20}, + }}, + }}, + "SELECT * FROM `users` WHERE `score` <= ? || `score` > ?", + []interface{}{100, 20}, + }, + { + []clause.Interface{clause.Select{}, clause.From{}, clause.Where{ + Exprs: []clause.Expression{clause.Expr{ + SQL: "`score` <= ? || `score` > ?", + Vars: []interface{}{100, 20}, + }, clause.Expr{ + SQL: "`score` > ?", + Vars: []interface{}{0}, + }}, + }}, + "SELECT * FROM `users` WHERE (`score` <= ? || `score` > ?) AND `score` > ?", + []interface{}{100, 20, 0}, + }, } for idx, result := range results {