Skip to content

Commit 66b7d5c

Browse files
committed
Merge pull request #345 from go-sql-driver/converter
Small converter improvements
2 parents a8d59c6 + d93467b commit 66b7d5c

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

statement.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"database/sql/driver"
1313
"fmt"
1414
"reflect"
15+
"strconv"
1516
)
1617

1718
type mysqlStmt struct {
@@ -119,7 +120,7 @@ func (stmt *mysqlStmt) Query(args []driver.Value) (driver.Rows, error) {
119120

120121
type converter struct{}
121122

122-
func (converter) ConvertValue(v interface{}) (driver.Value, error) {
123+
func (c converter) ConvertValue(v interface{}) (driver.Value, error) {
123124
if driver.IsValue(v) {
124125
return v, nil
125126
}
@@ -131,15 +132,15 @@ func (converter) ConvertValue(v interface{}) (driver.Value, error) {
131132
if rv.IsNil() {
132133
return nil, nil
133134
}
134-
return driver.DefaultParameterConverter.ConvertValue(rv.Elem().Interface())
135+
return c.ConvertValue(rv.Elem().Interface())
135136
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
136137
return rv.Int(), nil
137138
case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32:
138139
return int64(rv.Uint()), nil
139140
case reflect.Uint64:
140141
u64 := rv.Uint()
141142
if u64 >= 1<<63 {
142-
return fmt.Sprintf("%d", u64), nil
143+
return strconv.FormatUint(u64, 10), nil
143144
}
144145
return int64(u64), nil
145146
case reflect.Float32, reflect.Float64:

0 commit comments

Comments
 (0)