From eebc6975def21dd3e2faa3a66b3627993ef2a0d4 Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Tue, 12 May 2020 15:45:16 -0500 Subject: [PATCH] Add EncodeText support for CompositeType --- composite_type.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/composite_type.go b/composite_type.go index 6baa639a..4aa65c3d 100644 --- a/composite_type.go +++ b/composite_type.go @@ -198,6 +198,22 @@ func (dst *CompositeType) DecodeText(ci *ConnInfo, buf []byte) error { return nil } +func (src CompositeType) EncodeText(ci *ConnInfo, buf []byte) (newBuf []byte, err error) { + switch src.status { + case Null: + return nil, nil + case Undefined: + return nil, errUndefined + } + + b := NewCompositeTextBuilder(ci, buf) + for _, f := range src.fields { + b.AppendEncoder(f) + } + + return b.Finish() +} + type CompositeBinaryScanner struct { ci *ConnInfo rp int