diff --git a/storage/client.go b/storage/client.go
index 591d811..8b68bf6 100644
--- a/storage/client.go
+++ b/storage/client.go
@@ -206,8 +206,9 @@
 // Close frees resources associated with the query.
 func (ul *UploadList) Close() error {
 	if ul.body != nil {
-		return ul.body.Close()
+		err := ul.body.Close()
 		ul.body = nil
+		return err
 	}
 	return ul.Err()
 }
diff --git a/storage/db/db_test.go b/storage/db/db_test.go
index 1fa1987..fbc5807 100644
--- a/storage/db/db_test.go
+++ b/storage/db/db_test.go
@@ -109,10 +109,10 @@
 		labels["num"] = num
 		for _, num2 := range []int{1, 2} {
 			if err := u.InsertRecord(&benchfmt.Result{
-				labels,
-				nil,
-				1,
-				fmt.Sprintf("BenchmarkName %d ns/op", num2),
+				Labels:     labels,
+				NameLabels: nil,
+				LineNum:    1,
+				Content:    fmt.Sprintf("BenchmarkName %d ns/op", num2),
 			}); err != nil {
 				t.Fatalf("InsertRecord: %v", err)
 			}
@@ -144,10 +144,10 @@
 		}
 		labels["uploadid"] = u.ID
 		if err := u.InsertRecord(&benchfmt.Result{
-			labels,
-			nil,
-			1,
-			"BenchmarkName 3 ns/op",
+			Labels:     labels,
+			NameLabels: nil,
+			LineNum:    1,
+			Content:    "BenchmarkName 3 ns/op",
 		}); err != nil {
 			t.Fatalf("InsertRecord: %v", err)
 		}
@@ -359,10 +359,10 @@
 				"j":   fmt.Sprintf("%d", j),
 			}
 			if err := u.InsertRecord(&benchfmt.Result{
-				labels,
-				nil,
-				1,
-				fmt.Sprintf("BenchmarkName %d ns/op", j),
+				Labels:     labels,
+				NameLabels: nil,
+				LineNum:    1,
+				Content:    fmt.Sprintf("BenchmarkName %d ns/op", j),
 			}); err != nil {
 				t.Fatalf("InsertRecord: %v", err)
 			}
