Don't access scanner's fields if already defined data type
This commit is contained in:
parent
55945afb34
commit
58e34726df
14
dialect.go
14
dialect.go
@ -94,14 +94,16 @@ var ParseFieldStructForDialect = func(field *StructField, dialect Dialect) (fiel
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get scanner's real value
|
// Get scanner's real value
|
||||||
var getScannerValue func(reflect.Value)
|
if dataType == "" {
|
||||||
getScannerValue = func(value reflect.Value) {
|
var getScannerValue func(reflect.Value)
|
||||||
fieldValue = value
|
getScannerValue = func(value reflect.Value) {
|
||||||
if _, isScanner := reflect.New(fieldValue.Type()).Interface().(sql.Scanner); isScanner && fieldValue.Kind() == reflect.Struct {
|
fieldValue = value
|
||||||
getScannerValue(fieldValue.Field(0))
|
if _, isScanner := reflect.New(fieldValue.Type()).Interface().(sql.Scanner); isScanner && fieldValue.Kind() == reflect.Struct {
|
||||||
|
getScannerValue(fieldValue.Field(0))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
getScannerValue(fieldValue)
|
||||||
}
|
}
|
||||||
getScannerValue(fieldValue)
|
|
||||||
|
|
||||||
// Default Size
|
// Default Size
|
||||||
if num, ok := field.TagSettings["SIZE"]; ok {
|
if num, ok := field.TagSettings["SIZE"]; ok {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user