spanner: fix parsing incorrect types/values into a time.Time

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 <noreply+kokoro@google.com>
Reviewed-by: Knut Olav Løite <koloite@gmail.com>
diff --git a/spanner/value.go b/spanner/value.go
index 336850c..660e76e 100644
--- a/spanner/value.go
+++ b/spanner/value.go
@@ -602,7 +602,7 @@
 		}
 		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 34207ed..b40f683 100644
--- a/spanner/value_test.go
+++ b/spanner/value_test.go
@@ -773,6 +773,7 @@
 		{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},