2
0

Convert bytea to Codec

This commit is contained in:
Jack Christensen
2022-01-08 18:33:08 -06:00
parent c6f3e03a61
commit f573cde09c
7 changed files with 297 additions and 909 deletions
+13 -14
View File
@@ -262,15 +262,17 @@ func (rows *connRows) Values() ([]interface{}, error) {
values = append(values, string(buf))
}
case BinaryFormatCode:
decoder, ok := value.(pgtype.BinaryDecoder)
if !ok {
decoder = &pgtype.GenericBinary{}
if decoder, ok := value.(pgtype.BinaryDecoder); ok {
err := decoder.DecodeBinary(rows.connInfo, buf)
if err != nil {
rows.fatal(err)
}
values = append(values, value.Get())
} else {
newBuf := make([]byte, len(buf))
copy(newBuf, buf)
values = append(values, newBuf)
}
err := decoder.DecodeBinary(rows.connInfo, buf)
if err != nil {
rows.fatal(err)
}
values = append(values, value.Get())
default:
rows.fatal(errors.New("Unknown format code"))
}
@@ -286,12 +288,9 @@ func (rows *connRows) Values() ([]interface{}, error) {
case TextFormatCode:
values = append(values, string(buf))
case BinaryFormatCode:
decoder := &pgtype.GenericBinary{}
err := decoder.DecodeBinary(rows.connInfo, buf)
if err != nil {
rows.fatal(err)
}
values = append(values, decoder.Get())
newBuf := make([]byte, len(buf))
copy(newBuf, buf)
values = append(values, newBuf)
default:
rows.fatal(errors.New("Unknown format code"))
}