Make CompositeType status private
This commit is contained in:
+10
-10
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user