2
0

Make CompositeType status private

This commit is contained in:
Jack Christensen
2020-05-12 08:01:10 -05:00
parent 4a6bd41a36
commit c41160bcbb
+10 -10
View File
@@ -9,7 +9,7 @@ import (
type CompositeType struct { type CompositeType struct {
fields []Value fields []Value
Status Status status Status
} }
// NewCompositeType creates a Composite object, which acts as a "schema" for // NewCompositeType creates a Composite object, which acts as a "schema" for
@@ -24,20 +24,20 @@ func NewCompositeType(fields ...Value) *CompositeType {
} }
func (src CompositeType) Get() interface{} { func (src CompositeType) Get() interface{} {
switch src.Status { switch src.status {
case Present: case Present:
return src return src
case Null: case Null:
return nil return nil
default: default:
return src.Status return src.status
} }
} }
// Set is called internally when passing query arguments. // Set is called internally when passing query arguments.
func (dst *CompositeType) Set(src interface{}) error { func (dst *CompositeType) Set(src interface{}) error {
if src == nil { if src == nil {
*dst = CompositeType{Status: Null} *dst = CompositeType{status: Null}
return nil return nil
} }
@@ -51,7 +51,7 @@ func (dst *CompositeType) Set(src interface{}) error {
return err return err
} }
} }
dst.Status = Present dst.status = Present
default: default:
return errors.Errorf("Can not convert %v to Composite", src) return errors.Errorf("Can not convert %v to Composite", src)
} }
@@ -65,7 +65,7 @@ func (src CompositeType) AssignTo(dst interface{}) error {
} }
func (src CompositeType) EncodeBinary(ci *ConnInfo, buf []byte) (newBuf []byte, err error) { func (src CompositeType) EncodeBinary(ci *ConnInfo, buf []byte) (newBuf []byte, err error) {
switch src.Status { switch src.status {
case Null: case Null:
return nil, nil return nil, nil
case Undefined: case Undefined:
@@ -80,7 +80,7 @@ func (src CompositeType) EncodeBinary(ci *ConnInfo, buf []byte) (newBuf []byte,
// type mismatch // type mismatch
func (dst *CompositeType) DecodeBinary(ci *ConnInfo, buf []byte) (err error) { func (dst *CompositeType) DecodeBinary(ci *ConnInfo, buf []byte) (err error) {
if buf == nil { if buf == nil {
dst.Status = Null dst.status = Null
return nil return nil
} }
@@ -107,7 +107,7 @@ func (dst *CompositeType) DecodeBinary(ci *ConnInfo, buf []byte) (err error) {
return scanner.Err() return scanner.Err()
} }
dst.Status = Present dst.status = Present
return nil return nil
} }
@@ -124,7 +124,7 @@ func (src CompositeType) Scan(isNull *bool, dst ...interface{}) BinaryDecoderFun
return err return err
} }
if src.Status == Null { if src.status == Null {
*isNull = true *isNull = true
return nil return nil
} }
@@ -148,7 +148,7 @@ func (dst *CompositeType) SetFields(values ...interface{}) error {
return err return err
} }
} }
dst.Status = Present dst.status = Present
return nil return nil
} }