Add arrays to all other pgtypes
This commit is contained in:
@@ -18,6 +18,7 @@ func (dst *Int2Array) ConvertFrom(src interface{}) error {
|
||||
switch value := src.(type) {
|
||||
case Int2Array:
|
||||
*dst = value
|
||||
|
||||
case []int16:
|
||||
if value == nil {
|
||||
*dst = Int2Array{Status: Null}
|
||||
@@ -36,6 +37,7 @@ func (dst *Int2Array) ConvertFrom(src interface{}) error {
|
||||
Status: Present,
|
||||
}
|
||||
}
|
||||
|
||||
case []uint16:
|
||||
if value == nil {
|
||||
*dst = Int2Array{Status: Null}
|
||||
@@ -54,6 +56,7 @@ func (dst *Int2Array) ConvertFrom(src interface{}) error {
|
||||
Status: Present,
|
||||
}
|
||||
}
|
||||
|
||||
default:
|
||||
if originalSrc, ok := underlyingSliceType(src); ok {
|
||||
return dst.ConvertFrom(originalSrc)
|
||||
@@ -66,6 +69,7 @@ func (dst *Int2Array) ConvertFrom(src interface{}) error {
|
||||
|
||||
func (src *Int2Array) AssignTo(dst interface{}) error {
|
||||
switch v := dst.(type) {
|
||||
|
||||
case *[]int16:
|
||||
if src.Status == Present {
|
||||
*v = make([]int16, len(src.Elements))
|
||||
@@ -77,6 +81,7 @@ func (src *Int2Array) AssignTo(dst interface{}) error {
|
||||
} else {
|
||||
*v = nil
|
||||
}
|
||||
|
||||
case *[]uint16:
|
||||
if src.Status == Present {
|
||||
*v = make([]uint16, len(src.Elements))
|
||||
@@ -88,6 +93,7 @@ func (src *Int2Array) AssignTo(dst interface{}) error {
|
||||
} else {
|
||||
*v = nil
|
||||
}
|
||||
|
||||
default:
|
||||
if originalDst, ok := underlyingPtrSliceType(dst); ok {
|
||||
return src.AssignTo(originalDst)
|
||||
|
||||
Reference in New Issue
Block a user