refactor function convertParams's default case (#3208)

This commit is contained in:
Qt 2020-07-28 17:25:03 +08:00 committed by GitHub
parent c7667e9299
commit a140908839
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -50,14 +50,8 @@ func ExplainSQL(sql string, numericPlaceholder *regexp.Regexp, escaper string, a
case string: case string:
vars[idx] = escaper + strings.Replace(v, escaper, "\\"+escaper, -1) + escaper vars[idx] = escaper + strings.Replace(v, escaper, "\\"+escaper, -1) + escaper
default: default:
if v == nil {
vars[idx] = "NULL"
} else {
rv := reflect.ValueOf(v) rv := reflect.ValueOf(v)
if v == nil || !rv.IsValid() || rv.Kind() == reflect.Ptr && rv.IsNil() {
if !rv.IsValid() {
vars[idx] = "NULL"
} else if rv.Kind() == reflect.Ptr && rv.IsNil() {
vars[idx] = "NULL" vars[idx] = "NULL"
} else if valuer, ok := v.(driver.Valuer); ok { } else if valuer, ok := v.(driver.Valuer); ok {
v, _ = valuer.Value() v, _ = valuer.Value()
@ -71,12 +65,10 @@ func ExplainSQL(sql string, numericPlaceholder *regexp.Regexp, escaper string, a
return return
} }
} }
vars[idx] = escaper + strings.Replace(fmt.Sprint(v), escaper, "\\"+escaper, -1) + escaper vars[idx] = escaper + strings.Replace(fmt.Sprint(v), escaper, "\\"+escaper, -1) + escaper
} }
} }
} }
}
for idx, v := range vars { for idx, v := range vars {
convertParams(v, idx) convertParams(v, idx)