From 9a7f3547b3e5dc2965c74d94937ddcf72f3406f2 Mon Sep 17 00:00:00 2001 From: David Symonds Date: Tue, 13 Aug 2019 10:52:13 +1000 Subject: [PATCH] spanner: fix parsing incorrect types/values into a time.Time MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There was a `return nil` where a `return err` was clearly intended. Change-Id: I44368292a64e47f7b4d300198543d2f777504af7 Reviewed-on: https://code-review.googlesource.com/c/gocloud/+/43930 Reviewed-by: kokoro Reviewed-by: Knut Olav Løite --- spanner/value.go | 2 +- spanner/value_test.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/spanner/value.go b/spanner/value.go index 336850c3dd02..660e76e5c6d3 100644 --- a/spanner/value.go +++ b/spanner/value.go @@ -602,7 +602,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { } err := parseNullTime(v, &nt, code, isNull) if err != nil { - return nil + return err } *p = nt.Time case *NullTime: diff --git a/spanner/value_test.go b/spanner/value_test.go index 34207eded19a..b40f683fd68b 100644 --- a/spanner/value_test.go +++ b/spanner/value_test.go @@ -773,6 +773,7 @@ func TestDecodeValue(t *testing.T) { {timeProto(t1), timeType(), t1, false}, {timeProto(t1), timeType(), NullTime{t1, true}, false}, {nullProto(), timeType(), NullTime{}, false}, + {intProto(7), timeType(), time.Time{}, true}, // TIMESTAMP ARRAY with []NullTime {listProto(timeProto(t1), timeProto(t2), timeProto(t3), nullProto()), listType(timeType()), []NullTime{{t1, true}, {t2, true}, {t3, true}, {}}, false}, {nullProto(), listType(timeType()), []NullTime(nil), false},