[]byte type alias first to determine len, then determine is slice element is byte

This commit is contained in:
piyongcai 2021-12-29 08:15:44 +08:00
parent e5c333b96b
commit 7b5c6a4526

View File

@ -230,12 +230,12 @@ func (stmt *Statement) AddVar(writer clause.Writer, vars ...interface{}) {
default:
switch rv := reflect.ValueOf(v); rv.Kind() {
case reflect.Slice, reflect.Array:
if rv.Type().Elem() == reflect.TypeOf(uint8(0)) {
if rv.Len() == 0 {
writer.WriteString("(NULL)")
} else if rv.Type().Elem() == reflect.TypeOf(uint8(0)) {
stmt.Vars = append(stmt.Vars, v)
stmt.DB.Dialector.BindVarTo(writer, stmt, v)
}else if rv.Len() == 0 {
writer.WriteString("(NULL)")
} else {
}else {
writer.WriteByte('(')
for i := 0; i < rv.Len(); i++ {
if i > 0 {