fix: ignore nil query

This commit is contained in:
chyroc 2023-02-02 17:37:33 +08:00
parent 4d6b70ec88
commit 84224b7deb
2 changed files with 10 additions and 0 deletions

View File

@ -311,6 +311,9 @@ func (stmt *Statement) BuildCondition(query interface{}, args ...interface{}) []
conds := make([]clause.Expression, 0, 4)
args = append([]interface{}{query}, args...)
for idx, arg := range args {
if arg == nil {
continue
}
if valuer, ok := arg.(driver.Valuer); ok {
arg, _ = valuer.Value()
}

View File

@ -35,6 +35,13 @@ func TestWhereCloneCorruption(t *testing.T) {
}
}
func TestNilCondition(t *testing.T) {
s := new(Statement)
if len(s.BuildCondition(nil)) != 0 {
t.Errorf("Nil condition should be empty")
}
}
func TestNameMatcher(t *testing.T) {
for k, v := range map[string][]string{
"table.name": {"table", "name"},