2
0

Add arrays to all other pgtypes

This commit is contained in:
Jack Christensen
2017-03-04 11:48:53 -06:00
parent aabf43a725
commit ffb949054d
18 changed files with 2614 additions and 33 deletions
+6
View File
@@ -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)