From c952d48a5c8a3678c5bcdac6f247cc78bb749824 Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Wed, 23 Nov 2016 12:29:21 -0600 Subject: [PATCH] Return first err in decodeJSONB fixes #212 --- values.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/values.go b/values.go index 8a7a49cb..8d2bfefd 100644 --- a/values.go +++ b/values.go @@ -2081,12 +2081,16 @@ func decodeJSONB(vr *ValueReader, d interface{}) error { } if vr.Type().DataType != JsonbOid { - vr.Fatal(ProtocolError(fmt.Sprintf("Cannot decode oid %v into jsonb", vr.Type().DataType))) + err := ProtocolError(fmt.Sprintf("Cannot decode oid %v into jsonb", vr.Type().DataType)) + vr.Fatal(err) + return err } bytes := vr.ReadBytes(vr.Len()) if bytes[0] != 1 { - vr.Fatal(ProtocolError(fmt.Sprintf("Unknown jsonb format byte: %x", bytes[0]))) + err := ProtocolError(fmt.Sprintf("Unknown jsonb format byte: %x", bytes[0])) + vr.Fatal(err) + return err } err := json.Unmarshal(bytes[1:], d)