Revert scanContext.rowElemValuePtr func signature

This commit is contained in:
mlaflamm 2021-09-15 09:03:05 -04:00 committed by go-jet
parent fee77b695a
commit 8d43829bc5
2 changed files with 12 additions and 12 deletions

View file

@ -214,9 +214,9 @@ func mapRowToBaseTypeSlice(scanContext *scanContext, slicePtrValue reflect.Value
}
rowElemPtr := scanContext.rowElemValuePtr(index)
if rowElemPtr != nil && !rowElemPtr.IsNil() {
if rowElemPtr.IsValid() && !rowElemPtr.IsNil() {
updated = true
err = appendElemToSlice(slicePtrValue, *rowElemPtr)
err = appendElemToSlice(slicePtrValue, rowElemPtr)
if err != nil {
return
}

View file

@ -222,23 +222,23 @@ func (s *scanContext) rowElem(index int) interface{} {
return value
}
func (s *scanContext) rowElemValuePtr(index int) *reflect.Value {
func (s *scanContext) rowElemValuePtr(index int) reflect.Value {
rowElem := s.rowElem(index)
rowElemValue := reflect.ValueOf(rowElem)
if !rowElemValue.IsValid() {
return reflect.Value{}
}
if rowElemValue.Kind() == reflect.Ptr {
return &rowElemValue
return rowElemValue
}
if rowElemValue.CanAddr() {
addr := rowElemValue.Addr()
return &addr
return rowElemValue.Addr()
}
if rowElemValue.IsValid() {
newElem := reflect.New(rowElemValue.Type())
newElem.Elem().Set(rowElemValue)
return &newElem
}
return nil
newElem := reflect.New(rowElemValue.Type())
newElem.Elem().Set(rowElemValue)
return newElem
}