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) rowElemPtr := scanContext.rowElemValuePtr(index)
if rowElemPtr != nil && !rowElemPtr.IsNil() { if rowElemPtr.IsValid() && !rowElemPtr.IsNil() {
updated = true updated = true
err = appendElemToSlice(slicePtrValue, *rowElemPtr) err = appendElemToSlice(slicePtrValue, rowElemPtr)
if err != nil { if err != nil {
return return
} }

View file

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