2
0

pgtype DecodeText and DecodeBinary do not copy

They now take ownership of the src argument.

Needed to change Scan to make a copy of []byte arguments as lib/pq apparently
gives Scan a shared memory buffer.
This commit is contained in:
Jack Christensen
2017-04-29 12:23:51 -05:00
parent e8eaad520b
commit 932caef600
57 changed files with 188 additions and 93 deletions
+1 -5
View File
@@ -37,12 +37,8 @@ func (dst *Jsonb) DecodeBinary(ci *ConnInfo, src []byte) error {
if src[0] != 1 {
return fmt.Errorf("unknown jsonb version number %d", src[0])
}
src = src[1:]
buf := make([]byte, len(src))
copy(buf, src)
*dst = Jsonb{Bytes: buf, Status: Present}
*dst = Jsonb{Bytes: src[1:], Status: Present}
return nil
}